问题标签 [wumpus-world]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
136 浏览

java - 我怎么知道我的顶点有连接?

我正在使用图形数据结构制作 Hunt the Wumpus 游戏。其中的每个顶点都是一个大小为 4 的数组,表示每个方向,北南东西。方向存储在枚举中。当一个顶点与另一个顶点连接时,它的邻接关系应该发生变化,以便它与另一个顶点连接(我仍然对此感到困惑——为什么我的顶点是一个大小为 4 的数组但只有一个方向)。

当我将一个顶点与另一个顶点连接并打印出邻居的数组列表时,我得到了一个奇怪的输出。当我打印未连接的顶点时,我得到邻居的 [null, null, null, null];当我打印连接的顶点时,我得到 [null,null,null,[null,null,null,null]。我不知道邻居应该是什么——它们应该打印为代表方向枚举索引的整数还是方向?应该打印什么?

0 投票
2 回答
157 浏览

prolog - Prolog 路径回溯根据网格大小永远运行

我已经编写了一些代码来在 Prolog 中进行回溯,它生成从初始单元(代理)到达黄金单元的所有可能路径。getAllPaths 的输入是地图大小 NxN。当我使用 6x6 地图运行它时,它可以完美运行并打印所有可能的路径,但是当我输入任何地图大小 >= 7 时,它会打印第一条路径并在我需要下一个可能的解决方案时卡在那里;。这是我的代码:

输出:

首先,我认为这将是一些深度递归限制,但这很奇怪,因为地图大小仅从 36 增加到 49,我可能会收到一些警告或错误,但它什么也没显示。有什么线索吗?

0 投票
1 回答
76 浏览

search - 如何在网格上生成可用步骤列表?

我有一个 5x5 网格,由max_size(5, 5). 我需要使用 DCG 从该描述中生成所有单元格的列表。

这是我到目前为止的代码:

但是,它不会生成列表并且仅输出 4 对。

对 DCG 的可能查询看起来list_all_cells([])应该列出网格上的所有单元格。例如,它将[0-0, 1-0, 1-1, 0-1]用于 2x2 网格(顺序无关紧要)。

事实上,我需要这个谓词来构建另一个谓词,该谓词available_steps/2将生成给定位置的所有可能移动的列表。有了available_steps(CurrentPos, Visited),我将能够进行蛮力Hunt the Wumpus游戏并找到所有可能的获得金币的途径。

0 投票
2 回答
123 浏览

conditional-statements - 使用贝叶斯公式

假设洞穴系统包含 100 个洞穴,其中 90 个洞穴没有藏宝,10 个洞穴包含埋藏的金物。在 70% 的藏有宝藏的洞穴中,Wumpus 留下了他平时挖掘和撞到墙壁时产生的恶臭。其余藏宝的洞窟中,乌普斯没有留下任何痕迹,即无臭。此外,所有没有宝藏的洞穴都没有气味,因为Wumpus已经逃离了洞穴系统。代理现在位于一个随机的洞穴中,并且可以感知它没有臭味。这个洞穴里藏有宝藏的概率是多少?

如何使用贝叶斯公式解决这个问题?概率。洞穴埋藏宝物 = 10/100。概率。洞穴隐藏宝藏 = 0.7 *HT- 代表隐藏宝藏

p(HT/洞穴) = (1/100*10/100)/(1/100*70/100*29/100*1/100)

我找到了解决方案,但我不确定它是否正确?谁能帮我?