Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Loops prolog如何使用循环/递归连接数据_Loops_Recursion_Prolog - Fatal编程技术网

Loops prolog如何使用循环/递归连接数据

Loops prolog如何使用循环/递归连接数据,loops,recursion,prolog,Loops,Recursion,Prolog,我得到的数据来自 father(adam, matt). father(matt,frank). father(frank,jim). grandfather:-father(X,A),father(A,Y). 我实际上如何使用递归搜索祖父或曾祖父?基本上,使用循环表示X到Y 编辑:和所有可能的匹配,因为有更多的父亲和儿子的 谢谢 这几乎是“prolog递归”的第一个Google结果: 作为参考,您可以在右侧使用规则的左侧,得到递归。我忘了列出所有可能的回溯。对于现在的'search(X,Y

我得到的数据来自

father(adam, matt).
father(matt,frank).
father(frank,jim).

grandfather:-father(X,A),father(A,Y).
我实际上如何使用递归搜索祖父或曾祖父?基本上,使用循环表示X到Y

编辑:和所有可能的匹配,因为有更多的父亲和儿子的

谢谢

这几乎是“prolog递归”的第一个Google结果:


作为参考,您可以在右侧使用规则的左侧,得到递归。

我忘了列出所有可能的回溯。对于现在的'search(X,Y):-father(X,A),write(X),write('is father to'),write(A),nl,linkedcity(A,Y),write('is father to')。但它只列出了1种可能。