SlideShare ist ein Scribd-Unternehmen logo
1 von 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

Weitere ähnliche Inhalte

Was ist angesagt?

Listas de adyacencia
Listas de adyacenciaListas de adyacencia
Listas de adyacencialeidy2220
 
Unidad5. algebra relacional. yama.may.joseluis.j4
Unidad5. algebra relacional. yama.may.joseluis.j4Unidad5. algebra relacional. yama.may.joseluis.j4
Unidad5. algebra relacional. yama.may.joseluis.j4LuiS YmAY
 
Bucket sort
Bucket sortBucket sort
Bucket sorteislenp
 
Ordenamiento burbuja
Ordenamiento burbujaOrdenamiento burbuja
Ordenamiento burbujaOscar Mora
 
Algortimos De Ordenamiento
Algortimos De OrdenamientoAlgortimos De Ordenamiento
Algortimos De OrdenamientoRolf Pinto
 
Investigación de Operaciones II : Simulación
Investigación de Operaciones II : Simulación Investigación de Operaciones II : Simulación
Investigación de Operaciones II : Simulación Jose
 
Estructura de Datos, Multilistas
Estructura de Datos, MultilistasEstructura de Datos, Multilistas
Estructura de Datos, MultilistasCristhian Rosales
 
Funciones de un DBA y un operador de BD - Tecnologías de website ORAA
Funciones de un DBA y un operador de BD - Tecnologías de website ORAAFunciones de un DBA y un operador de BD - Tecnologías de website ORAA
Funciones de un DBA y un operador de BD - Tecnologías de website ORAAAndy Sanchez Agramonte
 
Discriminante o-hessiano
Discriminante o-hessianoDiscriminante o-hessiano
Discriminante o-hessianoMARY ANBEL
 
Examenes resueltos algebra lineal
Examenes resueltos algebra linealExamenes resueltos algebra lineal
Examenes resueltos algebra linealERICK CONDE
 
Mapa conceptual de Grafos Euleriano y Hamiltoniano
Mapa conceptual de Grafos Euleriano y HamiltonianoMapa conceptual de Grafos Euleriano y Hamiltoniano
Mapa conceptual de Grafos Euleriano y HamiltonianoJuan Ojeda
 
Algoritmos aproximados - El problema de la mochila 0-1
Algoritmos aproximados - El problema de la mochila 0-1Algoritmos aproximados - El problema de la mochila 0-1
Algoritmos aproximados - El problema de la mochila 0-1Alejandro Claro Mosqueda
 
Listas como estructura de datos..
Listas como estructura de datos..Listas como estructura de datos..
Listas como estructura de datos..NANO-06
 
Alg lineal unidad 3
Alg lineal unidad 3Alg lineal unidad 3
Alg lineal unidad 3migwer
 
Ecuaciones Diferenciales - La Transformada de Laplace
Ecuaciones Diferenciales - La Transformada de LaplaceEcuaciones Diferenciales - La Transformada de Laplace
Ecuaciones Diferenciales - La Transformada de LaplaceKike Prieto
 

Was ist angesagt? (20)

Listas de adyacencia
Listas de adyacenciaListas de adyacencia
Listas de adyacencia
 
Unidad5. algebra relacional. yama.may.joseluis.j4
Unidad5. algebra relacional. yama.may.joseluis.j4Unidad5. algebra relacional. yama.may.joseluis.j4
Unidad5. algebra relacional. yama.may.joseluis.j4
 
Bucket sort
Bucket sortBucket sort
Bucket sort
 
Pruebas de autocorrelacion yule
Pruebas de autocorrelacion yulePruebas de autocorrelacion yule
Pruebas de autocorrelacion yule
 
Recursividad
RecursividadRecursividad
Recursividad
 
Pilas y colas
Pilas y colasPilas y colas
Pilas y colas
 
Ordenamiento burbuja
Ordenamiento burbujaOrdenamiento burbuja
Ordenamiento burbuja
 
Algortimos De Ordenamiento
Algortimos De OrdenamientoAlgortimos De Ordenamiento
Algortimos De Ordenamiento
 
Investigación de Operaciones II : Simulación
Investigación de Operaciones II : Simulación Investigación de Operaciones II : Simulación
Investigación de Operaciones II : Simulación
 
Estructura de Datos, Multilistas
Estructura de Datos, MultilistasEstructura de Datos, Multilistas
Estructura de Datos, Multilistas
 
Grafo bipartito
Grafo bipartitoGrafo bipartito
Grafo bipartito
 
Funciones de un DBA y un operador de BD - Tecnologías de website ORAA
Funciones de un DBA y un operador de BD - Tecnologías de website ORAAFunciones de un DBA y un operador de BD - Tecnologías de website ORAA
Funciones de un DBA y un operador de BD - Tecnologías de website ORAA
 
Recursividad
RecursividadRecursividad
Recursividad
 
Discriminante o-hessiano
Discriminante o-hessianoDiscriminante o-hessiano
Discriminante o-hessiano
 
Examenes resueltos algebra lineal
Examenes resueltos algebra linealExamenes resueltos algebra lineal
Examenes resueltos algebra lineal
 
Mapa conceptual de Grafos Euleriano y Hamiltoniano
Mapa conceptual de Grafos Euleriano y HamiltonianoMapa conceptual de Grafos Euleriano y Hamiltoniano
Mapa conceptual de Grafos Euleriano y Hamiltoniano
 
Algoritmos aproximados - El problema de la mochila 0-1
Algoritmos aproximados - El problema de la mochila 0-1Algoritmos aproximados - El problema de la mochila 0-1
Algoritmos aproximados - El problema de la mochila 0-1
 
Listas como estructura de datos..
Listas como estructura de datos..Listas como estructura de datos..
Listas como estructura de datos..
 
Alg lineal unidad 3
Alg lineal unidad 3Alg lineal unidad 3
Alg lineal unidad 3
 
Ecuaciones Diferenciales - La Transformada de Laplace
Ecuaciones Diferenciales - La Transformada de LaplaceEcuaciones Diferenciales - La Transformada de Laplace
Ecuaciones Diferenciales - La Transformada de Laplace
 

Andere mochten auch

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: 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
 
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
 

Andere mochten auch (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: 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
 
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
 

Ähnlich wie 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
 

Ähnlich wie 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)
 

Mehr von 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
 

Mehr von 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...
 

Kürzlich hochgeladen

UNIDAD 3 ELECTRODOS.pptx para biopotenciales
UNIDAD 3 ELECTRODOS.pptx para biopotencialesUNIDAD 3 ELECTRODOS.pptx para biopotenciales
UNIDAD 3 ELECTRODOS.pptx para biopotencialesElianaCceresTorrico
 
Clase 7 MECÁNICA DE FLUIDOS 2 INGENIERIA CIVIL
Clase 7 MECÁNICA DE FLUIDOS 2 INGENIERIA CIVILClase 7 MECÁNICA DE FLUIDOS 2 INGENIERIA CIVIL
Clase 7 MECÁNICA DE FLUIDOS 2 INGENIERIA CIVILProblemSolved
 
Principales aportes de la carrera de William Edwards Deming
Principales aportes de la carrera de William Edwards DemingPrincipales aportes de la carrera de William Edwards Deming
Principales aportes de la carrera de William Edwards DemingKevinCabrera96
 
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
 
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
 
Ejemplos de cadenas de Markov - Ejercicios
Ejemplos de cadenas de Markov - EjerciciosEjemplos de cadenas de Markov - Ejercicios
Ejemplos de cadenas de Markov - EjerciciosMARGARITAMARIAFERNAN1
 
CARGAS VIVAS Y CARGAS MUERTASEXPOCI.pptx
CARGAS VIVAS Y CARGAS MUERTASEXPOCI.pptxCARGAS VIVAS Y CARGAS MUERTASEXPOCI.pptx
CARGAS VIVAS Y CARGAS MUERTASEXPOCI.pptxvalenciaespinozadavi1
 
COMPEDIOS ESTADISTICOS DE PERU EN EL 2023
COMPEDIOS ESTADISTICOS DE PERU EN EL 2023COMPEDIOS ESTADISTICOS DE PERU EN EL 2023
COMPEDIOS ESTADISTICOS DE PERU EN EL 2023RonaldoPaucarMontes
 
PPT ELABORARACION DE ADOBES 2023 (1).pdf
PPT ELABORARACION DE ADOBES 2023 (1).pdfPPT ELABORARACION DE ADOBES 2023 (1).pdf
PPT ELABORARACION DE ADOBES 2023 (1).pdfalexquispenieto2
 
clasificasion de vias arteriales , vias locales
clasificasion de vias arteriales , vias localesclasificasion de vias arteriales , vias locales
clasificasion de vias arteriales , vias localesMIGUELANGEL2658
 
PostgreSQL on Kubernetes Using GitOps and ArgoCD
PostgreSQL on Kubernetes Using GitOps and ArgoCDPostgreSQL on Kubernetes Using GitOps and ArgoCD
PostgreSQL on Kubernetes Using GitOps and ArgoCDEdith Puclla
 
MODIFICADO - CAPITULO II DISEÑO SISMORRESISTENTE DE VIGAS Y COLUMNAS.pdf
MODIFICADO - CAPITULO II DISEÑO SISMORRESISTENTE DE VIGAS Y COLUMNAS.pdfMODIFICADO - CAPITULO II DISEÑO SISMORRESISTENTE DE VIGAS Y COLUMNAS.pdf
MODIFICADO - CAPITULO II DISEÑO SISMORRESISTENTE DE VIGAS Y COLUMNAS.pdfvladimirpaucarmontes
 
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
 
Manual_Identificación_Geoformas_140627.pdf
Manual_Identificación_Geoformas_140627.pdfManual_Identificación_Geoformas_140627.pdf
Manual_Identificación_Geoformas_140627.pdfedsonzav8
 
tema05 estabilidad en barras mecanicas.pdf
tema05 estabilidad en barras mecanicas.pdftema05 estabilidad en barras mecanicas.pdf
tema05 estabilidad en barras mecanicas.pdfvictoralejandroayala2
 
desarrollodeproyectoss inge. industrial
desarrollodeproyectoss  inge. industrialdesarrollodeproyectoss  inge. industrial
desarrollodeproyectoss inge. industrialGibranDiaz7
 
CAPITULO 4 ANODIZADO DE ALUMINIO ,OBTENCION Y PROCESO
CAPITULO 4 ANODIZADO DE ALUMINIO ,OBTENCION Y PROCESOCAPITULO 4 ANODIZADO DE ALUMINIO ,OBTENCION Y PROCESO
CAPITULO 4 ANODIZADO DE ALUMINIO ,OBTENCION Y PROCESOLUISDAVIDVIZARRETARA
 
Voladura Controlada Sobrexcavación (como se lleva a cabo una voladura)
Voladura Controlada  Sobrexcavación (como se lleva a cabo una voladura)Voladura Controlada  Sobrexcavación (como se lleva a cabo una voladura)
Voladura Controlada Sobrexcavación (como se lleva a cabo una voladura)ssuser563c56
 
Falla de san andres y el gran cañon : enfoque integral
Falla de san andres y el gran cañon : enfoque integralFalla de san andres y el gran cañon : enfoque integral
Falla de san andres y el gran cañon : enfoque integralsantirangelcor
 
Comite Operativo Ciberseguridad 012020.pptx
Comite Operativo Ciberseguridad 012020.pptxComite Operativo Ciberseguridad 012020.pptx
Comite Operativo Ciberseguridad 012020.pptxClaudiaPerez86192
 

Kürzlich hochgeladen (20)

UNIDAD 3 ELECTRODOS.pptx para biopotenciales
UNIDAD 3 ELECTRODOS.pptx para biopotencialesUNIDAD 3 ELECTRODOS.pptx para biopotenciales
UNIDAD 3 ELECTRODOS.pptx para biopotenciales
 
Clase 7 MECÁNICA DE FLUIDOS 2 INGENIERIA CIVIL
Clase 7 MECÁNICA DE FLUIDOS 2 INGENIERIA CIVILClase 7 MECÁNICA DE FLUIDOS 2 INGENIERIA CIVIL
Clase 7 MECÁNICA DE FLUIDOS 2 INGENIERIA CIVIL
 
Principales aportes de la carrera de William Edwards Deming
Principales aportes de la carrera de William Edwards DemingPrincipales aportes de la carrera de William Edwards Deming
Principales aportes de la carrera de William Edwards Deming
 
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
 
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
 
Ejemplos de cadenas de Markov - Ejercicios
Ejemplos de cadenas de Markov - EjerciciosEjemplos de cadenas de Markov - Ejercicios
Ejemplos de cadenas de Markov - Ejercicios
 
CARGAS VIVAS Y CARGAS MUERTASEXPOCI.pptx
CARGAS VIVAS Y CARGAS MUERTASEXPOCI.pptxCARGAS VIVAS Y CARGAS MUERTASEXPOCI.pptx
CARGAS VIVAS Y CARGAS MUERTASEXPOCI.pptx
 
COMPEDIOS ESTADISTICOS DE PERU EN EL 2023
COMPEDIOS ESTADISTICOS DE PERU EN EL 2023COMPEDIOS ESTADISTICOS DE PERU EN EL 2023
COMPEDIOS ESTADISTICOS DE PERU EN EL 2023
 
PPT ELABORARACION DE ADOBES 2023 (1).pdf
PPT ELABORARACION DE ADOBES 2023 (1).pdfPPT ELABORARACION DE ADOBES 2023 (1).pdf
PPT ELABORARACION DE ADOBES 2023 (1).pdf
 
clasificasion de vias arteriales , vias locales
clasificasion de vias arteriales , vias localesclasificasion de vias arteriales , vias locales
clasificasion de vias arteriales , vias locales
 
PostgreSQL on Kubernetes Using GitOps and ArgoCD
PostgreSQL on Kubernetes Using GitOps and ArgoCDPostgreSQL on Kubernetes Using GitOps and ArgoCD
PostgreSQL on Kubernetes Using GitOps and ArgoCD
 
MODIFICADO - CAPITULO II DISEÑO SISMORRESISTENTE DE VIGAS Y COLUMNAS.pdf
MODIFICADO - CAPITULO II DISEÑO SISMORRESISTENTE DE VIGAS Y COLUMNAS.pdfMODIFICADO - CAPITULO II DISEÑO SISMORRESISTENTE DE VIGAS Y COLUMNAS.pdf
MODIFICADO - CAPITULO II DISEÑO SISMORRESISTENTE DE VIGAS Y COLUMNAS.pdf
 
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
 
Manual_Identificación_Geoformas_140627.pdf
Manual_Identificación_Geoformas_140627.pdfManual_Identificación_Geoformas_140627.pdf
Manual_Identificación_Geoformas_140627.pdf
 
tema05 estabilidad en barras mecanicas.pdf
tema05 estabilidad en barras mecanicas.pdftema05 estabilidad en barras mecanicas.pdf
tema05 estabilidad en barras mecanicas.pdf
 
desarrollodeproyectoss inge. industrial
desarrollodeproyectoss  inge. industrialdesarrollodeproyectoss  inge. industrial
desarrollodeproyectoss inge. industrial
 
CAPITULO 4 ANODIZADO DE ALUMINIO ,OBTENCION Y PROCESO
CAPITULO 4 ANODIZADO DE ALUMINIO ,OBTENCION Y PROCESOCAPITULO 4 ANODIZADO DE ALUMINIO ,OBTENCION Y PROCESO
CAPITULO 4 ANODIZADO DE ALUMINIO ,OBTENCION Y PROCESO
 
Voladura Controlada Sobrexcavación (como se lleva a cabo una voladura)
Voladura Controlada  Sobrexcavación (como se lleva a cabo una voladura)Voladura Controlada  Sobrexcavación (como se lleva a cabo una voladura)
Voladura Controlada Sobrexcavación (como se lleva a cabo una voladura)
 
Falla de san andres y el gran cañon : enfoque integral
Falla de san andres y el gran cañon : enfoque integralFalla de san andres y el gran cañon : enfoque integral
Falla de san andres y el gran cañon : enfoque integral
 
Comite Operativo Ciberseguridad 012020.pptx
Comite Operativo Ciberseguridad 012020.pptxComite Operativo Ciberseguridad 012020.pptx
Comite Operativo Ciberseguridad 012020.pptx
 

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