我想要做的是找到一些路线和一些安全区域。我做了一些研究,我已经知道我必须添加一个基本步骤和递归步骤。我已经实施了,但当我不得不转移时它不起作用。所以如果它是邻居,它是有效的,但不是。在prolog中规划一条路线
这是我有:
p(zwolle,apeldoor,36).
p(apeldoorn,zutphen,22).
p(hengelo,zwolle,60).
p(zutphen,hengelo,45).
p(arnhem,apeldoorn,30).
p(arnhem,zutphen,24).
%basic step
route(Begin,End,PastCitys):-
not(member(End,PastCitys)),
p(Begin,End,_).
%recursief
route(Begin,End,PastCitys):-
p(Begin,Stepover,_),
not(member(Stepover,PastCitys)),
route(Stepover,End).
plan(Begin,End):-
route(Begin,End,[Begin]).
任何帮助是值得欢迎
所以我已经添加了一张支票,但仍然不起作用,我知道它不是双向的。但那是为了以后。 你有什么可以帮助我吗? –
这两个改变实际上就是你和成功之间的一切。如果您得到错误的答案,请跟踪电话并比较您所期望的情况。如果您无法弄清楚有什么不同,请编辑您的问题并发布示例。 –
@JorneDeBlaere不要忘记谓词'route'应该有三个属性,而它在递归子句中似乎有两个。 –