Prolog是最常用的逻辑编程语言。它通过按时间顺序回溯和通过统一的模式匹配来支持非确定性编程。
我在Prolog中编写了一个处理单位转换的程序,但我总是遇到堆栈溢出:你知道为什么吗?
无论重构如何,问题仍然存在,但它会改变,如果我切换第 6 行和第 7 行,我会得到不同的结果?这怎么可能? 如果相关的话,这是 MacOS Monterey 上的 gnuprolog (
我是序言新手,正在尝试对列表进行求和,例如: a(1,2,3).a(2,3,4).a(4,5,6).a(7,8,9)。 规则1(SUM):-findall([X,Y,Z],a(X,Y,Z),列表),总和(列表,SUM)。 我尝试使用 sum(LIST,SUM) 并且会
我已经为这个问题苦苦挣扎了两天多了。我的 Prolog 代码就这么简单: 父亲(亚伯拉罕,以撒)。 母亲(莎拉,艾萨克)。 父母(X,Y):-父亲(X,Y)。 父母(X,Y):-母亲(...
有人可以解释一下替换组合的逻辑如何与以下代码块配合使用吗? 加2(0,X,X)。 % 0+X = X plus2(s(X), Y, s(Z)) :- 加2(Y,X,Z)。 % (...
我正在尝试编写一个接受 u0v 形式的字符串的 dcg,其中 u 和 v 是字母表 {1, 2, 3} 上的字符串,u 是 revere 中的 v。我所拥有的似乎有效,因为问题的第一个答案......
Lion 和 Unicorn 使用 Prolog SAT 求解器
Prolog SAT 求解器在解决这个谜语方面是否有优势: 当爱丽丝进入遗忘森林时,她并没有 忘记一切,只忘记某些事情。她经常忘记她 名字,一个...
我正在尝试在 prolog 中使用 DCG 创建斐波那契数列。我有这个作为初学者,但是我不知道为什么代码没有被执行。 下面是代码: 撒谎...
例如: isin([1,2,3], [1,0,1,2,3,0]) 将产生 true,因为 123 在 101230 之内 我写了以下代码: isin([AH|AT],[AH|AT]). isin([AH|AT],[BH|BT]):- AH = BH, isin(AT,BT),isin([...
我刚刚开始学习Prolog,我遇到了这个替换示例: 我们有替换 S2 = {X= 兄弟(maya), Y = 朋友(john)} 我们将替换 S2 应用于friend(X, Y...
在Prolog中,需要创建返回事实值的规则。目前只返回“true”而不是我需要的事实
我有一个电影、发行年份、演员、导演的数据库。我需要一个查询,如果年份大于或等于用户输入的给定年份,则返回电影标题。我创建的规则...
我可以用 Prolog 解决逻辑课的作业吗? 5人接受讯问。 A 和 B 的语句丢失。 C 说:如果 A 是真实的,那么 B 也是真实的。 D 说:如果 C 是真实的那么...
添加 (X \= Y) 子句时,Prolog 不会返回正确的查询(据我所知)
知识库: 爱(文森特,米娅)。 爱(马塞勒斯,米娅)。 喜欢(南瓜,honey_bunny)。 喜欢(honey_bunny,南瓜)。 嫉妒(X,Y):- X \= Y, 爱(X,Z), 爱(Y,Z)。 现在我输入嫉妒(vi...
这是在 Prolog 中编码说谎者悖论的正确方法吗? 说谎者悖论英文:“这句话不是真的。” ?- LP = not(true(LP))。 LP = not(真(LP))。 ?- unify_with_occurrs_check(...
这是在 Prolog 中编码说谎者悖论的正确方法吗? 说谎者悖论英文:“这句话不是真的。” ?- LP = not(true(LP)). LP = not(真(LP))。 ?-
我正在使用的地图 (抱歉我的英语不好)我从老师那里得到了 Prolog 代码,但我对这门语言很陌生,所以我无法理解冲突//无冲突//查找着色的真正作用以及为什么他......
如何制作一个递归地倒数到 0 的 prolog 谓词。(swi-pl)
给定一个数字 Num,谓词应从 Num 倒数到 0,不包括 Num。尝试递归地执行此操作,但只收到一个答案作为输出,而不是整个倒计时。 尝试子...
所以我试图告诉 prolog,Lst 中有一个带有 (a,b,) 的元组,但最后一个元组成员不是 2,但 Lst 中还有其他元素可能包含 (,_,2)。 `测试(A,B,C):- 长度(Lst, 2), 我...
我正在 prolog 中制作一个 8 谜题求解器,但我很难弄清楚如何编写游戏规则。 游戏的初始状态表示为列表列表,例如:[[2,8,3,...
我需要编写一个turbo prolog程序,它将从列表中删除所有回文
我需要做一个涡轮序言程序,从列表中删除所有回文(包括交叉回文,如 1 2 1 3 1)。 我尝试使用以下算法编写一个程序: 例如:1 2 1 3 ...