- 消解反演:證明真或假
- 反演求解:求解變數值
消解反演解法:
1.否定命題,將否定後的命題加入前提
2.透過前提之間互相組合,得到新的前提
3.最終前提與前提互相矛盾,得到NIL,此時證明完成
注:在第1步之後第2步之前,還需要將所有的命題轉換成子句形式
例1:
設已知:
(1)能閱讀的人是識字的
(2)海豚不識字
(3)有些海豚是很聰明的
請用消解反演證明:有些很聰明的人並不能閱讀
解1:
本體需要證明命題有些很聰明的人並不能閱讀
,是一個證明問題,而非求解。因此可以使用消解反演。
設謂詞:
\(R(x):x能閱讀\)
\(L(X):x識字\)
\(D(X):x是海豚\)
\(S(X):x聰明\)
前提:
- \(\forall x(R(x)\rightarrow D(x))\)
- \(\forall x(D(x)\rightarrow \neg L(x))\)
- \(\exists x(D(x)\wedge S(x))\)
結論:
- \(\exists x(S(x)\wedge \neg R(x))\)
消解反演:
結論的否定可以在任意時候加入組合,因此消解反演過程不止一種。下面展示其中一種求解過程。
a:常量,特指某條海豚
v:同$\vee$,合取
^:同$\wedge$,析取
~S(x)vL(x) D(a)^S(a)
│ │
│ │
│ │
└──────┬──────┘
│
│
│
D(a)^L(a) ~D(x)v~L(x)
│ │
│ │
│ │
└──────┬──────┘
│
│
│
NIL