В поисках эвристического миссионера и каннибалов

Я пытаюсь построить алгоритм *, который решит проблему миссионеров и каннибалов. Я не уверен в эвристике, которую я должен использовать, и в том, что я должен искать, чтобы попытаться решить эту проблему.

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

Четыре миссионера и четыре каннибала находятся на западном берегу (W) реки вместе с лодкой, вмещающей до трех человек: 0 ‹ вместимость лодки ≤ 3. Найдите способ доставить всех на восточный берег (E) без оставив группу миссионеров в одном месте в меньшинстве с людоедами в этом месте. Эта проблема известна в области ИИ, потому что она была предметом первой статьи, в которой формулировка проблемы рассматривалась с аналитической точки зрения (Amerel, 1968).


person Jeffrey Hennen    schedule 12.02.2019    source источник


Ответы (1)


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

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

person David Eisenstat    schedule 12.02.2019
comment
На самом деле это действительно хорошее объяснение того, как определить эвристику, спасибо. Это определенно облегчает концептуальное размышление об этом. - person Jeffrey Hennen; 13.02.2019