我想將我的子句轉換爲合相範式。每次運行我的程序時都會更改子句,所以我想我需要在我的程序中內置一個工具來爲我執行此操作。有沒有任何建議如何實施?我還發現一些圖書館,如: Orbital library。我是邏輯編程的新手,我從來沒有使用過它們,它很難通過它們。我也試圖找到一個例子來澄清事情,但沒有出現。我正在用java語言編寫我的程序。請幫忙... 在此先感謝!
我已經寫了一些代碼來根據here描述的標準從存儲cnf的文件加載cnf。 該文件是: c simple_v3_c2.cnf // lines bigining by c are comments
c
p cnf 3 2 // the line bigining by p is the description of the pb
1 -3 0 // folowing lines
我有一個庫,我必須與其進行接口,基本上它作爲數據源行爲。在檢索數據時,我可以將特殊的「過濾器表達式」傳遞給該庫,後者將被轉換爲SQL WHERE部分。這些表達式非常有限。它們必須是聯合的正常形式。像: (A or B or C) and (D or E or F) and ...
這當然不是很舒服的編程。所以我想製作一個小包裝器,它可以解析任意表達式並將它們轉換爲這種正常形式。像: (A an
所以我寫了一個查詢在Visual Studio 2010中(我的意思是我打開服務器資源管理器,右鍵單擊服務器並選擇新查詢)。該查詢包括條件 A AND B AND C AND D AND E AND F AND (G OR H)
這是一種連接範式(CNF)。當我運行查詢(連接到MSSQL Server 2008)時,它將文本改爲 A AND B AND C AND D AND E AND F
我想壓縮正命題公式 析取範式(DNF)。 我只是假設簡單DNF的時刻沒有否定 文字。反向過程中,減壓可以很容易地定義爲 。對於只能從合取和析建立了一個公式, 以下重寫規則將產生一個DNF: A & (B v C) --> (A & B) v (A & C)
(A v B) & C --> (A & C) v (B & C)
這裏是一個減壓的一個例子: Example: Decompressi