ゲーデルス(最初)の不完全性定理と停止問題-どのように制限されていますか


8

これらのことを最初に聞いたとき、それは数学と科学一般に本当に限界を設定すると思ったので、私はとても魅了されました。しかし、これらは実際にどの程度関連していますか?

停止問題の場合:アルゴリズムが終了するかどうかを決定できない、人為的に構築されたケース以外にもありますか?

不完全性定理の場合:人為的に構築されたケース以外に、ステートメントを証明または反証できないケースはありますか?

科学のほとんどの領域では、そのような基本的な制限があることは本当に問題ではないように思われるので、私はこれを尋ねています。彼らもそこにいますか?これが本当に限界を設定する場所とそれが本当に関連する場所を知りたいのですが。


4
停止問題の結果は、特定のTMが停止しないかどうかを決定できないことを示していません。それは、すべてのTMに対してそれを決定できる一般的なアルゴリズムはないと述べています。
バブー2014年

2
ええ、そうですが、これの実際的な意味は何ですか?それは本当に関連していますか、それとも人工的に構築されたケースでのみ問題ですか?
Nocta 2014年

多分調べるべきことは完全な関数型プログラミングであり、プログラムの終了のみを許可します。次に、問題を解決するために、開業医が弱い関数型プログラミング(チューリング完了)に頼らざるを得ない頻度を確認できます。汎用プログラミング言語に関する限り、私はイドリスについてしか聞いたことがありません-残りは定理を証明しているようです。
ギルデンスタン2014年

1
停止問題が解決できれば、多くの興味深い難しい数学問題を簡単に解決できます。たとえば、フェルマーの最後の定理。a ^ n + b ^ n = c ^ nがa、b、c> 0およびn> = 3である場合にのみ停止するプログラムを作成するのに5分かかります。証明または反証する場合それが停止すること、それはFLTで証明されています。「無限に多くの双子素数がある」ことは、停止問題が解決されたかどうかを証明するのがほんの少し難しいだけです。
gnasher729 2014年

2
投稿ごとに1つの質問に限定してください。参照する2つの定理は互いにほとんど関係がありません。あなたの言い回しは、あなたが彼らの言うことを本当に理解していなかったことも示唆しています(babouのコメントを参照)。あなたはもう少し読む必要があります!これらは、ポップサイエンスの方法で適切に把握することができない深く数学的な形式のステートメントです。
ラファエル

回答:


9

決定不可能である停止問題には、多くの実用的な関連性があります。ここに簡単な例を示します。

ウイルス対策ソフトウェアの作成は困難です。特定のコードが悪意のあるものであるかどうかを判断することはできません。できれば停止の問題を判断できるためです。

MwMw

これが言っていることは、完璧なウイルス対策ソフトウェアは存在しないということです。だからといって、ウイルス対策ソフトウェアを書こうとするべきではないということではなく、完璧なソフトウェアを書けないということです。実際、プログラムが何をするかを決定することについてのいかなる陳述も決定できません(ライスの定理を参照)。

ゴデルの定理に関して、グッドスタインの定理は、ペアノの公理を使用して証明できないステートメントの例です。


5
点に関しては、この答えは、OPが求めていることを区別できない場合の完璧な例だと思います。実際の関連性のない方法で停止問題を使用しています。実際には、無害なコードに悪意のあるアクションを実行する命令が含まれている必要はありません。そのため、これらの命令が実行されるかどうかを判断できなくてもかまいません。それらが存在する場合、コードは悪意のあるものと見なすことができます。
Harry Johnston

(実行する命令の組み合わせに応じて、組み合わせた効果が良性または悪意のある命令のセットを代わりに検討し、適切な状況では理解できないと主張することで、同じ結論をより適切に引き出すことができると思いますどの組み合わせが可能かはわかりませんが、どのように厳密に組み合わせるかはよくわかりません。)
ハリージョンストン

@HarryJohnston可能性は、データ内の悪意のある命令を偽装することです。一部のプログラムでは、このデータがコードとして実行されるか、悪意のある命令のように見える単なる無害な文字列であるかを判断できない場合があります。もちろん、主流のオペレーティングシステム(さらにはプロセッサ)では、読み取り専用の実行可能メモリと書き込み可能なデータメモリが強制的に分離されますが、そうではないシナリオもあります。
WaelJ 2014年

@HarryJohnston:命令の悪ビットをクエリできればそれは真実ですが、できません。私の任意のソフトウェアは〜/ Documentsから設定ファイルを読み取り、独自の設定の削除をサポートしています。「削除する」が呼び出される前に「削除するファイル」が〜/ Documentsに設定されている実行パスがありますが、これは非常に悪意のあることですが、「このアプリケーションには次の2つがあるため、悪意があるはずです」と言う方法はありません。 !」彼らが何をしているのか見ずに。問題を停止するため、一般的なケースではできません。
Phoshi、2014年

@Phoshi:はい、それは私が2番目のコメントで説明する議論の例です。これを厳密に仮定すれば、これを厳密に行うことは可能だと私は推測していますが、どのようにすれば最善のアプローチができるかは頭の上ではわかりません。OTOH、それを厳密にするためには、アプリケーションがそれ自体を分析できるようにする必要がある(つまり、独自のコードを検査する)必要があるかもしれませんが、実際にはこれを許可しない方が安全です。
Harry Johnston

6

停止問題の場合:アルゴリズムが終了するかどうかを決定できない、人為的に構築されたケース以外にもありますか?

停止の問題が役割を果たすアクティブな研究には、「大体実用的/応用的」な状況がかなりあります。

  • 自動化された定理証明。コンピューターによる定理の証明は、停止問題と同じ決定不能の限界にぶつかります。

  • 実際のプログラムのプログラム終了証明することは研究分野であり、たとえばコンパイラロジックやプログラム分析に現れます。

  • コルモゴロフの複雑さは、データ圧縮アルゴリズムの理論上の限界を研究しようとします。最適な圧縮を見つけること(ある意味で、つまり文字列を圧縮する最小のTMを見つけること)は決定できません。

  • 決定不能はいくつかの物理的な問題に現れます。例えば、動的システム

  • 「忙しいビーバー」問題と呼ばれる研究された基本的な問題。まだ理論的ですが、停止の問題ほど抽象的ではなく、特にその関連について研究しました。研究者は、数十の状態/シンボルを持つ「小さな」TMについて、何十年もの間これを解決することを試みてきました。

ここで忙しいビーバーの問題を研究最近の論文から関連/興味深い引用である「ビジービーバーの競争から数論の問題点を」ミシェル(P.3)では:

実際、ブランクテープで起動されたチューリングマシンの停止問題はm完全であり、これはこの問題がZFC(Zermelo Fraenkel集合理論選択の公理)。したがって、より多くの状態とシンボルを備えたチューリングマシンを研究すると、数学のすべての定理が満たされる可能性があります。止まらないことが証明されるために止まらないチューリング機械がますます研究されるとき、人は数学のハードオープン問題、つまり現在の数学的知識では解決できない問題に直面することを期待する必要があります。

言い換えると、停止の問題は、数学/ CSで新しい数学的定理を証明しようとする挑戦を実際にエンコード/カプセル化するため、この意味で非常に深い/実用的/適用されていると見なすことができます。(しかし、一部の人はこの観察を明白または些細なことと考えていますが、これは一般に一般的に保持されている/発言された意見でもありません。)


また、たとえば、Penroseは、決定不能性が皇帝の新しい心の
vzn

決定不可能性が現れるもう1つの大きなコンテキストは、いくつかの基本的な数学の質問です。多分最も基本的で有名なのは、ヒルベルトの10番目の問題である多項式のディオファントス方程式です。また、についていくつかの質問では最大決定不能ショーフラクタルは、例えばマンデルブロセットなど
vzn

5

停止の問題に関して、私はあなたの2つの質問の1つに答えています。

まず、停止問題の決定不能性は、特定のTMが停止しないかどうかを決定できないことを示していません。それは、すべてのTMに対してそれを決定できる一般的なアルゴリズムはないと述べています。

これは、計算を構成するモデルについての声明です。しかし、チューリング=チャーチの論文によれば、それだけで計算を表現する必要があります。

関連性に関しては、人工的に構築されたチューリングマシンに基づいています。しかし、すべてのTMはかなり人工的であり、計算に関するいくつかの事実を主張するためにのみ構築されています。一部のTMが実際に他のTMより関連性があるかどうかは、天使の性別、または針頭に立つことができるそれらの数と同じくらい重要な問題です。

停止問題の決定不能性は、すべてのケースに適用できる一般的な手法では解決できない一般的な質問があることを示しています。一般的な質問で私が意味するのは、いくつかのパラメーターに依存する質問であり、パラメーターのいくつかの値について答えが見つかるはずです。

私たちの数学の多くの目的は、一連の問題を解決するための一般的な手法を見つけることです。典型的な例は方程式の解決です。停止問題の決定不能性は、これが常に可能であるとは限らないことを示しています。

たとえば、文脈自由文法があいまいかどうかを判断する一般的な手法がないことを示すために使用できます。

ただし、質問は有効です。少し一般的になりすぎたため、問題が特定できない可能性があります。おそらく、それを少し制限することで、有用でありながら十分に大きなサブファミリーに決定できるようにすることができます。

見事な例は考えていませんが、いくつかあるはずです。

私は、NP完全であることが証明されたプログラム分析問題の真のケースを1つ思い出します(それが決定できない場合を除いて、よく覚えていません)。すべてのアドバイスに対して、博士課程の学生はとにかくそれに取り組むことにしました。実際にはそれほど問題ではなかった問題に対するいくつかの制限が、それを非常に扱いやすい問題に変え、さまざまなプログラム分析および最適化ツールの使用を可能にしたことを実際に示すことができました。


4
あなたの答えによく合うと思う例は、コンパイラの最適化です。停止問題の決定不能性は、たとえば、完全なデッドコードの削除を実行したり、特定のソースファイルに対して実行可能な最速の実行可能ファイルを生成したりできるアルゴリズムがないことを意味します。しかし、これはコンパイラがこれらの事柄の非常に良い仕事を実際に行うのを止めるものではありません。
David Richerby 2014年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.