SlideShare ist ein Scribd-Unternehmen logo
1 von 27
TODOS LOS CAMINOS
MÍNIMOS
ALGORTIMO DE FLOYD
REALIZADO POR: RONALDO RENDON
UNIVERSIDAD DE CUENCA
FACULTAD DE INGENIERIA
En algunas aplicaciones resulta
interesante determinar el camino
mínimo entre todos los pares de
vértices de un grafo dirigido y
valorado.
DEFINICIÓN
Es un algoritmo de análisis sobre grafos para
encontrar el camino mínimo en grafos
dirigidos ponderados. El algoritmo encuentra
el camino entre todos los pares de vértices en
una única ejecución. El algoritmo de Floyd-
Warshall es un ejemplo de programación
dinámica, teniendo en cuenta que este tipo de
programación tiene como fin encontrar una
solución optima a dicho problema
recursivamente.
El grafo está representado por la matriz de pesos, de tal forma
que todo arco
(𝑣𝑖, 𝑣𝑗) tiene asociado un peso 𝑐𝑖𝑗; si no existe arco, 𝑐𝑖𝑗 = ∞.
Además, cada elemento de la diagonal,𝑐𝑖𝑖, se hace igual a 0. El
algoritmo de Floyd determina una nueva matriz, D, de
n𝑥𝑛 elementos tal que cada elemento, D𝑖𝑗, contiene el coste del
camino mínimo de v𝑖 a 𝑣𝑗.
El algoritmo tiene una estructura similar al algoritmo de Warshall
para encontrar la matriz de caminos. Se generan
consecutivamente las matrices 𝑑1, 𝑑2, 𝑑3, … , 𝑑𝑘, . . , 𝑑𝑛 a partir de la
matriz do que es la matriz de pesos. En cada paso se incorpora
un nuevo vértice y se estudia si con ese vértice se puede mejorar
los caminos para ser más cortos. El significado de cada matriz
es:
D0[𝑖, 𝑗] = 𝑐𝑖𝑗
D1[𝑖, 𝑗] = 𝑚𝑖𝑛𝑖𝑚𝑜(D0[𝑖, 𝑗], D0 𝑖, 1 + D0[1, 𝑗])
D2[𝑖, 𝑗] = 𝑚𝑖𝑛𝑖𝑚𝑜(D1[𝑖, 𝑗], D1 𝑖, 2 + D1[2, 𝑗])
D 𝑘[𝑖, 𝑗] = 𝑚𝑖𝑛𝑖𝑚𝑜(D 𝑘 − 1[
𝑖, 𝑗], D 𝑘 − 1 𝑖, 𝑘 + D 𝑘 − 1[
𝑘, 𝑗])
De forma recurrente, se añade en cada paso un
nuevo vértice para determinar si se consigue un
nuevo camino mínimo, hasta llegar al último vértice
y obtener la matriz 𝐷 𝑛 , que es la matriz de caminos
mínimos del grafo.
EJEMPLO
La Figura muestra un grafo dirigido con factor de peso y la correspondiente
matriz de pesos. Aplicar el algoritmo de Floyd para obtener, en los sucesivos
pasos, la matriz de caminos mínimos.
La matriz D5 es la matriz de caminos mínimos. Dado cualquier
par de vértices, se puede conocer la longitud del camino mas
corto que hay entre ellos
CODIFICACIÓN DEL ALGORITMO DE FLOYD
Se define la clase TodoCaminoMinimo para implentar el
algoritmo al que se añade un pequeño cambio: guardar, en la
matriz traza, el índice del último vértice que ha hecho que el
camino sea mínimo desde el vértice v i al vj, para cada par de
vértices del grafo.
ÁRBOL DE EXPANSIÓN DE COSTE MÍNIMO
Definición
Árbol de expansión de coste mínimo: es un subconjunto del grafo que
abarca todos los
vértices que están conectados cuyas aristas tienen una suma de pesos
mínima
Un árbol, en una red, es un subconjunto G’ del grafo G que
es conectado y sin ciclos. Los árboles tienen dos
propiedades importantes:
1. Todo árbol de n vértices contiene exactamente n-1
aristas.
2. Si se añade una arista a un árbol, se obtiene un cicloBuscar un árbol de expansión de un grafo, en una red, es una
forma de averiguar si está conectado. Todos los vértices del grafo
tienen que estar en el árbol de expansión para que sea un grafo
conectado.
ALGORITMO DE PRIM
El algoritmo de Prim encuentra el árbol de expansión mínimo de un grafo no
dirigido. Realiza sucesivos pasos, siguiendo la metodología clásica de los
algoritmos voraces:
Se parte de un grafo G = (V,A) no dirigido conectado, una
red, donde c(i,j) es el peso o coste asociado al arco (vi, vj).
Para describir el algoritmo, se suponen los vértices
numerados de 1 a n. El conjunto W contiene los vértices que
ya han pasado a formar parte del árbol de expansión
El algoritmo arranca asignando un vértice inicial al conjunto
W; por ejemplo el vértice 1: W = {1}. A partir del vértice
inicial, el árbol de expansión crece, añadiendo a W, en cada
pasada otro vértice z todavía no incluido en W, de tal forma
que si u es un vértice cualquiera de W, la arista (u,z) es la
más corta, la de menor coste. El proceso termina cuando
todos los vértices del grafo están en W, y por consiguiente, el
árbol de expansión con todos los vértices está formado;
además es mínimo porque en cada pasada se ha añadido la
menor arista.
CODIFICACIÓN DEL ALGORITMO DE PRIM
La clase ArbolExpansionMinimo implementa los diversos algoritmos que
calculan el árbol
de expansión. El constructor inicializa la matriz de costes y el número de
vértices.
Para resolver el problema de encontrar, en cada pasada, la arista de menor
peso que une un
vértice de W con otro de V-W se utilizan dos arrays:
• masCerca, tal que masCerca[i] contiene el vértice de W de menor coste
respecto el vértice i de V-W.
• coste, tal que coste[i] contiene el peso de la arista (i, masCerca[i])
ALGORITMO DE KRUSCAL
Kruskal propone otra estrategia para encontrar el árbol de expansión de coste
mínimo. El árbol
se empieza a construir con todos los vértices del grafo G pero sin aristas; se
puede afirmar
que cada vértice es una componente conexa en sí misma. El algoritmo construye
componentes
conexas cada vez mayores examinando las aristas del grafo en orden creciente del
peso. Si la
arista conecta dos vértices que se encuentran en dos componentes conexas
distintas, entonces se
añade la arista al árbol de expansión T. Cuando todos los vértices están en un
solo componente, T, éste es el árbol de expansión de coste mínimo del grafo G
El algoritmo de Kruskal asegura que el árbol no tiene ciclos, ya que
para añadir una arista, sus vértices deben estar en dos
componentes distintas; además es de coste mínimo, ya que
examina las aristas en orden creciente de sus pesos.
La Figura 16.7 muestra un grafo y, a continuación, se obtiene su
árbol de expansión, aplicando este algoritmo. En primer lugar se
obtiene la lista de aristas en orden creciente de sus pesos:
{(1,3), (1,2), (2,4), (1,5), (2,3), (3,4), (5,6), (4,5), (1,6)}
BIBLIOGRAFIA
Joyanes, Aguilar. (2008), Estructuras de datos en Java. Madrid, España: Editorial Mac
Gran Hill
GRACIA
S

Weitere ähnliche Inhalte

Was ist angesagt?

Longitud de arco freddy
Longitud de arco freddyLongitud de arco freddy
Longitud de arco freddyalpsoct
 
Calculo vectorial
Calculo vectorialCalculo vectorial
Calculo vectorialloxaldair
 
Trabajo final calculo vectorial
Trabajo final calculo vectorialTrabajo final calculo vectorial
Trabajo final calculo vectorialAlexis Legazpi
 
Ficha tecnica de ecuaciones parametricas
Ficha tecnica de ecuaciones parametricasFicha tecnica de ecuaciones parametricas
Ficha tecnica de ecuaciones parametricasruben802
 
Ecuaciones Paramétricas matematica 3
Ecuaciones Paramétricas matematica 3Ecuaciones Paramétricas matematica 3
Ecuaciones Paramétricas matematica 3JuanRengel2
 
Gradiente, Definición, Prepiedades, Ejercicios
Gradiente, Definición, Prepiedades, EjerciciosGradiente, Definición, Prepiedades, Ejercicios
Gradiente, Definición, Prepiedades, Ejercicioswilson manobanda
 
08 movimiento-rectilc3adneo-uniformemente-variado
08 movimiento-rectilc3adneo-uniformemente-variado08 movimiento-rectilc3adneo-uniformemente-variado
08 movimiento-rectilc3adneo-uniformemente-variadopaolo zapata
 
Aplicación de ecuaciones vectoriales paramétricas para la determinación de la...
Aplicación de ecuaciones vectoriales paramétricas para la determinación de la...Aplicación de ecuaciones vectoriales paramétricas para la determinación de la...
Aplicación de ecuaciones vectoriales paramétricas para la determinación de la...daisy_hernandez
 
427168331 calculo-vectorial-unidad-2
427168331 calculo-vectorial-unidad-2427168331 calculo-vectorial-unidad-2
427168331 calculo-vectorial-unidad-2fghffffg
 
Trabajo matlab
Trabajo matlabTrabajo matlab
Trabajo matlabUPS
 
Longitud de arco wilder
Longitud de arco wilderLongitud de arco wilder
Longitud de arco wilderjp26275
 
Aplicaciones De La FuncióN AfíN A La FíSica
Aplicaciones De La FuncióN AfíN A La FíSicaAplicaciones De La FuncióN AfíN A La FíSica
Aplicaciones De La FuncióN AfíN A La FíSicaDiana Bolzan
 

Was ist angesagt? (17)

Longitud de arco freddy
Longitud de arco freddyLongitud de arco freddy
Longitud de arco freddy
 
Calculo vectorial
Calculo vectorialCalculo vectorial
Calculo vectorial
 
Trabajo final calculo vectorial
Trabajo final calculo vectorialTrabajo final calculo vectorial
Trabajo final calculo vectorial
 
Ficha tecnica de ecuaciones parametricas
Ficha tecnica de ecuaciones parametricasFicha tecnica de ecuaciones parametricas
Ficha tecnica de ecuaciones parametricas
 
Ecuaciones Paramétricas matematica 3
Ecuaciones Paramétricas matematica 3Ecuaciones Paramétricas matematica 3
Ecuaciones Paramétricas matematica 3
 
Gradiente, Definición, Prepiedades, Ejercicios
Gradiente, Definición, Prepiedades, EjerciciosGradiente, Definición, Prepiedades, Ejercicios
Gradiente, Definición, Prepiedades, Ejercicios
 
08 movimiento-rectilc3adneo-uniformemente-variado
08 movimiento-rectilc3adneo-uniformemente-variado08 movimiento-rectilc3adneo-uniformemente-variado
08 movimiento-rectilc3adneo-uniformemente-variado
 
Aplicación de ecuaciones vectoriales paramétricas para la determinación de la...
Aplicación de ecuaciones vectoriales paramétricas para la determinación de la...Aplicación de ecuaciones vectoriales paramétricas para la determinación de la...
Aplicación de ecuaciones vectoriales paramétricas para la determinación de la...
 
427168331 calculo-vectorial-unidad-2
427168331 calculo-vectorial-unidad-2427168331 calculo-vectorial-unidad-2
427168331 calculo-vectorial-unidad-2
 
Proyecto pibap
Proyecto pibapProyecto pibap
Proyecto pibap
 
Trabajo matlab
Trabajo matlabTrabajo matlab
Trabajo matlab
 
Longitud de arco wilder
Longitud de arco wilderLongitud de arco wilder
Longitud de arco wilder
 
MRU-MRUA
MRU-MRUAMRU-MRUA
MRU-MRUA
 
Aplicaciones De La FuncióN AfíN A La FíSica
Aplicaciones De La FuncióN AfíN A La FíSicaAplicaciones De La FuncióN AfíN A La FíSica
Aplicaciones De La FuncióN AfíN A La FíSica
 
Cinema
CinemaCinema
Cinema
 
FUERZAS EN EL ESPACIO
FUERZAS EN EL ESPACIOFUERZAS EN EL ESPACIO
FUERZAS EN EL ESPACIO
 
Calculo Vectorial Parte III
Calculo Vectorial   Parte IIICalculo Vectorial   Parte III
Calculo Vectorial Parte III
 

Ähnlich wie Floyd Prim y Kruscal

Ähnlich wie Floyd Prim y Kruscal (20)

Flujo en redes
Flujo en redesFlujo en redes
Flujo en redes
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Presentación OR Problemas de Caminos Más Cortos
Presentación OR Problemas de Caminos Más CortosPresentación OR Problemas de Caminos Más Cortos
Presentación OR Problemas de Caminos Más Cortos
 
Matematicas discretas
Matematicas discretasMatematicas discretas
Matematicas discretas
 
Julio grafos
Julio   grafosJulio   grafos
Julio grafos
 
Flyd+Warshall
Flyd+WarshallFlyd+Warshall
Flyd+Warshall
 
Programación 3: Grafos, representación y operaciones
Programación 3: Grafos, representación y operacionesProgramación 3: Grafos, representación y operaciones
Programación 3: Grafos, representación y operaciones
 
Grafos
GrafosGrafos
Grafos
 
Actividad complementaria
Actividad complementariaActividad complementaria
Actividad complementaria
 
Presentación_T3_JoséJaén (1).pptx
Presentación_T3_JoséJaén  (1).pptxPresentación_T3_JoséJaén  (1).pptx
Presentación_T3_JoséJaén (1).pptx
 
República bolivariana de venezuela
República bolivariana de venezuelaRepública bolivariana de venezuela
República bolivariana de venezuela
 
Acerca del algoritmo de dijkstra compressed
Acerca del algoritmo de dijkstra compressedAcerca del algoritmo de dijkstra compressed
Acerca del algoritmo de dijkstra compressed
 
IO 2(REDES).pdf
IO 2(REDES).pdfIO 2(REDES).pdf
IO 2(REDES).pdf
 
Kruskal
KruskalKruskal
Kruskal
 
Kruskal
KruskalKruskal
Kruskal
 
Grafos_presentación con ejercicios.pdf
Grafos_presentación con ejercicios.pdfGrafos_presentación con ejercicios.pdf
Grafos_presentación con ejercicios.pdf
 
Grafos 2
Grafos 2Grafos 2
Grafos 2
 
Grafos
GrafosGrafos
Grafos
 
Floyd
FloydFloyd
Floyd
 
Grafos
GrafosGrafos
Grafos
 

Kürzlich hochgeladen

activ4-bloque4 transversal doctorado.pdf
activ4-bloque4 transversal doctorado.pdfactiv4-bloque4 transversal doctorado.pdf
activ4-bloque4 transversal doctorado.pdfRosabel UA
 
origen y desarrollo del ensayo literario
origen y desarrollo del ensayo literarioorigen y desarrollo del ensayo literario
origen y desarrollo del ensayo literarioELIASAURELIOCHAVEZCA1
 
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLAACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLAJAVIER SOLIS NOYOLA
 
Factores que intervienen en la Administración por Valores.pdf
Factores que intervienen en la Administración por Valores.pdfFactores que intervienen en la Administración por Valores.pdf
Factores que intervienen en la Administración por Valores.pdfJonathanCovena1
 
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...jlorentemartos
 
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESOPrueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESOluismii249
 
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptxRigoTito
 
Biografía de Charles Coulomb física .pdf
Biografía de Charles Coulomb física .pdfBiografía de Charles Coulomb física .pdf
Biografía de Charles Coulomb física .pdfGruberACaraballo
 
LA LITERATURA DEL BARROCO 2023-2024pptx.pptx
LA LITERATURA DEL BARROCO 2023-2024pptx.pptxLA LITERATURA DEL BARROCO 2023-2024pptx.pptx
LA LITERATURA DEL BARROCO 2023-2024pptx.pptxlclcarmen
 
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...Katherine Concepcion Gonzalez
 
Plan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdf
Plan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdfPlan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdf
Plan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdfcarolinamartinezsev
 
Proyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdfProyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdfpatriciaines1993
 
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptxCONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptxroberthirigoinvasque
 
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).pptPINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).pptAlberto Rubio
 
Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024Juan Martín Martín
 

Kürzlich hochgeladen (20)

activ4-bloque4 transversal doctorado.pdf
activ4-bloque4 transversal doctorado.pdfactiv4-bloque4 transversal doctorado.pdf
activ4-bloque4 transversal doctorado.pdf
 
origen y desarrollo del ensayo literario
origen y desarrollo del ensayo literarioorigen y desarrollo del ensayo literario
origen y desarrollo del ensayo literario
 
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLAACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
 
Factores que intervienen en la Administración por Valores.pdf
Factores que intervienen en la Administración por Valores.pdfFactores que intervienen en la Administración por Valores.pdf
Factores que intervienen en la Administración por Valores.pdf
 
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
 
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESOPrueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
 
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
 
Biografía de Charles Coulomb física .pdf
Biografía de Charles Coulomb física .pdfBiografía de Charles Coulomb física .pdf
Biografía de Charles Coulomb física .pdf
 
LA LITERATURA DEL BARROCO 2023-2024pptx.pptx
LA LITERATURA DEL BARROCO 2023-2024pptx.pptxLA LITERATURA DEL BARROCO 2023-2024pptx.pptx
LA LITERATURA DEL BARROCO 2023-2024pptx.pptx
 
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
 
Power Point: Fe contra todo pronóstico.pptx
Power Point: Fe contra todo pronóstico.pptxPower Point: Fe contra todo pronóstico.pptx
Power Point: Fe contra todo pronóstico.pptx
 
Plan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdf
Plan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdfPlan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdf
Plan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdf
 
Power Point E. S.: Los dos testigos.pptx
Power Point E. S.: Los dos testigos.pptxPower Point E. S.: Los dos testigos.pptx
Power Point E. S.: Los dos testigos.pptx
 
Proyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdfProyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdf
 
Tema 11. Dinámica de la hidrosfera 2024
Tema 11.  Dinámica de la hidrosfera 2024Tema 11.  Dinámica de la hidrosfera 2024
Tema 11. Dinámica de la hidrosfera 2024
 
Supuestos_prácticos_funciones.docx
Supuestos_prácticos_funciones.docxSupuestos_prácticos_funciones.docx
Supuestos_prácticos_funciones.docx
 
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptxCONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
 
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).pptPINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
 
Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024
 
Lecciones 06 Esc. Sabática. Los dos testigos
Lecciones 06 Esc. Sabática. Los dos testigosLecciones 06 Esc. Sabática. Los dos testigos
Lecciones 06 Esc. Sabática. Los dos testigos
 

Floyd Prim y Kruscal

  • 1. TODOS LOS CAMINOS MÍNIMOS ALGORTIMO DE FLOYD REALIZADO POR: RONALDO RENDON UNIVERSIDAD DE CUENCA FACULTAD DE INGENIERIA
  • 2. En algunas aplicaciones resulta interesante determinar el camino mínimo entre todos los pares de vértices de un grafo dirigido y valorado.
  • 3. DEFINICIÓN Es un algoritmo de análisis sobre grafos para encontrar el camino mínimo en grafos dirigidos ponderados. El algoritmo encuentra el camino entre todos los pares de vértices en una única ejecución. El algoritmo de Floyd- Warshall es un ejemplo de programación dinámica, teniendo en cuenta que este tipo de programación tiene como fin encontrar una solución optima a dicho problema recursivamente.
  • 4. El grafo está representado por la matriz de pesos, de tal forma que todo arco (𝑣𝑖, 𝑣𝑗) tiene asociado un peso 𝑐𝑖𝑗; si no existe arco, 𝑐𝑖𝑗 = ∞. Además, cada elemento de la diagonal,𝑐𝑖𝑖, se hace igual a 0. El algoritmo de Floyd determina una nueva matriz, D, de n𝑥𝑛 elementos tal que cada elemento, D𝑖𝑗, contiene el coste del camino mínimo de v𝑖 a 𝑣𝑗.
  • 5. El algoritmo tiene una estructura similar al algoritmo de Warshall para encontrar la matriz de caminos. Se generan consecutivamente las matrices 𝑑1, 𝑑2, 𝑑3, … , 𝑑𝑘, . . , 𝑑𝑛 a partir de la matriz do que es la matriz de pesos. En cada paso se incorpora un nuevo vértice y se estudia si con ese vértice se puede mejorar los caminos para ser más cortos. El significado de cada matriz es: D0[𝑖, 𝑗] = 𝑐𝑖𝑗 D1[𝑖, 𝑗] = 𝑚𝑖𝑛𝑖𝑚𝑜(D0[𝑖, 𝑗], D0 𝑖, 1 + D0[1, 𝑗]) D2[𝑖, 𝑗] = 𝑚𝑖𝑛𝑖𝑚𝑜(D1[𝑖, 𝑗], D1 𝑖, 2 + D1[2, 𝑗])
  • 6. D 𝑘[𝑖, 𝑗] = 𝑚𝑖𝑛𝑖𝑚𝑜(D 𝑘 − 1[ 𝑖, 𝑗], D 𝑘 − 1 𝑖, 𝑘 + D 𝑘 − 1[ 𝑘, 𝑗]) De forma recurrente, se añade en cada paso un nuevo vértice para determinar si se consigue un nuevo camino mínimo, hasta llegar al último vértice y obtener la matriz 𝐷 𝑛 , que es la matriz de caminos mínimos del grafo.
  • 7. EJEMPLO La Figura muestra un grafo dirigido con factor de peso y la correspondiente matriz de pesos. Aplicar el algoritmo de Floyd para obtener, en los sucesivos pasos, la matriz de caminos mínimos.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12. La matriz D5 es la matriz de caminos mínimos. Dado cualquier par de vértices, se puede conocer la longitud del camino mas corto que hay entre ellos
  • 13. CODIFICACIÓN DEL ALGORITMO DE FLOYD Se define la clase TodoCaminoMinimo para implentar el algoritmo al que se añade un pequeño cambio: guardar, en la matriz traza, el índice del último vértice que ha hecho que el camino sea mínimo desde el vértice v i al vj, para cada par de vértices del grafo.
  • 14.
  • 15. ÁRBOL DE EXPANSIÓN DE COSTE MÍNIMO Definición Árbol de expansión de coste mínimo: es un subconjunto del grafo que abarca todos los vértices que están conectados cuyas aristas tienen una suma de pesos mínima
  • 16. Un árbol, en una red, es un subconjunto G’ del grafo G que es conectado y sin ciclos. Los árboles tienen dos propiedades importantes: 1. Todo árbol de n vértices contiene exactamente n-1 aristas. 2. Si se añade una arista a un árbol, se obtiene un cicloBuscar un árbol de expansión de un grafo, en una red, es una forma de averiguar si está conectado. Todos los vértices del grafo tienen que estar en el árbol de expansión para que sea un grafo conectado.
  • 17. ALGORITMO DE PRIM El algoritmo de Prim encuentra el árbol de expansión mínimo de un grafo no dirigido. Realiza sucesivos pasos, siguiendo la metodología clásica de los algoritmos voraces:
  • 18. Se parte de un grafo G = (V,A) no dirigido conectado, una red, donde c(i,j) es el peso o coste asociado al arco (vi, vj). Para describir el algoritmo, se suponen los vértices numerados de 1 a n. El conjunto W contiene los vértices que ya han pasado a formar parte del árbol de expansión El algoritmo arranca asignando un vértice inicial al conjunto W; por ejemplo el vértice 1: W = {1}. A partir del vértice inicial, el árbol de expansión crece, añadiendo a W, en cada pasada otro vértice z todavía no incluido en W, de tal forma que si u es un vértice cualquiera de W, la arista (u,z) es la más corta, la de menor coste. El proceso termina cuando todos los vértices del grafo están en W, y por consiguiente, el árbol de expansión con todos los vértices está formado; además es mínimo porque en cada pasada se ha añadido la menor arista.
  • 19.
  • 20. CODIFICACIÓN DEL ALGORITMO DE PRIM La clase ArbolExpansionMinimo implementa los diversos algoritmos que calculan el árbol de expansión. El constructor inicializa la matriz de costes y el número de vértices. Para resolver el problema de encontrar, en cada pasada, la arista de menor peso que une un vértice de W con otro de V-W se utilizan dos arrays: • masCerca, tal que masCerca[i] contiene el vértice de W de menor coste respecto el vértice i de V-W. • coste, tal que coste[i] contiene el peso de la arista (i, masCerca[i])
  • 21.
  • 22.
  • 23. ALGORITMO DE KRUSCAL Kruskal propone otra estrategia para encontrar el árbol de expansión de coste mínimo. El árbol se empieza a construir con todos los vértices del grafo G pero sin aristas; se puede afirmar que cada vértice es una componente conexa en sí misma. El algoritmo construye componentes conexas cada vez mayores examinando las aristas del grafo en orden creciente del peso. Si la arista conecta dos vértices que se encuentran en dos componentes conexas distintas, entonces se añade la arista al árbol de expansión T. Cuando todos los vértices están en un solo componente, T, éste es el árbol de expansión de coste mínimo del grafo G
  • 24. El algoritmo de Kruskal asegura que el árbol no tiene ciclos, ya que para añadir una arista, sus vértices deben estar en dos componentes distintas; además es de coste mínimo, ya que examina las aristas en orden creciente de sus pesos. La Figura 16.7 muestra un grafo y, a continuación, se obtiene su árbol de expansión, aplicando este algoritmo. En primer lugar se obtiene la lista de aristas en orden creciente de sus pesos: {(1,3), (1,2), (2,4), (1,5), (2,3), (3,4), (5,6), (4,5), (1,6)}
  • 25.
  • 26. BIBLIOGRAFIA Joyanes, Aguilar. (2008), Estructuras de datos en Java. Madrid, España: Editorial Mac Gran Hill