stringtranslate.com

Problema del camino más corto

Camino más corto (A, C, E, D, F) entre los vértices A y F en el gráfico dirigido ponderado

En teoría de grafos , el problema del camino más corto es el problema de encontrar un camino entre dos vértices (o nodos) en un grafo tal que la suma de los pesos de sus aristas constituyentes se minimice. [1]

El problema de encontrar el camino más corto entre dos intersecciones en un mapa de carreteras puede modelarse como un caso especial del problema del camino más corto en gráficos, donde los vértices corresponden a las intersecciones y los bordes corresponden a los segmentos de la carretera, cada uno ponderado por la longitud o la distancia de cada segmento.

Definición

El problema de la ruta más corta se puede definir para grafos no dirigidos , dirigidos o mixtos . Aquí se define para grafos no dirigidos; para grafos dirigidos, la definición de ruta requiere que los vértices consecutivos estén conectados por una arista dirigida apropiada. [2]

Dos vértices son adyacentes cuando ambos inciden sobre una arista común. Un camino en un grafo no dirigido es una secuencia de vértices tal que es adyacente a para . Este tipo de camino se denomina camino de longitud de a . (Las son variables; su numeración aquí se relaciona con su posición en la secuencia y no necesita relacionarse con ningún etiquetado canónico de los vértices).

Sea donde es la arista incidente tanto a como . Dada una función de peso de valor real y un grafo no dirigido (simple) , la ruta más corta desde hasta es la ruta (donde y ) que, en general, minimiza la suma Cuando cada arista en el grafo tiene peso unitario o , esto es equivalente a encontrar la ruta con menos aristas.

El problema también se denomina a veces problema del camino más corto de un solo par , para distinguirlo de las siguientes variaciones:

Estas generalizaciones tienen algoritmos significativamente más eficientes que el enfoque simplista de ejecutar un algoritmo de ruta más corta de un solo par en todos los pares de vértices relevantes.

Algoritmos

Existen varios algoritmos conocidos para resolver este problema y sus variantes.

Se pueden encontrar algoritmos adicionales y evaluaciones asociadas en Cherkassky, Goldberg y Radzik (1996).

Rutas más cortas de una sola fuente

Grafos no dirigidos

Gráficos no ponderados

Grafos acíclicos dirigidos

Un algoritmo que utiliza ordenamiento topológico puede resolver el problema de la ruta más corta de una sola fuente en el tiempo Θ( E + V ) en gráficos acíclicos dirigidos ponderados arbitrariamente. [3]

Grafos dirigidos con pesos no negativos

La siguiente tabla se ha extraído de Schrijver (2004), con algunas correcciones y añadidos. El fondo verde indica un límite asintóticamente óptimo en la tabla; L es la longitud (o peso) máxima entre todas las aristas, suponiendo que los pesos de las aristas son enteros.

Grafos dirigidos con pesos arbitrarios sin ciclos negativos

Grafos dirigidos con pesos arbitrarios con ciclos negativos

Encuentra un ciclo negativo o calcula distancias a todos los vértices.

Gráficos planares con pesos no negativos

Aplicaciones

Los flujos de red [6] son ​​un concepto fundamental en la teoría de grafos y la investigación de operaciones, que se utilizan a menudo para modelar problemas que involucran el transporte de bienes, líquidos o información a través de una red. Un problema de flujo de red generalmente involucra un grafo dirigido donde cada borde representa una tubería, un cable o una carretera, y cada borde tiene una capacidad, que es la cantidad máxima que puede fluir a través de él. El objetivo es encontrar un flujo factible que maximice el flujo desde un nodo de origen a un nodo de destino.

Los problemas de ruta más corta se pueden utilizar para resolver ciertos problemas de flujo de red, en particular cuando se trata de redes de una sola fuente y un solo receptor. En estos casos, podemos transformar el problema de flujo de red en una serie de problemas de ruta más corta.

Pasos de transformación

[7]

  1. Crear un gráfico de residuos:
    • Para cada borde (u, v) en el gráfico original, crea dos bordes en el gráfico residual:
      • (u, v) con capacidad c(u, v)
      • (v, u) con capacidad 0
    • El gráfico residual representa la capacidad restante disponible en la red.
  2. Encuentra el camino más corto:
    • Utilice un algoritmo de ruta más corta (por ejemplo, el algoritmo de Dijkstra, el algoritmo Bellman-Ford) para encontrar la ruta más corta desde el nodo de origen hasta el nodo sumidero en el gráfico residual.
  3. Aumentar el flujo:
    • Encuentra la capacidad mínima a lo largo del camino más corto.
    • Aumente el flujo en los bordes del camino más corto en esta capacidad mínima.
    • Disminuya la capacidad de los bordes en la dirección hacia adelante y aumente la capacidad de los bordes en la dirección hacia atrás.
  4. Actualizar el gráfico de residuos:
    • Actualice el gráfico residual en función del flujo aumentado.
  5. Repetir:
    • Repita los pasos 2 a 4 hasta que no se puedan encontrar más rutas desde la fuente hasta el receptor.

Caminos más cortos de todos los pares

El problema de la ruta más corta de todos los pares encuentra las rutas más cortas entre cada par de vértices v , v' en el grafo. El problema de las rutas más cortas de todos los pares para grafos dirigidos no ponderados fue introducido por Shimbel (1953), quien observó que se podía resolver mediante un número lineal de multiplicaciones de matrices que toma un tiempo total de O ( V 4 ) .

Grafo no dirigido

Grafo dirigido

Aplicaciones

Los algoritmos de ruta más corta se aplican para encontrar automáticamente direcciones entre ubicaciones físicas, como las indicaciones para llegar en coche en sitios web de mapas web como MapQuest o Google Maps . Para esta aplicación, hay algoritmos rápidos especializados disponibles. [10]

Si se representa una máquina abstracta no determinista como un gráfico en el que los vértices describen estados y las aristas describen posibles transiciones, se pueden utilizar algoritmos de ruta más corta para encontrar una secuencia óptima de opciones para alcanzar un determinado estado objetivo, o para establecer límites inferiores al tiempo necesario para alcanzar un estado dado. Por ejemplo, si los vértices representan los estados de un rompecabezas como el cubo de Rubik y cada arista dirigida corresponde a un único movimiento o giro, se pueden utilizar algoritmos de ruta más corta para encontrar una solución que utilice el mínimo número posible de movimientos.

En una mentalidad de redes o telecomunicaciones , este problema de ruta más corta a veces se denomina problema de ruta de retardo mínimo y generalmente está relacionado con un problema de ruta más ancha . Por ejemplo, el algoritmo puede buscar la ruta más corta (retardo mínimo) y más ancha, o la ruta más corta (retardo mínimo) y más ancha.

Una aplicación más desenfadada son los juegos de " seis grados de separación " que tratan de encontrar el camino más corto en grafos como estrellas de cine que aparecen en una misma película.

Otras aplicaciones, que a menudo se estudian en la investigación de operaciones , incluyen el diseño de plantas e instalaciones, la robótica , el transporte y el diseño VLSI . [11]

Redes de carreteras

Una red de carreteras puede considerarse como un gráfico con pesos positivos. Los nodos representan cruces de carreteras y cada borde del gráfico está asociado con un segmento de carretera entre dos cruces. El peso de un borde puede corresponder a la longitud del segmento de carretera asociado, el tiempo necesario para atravesar el segmento o el costo de atravesar el segmento. Usando bordes dirigidos también es posible modelar calles de un solo sentido. Dichos gráficos son especiales en el sentido de que algunos bordes son más importantes que otros para viajes de larga distancia (por ejemplo, autopistas). Esta propiedad se ha formalizado utilizando la noción de dimensión de autopista. [12] Hay una gran cantidad de algoritmos que explotan esta propiedad y, por lo tanto, pueden calcular la ruta más corta mucho más rápido de lo que sería posible en gráficos generales.

Todos estos algoritmos funcionan en dos fases. En la primera fase, se preprocesa el gráfico sin conocer el nodo de origen o destino. La segunda fase es la fase de consulta. En esta fase, se conocen los nodos de origen y destino. La idea es que la red de carreteras sea estática, por lo que la fase de preprocesamiento se puede realizar una sola vez y utilizar para una gran cantidad de consultas sobre la misma red de carreteras.

El algoritmo con el tiempo de consulta más rápido conocido se llama etiquetado de hub y es capaz de calcular la ruta más corta en las redes de carreteras de Europa o Estados Unidos en una fracción de microsegundo. [13] Otras técnicas que se han utilizado son:

Problemas relacionados

Para problemas de ruta más corta en geometría computacional , consulte Ruta más corta euclidiana .

El camino desconectado múltiple más corto [14] es una representación de la red de caminos primitivos en el marco de la teoría de Reptación . El problema del camino más amplio busca un camino de modo que la etiqueta mínima de cualquier arista sea lo más grande posible.

Otros problemas relacionados pueden clasificarse en las siguientes categorías.

Caminos con restricciones

A diferencia del problema de la ruta más corta, que se puede resolver en tiempo polinomial en grafos sin ciclos negativos, los problemas de la ruta más corta que incluyen restricciones adicionales en la ruta de solución deseada se denominan " primero la ruta más corta restringida" y son más difíciles de resolver. Un ejemplo es el problema de la ruta más corta restringida [15] , que intenta minimizar el costo total de la ruta mientras que al mismo tiempo mantiene otra métrica por debajo de un umbral dado. Esto hace que el problema sea NP-completo (no se cree que tales problemas se puedan resolver de manera eficiente para grandes conjuntos de datos, consulte el problema P = NP ). Otro ejemplo NP-completo requiere que se incluya un conjunto específico de vértices en la ruta [16], lo que hace que el problema sea similar al problema del viajante de comercio (TSP). El TSP es el problema de encontrar la ruta más corta que pase por cada vértice exactamente una vez y regrese al inicio. El problema de encontrar la ruta más larga en un grafo también es NP-completo.

Observabilidad parcial

El problema del viajero canadiense y el problema del camino más corto estocástico son generalizaciones en las que el motor no conoce completamente el gráfico, éste cambia con el tiempo o las acciones (recorridos) son probabilísticas. [17] [18]

Caminos estratégicos más cortos

A veces, los bordes de un grafo tienen personalidades: cada borde tiene su propio interés egoísta. Un ejemplo es una red de comunicación, en la que cada borde es un ordenador que posiblemente pertenece a una persona diferente. Diferentes ordenadores tienen diferentes velocidades de transmisión, por lo que cada borde de la red tiene un peso numérico igual al número de milisegundos que tarda en transmitir un mensaje. Nuestro objetivo es enviar un mensaje entre dos puntos de la red en el menor tiempo posible. Si conocemos el tiempo de transmisión de cada ordenador (el peso de cada borde), podemos utilizar un algoritmo estándar de caminos más cortos. Si no conocemos los tiempos de transmisión, tenemos que pedir a cada ordenador que nos diga su tiempo de transmisión. Pero los ordenadores pueden ser egoístas: un ordenador puede decirnos que su tiempo de transmisión es muy largo, para que no lo molestemos con nuestros mensajes. Una posible solución a este problema es utilizar una variante del mecanismo VCG , que da a los ordenadores un incentivo para revelar sus pesos verdaderos.

Detección de ciclo negativo

En algunos casos, el objetivo principal no es encontrar el camino más corto, sino solo detectar si el gráfico contiene un ciclo negativo. Se pueden utilizar algunos algoritmos de caminos más cortos para este propósito:

Marco algebraico general sobre semianillos: el problema de la trayectoria algebraica

Muchos problemas pueden formularse como una forma de la ruta más corta para algunas nociones de adición adecuadamente sustituidas a lo largo de una ruta y tomando el mínimo. El enfoque general para estos es considerar las dos operaciones como las de un semianillo . La multiplicación del semianillo se realiza a lo largo de la ruta y la adición se realiza entre rutas. Este marco general se conoce como el problema de la ruta algebraica . [20] [21] [22]

La mayoría de los algoritmos clásicos de ruta más corta (y otros nuevos) pueden formularse como solución de sistemas lineales sobre dichas estructuras algebraicas. [23]

Más recientemente, se ha desarrollado un marco aún más general para resolver estos problemas (y otros problemas mucho menos obviamente relacionados) bajo el nombre de álgebras de valoración . [24]

Camino más corto en redes estocásticas dependientes del tiempo

En la vida real, una red de transporte suele ser estocástica y dependiente del tiempo. La duración del viaje en un segmento de carretera depende de muchos factores, como la cantidad de tráfico (matriz origen-destino), las obras en la carretera, el clima, los accidentes y las averías de los vehículos. Un modelo más realista de este tipo de red vial es una red estocástica dependiente del tiempo (STD). [25] [26]

No existe una definición aceptada de la ruta óptima en condiciones de incertidumbre (es decir, en redes viales estocásticas). Es un tema controvertido, a pesar de los considerables avances que se han logrado durante la última década. Una definición común es la de una ruta con el mínimo tiempo de viaje esperado. La principal ventaja de este enfoque es que puede utilizar algoritmos eficientes de ruta más corta para redes deterministas. Sin embargo, la ruta óptima resultante puede no ser confiable, porque este enfoque no aborda la variabilidad del tiempo de viaje.

Para abordar este problema, algunos investigadores utilizan la distribución de la duración del viaje en lugar de su valor esperado. Por lo tanto, encuentran la distribución de probabilidad de la duración total del viaje utilizando diferentes métodos de optimización, como la programación dinámica y el algoritmo de Dijkstra . [27] Estos métodos utilizan la optimización estocástica , específicamente la programación dinámica estocástica para encontrar el camino más corto en redes con longitud de arco probabilística. [28] Los términos confiabilidad del tiempo de viaje y variabilidad del tiempo de viaje se utilizan como opuestos en la literatura de investigación del transporte: cuanto mayor es la variabilidad, menor es la confiabilidad de las predicciones.

Para tener en cuenta la variabilidad, los investigadores han sugerido dos definiciones alternativas de una ruta óptima en condiciones de incertidumbre. La ruta más confiable es aquella que maximiza la probabilidad de llegar a tiempo dado un presupuesto de tiempo de viaje. Una ruta α-confiable es aquella que minimiza el presupuesto de tiempo de viaje necesario para llegar a tiempo con una probabilidad dada.

Véase también

Referencias

Notas

  1. ^ El problema del camino más corto. doi :10.1007/978-3-031-02574-7.
  2. ^ Deo, Narsingh (17 de agosto de 2016). Teoría de grafos con aplicaciones a la ingeniería y la informática. Courier Dover Publications. ISBN 978-0-486-80793-5.
  3. ^ Cormen y otros, 2001, pág. 655
  4. ^ Dürr, Christoph; Heiligman, Mark; Høyer, Peter; Mhalla, Mehdi (enero de 2006). "Complejidad de consulta cuántica de algunos problemas de grafos". Revista SIAM de Computación . 35 (6): 1310–1328. arXiv : quant-ph/0401091 . doi :10.1137/050644719. ISSN  0097-5397. S2CID  14253494.
  5. ^ ab Dial, Robert B. (1969). "Algoritmo 360: Bosque de caminos más cortos con ordenamiento topológico [H]". Comunicaciones de la ACM . 12 (11): 632–633. doi : 10.1145/363269.363610 . S2CID  6754003.
  6. ^ Cormen, Thomas H. (31 de julio de 2009). Introducción a los algoritmos (3.ª ed.). MIT Press. ISBN 9780262533058.{{cite book}}: CS1 maint: date and year (link)
  7. ^ Kleinberg, Jon; Tardos, Éva (2005). Diseño de algoritmos (1ª ed.). Addison-Wesley. ISBN 978-0321295354.
  8. ^ Dürr, C.; Høyer, P. (18 de julio de 1996). "Un algoritmo cuántico para hallar el mínimo". arXiv : quant-ph/9607014 .
  9. ^ Nayebi, Aran; Williams, VV (22 de octubre de 2014). "Algoritmos cuánticos para problemas de caminos más cortos en instancias estructuradas". arXiv : 1410.6220 [quant-ph].
  10. ^ Sanders, Peter (23 de marzo de 2009). «Planificación rápida de rutas». Google Tech Talk . Archivado desde el original el 11 de diciembre de 2021.
  11. ^ Chen, Danny Z. (diciembre de 1996). "Desarrollo de algoritmos y software para problemas de planificación de trayectorias geométricas". ACM Computing Surveys . 28 (4es). Artículo 18. doi :10.1145/242224.242246. S2CID  11761485.
  12. ^ Abraham, Ittai; Fiat, Amos; Goldberg, Andrew V .; Werneck, Renato F. "Dimensión de la autopista, caminos más cortos y algoritmos demostrablemente eficientes". Simposio ACM-SIAM sobre algoritmos discretos, páginas 782–793, 2010.
  13. ^ Abraham, Ittai; Delling, Daniel; Goldberg, Andrew V .; Werneck, Renato F. research.microsoft.com/pubs/142356/HL-TR.pdf "Un algoritmo de etiquetado basado en concentradores para las rutas más cortas en redes viales". Simposio sobre algoritmos experimentales, páginas 230-241, 2011.
  14. ^ Kroger, Martin (2005). "Camino desconectado múltiple más corto para el análisis de entrelazamientos en sistemas poliméricos bidimensionales y tridimensionales". Computer Physics Communications . 168 (3): 209–232. Bibcode :2005CoPhC.168..209K. doi :10.1016/j.cpc.2005.01.020.
  15. ^ Lozano, Leonardo; Medaglia, Andrés L (2013). "Sobre un método exacto para el problema del camino más corto restringido". Computers & Operations Research . 40 (1): 378–384. doi :10.1016/j.cor.2012.07.008.
  16. ^ Osanlou, Kevin; Bursuc, Andrei; Guettier, Christophe; Cazenave, Tristan; Jacopin, Eric (2019). "Resolución óptima de problemas de planificación de rutas restringidas con redes convolucionales de grafos y búsqueda de árboles optimizada". Conferencia internacional IEEE/RSJ de 2019 sobre robots y sistemas inteligentes (IROS) . págs. 3519–3525. arXiv : 2108.01036 . doi :10.1109/IROS40897.2019.8968113. ISBN . 978-1-7281-4004-9.S2CID210706773  .​
  17. ^ Bar-Noy, Amotz; Schieber, Baruch (1991). "El problema del viajero canadiense". Actas del segundo simposio anual ACM-SIAM sobre algoritmos discretos : 261–270. CiteSeerX 10.1.1.1088.3015 . 
  18. ^ Nikolova, Evdokia; Karger, David R. "Planificación de rutas en condiciones de incertidumbre: el problema del viajero canadiense" (PDF) . Actas de la 23.ª Conferencia Nacional sobre Inteligencia Artificial (AAAI) . págs. 969–974. Archivado (PDF) desde el original el 9 de octubre de 2022.
  19. ^ Cherkassky, Boris V.; Goldberg, Andrew V. (1 de junio de 1999). "Algoritmos de detección de ciclos negativos". Programación matemática . 85 (2): 277–311. doi :10.1007/s101070050058. ISSN  1436-4646. S2CID  79739.
  20. ^ Pareja, Claude (1967). "Sur des algoritmos pour des problèmes de cheminement dans les graphes finis" [Sobre algoritmos para problemas de caminos en gráficos finitos]. En Rosentiehl, Pierre (ed.). Théorie des graphes (journées internationales d'études) [Teoría de los grafos (simposio internacional)] . Roma (Italia), julio de 1966. Dunod (París); Gordon y Breach (Nueva York). pag. 271. OCLC  901424694.
  21. ^ Derniame, Jean Claude; Par, Claude (1971). Problèmes de cheminement dans les graphes [ Problemas de trayectoria en gráficos ]. Dunod (París).
  22. ^ Baras, John; Theodorakopoulos, George (4 de abril de 2010). Problemas de trayectorias en redes. Morgan & Claypool Publishers. pp. 9–. ISBN 978-1-59829-924-3.
  23. ^ Gondran, Michel; Minoux, Michel (2008). "capítulo 4". Grafos, dioides y semianillos: nuevos modelos y algoritmos . Springer Science & Business Media. ISBN 978-0-387-75450-5.
  24. ^ Pouly, Marc; Kohlas, Jürg (2011). "Capítulo 6. Álgebras de valoración para problemas de trayectorias". Inferencia genérica: una teoría unificadora para el razonamiento automatizado . John Wiley & Sons. ISBN 978-1-118-01086-0.
  25. ^ Loui, RP, 1983. Caminos óptimos en gráficos con pesos estocásticos o multidimensionales. Comunicaciones de la ACM, 26(9), pp.670-676.
  26. ^ Rajabi-Bahaabadi, Mojtaba; Shariat-Mohaymany, Afshin; Babaei, Mohsen; Ahn, Chang Wook (2015). "Búsqueda de rutas multiobjetivo en redes viales estocásticas dependientes del tiempo utilizando un algoritmo genético de ordenación no dominada". Sistemas expertos con aplicaciones . 42 (12): 5056–5064. doi :10.1016/j.eswa.2015.02.046.
  27. ^ Olya, Mohammad Hessam (2014). "Encontrar el camino más corto en una distribución de probabilidad exponencial-gamma combinada". Revista Internacional de Investigación Operativa . 21 (1): 25–37. doi :10.1504/IJOR.2014.064020.
  28. ^ Olya, Mohammad Hessam (2014). "Aplicación del algoritmo de Dijkstra para el problema general de la ruta más corta con una distribución de probabilidad normal". Revista Internacional de Investigación Operativa . 21 (2): 143–154. doi :10.1504/IJOR.2014.064541.

Bibliografía

Lectura adicional