数学とコンピュータ科学において、決定問題(ドイツ語で「決定問題」、発音は[ ɛntˈʃaɪ̯dʊŋspʁoˌbleːm ] )は、1928年にデイヴィッド・ヒルベルトとヴィルヘルム・アッカーマンによって提起された課題である。[ 1 ]これは、入力された文を考慮し、それが普遍的に妥当であるかどうか、つまりあらゆる構造において妥当であるかどうかに応じて「はい」または「いいえ」と答えるアルゴリズムを要求するものである。このようなアルゴリズムは、1936年にアロンゾ・チャーチとアラン・チューリングによって不可能であることが証明された。
一階述語論理の完全性定理によれば、命題は論理規則と公理を用いて推論できる場合に限り普遍的に妥当である。したがって、決定問題は、与えられた命題が論理規則を用いて証明可能かどうかを判断するアルゴリズムを求める問題と見なすこともできる。
1936年、アロンゾ・チャーチとアラン・チューリングはそれぞれ独立した論文[ 2 ]を発表し、「実質的に計算可能」という直感的な概念がチューリングマシンで計算可能な関数(あるいは同等に、ラムダ計算で表現可能な関数)によって捉えられると仮定すると、決定問題の一般的な解は不可能であることを示した。この仮定は現在、チャーチ=チューリングのテーゼとして知られている。
決定問題の起源は、17世紀に機械式計算機を成功裏に構築した後、数学的命題の真偽値を決定するために記号を操作できる機械を構築することを夢見たゴットフリート・ライプニッツに遡ります。 [ 3 ]彼は、最初のステップは明確な形式言語でなければならないことに気づき、その後の彼の研究の多くはその目標に向けられました。1928年、デイヴィッド・ヒルベルトとヴィルヘルム・アッカーマンは、上記の形式でこの問題を提起しました。
ヒルベルトは自身の「プログラム」を継続し、1928年の国際会議で3つの質問を提起した。そのうち3番目の質問は「ヒルベルトの決定問題」として知られるようになった。[ 4 ] 1929年、モーゼス・シェーンフィンケルは、ポール・ベルネイスが準備した決定問題の特殊なケースに関する論文を発表した。[ 5 ]
1930年になっても、ヒルベルトは解決不可能な問題など存在しないと信じていた。[ 6 ]
この問いに答えるためには、「アルゴリズム」という概念を正式に定義する必要があった。これは、 1935年にアロンゾ・チャーチが自身のλ計算に基づく「有効計算可能性」の概念で、そして翌年にはアラン・チューリングがチューリングマシンの概念で行った。チューリングは、これらが計算の等価モデルであることをすぐに認識した。
決定問題に対する否定的な答えは、1935~36年にアロンゾ・チャーチによって与えられ(チャーチの定理)、その後まもなく1936年にアラン・チューリングによって独立に与えられました(チューリングの証明)。チャーチは、与えられた2つのλ計算式が等価であるかどうかを判定する計算可能な関数は存在しないことを証明しました。彼は、スティーブン・クリーネの以前の研究に大きく依拠しました。チューリングは、決定問題を解くことができる「アルゴリズム」または「一般的な方法」の存在という問題を、与えられたチューリングマシンが停止するかどうかを判定する「一般的な方法」の存在という問題(停止問題)に還元しました。 「アルゴリズム」がチューリングマシンとして表現できる方法を意味すると理解され、後者の質問に対する答えが(一般に)否定的であるならば、決定問題に対するアルゴリズムの存在に関する質問も(一般に)否定的でなければならない。チューリングは1936年の論文で次のように述べている。「各計算機『it』に対応して、我々は式『Un(it)』を構築し、もし『Un(it)』が証明可能かどうかを判定する一般的な方法が存在するならば、『it』が0を出力することがあるかどうかを判定する一般的な方法が存在することを示す」。
チャーチとチューリングの研究は、クルト・ゲーデルの不完全性定理に関する初期の研究、特に論理を算術に還元するために論理式に数値を割り当てる方法(ゲーデル番号付け)に大きく影響を受けていた。
決定問題は、ディオファントス方程式に解が存在するかどうかを判定するアルゴリズムを求めるヒルベルトの第10問題に関連しています。ユーリ・マティヤセヴィッチ、ジュリア・ロビンソン、マーティン・デイヴィス、ヒラリー・パトナムらの研究によって、そのようなアルゴリズムは存在しないことが確立され、1970年に証明の最終部分が完成しました。このことは、決定問題に対する否定的な答えも意味します。
演繹定理を用いると、決定問題は、与えられた一階述語論理の文が、与えられた有限個の文の論理的帰結であるかどうかを判定するという、より一般的な問題を包含するが、無限個の公理を持つ一階述語論理の妥当性は、直接決定問題に還元することはできない。このようなより一般的な決定問題は、実際的な関心事である。アルゴリズムで判定可能な一階述語論理もいくつかあり、その例としては、プレスバーガー算術、実閉体、多くのプログラミング言語の静的型システムなどが挙げられる。一方、ペアノの公理によって表現される加算と乗算を持つ自然数の一階述語論理は、アルゴリズムで判定することはできない。
デフォルトでは、このセクションの引用は Pratt-Hartmann (2023) からのものです。[ 7 ]
古典的な決定問題は、与えられた一階論理式がすべてのモデルで真であるかどうかを問うものです。有限問題は、それがすべての有限モデルで真であるかどうかを問うものです。トラクテンブロートの定理は、これも決定不可能であることを示しています。[ 8 ] [ 7 ]
いくつかの表記法:これは、一連の論理式に対してモデルが存在するかどうかを判断する問題を意味する。。これは同じ問題だが、有限モデルの場合である。論理断片の問題は、各論理断片について判定できるプログラムが存在する場合に判定可能と呼ばれます。断片内の有限個の論理式、か否か。
決定可能性には階層構造が存在する。最上位には決定不可能な問題があり、その下には決定可能な問題がある。さらに、決定可能な問題は複雑性の階層に分類することができる。
アリストテレス論理学では、「すべてのpはqである」、「すべてのpはqではない」、「あるpはqである」、「あるpはqではない」という4種類の文を扱います。これらの種類の文を、一階述語論理の断片として形式化することができます。どこは原子述語であり、有限個のアリストテレス論理式が与えられたとき、その論理式を決定することはNLOGSPACE完全である。また、NLOGSPACE 完全であることも決定できます。若干の拡張として(定理2.7):関係論理は、関係述語を許容することでアリストテレス論理を拡張する。例えば、「誰もが誰かを愛している」は次のように書ける。一般的に、文には8種類あります。その決定はNLOGSPACE完全である(定理2.15)関係論理は、以下のことを許容することで32種類の文に拡張できる。しかし、この拡張はEXPTIME完全である(定理2.24)。
変数名が1つしかない第1階論理の断片はNEXPTIME完全である(定理3.18)。、その決定はco-RE完全である。、そしてRE完全性に基づいて決定する(定理3.15)したがって、決定不能である。
単項述語論理は、各式が1項述語のみを含み、関数記号を含まない断片である。 NEXPTIME完全である(定理3.22)。
任意の一階述語論理式には前置正規形が存在する。前置正規形に可能な各量化子接頭辞に対して、一階述語論理の断片が得られる。例えば、ベルネイズ・シェーンフィンケルクラス、は、量化子接頭辞を持つ一階述語論理式のクラスです。等号と関係記号、および関数記号は使用しません。
例えば、チューリングの1936年の論文( 263ページ)では、各チューリングマシンの停止問題は、次の形式の1階論理式に相当すると指摘している。 、 問題決定不能である。
その正確な境界線は、明確に分かっている。
Börger et al. (2001) [ 11 ]は、量化子接頭辞、関数アリティ、述語アリティ、等価性/非等価性のあらゆる組み合わせを持つあらゆる可能なフラグメントの計算複雑性のレベルを説明しています。
論理式のクラスに対する実用的な判定手順を持つことは、プログラム検証や回路検証において非常に重要です。純粋なブール論理式は、通常、DPLLアルゴリズムに基づくSATソルバー技術を用いて判定されます。
より一般的な一階理論の決定問題については、線形実数または有理数演算上の連言式はシンプレックス法を用いて決定でき、線形整数演算(プレスバーガー演算)の式はクーパーのアルゴリズムまたはウィリアム・ピューのオメガテストを用いて決定できます。否定、連言、選言を含む式は充足可能性テストの難しさと連言の決定の難しさを併せ持っています。これらは現在では一般的にSMTソルビング技術を用いて決定されます。SMTソルビング技術はSATソルビングと連言の決定手順および伝播技術を組み合わせたものです。実多項式演算(実閉体理論とも呼ばれる)は決定可能です。これはタルスキー・ザイデンベルクの定理であり、円筒代数分解を用いてコンピュータに実装されています。
{{cite book}}ISBN /日付の不一致(ヘルプ)