タグ付けされた質問 「turing-completeness」

2
Brainfuck Turingを完全にするのに十分なブラケットのペアは何個ですか?
Brainfuckは、8つのシンボル(I / Oを無視する場合は6つ)のみを使用するチューリング完全プログラミング言語です。 それをチューリングの完全性に押し上げる最も注目すべきものは[、と]、本質的にBrainfuckのレーベルとgotoです。 通常、Brainfuckのプログラムはの複数のセットを使用しますが[]、Brainfuck Turingを完成させるためにこれらのブラケットのペアを正確にいくつ使用する必要があるのでしょうか? もっと簡単に言うと、n状態のチューリングマシンをシミュレートするために必要なブラケットの最小量はどれくらいですか(1、2、および3状態のチューリングマシンのブラケットの数を与えます)。 ノート: 無限のテープを想定しており、計算上の制限はありません。 2シンボルチューリングマシンです。

3
すべての自己修正アルゴリズムを非自己修正アルゴリズムでモデル化できますか?
命令を変更できる任意のコンピュータープログラムがある場合、命令を変更できないプログラムでそのプログラムをシミュレートすることは可能ですか? 編集: 私はstackexchangeに新しいので、ここで新しい質問をすることができるかどうかはわかりませんが、ここに行きます:わかりました。今、私は疑問に思っています:最も効率的な(そしてどの程度)問題を解決するために最も効率的な自己修正アルゴリズムを使用するのが、入出力同等の最も効率的な非自己修正アルゴリズムに対してですか?

1
独自のコンパイラをチューリング完全に表現できる言語はありますか?
tex.SEについてのコメントは不思議に思いました。ステートメントは基本的に次のとおりです。 言語Xで言語Xのコンパイラを作成できる場合、Xはチューリング完全です。 計算可能性と形式言語の用語では、これは次のとおりです。 場合決定した及び、次いで。L ⊆ L T M ⟨ M ⟩ ∈ L F L = R EMMML⊆LTML⊆LTML \subseteq L_{\mathrm{TM}}⟨M⟩∈L⟨M⟩∈L\langle M \rangle \in LFL=REFL=REF_L = \mathrm{RE} ここで、はすべてのチューリングマシンエンコーディングの言語を示し、はマシンによって計算された関数のセットを示します。 F L LLTMLTML_{\mathrm{TM}}FLFLF_LLLL これは本当ですか?

1
ロジックで「Turing Complete」に二重の概念はありますか?
2つのコンピューティングモデルは、それぞれがもう一方のユニバーサルシミュレータをエンコードできる場合、完全なものとして表示されます。それぞれの推論規則(および存在する場合は公理)のエンコーディングが他の定理であることが示されている場合、2つの論理が完全であることを示すことができます。計算可能性において、これはチューリング完全性と教会チューリング論文の自然なアイデアにつながりました。しかし、論理的な完全性が、同様の品質の完全性の自然に引き起こされたアイデアにつながったところを見たことはありません。 確率と計算可能性は非常に密接に関連しているので、チューリング完全性の自然な双対であるロジックの概念がある可能性があると考えることはそれほど多くないと思います。投機的には、次のようなものがあります。コンピューティングモデルでは記述できない計算可能な関数が存在する場合に限り、ロジックで証明できない「真の」定理があります。私の質問は、これを研究した人はいますか?リファレンスまたはいくつかのキーワードが参考になります。 前の段落の「真の」「計算可能な」とは、直感的ではあるが最終的には定義不可能なアイデアを指している。たとえば、グッドスタインシーケンスの有限性は「真」であるが、ペアノ算術では「真」の概念を完全に定義しないと証明できないことを誰かが示す可能性があります。同様に、対角化によって、計算可能の概念を実際に完全に定義せずに、プリミティブな再帰的ではない計算可能関数があることが示されます。最終的には経験的な概念になりがちですが、それらの概念は、完全性の概念を関連付けるのに十分なほど相互に関連しているのではないかと思いました。

1
ユニバーサルチューリングマシンはどのようにして「より大きな」マシンをシミュレーションできますか
ユニバーサルチューリングマシンに関する2つの質問の答えを見つけようとしています。 シミュレーション中のチューリングマシンの状態数が多い場合、ユニバーサルチューリングマシンでチューリングマシンをどのようにシミュレートできますか? シミュレートされているチューリングマシンのアルファベット文字の数が多い場合、ユニバーサルチューリングマシンでチューリングマシンをどのようにシミュレートできますか? 誰もがこれらの質問で私を助けることができますか?

2
言語がチューリング競争であることの明確で完全な証明?
HTML5 + CSSが完全なチューリングであることを「証明」することを目的とするWebサイトを見たことがあります。 SQLが完全なチューリングであることを「証明」することを目的とするWebサイトを見たことがあります。 チューリングコンプリートとは何を意味するのかを「説明」するつもりのウェブサイトをたくさん見ました。 足りる! 「この言語XYZは同じ計算能力を持つ計算機を記述することができます。チューリングマシンとして?」

2
ブール関数チューリングは完了していますか
ブール関数は、関数です。f:{ 0 、1 }ん→ { 0 、1 }f:{0,1}n→{0,1}f:\{0,1\}^n\rightarrow\{0,1\} ブール基底は、任意のシーケンスを反転したり、変更せずに残したりできるため、チューリング完全であることがわかっています。ゲートについても同じことが言えます。S ∈ { 0 、1 } X O R(∨ 、∧ )(∨,∧)(\vee,\wedge)S ∈ { 0 、1 }s∈{0,1}s\in\{0,1\}X O RXOR\mathrm{XOR} この意味で、最初のマシン構成始めて、とが連続する値:B I ∈ { 0 、1 } X O R V Ib =( b1、… 、bん)b=(b1,…,bn)\textbf{b}=(b_1,\ldots,b_n)b私∈ { 0 、1 }bi∈{0,1}b_i\in\{0,1\}X O RXOR\mathrm{XOR}v私vi\textbf{v}_i B ⊕ V1⊕ …


2
フォワードリードイテレーターチューリングを備えたスタックマシンは完成していますか?
スタックの先頭からしか読み取ることができない場合、ストレージが無制限の単一スタックのマシンはチューリング完了ではないことはよく知られています。スタックマシンよりも(少し)強力なマシンが必要ですが、それでもチューリングは完全ではありません。(多項式のスローダウンのみで非決定論的なプッシュダウンオートマトンを決定論的にシミュレートできる非チューリング完全なマシンが存在するかどうか疑問に思います。)私の頭に浮かんだ最も良性の(まっすぐな)拡張は、(単一の)前進でした。イテレータを読みます。 実装の詳細を詳しく説明して、フォワードリードイテレーターの意味を明確にします。単独リンクリストには、スタックを実装するために使用することができます。リストpTopは、ゼロであるか、SListノードを指すポインターによって実装されます。SListノードは、ペイロードフィールドから構成valueし、ポインタフィールドpNext、pNextのいずれかがゼロであるか、または点SListノード。前方読み取り反復子をpRead、ゼロであるか、SListノードを指すポインターによって実装します。ポインタpTopにpReadは直接アクセスできませんが、次の方法でのみ使用できます。 Push(val)およびで新しいSListノードnを作成し、を設定します。n.value = valn.pNext = pToppTop = &n Pop()pTop == 0またはの場合は中止しpRead == pTopます。それ以外の場合は、が指すノードを読み取っval = pTop->valueてpTopNext = pTop->pNext解放SListしpTop、を設定pTop = pTopNextして返しますval。 ReadBegin()セットpRead = pTop。 ReadNext()場合は中止しますpRead == 0。それ以外の場合は、読み取りval = pRead->value、設定pRead = pRead->pNext、および戻りますval。 ReadFinished()のtrue場合pRead == 0は、falseそれ以外の場合はを返します。

1
一般的なプログラミング言語は、チューリングが完全でないことにどれほど近いですか?
「完全性のチューリング」という用語は、私が受けたいくつかのコンピュータサイエンスのクラスで議論されています。しかし、チューリングの完全性が実際に必要とするものを直感的に感じることはありません。私はこの質問を見つけましたが、答えは私が探しているものよりも少し数学的です。 C ++、Python、Java、Lispなどの一般的なプログラミング言語を取り上げます。これらの言語はチューリング完全ではないのですか?これらの言語には、削除するとチューリング言語が完全ではなくなる基本的な機能がありますか?または、言語のプロパティを変更して(たとえば、何かをランダムにする)、それを行うことにより、言語を完全なチューリングでなくすることができますか?
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.