Допустимая эвристика
В информатике , особенно в алгоритмах , связанных с поиском пути , эвристическая функция считается допустимой, если она никогда не переоценивает стоимость достижения цели, т. е. оцениваемая ею стоимость достижения цели не превышает минимально возможной стоимости от текущей точка на пути. [1]
Это связано с концепцией непротиворечивой эвристики . Хотя все непротиворечивые эвристики допустимы, не все допустимые эвристики непротиворечивы.
Алгоритмы поиска
[ редактировать ]Допустимая эвристика используется для оценки стоимости достижения целевого состояния в алгоритме информированного поиска . Чтобы эвристика чтобы быть допустимым для задачи поиска, оценочная стоимость всегда должна быть ниже или равна фактической стоимости достижения целевого состояния. Алгоритм поиска использует допустимую эвристику для нахождения оценочной оптимальный путь к целевому состоянию от текущего узла. Например, в A* найдите оценочную функцию (где текущий узел):
где
- = функция оценки.
- = стоимость от начального узла до текущего узла
- = предполагаемая стоимость от текущего узла до цели.
рассчитывается с использованием эвристики функция. При наличии недопустимой эвристики алгоритм A* может упустить оптимальное решение задачи поиска из-за переоценка в .
Формулировка
[ редактировать ]- это узел
- это эвристика
- стоимость указана достичь цели из
- оптимальная стоимость достижения цели из
- допустимо, если
Строительство Допустимая эвристика может быть получена из расслабленного версии задачи, или информацией из баз данных шаблонов, в которых хранятся точные решения подзадач задачи, или с помощью методов индуктивного обучения .
Примеры
[ редактировать ]применимы два разных примера допустимых эвристик К задаче «Пятнадцать головоломок» :
Расстояние Хэмминга — это общее количество неправильно размещенных плиток. Ясно, что такая эвристика допустима, поскольку общее количество ходов для правильного упорядочивания плиток не меньше количества неправильно расположенных плиток (каждую не стоящую на месте плитку необходимо переместить хотя бы один раз). Стоимость (количество ходов) достижения цели (упорядоченной головоломки) равна как минимум расстоянию Хэмминга головоломки.
Манхэттенское расстояние головоломки определяется как:
Рассмотрим головоломку ниже, в которой игрок хочет переместить каждую плитку так, чтобы числа были упорядочены. Манхэттенское расстояние в данном случае является допустимой эвристикой, потому что каждую плитку придется переместить как минимум на количество мест между ней и ее правильным положением. [2]
4 3 | 6 1 | 3 0 | 8 1 |
7 2 | 12 3 | 9 3 | 14 4 |
15 3 | 13 2 | 1 4 | 5 4 |
2 4 | 10 1 | 11 1 |
Нижние индексы показывают расстояние до Манхэттена для каждой плитки. Общее расстояние по Манхэттену для показанной головоломки составляет:
Доказательство оптимальности
[ редактировать ]Если допустимая эвристика используется в алгоритме, который на итерации продвигается только по пути с наименьшей оценкой (текущая стоимость + эвристика) из нескольких путей-кандидатов, завершается в тот момент, когда его исследование достигает цели, и, что особенно важно, никогда не закрывает все оптимальные пути раньше завершение (что возможно с помощью алгоритма поиска A*, если не принять особых мер [3] ), то этот алгоритм может завершиться только на оптимальном пути. Чтобы понять почему, рассмотрим следующее доказательство от противного :
Предположим, что такому алгоритму удалось завершиться на пути T с истинной стоимостью T true, большей, чем оптимальный путь S с истинной стоимостью S true . Это означает, что перед завершением оценочная стоимость T была меньше или равна оценочной стоимости S (в противном случае S был бы выбран). Обозначим эти оцененные затраты T eval и S eval соответственно. Вышеизложенное можно резюмировать следующим образом:
- S true < T true
- Тевал ≤ SСевал
Если наша эвристика допустима, из этого следует, что на этом предпоследнем шаге T eval = T истинно, поскольку любое увеличение истинной стоимости за счет эвристики на T было бы недопустимо, и эвристика не может быть отрицательной. С другой стороны, допустимая эвристика потребует, чтобы S eval ≤ S true , что в сочетании с приведенными выше неравенствами дает нам T eval < T true и, более конкретно, T eval ≠ T true . Поскольку T eval и T true не могут быть одновременно равными и неравными, наше предположение должно быть ложным, и поэтому должно быть невозможно завершить процесс на более затратном, чем оптимальный, пути.
В качестве примера: [4] скажем, у нас есть следующие затраты: (стоимость выше/ниже узла — это эвристика, стоимость на краю — это фактическая стоимость)
0 10 0 100 0 START ---- O ----- GOAL | | 0| |100 | | O ------- O ------ O 100 1 100 1 100
Итак, очевидно, что мы начнем с посещения верхнего среднего узла, поскольку ожидаемая общая стоимость, т. е. , является . Тогда целью будет кандидат с равный . Тогда мы бы явно выбрали нижние узлы один за другим, а затем обновленную цель, поскольку все они имеют ниже, чем текущей цели, т.е. их является . Таким образом, хотя цель была кандидатом, мы не могли выбрать ее, потому что существовали пути получше. Таким образом, допустимая эвристика может обеспечить оптимальность.
Однако заметим, что хотя допустимая эвристика и может гарантировать окончательную оптимальность, она не обязательно эффективна.
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ Рассел, С.Дж.; Норвиг, П. (2002). Искусственный интеллект: современный подход . Прентис Холл. ISBN 0-13-790395-2 .
- ^ Корф, Ричард Э. (2000), «Последний прогресс в разработке и анализе допустимых эвристических функций» (PDF) , в Шуэйри, Берта Ю.; Уолш, Тоби (ред.), Абстракция, переформулировка и аппроксимация: 4-й международный симпозиум, SARA 2000, Хорсшу-Бэй, США, 26–29 июля 2000 г., материалы , том. 1864, Springer, стр. 45–55, CiteSeerX 10.1.1.124.817 , doi : 10.1007/3-540-44914-0_3 , ISBN 978-3-540-67839-7 , получено 26 апреля 2010 г.
- ^ Холте, Роберт (2005). «Распространенные заблуждения относительно эвристического поиска» . Материалы третьего ежегодного симпозиума по комбинаторному поиску (SoCS) . Архивировано из оригинала 01 августа 2022 г. Проверено 10 июля 2021 г.
- ^ «Почему допустимые [ sic ] эвристики гарантируют оптимальность?» . алгоритм. Переполнение стека . Проверено 11 декабря 2018 г.