Jump to content

Задача о самом длинном пути

В теории графов и теоретической информатике задача о самом длинном пути это проблема поиска простого пути максимальной длины в заданном графе . Путь называется простым , если он не имеет повторяющихся вершин ; Длина пути может измеряться либо количеством ребер, либо (во взвешенных графах ) суммой весов его ребер. В отличие от задачи о кратчайшем пути , которую можно решить за полиномиальное время в графах без циклов с отрицательным весом, задача о самом длинном пути является NP-трудной , а версия проблемы, которая спрашивает, существует ли путь хотя бы из некоторых заданных длина, является NP-полной . Это означает, что проблема принятия решения не может быть решена за полиномиальное время для произвольных графов, если только P = NP . Известны также более сильные результаты по твердости, показывающие, что их трудно аппроксимировать . Однако он имеет решение с линейным временем для ориентированных ациклических графов , что имеет важные применения при поиске критического пути в задачах планирования.

NP-твердость [ править ]

NP-трудность невзвешенной задачи о наибольшем пути можно показать, используя сокращение проблемы гамильтонова пути : граф G имеет гамильтонов путь тогда и только тогда, когда его самый длинный путь имеет длину n - 1, где n - количество вершин в Г . Поскольку гамильтонова задача о пути является NP-полной, это сокращение показывает, что версия решения задачи о самом длинном пути также является NP-полной. В этой задаче решения входными данными являются граф G и число k ; желаемый результат — да, если G содержит путь из k или более ребер, и нет в противном случае. [1]

Если бы задача о самом длинном пути могла быть решена за полиномиальное время, ее можно было бы использовать для решения этой проблемы решения, найдя самый длинный путь и затем сравнив его длину с числом k . Следовательно, задача о самом длинном пути является NP-трудной. Вопрос «существует ли в данном графе простой путь с хотя бы k ребрами» является NP-полным. [2]

Во взвешенных полных графах с неотрицательными весами ребер задача о взвешенном самом длинном пути такая же, как и задача о пути коммивояжера , поскольку самый длинный путь всегда включает в себя все вершины. [3]

Ациклические графики [ править ]

Самый длинный путь между двумя заданными вершинами s и t во взвешенном графе G — это то же самое, что кратчайший путь в графе — G, полученный из G путем замены каждого веса на его отрицание. Следовательно, если кратчайшие пути можно найти в −G , самые длинные пути можно найти и в G. то и [4]

Для большинства графов это преобразование бесполезно, поскольку оно создает циклы отрицательной длины в G. — Но если G ориентированный ациклический граф (DAG), то отрицательные циклы не могут быть созданы, и самый длинный путь в G можно найти за линейное время , применив алгоритм линейного времени для поиска кратчайших путей в — G , который также является направленным ациклический граф. [4] Для DAG самый длинный путь от исходной вершины ко всем остальным вершинам можно получить, алгоритм кратчайшего пути на — G. запустив

Аналогично, для каждой вершины v в данном DAG длина самого длинного пути, заканчивающегося в v, может быть получена с помощью следующих шагов:

  1. Найдите топологическое упорядочение данного DAG.
  2. Для каждой вершины v группы DAG в топологическом порядке вычислите длину самого длинного пути, заканчивающегося в v, просматривая ее входящих соседей и добавляя единицу к максимальной длине, записанной для этих соседей. Если у v нет входящих соседей, установите длину самого длинного пути, заканчивающегося на v, равной нулю. В любом случае запишите это число, чтобы последующие этапы алгоритма могли получить к нему доступ.

Как только это будет сделано, самый длинный путь во всем DAG может быть получен, начиная с вершины v с наибольшим записанным значением, затем многократно возвращаясь к ее входящему соседу с наибольшим записанным значением и обращая последовательность вершин, найденных в Сюда.

эквивалентно запуску алгоритма кратчайшего пути на — G. Это

Критические пути [ править ]

Метод критического пути для планирования набора действий предполагает построение ориентированного ациклического графа, в котором вершины представляют вехи проекта, а ребра представляют действия, которые должны быть выполнены после одной вехи и перед другой; каждое ребро взвешивается по оценке количества времени, которое потребуется для завершения соответствующего действия. В таком графе самый длинный путь от первой вехи до последней является критическим путем, который описывает общее время завершения проекта. [4]

Самые длинные пути ориентированных ациклических графов также могут применяться при рисовании многоуровневых графов : присвоение каждой вершины v ориентированного ациклического графа G слою, номер которого равен длине самого длинного пути, заканчивающегося на v, приводит к назначению слоя для G с минимальным возможное количество слоев. [5]

Приближение [ править ]

Бьорклунд, Хусфельдт и Ханна (2004) пишут, что задача о самом длинном пути в невзвешенных неориентированных графах «печально известна трудностью понимания сложности ее аппроксимации». [6] Лучший алгоритм аппроксимации с полиномиальным временем, известный для этого случая, обеспечивает лишь очень слабую степень аппроксимации: . [7] Для всех , невозможно аппроксимировать самый длинный путь с точностью до коэффициента если только NP не содержится в квазиполиномиальном детерминированном времени ; однако существует большой разрыв между этим результатом о неаппроксимируемости и известными алгоритмами аппроксимации этой задачи. [8]

В случае невзвешенных, но ориентированных графов известны сильные результаты о неаппроксимируемости. Для каждого задача не может быть аппроксимирована с точностью до фактора если только P = NP и при более строгих предположениях теории сложности его нельзя аппроксимировать с точностью до фактора. . [6] Метод цветового кодирования можно использовать для поиска путей логарифмической длины, если они существуют, но это дает коэффициент аппроксимации всего лишь . [9]

Параметризованная сложность [ править ]

Проблема самого длинного пути решается с фиксированными параметрами, если она параметризована длиной пути. Например, ее можно решить за время, линейное по размеру входного графа (но экспоненциальное по длине пути) с помощью алгоритма, который выполняет следующие шаги:

  1. Выполните поиск в глубину графа. Позволять быть глубиной результирующего дерева поиска в глубину .
  2. Используйте последовательность путей от корня к листу дерева поиска в глубину в том порядке, в котором они были пройдены поиском, чтобы построить декомпозицию пути графа с шириной пути .
  3. Примените динамическое программирование к этому разложению пути, чтобы найти самый длинный путь во времени. , где — количество вершин в графе.

Поскольку выходной путь имеет длину не менее , время работы также ограничено , где длина самого длинного пути. [10] Используя цветовое кодирование, зависимость от длины пути можно свести к одноэкспоненциальной. [9] [11] [12] [13] Похожий метод динамического программирования показывает, что задача о самом длинном пути также решается с фиксированным параметром, если параметризована шириной дерева графа.

Для графов с ограниченной шириной клика самый длинный путь также может быть решен с помощью алгоритма динамического программирования с полиномиальным временем. Однако показатель степени многочлена зависит от ширины клики графа, поэтому этот алгоритм не является управляемым с фиксированным параметром. Задача о самом длинном пути, параметризованная шириной клика, сложна для сложности . параметризованного класса , показывая, что управляемый алгоритм с фиксированными параметрами вряд ли существует. [14]

Специальные классы графов [ править ]

Алгоритм поиска самого длинного пути в дереве с линейным временем был предложен Эдсгером Дейкстра примерно в 1960 году, а формальное доказательство этого алгоритма было опубликовано в 2002 году. [15] Более того, самый длинный путь можно вычислить за полиномиальное время на взвешенных деревьях, блочных графах , кактусах , [16] на двудольных графах перестановок , [17] и на графиках Птолемея . [18]

Для класса графов интервальных Известен алгоритм времени, использующий подход динамического программирования. [19] Этот подход динамического программирования был использован для получения алгоритмов с полиномиальным временем для больших классов дуговых графов. [20] и графов совместной сравнимости (т.е. дополнений графов , сравнимости которые также содержат графы перестановок ), [21] оба имеют одинаковое время работы . Последний алгоритм основан на особых свойствах упорядочения вершин лексикографического поиска в глубину (LDFS). [22] графов косравнимости. Для графиков совместной сравнения также альтернативный алгоритм с полиномиальным временем и более высоким временем работы. известно, которое основано на диаграмме Хассе определяемого частично упорядоченного множества, дополнением входного графа косравнимости. [23]

Более того, задача о наибольшем пути разрешима за полиномиальное время на любом классе графов с ограниченной шириной дерева или ограниченной шириной клики, таких как дистанционно-наследственные графы . Наконец, очевидно, что это NP-сложно для всех классов графов, на которых проблема гамильтоновых путей является NP-трудной, например, для расщепляемых графов , круговых графов и плоских графов .

Простая модель ориентированного ациклического графа — это модель Прайса , разработанная Дереком Дж. де Солла Прайсом для представления сетей цитирования . Это достаточно просто, чтобы можно было найти аналитические результаты для некоторых свойств. Например,длина самого длинного пути от n-го узла, добавленного в сеть, до первого узла в сети масштабируется как [24] .

См. также [ править ]

Ссылки [ править ]

  1. ^ Шрийвер, Александр (2003), Комбинаторная оптимизация: многогранники и эффективность, Том 1 , Алгоритмы и комбинаторика, том. 24, Спрингер, с. 114, ISBN  9783540443896 .
  2. ^ Кормен, Томас Х .; Лейзерсон, Чарльз Э .; Ривест, Рональд Л .; Штейн, Клиффорд (2001), Введение в алгоритмы (2-е изд.), MIT Press, стр. 978, ISBN  9780262032933 .
  3. ^ Лоулер, Юджин Л. (2001), Комбинаторная оптимизация: сети и матроиды , Courier Dover Publications, стр. 64, ISBN  9780486414539 .
  4. ^ Jump up to: а б с Седжвик, Роберт ; Уэйн, Кевин Дэниел (2011), Алгоритмы (4-е изд.), Addison-Wesley Professional, стр. 661–666, ISBN  9780321573513 .
  5. ^ Ди Баттиста, Джузеппе; Идс, Питер ; Тамассия, Роберто ; Толлис, Иоаннис Г. (1998), «Многослойные рисунки орграфов», Рисование графиков: алгоритмы визуализации графов , Прентис Холл , стр. 265–302, ISBN  978-0-13-301615-4 .
  6. ^ Jump up to: а б Бьёрклунд, Андреас; Хусфельдт, Тор; Ханна, Санджив (2004), «Аппроксимация самых длинных направленных путей и циклов», Proc. Межд. Колл. Автоматы, языки и программирование (ICALP 2004) , Конспекты лекций по информатике , том. 3142, Берлин: Springer-Verlag, стр. 222–233, MR   2160935 .
  7. ^ Габоу, Гарольд Н .; Ни, Шуксин (2008), «Поиск длинных путей, циклов и схем», Международный симпозиум по алгоритмам и вычислениям , Конспекты лекций по информатике, том. 5369, Берлин: Springer, стр. 752–763, doi : 10.1007/978-3-540-92182-0_66 , ISBN.  978-3-540-92181-3 , МР   2539968 . Более ранние работы с еще более слабыми границами аппроксимации см. Габоу, Гарольд Н. (2007), «Нахождение путей и циклов суперполилогарифмической длины» (PDF) , SIAM Journal on Computing , 36 (6): 1648–1671, doi : 10.1137/S0097539704445366 , MR   2299418 и Бьёрклунд, Андреас; Хусфельдт, Тор (2003), «Нахождение пути суперлогарифмической длины» , SIAM Journal on Computing , 32 (6): 1395–1402, doi : 10.1137/S0097539702416761 , MR   2034242 .
  8. ^ Каргер, Дэвид ; Мотвани, Раджив ; Рамкумар, GDS (1997), «Об аппроксимации самого длинного пути в графе», Algorithmica , 18 (1): 82–98, doi : 10.1007/BF02523689 , MR   1432030 , S2CID   3241830 .
  9. ^ Jump up to: а б Алон, Нога ; Юстер, Рафаэль; Цвик, Ури (1995), «Цветовое кодирование», Журнал ACM , 42 (4): 844–856, doi : 10.1145/210332.210337 , MR   1411787 , S2CID   208936467 .
  10. ^ Бодлендер, Ханс Л. (1993), «О второстепенных тестах линейного времени с поиском в глубину», Journal of Algorithms , 14 (1): 1–23, doi : 10.1006/jagm.1993.1001 , MR   1199244 . Более ранний алгоритм FPT с несколько лучшей зависимостью от длины пути, но худшей зависимостью от размера графа см. Мониен, Б. (1985), «Как эффективно находить длинные пути», Анализ и разработка алгоритмов для комбинаторных задач (Удине, 1982) , North-Holland Math. Студ., вып. 109, Амстердам: Северная Голландия, стр. 239–254, номер doi : 10.1016/S0304-0208(08)73110-4 , ISBN.  9780444876997 , МР   0808004 .
  11. ^ Чен, Цзянер; Лу, Сунцзянь; Сзе, Синг-Хой; Чжан, Фэнхуэй (2007), «Улучшенные алгоритмы для решения задач пути, сопоставления и упаковки», Proc. 18-й симпозиум ACM-SIAM по дискретным алгоритмам (SODA '07) (PDF) , стр. 298–307 .
  12. ^ Кутис, Иоаннис (2008), «Быстрые алгебраические алгоритмы для задач путей и упаковки», Международный коллоквиум по автоматам, языкам и программированию (PDF) , Конспекты лекций по информатике, том. 5125, Берлин: Springer, стр. 575–586, CiteSeerX   10.1.1.141.6899 , doi : 10.1007/978-3-540-70575-8_47 , ISBN  978-3-540-70574-1 , MR   2500302 , заархивировано из оригинала (PDF) 9 августа 2017 г. , получено 9 августа 2013 г.
  13. ^ Уильямс, Райан (2009), «Нахождение путей длины k в O * (2 к ) время», Information Processing Letters , 109 (6): 315–318, arXiv : 0807.3026 , doi : 10.1016/j.ipl.2008.11.004 , MR   2493730 , S2CID   10295448 .
  14. ^ Фомин Федор Владимирович; Головач Петр А.; Локштанов Даниил; Саураб, Сакет (2009), «Ширина клики: по цене общности», Proc. 20-й симпозиум ACM-SIAM по дискретным алгоритмам (SODA '09) (PDF) , стр. 825–834, заархивировано из оригинала (PDF) 18 октября 2012 г. , получено 1 декабря 2012 г.
  15. ^ Балтерман, Р.В.; ван дер Соммен, ФРВ; Лебедь, Г.; Верховев, Т.; ван Гастерен, AJM (2002), «О вычислении самого длинного пути в дереве», Information Processing Letters , 81 (2): 93–96, doi : 10.1016/S0020-0190(01)00198-3 .
  16. ^ Уэхара, Рюхей; Уно, Юши (2004), «Эффективные алгоритмы для решения задачи о наибольшем пути», Флейшер, Рудольф; Триппен, Герхард (ред.), «Алгоритмы и вычисления», 15-й Международный симпозиум, ISAAC 2004, Гонконг, Китай, 20–22 декабря 2004 г., Труды , конспекты лекций по информатике, том. 3341, Springer, стр. 871–883, doi : 10.1007/978-3-540-30551-4_74 , ISBN.  978-3-540-24131-7 .
  17. ^ Уэхара, Рюхей; Валиенте, Габриэль (2007), «Линейная структура двудольных графов перестановок и проблема наибольшего пути», Information Processing Letters , 103 (2): 71–77, CiteSeerX   10.1.1.101.96 , doi : 10.1016/j.ipl.2007.02 .010 .
  18. ^ Такахара, Ёсихиро; Терамото, Сачио; Уэхара, Рюхей (2008), «Задачи о наибольшем пути на графах Птолемея», IEICE Transactions , 91-D (2): 170–177, doi : 10.1093/ietisy/e91-d.2.170 .
  19. ^ Иоанниду, Кириаки; Мерциос, Джордж Б.; Николопулос, Ставрос Д. (2011), «Задача о наибольшем пути имеет полиномиальное решение на интервальных графах», Algorithmica , 61 (2): 320–341, CiteSeerX   10.1.1.224.4927 , doi : 10.1007/s00453-010-9411 -3 , S2CID   7577817 .
  20. ^ Мерциос, Джордж Б.; Безакова, Ивона (2014), «Вычисление и подсчет длиннейших путей на дуговых графах за полиномиальное время», Discrete Applied Mathematics , 164 (2): 383–399, CiteSeerX   10.1.1.224.779 , doi : 10.1016/j.dam .2012.08.024 .
  21. ^ Мерциос, Джордж Б.; Корнейл, Дерек Г. (2012), «Простой полиномиальный алгоритм для решения задачи о наибольшем пути на графах сосравнимости», SIAM Journal on Discrete Mathematics , 26 (3): 940–963, arXiv : 1004.4560 , doi : 10.1137/100793529 , S2CID   4645245 .
  22. ^ Корнейл, Дерек Г.; Крюгер, Ричард (2008), «Единый взгляд на поиск по графам», SIAM Journal on Discrete Mathematics , 22 (4): 1259–1276, doi : 10.1137/050623498 .
  23. ^ Иоанниду, Кириаки; Николопулос, Ставрос Д. (2011), «Задача о наибольшем пути является полиномиальной на графах сосравнимости» (PDF) , Algorithmica , 65 : 177–205, CiteSeerX   10.1.1.415.9996 , doi : 10.1007/s00453-011-9583-5 , S2CID   7271040 .
  24. ^ Эванс, Т.С.; Кальмон, Л.; Василяускайте, В. (2020), «Самый длинный путь в модели цен», Scientific Reports , 10 (1): 10503, arXiv : 1903.03667 , Bibcode : 2020NatSR..1010503E , doi : 10.1038/s41598-020-67421-8 , PMC   7324613 , PMID   32601403

Внешние ссылки [ править ]

Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 89b19e424eb0cd87680f57abb2560611__1704149940
URL1:https://arc.ask3.ru/arc/aa/89/11/89b19e424eb0cd87680f57abb2560611.html
Заголовок, (Title) документа по адресу, URL1:
Longest path problem - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)