(偽?)関数の計算可能性の証明?


19

n個のゼロがπに連続して現れる場合に1を返す関数考えます。今、誰かが私にf n が計算可能であるという証明を与えました:f(n)nπf(n)

どちらの全てのn、のためにに現れるπ、またはそこにある午前ST 0 mがに表示されπ0 メートル+ 1はしません。最初の可能性f n = 1 ; 二つ目のためのF N = 1 IFF N Mそうでなければ、0。0nπ0mπ0m+1f(n):=1f(n):=1nm

著者は、これを計算するアルゴリズムが存在するため、これが計算可能性を証明すると主張しています。f(n)

この証明は正しいですか?


2
質問でラテックスを使用して、より読みやすくすることができます。
デイブクラーク

7
引数は正しいですが、建設的ではありません。その人はあなたにTMを与えているのではなく、あなたに2つのTMを与えており、そのうちの1つがあなたが望む機能を計算しているが、どちらを知っているのかを伝えます。
カベ

1
バージョンは計算可能です。しかし、私は誤解し、誤って計算できないと思うバージョンを見つけました。唯一の変更点:正確にn個のゼロではなく、πが最大n個のゼロを持つかどうかを尋ねます。もし本当にそうなら、πには無限の桁数があり、パターンが再出現しないように見えるので、あなたはそれを確認できないと信じています。
chazisop

関連する間違いを犯したウィキペディアのページを一度修正し、Chaitinの定数の存在が「計算不可能な整数」の存在を証明したと主張しました。
ジェフリーアーヴィング14

これらのタイプの質問は、「些細な言語」に関する傾向があります。しかし、通常、言語がある場合のわずかな再定式化に注意してください。ここで、m0 k文字列の(または最初の)位置です。参照してくださいどのようにすることを決定可能であることができπは数字のいくつかの配列を有しますか?/ コンピューターサイエンスf(n,k)=mm0kπ
vzn

回答:


23

それをこのように考えて、マイク:この証明は、(すべての命題のためにという排中律を使用して真である必要があります一つは、複数の可能な場合に「分岐」されのいずれか、pが真であるか¬ pが真です)。しかし、これらの各ブランチの最後で、関数fが計算可能であることを常に証明できます。したがって、実際にどのケースが成立するかに関係なく、fは計算可能でなければなりません。(ただし、正確な理由はなぜfが計算可能であるが、分岐に応じて、異なるものになります。)pp¬pff f


16

正しい。定義:これは、以下同様である定数関数であることがX 0神が存在する場合、及びX 1神が存在しない場合。結果の関数は定数関数であるため、計算可能です。あなたができないことは、その関数を与えることですが、関数自体は計算可能です。f(x)x0x1

ここでは、2つの可能性の1つが当てはまります。そのようなが存在するか、存在しないかのいずれかです。関数は、定数関数のいずれかであり、X 1で定義された、または単純な閾値関数Mmx1m


4
「神が存在する場合」を置き換えます。:)PNP
Kaveh

誤解して申し訳ありませんが、証明の非構成性に問題はありません。私が抱えている問題は、(または少なくとも私)がmが計算可能かどうかわからないということです。なぜそれを証明する必要がないのですか?m
マイク

5
整数が計算可能かどうかについて話すのは、実際には意味がありません。mが取る値に関係なく、それを出力するチューリングマシンがあります。見つけるのはもちろん難しいかもしれませんが、これは一般的な状況とそれほど違いはありません。アルゴリズムを見つけるのは難しいです。
アーロンロス

まだわかりません。このmを出力できるチューリングマシンは何ですか?πに現れることを示すだけでなく、0 m + 1がそうでないことを確認する必要があります-それがIMOの問題です。0mπ0m+1
マイクB。

これはあなたが話している建設的な方法です。私は出力するように、あなたのマシンを与える場合、それはする必要はありませんあなたを説得、これは権利であることメートル、そのままなoutputingのための機械メートル(まあ、少なくともマシン)。これは、神の例(BTWはSipserから来ています)と同じです。マシンが0を出力する場合、神が存在しないことをあなたに納得させる必要はありません。まさにそうです。mmm0
ミカエルカディルハック

14

私は、すべてのコンピューターサイエンスの学生が、逆説のように感じるこの問題に直面していることを願っています。これは、TCSの意味で計算可能と実際の意味で計算可能との違いの非常に良い例です。

ππ

fMTM:fM=f

証明の基本的な考え方は次のとおりです。無限クラスの関数を提供します。これらはすべて計算可能です(ここでは簡単に説明します)。次に、あなたが探している関数がそのクラスにあることを証明します(ここでは、ケースの区別を示します)。qed


9

はい、そうです、その計算可能です。問題は、あなたの関数が無限の問題の解決策を実際に生み出していないということです。停止する問題の解決策を計算する方法(例えば)はそうです-したがって、計算に関する問題はありません。代わりに、有限表現を使用して、整数またはfが常に1の関数であるといういずれかの単一の数学的な事実を関数形式で表現しています。

Ω

もちろん、正しいアルゴリズムを見つけるのは難しい問題かもしれません。しかし、正しいアルゴリズムを見つけることは通常難しいです!


3

少し古いが、別の回答を投稿したかった。

これは、計算可能性の非構成的証明(または引数)です。計算可能な関数のセット(またはユニバース)で、私はそれを表現(またはより正確にインデックス付け)できるため、関数は何らかの意味で存在しなければならないと単純に言います。ただし、マシン自体(アルゴリズム)もインデックスも構築しません(計算可能なマシンの効果的な列挙を想定)。英語のフレーズ " thanks for nothing "は、これらの場合に次のように最も適切であると思われます。

-- Look, I proved there is water somewhere! 

Now you can be happy, while dying from thirst!

数学の歴史の人々は、そのような議論の実際の有効性(または有効性の範囲)と意味についてかなり議論してきました。最終結果は、ゲーデルの不完全性定理に同じタイプの議論が再登場し、この「閉じた宇宙の仮定」に反する ことです。

これらの議論があまり好きでないなら、私はあなたを責めないでしょう。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.