20.06.2013 Views

Acceso al documento en PDF - Biblioteca Nacional de Maestros

Acceso al documento en PDF - Biblioteca Nacional de Maestros

Acceso al documento en PDF - Biblioteca Nacional de Maestros

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Un ciclo es un camino que comi<strong>en</strong>za y termina <strong>en</strong> el mismo nodo. De Igu<strong>al</strong> modo que los<br />

caminos, los ciclos pued<strong>en</strong> ser ori<strong>en</strong>tados o no.<br />

Un recorrido (tour) es un ciclo que incluye todos los vértices <strong>de</strong> un grafo.<br />

3.2. Mo<strong>de</strong>lo propuesto.<br />

A los efectos <strong>de</strong> <strong>de</strong>finir rigurosam<strong>en</strong>te la ruta óptima <strong>en</strong>tre dos puntos cu<strong>al</strong>esquiera <strong>de</strong>l mapa <strong>de</strong> la<br />

ciudad <strong>de</strong> Bahía Blanca se ha implem<strong>en</strong>tado un <strong>al</strong>goritmo típico para los casos don<strong>de</strong> el nodo orig<strong>en</strong> y el<br />

<strong>de</strong>stino son únicos y difer<strong>en</strong>tes d<strong>en</strong>ominado <strong>al</strong>goritmo <strong>de</strong> Dijkstra d<strong>en</strong>tro <strong>de</strong> un Sistema <strong>de</strong> Información<br />

Geográfica (SIG), qui<strong>en</strong> es el <strong>en</strong>cargado <strong>de</strong> suministrar <strong>al</strong> <strong>al</strong>goritmo la información necesaria para los cálculos.<br />

La implem<strong>en</strong>tación se re<strong>al</strong>iza <strong>de</strong> manera t<strong>al</strong> que contempla las sigui<strong>en</strong>tes restricciones <strong>de</strong> tránsito:<br />

a) s<strong>en</strong>tido <strong>de</strong> circulación re<strong>al</strong> <strong>de</strong> las c<strong>al</strong>les y av<strong>en</strong>idas.<br />

b) giros permitidos acor<strong>de</strong> con la semaforización <strong>de</strong> la ciudad.<br />

3.2.1. El <strong>al</strong>goritmo <strong>de</strong> Dijkstra. Descripción<br />

Se consi<strong>de</strong>ra <strong>en</strong> esta sección, una red ori<strong>en</strong>tada <strong>en</strong> la que cada arco ti<strong>en</strong>e un peso no negativo<br />

(Wij) y don<strong>de</strong> un vértice se especifica como nodo orig<strong>en</strong>, El peso asignado a cada arco pue<strong>de</strong> ser un v<strong>al</strong>or <strong>de</strong><br />

distancia, tiempo <strong>de</strong> viaje, costo, consumo <strong>de</strong> combustible o cu<strong>al</strong>quier otro atributo. El problema, consiste <strong>en</strong><br />

<strong>en</strong>contrar el camino más corto <strong>de</strong>l orig<strong>en</strong> a cu<strong>al</strong>quiera <strong>de</strong> los nodos <strong>de</strong> la red, don<strong>de</strong> la longitud <strong>de</strong>l camino es<br />

la suma <strong>de</strong> los pesos <strong>de</strong> los arcos que integran ese camino.<br />

Este <strong>al</strong>goritmo, conocido también como <strong>al</strong>goritmo <strong>de</strong> /as etiquetas, permite <strong>en</strong>contrar el camino<br />

más corto <strong>en</strong>tre un <strong>de</strong>terminado nodo orig<strong>en</strong> s y un nodo <strong>de</strong>stino t o <strong>de</strong>terminar el camino más corto <strong>en</strong>tre el<br />

nodo orig<strong>en</strong> y todos los restantes nodos <strong>de</strong> la red.<br />

Correspon<strong>de</strong> <strong>al</strong> tipo <strong>de</strong> <strong>al</strong>goritmos conocidos como ávidos (greedy), pues siempre escoge el<br />

Vértice más cercano <strong>al</strong> orig<strong>en</strong> <strong>de</strong> <strong>en</strong>tre aquellos cuyo camino más corto todavía se <strong>de</strong>sconoce (t<strong>en</strong>i<strong>en</strong>do<br />

Pres<strong>en</strong>te que se trabaja con pesos no negativos <strong>en</strong> los arcos).<br />

Se comi<strong>en</strong>za asignando una etiqueta perman<strong>en</strong>te 0 <strong>al</strong> nodo orig<strong>en</strong> s (pues cero es la distancia <strong>de</strong><br />

S a sí mismo). A todos Ios otros nodos se les asigna etiqueta temporaria (distancia infinita), pues aún no han<br />

sido <strong>al</strong>canzados.<br />

Luego se etiqueta cada nodo v (sucesor inmediato) conectado directam<strong>en</strong>te con el nodo orig<strong>en</strong> s<br />

Con rótulos temporarios <strong>en</strong> los que se indica el peso <strong>de</strong>l arco (s,v). De <strong>en</strong>tre todos los sucesores inmediatos <strong>de</strong><br />

S, el vértice con la etiqueta temporaria <strong>de</strong> m<strong>en</strong>or v<strong>al</strong>or (llámese x), es el nodo más cercano a s. como todos<br />

IOS arcos ti<strong>en</strong><strong>en</strong> pesos no negativos, no pue<strong>de</strong> existir un camino más corto <strong>de</strong> s a x, <strong>en</strong>tonces la etiqueta <strong>de</strong>l<br />

Vértice x se convierte <strong>en</strong> perman<strong>en</strong>te.<br />

A continuación se buscan los vértices conectados directam<strong>en</strong>te <strong>al</strong> nodo x y se reduc<strong>en</strong> los<br />

v<strong>al</strong>ores <strong>de</strong> sus etiquetas temporarias si el camino <strong>de</strong>s<strong>de</strong> s a cu<strong>al</strong>quiera <strong>de</strong> ellos es más corto pasando por x<br />

que sin pasar por x. Ahora, <strong>de</strong> todos esos nodos con etiqueta temporaria, se escoge aquél con m<strong>en</strong>or v<strong>al</strong>or <strong>de</strong><br />

distancia (llámese y), y se convierte su etiqueta <strong>en</strong> perman<strong>en</strong>te. Este nodo es el segundo nodo más próximo <strong>al</strong><br />

nodo orig<strong>en</strong> s.<br />

Así, <strong>en</strong> cada iteración, se reduc<strong>en</strong> los v<strong>al</strong>ores <strong>de</strong> etiquetas temporarias cuando sea posible<br />

(seleccionando un camino más corto a través <strong>de</strong>l nodo más reci<strong>en</strong>tem<strong>en</strong>te etiquetado <strong>en</strong> forma perman<strong>en</strong>te),<br />

Se Selecciona aquél nodo con etiqueta temporaria <strong>de</strong> m<strong>en</strong>or v<strong>al</strong>or y se le asigna etiqueta perman<strong>en</strong>te: Se<br />

continúa <strong>de</strong> este modo hasta que el nodo <strong>de</strong>stino t adquiere etiqueta perman<strong>en</strong>te.<br />

A fin <strong>de</strong> distinguir los nodos etiquetados <strong>en</strong> forma perman<strong>en</strong>te, <strong>de</strong> aquellos con etiqueta<br />

temporaria, se ‘utiliza un vector <strong>de</strong> Boole, S[v], <strong>de</strong> ord<strong>en</strong> n. Cuando el i-ésimo nodo adquiere etiqueta<br />

perman<strong>en</strong>te, el í-ésimo elem<strong>en</strong>to <strong>de</strong> este vector cambia <strong>de</strong> f<strong>al</strong>so a verda<strong>de</strong>ro. Se utiliza un arreglo D[v] <strong>de</strong><br />

Ord<strong>en</strong> n para <strong>al</strong>mac<strong>en</strong>ar el v<strong>al</strong>or <strong>de</strong> las etiquetas <strong>de</strong> los nodos. Se utiliza otro arreglo P[v] que <strong>al</strong>mac<strong>en</strong>a el<br />

246<br />

5

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!