Vous êtes sur la page 1sur 3

ALGEBRA UNIVERSAL

ALGORITMO DE ORDENAMIENTO TOPOLOGICO



1. Concepto

Los dgrafos son usados generalmente en muchas aplicaciones para indicar la
precedencia de eventos, el ordenamiento topolgico devuelve la posible secuencia
valida en la deben realizarse dichos eventos

Un orden topolgico de un dgrafo G es un orden lineal de todos los vrtices, tales
que si G contiene un arco (u, v) entonces u aparece antes de v en el ordenamiento

Grficamente se trata de poner todos los nodos en una lnea de manera que solo
haya arcos hacia adelante

En otras palabras el objetivo del ordenamiento topolgico (topological sorting) es el
de ser capaz de procesar los nodos de un dgrafo a cclico (DAG grafo directo
aciclico) de tal forma de que cada nodo sea procesado antes que todos los nodos a
los que apunta.

Una forma de encontrar un ordenamiento topolgico es examinando todos los nodos
del dgrafo y aquellos nodos que no tengan aristas incidentes sobre ellos son
eliminados del grafo e introducidos en una cola (o lista), se repite este proceso hasta
que no queden nodos en el grafo

Hay dos maneras naturales de definir esta operacin bsica, aunque son
esencialmente la misma:

Reetiquetado: dado un grafo directo aciclico, reetiquetar sus nodos de tal
forma que cada arista dirigida vaya de un nodo con un identificador bajo en
nmero a un nodo con un identificador cuyo identificador sea mayor

Reposicionado: dado un grafo directo aciclico, reposicionar sus nodos en una
lnea horizontal de tal forma de que todas sus aristas dirigidas apunte de
izquierda a derecha

Por lo general, se usa el trmino de ordenamiento topolgico para referirse a la
versin de reposicionado

2. Implementacin

Calculamos el grado de entrada de cada vrtice

Cuando "borramos" una arista, lo que hacemos en realidad es restar una unidad al
grado de entrada de los vrtices destino

Metemos en una cola todos los vrtices no procesados de grado de entrada cero

Sacamos los vrtices del dgrafo original y "borramos sus aristas"
ALGEBRA UNIVERSAL


Este procedimiento se hace para todas las dems aristas
3. Algoritmo


L Lista vaca que contendr luego los elementos ordenados.
S Conjunto de todos los nodos sin aristas entrantes.

MIENTRAS [S no es vaco]:
n nodo extrado de S
insertar n en L

PARA CADA [nodo m con arista e de n a m]:
e arista extrada del grafo

SI [m no tiene ms aristas entrantes]:
insertar m en S

SI [el grafo tiene ms aristas]:
error: el grafo tiene al menos un ciclo

SINO:
RETORNAR L


4. Ejemplo

Dado el siguiente dgrafo:














Se escoge un vrtice que no tenga lados incidentes (menor grado de entradas) y
se coloca en una lista, en este caso escogemos el vrtice 1 y lo eliminamos del
grafo. (al eliminar este vrtice, se eliminan todos los lados que salen del vrtice) y
se va guardando ese valor en una cola



2
1 3
4 5
ALGEBRA UNIVERSAL














Del grafo resultante, se escoge un vrtice que no tenga lados incidentes en el, en
este caso escogemos el vrtice 3, se quita del grafo y se coloca en la cola














De nuevo se hace lo mismo con el grafo resultante, se escoge un vrtice que no
tenga lados incidentes en el, se quita del grafo y se coloca en la cola, en este caso
escogemos el vrtice 2






Ahora solo quedan los vrtices 4 y 5 de los cuales se escoge el vrtice 4 ya que
no tiene lados incidentes en l y se coloca en la cola y a continuacin el vrtice 5,
finalmente el orden topolgico queda:





cola
1
cola
1 3
cola
1 3 2
cola
1 3 2 4 5
2
3
4 5
2
4 5
4 5

Vous aimerez peut-être aussi