prolog-assert

    1熱度

    1回答

    說我有事實是這樣的: fact(abc,2). 我想是這樣的(僞代碼): fact_update(Functor,Name,AddToValue) :- if Fact_exist then update_fact : NewVal is CurrentValue + AddToValue else create_new_fact : Functor(Name,AddToV

    0熱度

    1回答

    我需要從謂詞列表中刪除一個項目,但它不起作用。它對我來說仍然是真的,但該項目仍然存在。 代碼: eliminar :- limpar, write('\n*** DELETAR ***\n'), write('O que deseja deletar ?\n'), pegarString(X), doenca(X), format('~Doença

    0熱度

    1回答

    我是新來的Prolog,我很難用動態謂詞。 首先,這裏我執行 :- dynamic(list/1). add(X, LL) :- asserta(list([])), asserta(list(X)), retract(list(LL)). 代碼我知道代碼看起來怪異,但我只是在尋找使用正確的語法。 現在,如果我這樣做: add(2,LL)。 答案將是: LL = 2; LL = []。 但

    4熱度

    2回答

    我在七週內使用七種語言的Prolog教程,並嘗試使用Android Jekejeke Runtime執行一些示例。 例如,如果我從教程添加 likes(wallace, grommit). ,我得到。 Error: Undefined, private or package local predicate likes/2 我嘗試使用斷言,如How to create a fact in S

    1熱度

    1回答

    對不起,如果這是顯而易見的,但我最近一直在學習prolog,並試圖讀入數據以用於推薦系統。 gifter :- write('how much money? '), read(money), nl, assert(will_spend(money)), write('Is the giftee classy? '), read(classy), nl. 上面的代碼應

    0熱度

    1回答

    我用csv_read_file讀一個CSV文件,該文件是: CSV文件: "nsubj(love-1, carol-2)" "nsubj(like-3, carol-2)" 代碼: csv_read_file('test.csv',L) 我得到如下東西: L = [row('nsubj(love-1, carol-2)'), row('nsubj(like-3, carol-2)')]

    4熱度

    4回答

    我寫了下面的程序,它計算輸入數組最長的非遞減子序列。 從列表中找到最長列表的子程序取自計算器(How do I find the longest list in a list of lists)本身。 :- dynamic lns/2. :- retractall(lns(_, _)). lns([], []). lns([X|_], [X]). lns([X|Xs], [X, Y|Ls

    1熱度

    1回答

    我試圖預先計算一些東西和我的節目開始將結果保存爲事實:(簡化代碼) :- dynamic cost/2. %recipe(Id,Cost) recipe(1,20). recipe(2,40). assert_all :- recipe(Id,Cost), assert(cost(Id,Cost)). 但只有第一結果,當我在協商的Prolog SICStus文件成本(1,20)被斷言

    5熱度

    3回答

    從閱讀手冊,我似乎無法找到兩者之間的區別。 手冊上說: 它建議使用擦除動態謂詞的所有條款retractall/1。 所以我選擇在我的程序中使用retractall/1;不過,我想知道有什麼不同。

    -1熱度

    4回答

    我試圖實現一個階乘計算(n!)的解決方案,而不使用遞歸,只使用prolog的retroaction。例如: factorial(0, 1). factorial(1, 1). factorial(2, 2). retroaction(X, Y) :- factorial(K, Y), not(K = X), fail. retroaction(K, Y) :- factorial