При чтении искусственного интеллекта современный подход Я натолкнулся на концепцию выведения эвристики из стоимости решения подзадачи данной проблемы.Композитная эвристика для 8-головоломок
Например, следующие головоломки показывают подпункт 8-головоломки, где цель состоит в том, чтобы поместить плитки 1, 2, 3, 4 в их правильные положения.
Start State = [ * 2 4 ] Goal State = [ 1 2 ]
[ * * ] [ 3 4 * ]
[ * 3 1 ] [ * * * ]
Затем автор расширить эту концепцию, сказав, что эти эвристики, полученные из подзадач могут быть объединены, принимая максимальное значение.
h(n)= max{ h1(n), . . , hm(n) }
Кроме того, при использовании этого подхода производительность значительно улучшена по сравнению с простой эвристики как Manhattan distance.
Я пытаюсь обернуть свою голову вокруг композитных эвристик и рассуждений. Скажем, у нас есть две эвристики, полученной от стоимости решения следующих подзадач:
h1234(n) = [ 1 2 ] h5678(n) = [ * * ]
[ 3 4 * ] [ * * 5 ]
[ * * * ] [ 6 7 8 ]
Будет составной эвристический как:
h1...8(n)= max{ h1234(n), h5678(n) }
- действительно работает в поиске решения для полного- проблема с загадкой?
Мне кажется, что с помощью эвристики как h1 ... 8 (п) мы в конечном итоге чередуя эвристики h1234 (п) и h5678 (п), который, в свою очередь, может привести к одной эвристике, испортившей работу другого и никогда не достигающему решения.
- Или эвристика поможет друг другу в достижении полного решения?
Честно говоря, я делать не вижу, как это может работать ...
Привет albertoql, чем вы для вашего ответа. Просто последнее сомнение в том, что базы данных шаблонов, связанные с эвристикой компонентов, упомянутой в исходном посте, охватывают все плитки, найденные в головоломке, но что, если эвристика компонента не покрыла все плитки, мы бы достигли решения? – utxeee
Если одно из текущего состояния общей проблемы не имеет соответствия в базе данных шаблонов, должен быть механизм восстановления, чтобы эвристика могла быть назначена для этого состояния. Существуют разные способы сделать это, в том числе использовать другую эвристику, например, расстояние Манхэттена, или вызов подпрограммы для решения расслабленной проблемы с учетом этого состояния. Это позволяет найти оптимальное решение, поскольку эвристика все еще допустима. Помните, что чем ближе эвристика к фактической стоимости оптимального решения, тем эффективнее поиск. – albertoql
спасибо albertoql;) – utxeee