タグ付けされた質問 「computability」

計算可能性理論、つまり再帰理論。

1
問題の計算不可能なセットの停止:一般的な数学的証明?
可算のアルゴリズムセット(ゲーデル数で特徴付けられる)では、Nのすべてのサブセットを計算(所属をチェックするバイナリアルゴリズムを構築)できないことが知られています。 証明は次のように要約できます:可能であれば、Nのすべてのサブセットのセットは可算になります(各サブセットに、それを計算するアルゴリズムのゲーデル数を関連付けることができます)。これは誤りなので、結果を証明します。 これは、問題がNのサブセットが可算ではないことと同等であることを示すため、私が気に入っている証拠です。 ここで、この同じ結果(N個のサブセットの不可算性)のみを使用して停止問題を解決できないことを証明したいと思います。これらは非常に近い問題だと思います。このように証明することは可能ですか?

1
正規関数を使用したプログラミング言語
すべての関数が標準的な形式を持つ(関数型の)プログラミング言語はありますか?つまり、すべての入力セットに対して同じ値を返す2つの関数はすべて同じ方法で表されます。たとえば、f(x)がx + 1を返し、g(x)がx + 2を返した場合、f(f(x ))およびg(x)は、プログラムのコンパイル時に区別できない実行可能ファイルを生成します。 おそらくもっと重要なのは、プログラムの正規表現に関する詳細情報をどこで/どのように見つけることができるかということです(グーグルの「正規表現プログラム」は実りが少ないです)質問するのは自然な質問のように思えますが、探しているものの適切な用語がわからないのではないかと心配しています。そのような言語をチューリング完全にすることが可能かどうか、そうでなければ、そのような特性を保持しながらプログラミング言語をどれだけ表現できるかについて興味があります。 私の背景はかなり限られているため、前提条件の少ないソースを好むでしょうが、より高度なソースへの参照もクールかもしれません。

4
確率的チューリングマシンは停止の問題を解決できますか?
真にランダムなビットの無限のストリームを与えられたコンピューターは、それを持たないコンピューターよりも強力です。問題は、停止する問題を解決するのに十分な力があるかどうかです。 つまり、確率的コンピューターは、決定論的プログラムが停止するかどうかを判断できますか? 決定論的に不可能なことを行う確率的コンピューターの例:ギガバイトより大きいKolmogorov複雑さを持つ文字列を出力する小さなプログラム(長さが1キロバイト未満)を考えます。コルモゴロフ複雑性文字列の長さは、その文字列を生成する最短の決定論的プログラムの長さです。したがって、定義により、決定論的プログラムは、複雑さがそれ自体の長さよりも大きい文字列を生成できません。ただし、真にランダムなビットの無限ストリームが与えられた場合、小さなプログラムは、たとえば100億のランダムビットをエコーアウトし、それらのビットのコルモゴロフの複雑さが十分に高いことを期待することで、99.99999 ...%の成功でタスクを達成できます。したがって、優れたコルモゴロフの複雑さのストリングを生成することは、確率的プログラムの可能性の範囲内ですが、決定論的プログラムではまったく不可能です。 そうは言っても、本当に問題のある問題を真にランダムなビットで修正することが可能かどうか疑問に思っています。例えば、アルゴリズムは定理をランダムに生成し、特定の決定論的プログラムが停止することを証明/反証するのに十分なことがわかるまで、それらを証明/反証/破棄します。

2
System Fが計算できないのはどの関数ですか?
でチューリング完全性について、このWikipediaの記事には、と述べています: 型付けされていないラムダ計算はチューリング完全ですが、システムFを含む多くの型付けされたラムダ計算はそうで​​はありません。型付きシステムの価値は、より多くのエラーを検出しながら、最も典型的なコンピュータープログラムを表す能力に基づいています。 システムFで計算できない合計計算可能関数の例は何ですか? さらに、hindley-milnerは次のとおりです。 System Fの制限 以下の事実のため: System FのCurryスタイルのバリアント、つまり明示的なタイピングアノテーションのないタイプでは、タイプチェックは決定できません。 これは、ヒンドレー・ミルナー型システムの基礎となるラムダ計算が完全にチューリングされていないことを意味していますか? これが本当なら、haskellは明らかに完全なチューリングであり、その基礎はラムダ計算とhindley-milner型システムであることがわかっているので、λ計算に存在しない機能はhaskellチューリングを完了するために追加されますか?

6
C実装の最大計算能力
この本(または、必要に応じて言語仕様のその他のバージョン)を調べてみると、C実装の計算能力はどれくらいですか? 「C実装」には技術的な意味があることに注意してください。実装定義の動作が文書化されているCプログラミング言語仕様の特定のインスタンス化です。AC実装は、実際のコンピューターで実行できる必要はありません。ビット文字列表現を持つすべてのオブジェクトと、実装定義のサイズを持つ型を含む、言語全体を実装する必要があります。 この質問のために、外部ストレージはありません。実行できる唯一の入出力は、getchar(プログラム入力を読み取るため)およびputchar(プログラム出力を書き込むため)です。また、未定義の動作を呼び出すプログラムは無効です。有効なプログラムの動作は、C仕様に加えて、付録J(C99の場合)にリストされている実装定義動作の実装の説明で定義されている必要があります。標準で言及されていないライブラリ関数の呼び出しは未定義の動作であることに注意してください。 私の最初の反応は、Cの実装はアドレス指定可能なメモリの量に制限があるため、有限オートマトンに過ぎないということでした(sizeof(char*) * CHAR_BIT格納する際に個別のメモリアドレスは個別のビットパターンを持たなければならないため、ストレージのビット以上をアドレス指定することはできません)バイトポインター)。 しかし、実装ではこれ以上のことができると思います。私が知る限り、標準は再帰の深さに制限を課していません。したがって、必要なだけ再帰関数呼び出しを行うことができregisterます。アドレス指定不可能な()引数を使用する必要があるのは、有限数の呼び出しを除いてすべてです。したがって、任意の再帰を許可し、registerオブジェクトの数に制限のないC実装は、決定性プッシュダウンオートマトンをエンコードできます。 これは正しいです?より強力なC実装を見つけることができますか?チューリング完全なC実装は存在しますか?

6
計算で実数はどのように指定されますか?
これは基本的な質問かもしれませんが、私はナッシュ平衡計算や線形縮退テストなどのテーマに関する論文を読んで理解しようとしており、入力として実数がどのように指定されているのかわかりませんでした。たとえば、LDTに特定の多項式の下限があると記載されている場合、実数は入力として扱われるときにどのように指定されますか?

4
教会の定理とゲーデルの不完全性定理
私は最近、計算可能性に関してさまざまな論理学者や数学者によって行われた画期的な研究のアイデアや歴史のいくつかを読んでいます。個々の概念はかなり明確ですが、それらの相互関係とそれらがすべてリンクされている抽象レベルをしっかり把握しようとしています。 教会の定理(あるいは、アロンゾ教会とアランチューリングによるヒルベルトの突発的問題の独立した証明)は、一般に、公式システムの特定の数学的ステートメントが真か偽かを計算できないことを証明したことを知っています。私が理解しているように、チャーチ・チューリングの論文は、チャーチのラムダ計算とチューリング機械の間の等価性(同型)のかなり明確な説明を提供します。(注:私が知る限り、Turingの証拠は停止の問題が決定不能であるという事実を利用しています。間違っている場合は修正してください。) 現在、ゲーデルの最初の不完全性定理は、十分な算術能力を備えた一貫した形式システムのすべてのステートメントがこのシステム内で証明または反証(決定)されるわけではないことを示しています。多くの点で、これは教会の定理とまったく同じことを言っているように見えます。ラムダ計算と旋盤はどちらも事実上一種の形式的なシステムです。 しかし、これは私の全体論的な解釈であり、誰かが詳細に光を当てることを望んでいました。これらの2つの定理は事実上同等ですか?観察すべき微妙な点はありますか?これらの理論が本質的に同じ普遍的真実を異なる方法で見ている場合、なぜそれらはそのような異なる角度からアプローチされたのですか?(ゴーデルの証明と教会の証明の間には多かれ少なかれ6年がありました)。最後に、形式システムの証明可能性の概念(証明計算)は、再帰理論の計算可能性の概念(チューリングマシン/ラムダ計算)と同一であると言えますか?

4
停止問題が決定できない非チューリング完全な計算モデルがありますか?
私はそのようなモデルを考えることはできません、おそらく型付きラムダ計算の何らかの形ですか?いくつかの基本的なセルオートマトン? これは、 Wolframの「計算上の等価性の原理」をほぼ反証します。 明らかに単純ではないほとんどすべてのプロセスは、同等の洗練度の計算と見なすことができます

2
アルゴリズムは、任意の入力プログラムの時間の複雑さをどの程度予測できますか?
停止問題は、ために、別のプログラムを停止するかどうかを決定することができますプログラム書くことは不可能であると述べているすべての可能な入力プログラムを。 ただし、次のようなプログラムの実行時間を計算できるプログラムを作成できます。 for(i=0; i<N; i++) { x = 1; } 時間計算量を実行せずに返します。NNN 他のすべての入力プログラムについては、時間の複雑さを判別できなかったことを示すフラグを返します。 私の質問はこれです: 特定のプログラムの時間的な複雑さをアルゴリズムで決定できるように、どのような条件を保持する必要がありますか? *これに対する標準的な参照またはレビュー記事がある場合、コメントへのリンクをお願いします。

3
相対化しない計算可能性理論の結果はありますか?
Andrej Bauerの論文「合成計算可能性理論の最初のステップ」を読んでいました。結論では、彼は 私たちの公理化には限界があります。オラクル計算に相対化できない計算可能性理論の結果を証明することはできません。これは、オラクルにアクセスできる部分再帰関数から構築された効果的なtoposの変形で理論を解釈できるためです。 これにより、計算可能性における相対化されていない結果について疑問に思いました。計算可能性理論から私が知っているすべての結果は、オラクルを使用した計算に相対化されています。 相対化しない計算可能性理論の結果はありますか?すなわち、計算可能性は保持するが、一部の神託と比較して計算可能性は保持しない結果ですか? 結果として、私は計算可能性理論の既知の定理を意味し、いくつかの口実な声明ではありません。相対化の概念が結果に対して意味をなさない場合、それは私が探しているものではありません。 結果が合成計算可能性理論の言語で述べられるかどうかを知ることも興味深いです。


3
無限体上のテンソルランクの複雑さ
テンソルは、高次元のベクトルと行列の一般化であり、ランクテンソルのは、マトリックスのランクを一般化します。つまり、テンソルランクは、合計がTになるランク1テンソルの最小数です。ベクトルと行列は、それぞれ次数1と2のテンソルです。TTTTTT の要素は、フィールドFから取得されます。場合はFが有限である、そしてHåstadは証明度のランク3テンソルが最大である場合に決定することを、Rは NP完全であるが、ときFが有理数のような無限のフィールドであるQ、彼は何の上限与えない(または引用しています)。TTTFF\mathbb{F}FF\mathbb{F}rrrFF\mathbb{F}QQ\mathbb{Q} 質問:Q上の3次テンソルランクが最大でrであるかどうかを決定する複雑さの最もよく知られている上限は何ですか?TTTQQ\mathbb{Q}rrr

5
問題教育の計算可能性
計算可能な関数の概念を教えるのは困難です。Hilbert / Ackermann / Godel / Turing / Church / ...のような研究者が「計算可能性」の概念を発明した理由の考えを発展させようとしました。学生たちはすぐに「計算可能性とはどういう意味ですか」と尋ねました。そして、チューリングマシンを教えるまで答えられず、「チューリングマシンが計算すれば関数は計算可能です」と答えます。 そう、 チューリングマシン、λ計算、または同様の計算モデルに頼る必要のない計算可能性の説明はありますか?直感的な説明でも十分です。

3
抽象マシンがそれ自体をシミュレートできる場合、それによりチューリングが完了しますか?
たとえば、プログラミング言語ではX-in-Xコンパイラ/インタープリターを記述するのが一般的ですが、より一般的なレベルでは、多くの既知のチューリング完全なシステムが印象的な方法でシミュレートできます(たとえば、ConwayのGame of LifeでConwayのGame of Lifeをシミュレートします) )。 だから私の質問は次のとおりです。チューリングが完全であることを証明するのに十分なシステムはそれ自体をシミュレートすることができますか?それは確かに必要な条件です。

2
チューリングマシンを維持ノルム
コンピューティング量子(上の最近のいくつかのスレッドを読んで、ここで、ここでは、とここ)、私はいくつかの種類の電源についての興味深い疑問を覚えて作るノルムマシンを維持します。ℓpℓp\ell_p 量子の複雑性に取り組む複雑性理論で働く人々にとって、偉大な入門テキストは、ここに Joshua Grochowによって投稿されたFortnowの論文です。その論文では、量子チューリング機械は一般化された確率的チューリング機械として提示されています。基本的に、確率的機械は状態持っ下正規化ℓ 1、すなわち、ノルム∥ S ∥ 1 = 1。機械の時間発展は、|| P s ||| 1 = 1 のような確率行列Pの適用によって与えられます。つまり、Pはsssℓ1ℓ1\ell_1∥ の∥1= 1∥s∥1=1\parallel s\parallel_1=1PPP∥ P秒∥1= 1∥Ps∥1=1\parallel Ps\parallel_1=1PPPノルム。時刻における状態に tがある P 、T sは(の左または右乗算ので表記は正確ではないかもしれない Pは場合によって異なり sが行または列ベクトルであるかの行または列 Pは、ノルムを保存する部分空間です)。したがって、この意味では、確率チューリングマシンがある ℓ 1ノルム保存マシンが示さ Mのℓ 1。ℓ1ℓ1\ell_1tttPtsPtsP^tsPPPsssPPPℓ1ℓ1\ell_1Mℓ1Mℓ1M^{\ell_1} 次いで、機械をチューリング量子状態を有すると見なすことができると∥ S ∥ 2 = 1及びユニタリ行列P(ジャムのことℓ 2よう-norms)のP T Sは時刻の状態であるT ∥ P T S ∥ 2 = …

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