clpq

    5熱度

    2回答

    我在(swi)prolog中使用clpfd庫約束玩弄。 我試圖確定何時一組約束封裝或包含另一組約束如果前者爲真,則後者爲真。這可以用邏輯蘊涵來表示。然而,我不能讓#==>操作符給我我想要的結果,所以我使用了不是(Co1#/ \#\ Co2),其中Co1和Co2是約束條件。這對個人的約束條件很好,但我希望將約束連接傳遞給Co1和Co2。 現在,這是蹭。當我嘗試 X#<7 #/\ #\X#<4.

    1熱度

    4回答

    我有這樣的場景,其中,我在序言查詢得到一個線性方程如下面: ?- myquery(3X + 5Y = 10, Result). 所以我的查詢有一個方程3X + 5Y = 10,這在一般的假設的形式AX + BY = C,其中A = 3,B = 5和C = 10。 現在,在我的Prolog程序,我試圖定義一個謂詞,可以採取在上面的查詢中提到的表達。也就是說,我不知何故想獲得A,B和C值,並且也涉

    2熱度

    1回答

    我正在使用SWI-Prolog,我很新,仍在學習。實際上,這個問題是Why can't my rule solve for X in a simple algebraic equation?的後續行動 我已經導入clpq。 ?- use_module(library(clpq)). true. 我的方程是6X + 7× - 3 = 0,其中x是從字面上-1.5或也1/3如果使用二次方程。 ?

    7熱度

    3回答

    我讀了一篇關於Prolog和邏輯編程的簡短文章。我很好奇,如果邏輯程序可以做代數。就像你能問什麼X的變量在方程5 + X = 7中並得到-2的答案?

    1熱度

    1回答

    對不起,如果這是錯誤的地方問。 我一直在使用SWI Prolog的clpq庫來解決單工。我覺得語法非常簡單和富有表現力。它看起來像這樣: :- use_module(library(clpq)). main(U, V, W) :- { 0 =< U, U =< 1, 0 =< V, V =< 1, 0 =< W, W =< 1 },

    2熱度

    1回答

    我想編寫一個解決方程式的程序SWI-Prolog。我知道GNU Prolog,這讓我很緊張......這裏有什麼問題? equation(X1,X2) :- { 2*X1 + 3*X2 =:= 6, {X1 is 0; X1 is 1}, {X2 is 0; X2 is 1} }. X1和X2總是等於或01。