我正在尝试解决狐狸,鹅和谷物谜语(农民只能自己运送河流中的三个之一),并遵循此处给出的代码:http://hilltop.bradley.edu/~chris/prolog.html(关于4/5进入文件的方式)
基本上代码告诉Prolog哪些动作是有效的,然后Prolog会从中计算答案。
%[Farmer_position, Fox_position, Goose_position, Grain_position]
graph([w,w,w,w],[e,w,e,w]).
graph([e,w,e,w],[w,w,e,w]).
graph([w,w,e,w],[e,w,e,w]).
graph([w,w,e,w],[e,e,e,w]).
graph([w,w,e,w],[e,w,e,e]).
graph([e,e,e,w],[w,w,e,w]).
graph([e,e,e,w],[w,e,w,w]).
graph([e,w,e,e],[w,w,w,e]).
graph([e,w,e,e],[w,w,e,w]).
graph([w,w,w,e],[e,e,w,e]).
graph([w,w,w,e],[e,w,e,e]).
graph([e,e,w,e],[w,e,w,e]).
graph([e,e,w,e],[w,w,w,e]).
graph([e,e,w,e],[w,e,w,w]).
dfs([w,w,w,w],[[e,e,e,e]],answer).
?- dfs([w,w,w,w],[[e,e,e,e]],answer).
然而,我无法让Prolog显示答案。难道我做错了什么?我正在使用SWI-Prolog,作为IDE,我正在使用SWI-Prolog-Editor。
编辑:为了清楚,它编译,它只是没有显示“答案”变量的“价值”。