prolog

    1热度

    1回答

    如何使用Prolog将CNF子句转换为喇叭形式?我正在尝试创建一个将CNF作为输入的SAT求解器,这将需要转换为喇叭形式。

    4热度

    1回答

    请考虑以下Prolog程序。 a(X) :- b(_), c(X). b(1). b(2). b(3). c(1). 运行查询: a(X). 在SWI-Prolog的 ,我们得到三个结果,所有的X = 1 鉴于我们不关心匿名变量,是什么阻止SWI-Prolog返回单个结果?为什么不执行此优化? 感谢

    0热度

    1回答

    我有以下程序: filter([],_What,[]). filter(List,What,Output):- not(select(What-Val,List,Rest)), filter([],What,Output). filter(List,What,[Val|Output]):- select(What-Val,List,Rest), fi

    2热度

    1回答

    我将如何去查找在序言中的列表中找到连续的字符串重复。 什么我究竟试图找到,例如,是这样的: input => output AAAAAA => 6*(A) ABABAB => 3*(AB) ABCABCABC => 3*(ABC) 我写了DCG文法这一点,我试图把它给我这个结果。 这里的语法,如果需要的话: exp --> term. exp --> term, [+], exp.

    1热度

    1回答

    我试图创建一个谓词,每次输出所有列表减一个元素。对于列表[A,B,C],我想回谓词 a, [b, c] b, [a, c] c, [a, b] 我创建了如下断言: elem_list(Elems, X, ElemsNoX) :- append(ElemsA, [X], ElemsAX), append(ElemsAX, ElemsB, Elems), appe

    4热度

    1回答

    我怎样才能让一个swi-prolog程序执行Python文件score.py并得到执行的输出python脚本获取产值? 我读过有关process_create/3和exec/1但我无法找到太多的文档

    1热度

    1回答

    我试着用atom_chars函数,但它不起作用。什么get_string功能应该做的是以下几点:从JavaScript GET字符串作为输入变量, 并返回一个字符串,仅此而已。 get_string(in,out):- atom_chars(in,out).

    0热度

    1回答

    要知道这些是什么L1,[H1 | L2]解释。根本不知道。 bubSort([],[]) :- !. bubSort([H],[H]) :- !. bubSort(L,SL) :- append(L1, [H1,H2|L2], L), H2 < H1, append(L1, [H2,H1|L2], NL), !, bubSort(NL,SL). bubSort(L,L).

    2热度

    2回答

    我试图匹配一些语句(例如001 [0,0,1],(1+(1/0))['(',1,+,' ( '1/0 ')', ')'],等等。 我自己做了下面的小DCG。 g3 --> s3. s3 --> e3. e3 --> eAdd. e3 --> eMin. e3 --> eMul. e3 --> eDiv. e3 --> n3. eAdd --> ['('],e3,['+'],e3,

    3热度

    1回答

    我在用数学公式替换参数的递归方面存在一些问题。 我使用在数学公式中替换参数的谓词。 replace(Term,Term,With,With) :- !. replace(Term,Find,Replacement,Result) :- Term =.. [Functor|Args], replace_args(Args,Find,Replacement,Replac