如何在Prolog中实施复制运动理论?
使用此输入: 托马斯,饮食],[]) 我想产生此 sbarq( whnp( wp(what) ), sq( vbd(did), np(nnp(thomas)), vp( vb(eat), whnp( wp(what) ) ) % this i…
prolog:用第一个替换列表中的第n个项目
我想拥有一个可以用第一个替换列表中的第n个项目的序言。 示例: % replace(+List,+Counter,-New List, %-First Item). ?- replace([1,2,3,4,5],3,L,Z…
实施反向列表时不停止
这是我的实现: popped_last_el([], [_]). popped_last_el([F | R], [F | X]) :- popped_last_el(R, X). last_el(X, [X]). last_el(X, [_ | L]) :- la…
prolog:将列表转换为字典?
I am searching some swi-prolog predicate: list_to_dict(List, Dict) :- ?? Which is able to convert a list like l = [a, b, c, d] into a Prolog…
在prolog Systems跨系统的ATOM_TO_TERM/3等于什么?
我发现Swi-Prolog提供了: atom_to_term(+atom,-term,-bindings) 使用ATOM用作read_term/2使用选项variable_names 的输入 并在绑定中返回术语和变…
如何从SWI-Promog中的用户输入中获取全名并将其显示为输出?
我是Swi-Promog的新手,并且仍在学习。我正在制作一个简单的程序来询问用户的全名并显示输出。但是,我一直在为如何从用户输入中获得全名,以及一个名…
如果逻辑编程中的语句,如何链多个链接?
我想在收到新状态后更新我的知识库, not((hasBeenVisited(X-1, Y)); not(wall(X-1, Y)) -> asserta(isDangerous(X-1, Y)); not(((hasBeenVisited(X+1…
Prolog,检查特定列表参数
% adds two lists together add_pairs(X, [], X). add_pairs([I1, I2, I3, I4, I5], [I7, I8, I9, I10, I11], [O1, O2, O3, O4, O5]) :- O1 is I1 + I…
prolog:succ(x,y)逃避参数是否足够实例化?
我的程序看起来很少: test(1, N, M) :- succ(N, NN), random(1, 4, X), test(X, NN, M). test(2, N, M) :- succ(MM, M), random(1, 4, X), test(X,N,…
列出列表序言的所有组合
我想在 Prolog 中编写一个谓词,显示 N 元素列表与恰好 M “黑色元素”(b 为黑色,w 表示白色)。 示例查询: ?- combination(3, 2, L). L = [b, b, …
获取序言中列表的分布
我想计算prolog中卡手的分布。 It means get this result: ?- distribution([sq,s9,s8,ha,hk,h5,da,dk,dj,d4,ca,c7,c6],D). D=[[spade,3],[heart,3],[…
如何在Prolog中统一术语运算符?
例如,我可以在SWI-Prolog中统一操作数: ?- +(X,Y) = 1 + 2. X = 1, Y = 2. 但是如何统一操作员? ?- Op(X,Y) = 1 + 2. ERROR: Syntax error: Operat…