「導出原理」の版間の差分

出典: フリー百科事典『ウィキペディア(Wikipedia)』
削除された内容 追加された内容
内容の大幅増強
97行目: 97行目:
# <math>P_1, \dots ,P_n</math> を[[スコーレム標準形|スコーレム連言標準形]] <math>C_1, \dots ,C_n</math> に変換する。
# <math>P_1, \dots ,P_n</math> を[[スコーレム標準形|スコーレム連言標準形]] <math>C_1, \dots ,C_n</math> に変換する。
# <math>\lnot P</math> を[[スコーレム標準形|スコーレム連言標準形]] <math>C</math> に変換する。
# <math>\lnot P</math> を[[スコーレム標準形|スコーレム連言標準形]] <math>C</math> に変換する。
# もし <math>C, C_1, \dots ,C_n</math> の反駁が存在すれば、 <math>F</math> は <math>P_1, \dots ,P_n</math> の論理的帰結である。
# もし <math>C, C_1, \dots ,C_n</math> の反駁が存在すれば、 <math>P</math> は <math>P_1, \dots ,P_n</math> の論理的帰結である。
::あるいは、別の表現をすれば、
::あるいは、別の表現をすれば、
::* <math>C, C_1, \dots ,C_n</math> が充足不能
::* <math>C, C_1, \dots ,C_n</math> が充足不能

2010年4月5日 (月) 05:18時点における版

導出(どうしゅつ、: resolution)とは、数理論理学における一つの演繹方法で、三段論法を一般化した導出規則と呼ばれるただ1つの推論規則を用いる。命題論理述語論理のいずれにも使う事ができ、導出を繰り返すことで証明したい論理式の否定から空節が導かれることにより証明を行う。導出規則と単一化にもとづく導出原理(どうしゅつげんり、: resolution principle)はジョン・アラン・ロビンソン英語版により1965年に提案され[1]、 その後の定理自動証明に大きな影響を与え、またPrologなどの論理プログラミング言語の基礎となった。

背景

述語論理式 P恒真であるかを証明する一般的な手続きは存在しないが、1930年に発表されたエルブランの定理エルブラン領域の要素を論理式に代入して命題論理のレベルに落としその充足不能性を調べることで、 が充足不能(恒偽)であれば有限のステップで証明できることを保証している。また、エルブランの論文には単一化アルゴリズムなど他のさまざまなものが含まれていた[2]

1950年代以降、計算機上での定理証明の研究が活発になり、ギルモアのアルゴリズム(1960)やデービス・パットナムのアルゴリズム(1958,1960) が考案された。 これらはエルブランの定理の証明を直接計算機上で実現したような方法で、エルブラン領域の要素を順次生成して変数を含まない論理式(基礎例)を作成し命題論理のレベルで充足不能性を調べるものだったため、不要な論理式が多数生成され、非常に効率が悪かった[3]

プラウィツ(Dag Prawitz)は、論理式を生成してからチェックするのではなく、選言標準形に変換した論理式への適当な代入(単一化)によって充足不能性を調べる方法を1960年に提案した[4]。 この方法は必要な基礎例のみを生成するため、不要な論理式の生成が抑えられ効率的だったが、選言標準形はすべての連言項を調べなければならないため全体の効率はいいとは言えなかった。

ロビンソンはデービス・パットナムの枠組みにプラウィツのアイデアを組み合わせ、ただ1つの導出規則と単一化による代入操作とで充足不能性を調べる導出原理を1965年に発表した。単純な規則で関係する論理式のみを段階的に具体化していく方法は、従来の方法よりはるかに効率がよく、また理論的なエレガントさを持っていたためで、その後の定理自動証明に大きな影響を与えた[3]

定義

導出とは二つのより新しい節を導きだす操作で、一方の節に含まれるリテラル と、他方の節に含まれる否定リテラル をのぞき、その他のリテラルの論理和をとることで、新しい節を得ることをいう。

命題論理での導出規則を式で表せば、 と書ける。ここで上式は前提となる節、下式はそれらから導かれる導出節resolvent)を表わす。

あるいは、別の表記法を用いれば、前提となる節を とし, もしリテラル と否定リテラル が存在すれば、導出節 は以下のようになる。

これは三段論法前件肯定を一般化した規則となっている。 導出は完全な証明系であることが知られている。

を節形式にすると となる。 の導出節とすると、前件肯定は以下の導出と同じである。

同様に、 の節形式 による三段論法は以下のようになる。

一階述語論理での導出

述語論理のリテラルには個体変数が含まれるため、リテラルと否定リテラルとを単純に比較するだけでは削除できるかどうか分からない。一階述語論理ではリテラルと否定リテラルそれぞれの原子論理式単一化できる場合に導出を行う。

また、導出の対象となる節は、冠頭標準形にして存在記号を削除したスコーレム連言標準形の論理式である。

例えば、一方の節がリテラル 、もう一方の節がリテラル を含む場合、適切な代入 により各リテラルは と書き換えられ、同じにすることができる。ここで代入 に書き換えることを表わす。

一般に論理式 を等しくする代入を 単一化子unifier)といい、そのうち最も一般的な単一化子(最汎単一化子)を mgumost general unifier)という。 上記の例の場合、両方の論理式を等しくする代入は など無数に存在する。これらは本来の代入 などの代入を合成したものなので、最汎単一化子 mgu は である。

一階述語論理での導出は次のように表現できる。 もしリテラル と否定リテラル が存在し、 が mgu を持つ場合、以下の を節 との2項導出節という。

ここで、 などは、それぞれの節やリテラルに代入 を行ったものを表わす。

以下の節からの導出を考える。

Q を単一化する代入 により の導出を行うと、

続いて、P を単一化する代入 により の導出を行うと、

を得ることができる。

反駁による証明

反駁(はんばく、: refutation)とは、節の集合からの導出により空節 □ を導くことである。 反駁については以下の定理が成り立つ。

節の集合 S が充足不能である必要十分条件は、節の集合 S からの導出により空節 □ が導けることである。

これはエルブランの定理を導出に応用したものになっている。

論理式 P恒真であれば は充足不能(恒偽)であるため、節の集合に を追加し導出を繰り返すことで空節 □ になれば、論理式 P恒真であることが証明できる。

反駁により の論理的帰結か調べるアルゴリズムは以下のように表現できる。

  1. スコーレム連言標準形 に変換する。
  2. スコーレム連言標準形 に変換する。
  3. もし の反駁が存在すれば、 の論理的帰結である。
あるいは、別の表現をすれば、
  • が充足不能
  • が充足不能
  • の解釈が ならば の解釈は
  • の解釈が ならば の解釈は

以下の公式が成り立つ時、 が成り立つかどうかを証明する場合を考える。反駁の対象となる論理式は以下の論理式に を追加したものである。

  1. ,
  2. ,

最初の論理式は と等価なため、次の2つの節で表現できる。

二番目の論理式は以下の節になる。

さらに三番目は以下の節になる。

証明したい論理式の否定は以下の節である。

これらの節 が反駁の対象となる節集合である。

についての導出を考えると、 の代入により以下が導かれる。

についての導出を考えると、

最後に の導出により空節 □ が導かれ、 が成り立つことを証明できる。

証明戦略

導出は2つの節を前提として導出節を導くものであるので、どの節に導出規則を適用するかについてはさまざまな選択肢があり、そのやり方により効率が大幅に異なる。代表的な証明戦略として以下のものがある。

  • 線形導出(linear resolution
  • 入力導出(input resolution
  • 支持集合戦略(set-of-support strategy
  • 意味導出(semantic resolution

関連項目

参考文献

脚注

  1. ^ J. Alan Robinson, A Machine-Oriented Logic Based on the Resolution Principle. JACM, Volume 12, Issue 1, pp. 23–41. 1965.
  2. ^ Buss, Samuel R., "On Herbrand's Theorem", in Maurice, Daniel; Leivant, Raphaël, Logic and Computational Complexity, Lecture Notes in Computer Science, Springer-Verlag, pp. 195–209. 1995.
  3. ^ a b Martin Davis. The Early History of Automated Deduction. in Handbook of Automated Reasoning, Volume I, Alan J.A. Robinson and Andrei Voronkov(ed), 2001. ISBN 9780444829498
  4. ^ Wolfgang Bibel. Early History and Perspectives of Automated Deduction. in Advances in Artificial Intelligence, Lecture Notes in Computer Science, Springer-Verlag Berlin, 2007. ISBN 9783540745648

外部リンク

  • Alex Sakharov. "Resolution Principle". mathworld.wolfram.com (英語).
  • Alex Sakharov. "Resolution". mathworld.wolfram.com (英語).
  • Notes on computability and resolution (pdf)
  • 述語論理とその意味論 (pdf) 筑波大学講義資料