Ordenamiento topológico
Definición
Dado un grafo dirigido con vértices, un ordenamiento topológico es una permutación lineal de sus nodos:
tal que para toda arista dirigida , el nodo origen aparece estrictamente antes que el nodo destino en la secuencia; es decir:
Si se dibujan todos los vértices en una línea horizontal siguiendo este orden, todas las aristas apuntan hacia adelante (de izquierda a derecha), sin aristas de retroceso.
Teorema fundamental de equivalencia
Teorema de Existencia
Un grafo dirigido tiene un ordenamiento topológico si y solo si es una gráfica dirigida acíclica (DAG).
Demostración:
-
(Si tiene orden topológico, entonces es DAG):
- Demostración por contradicción: Supongamos que tiene un orden topológico y que al mismo tiempo contiene un ciclo dirigido .
- Sea el nodo del ciclo que tiene el índice mínimo en el orden topológico.
- Sea el nodo inmediatamente anterior a en el ciclo . Por tanto, .
- Como tenía el índice mínimo en , se cumple que .
- Pero como y la secuencia es un orden topológico, por definición debe cumplirse , lo cual es una contradicción.
- Por tanto, no puede contener ciclos dirigidos.
-
(Si es DAG, entonces tiene orden topológico):
- Demostración constructiva por inducción en :
- Caso base (): Un único nodo es trivialmente un orden topológico.
- Paso inductivo (): Por el lema de la fuente, tiene al menos un nodo con .
- Al eliminar de , la subgráfica sigue siendo un DAG (eliminar nodos no crea ciclos) con nodos.
- Por hipótesis de inducción, tiene un orden topológico.
- Colocamos a en la primera posición y a continuación la secuencia de . Como no tenía aristas de entrada, ninguna arista de apunta hacia atrás a , produciendo un orden topológico válido para todo .
- Demostración constructiva por inducción en :
flowchart LR v1((v1)) --> v2((v2)) v1 --> v3((v3)) v2 --> v4((v4)) v3 --> v4 v4 --> v5((v5))
Orden lineal: (todas las dependencias van de izquierda a derecha).
Propiedades adicionales
- Un DAG puede tener múltiples órdenes topológicos válidos distintos (por ejemplo, cualquier orden entre tareas independientes es admisible).
- Un orden topológico es único si y solo si el DAG contiene un camino hamiltoniano dirigido (un camino que visita todos los vértices).
Relaciones
- Solo existe en un: Grafo dirigido acíclico (DAG).
- Se calcula eficientemente mediante el: Algoritmo de ordenamiento topológico (Kahn).
- Determina el orden de cálculo en: Programación dinámica sobre DAGs.
Procedencia
- Clase: Clase del 10 de septiembre de 2026.
- Fuente: Kleinberg & Tardos, Algorithm Design, Sección 3.6.