clpfd

    2熱度

    2回答

    我需要最小化Prolog中的謂詞。目前我正在使用GNU Prolog Java。 我有這個事實 army(Territory,X). 上面說的是給定的領土得到了X軍隊。現在我想找到給定玩家擁有的最少軍隊數量。所以我寫: place_army(Player, Territory):- fd_maximize(army(Territory, X), X), owner(Play

    1熱度

    1回答

    我的愛因斯坦分配是解決愛因斯坦問題。 我必須在Prolog中使用CSP模型來解決它。我沒有給出模型,只有問題和一些輸入數據。我的解決方案必須是通用解決方案,我的意思是,對於一些輸入數據,我必須提供解決方案。問題的維度是N,例如N可能是5(我們有5個房子),但它可以變化。 我在互聯網上找到的許多解決方案都將約束直接放在代碼中,但我需要使用輸入數據生成它們。該問題必須使用MAC(維護弧一致性)算法來解

    -4熱度

    1回答

    問題一般來說:我們有8 * 8的地圖,我們必須用1到6的數字來填充空的方格。但是在每一列和原始數字中只能遇到1次。每一行和列都留空。來自兩側的數字,上下顯示我們的第一個數字,這應該出現(但它可以出現在兩個空方塊之後)。 所以,現在我有了這個代碼,它最終在4 * 4地圖的swi-prolog上工作。 :- module(ab, [ab/0]). :- [library(clpfd)]. gen

    3熱度

    2回答

    我想弄清楚如何生成集合列表,其中每個集合的長度爲N,每個集合的總和爲X. 我發現這個代碼: num_split(0,[]). num_split(N, [X | List]):- between(1,N,X), plus(X,Y,N), num_split(Y,List). 而且我可以用它來獲得的集列表與和X: num_split(6,List),length(

    7熱度

    3回答

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

    2熱度

    1回答

    我有很多等式,我正在嘗試使用PROLOG來解決。但是,由於它們沒有以任何有用的順序被指定 - 即在定義之前使用了一些變量(如果不是很多變量的話),所以我得到了一個小的收穫。這些都在同一個謂詞中指定。 PROLOG可以處理以隨機順序指定的謂詞嗎?

    3熱度

    1回答

    我最近開始sicstus序言和這個功課CLP(約束邏輯編程)解決了,請幫助我理解這個問題,我應該尋找什麼,我做錯了。所以, 的建築公司: 要獲得原料的不列顛哥倫比亞省的租一輛車是需要6天運送原材料的25T,它每天花費$ 80。 要在地面上建立15T的原材料是需要的,它需要10天,每層150美元。 建立原料的地下20T是需要的,它需要23天(由於挖掘),收費是$ 150以及至少一個需要挖掘機,增加了

    1熱度

    2回答

    我試着編寫一個可以理解用C#編寫的學生程序的prolog代碼。現在我被困在識別學生課程中'如果'陳述的過程中。例如: 以下是我期望學生的代碼。 int d = int.Parse(Console.ReadLine()); // value d is inputted by user int s = 0; if (d>0) s = 2; else if (d==0) s

    1熱度

    3回答

    這是一個立方體,其邊緣是定向的;它只能從左到右,從上到下,從上到下。 edge(a,b). edge(a,c). edge(a,e). edge(b,d). edge(b,f). edge(c,d). edge(c,g). edge(d,h). edge(e,f). edge(e,g). edge(f,h). edge(g,h). 通過下面的方法,我們可以檢查我們是否可以

    3熱度

    2回答

    我試圖做一個時間表出來的事實,事實是在course_meetings(主題,類型,一組描述)的形式, 我決定用蠻力方法 我會生成所有可能的時間表,看看哪一個會通過所有的約束,但是我已經產生了2.6的事實,我該如何優化它,並且有更好的方法。前者爲 。 course_meetings(主題,類型,組,教師,說明)。 解決: - findall([A,B,C,D,E],course_meetings(A