问题标签 [prolog-findall]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
539 浏览

list - 如何在 Prolog 中获取对象列表

当我喜欢自己解决以下问题时遇到一些困难时,我正在解决一些序言练习:考虑你有这个关于对象的事实基础:

现在的想法是制作谓词 object_description(List) ,其中 List 是每个对象与其特征的连接,例如:

我尝试使用 bagof 和 findall 但找不到正确的答案。

提前谢谢

0 投票
1 回答
1138 浏览

prolog - Prolog findall 存在量词

我在 Prolog 中遇到问题。这是我使用的一些代码。

这将获取两个列表列表作为输入,并确定它们是否包含具有相同元素的列表。例如[[1,2],[3,4]]具有与 相同的元素[[2,1],[4,3]]。这工作正常。

现在我的发现:

重要的是要知道 verdeling2/3 是一个返回不同列表列表的子句(如上所述),它是由 [1,2,3,4,...] 的排列构成的 verdeling2 的一些不同输出/3(根据作为输入的排列)是:

现在我想要一些东西,让我概述所有不包含相同元素的列表(使用 has_same_elements)。我认为我对 findall 的使用应该可以解决问题,但它会返回完整的数据包,而不是过滤我不想要的数据包。

0 投票
2 回答
295 浏览

list - 逻辑处理列表

我的程序中有大量事实,列出公司中的开发人员和设计师,以及以前的项目,像这样..

我还建立了一个定义,显示从事项目的设计师或开发人员的列表

我想要的是创建一个新定义,其中包含设计师或开发人员的列表,并显示他们都参与过的所有项目标题的列表(P);像这样。。

如果我必须找到一个人的电影,我可以使用 findall(或 bagof)轻松完成此操作,但我不确定如何使用员工列表执行此操作。有人可以帮我解决这个问题吗?

0 投票
2 回答
879 浏览

prolog - 正确使用 findall/3,尤其是第一个模板参数

我知道 prolog 中有一个内置函数 findall/3,我试图找到总小时数(Thrs)并将它们存储在一个列表中,然后对列表求和。但这对我不起作用。这是我的代码:

你能告诉我有什么问题吗?多谢。

0 投票
3 回答
2029 浏览

prolog - 查找谓词的所有解决方案

我正在尝试定义一个谓词,它接收带有自由变量的单个术语并返回这些变量的映射列表,例如,如果数据库是

预期的输出将是

我一直在尝试通过使用来实现这一点findall/3,但我想不出一种方法来询问自由变量及其可能的值。如果有帮助,我正在使用 swiprolog。谢谢。

0 投票
1 回答
1622 浏览

database - Prolog - 功能相同但没有 findall

有谁知道我如何实现我的谓词做这个但没有“findall”?十分感谢。

0 投票
1 回答
724 浏览

prolog - 如何在 findall/3 元谓词中使用和内部

我想写这个:

仅一行。所以基本上是这样的:

我不知道如何在目标陈述中表达“与”。这可能吗?

0 投票
0 回答
259 浏览

prolog - Prolog (SICStus) findall 中的错误

我在序言程序中有问题。错误出现在谓词 findall 内的谓词移动中。任何人都知道我为什么会收到此错误:

!>= /2 的参数 1 中的实例化错误!目标:_1123>=0 % 1

代码如下:

0 投票
1 回答
682 浏览

tree - 打印没有 findall 的列表

我需要在 prolog 中执行一个程序,该程序打印出给定 N 级树的所有节点的列表(它必须是一个列表)。我只是无法将节点放入列表中。有人告诉我使用 findall 功能,但它仍然不起作用。我不想更改谓词 levelNodes 但没有 findall 的解决方案会很好。

0 投票
2 回答
293 浏览

prolog - 在序言中查找所有统一

我在 PROLOG 中编写了我的第一个简单代码:

它旨在找出 is_beginning 的第一个参数是否等于第二个开始。好吧,恕我直言,它可以很好地回答问题,但现在我想知道是否有可能获得定义的第二个参数的所有可能答案。例如。为了

我希望得到 [], [a], [a,b], [a,b,c] 作为答案统一,但我只得到 [] (最简单的答案)。

有没有可能得到我想要的?也许我的定义有问题?我已经尝试使用 findall 和 forall,但对我来说效果不佳:(

感谢所有的答案。