Русская Википедия:Задача канадского путешественника

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску

Задача канадского путешественника (ЗКП) (Шаблон:Lang-en, CTP) — это обобщение задачи о кратчайшем пути на графы, которые частично видимы. Другими словами, граф раскрывается по мере его изучения, а исследованные рёбра дают вклад в стоимость, даже если они не принадлежат конечному пути.

Эту задачу оптимизации предложили в 1989 году Христос Пападимитриу и Михалис Яннакакис и с тех пор было изучено много её вариантов. Название, предположительно, возникло из разговора авторов, обсуждавших проблемы канадских водителей, регулярно попадающих на заблокированные в результате снегопада улицы. Стохастическая версия, где каждое ребро ассоциировано с вероятностью принадлежать графу, получила особое внимание в исследовании операций под именем «Стохастическая задача о кратчайшем пути с рекурсией» (Шаблон:Lang-en, SSPPR).

Описание задачи

Для заданного экземпляра имеется некоторое число возможностей или реализаций, как невидимая часть графа может выглядеть. Если экземпляр задан, описание, как получить лучший маршрут, называется политикой. Целью ЗКП является вычислить ожидаемую цену оптимальной политики. Вычисление актуального описания оптимальной политики может оказаться более сложной задачей.

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

Варианты

Есть пять основных параметров, по которым различаются варианты задачи канадского путешественника. Первый параметр — как формируется цена прохода для данного экземпляра и политики. В стохастической задаче о кратчайшем пути с рекурсией целью является просто минимизация цены прохода (которая определяется как сумма по всем его рёбрам цены ребра на количество использований этого ребра). Для задачи канадского путешественника целью является минимизация Шаблон:Не переведено 5 прохода, то есть минимизация отношения длины полученного прохода к кратчайшему пути.

Второй параметр — как осуществлять политику с учётом различных реализаций, согласующихся с экземпляром. В задаче канадского путешественника хотят изучить Шаблон:Не переведено 5, а в SSPPR — значение в среднем. Для анализа среднего случая следует определить априори распределение для реализации.

Третий параметр ограничен стохастической версией и определяет, какие предположения мы можем сделать о распределении реализаций и как распределение представлено на входе. В стохастической задаче канадского путешественника и рёберно независимой стохастической задаче о кратчайшем пути (Шаблон:Lang-en, i-SSPPR) каждое не известное точно ребро (или цена) имеет ассоциированную вероятность принадлежать реализации и событие, что ребро графу принадлежит, не зависит от других рёбер в реализации. Даже хотя это является существенным упрощением, задача остаётся #P-трудной. Другой вариант не делает никаких предположений о распределении, но требует, чтобы каждая реализация с ненулевой вероятностью была явно указана (например, так: «Вероятность 0,1 на множестве рёбер { {3,4},{1,2} }, вероятность 0,2 на...»). Это называется «дистрибутивной стохастической задачей о кратчайшем пути» (Шаблон:Lang-en, d-SSPPR или R-SSPPR) и она NP-полна. Второй вариант труднее первого, поскольку первый вариант может представить в логарифмическом пространстве некоторые распределения, в то время как второй вариант представляет их в линейном пространстве.

Четвёртый и конечный параметр — как граф изменяется со временем. В ЗКП и SSPPR реализация фиксирована, но не известна. В стохастической задаче о кратчайшем пути с рекурсией и сбросом (Шаблон:Lang-en) или задаче об ожидаемом кратчайшем пути (Шаблон:Lang-en), новая реализация выбирается из распределения после каждого шага, предпринятого согласно политике. Эта задача может быть решена за полиномиальное время путём его марковского процесса решений с полиномиальным горизонтом. Обобщение процесса Маркова, где реализация графа может влиять на следующую реализацию, как известно, существенно более сложно.

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

Формальное определение

Мы определим вариант, который изучался в статье 1989 года. То есть целью является минимизация конкурентного соотношения в худшем случае. Нужно начать с введения некоторых терминов.

Рассмотрим заданный граф и семейство неориентированных графов, которые могут быть построены путём добавления одного и более рёбер из заданного множества. Формально, пусть <math>\mathcal{G}(V,E,F) = \{(V,E+F')|F' \subseteq F\}, E \cap F = \emptyset</math>, где E — множество рёбер, которые должны быть в графе, а F — множество рёбер, которые могут быть в графе. Мы говорим, что <math>G \in \mathcal{G}(V,E,F)</math> является реализацией семейства графов. Далее, пусть W будет ассоциированной матрицей цен, в которой <math>w_{ij}</math> определяет цену прохода из вершины i в вершину j в предположении, что ребро принадлежит реализации.

Для любой вершины v из V мы обозначим через <math>E_B(v,V)</math> её инцидентные рёбра из подмножества рёбер B множества V. Для реализации <math>G \in \mathcal{G}(V,E,F)</math> пусть <math>d_B(s,t)</math> означает цену кратчайшего пути в графе из s в t. Это называется оффлайн-задачей, поскольку алгоритм для выполнения этой задачи должен обладать полной информацией о графе.

Мы говорим, что стратегия <math>\pi</math> навигации по такому графу является отображением из <math>(\mathcal{P}(E),\mathcal{P}(F),V)</math> в <math>V</math>, где <math>\mathcal{P}(X)</math> обозначает булеан множества X. Мы определяем цену <math>c(\pi, B)</math> стратегии <math>\pi</math> для конкретной реализации <math>G = (V,B)</math> следующим образом.

  • Пусть <math>v_0 = s, E_0 = E</math> и <math>F_0 = F</math>.
  • Для <math>i = 0, 1, 2, ...</math> определяем
    • <math>E_{i+1} = E_i \cup E_B(v_i,V)</math>,
    • <math>F_{i+1} = F_i - E_F(v_i,V)</math>,
    • <math>v_{i+1} = \pi(E_{i+1}, F_{i+1}, v_i)</math>.
  • Если существует T, такое, что <math>v_T = t</math>, то <math>c(\pi, B) = \sum_{i=0}^{T-1} w_{v_i,v_{i+1}}</math>
  • в противном случае пусть <math>c(\pi, B) = \infty</math>.

Другими словами, мы вычисляем политику, основываясь на рёбрах, о которых мы в текущий момент знаем, что они принадлежат графу (<math>E_i</math>), и на рёбрах, о которых мы знаем, что они могут принадлежать графу (<math>F_i</math>). Когда мы предпринимаем шаг в графе, рёбра, инцидентные нашему новому положению, становятся нам известными. Рёбра, которые графу принадлежат, включаются в <math>E_i</math>, и независимо от того, принадлежат они графу или нет, они удаляются из множества неизвестных рёбер, <math>F_i</math>. Если цель не смогли достичь, мы говорим, что задача имеет бесконечную цену. Если цель достигнута, мы определяем цену прохода как сумму цен всех пройденных рёбер, учитывая кратность.

Наконец, мы определим задачу канадского путешественника.

Если дан экземпляр ЗКП <math>(V,E,F,s,t,r)</math>, определяем, существует ли политика <math>\pi</math>, такая, что для любой реализации <math>(V,B) \in \mathcal{G}(V,E,F)</math> цена <math>c(\pi, B)</math> политике не более чем в r раз больше оптимального значения <math>d_B(s, t)</math>.

Пападимитриу и Яннакакис заметили, что это определяет игру двух лиц, где игроки борются за цену пути, а набор рёбер выбирает второй игрок (природа).

Сложность

Оригинальная статья анализировала сложность задачи и указали, что она Шаблон:Не переведено 5. Было также показано, что нахождение оптимального пути в случае, когда рёбрам задана вероятность быть в графе (i-SSPPR), является PSPACE-простой задачей, но ♯P-сложнойШаблон:Sfn. Была открытой проблема перекинуть мост через эту пропасть, но было доказано, что и ориентированная, и неориентированная версия PSPACE-трудныШаблон:Sfn.

Ориентированная версия стохастической задачи известна в исследовании операций как стохастическая задача о кратчайшем пути с рекурсией (Шаблон:Lang-en).

Приложения

Задача имеет приложения в исследовании операций, планировании перевозок, искусственном интеллекте, машинном обучении, сетях коммуникации и маршрутизации. Вариант задачи изучался для навигации роботов с вероятностным распознаванием ориентиров на местностиШаблон:Sfn.

Открытые проблемы

Несмотря на возраст проблемы и её большого числа потенциальных приложений, многие естественные вопросы остаются открытыми. Существует ли аппроксимация с постоянным множителем, или задача APX-трудна? Является ли i-SSPPR #P-полной? И даже более фундаментальный вопрос остаётся без ответа: существует ли полиномиального размера описание оптимальной политики, оставляя за скобками время, необходимое для вычисления описания?Шаблон:Sfn.

См. также

Примечания

Шаблон:Примечания

Литература

Шаблон:Refbegin

Шаблон:Refend Шаблон:Rq