SlideShare una empresa de Scribd logo
1 de 33
FACULTAD DE INGENIERIA
CAPITULO 16: GRAFOS, ALGORITMOS
FUNDAMENTALES
Realizado por : Christian Paul Salinas
4to Ciclo – Ingeniería en Sistemas
CONTENIDO
 Introducción
 Ordenación Topológica
 Relación de Precedencia
 Grafo Dirigido Aciclico
 Complejidad
 Pasos
 Implementación del algoritmo de ordenación topológica(Ejemplo
en Java)
 Matriz de caminos, Algoritmo de Warshall
 Matriz Cierre Transitivo
 Complejidad
 Ejemplo Paso a paso, e Implementación del algoritmo en Java
INTRODUCCIÓN
 Los grafos nos permiten modelar numerosos
problemas, por ejemplo, encontrar rutas de menor
longitud entre dos puntos, calcular caminos mas
rápidos, planificar tareas que completan un
proyecto, entre otras.
 Analizar cada arista y nodo del grafo que
representa el problema,
ORDENACIÓN TOPOLÓGICA
 Modela las relaciones que existen entre diferentes tareas,
para poder terminar un proyecto.
 Relaciones de Precedencia
 Se presentan mediante un grafo dirigido, donde los vértices
son tareas y existe aristas de un vértice a otro, donde es
necesario que se completa la arista inicial para que comience
la siguiente
RELACIONES DE PRECEDENCIA
 Una vez se dispone del grafo interesa obtener una
planificación de las tareas que constituyen el
proyecto.
 En definitiva, se debe encontrar la ordenación
topológica de los vértices que forman el grafo,
siendo el final un grafo dirigido.
 Grafo final acíclico, única dependencia.
IMPORTANTE
 La ordenación topológica se aplica sobre grafos
dirigidos sin ciclos.
 Es una ordenación lineal tal que si un nodo
llamando A es anterior a otro nodo B entonces
existe un camino de A hacia B
 La ordenación topológica no se puede realizar en
grafos con ciclos
GRAFO DIRIGIDO ACICLICO
 Un grafo dirigido y sin ciclos se denomina un gda o grafo
acíclico.
 Los gda aparecen en modelos donde no tiene sentido que un
vértice tenga un camino directo a él mismo
 Los grafos dirigidos aciclicos pueden
utilizarse para modelar muchos tipos
diferentes de información las cuales
pueden ser una colección de las
tareas que pueden ordenarse en una
secuencia determinada.
 El grafo anterior es un ejemplo de un grafo dirigido acíclico,
donde se modela la estructura de prerrequisito de 8 cursos
 Un arista cualquiera (R,S) significa que el curso R debe
completarse antes de empezar el curso S.
 Por ejemplo, el curso M21 se puede empezar sólo cuando se
terminen los cursos E11 y T12.
 M21 es el paso que sigue o sucesor de E11 y T12
 Una ordenación topológica de estos cursos es cualquier
secuencia de cursos que cumple los prerrequisitos y tenga los
pasos sucesores correctos.
 Para un grafo dirigido acíclico no tiene por qué existir una
única ordenación topológica
 E11 - T12 - M21 - C22 - R23 - S31 - S32 - T41
 T12 - E11 - R23 - C22 - M21 - S31 - S32 - T41
ORDENACIÓN TOPOLÓGICA COMPLEJIDAD
 La complejidad del algoritmo Ordenación Topológica de un
grafo.
 Representación del grafo con Listas de Adyacencia, es
O(a+n), siendo ‘a’ el número de arcos y ‘n’ el de vértices.
 Representación del grafo con una Matriz de Adyacencia, la
complejidad es O(n2 ).
ALGORITMO DE UNA ORDENACIÓN
TOPOLÓGICA
 Pasos:
 Busca una tarea (vértice V) la cual no tenga Sucesores.
 Este vértice V pasa a formar parte de la Ordenación T.
 Ya que el vértice que no tiene sucesores se añadió a la Ordenación
T, este vértice es eliminado del grafo inicial.
 Se repite el proceso.
 Se toma otro vértice W, que no tenga sucesores.
 Se incorpora a la Ordenación T.
 Se eliminan el vértice W del grafo anterior.
 Se repite el proceso.
 Se sigue hasta completar la Ordenación.
En el próximo ejemplo de utiliza un array para guardar la
Ordenación T. Cada vez que se encuentre un vértice que no tenga
sucesores, se agrega desde el final del array hasta el principio.
Algoritmo de
Ordenación
Topológica con
un grafo
representado
por su matriz
de Adyacencia
IMPLEMENTACIÓN DEL ALGORITMO DE
ORDENACIÓN TOPOLÓGICA
 Para representar el siguiente grafo se utilizara una Matriz de
Adyacencia, y aplicar el Algoritmo de Ordenación Topológica
C F
D
B E
A
H
G
MATRIZ DE CAMINOS: ALGORITMO DE
WARSHALL
 Normalmente se suele confundir este Algoritmo con
el Algoritmo de Floyd Warshall
 Floy Warshall encuentra el camino mínimo de
grafos dirigidos ponderados
Algoritmo de Warshall trabaja sobre grafos
dirigidos no ponderados, y encuentra caminos
entre un par de vértices
MATRIZ DE CAMINOS: ALGORITMO DE
WARSHALL
 Recibe una matriz de Adyacencia de un grafo de n
vértices y retorna la matriz de caminos llamada
Cierre Transitivo.
 La estrategia que sigue el algoritmo consiste en
definir, a nivel lógico, una secuencia de matrices n-
cuadradas P0, P1, P2, P3 ... Pn
 A cada nodo del grafo lo convierte en un ‘’puente’’
para comunicar las diferentes aristas.
ALGORITMO DE WARSHALL
 El nodo puente mencionado ayudara a encontrar
caminos mediante el mismo e ira aumentado los
caminos posible según se acaben los nodos.
 El nodo seleccionado para cada conexión mediante
un puente, se lo define como nodo de orden k
 Los elementos de cada una de las matrices Pk[i,j]
tienen el valor 0 si no hay camino y 1 si existe un
camino del vértice i y al j.
1 - Si existe un arco del vértice i al j
0 - En otro caso
P k=0
1 - Si existe un camino simple de i a j que
no pasa por ningún otro vértice a no ser por los
vértices creados en P k=0
0 - En otro caso
P k=1
1 - Si existe un camino simple de i a j que
no pasa por ningún otro vértice a no ser por los
vértices creados en P k=1 y P k=0
0 - En otro caso
P k=2
1 - Si existe un camino simple de i a j que
no pasa por ningún otro vértice a no ser por el
vértice creado en P k=0 , P k=1 y P k=2
0 - En otro caso
P k=3
k = 0, 1, 2, 3……n (Numero de vértices)
Representación de un Grafo por Matriz y Lista de Adyacencia
Matriz de Adyacencia
Matriz de Adyacencia
Lista de Adyacencia
Lista de Adyacencia
ALGORITMO DE WARSHALL
ALGORITMO DE WARSHALL COMPLEJIDAD
 La complejidad del algoritmo de Warshall es
cúbica, O(n3) siendo n el número de vértices.
 Esta característica hace que el tiempo de ejecución
crezca rápidamente para grafos con, relativamente,
muchos nodos.
EJEMPLO E IMPLEMENTACIÓN EN JAVA
 Se tiene el siguiente grafo dirigido no ponderado con su
respectiva matriz adyacente,
Matriz Adyacente
 Se mostrara paso a paso cual es el procedimiento ah seguir
en este Algoritmo para entenderlo mejor y después su
implementación en Java
A B C D E F
A 0 1 0 0 1 0
B 0 0 0 1 0 0
C 0 1 0 0 0 0
D 0 0 1 0 0 1
E 0 0 0 0 0 0
F 0 0 0 0 0 0
A
B
C
D
F
E
ALGORITMO DE WARSHALL
A
B
C
D
F
E
A B C D E F
A 0 1 0 0 1 0
B 0 0 0 1 0 0
C 0 1 0 0 0 0
D 0 0 1 0 0 1
E 0 0 0 0 0 0
F 0 0 0 0 0 0
A B C D E F
A 0 1 0 0 1 0
B 0 0 0 1 0 0
C 0 1 0 0 0 0
D 0 0 1 0 0 1
E 0 0 0 0 0 0
F 0 0 0 0 0 0
Se realiza una matriz con k=0, en
esta caso será el vértice A el cual
servirá como puente
Cuando exista dos números 1 en la fila y columna amarilla, en
este caso k=0 (Vértice A), que una ambos vértices por el puente
amarillo, se pondrá 1 donde exista un camino y 0 caso contrario.
k= 0
ALGORITMO DE WARSHALL
A
B
C
D
F
E
Se realiza una matriz con k=1, en
esta caso será el vértice B el cual
servirá como puente
Cuando exista dos números 1 en la fila y columna amarilla, que
una ambos vértices por el puente amarillo, se pondrá 1 donde
exista un camino y 0 caso contrario.
k= 1
A B C D E F
A 0 1 0 0 1 0
B 0 0 0 1 0 0
C 0 1 0 0 0 0
D 0 0 1 0 0 1
E 0 0 0 0 0 0
F 0 0 0 0 0 0
A B C D E F
A 0 1 0 1 1 0
B 0 0 0 1 0 0
C 0 1 0 1 0 0
D 0 0 1 0 0 1
E 0 0 0 0 0 0
F 0 0 0 0 0 0
ALGORITMO DE WARSHALL
A
B
C
D
F
E
Se realiza una matriz con k=2, en
esta caso será el vértice C el cual
servirá como puente
Cuando exista dos números 1 en la fila y columna amarilla, que
una ambos vértices por el puente amarillo, se pondrá 1 donde
exista un camino y 0 caso contrario.
k= 2
A B C D E F
A 0 1 0 1 1 0
B 0 0 0 1 0 0
C 0 1 0 1 0 0
D 0 0 1 0 0 1
E 0 0 0 0 0 0
F 0 0 0 0 0 0
A B C D E F
A 0 1 0 1 1 0
B 0 0 0 1 0 0
C 0 1 0 1 0 0
D 0 1 1 1 0 1
E 0 0 0 0 0 0
F 0 0 0 0 0 0
ALGORITMO DE WARSHALL
A
B
C
D
F
E
Se realiza una matriz con k=3, en
esta caso será el vértice D el cual
servirá como puente
Cuando exista dos números 1 en la fila y columna amarilla, que
una ambos vértices por el puente amarillo, se pondrá 1 donde
exista un camino y 0 caso contrario.
k= 3
A B C D E F
A 0 1 0 1 1 0
B 0 0 0 1 0 0
C 0 1 0 1 0 0
D 0 1 1 1 0 1
E 0 0 0 0 0 0
F 0 0 0 0 0 0
A B C D E F
A 0 1 1 1 1 1
B 0 1 1 1 0 1
C 0 1 1 1 0 1
D 0 1 1 1 0 1
E 0 0 0 0 0 0
F 0 0 0 0 0 0
ALGORITMO DE WARSHALL
A
B
C
D
F
E
Se realiza una matriz con k=4, en
esta caso será el vértice E el cual
servirá como puente
Cuando exista dos números 1 en la fila y columna amarilla, que
una ambos vértices por el puente amarillo, se pondrá 1 donde
exista un camino y 0 caso contrario.
k= 4
A B C D E F
A 0 1 1 1 1 1
B 0 1 1 1 0 1
C 0 1 1 1 0 1
D 0 1 1 1 0 1
E 0 0 0 0 0 0
F 0 0 0 0 0 0
A B C D E F
A 0 1 1 1 1 1
B 0 1 1 1 0 1
C 0 1 1 1 0 1
D 0 1 1 1 0 1
E 0 0 0 0 0 0
F 0 0 0 0 0 0
ALGORITMO DE WARSHALL
A
B
C
D
F
E
Se realiza una matriz con k=5, en
esta caso será el vértice F el cual
servirá como puente
Cuando exista dos números 1 en la fila y columna amarilla, que
una ambos vértices por el puente amarillo, se pondrá 1 donde
exista un camino y 0 caso contrario.
k= 5
A B C D E F
A 0 1 1 1 1 1
B 0 1 1 1 0 1
C 0 1 1 1 0 1
D 0 1 1 1 0 1
E 0 0 0 0 0 0
F 0 0 0 0 0 0
A B C D E F
A 0 1 1 1 1 1
B 0 1 1 1 0 1
C 0 1 1 1 0 1
D 0 1 1 1 0 1
E 0 0 0 0 0 0
F 0 0 0 0 0 0
ALGORITMO DE WARSHALL, MATRIZ DE CAMINOS
A
B
C
D
F
E
A B C D E F
A 0 1 1 1 1 1
B 0 1 1 1 0 1
C 0 1 1 1 0 1
D 0 1 1 1 0 1
E 0 0 0 0 0 0
F 0 0 0 0 0 0
Matriz de Caminos
A
B
C
D
F
E
A B C D E F
A 0 1 0 0 1 0
B 0 0 0 1 0 0
C 0 1 0 0 0 0
D 0 0 1 0 0 1
E 0 0 0 0 0 0
F 0 0 0 0 0 0
Matriz de Adyacencia
CONCLUSIONES
 En la Ordenación Topológica se tiene relaciones de
precedencia que se representan mediante un grafo dirigido en
el que los vértices son las tareas o hitos y existe una arista
del vértice r al t si el inicio de la tarea t depende de la
terminación de r.
 Una vez se dispone del grafo interesa obtener una
planificación de las tareas que constituyen el proyecto; en
definitiva, encontrar la ordenación topológica de los vértices
que forman el grafo.
 Algoritmo de Warshall devuelve una matriz de Camino,
llamada de Cierre Transitivo, la cual indica TODOS los
caminos posible de un vértice a otro, aun así pasando por
otros vértices, siempre y cuando se respete el sentido cuando
es un grafo dirigido

Más contenido relacionado

La actualidad más candente

Matemáticas discretas- Teoría de Grafos
Matemáticas discretas- Teoría de GrafosMatemáticas discretas- Teoría de Grafos
Matemáticas discretas- Teoría de GrafosAngela Janeth Jimenez
 
Dependencias Funcionales en Bases de Datos
Dependencias Funcionales en Bases de DatosDependencias Funcionales en Bases de Datos
Dependencias Funcionales en Bases de DatosEsteban Andres Diaz Mina
 
Lista de adyacencia
Lista de adyacenciaLista de adyacencia
Lista de adyacenciaFrank Doria
 
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 operacionesAngel Vázquez Patiño
 
Insertar elementos en una cola
Insertar elementos en una colaInsertar elementos en una cola
Insertar elementos en una colajeffersoncenteno
 
Java pilas (Stacks) y colas (Queues)
Java pilas (Stacks) y colas (Queues)Java pilas (Stacks) y colas (Queues)
Java pilas (Stacks) y colas (Queues)Juan Astudillo
 
2...2 expresiones regulares, cerradura, fractales, automata
2...2 expresiones regulares, cerradura, fractales, automata2...2 expresiones regulares, cerradura, fractales, automata
2...2 expresiones regulares, cerradura, fractales, automataJacqui Venegas
 
Modelo componentes
Modelo componentesModelo componentes
Modelo componentesmartin
 
Bases de datos (Ejemplo del videoclub)
Bases de datos (Ejemplo del videoclub)Bases de datos (Ejemplo del videoclub)
Bases de datos (Ejemplo del videoclub)Felipe Duarte Camacho
 
Normalización 1 fn,2fn,3fn,4fn,
Normalización 1 fn,2fn,3fn,4fn,Normalización 1 fn,2fn,3fn,4fn,
Normalización 1 fn,2fn,3fn,4fn,GQ Vargas
 
Grafos eulerianos y hamiltonianos
Grafos eulerianos y hamiltonianosGrafos eulerianos y hamiltonianos
Grafos eulerianos y hamiltonianosAron Boza
 
Alfabetos-Lenguajes y Automatas 1
Alfabetos-Lenguajes y Automatas 1Alfabetos-Lenguajes y Automatas 1
Alfabetos-Lenguajes y Automatas 1Osiris Mirerus
 

La actualidad más candente (20)

Matemáticas discretas- Teoría de Grafos
Matemáticas discretas- Teoría de GrafosMatemáticas discretas- Teoría de Grafos
Matemáticas discretas- Teoría de Grafos
 
Dependencias Funcionales en Bases de Datos
Dependencias Funcionales en Bases de DatosDependencias Funcionales en Bases de Datos
Dependencias Funcionales en Bases de Datos
 
Estructura datos pilas y colas
Estructura datos pilas y colasEstructura datos pilas y colas
Estructura datos pilas y colas
 
Lista de adyacencia
Lista de adyacenciaLista de adyacencia
Lista de adyacencia
 
Estructura de Datos - Unidad 6 Metodos de busqueda
Estructura de Datos - Unidad 6 Metodos de busquedaEstructura de Datos - Unidad 6 Metodos de busqueda
Estructura de Datos - Unidad 6 Metodos de busqueda
 
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
 
Insertar elementos en una cola
Insertar elementos en una colaInsertar elementos en una cola
Insertar elementos en una cola
 
Algoritmos de Ordenamiento externo
Algoritmos de Ordenamiento externoAlgoritmos de Ordenamiento externo
Algoritmos de Ordenamiento externo
 
Java pilas (Stacks) y colas (Queues)
Java pilas (Stacks) y colas (Queues)Java pilas (Stacks) y colas (Queues)
Java pilas (Stacks) y colas (Queues)
 
2...2 expresiones regulares, cerradura, fractales, automata
2...2 expresiones regulares, cerradura, fractales, automata2...2 expresiones regulares, cerradura, fractales, automata
2...2 expresiones regulares, cerradura, fractales, automata
 
Modelo componentes
Modelo componentesModelo componentes
Modelo componentes
 
Bases de datos (Ejemplo del videoclub)
Bases de datos (Ejemplo del videoclub)Bases de datos (Ejemplo del videoclub)
Bases de datos (Ejemplo del videoclub)
 
Normalización 1 fn,2fn,3fn,4fn,
Normalización 1 fn,2fn,3fn,4fn,Normalización 1 fn,2fn,3fn,4fn,
Normalización 1 fn,2fn,3fn,4fn,
 
Tipos de listas en estructura de datos
Tipos de listas en estructura de datosTipos de listas en estructura de datos
Tipos de listas en estructura de datos
 
Teoría de Grafos.
Teoría de Grafos.Teoría de Grafos.
Teoría de Grafos.
 
Grafo bipartito
Grafo bipartitoGrafo bipartito
Grafo bipartito
 
Grafos eulerianos y hamiltonianos
Grafos eulerianos y hamiltonianosGrafos eulerianos y hamiltonianos
Grafos eulerianos y hamiltonianos
 
Ejercicios
EjerciciosEjercicios
Ejercicios
 
Manejo de memoria
Manejo de memoriaManejo de memoria
Manejo de memoria
 
Alfabetos-Lenguajes y Automatas 1
Alfabetos-Lenguajes y Automatas 1Alfabetos-Lenguajes y Automatas 1
Alfabetos-Lenguajes y Automatas 1
 

Destacado

Programación 3: caminos más cortos con un solo origen
Programación 3: caminos más cortos con un solo origenProgramación 3: caminos más cortos con un solo origen
Programación 3: caminos más cortos con un solo origenAngel Vázquez Patiño
 
Ejemplo 1 de floyd warshall
Ejemplo 1 de floyd warshallEjemplo 1 de floyd warshall
Ejemplo 1 de floyd warshallpodersonico
 
Programación 3: Vector, stack, enumearator, iterator, listiterator en Java
Programación 3: Vector, stack, enumearator, iterator, listiterator en JavaProgramación 3: Vector, stack, enumearator, iterator, listiterator en Java
Programación 3: Vector, stack, enumearator, iterator, listiterator en JavaAngel Vázquez Patiño
 
Programación 3: listas y conjuntos en java
Programación 3: listas y conjuntos en javaProgramación 3: listas y conjuntos en java
Programación 3: listas y conjuntos en javaAngel Vázquez Patiño
 
Programación 3: algoritmo de Prim y de Kruskal
Programación 3: algoritmo de Prim y de KruskalProgramación 3: algoritmo de Prim y de Kruskal
Programación 3: algoritmo de Prim y de KruskalAngel Vázquez Patiño
 
Programación 3: tablas de dispersión
Programación 3: tablas de dispersiónProgramación 3: tablas de dispersión
Programación 3: tablas de dispersiónAngel Vázquez Patiño
 
Programación 3: mapas y diccionarios, colecciones parametrizadas
Programación 3: mapas y diccionarios, colecciones parametrizadasProgramación 3: mapas y diccionarios, colecciones parametrizadas
Programación 3: mapas y diccionarios, colecciones parametrizadasAngel Vázquez Patiño
 
Programación 3: árboles de búsqueda equilibrados
Programación 3: árboles de búsqueda equilibradosProgramación 3: árboles de búsqueda equilibrados
Programación 3: árboles de búsqueda equilibradosAngel Vázquez Patiño
 
Programación 3: árboles binarios y ordenados
Programación 3: árboles binarios y ordenadosProgramación 3: árboles binarios y ordenados
Programación 3: árboles binarios y ordenadosAngel Vázquez Patiño
 
Clausura transitiva de un grafo dirigido
Clausura transitiva de un grafo dirigidoClausura transitiva de un grafo dirigido
Clausura transitiva de un grafo dirigidoguest4b1d8bc
 
Arboles y Colas de Prioridad en Java
Arboles y Colas de Prioridad en JavaArboles y Colas de Prioridad en Java
Arboles y Colas de Prioridad en JavaLupitaOMG Garmendia
 
Técnicas prácticas para la solución de algunos grafos 1
Técnicas prácticas para la solución de algunos grafos 1Técnicas prácticas para la solución de algunos grafos 1
Técnicas prácticas para la solución de algunos grafos 1Juan Velez
 

Destacado (20)

Programación 3: caminos más cortos con un solo origen
Programación 3: caminos más cortos con un solo origenProgramación 3: caminos más cortos con un solo origen
Programación 3: caminos más cortos con un solo origen
 
Ejemplo 1 de floyd warshall
Ejemplo 1 de floyd warshallEjemplo 1 de floyd warshall
Ejemplo 1 de floyd warshall
 
Programación 3: Vector, stack, enumearator, iterator, listiterator en Java
Programación 3: Vector, stack, enumearator, iterator, listiterator en JavaProgramación 3: Vector, stack, enumearator, iterator, listiterator en Java
Programación 3: Vector, stack, enumearator, iterator, listiterator en Java
 
Programación 3: listas y conjuntos en java
Programación 3: listas y conjuntos en javaProgramación 3: listas y conjuntos en java
Programación 3: listas y conjuntos en java
 
Programación 3: algoritmo de Prim y de Kruskal
Programación 3: algoritmo de Prim y de KruskalProgramación 3: algoritmo de Prim y de Kruskal
Programación 3: algoritmo de Prim y de Kruskal
 
Programación 3: colecciones Java
Programación 3: colecciones JavaProgramación 3: colecciones Java
Programación 3: colecciones Java
 
Programación 1: modularización
Programación 1: modularizaciónProgramación 1: modularización
Programación 1: modularización
 
Programación 3: tablas de dispersión
Programación 3: tablas de dispersiónProgramación 3: tablas de dispersión
Programación 3: tablas de dispersión
 
Programación 3: mapas y diccionarios, colecciones parametrizadas
Programación 3: mapas y diccionarios, colecciones parametrizadasProgramación 3: mapas y diccionarios, colecciones parametrizadas
Programación 3: mapas y diccionarios, colecciones parametrizadas
 
Programación 3: árboles de búsqueda equilibrados
Programación 3: árboles de búsqueda equilibradosProgramación 3: árboles de búsqueda equilibrados
Programación 3: árboles de búsqueda equilibrados
 
Programación 3: árboles binarios y ordenados
Programación 3: árboles binarios y ordenadosProgramación 3: árboles binarios y ordenados
Programación 3: árboles binarios y ordenados
 
Cloud computing
Cloud computingCloud computing
Cloud computing
 
Clausura transitiva de un grafo dirigido
Clausura transitiva de un grafo dirigidoClausura transitiva de un grafo dirigido
Clausura transitiva de un grafo dirigido
 
Ordenamientos externos
Ordenamientos externosOrdenamientos externos
Ordenamientos externos
 
Algoritmos de ordenamiento externos
Algoritmos de ordenamiento externosAlgoritmos de ordenamiento externos
Algoritmos de ordenamiento externos
 
Programación 3: colas
Programación 3: colasProgramación 3: colas
Programación 3: colas
 
Programación 3: listas enlazadas
Programación 3: listas enlazadasProgramación 3: listas enlazadas
Programación 3: listas enlazadas
 
Arboles y Colas de Prioridad en Java
Arboles y Colas de Prioridad en JavaArboles y Colas de Prioridad en Java
Arboles y Colas de Prioridad en Java
 
Técnicas prácticas para la solución de algunos grafos 1
Técnicas prácticas para la solución de algunos grafos 1Técnicas prácticas para la solución de algunos grafos 1
Técnicas prácticas para la solución de algunos grafos 1
 
Programación 3: presentación
Programación 3: presentaciónProgramación 3: presentación
Programación 3: presentación
 

Similar a Programación 3: Ordenación topológica, matriz de caminos y algoritmo Warshall

grafosalgoritmosfundamentales-170507070811.pdf
grafosalgoritmosfundamentales-170507070811.pdfgrafosalgoritmosfundamentales-170507070811.pdf
grafosalgoritmosfundamentales-170507070811.pdfEdgardRamirezHuaccha
 
Control Analogico II
Control Analogico IIControl Analogico II
Control Analogico IInellysamor
 
Teoría de las redes
Teoría de las redesTeoría de las redes
Teoría de las redesDiego Gomez
 
Grafos
Grafos Grafos
Grafos jel_69
 
Presentacion del Proyecto de Construccion de una Wiki - Grupo 3
Presentacion del Proyecto de Construccion de una Wiki - Grupo 3Presentacion del Proyecto de Construccion de una Wiki - Grupo 3
Presentacion del Proyecto de Construccion de una Wiki - Grupo 3matediscretas
 
Guia control analog
Guia control analogGuia control analog
Guia control analoggaticajuma
 
Posición y desplazamiento
Posición y desplazamientoPosición y desplazamiento
Posición y desplazamientoEver Atencia
 
Lugar Geométrico de las Raices
Lugar Geométrico de las RaicesLugar Geométrico de las Raices
Lugar Geométrico de las RaicesRuben Armengol
 
Matematica 2. universidad fermin toro
Matematica 2. universidad fermin toro Matematica 2. universidad fermin toro
Matematica 2. universidad fermin toro Ysabela Hernandez
 
Examen final Autómatas y Lenguajes Formales
Examen final Autómatas y Lenguajes FormalesExamen final Autómatas y Lenguajes Formales
Examen final Autómatas y Lenguajes FormalesDiego Perdomo
 

Similar a Programación 3: Ordenación topológica, matriz de caminos y algoritmo Warshall (20)

grafosalgoritmosfundamentales-170507070811.pdf
grafosalgoritmosfundamentales-170507070811.pdfgrafosalgoritmosfundamentales-170507070811.pdf
grafosalgoritmosfundamentales-170507070811.pdf
 
Control Analogico II
Control Analogico IIControl Analogico II
Control Analogico II
 
Tangentes en coordenadas polares
Tangentes en coordenadas polaresTangentes en coordenadas polares
Tangentes en coordenadas polares
 
Teoría de las redes
Teoría de las redesTeoría de las redes
Teoría de las redes
 
Grafos
Grafos Grafos
Grafos
 
Ortogonalidad
OrtogonalidadOrtogonalidad
Ortogonalidad
 
Presentacion del Proyecto de Construccion de una Wiki - Grupo 3
Presentacion del Proyecto de Construccion de una Wiki - Grupo 3Presentacion del Proyecto de Construccion de una Wiki - Grupo 3
Presentacion del Proyecto de Construccion de una Wiki - Grupo 3
 
Puente de Wheatstone
Puente de WheatstonePuente de Wheatstone
Puente de Wheatstone
 
Capítulo 1. Cónicas
Capítulo 1. CónicasCapítulo 1. Cónicas
Capítulo 1. Cónicas
 
FUNCION CUADRATICA.pptx
FUNCION CUADRATICA.pptxFUNCION CUADRATICA.pptx
FUNCION CUADRATICA.pptx
 
Teoria-de-grafos
Teoria-de-grafosTeoria-de-grafos
Teoria-de-grafos
 
Ejercicios propuestos
Ejercicios propuestos Ejercicios propuestos
Ejercicios propuestos
 
Guia control analog
Guia control analogGuia control analog
Guia control analog
 
3 pandeo columna
3   pandeo columna3   pandeo columna
3 pandeo columna
 
Posición y desplazamiento
Posición y desplazamientoPosición y desplazamiento
Posición y desplazamiento
 
Lugar Geométrico de las Raices
Lugar Geométrico de las RaicesLugar Geométrico de las Raices
Lugar Geométrico de las Raices
 
Matematica 2. universidad fermin toro
Matematica 2. universidad fermin toro Matematica 2. universidad fermin toro
Matematica 2. universidad fermin toro
 
Funcion cuadratica
Funcion cuadraticaFuncion cuadratica
Funcion cuadratica
 
Examen final Autómatas y Lenguajes Formales
Examen final Autómatas y Lenguajes FormalesExamen final Autómatas y Lenguajes Formales
Examen final Autómatas y Lenguajes Formales
 
Taller 1 matricial (1)
Taller 1 matricial (1)Taller 1 matricial (1)
Taller 1 matricial (1)
 

Más de Angel Vázquez Patiño

Valores extremos y comportamiento de las funciones y de sus gráficas
Valores extremos y comportamiento de las funciones y de sus gráficasValores extremos y comportamiento de las funciones y de sus gráficas
Valores extremos y comportamiento de las funciones y de sus gráficasAngel Vázquez Patiño
 
Causality and climate networks approaches for evaluating climate models, trac...
Causality and climate networks approaches for evaluating climate models, trac...Causality and climate networks approaches for evaluating climate models, trac...
Causality and climate networks approaches for evaluating climate models, trac...Angel Vázquez Patiño
 
Diferencias finitas y Ecuación de calor
Diferencias finitas y Ecuación de calorDiferencias finitas y Ecuación de calor
Diferencias finitas y Ecuación de calorAngel Vázquez Patiño
 
Puntos ordinarios y singularidades de una EDO lineal
Puntos ordinarios y singularidades de una EDO linealPuntos ordinarios y singularidades de una EDO lineal
Puntos ordinarios y singularidades de una EDO linealAngel Vázquez Patiño
 
Métodos de resolución de EDOs mediante series
Métodos de resolución de EDOs mediante seriesMétodos de resolución de EDOs mediante series
Métodos de resolución de EDOs mediante seriesAngel Vázquez Patiño
 
Solución en series de EDOs no lineales de orden mayor a uno y de un sistema d...
Solución en series de EDOs no lineales de orden mayor a uno y de un sistema d...Solución en series de EDOs no lineales de orden mayor a uno y de un sistema d...
Solución en series de EDOs no lineales de orden mayor a uno y de un sistema d...Angel Vázquez Patiño
 
Problemas que originan sistemas de ecuaciones
Problemas que originan sistemas de ecuacionesProblemas que originan sistemas de ecuaciones
Problemas que originan sistemas de ecuacionesAngel Vázquez Patiño
 
Linealización de sistemas de primer orden
Linealización de sistemas de primer ordenLinealización de sistemas de primer orden
Linealización de sistemas de primer ordenAngel Vázquez Patiño
 
Fundamentos de Computación y Programación
Fundamentos de Computación y ProgramaciónFundamentos de Computación y Programación
Fundamentos de Computación y ProgramaciónAngel Vázquez Patiño
 
Causality Strength Signatures for Measuring GCMs Performance: The South Ameri...
Causality Strength Signatures for Measuring GCMs Performance: The South Ameri...Causality Strength Signatures for Measuring GCMs Performance: The South Ameri...
Causality Strength Signatures for Measuring GCMs Performance: The South Ameri...Angel Vázquez Patiño
 

Más de Angel Vázquez Patiño (20)

Funciones, límites y continuidad
Funciones, límites y continuidadFunciones, límites y continuidad
Funciones, límites y continuidad
 
Integral definida e integración
Integral definida e integraciónIntegral definida e integración
Integral definida e integración
 
Valores extremos y comportamiento de las funciones y de sus gráficas
Valores extremos y comportamiento de las funciones y de sus gráficasValores extremos y comportamiento de las funciones y de sus gráficas
Valores extremos y comportamiento de las funciones y de sus gráficas
 
Derivada y diferenciación
Derivada y diferenciaciónDerivada y diferenciación
Derivada y diferenciación
 
Causality and climate networks approaches for evaluating climate models, trac...
Causality and climate networks approaches for evaluating climate models, trac...Causality and climate networks approaches for evaluating climate models, trac...
Causality and climate networks approaches for evaluating climate models, trac...
 
Diferencias finitas y Ecuación de calor
Diferencias finitas y Ecuación de calorDiferencias finitas y Ecuación de calor
Diferencias finitas y Ecuación de calor
 
Puntos ordinarios y singularidades de una EDO lineal
Puntos ordinarios y singularidades de una EDO linealPuntos ordinarios y singularidades de una EDO lineal
Puntos ordinarios y singularidades de una EDO lineal
 
La ecuación diferencial de Legendre
La ecuación diferencial de LegendreLa ecuación diferencial de Legendre
La ecuación diferencial de Legendre
 
Solución en series de y' = f(x,y)
Solución en series de y' = f(x,y)Solución en series de y' = f(x,y)
Solución en series de y' = f(x,y)
 
Métodos de resolución de EDOs mediante series
Métodos de resolución de EDOs mediante seriesMétodos de resolución de EDOs mediante series
Métodos de resolución de EDOs mediante series
 
Solución en series de EDOs no lineales de orden mayor a uno y de un sistema d...
Solución en series de EDOs no lineales de orden mayor a uno y de un sistema d...Solución en series de EDOs no lineales de orden mayor a uno y de un sistema d...
Solución en series de EDOs no lineales de orden mayor a uno y de un sistema d...
 
Problemas que originan sistemas de ecuaciones
Problemas que originan sistemas de ecuacionesProblemas que originan sistemas de ecuaciones
Problemas que originan sistemas de ecuaciones
 
Linealización de sistemas de primer orden
Linealización de sistemas de primer ordenLinealización de sistemas de primer orden
Linealización de sistemas de primer orden
 
Sistemas de EDOs
Sistemas de EDOsSistemas de EDOs
Sistemas de EDOs
 
Método de la secante
Método de la secanteMétodo de la secante
Método de la secante
 
Iteraciones de punto fijo
Iteraciones de punto fijoIteraciones de punto fijo
Iteraciones de punto fijo
 
Objetos y variables en Python
Objetos y variables en PythonObjetos y variables en Python
Objetos y variables en Python
 
Definiciones de Error
Definiciones de ErrorDefiniciones de Error
Definiciones de Error
 
Fundamentos de Computación y Programación
Fundamentos de Computación y ProgramaciónFundamentos de Computación y Programación
Fundamentos de Computación y Programación
 
Causality Strength Signatures for Measuring GCMs Performance: The South Ameri...
Causality Strength Signatures for Measuring GCMs Performance: The South Ameri...Causality Strength Signatures for Measuring GCMs Performance: The South Ameri...
Causality Strength Signatures for Measuring GCMs Performance: The South Ameri...
 

Último

4º Clase Laboratorio (2024) Completo Mezclas Asfalticas Caliente (1).pdf
4º Clase Laboratorio (2024) Completo Mezclas Asfalticas Caliente (1).pdf4º Clase Laboratorio (2024) Completo Mezclas Asfalticas Caliente (1).pdf
4º Clase Laboratorio (2024) Completo Mezclas Asfalticas Caliente (1).pdfnicolascastaneda8
 
nomenclatura de equipo electrico en subestaciones
nomenclatura de equipo electrico en subestacionesnomenclatura de equipo electrico en subestaciones
nomenclatura de equipo electrico en subestacionesCarlosMeraz16
 
analisis tecnologico( diagnostico tecnologico, herramienta de toma de deciones)
analisis tecnologico( diagnostico tecnologico, herramienta de toma de deciones)analisis tecnologico( diagnostico tecnologico, herramienta de toma de deciones)
analisis tecnologico( diagnostico tecnologico, herramienta de toma de deciones)Ricardo705519
 
Six Sigma Process and the dmaic metodo process
Six Sigma Process and the dmaic metodo processSix Sigma Process and the dmaic metodo process
Six Sigma Process and the dmaic metodo processbarom
 
Ejemplos de cadenas de Markov - Ejercicios
Ejemplos de cadenas de Markov - EjerciciosEjemplos de cadenas de Markov - Ejercicios
Ejemplos de cadenas de Markov - EjerciciosMARGARITAMARIAFERNAN1
 
DIAPOSITIVAS DE SEGURIDAD Y SALUD EN EL TRABAJO
DIAPOSITIVAS DE SEGURIDAD Y SALUD EN EL TRABAJODIAPOSITIVAS DE SEGURIDAD Y SALUD EN EL TRABAJO
DIAPOSITIVAS DE SEGURIDAD Y SALUD EN EL TRABAJOJimyAMoran
 
Practica PLC MIcrologix 1400 con pantalla HMI y servomotor
Practica PLC MIcrologix 1400 con pantalla HMI y servomotorPractica PLC MIcrologix 1400 con pantalla HMI y servomotor
Practica PLC MIcrologix 1400 con pantalla HMI y servomotorkavowog624
 
CLASe número 4 fotogrametria Y PARALAJE.pptx
CLASe número 4 fotogrametria Y PARALAJE.pptxCLASe número 4 fotogrametria Y PARALAJE.pptx
CLASe número 4 fotogrametria Y PARALAJE.pptxbingoscarlet
 
Herramientas de la productividad - Revit
Herramientas de la productividad - RevitHerramientas de la productividad - Revit
Herramientas de la productividad - RevitDiegoAlonsoCastroLup1
 
UNIDAD 3 ELECTRODOS.pptx para biopotenciales
UNIDAD 3 ELECTRODOS.pptx para biopotencialesUNIDAD 3 ELECTRODOS.pptx para biopotenciales
UNIDAD 3 ELECTRODOS.pptx para biopotencialesElianaCceresTorrico
 
Controladores Lógicos Programables Usos y Ventajas
Controladores Lógicos Programables Usos y VentajasControladores Lógicos Programables Usos y Ventajas
Controladores Lógicos Programables Usos y Ventajasjuanprv
 
01 MATERIALES AERONAUTICOS VARIOS clase 1.ppt
01 MATERIALES AERONAUTICOS VARIOS clase 1.ppt01 MATERIALES AERONAUTICOS VARIOS clase 1.ppt
01 MATERIALES AERONAUTICOS VARIOS clase 1.pptoscarvielma45
 
INTEGRALES TRIPLES CLASE TEORICA Y PRÁCTICA
INTEGRALES TRIPLES CLASE TEORICA Y PRÁCTICAINTEGRALES TRIPLES CLASE TEORICA Y PRÁCTICA
INTEGRALES TRIPLES CLASE TEORICA Y PRÁCTICAJOSLUISCALLATAENRIQU
 
ANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZ
ANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZ
ANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZgustavoiashalom
 
sigof.sisfoh.gob.pe_consulta_hogares_ULE_busqueda_print.php (1).pptx
sigof.sisfoh.gob.pe_consulta_hogares_ULE_busqueda_print.php (1).pptxsigof.sisfoh.gob.pe_consulta_hogares_ULE_busqueda_print.php (1).pptx
sigof.sisfoh.gob.pe_consulta_hogares_ULE_busqueda_print.php (1).pptxsutti0808
 
clasificasion de vias arteriales , vias locales
clasificasion de vias arteriales , vias localesclasificasion de vias arteriales , vias locales
clasificasion de vias arteriales , vias localesMIGUELANGEL2658
 
Mapas y cartas topográficas y de suelos.pptx
Mapas y cartas topográficas y de suelos.pptxMapas y cartas topográficas y de suelos.pptx
Mapas y cartas topográficas y de suelos.pptxMONICADELROCIOMUNZON1
 
NTP- Determinación de Cloruros en suelos y agregados (1) (1).pptx
NTP- Determinación de Cloruros  en suelos y agregados (1) (1).pptxNTP- Determinación de Cloruros  en suelos y agregados (1) (1).pptx
NTP- Determinación de Cloruros en suelos y agregados (1) (1).pptxBRAYANJOSEPTSANJINEZ
 
INSUMOS QUIMICOS Y BIENES FISCALIZADOS POR LA SUNAT
INSUMOS QUIMICOS Y BIENES FISCALIZADOS POR LA SUNATINSUMOS QUIMICOS Y BIENES FISCALIZADOS POR LA SUNAT
INSUMOS QUIMICOS Y BIENES FISCALIZADOS POR LA SUNATevercoyla
 
Elaboración de la estructura del ADN y ARN en papel.pdf
Elaboración de la estructura del ADN y ARN en papel.pdfElaboración de la estructura del ADN y ARN en papel.pdf
Elaboración de la estructura del ADN y ARN en papel.pdfKEVINYOICIAQUINOSORI
 

Último (20)

4º Clase Laboratorio (2024) Completo Mezclas Asfalticas Caliente (1).pdf
4º Clase Laboratorio (2024) Completo Mezclas Asfalticas Caliente (1).pdf4º Clase Laboratorio (2024) Completo Mezclas Asfalticas Caliente (1).pdf
4º Clase Laboratorio (2024) Completo Mezclas Asfalticas Caliente (1).pdf
 
nomenclatura de equipo electrico en subestaciones
nomenclatura de equipo electrico en subestacionesnomenclatura de equipo electrico en subestaciones
nomenclatura de equipo electrico en subestaciones
 
analisis tecnologico( diagnostico tecnologico, herramienta de toma de deciones)
analisis tecnologico( diagnostico tecnologico, herramienta de toma de deciones)analisis tecnologico( diagnostico tecnologico, herramienta de toma de deciones)
analisis tecnologico( diagnostico tecnologico, herramienta de toma de deciones)
 
Six Sigma Process and the dmaic metodo process
Six Sigma Process and the dmaic metodo processSix Sigma Process and the dmaic metodo process
Six Sigma Process and the dmaic metodo process
 
Ejemplos de cadenas de Markov - Ejercicios
Ejemplos de cadenas de Markov - EjerciciosEjemplos de cadenas de Markov - Ejercicios
Ejemplos de cadenas de Markov - Ejercicios
 
DIAPOSITIVAS DE SEGURIDAD Y SALUD EN EL TRABAJO
DIAPOSITIVAS DE SEGURIDAD Y SALUD EN EL TRABAJODIAPOSITIVAS DE SEGURIDAD Y SALUD EN EL TRABAJO
DIAPOSITIVAS DE SEGURIDAD Y SALUD EN EL TRABAJO
 
Practica PLC MIcrologix 1400 con pantalla HMI y servomotor
Practica PLC MIcrologix 1400 con pantalla HMI y servomotorPractica PLC MIcrologix 1400 con pantalla HMI y servomotor
Practica PLC MIcrologix 1400 con pantalla HMI y servomotor
 
CLASe número 4 fotogrametria Y PARALAJE.pptx
CLASe número 4 fotogrametria Y PARALAJE.pptxCLASe número 4 fotogrametria Y PARALAJE.pptx
CLASe número 4 fotogrametria Y PARALAJE.pptx
 
Herramientas de la productividad - Revit
Herramientas de la productividad - RevitHerramientas de la productividad - Revit
Herramientas de la productividad - Revit
 
UNIDAD 3 ELECTRODOS.pptx para biopotenciales
UNIDAD 3 ELECTRODOS.pptx para biopotencialesUNIDAD 3 ELECTRODOS.pptx para biopotenciales
UNIDAD 3 ELECTRODOS.pptx para biopotenciales
 
Controladores Lógicos Programables Usos y Ventajas
Controladores Lógicos Programables Usos y VentajasControladores Lógicos Programables Usos y Ventajas
Controladores Lógicos Programables Usos y Ventajas
 
01 MATERIALES AERONAUTICOS VARIOS clase 1.ppt
01 MATERIALES AERONAUTICOS VARIOS clase 1.ppt01 MATERIALES AERONAUTICOS VARIOS clase 1.ppt
01 MATERIALES AERONAUTICOS VARIOS clase 1.ppt
 
INTEGRALES TRIPLES CLASE TEORICA Y PRÁCTICA
INTEGRALES TRIPLES CLASE TEORICA Y PRÁCTICAINTEGRALES TRIPLES CLASE TEORICA Y PRÁCTICA
INTEGRALES TRIPLES CLASE TEORICA Y PRÁCTICA
 
ANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZ
ANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZ
ANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZ
 
sigof.sisfoh.gob.pe_consulta_hogares_ULE_busqueda_print.php (1).pptx
sigof.sisfoh.gob.pe_consulta_hogares_ULE_busqueda_print.php (1).pptxsigof.sisfoh.gob.pe_consulta_hogares_ULE_busqueda_print.php (1).pptx
sigof.sisfoh.gob.pe_consulta_hogares_ULE_busqueda_print.php (1).pptx
 
clasificasion de vias arteriales , vias locales
clasificasion de vias arteriales , vias localesclasificasion de vias arteriales , vias locales
clasificasion de vias arteriales , vias locales
 
Mapas y cartas topográficas y de suelos.pptx
Mapas y cartas topográficas y de suelos.pptxMapas y cartas topográficas y de suelos.pptx
Mapas y cartas topográficas y de suelos.pptx
 
NTP- Determinación de Cloruros en suelos y agregados (1) (1).pptx
NTP- Determinación de Cloruros  en suelos y agregados (1) (1).pptxNTP- Determinación de Cloruros  en suelos y agregados (1) (1).pptx
NTP- Determinación de Cloruros en suelos y agregados (1) (1).pptx
 
INSUMOS QUIMICOS Y BIENES FISCALIZADOS POR LA SUNAT
INSUMOS QUIMICOS Y BIENES FISCALIZADOS POR LA SUNATINSUMOS QUIMICOS Y BIENES FISCALIZADOS POR LA SUNAT
INSUMOS QUIMICOS Y BIENES FISCALIZADOS POR LA SUNAT
 
Elaboración de la estructura del ADN y ARN en papel.pdf
Elaboración de la estructura del ADN y ARN en papel.pdfElaboración de la estructura del ADN y ARN en papel.pdf
Elaboración de la estructura del ADN y ARN en papel.pdf
 

Programación 3: Ordenación topológica, matriz de caminos y algoritmo Warshall

  • 1. FACULTAD DE INGENIERIA CAPITULO 16: GRAFOS, ALGORITMOS FUNDAMENTALES Realizado por : Christian Paul Salinas 4to Ciclo – Ingeniería en Sistemas
  • 2. CONTENIDO  Introducción  Ordenación Topológica  Relación de Precedencia  Grafo Dirigido Aciclico  Complejidad  Pasos  Implementación del algoritmo de ordenación topológica(Ejemplo en Java)  Matriz de caminos, Algoritmo de Warshall  Matriz Cierre Transitivo  Complejidad  Ejemplo Paso a paso, e Implementación del algoritmo en Java
  • 3. INTRODUCCIÓN  Los grafos nos permiten modelar numerosos problemas, por ejemplo, encontrar rutas de menor longitud entre dos puntos, calcular caminos mas rápidos, planificar tareas que completan un proyecto, entre otras.  Analizar cada arista y nodo del grafo que representa el problema,
  • 4. ORDENACIÓN TOPOLÓGICA  Modela las relaciones que existen entre diferentes tareas, para poder terminar un proyecto.  Relaciones de Precedencia  Se presentan mediante un grafo dirigido, donde los vértices son tareas y existe aristas de un vértice a otro, donde es necesario que se completa la arista inicial para que comience la siguiente
  • 5. RELACIONES DE PRECEDENCIA  Una vez se dispone del grafo interesa obtener una planificación de las tareas que constituyen el proyecto.  En definitiva, se debe encontrar la ordenación topológica de los vértices que forman el grafo, siendo el final un grafo dirigido.  Grafo final acíclico, única dependencia.
  • 6. IMPORTANTE  La ordenación topológica se aplica sobre grafos dirigidos sin ciclos.  Es una ordenación lineal tal que si un nodo llamando A es anterior a otro nodo B entonces existe un camino de A hacia B  La ordenación topológica no se puede realizar en grafos con ciclos
  • 7. GRAFO DIRIGIDO ACICLICO  Un grafo dirigido y sin ciclos se denomina un gda o grafo acíclico.  Los gda aparecen en modelos donde no tiene sentido que un vértice tenga un camino directo a él mismo  Los grafos dirigidos aciclicos pueden utilizarse para modelar muchos tipos diferentes de información las cuales pueden ser una colección de las tareas que pueden ordenarse en una secuencia determinada.
  • 8.  El grafo anterior es un ejemplo de un grafo dirigido acíclico, donde se modela la estructura de prerrequisito de 8 cursos  Un arista cualquiera (R,S) significa que el curso R debe completarse antes de empezar el curso S.  Por ejemplo, el curso M21 se puede empezar sólo cuando se terminen los cursos E11 y T12.  M21 es el paso que sigue o sucesor de E11 y T12
  • 9.  Una ordenación topológica de estos cursos es cualquier secuencia de cursos que cumple los prerrequisitos y tenga los pasos sucesores correctos.  Para un grafo dirigido acíclico no tiene por qué existir una única ordenación topológica  E11 - T12 - M21 - C22 - R23 - S31 - S32 - T41  T12 - E11 - R23 - C22 - M21 - S31 - S32 - T41
  • 10. ORDENACIÓN TOPOLÓGICA COMPLEJIDAD  La complejidad del algoritmo Ordenación Topológica de un grafo.  Representación del grafo con Listas de Adyacencia, es O(a+n), siendo ‘a’ el número de arcos y ‘n’ el de vértices.  Representación del grafo con una Matriz de Adyacencia, la complejidad es O(n2 ).
  • 11. ALGORITMO DE UNA ORDENACIÓN TOPOLÓGICA  Pasos:  Busca una tarea (vértice V) la cual no tenga Sucesores.  Este vértice V pasa a formar parte de la Ordenación T.  Ya que el vértice que no tiene sucesores se añadió a la Ordenación T, este vértice es eliminado del grafo inicial.  Se repite el proceso.  Se toma otro vértice W, que no tenga sucesores.  Se incorpora a la Ordenación T.  Se eliminan el vértice W del grafo anterior.  Se repite el proceso.  Se sigue hasta completar la Ordenación. En el próximo ejemplo de utiliza un array para guardar la Ordenación T. Cada vez que se encuentre un vértice que no tenga sucesores, se agrega desde el final del array hasta el principio.
  • 12. Algoritmo de Ordenación Topológica con un grafo representado por su matriz de Adyacencia
  • 13.
  • 14. IMPLEMENTACIÓN DEL ALGORITMO DE ORDENACIÓN TOPOLÓGICA  Para representar el siguiente grafo se utilizara una Matriz de Adyacencia, y aplicar el Algoritmo de Ordenación Topológica C F D B E A H G
  • 15. MATRIZ DE CAMINOS: ALGORITMO DE WARSHALL  Normalmente se suele confundir este Algoritmo con el Algoritmo de Floyd Warshall  Floy Warshall encuentra el camino mínimo de grafos dirigidos ponderados Algoritmo de Warshall trabaja sobre grafos dirigidos no ponderados, y encuentra caminos entre un par de vértices
  • 16. MATRIZ DE CAMINOS: ALGORITMO DE WARSHALL  Recibe una matriz de Adyacencia de un grafo de n vértices y retorna la matriz de caminos llamada Cierre Transitivo.  La estrategia que sigue el algoritmo consiste en definir, a nivel lógico, una secuencia de matrices n- cuadradas P0, P1, P2, P3 ... Pn  A cada nodo del grafo lo convierte en un ‘’puente’’ para comunicar las diferentes aristas.
  • 17. ALGORITMO DE WARSHALL  El nodo puente mencionado ayudara a encontrar caminos mediante el mismo e ira aumentado los caminos posible según se acaben los nodos.  El nodo seleccionado para cada conexión mediante un puente, se lo define como nodo de orden k  Los elementos de cada una de las matrices Pk[i,j] tienen el valor 0 si no hay camino y 1 si existe un camino del vértice i y al j.
  • 18. 1 - Si existe un arco del vértice i al j 0 - En otro caso P k=0 1 - Si existe un camino simple de i a j que no pasa por ningún otro vértice a no ser por los vértices creados en P k=0 0 - En otro caso P k=1 1 - Si existe un camino simple de i a j que no pasa por ningún otro vértice a no ser por los vértices creados en P k=1 y P k=0 0 - En otro caso P k=2 1 - Si existe un camino simple de i a j que no pasa por ningún otro vértice a no ser por el vértice creado en P k=0 , P k=1 y P k=2 0 - En otro caso P k=3 k = 0, 1, 2, 3……n (Numero de vértices)
  • 19. Representación de un Grafo por Matriz y Lista de Adyacencia Matriz de Adyacencia
  • 24. ALGORITMO DE WARSHALL COMPLEJIDAD  La complejidad del algoritmo de Warshall es cúbica, O(n3) siendo n el número de vértices.  Esta característica hace que el tiempo de ejecución crezca rápidamente para grafos con, relativamente, muchos nodos.
  • 25. EJEMPLO E IMPLEMENTACIÓN EN JAVA  Se tiene el siguiente grafo dirigido no ponderado con su respectiva matriz adyacente, Matriz Adyacente  Se mostrara paso a paso cual es el procedimiento ah seguir en este Algoritmo para entenderlo mejor y después su implementación en Java A B C D E F A 0 1 0 0 1 0 B 0 0 0 1 0 0 C 0 1 0 0 0 0 D 0 0 1 0 0 1 E 0 0 0 0 0 0 F 0 0 0 0 0 0 A B C D F E
  • 26. ALGORITMO DE WARSHALL A B C D F E A B C D E F A 0 1 0 0 1 0 B 0 0 0 1 0 0 C 0 1 0 0 0 0 D 0 0 1 0 0 1 E 0 0 0 0 0 0 F 0 0 0 0 0 0 A B C D E F A 0 1 0 0 1 0 B 0 0 0 1 0 0 C 0 1 0 0 0 0 D 0 0 1 0 0 1 E 0 0 0 0 0 0 F 0 0 0 0 0 0 Se realiza una matriz con k=0, en esta caso será el vértice A el cual servirá como puente Cuando exista dos números 1 en la fila y columna amarilla, en este caso k=0 (Vértice A), que una ambos vértices por el puente amarillo, se pondrá 1 donde exista un camino y 0 caso contrario. k= 0
  • 27. ALGORITMO DE WARSHALL A B C D F E Se realiza una matriz con k=1, en esta caso será el vértice B el cual servirá como puente Cuando exista dos números 1 en la fila y columna amarilla, que una ambos vértices por el puente amarillo, se pondrá 1 donde exista un camino y 0 caso contrario. k= 1 A B C D E F A 0 1 0 0 1 0 B 0 0 0 1 0 0 C 0 1 0 0 0 0 D 0 0 1 0 0 1 E 0 0 0 0 0 0 F 0 0 0 0 0 0 A B C D E F A 0 1 0 1 1 0 B 0 0 0 1 0 0 C 0 1 0 1 0 0 D 0 0 1 0 0 1 E 0 0 0 0 0 0 F 0 0 0 0 0 0
  • 28. ALGORITMO DE WARSHALL A B C D F E Se realiza una matriz con k=2, en esta caso será el vértice C el cual servirá como puente Cuando exista dos números 1 en la fila y columna amarilla, que una ambos vértices por el puente amarillo, se pondrá 1 donde exista un camino y 0 caso contrario. k= 2 A B C D E F A 0 1 0 1 1 0 B 0 0 0 1 0 0 C 0 1 0 1 0 0 D 0 0 1 0 0 1 E 0 0 0 0 0 0 F 0 0 0 0 0 0 A B C D E F A 0 1 0 1 1 0 B 0 0 0 1 0 0 C 0 1 0 1 0 0 D 0 1 1 1 0 1 E 0 0 0 0 0 0 F 0 0 0 0 0 0
  • 29. ALGORITMO DE WARSHALL A B C D F E Se realiza una matriz con k=3, en esta caso será el vértice D el cual servirá como puente Cuando exista dos números 1 en la fila y columna amarilla, que una ambos vértices por el puente amarillo, se pondrá 1 donde exista un camino y 0 caso contrario. k= 3 A B C D E F A 0 1 0 1 1 0 B 0 0 0 1 0 0 C 0 1 0 1 0 0 D 0 1 1 1 0 1 E 0 0 0 0 0 0 F 0 0 0 0 0 0 A B C D E F A 0 1 1 1 1 1 B 0 1 1 1 0 1 C 0 1 1 1 0 1 D 0 1 1 1 0 1 E 0 0 0 0 0 0 F 0 0 0 0 0 0
  • 30. ALGORITMO DE WARSHALL A B C D F E Se realiza una matriz con k=4, en esta caso será el vértice E el cual servirá como puente Cuando exista dos números 1 en la fila y columna amarilla, que una ambos vértices por el puente amarillo, se pondrá 1 donde exista un camino y 0 caso contrario. k= 4 A B C D E F A 0 1 1 1 1 1 B 0 1 1 1 0 1 C 0 1 1 1 0 1 D 0 1 1 1 0 1 E 0 0 0 0 0 0 F 0 0 0 0 0 0 A B C D E F A 0 1 1 1 1 1 B 0 1 1 1 0 1 C 0 1 1 1 0 1 D 0 1 1 1 0 1 E 0 0 0 0 0 0 F 0 0 0 0 0 0
  • 31. ALGORITMO DE WARSHALL A B C D F E Se realiza una matriz con k=5, en esta caso será el vértice F el cual servirá como puente Cuando exista dos números 1 en la fila y columna amarilla, que una ambos vértices por el puente amarillo, se pondrá 1 donde exista un camino y 0 caso contrario. k= 5 A B C D E F A 0 1 1 1 1 1 B 0 1 1 1 0 1 C 0 1 1 1 0 1 D 0 1 1 1 0 1 E 0 0 0 0 0 0 F 0 0 0 0 0 0 A B C D E F A 0 1 1 1 1 1 B 0 1 1 1 0 1 C 0 1 1 1 0 1 D 0 1 1 1 0 1 E 0 0 0 0 0 0 F 0 0 0 0 0 0
  • 32. ALGORITMO DE WARSHALL, MATRIZ DE CAMINOS A B C D F E A B C D E F A 0 1 1 1 1 1 B 0 1 1 1 0 1 C 0 1 1 1 0 1 D 0 1 1 1 0 1 E 0 0 0 0 0 0 F 0 0 0 0 0 0 Matriz de Caminos A B C D F E A B C D E F A 0 1 0 0 1 0 B 0 0 0 1 0 0 C 0 1 0 0 0 0 D 0 0 1 0 0 1 E 0 0 0 0 0 0 F 0 0 0 0 0 0 Matriz de Adyacencia
  • 33. CONCLUSIONES  En la Ordenación Topológica se tiene relaciones de precedencia que se representan mediante un grafo dirigido en el que los vértices son las tareas o hitos y existe una arista del vértice r al t si el inicio de la tarea t depende de la terminación de r.  Una vez se dispone del grafo interesa obtener una planificación de las tareas que constituyen el proyecto; en definitiva, encontrar la ordenación topológica de los vértices que forman el grafo.  Algoritmo de Warshall devuelve una matriz de Camino, llamada de Cierre Transitivo, la cual indica TODOS los caminos posible de un vértice a otro, aun así pasando por otros vértices, siempre y cuando se respete el sentido cuando es un grafo dirigido