water-jug-problem

    0热度

    1回答

    我试图解决一个水,水罐问题(一个7L,一个4L,在7L水罐中获得5L)使用部门首次搜索。然而,每当我尝试从我的一个行为中获得新的状态时,事情就会一直出错。 Prolog Code 我想不出什么错误,这是输出的样子跟踪后: enter image description here 在此先感谢您的帮助!

    0热度

    1回答

    这是一个水罐问题。较大的桶容​​纳5个,较小的桶容纳3个。我想在较大的桶中获得4个。 问题是,当我运行我无法得到任何答案时,它会产生一个错误。它看起来不是一个明显的错误,算法简单直接。 任何人都可以帮助我找到它有什么问题吗? check_safe(X,Y):- X>=0,X=<3,Y>=0,Y=<5. %empty the 3 bucket move(state(X,Y),state(0,

    0热度

    1回答

    我正在尝试实现I.A.广度优先搜索算法来解决水罐问题,但我遇到了这个问题: 每次我向数组中添加一个新元素时,它都会将数组内的所有元素更改为像它一样。 换句话说... “塞上”阵列被改变每个“壶”函数的调用之间在其内部的所有元素。 有人可以分享一些有关此代码的见解吗? (I更担心实现逻辑,所以它不是最佳的) 的代码: J1SIZE = 3 J2SIZE = 4 frontier = [] e

    0热度

    1回答

    我是prolog的新手,我必须编写一个关于水的程序 水壶。我的问题是关于水罐的初始状态和查询 形成。查询的格式如下: ?- myPredicate(args), filled(j1,1) 含义j1装满1加仑水。 j1代表一个壶;另一个是j2。 Initally,我有 filled(j1,0) filled(j2,5) capacity(j1,2) capacity(j2,5) 我真的

    0热度

    1回答

    我正试图解决swi-prolog中的2个水罐问题:给定2个罐的容量分别为4加仑和3加仑,我想要找到在水罐中获得2加仑的步骤容量4和0在另一个。 我在C++中使用bfs和dfs编写了这个问题的程序:http://kartikkukreja.wordpress.com/2013/10/11/water-jug-problem/。现在,我试图在序言中解决这个问题。我对语言完全陌生,我的代码不会终止。 这

    2热度

    1回答

    我是AI和Prolog的新手。我试图在SWI Prolog中实施2个水罐问题。但是,我的解决方案返回global stack overflow。 我知道这个问题已被问过去,并有过无数的答案/解决方案,作为一个完整的新手我的方法有点天真,因此我想知道我做错了什么。 问题: 有两种水罐,一个具有4加仑容量,而另一可容纳多达3加仑。我需要2加仑4加仑的水罐,另一个应该是空的。 下面的代码: member