Предположим, у нас есть неориентированный взвешенный граф (с неотрицательными весами). Предположим, что все кратчайшие пути в единственны. Предположим, у нас есть эти пути (последовательности невзвешенных ребер), но мы не знаем саму G. Можем ли мы создать G , который дал бы эти пути как самые короткие за полиномиальное время? Более слабая версия: можем ли мы решить за полиномиальное время, существует ли такая G ? Г
Очевидным необходимым условием является следующее: для каждой пары путей их пересечение также является путем. Достаточно ли этого условия?
Ответы:
Я просто наткнулся на этот старый вопрос, когда проводил тщательный поиск, и я случайно получил ответы в этой статье, которыми я мог бы также поделиться. Я надеюсь, что сочетание некромантии нити и саморекламы простительно.
Ответ - да обоим. Алгоритм Мухаммеда определенно работает, но есть более быстрый и более прямой метод, который устраняет необходимость запуска кубических разделительных оракулов. Пусть вспомогательный неориентированный взвешенный граф, где вес каждого ребра является целым числом, указывающим, сколько из пути, взятых на входе, содержат это ребро. Теперь рассмотрим экземпляр мультикомодового потока с граничной емкостью над (интерпретируя граничные веса как емкости), в котором цель состоит в том, чтобы одновременно протолкнуть 1 единицу потока между каждой парой узлов. Очевидно, что этот экземпляр потока MC может быть удовлетворен путем проталкивания потока естественным образом вдоль путей, указанных на входе. Оказывается, можно доказать, что нашe ∈ E ( nH=(V,E,w′) e∈E H ( n(n2) H GG(n2) пути являются уникальными кратчайшими путями в некотором тогда и только тогда, когда это единственный способ удовлетворить экземпляр потока MC. Мы можем проверить уникальность, установив LP, чьи ограничения являются обычными для технико-экономического обоснования потока MC, плюс определенную тщательно выбранную целевую функцию, и веса ребер удовлетворяющего могут быть извлечены из двойственного этого LP.G G
Это условие иногда называют «согласованностью» (набор путей непротиворечив, если пересечение любых двух является подпутем каждого). Из вышесказанного следует, что согласованности недостаточно. Один из двух контрпримеров для наименьшего числа является следующей системой с четырьмя путями с цветовой кодировкой на шести узлах:
Другими словами, нет способа присвоить веса 8 ребрам, изображенным здесь, чтобы все эти четыре пути были одновременно уникальным кратчайшим путем между их конечными точками. Тем не менее, любая пара из них пересекается только на одном узле, поэтому они согласованы (даже если мы правильно заполним их несколькими дополнительными путями, чтобы всего). Существует бесконечно много контрпримеров, подобных этому; см. статью для характеристики.(n2)
Три других быстрых комментария обо всем этом:
источник
Вы можете написать проблему как LP, не так ли? Для любых двух вершин u, v и любого пути P от u до v вес P больше или равен весу данного кратчайшего пути между u и v. Это все линейные неравенства, и хотя существуют экспоненциально много, проблема разделения находится в P (это просто проблема кратчайшего пути из всех пар). Таким образом, вы можете использовать алгоритм эллипсоида для его решения.
источник