Пролог Wumpus Как найти путь в неизвестном лабиринте
Как найти путь в неизвестном лабиринте в прологе? У меня начальная позиция и нет. строк и столбцов, но нет конечной позиции, и я не могу дать столбцы строк * как конец, поскольку мне нужно рекурсивно двигаться, чтобы найти Wumpus, яму, стену и пустое пространство в лабиринте.
0 ответов
Вы можете найти путь только в известной части лабиринта. Для неизвестного пути вам, возможно, потребуется работать с гипотезой, и даже предположение может помочь в оценке вариантов.
Открытие игрового лабиринта Hunt the Wumpus прекрасно описано в оригинальной статье Грегори Йоба, в которой показан некоторый игровой процесс. Стабильность этого открытия также зависит от некоторых предположений о том, что туннели не меняются:
Оригинальная программа Hunt the Wumpus BASIC от 1972 года
https://www.atariarchives.org/bcc1/showpage.php?page=247
Чтобы можно было поэкспериментировать с исходной версией Hunt the Wumpus 1972 года, я перевел код BASIC на Prolog. Он использует программирование в стиле Erlang, поэтому нет утверждения / отзыва. Состояние игры просто передается и модифицируется с помощью хвостовых рекурсивных и взаимно рекурсивных вызовов предикатов.
Но чтобы встроить его в какую-то систему планирования, вам нужно будет больше массировать код, удалить read_line/1, write / 1 и nl / 1 и заменить их моделированием взаимодействия между игроком и игрой.
Перевод на Пролог в стиле Эрланг
https://github.com/jburse/jekejeke-samples/tree/master/pack/games