Эвристика в проблемах удовлетворения ограничений гарантирует отсутствие возврата?(когда существует решение) - PullRequest
1 голос
/ 11 марта 2012

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

Ответы [ 3 ]

1 голос
/ 11 марта 2012

Давайте проведем простой теоретический анализ.

  1. Раскраска графа является NP-полной для общих графиков (если не требуется раскраска с менее чем 4 цветами). Это означает, что не существует известного алгоритма полиномиального времени.

  2. Ваша эвристика вычисляется за полиномиальное время.

  3. Если вам не нужно возвращаться назад , то вам нужно сделать n шагов, каждый из которых требует полиномиального времени (n - количество вершин). Таким образом, вы можете решить проблему за полиномиальное время.
  4. Либо вы доказали P=NP, либо ваше предположение неверно.

Я оставляю на ваше усмотрение решение, какой вариант в пункте (4) более вероятен.

0 голосов
/ 11 марта 2012

Эвристика сокращает пространство поиска или изменяет порядок поиска, чтобы повысить вероятность досрочного завершения.Это не то же самое, что возврат в обратном направлении.

Но это связанная концепция.

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

Мы также отрезаемся от возврата, потому что мы уверены, что решение находится в ветви ветви.пространство, в котором мы сейчас находимся (так что, если мы не найдем его в этом поддереве, мы можем объявить провал и не беспокоиться).

Оба вида стратегий в конечном итоге направлены на то, чтобы как-то искать меньше пространства иполучение ответа (положительного или отрицательного) без поиска всего.

MRV и эвристический градус предназначены для переупорядочения подисков, а не для предотвращения возврата назад.Эвристика может быть правильной и делать короткий поиск, но это не то же самое, что устранение обратного отслеживания (например, оператор «вырезать» в Прологе).Когда вы найдете то, что ищете, вы можете заявить об успехе, и, конечно, это устранит необходимость дальнейшего возврата.Но реальное устранение обратного отслеживания означает принятие решения не возвращать назад, несмотря ни на что, до завершения поиска.

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

0 голосов
/ 11 марта 2012

В целом: нет, MRV и другие эвристики не гарантируют прямой доступ к цели. (Я полагаю, что они могут, если ваша задача имеет какую-то очень специфическую структуру, но не рассчитывайте на это, пока вы не увидите теорему.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...