Supongamos que tenemos un gráfico ponderado no dirigido (con pesos no negativos). Supongamos que todos los caminos más cortos en son únicos. Supongamos que tenemos estos \ binom {n} {2} caminos (secuencias de bordes no ponderados), pero no conocemos G en sí. ¿Podemos producir cualquier G que hubiera dado estos caminos como los más cortos en tiempo polinómico? La versión más débil: ¿podemos decidir en tiempo polinómico si tal G existe?G GGG
La condición obvia necesaria es la siguiente: para cada par de caminos, su intersección también es un camino. ¿Es esta condición suficiente?
Respuestas:
Me topé con esta vieja pregunta mientras realizaba una búsqueda iluminada, y resultó que recientemente recibí respuestas en este documento que también podría compartir. Espero que la combinación de nigromancia de hilos y autopromoción sea perdonable.
La respuesta es sí a ambos. El algoritmo de Mohammad definitivamente funciona, pero hay un método más rápido y directo que evita la necesidad de ejecutar oráculos de separación cúbica. Sea un gráfico ponderado auxiliar no dirigido, donde el peso de cada borde es un número entero que indica cuántas de las rutas tomadas en la entrada contienen ese borde. Ahora, considere la instancia de flujo multicommodity capacitado en borde sobre (interpretando los pesos de borde como capacidades) en el que el objetivo es empujar simultáneamente 1 unidad de flujo entre cada par de nodos. Obviamente, esta instancia de flujo MC puede satisfacerse presionando el flujo de forma natural a lo largo de los caminos dados en la entrada. Resulta que uno puede probar que nuestroe ∈ E ( nH=(V,E,w′) e∈E H ( n(n2) H GG(n2) las rutas son rutas más cortas únicas en algunos si y solo si esta es la forma única de satisfacer la instancia de flujo de MC. Podemos probar la unicidad configurando un LP cuyas restricciones son las habituales para la viabilidad del flujo de MC más una determinada función objetivo cuidadosamente elegida, y los pesos de borde de un satisfactorio se pueden extraer del dual de este LP.G G
Esta condición a veces se llama "consistencia" (un conjunto de rutas es consistente si la intersección de dos es una subruta de cada una). De lo anterior se deduce que la consistencia no es suficiente. Uno de los dos contraejemplos más pequeños es el siguiente sistema codificado por colores de cuatro rutas en seis nodos:
En otras palabras, no hay forma de asignar pesos a los 8 bordes representados aquí, de modo que todas estas cuatro rutas sean simultáneamente la ruta más corta única entre sus puntos finales. Sin embargo, cualquier par de ellos se cruzan en un solo nodo, por lo que son consistentes (incluso si los completamos con algunas rutas adicionales de la manera correcta para que en total). Hay infinitos contraejemplos como este; Ver el artículo para una caracterización.(n2)
Otros tres comentarios rápidos sobre todo esto:
fuente
Puedes escribir el problema como un LP, ¿no? Para cualquiera de los dos vértices u, v, y cualquier ruta P de u a v, el peso de P es mayor o igual al peso de la ruta más corta dada entre u y v. Estas son todas desigualdades lineales, y aunque hay exponencialmente muchos, el problema de separación está en P (es solo un problema de ruta más corta de todos los pares). Por lo tanto, puede usar el algoritmo elipsoide para resolverlo.
fuente