Пролог Wumpus Как найти путь в неизвестном лабиринте - PullRequest
0 голосов
/ 23 мая 2018

Как найти путь в неизвестном лабиринте в прологе?У меня начальная позиция и нет.строк и столбцов, но нет конечной позиции, и я не могу дать столбцы строк * в качестве конца, поскольку мне нужно рекурсивно двигаться, чтобы найти Wumpus, яму, стену и пустое пространство в лабиринте.

1 Ответ

0 голосов
/ 13 мая 2019

Вы можете найти только путь известной части лабиринта.Для неизвестного пути вам, возможно, придется поработать с гипотезой, и даже пригодность может помочь в оценке параметров.

Открытие лабиринта игры «Охота на Вумпуса» хорошо описано в оригинальной статье Грегори Йоба, в которой показан некоторый игровой процесс.Стабильность этого открытия также зависит от некоторых предположений о том, что туннели не меняются:

enter image description here

Оригинальная программа «Охота на программу Bump» Wumpus с 1972 года
https://www.atariarchives.org/bcc1/showpage.php?page=247

Чтобы экспериментировать с оригинальной версией «Охоты на вумпуса» 1972 года, я перевел БЕЙСИК-код на Пролог.Он использует программирование в стиле Erlang, поэтому здесь нет assert / retract.Состояние игры просто передается и изменяется по хвостовым рекурсивным и взаимно-рекурсивным вызовам предикатов.

Но чтобы встроить его в какую-то систему планирования, вам нужно будет еще больше помассировать код и удалить read_line / 1и напишите / 1 и nl / 1 и замените его моделированием взаимодействия игрока и игры.

Перевод на пролог в стиле Эрланга
https://github.com/jburse/jekejeke-samples/tree/master/pack/games

...