Mate-grafos-1 1

12
TEORÍA DE GRAFOS -Algoritmo de Dijkstra -Algoritmo de Primm -Algoritmo de Kruskal Integrantes:

Transcript of Mate-grafos-1 1

TEORÍA DE GRAFOS

-Algoritmo de Dijkstra-Algoritmo de Primm-Algoritmo de Kruskal

Integrantes:

Algoritmo de Dijkstra

Determina del camino más corto dado un vértice origen al resto de vértices en un grafo con pesos en cada arista.Explorando todos los caminos más cortos que parten del vértice origen y que llevan a todos los demás vértices, cuando se obtiene el camino más corto desde el vértice origen, al resto de vértices que componen el grafo, el algoritmo se detiene.

¿DÓNDE SE UTILIZA?

Este algoritmo se usa bastante en redes de computadoras, los nodos corresponden a routers y las aristas entre ellos las conexiones, a cada conexión se le asigna un costo (distancia) y de esta manera algunos protocolos de enrutamiento usan el algoritmo de Dijkstra para encontrar la mejor ruta entre nodos.

Código: Programa en C++

Algoritmo de Primm

El Algoritmo de Prim es de los más conocidos en la teoría de grafos cuyo principal objetivo consiste en encontrar el árbol de expansión mínima en un cierto grafo, la idea básica consiste en añadir en cada paso, una arista de peso mínimo a un árbol previamente construido.

1.Se elige un vértice U de G y se considera el árbol s={u}2. Se considera la arista e de mínimo peso que une un vértice de S y un vértice que no es de S, y se hace S=(S+e)3.Si el n° de aristas de T es n-1 el algoritmo termina. En caso contrario vuelve al paso 2

APLICACIONES EN LA VIDA REAL.

Este algoritmo puede ser utilizado en muchos campos como lo son las carreteras, vías férreas, aéreas o marítimas. También en redes eléctricas o de telefonía.

Actualmente empresas con servicios de cable e internet que necesitan expandirse lo más posible por toda una ciudad, hacen uso de estos algoritmos para seleccionar las rutas cuyos caminos sean los más cortos y que generen un ahorro en el uso de cable como la fibra óptica.

Código: Programa en C

Algoritmo de Kruskal

El objetivo del algoritmo de Kruskal es construir un árbol (subgrafo sin ciclos) formado por arcos sucesivamente seleccionados de mínimo peso a partir de un grafo con pesos en los arcos.1.-Se marca la arista con menor valor. 2.-De las aristas restantes, se marca la que tenga menor valor, si hay más de una, se elige cualquiera de ellas. 3.-Repetir el paso 2 siempre que la arista elegida no forme un ciclo con las ya marcadas.4.-El proceso termina cuando tenemos todos los nodos del grafo en alguna de las aristas marcadas, es decir, cuando tenemos marcados n-1 arcos, siendo n el número de nodos del grafo

Aplicaciones

La aplicación típica de este problema es el diseño de redes telefónicas. Una empresa con diferentes oficinas, trata de trazar líneas de teléfono para conectarlas unas con otras.También ha sido aplicada para hallar soluciones en diversas áreas (diseño de redes de transporte, diseño de redes de telecomunicaciones - TV por cable, sistemas distribuidos, interpretación de datos climatológicos, visión artificial -

Código: Programa en C

Ejecución

FIN DE LA PRESENTACIÓN Gracias por su Atención