问题标签 [prolog]
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.
c# - 将 Prolog 与 C# 集成
有谁知道集成 Prolog 和 C# 的好方法(最好是免费的)?
我希望创建一个 Prolog dll 或类似的从我的托管代码调用,并在所有处理完成后检索答案。我希望它主要是单面的(c# 调用 Prolog)。
我看过这个关于 Prologs 真实世界使用的问题,但我想知道是否有人对 c# 和 Prolog 有任何经验?还是不错的教程/文章?
functional-programming - 逻辑编程的最佳用途是什么?
我所说的逻辑编程是指声明性编程语言的一个子范式。不要将此问题与“您可以使用 if-then-else 解决什么问题?”混淆。
像 Prolog 这样的语言非常吸引人,值得为了学习而学习,但我不得不想知道什么样的现实世界问题最好用这种语言来表达和解决。有更好的语言吗?逻辑编程是否存在于更流行的编程语言中?答案的愤世嫉俗的版本是Python Paradox的变体吗?
prolog - 在不创建列表的情况下,如何查询 Prolog 中两个值之间的整数?
例如,如果我像between(1,4,X)?
我期望的那样进行查询X=2
,X=3
. 这可能吗?
linux - 什么是适用于 Linux 的好的 Prolog IDE?
我需要为一个类编写一些 Prolog 程序。
有什么建议吗?
prolog - 序言列表中的尾随变量
我正在上prolog的初学者课程,做地图着色问题。这是我的代码。
我的输出如下所示:
任何人都知道我怎样才能摆脱尾随变量?我知道它主要是化妆品,但我不明白它为什么在那里。
list - Prolog:过滤列表?
我目前正在做一个关于 Prolog 的非常短的项目,只是在尝试将我创建的“过滤器”应用于列表时遇到了困难。我已经准备好你可以称之为过滤器的东西,但我无法应用它。如果我说明一下会更好:
...如果满足某些条件,则输出“真”。
...输出一个列表,其中包含第二个参数中使过滤器输出为false的所有元素。(因此,如果 filter(A, X) 为真,则输出为 [Y, Z] )。
我已经准备好“过滤器”函数,但现在我需要将它应用到列表中,如第二个示例所示,不包括使用第一个参数应用时过滤器返回 true 的所有元素。
因此,如果过滤器是简单的 A == B,则该函数应该接收 A [A,B,A,C,D,A] 并输出 [B,C,D],并删除所有显然,过滤器适用。
我在函数的基本结构上遇到了麻烦,所以如果有人可以为这样的函数提供一个基本的大纲,那将会有很大的帮助。我已经尽可能地简化了我的情况,所以我可以接受你可以提供的任何东西,并根据我的需要进行修改。
提前致谢!
prolog - prolog递归查找最大节点
只是一个简单的二叉树,我想找到最大的节点。
示例树:t(t(t(nil,1,nil),2,t(nil,3,nil)),4,t(t(t(nil,8,nil),5,nil),6, t(nil,7,nil)))
我只是不能把它应用到序言中。在这里我显示每个节点。我得到了,但我不明白如何保存最大值并递归地保持它。
编辑:它检查所有叶节点,但忽略 t(nil,8,nil)
prolog - 如何验证序言文件子句数据库中是否存在规则
我正在做一项大学作业,我必须验证当前子句数据库中是否存在某个子句(作为事实或规则)。
这个想法是使用一个头部为 verify(+name, +arguments) 的规则。如果数据库中存在另一个头部为名称(参数)的规则,则此规则应为真
任何帮助将不胜感激...
prolog - 在 prolog 中传递结果
我正在尝试创建一个具有列表列表的函数,它将内部列表的总和与外部列表相乘。到目前为止,我可以总结一个列表,我已经创建了一个函数 sumlist([1..n],X),它将返回 X = (result)。但是我无法获得另一个函数来有效地使用该函数,我已经尝试过 is 和 = 都无济于事。
prolog - Prolog - 输出列表?
我有这个功能
一个示例调用是sublist(2,[1,2,3],Z)
. 在执行结束时它只给我“是”,但我想看看 Z 的内容。
我知道这很简单,因为我有其他指令可以做类似的事情,但是这个不起作用。