H28ヒント集 一階述語論理式 • 全称限量の基本(∀→) 「人は死ぬ。(Manismortal.)」 ∀x(Man(x)→Mortal(x)) • 存在限量の基本(∃∧) 「死なない人がいる。(Thereisamanwhois notmortal.)」 ∃x(Man(x)∧¬Mortal(x)) 一階述語論理式 • 存在限量∃は∧と相性がよい 「AでBのものがある」 「BなるAがある」 (正) ∃x(A(x)∧B(x)) (誤) ∃x(A(x)→B(x)) …よくある間違い 一階述語論理式 • 存在の否定は、∀で言い換えてみよう 「どんなAもBでない」 ¬∃x(A(x)∧B(x)) ⇔∀x¬(A(x)∧B(x)) ⇔∀x(¬A(x)∨¬B(x)) ⇔∀x(A(x)→¬B(x)) …分かりやすいかも 一階述語論理式 • 部分否定は、∃で言い換えてみよう 「すべてのAがBというわけではない」 ¬∀x(A(x)→B(x)) ⇔∃x(A(x)∧¬B(x)) 一階述語論理式 • only 「AだけがB。(OnlyAisB.)」 ∀x(B(x)→A(x))…語順が逆なので注意 一階述語論理式 • if,onlyif,ifandonlyif 「AifB」 ∀x(B(x)→A(x)) …英語と語順が逆 「 AonlyifB」 ∀x(A(x)→B(x)) …英語の語順通り 「AifandonlyifB」 ∀x(A(x)⇔B(x)) 一階述語論理式 • ∀や∃を同値変形して検討しよう ¬∀xΨ(x) ⇔∃x¬Ψ(x) ¬∃xΨ(x) ⇔∀x¬Ψ(x) ¬Ψ(x)をド・モルガン則で同値変形するなど 一階述語論理式 • 全称限量∀xでは領域を意識しよう 「AはB」 ∀x(A(x)→B(x)) xは人間とは限らない。 −1 (虫や石ころや虚数単位 かもしれない。) A(x)が対象を限定していればOK タブロー法 • ひたすら論理式を分解していく (論理結合子をはずしていく) • 枝が単に伸びるα型分解 例) i行目 T: φ∧Ψ : : j行目 T: φ αi j+1行目 T: Ψ αi タブロー法 • 枝が単に伸びるα型分解 (基本) T: φ∧Ψ (T:φと T:Ψで伸ばす) ほかにも F: φ∨Ψ (F:φ とF:Ψで伸ばす) F: φ→Ψ (T:φとF:Ψで伸ばす) タブロー法 • 枝が2本に分岐するβ型分解 例) i行 T: φ∨Ψ : : βi j行 T: φ j+1行 T: Ψ • 木構造ができていく タブロー法 • 枝が2本に分岐するβ型分解 (基本) T: φ∨Ψ (T:φと T:Ψで分岐) ほかにも F: φ∧Ψ (F:φとF:Ψで分岐) T: φ→Ψ (F:φとT:Ψで分岐) タブロー法 • 同じ式(基本は命題変数)にT:とF:がつけば 枝が閉じる 例) i行 T: φ : : j行 F: φ ×i,j ((p→(q∨r))∧(q→s)∧(r→t))→(p→(s∨t)) 1F:((p→(q∨r))∧(q→s)∧(r→t))→(p→(s∨t))n.o.c. 2T:(p→(q∨r))∧(q→s)∧(r→t)1 3F:p→(s∨t)1 4T:p→(q∨r)2 5T:q→s2 6T:r→t2 7T:p3 8F:s∨t3 9F:s8 10F:t8 4 11 F:p12T:q∨r X7,1112 13T:q14T:r 56 15F:q16T:s17F:r18T:t X13,15X9,16X14,17X10,18 ResoluYon法 • 与えられた式をCNFに変換する 例) p∨(q∧r) ⇒(p∨q)∧(p∨r) 節 節 ResoluYon法 • CNFへの変形規則 – 含意 x→y⇒¬x∨y – 分配 x∨(y∧z)⇒(x∨y)∧(x∨z) – ドモルガン¬(x∨y)⇒¬x∧¬y ¬(x∧y)⇒¬x∨¬y – 2重否定¬¬x⇒x ResoluYon法 • 前提1,…,前提n 結論 – 各前提iごとにCNF変換 ⇒節集合Si – 結論の否定をCNF変換⇒節集合Sc – 節集合の和 S=S1∪…∪Sn∪Sc ResoluYon法 • 節集合 S から2つの節を選んでresoluYon 例) {…p∨q,…,¬p∨r,…} q∨r • 結果(resolvent)をSに追加 • この過程を繰り返す ResoluYon法 • 目指す最後のresoluYon 例) {…p,…,¬p,…} □ (矛盾) ResoluYon法 • resoluYon過程の線形表現 例) S={p,¬p∨q,¬q} に対して、 1p ∈S 2¬p∨q ∈S 3¬q ∈S 4qres.1,2 5□res.3,4 (p→(q∨r)),(q→s),(r→t)(p→(s∨t)) 前提1のCNFp→(q∨r)⇒¬p∨q∨r 前提2のCNFq→s⇒¬q∨s 前提3のCNFr→t⇒¬r∨t 結論の否定のCNF¬(p→(s∨t))⇒¬(¬p∨s∨t)⇒p∧¬s∧¬t 1 ¬p∨q∨r∈S 2 ¬q∨s∈S 3 ¬r∨t∈S 4 p∈S 5 ¬s∈S 6 ¬t∈S 7 q∨rres.1,4 8 ¬qres.2,5 9 ¬rres.3,6 10 rres.7,8 11 □res.9,10 自然演繹法 • 前提に現れるφ→Ψは、→e規則で分解するよ うに努める – Ψが役に立つはずだから – φがなければassumeしよう • 結論に現れるφ→Ψは、→i規則で作り出すよ うに努める – 何はともあれ、φをassumeしよう – Ψはきっと導けるはず 自然演繹法 (p→(q∨r)),…… 1 p→(q∨r)prem 2 … 3 pass 4 q∨r→e1,2 5 … ... 自然演繹法 • 前提に現れるφ∨Ψは、∨e規則で分解するよ うに努める – 別の欲しい χがΦとΨのそれぞれから導けるはず (p→(q∨r)),(q→s),(r→t)(p→(s∨t)) 1 p→(q∨r)prem 2 q→sprem 3 r→tprem 4 pass 5 q∨r→e1,4 6 qass 7 s→e2,6 8 s∨t∨i7 9 rass 10 t→e3,9 11 s∨t∨i10 12 s∨t∨e5,6-8,9-11 13 p→(s∨t)→i4-12 自然演繹法 • MT規則を使ってみよう i行めp→q j行め ¬q k行め¬pMTi,j 自然演繹法 (p→q)(¬q→¬p) 1 p→qprem 2 ¬qass 3 ¬pMT1,2 4 ¬q→¬p→i2-3 自然演繹法 • 「苦しいときのLEM頼り」 やることがまったく思いつかないときは、 役に立ちそうなΨを思い浮かべて i行め Ψ∨¬Ψ LEM と書き、∨e規則の適用に持ち込もう (LEMと∨eはワンセット) ブール方程式 • y1,y2に関する連立方程式 L1=R1 L2=R2 • F(y1,y2)を作る F(y1,y2)=L1’・R1+L1・R1’+L2’・R2+L2・R2’ • F(0,0),F(1,0),F(0,1),F(1,1)を計算 • F(0,0)・F(1,0)・F(0,1)・F(1,1)=0を確認 ブール方程式 • y2の一般解 y2=F(0,0)・F(1,0)+α2・(F(0,1)・F(1,1))’ • F(0,y2),F(1,y2)を計算 (y2には上の一般解を代入) • y1の一般解 y1=F(0,_)+α1・F(1,_)’ ブール方程式 • 式の簡約化 x+x’・y =x・(1+y)+x’・y =x・1+(x+x’)・y =x+1・y =x+y
© Copyright 2024 ExpyDoc