问题标签 [water-jug-problem]

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 回答
558 浏览

prolog - Prolog查询问题

我是 prolog 的新手,我必须编写一个关于水壶的程序。我的问题是关于水壶的初始状态和查询形成。查询将采用以下形式:

意思是 j1 装满 1 加仑的水。j1 代表其中一个水壶;另一个是j2。最初,我有

如果您向我提供以下信息,我将不胜感激:

问题 A:我必须在我的程序中声明 j1 的初始状态吗?filled(j1,0)

问题 B:我需要让我的程序找到填充(j1,1)的解决方案。为此,我有一些想法,但我不确定的是如何从查询和 myPredicate.

我很困惑,因为我有初始状态filled(j1,0),现在我必须创建一个filled(j1,1)in myPredicate。所以我应该有某种形式的filled(J,Volume)in myPredicate,所以查询返回 true 而不是 false。

如何在filled(J,Voume)内部合并,myPredicate以便在运行上述查询时,我可以显示正确答案?

0 投票
2 回答
10511 浏览

prolog - prolog中的水壶

这是一个水壶问题。大桶装5个,小桶装3个。我想在大桶里放4个。

问题是当我运行时我无法得到任何答案,它会产生错误。这似乎不是一个明显的错误,算法简单直接。

谁能帮我找出它有什么问题?

0 投票
3 回答
1648 浏览

prolog - 我解决 3 壶水谜题的序言程序有什么问题?

谁能找到为什么我在这段代码中的“开始”无法得到任何真正的答案?例如,我写go(7,3,l)了,我想它应该将 3 升水移到第二个水罐中,但根据序言,这是错误的。怎么了?

0 投票
2 回答
1517 浏览

prolog - 序言中的 3 壶水不起作用

我有 3 壶水的问题要解决,但有一个小技巧。我不必使用算法,而是要有一个“功能”,允许用户将升从一个壶移动到另一个壶,其初始和最终状态是它所写的也由他。

例如,他写了 initial(10,0,0,0,r) 并且第一个状态是第一个是 10 升,其他两个是零,他还写了 final(0,3,3,3,l) 和 final state 在两个较小的罐子里有 3 升,在第一个罐子里是零。

壶之间的“移动”发生在他写 go(7,3,r) 时,他向右移动 3 升(从右到左,壶的形状从大到小)从大到第二个壶,-7是剩下的升,3 是要移动的升,r 是方向-。

我已经写了这个序言代码,但是每个 go-state 都是错误的..有人知道为什么吗?

0 投票
2 回答
1002 浏览

prolog - 序言中的 if 语句

您好,我的 if 语句有问题。我有这个

和这个

我怎么能有这个检查????:

提前致谢!!

0 投票
0 回答
1294 浏览

prolog - prolog广度优先搜索中的水壶

所以我需要解决那个水壶问题 - 大杯子装 5 个,小杯子装 3 个。我想在大杯子里放 4 个。

我有 BFS alogirtam 的来源,但我不知道如何创建谓词移动......

0 投票
2 回答
7282 浏览

prolog - SWI-Prolog 中的水壶拼图

我是 AI 和 Prolog 新手。我试图在 SWI Prolog 中实现 2 Water Jug 问题。但是,我的解决方案是返回一个global stack overflow.

我知道这个问题过去曾被问过并且有很多答案/解决方案,作为一个完整的新手,我的方法有点天真,因此我想知道我做错了什么。

问题:

有两个水壶,一个容量为 4 加仑,另一个容量为 3 加仑。我在 4 加仑的罐子里需要 2 加仑,另一个应该是空的。

这是代码:

这是输出。

0 投票
0 回答
5305 浏览

prolog - 使用深度优先搜索解决水壶问题

我有这个水壶问题要解决,我必须通过深度优先算法来解决。我有两个水壶,一个 4 加仑和一个 3 加仑,它们都没有标记。你如何才能将 2 加仑的水准确地倒入 4 加仑的水壶中?最初两个水壶都是空的。

规则是:

初始起始事实:jugs(0,0) 目标:jugs(2,0) 或 jugs(0,2)

先感谢您!

0 投票
1 回答
2231 浏览

prolog - 2-序言中的水壶

我正在尝试解决 swi-prolog 中的 2 水罐问题:给定 2 个容量分别为 4 和 3 加仑的水罐,我想找到在容量为 4 的水罐中获得 2 加仑的水罐和另一个容量为 0 的水罐的步骤。

我使用 bfs 和 dfs 在 C++ 中为这个问题编写了程序:http: //kartikkukreja.wordpress.com/2013/10/11/water-jug-problem/。现在,我正在尝试解决 prolog 中的问题。我对该语言完全陌生,我的代码不会终止。

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

任何帮助表示赞赏。

0 投票
1 回答
1437 浏览

prolog - SWI Prolog 水壶拼图

这是我第一次来这里,我知道已经有关于这个的帖子,但似乎与我想编码的方式不同。我只是一直得到错误的答案。

我输入:solve(0,0). 结果是false.

代码。

任何帮助深表感谢。谢谢。