Recuperación de información para respuesta a preguntas en ...
Recuperación de información para respuesta a preguntas en ...
Recuperación de información para respuesta a preguntas en ...
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
Figura 9. Grafo: a) conexo, b) inconexo.<br />
Nótese que la <strong>de</strong>finición <strong>de</strong> trayectoria permite repeticiones <strong>de</strong> vértices o aristas o ambos.<br />
Se pue<strong>de</strong>n obt<strong>en</strong>er otras clases <strong>de</strong> trayectorias imponi<strong>en</strong>do restricciones sobre los nodos y/o<br />
vértices. Por ejemplo, sean v y w vértices <strong>en</strong> un grafo G, <strong>en</strong>tonces:<br />
Una trayectoria simple <strong>de</strong> v a w es una ruta <strong>de</strong> v a w sin vértices repetidos.<br />
Exist<strong>en</strong> algunos problemas <strong>para</strong> los cuales es útil <strong>de</strong>terminar la ruta más corta <strong>en</strong>tre un par<br />
<strong>de</strong> vértices <strong>en</strong> un grafo pon<strong>de</strong>rado. A continuación se muestra un algoritmo que <strong>en</strong>cu<strong>en</strong>tra<br />
la ruta más corta <strong>en</strong>tre dos vértices <strong>de</strong> un grafo pon<strong>de</strong>rado conexo.<br />
Algoritmo <strong>de</strong> Dijkstra<br />
El algoritmo <strong>de</strong> Dijkstra consiste básicam<strong>en</strong>te <strong>en</strong> asignar etiquetas temporales a los nodos.<br />
Sea L(v) la etiqueta <strong>de</strong>l vértice v.<br />
En cualquier paso <strong>de</strong>l algoritmo, algunos vértices pose<strong>en</strong> etiquetas temporales y el resto son<br />
perman<strong>en</strong>tes. Al inicio, todos los vértices ti<strong>en</strong><strong>en</strong> etiquetas temporales. En cada iteración <strong>de</strong>l<br />
algoritmo el estado <strong>de</strong> una <strong>de</strong> las etiquetas temporales cambia a perman<strong>en</strong>te, así el<br />
algoritmo termina cuando z recibe una etiqueta perman<strong>en</strong>te. En este punto L(v) proporciona<br />
la longitud <strong>de</strong> la ruta más corta <strong>de</strong> a a z.<br />
Algoritmo <strong>de</strong> la ruta más corta <strong>de</strong> Dijkstra.<br />
Este algoritmo <strong>en</strong>cu<strong>en</strong>tra la longitud <strong>de</strong> una ruta más corta <strong>de</strong>l vértice a al vértice z <strong>en</strong> un<br />
grafo pon<strong>de</strong>rado conexo. El peso <strong>de</strong> la arista (i, j) es w(i, j) > 0, y la etiqueta <strong>de</strong>l vértice x es<br />
L(x). Al terminar, L(z) es la longitud <strong>de</strong> la ruta más corta <strong>de</strong> a a z.<br />
Entrada: Un grafo G pon<strong>de</strong>rado conexo <strong>en</strong> el que todos los pesos son positivos, conjunto <strong>de</strong><br />
vértices <strong>de</strong> a a z.<br />
Salida: L(z), la longitud <strong>de</strong> la ruta más corta <strong>de</strong> a a z.<br />
30