prolog-findall相关内容

Prolog findall/3

假设我有一个包含多个事实的谓词 pred. pred(a, b, c).预测(a,d,f).预测(x,y,z). 我可以使用 findall/3 来获取所有可以进行模式匹配的事实列表吗? 例如,如果我有 pred(a, _, _)我想获得 [pred(a, b, c), pred(a, d, f)] 解决方案 简单总结一下@mbratch在评论区说的话: 是的, ..
发布时间:2022-01-12 10:50:42 其他开发

正确使用 findall/3,尤其是最后一个结果参数

我是 Prolog 的初学者,我正在处理一个对您来说可能很愚蠢的问题,但我真的不明白我做错了什么!好的,我有这个文件fruits.pl,里面有这样的东西: fruit(apple,small,sweet).水果(柠檬,小,不甜).水果(瓜,大,甜). 我已经(在那个文件中创建了一个 coexist(X,Y) 原子来检查两个水果是否可以放在一起放在盘子里.它工作正常!但现在我无法创建一个建议(X ..
发布时间:2021-06-22 18:45:59 其他开发

序言 findall/3

假设我有一个包含几个事实的谓词 pred. pred(a, b, c).预测(a,d,f).预测(x,y,z). 我可以使用 findall/3 来获取所有可以模式匹配的事实的列表吗? 例如,如果我有 pred(a, _, _)我想获得 [pred(a, b, c), pred(a, d, f)] 解决方案 简单总结一下@mbratch在评论区说的: 是的,但您 ..
发布时间:2021-06-14 20:18:58 其他开发

Prolog findall实施

我受命在Prolog中实现findall的版本,除了not和cut之外,不使用任何Prolog内置组件-因此基本上是在纯Prolog中. 我正在尝试搜索所有直系后代的树并将结果返回列表中 parent(a, b). parent(b, c). parent(b, d). parent(e, d). 到目前为止,我有: find(X, L) :- find2(X, [], L). ..
发布时间:2020-05-02 05:07:12 其他开发