否定即失敗
編輯否定即失敗(簡稱NAF)是邏輯編程中的一個非單調推理規則,用于推導出{displaystyle~p},取決于推理算法的完整性,從而也取決于形式邏輯系統。,取決于推理算法的完整性,因此也取決于形式邏輯系統。從最早的Planner和Prolog開始,作為失敗的否定就一直是邏輯編程的一個重要特征。在Prolog中,它通常使用Prolog的族外結構來實現。更廣泛地說,這種否定被稱為弱否定,與強否定(即明確的、可證明的)相反。
Planner語義
編輯在Planner中,作為失敗的否定可以按如下方式實現。如果(不是(目標p)),那么(斷言?p)。這就是說,如果證明p的窮舉搜索失敗,那么就斷言?p。這說明命題p在任何后續處理中都應被假定為不真實。然而,Planner不是基于一個邏輯模型,對前面的邏輯解釋仍然是模糊的。
Prolog語義
編輯在純Prolog中,NAF字元的形式為可以出現在子句的主體中,并且可以用來推導出其他NAF字詞。例如,只給定四個子句
完成語義
編輯NAF的語義仍然是一個開放的問題,直到1978年,KeithClark表明它在邏輯程序的完成方面是正確的,其中,寬泛地講,只有和NAF推理規則模擬了用完成度進行明確的推理,等價關系的兩邊都被否定了,右邊的否定被分布到原子式上。例如,為了表明在非命題情況下,完成度需要用平等公理來增強,以正式確定具有不同名字的個體是不同的假設。NAF通過統一的失敗來模擬這一點。例如,只給定兩個子句用xxx的名字公理和域封閉公理來增強。完成語義與包圍法和封閉世界假設都密切相關。
自動表征語義
編輯完成語義證明了對結果的解釋不被相信,就像在自體地方邏輯中一樣。Gelfond和Lifschitz在1988年進一步發展了自體現象解釋,它是答案集編程的基礎。帶有NAF字元的純Prolog程序P的自體語義是通過用一組地面(無變量)NAF字元Δ擴展P而得到的,在這個意義上是穩定的,即{displaystylep}的暗示。不是由P∪Δ所隱含的}。
內容由匿名用戶提供,本內容不代表www.gelinmeiz.com立場,內容投訴舉報請聯系www.gelinmeiz.com客服。如若轉載,請注明出處:http://www.gelinmeiz.com/170985/