prolog-toplevel

    7熱度

    5回答

    我試圖將字符串轉換爲一個ASCII碼列表,像這樣: 7 ?- string_to_list("I'm a big blue banana in space!", C). C = [73, 39, 109, 32, 97, 32, 98, 105, 103|...]. 8 ?- 這不會給我的整個列表,你可以看到,但我需要它。 This solution does not work:我不能按

    0熱度

    1回答

    假設這裏是一個二叉搜索樹,並且給出了規則above(X,Y)-X直接在Y之上。我也創建了規則root(X) - X沒有父母。 然後,我試圖弄清楚這棵樹中節點的深度。 假設樹的根節點是「r」所以我得到了事實level(r,0)。爲了執行規則level(N,D) :-,我在想的是它應該在這裏有一個遞歸。 因此,我試圖 level(N,D): \+ root(N), above(X,N), D is D

    1熱度

    1回答

    我在課堂上學習Prolog,並顯示了一種自動按分號鍵直到沒有更多解決方案的方法。我試圖在谷歌上搜索,但我使用findall的例子,這不是顯示。有沒有其他方法可以在Prolog shell中自動按;? 例如,顯示所有解決方案而不反覆按;。 X = one ; X = two ; X = three ; X = four.

    0熱度

    2回答

    開始 - 這是課程,所以我不能發佈代碼。這更關於prolog如何輸出答案,而不是「我的代碼是否正確」? 我創建了一個謂詞,返回圖之間的所有簡單路徑,給定一個邊的列表。 例如,paths(a, X)將返回以a開頭的所有可能路徑。 說我的KB是: 邊(a,b)。 edge(b,c)。 edge(c,d)。 edge(d,f)。 然後我應該得到X = [[a], [a,b], [a,b,c], [a,b

    1熱度

    1回答

    我在SWI-Prolog的初學者(但在Borland的Prolog的一些經驗),我也面臨着下面的測試代碼一個奇怪的行爲: test(10). test(1). 預計查詢?-test(A)可獲得2個解決方案,如A = 10; A = 1。但是,僅生產A = 10。我不在這裏使用剪切。在SWI-Prolog中,默認情況下回溯可能是關閉的? 在此先感謝

    0熱度

    1回答

    我有一個prolog文件,它將給定的謂詞bongard(A,X)與給定的背景事實進行分類。 片段的規則: bongard(A,[neg]) :- triangle(A,C), \+ in(A,C,D), !. bongard(A,[neg]) :- \+ triangle(A,C), !. ... 我執行這個程序,像這樣:swipl -s file.pl -g "bongard(a, X)

    1熱度

    1回答

    這是我的序言數據庫代碼。 :- dynamic myTable/2. init :- removeAll, asserta(myTable('avalue', 'another value')), asserta(myTable('avalue1', 'another value 1')), asserta(myTable('avalue2',

    1熱度

    1回答

    may(_,[],[]). may(num(U),[est(C1,N1,NT1)|T1],[est(C1,N1,NT1)|T2]):- U =< NT1, may(num(U),T1,T2). min(_,[],[]). min(num(U),[est(C2,N2,NT2)|T3],[est(C2,N2,NT2)|T4]):- U > NT2, mi

    2熱度

    1回答

    我想了解爲什麼與swipl的交互似乎不一致。 這是一個典型的例子。假設我有諮詢的知識庫,包括以下定義: acc_max([H|T], A, Max) :- H > A, acc_max(T, H, Max). acc_max([H|T], A, Max) :- H =< A, acc_max(T, A, Max). acc_max([], A, A). max([H|T], Max) :-

    1熱度

    1回答

    所有關於如何禁用列表截斷的問題,只好用一些這方面的variantion答案: ?- set_prolog_flag(toplevel_print_options, [quoted(true), portray(true), max_depth(100), priority(699)]). 對我來說,這確實不行,在這裏看到: ?- length(L, 25). L = [_7572, _757