タグ付けされた質問 「computation-models」

計算に使用される一連の許容される操作の定義とそれぞれのコスト。モデルの例としては、チューリングマシン、再帰関数、ラムダ計算、生産システムなどがあります。

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それ以外の場合はを返します。

2
デジタルコンピューティングではできない、アナログコンピューターでできることはありますか?
アナログコンピューティングとデジタルコンピューティングの違いの核心は、利用可能な精度のビット数です。記憶媒体は無限のテープであるため、チューリングマシンでは、数値を任意の精度で格納できることを知っています。 しかし、現実の世界では、エネルギーや位置などの物理量は、バイナリにあるため、個別のチャンクでは増分されません。代わりに、それらの正確な値は、アナログ回路と同様に連続的に変化する可能性があります。 その上で、デジタルコンピューティングではできない、基本的にアナログコンピューターでできることはありますか。

1
構造化プログラムの定理を証明する方法は?
ウィキペディア: 構造化プログラムの定理[...]は、[...]アルゴリズムは3つの制御構造のみを使用して表現できると述べています。彼らです 1つのサブプログラムを実行してから、別のサブプログラム(シーケンス)を実行する ブール式(選択)の値に従って2つのサブプログラムの1つを実行する ブール式が真になるまでサブプログラムを実行する(反復) この定理は、次の論文で開発されました。 C.ベーム、「チューリングマシンと関連プログラミング言語のファミリーについて」、ICC Bull。、3、185〜194、1964年7月。 C.ベーム、G。ヤコピニ、「流れ図、チューリングマシン、および2つの形成ルールのみを持つ言語」、Comm。ACMの9(5):366–371,1966。 残念ながら、1つ目は実際には利用できず、2つ目は(少なくとも私にとって)少し不可解であることに加えて、1つ目を参照しているため、証明を理解するのに問題があります。誰か助けてもらえますか?証拠を提示する現代の紙や本はありますか?ありがとう。 更新 正確には、CACMペーパーの第2部(セクション3)を理解したいと思います。著者はセクション1で次のように書いています。 論文の2番目の部分(C.Böhm著)では、以前の論文のいくつかの結果が報告されており[8]、次にこの論文の最初の部分の結果を使用して、すべてのチューリングマシンが決定的な感覚は、構成と反復のみを形成規則として認める言語で書かれたプログラムと同等です。 ここで[8]は利用できないICC Bulletinペーパーを指します。ウィキペディアからの上記の引用がCACM論文のこの2番目の部分を参照していることは容易に理解できます(チューリングマシンはアルゴリズムの正確な定義として機能します。「構成」はシーケンスを意味します。反復により選択を置き換えることができます)。

5
プログラミング言語とチューリングマシンの正確な関係は何ですか?
yacc、bison、flex、lexについてよく知らないので、間違っている場合は修正してください。ただし、プログラミング言語もTuringマシンであり、Turingマシンはタプル where、、、 as input、は遷移関数として、 =左へのステップ数、 =右へのステップ数、 = "スタンバイ"、は初期状態、(Q,Γ,b,Σ,δ,q0,F)(Q,Γ,b,Σ,δ,q0,F)(Q, \Gamma, b, \Sigma, \delta, q_0, F)QQQΓΓ\Gammab∈Γb∈Γb \in \GammaΣ⊆Γ∖{b}Σ⊆Γ∖{b}\Sigma \subseteq \Gamma \smallsetminus \{ b \}δ:Q×Γ→Q×Γ×{L,R,N}δ:Q×Γ→Q×Γ×{L,R,N}\delta: Q \times \Gamma \rightarrow Q \times \Gamma \times \{ L, R, N \}LLLRRRNNNq0∈Qq0∈Qq_0 \in QF⊆QF⊆QF \subseteq Q 終了状態のセットです。 プログラミング言語の実装は、チューリングマシンの実装とどの程度似ていますか?上記のようなチューリングマシンが定義されたことでプログラミング言語が実装されたときに何が行われると言えるのでしょうか?もしそうなら、プログラミング言語が定義されているときに、チューリングマシンの定義のように見えるモデルを使用できないのはなぜですか?代わりに、BNFのような何かが標準のようです。

1
状態遷移システムについて学ぶための良い参考資料は何ですか?
私は、連続動的システムを使用した計算の定義に関するさまざまなアプローチを研究しています。私は「状態遷移システム」の理論への素晴らしい入門書を見つけようとしてきましたが、それはできませんでした。 誰かがトピックの現代的な紹介を知っていますか?特に興味深いのは、計算可能性を扱うものです。

2
計算可能な関数ごとに同等の演算回路はありますか?
計算可能な関数ごとに同等の演算回路はありますか? 私は上記の発言に頭を抱えていますが、その発言は誤りであると思いますが、反例は見つかりませんでした。 私が不思議に思ったのは、プロトコル(暗号化プロトコル理論)は計算可能な関数を計算できるが、その関数を算術回路として指定する必要があるといういくつかの定理を読んだことです。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.