如何在prolog中寻找未知迷宫中的路径?我有初始位置,没有。行和列,但没有结束位置,我不能给行*列作为结束,因为我必须递归移动以找到Wumpus,pit,wall和迷宫中的空白空间。
发布于 2019-05-13 21:19:15
你只能找到迷宫已知部分的路径。对于未知的路径,您可能需要使用假设,甚至概率可能有助于评估选项。
Gregory Yob的原始文章很好地描述了猎杀Wumpus游戏迷宫的发现,这篇文章展示了一些游戏性。这个发现是否稳定还取决于隧道不变的一些假设:
原始猎杀Wumpus程序,来自1972年
https://www.atariarchives.org/bcc1/showpage.php?page=247
为了能够对1972年版的“猎杀野人”进行实验,我将基本代码翻译成Prolog。它使用Erlang风格的编程,所以没有断言/收回。游戏状态只是通过尾递归和反复式递归谓词调用传递和修改。
但是要将其嵌入到一些规划系统中,您需要更多地修改代码,并删除read_line/1、write/1和nl/1,并将其替换为玩家和游戏之间交互的建模。
用Erlang风格的将翻译成Prolog
https://github.com/jburse/jekejeke-samples/tree/master/pack/games
https://stackoverflow.com/questions/50488656
复制相似问题