cost 281 ms
在不使用内置 findall 的情况下实现 Prolog findall 的简单版本 - Implementing a simple version of Prolog findall without using the built-in findall

我正在尝试在 Prolog 中实现一个简单版本的 findall,而不使用内置的 findall 或类似的内置谓词——就像一个学习练习。 例如,假设我的数据库中有一个关系 a/1, 我想要一个像 find_the_as(List) 这样的关系给我 List = [1,11,13]。 我可以使 ...

Prolog 限时找到所有解决方案 - Prolog findall solutions within time limit

我想在一定时间内找到目标的所有解决方案。 我的意思是我想最多搜索时限的解决方案,并返回所有找到的解决方案,无论是否达到了时限,这与解决方案列表是否完整无关。 我尝试了以下方法: 但是,如果达到时间限制,它不会返回找到的部分解决方案列表,并且“false”不能是依赖于 Sol 的表达式。 这个问题与P ...

PROLOG,是否可以在不使用内置谓词(例如 bagof 或 findall)的情况下将谓词中的所有结果收集到列表中 - PROLOG, Is it possible to collect all result from a predicate to a list, without using built in predicates, such as bagof or findall

例如,如果我有一个 Prolog 谓词,例如 a(A, B)。 在给定 A 的值的情况下,是否可以在不使用诸如bagof/3或findall/3之类的内置谓词的情况下将 B 的所有在谓词 a 之后的值收集到一个列表中。 ...

如何正确制定 findall/3 的异常? - How to formulate an exception for findall/3 correctly?

我已经开始学习 Prolog 并且我想获得 findall/3 玩家的对手列表。 在概括中,我只想将实际上是玩家的对手添加到列表中,除了我自己要求的玩家。 我该如何制定这个例外? 我知道否定是失败的概念,但我不确定我是否以及如何在这里需要它。 我实际上预计,该决议将按如下方式工作: 我错过了什么? ...

在序言中查找所有内容 - Find all in prolog

我有一些员工: 我想打印所有这些。 我现在这样做: 它可以工作,但看起来不太好,我的意思是,'_' 太多了,我必须写出“Id、PosId、FN、LN、Birth”字符串。 如何在 findall() 中直接找到员工? ...

在 findall 中过滤 - Fitltering in findall

我有规则: 其中分数定义为: 我只想找到 H 不在 Enemies 或 Team 中的 (H,E)。 我后来尝试exclude ,但结果是元组,使它工作有点复杂。 有没有办法在findall方法中过滤掉它? 我该如何处理? ...

findall的Prolog问题,如何构造成对的列表(element,list_of_elements) - Prolog problem with findall how to construct a solution of a list which is a pair (element, list_of_elements)

我正在尝试解决问题,但我不知道如何正确处理谓词findall。 这个想法是下一个。 我们有一张桌子,有一些桌子堆放在桌子上。 这可能是给定情况的一个示例:Table-> a,b,c,d 因此,块a,恰好在表上,块b在块a上,依此类推。 我们还有一些谓词,例如下 ...

将一个变量的多个统一化 - Prolog multiple unifications to one variable

我需要将数据库中的所有术语统一为一个变量。 对于给定的代码: 我得到输出: 我需要得到类似的东西: 可能吗? 我知道retract / 1,它从数据库中删除了该术语,我可以遍历所有这些事实,然后逐个从数据库中撤回它们,但这似乎就像在开枪。 任何给定的建议都是不折 ...

在Prolog中合并列表中的元组元素 - Merging elements of tuples in a list in Prolog

我需要从知识库中创建一个列表,看起来像这样: 该列表需要包含元组,每个元组包含 fact2 的第二个和第三个值,以及 fact2 的相加数字,只要 fact1 和 fact2 的第一个值匹配。 也许当我展示我目前拥有的东西时,它会变得更清楚。 这是我使用 findall 语句的谓词,对我来说, ...

如何使用findall / 3(仅使用一个谓词)内联目标? - How to inline a goal with findall/3, (use just one predicate)?

我有一个看起来像这样的知识库 对于每个fact1和fact2 (在此示例中)数字匹配,我希望有一个对应的字母列表作为元组。 我想为此使用findall/3和一个谓词。 我之前在这里问过一个问题 ,该问题是如何使用两个谓词来解决相似的问题。 该解决方案如下所示: 给定事实 ...

如何在Prolog中返回推荐列表? - How to return a list of recommendations in Prolog?

对于我的任务,我应该列出20个潜在的宠物,然后定义每个宠物的事实。 然后我需要问潜在的宠物主人五个问题,这将有助于确定哪些宠物是好的建议。 我试图根据用户输入返回宠物列表但它每次都返回true并且实际上没有列出推荐的宠物。 不知道我哪里错了。 我只会在我的代码示例中包含一些宠物,所以它不 ...

Prolog 谓词无法解析 - Prolog predicate doesn't resolve

这可能是一个菜鸟错误,但我正在尝试解决这个问题: 使用 findall 谓词查找查询以获取以下答案:获取在其居住城市以外的城市工作的人员列表: 这是数据库: 这是我试图用来解决它的谓词: 但它只返回false 。 有谁知道如何修理它? ...

高效的findall()处理? - Efficient findall() processing?

我具有以下“事实”结构。 然后,我希望有成千上万的人。 “条件”是在处理事实时将要评估的条件。 对于每个正确的事实,我将分数和索引存储在列表中以进行进一步处理。 一般的想法是找到全部findall/3事实,然后遍历它们... 我担心的是, findall/3每次运行都会吞噬 ...


 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM