コンテンツにスキップ

DPLLアルゴリズム

出典: フリー百科事典『ウィキペディア(Wikipedia)』

Davis-Putnam-Logemann-LovelandDPLL: Davis-Putnam-Logemann-Loveland algorithm調TrueCNF-SAT

1960: DavisPutnam algorithm1962: Martin Davis: George Logemann: Donald W. Loveland [1]

DPLL使[1]

[]


DPLL/ DPLL[2]

1960rule for eliminating atomic formulas使使

[]


DPLL使

1one literal rule, unit rule

 L1L  ¬L 

pure literal rule, affirmative-nagative rule

 LL 

splitting rule, rule of case analysis

 F L2



subsumption rule

 C D D

cleanup rule

 A ¬A 

11



L L  ¬L 

L ¬L  L



使

rule for eliminating atomic formulas

 F L






[]


DPLL[3]  F""""
DPLL(F):
 1リテラル規則、純リテラル規則などを使いFを単純化
 ifFis 空:
     return "充足可能"
 ifFis 空節を含む:
     return "充足不能"
 原子論理式 v を選択
 真理値 b を選択 (true or false)
 if DPLL(v = b としたF) is "充足可能":
     return "充足可能"
 if DPLL(v = ¬b としたF) is "充足可能":
     return "充足可能"
 return "充足不能"





 v b



1


[]


DPLLIBM 704使使 [1][4]

DPLL1使[2]

[]

[]


 




1 () 1  


1 


1  

  


(1, p = )


(1, q = )


(1, r = )

  

[]


 




 u = 


1 /

 


 調1 t =    t =   DPLL u = , t = s = / 


(純リテラル規則, u = 真)
(分割規則, 真/偽)
(1リテラル規則, , t = 偽)
節集合が空になったので、充足可能であることが証明された。

脚注[編集]

  1. ^ a b c Davis, Martin; Logemann, George, and Loveland, Donald (1962). “A Machine Program for Theorem Proving”. Communications of the ACM 5 (7): 394–397. http://portal.acm.org/citation.cfm?doid=368273.368557. 
  2. ^ a b 例えば、馬野洋平, 他. 基本対象関数に基づく節を持つCNF論理式の充足可能性判定, 電子情報通信学会論文誌D, Vol.J-93-D, No. 1, pp.1-9, 2010. 参照
  3. ^ Michael Alekhnovich, Edward A. Hirsch, Dmitry Itsykson. Exponential lower bounds for the running time of DPLL algorithms. Journal of Automated Reasoning, Volume35 , Issue1-3 , pp.51-72, 2001.
  4. ^ Davis Martin. The Early History of Automated Deduction. in Handbook of Automated Reasoning, Volume I, Alan Robinson and Andrei Voronkov(ed), 2001. ISBN 9780444829498.

参考文献[編集]

関連項目[編集]