satisfiability

    1熱度

    2回答

    假設我有一個變量(a,b,c,d,e,f,g)的CNF表達式。考慮到{a,b,c,g} = {1,0,0,1}和{a,b,c,g} = {1,1,1,1},如何使用SAT解算器找到(d,e,f)的作業?如果這是一個假設,那麼調用座標求解器來尋找{d,e,f}的分配將是直接的(例如,通過向CNF添加單位子句)。但是如果我有多重假設呢?這可能嗎?

    1熱度

    1回答

    我在我的腦海中有一個項目,我很好奇之前是否做過類似的事情。假設有一組不同的約束條件,並且這些約束條件不能一起滿足。 C = {C1,C2,C3,...,CN} (c1和c2和c3 ... CN):不符合要求 我的目標是分割該組分爲k集合(可能k非常小),使得每一組約束都可單獨滿足。 基本的解決方案是使用貪婪的方法。約束將被選作第一個約束並標記爲第一組。然後,將選擇第二個,並檢查它是否可用第一個約束

    1熱度

    1回答

    我有ANTLR表達式分析器,其可以評估的形式的表達式|使用所生成的訪問者(A &(B C))。 A,B和C可以採用2值true或false中的任意值。然而,我面臨着尋找所有A,B和C組合的挑戰,因爲這些表達是真實的。我試圖通過以下方法解決這個問題。 評估取爲3個變量表達真假每個 這涉及到8點的組合,因爲2^3是8 我評價給予像000,001,010的值..... .. 111到變量和使用訪問者評估

    1熱度

    1回答

    我讀了這本書計算機和難解性 - NP完整性理論指南 Garey和Johnson爲我的算法課程;然而,一年後,在回顧這些材料時,我意識到我從來沒有真正理解庫克定理。 關於這個證明,我理解爲什麼SAT首先被證明是NP(NP-complete的第一個要求),但是我正在努力通過證明在其他NP問題下的「其他」NP完全問題「遺傳」多項式轉換爲SAT。 我在想,如果有人能在一個更淡化的方式解釋,這或許會澄清這部

    1熱度

    1回答

    我讀了很多找到2-SAT問題的算法,即給定的表達式是可滿足與否,可以用多項式時間求解。示例(algorithm)。 對於Krom的程序(Wikipedia),我構造了一個圖,從中我可以很容易地驗證它在多項式時間內的可滿足性。 現在,我想找到這個表達式的解決方案是可以滿足的。 我在想這個(驗證它):首先我將任何形式的強連通分量表達式寫成x,並將值賦值爲0.然後按照算法,存在邊(x! - > y)。因

    1熱度

    4回答

    鑑於陣列,輸出陣列的連續元素,其中總和是0。 例如: 對於輸入[2,3,-3,4 ,-4,5,6,-6,-5,10], 輸出是[3,-3,4,-4,5,6,-6,-5] 我剛找不到最佳解決方案。 澄清1:對於在輸出子陣列的任何元件時,不應該一子集其中與元件到零添加的子陣列。例如:對於-5,子集中的任一個 {[-2,-3],[-1,-4],[-5],....}應該出現在輸出子數組中。 說明2:輸出子

    3熱度

    1回答

    我們知道DPLL算法是回溯+單位傳播+純文字規則。 我舉個例子。用DPLL解決以下可滿足性問題有一個例子。如果將變量「0」賦值給變量之前,將Unit Clause (UC)或Pure Literal (PL)中的哪一個用於解決這個特定示例? {~A \/ B \/ C}, {A \/ ~B \/ C}, {A \/ B \/ ~C}, {A \/ B \/ C} 在這個例子中使用其中兩個(PL

    2熱度

    2回答

    有誰知道一個好的程序,將每個子句的任意數量的變量轉換爲CNF文件,每個子句只有3個變量(3-CNF)?我在計算機科學書籍中看到過這種算法,但是無法在任何地方找到實現,並且如果其他人已經做到了,就不願意浪費時間實施它。謝謝!

    -2熱度

    1回答

    我在Z3中使用最小化函數很多,我擔心一些可伸縮性問題(當我最小化變量的數量增長時)。 「最小化」的底​​層算法是什麼?有沒有一種通用的方法來加快速度?

    0熱度

    2回答

    我在Golfers問題中設置了一組數組(每週都應該組成一個組,一次,每個人都確切地扮演着每星期一次): int: gr; %number of groups set of int: G=1..gr; int: sz; %size of groups set of int: S=1..sz; int: n=gr*sz; %number of players set of int: P=1.