clpfd

    4熱度

    1回答

    我想知道如何解決一個未知的基本線性方程。 我試圖通過字符串分割來獲得我需要的一切來解決方程,但我相信有更好的方法。 solve(5 + X = 10). X = 5. solve(5+8 = Ans). Ans = 13. 這是我試圖解決的事情。我想用解決方案/ 1。 預先感謝您。

    3熱度

    1回答

    運營商#=是在某個頁面上提到的,例如, https://www.metalevel.at/prolog,但不在大多數其他頁面上,例如:http://www.swi-prolog.org/pldoc/man?section=operators 此運算符是什麼意思?

    4熱度

    2回答

    工作 我有以下代碼: :-use_module(library(clpfd)). afn(A,B,C):- C#= B*A. 它的工作原理與所有整數的權利,但不能與十進制數字: 43 ?- afn(20, 10, C). C = 200. 44 ?- afn(20, -10, C). C = -200. 45 ?- afn(20, -10.5, C). ERROR:

    1熱度

    1回答

    我想做的事情是生成給定列表中元素的所有組合。例如:從[a,b,c],我可能想要: [] [a] [b] [c] [a,a] [a,b] [a,c] [b,a] ... 依此類推。也許這是一個神奇的序言。如果是這樣,我很樂意聽到它。 但是,我的問題不在於解決這個特定的問題,而在於更多的人請求解釋Prolog的搜索算法的一些微妙之處。 所以在這裏我就是這樣做首先要解決上述問題: m

    1熱度

    1回答

    我是Prolog新手,目前正在研究一個簡單的約束編程問題。所以我有四個實數A,B,C,D,其性質如下: A + B + C + d = A B C * D = 7.11 由於使用整數更容易,我嘗試了以下執行: :- use_module(library(clpfd)). grocery(Vars):- Vars=[A,B,C,D], X #= 100 * A,

    1熱度

    1回答

    我正在編寫一個Prolog謂詞,將前三個元素從編號列表中刪除並打印結果。編號列表的例子: [e(f,1),e(o,2),e(o,3),e(b,4),e(a,5),e(r,6)]. 原來斷言對於正常的名單看起來是這樣的: strim([H|T],R) :- append(P,R,[H|T]), length(P,3). 所以,既然長度斷言完全適用於編號列表,以及,我只有寫

    5熱度

    2回答

    我開始學習Prolog,我想要一個給定整數P的程序給整數A和B,使得P = A² + B²。如果沒有滿足這個方程的A和B值,false應退還 例如:如果P = 5,它應該給A = 1和B = 2(或A = 2和B = 1),因爲1² + 2² = 5。 我想這應該工作: giveSum(P, A, B) :- integer(A), integer(B), integer(P), P is A*A

    1熱度

    1回答

    我目前是Prolog的初學者,我一直在遇到一個操作錯誤。根據編譯器,它必須對「do語句」做些什麼。任何指導都將非常感激。謝謝。 :-use_module(library(clpfd)). :-use_module(library(lists)). go :- Mary = 1, John = 2, Jim = 3, Persons = [Mary,

    0熱度

    1回答

    我目前正在研究一種算法,該算法試圖找到問題的所有解決方案,「在這樣的一個8x8板上放置8個騎士有多少種方法?他們都不會互相攻擊嗎?「 現在我已經能夠應用8皇后8x8板解決方案來解決我在網上找到的8皇后算法中8個主教和8個車的類似問題。 (由於Bishops和Rooks在對角線方向上或水平/垂直方向移動,這與Queens算法非常相似) 以下是我到目前爲止的內容。 solution([]). sol

    11熱度

    3回答

    如何使用謂詞包含(b,l,t)正確地寫入空(b,t) - 動作的效應公理包含(b,l,t)謂詞評估爲真,如果桶b在時間t持有l升水。 (b,t):在時間t完全清空桶b。 (b,b',t):儘可能多地從桶b向桶b'輸送水,而不會在時間t開始溢出任何開始。在時間t + 1處可見轉移的影響。轉移的影響在時間t + 1可見。 桶1裝滿水並容納7升。桶2是空的並且容納3升。目標狀態是b2包含1升水。 我要說