prolog-dif

    3热度

    1回答

    我在这里有一个Prolog的问题,我试图让独特机场到列表中,但预期我的谓语不起作用。 not_member(C, []). not_member(C, [H|L]) :- not_member(C, L), C \== H. path(X, Y, [X,Y]) :- flight(X, Y, _, _, _, _). path(X, Y, [X,P]) :-

    3热度

    2回答

    相同的元素,我有两个字符表工作,我要检查,如果他们有相同的元素,除了在同一个位置,就像这样: compare([L1,L2,L3,L4],[W1,W2,W3,W4]) :- ((W1 \= L1, W2 = L2, W3 = L3, W4 = L4); (W1 = L1, W2 \= L2, W3 = L3, W4 = L4); (W1 = L1, W2 = L2, W3 \= L3, W4

    2热度

    1回答

    sisters(mary,catherine). sisters(catherine,mary). brothers(john,simone). brothers(simone,john). marriage(john,mary,2010). marriage(mary,john,2010). marriage(kate,simone,2009). marriage(simone,k

    6热度

    1回答

    本页面的练习09 http://www.ic.unicamp.br/~meidanis/courses/mc336/2009s2/prolog/problemas/要求创建一个将重复元素打包到子列表中的谓词。 一个直接的解决方案是简单的 pack([], []). pack([H|T], [I|U]) :- split(H, T, I, P), pack(P, U). 其

    1热度

    1回答

    我是新来的Prolog,我试图理解它。 我开始用一些简单的程序,这应该: 检查元素是否包含在列表的其余部分 如果FALSE什么都不做 如果真把它添加到第二个列表。 (只有一个字符应该添加到第二个列表中)。 与预期结果的一些例子: ?- occ([a,b,c,a,a,b,e,f,g], Y). Y = [a,b]. ?- occ([a,a,a,a,a], Y). Y = [a]. ?-

    2热度

    3回答

    写谓词allDistinct/1,其参数为(符号)的列表,并且成功,如果列表中的所有符号是不同的。 notin(A,[]). notin(A,[B|C]) :- A\=B, notin(A,C). allDistinct([]). allDistinct([_]). allDistinct([A|B]) :- notin(A,B), allDistinct(B).

    1热度

    2回答

    我只是在学习序言,有一件事我不能理解我的头。 假设我有以下程序 value(v). a(X) :- not(value(X)). 所以a(v).给我假的,因为value(v)可以证明是正确的。 a(w)给我的真实,因为没有事实value(w),因此,即使在尝试时,它不能被证明是正确的。 据我了解,要求a(X).应该给我第一个可能的值,使得value(X)不可证实。应该有无限的可能性,因为只

    1热度

    1回答

    我有一个内容滑块设置并且能正常工作,但是当尝试向内容导航添加一个url时,我仍然在链接中看到了我的占位符(#)的链接。在静态块中调用产品的正确方法是什么?我试着用沿此线的东西: <ul id="nav1"> <li><input id="array_text_0" type="hidden" value="<li><a href="#"></a></li>"/></li> <li><input

    2热度

    2回答

    woman(lisa). woman(maggie). parents(lisa , homer, marge). parents(maggie, homer, marge). sister(X, Y) :- X \= Y, woman(X), parents(X, P, M), parents(Y, P, M). 当我跑了下面的查询,我没有

    2热度

    1回答

    我被以下Prolog问题卡住了: 给定了一个没有周期的图的边作为事实。 e.g: edge(a, b). edge(b, c). edge(c, d). edge(c, e). ... 我必须写一个测试是否有顶点X和之间的两条不同的路径谓词Y. e.g呼叫如果有两个不同的路径从节点到节点c two_paths(a, c).应返回true。我知道如何检查是否有两个顶点之间的路径: pat