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

6
どの計算モデルが「最良」ですか?
1937年、チューリングはチューリング機械について説明しました。それ以来、実際のコンピューターに似ているが、アルゴリズムを設計および分析するのに十分なほど単純なモデルを見つけようとして、多くの計算モデルが記述されてきました。 その結果、たとえば、さまざまな計算モデルのSORT問題など、多数のアルゴリズムがあります。残念ながら、ビットベクトル演算が許可されたワードRAMでの実行時間O(n)のアルゴリズムの実装が、実行時間O(n⋅logn)のアルゴリズムの実装よりも速く実行されることを確信することさえできません。ワードRAM(もちろん、「良い」実装についてのみ話しています)。 そのため、既存のモデルのどれがアルゴリズムの設計に「最適」であるかを理解したいと思います。また、モデルの長所と短所、および現実に近いことを示す計算モデルに関する最新かつ詳細な調査を探しています。

7
Church-Turing論文のインタラクティブな計算モデルへの適用性
Paul WegnerとDina Goldinは10年以上にわたり、主に教会チューリングの論文がしばしばCS理論コミュニティや他の場所で誤って伝えられていると主張する論文や本を出版してきました。つまり、実際にはすべての計算の非常に小さなサブセットである関数の計算にのみ適用される場合、すべての計算を包含するものとして表示されます。代わりに、計算中に外部との通信が発生するインタラクティブな計算のモデル化を模索する必要があることを示唆しています。 この作品について私が見た唯一の批評は、ラムダ・ザ・アルティメット・フォーラムです。そこでは、明らかに知られていることを継続的に公開したことで、誰かがこれらの著者を嘆きました。私の質問は、この考え方、特に永続的チューリングマシンに対する批判がこれ以上ないかということです。そうでない場合、なぜそれが一見非常にほとんど研究されていないのですか(私は間違っているかもしれません)。最後に、普遍性の概念はどのようにインタラクティブなドメインに変換されますか。

3
現在および今後の高性能コンピューターのアルゴリズムを設計するための適切な理論モデルは何ですか
この質問は、アルゴリズムとデータ構造を設計するのに適切なコンピューターの理論モデルについてのより一般的な質問に似ています。 ここでは、現在の高性能コンピューター(トップ500としてリストされているコンピューターなど)または今後のスーパーコンピューター。 これらのコンピューターは通常、巨大なデータセット(主に巨大な結合メインメモリがあるためにそのようなマシンを使用しているようです)のI / Oモデル(AggarwalとVitterによって1988年に導入された)とその並列バージョンの側面で動作していることを考えると、PEM(Arge、Goodrich、Nelson、Sitchinava、2008年)が存在するはずです。一方で、通信、特に超小型パッケージを他のすべてのコンピューティングノードに罰することについて何かがあるはずです。 ご想像のとおり、新しいモデルを作成するときにアイデアが不足しているのではないかと心配していませんが、特に1980年から1995年かそこらでは、そのようなモデリングの試み(BSPやブリッジングモデルなど)が広く使用されていないように思われました。 どのモデルを詳しく調べる必要がありますか?

1
ゲーデルマシンの実現可能性
最近、私は非常に興味深い理論的構成に出会った。いわゆる ゲーデルマシン これは、自己最適化が可能な一般的な問題解決ツールです。リアクティブ環境に適しています。 私が理解しているように、それはユニバーサルチューリングマシン用のプログラムとして実装できますが、その要件は現在利用可能なハードウェアをはるかに超えています。しかし、私は多くの詳細を見つけることができませんでした。 そのようなマシンは実際に構築できますか?それらは私たちの宇宙で少なくとも実現可能ですか?

2
TSPのBellman-Held-Karpアルゴリズムの時間の複雑さ、テイク2
最近の質問では、BellmanとHeld-Karpに独立した、TSPの現在の古典的な動的プログラミングアルゴリズムについて説明しました。このアルゴリズムは、O (2 n n 2)時間で実行されることが広く報告されています。しかし、私の学生の一人が最近指摘したように、この実行時間には不当に強力な計算モデルが必要になる場合があります。O(2nn2)O(2nn2)O(2^n n^2) アルゴリズムの簡単な説明を次に示します。入力は有向グラフで構成さG=(V,E)G=(V,E)G=(V,E)とnnn頂点と非負の長さの関数ℓ:E→R+ℓ:E→R+\ell\colon E\to\mathbb{R}^+。任意頂点のsssとttt、および任意のサブセットバツXX除外すること頂点のsss及びttt、聞かせてL(s,X,t)L(s,X,t)L(s,X,t)からの最短ハミルトン経路の長さを示すsssにttt誘導された部分グラフでG[X∪{s,t}]G[X∪{s,t}]G[X\cup\{s,t\}]。Bellman-Held-Karpアルゴリズムは、次の再発に基づいています(または、経済学者や制御理論家が「ベルマンの方程式」と呼ぶのを好むように)。 L(s,X,t)={ℓ(s,t)minv∈X (L(s,X∖{v},v)+ℓ(v,t))if X=∅otherwiseL(s,X,t)={ℓ(s,t)if X=∅minv∈X (L(s,X∖{v},v)+ℓ(v,t))otherwise L(s,X,t) = \begin{cases} \ell(s,t) & \text{if $X = \varnothing_{\strut} $} \\ \min_{v\in X}~ \big(L(s, X\setminus\lbrace v\rbrace, v) + \ell(v,t)\big) & \text{otherwise} \end{cases} 頂点場合、最適な巡回セールスマンツアーの長さはです。最初のパラメーターsはすべての再帰呼び出しで定数であるため、\ Theta(2 ^ nn)個の異なるサブ問題があり、各サブ問題は最大でn個に依存します。したがって、動的プログラミングアルゴリズムはO(2 ^ nn ^ 2)時間で実行されます。sssL(s,V∖{s},s)L(s,V∖{s},s)L(s,V\setminus\{s\}, s)sssΘ(2nn)Θ(2nn)\Theta(2^n n)nnnO(2nn2)O(2nn2)O(2^n n^2) それともそれ!? 標準整数RAMモデルでは、O(logn)O(log⁡n)O(\log n)ビットを使用して整数を一定時間操作できますが、少なくとも算術演算と論理演算では、大きい整数をワードサイズのチャンクに分割する必要があります。(そうでなければ、奇妙なことが起こります。)これは、より長いメモリアドレスへのアクセスにも当てはまりませんか? アルゴリズムがスーパー多項式空間を使用する場合、メモリアクセスには一定の時間しか必要ないと仮定するのは合理的ですか? …


6
信頼できるコンピューティングの有効性について知られていることは何ですか?
次の問題はTCSでどの程度よく調査されていますか?(問題の説明があいまいに聞こえる場合は申し訳ありません!) 計算のモデル MC(チューリングマシン、セルラーオートマトン、コルモゴロフ-ウスペンスキーマシンなど)とMCの計算に影響を与える可能性のあるノイズのモデルを考えると、このノイズによって引き起こされるエラーから回復する方法があります効果的な方法はありますか?たとえば、ある種のノイズがチューリングマシンMに影響するとします。大きなコストをかけることなくMをシミュレートし、信頼性の高いチューリングマシンM 'を考案できますか(つまり、M'はこのノイズに耐性があります)。 計算の一部のモデルは、これを行う上で他のモデルよりも優れているようです。たとえば、セルオートマトン。ノイズが敵対モデルに置き換えられた場合、結果はありますか? タグがありません。適切なタグ(信頼性の高いコンピューティング、フォールトトレラントなコンピューティングなど)を配置するのに十分な評判がありません。

2
意思決定ツリーの複雑さと「真の」複雑さの間の証明可能なギャップ
タイトルは少し誤解を招くかもしれません:しかし、うまくいけば質問はそうではありません: GrønlundとPettieの新しい結果ことを示す3SUMが唯一持っている決定木の複雑さに私は思っていました:O(n3/2)O(n3/2)O(n^{3/2}) 決定木の複雑さを持つ問題の簡単な例がありますが、それは下限(より詳細なモデル)を認めますか?O(f)O(f)O(f)ω(f)ω(f)\omega(f) 言い換えれば、3SUMの結果は、問題の複雑さの上限がよりも大幅に低くなる可能性についての見解をどのように変えるべきでしょうか?n2n2n^2

3
機械的にプログラムを実装できますか?
たとえばMicrosoft Wordの単一の目的(チューリング以外の完全な)機械的実装を構築することは可能ですか?反復子、一次関数、プログラミング技術の全範囲などを実装することは可能ですか?歯車やその他の機械部品は、データ構造やプログラムオブジェクトを表すことができますか?ある時点で、これは汎用のチューリングと同等のマシンを構築することを必要としますか、または各機能、変数などは、フライホイールおよび/またはギア、ラチェットの形で独自の機械的構造を持つことができますか?要約すると、標準的なコンピューター上の特定のソフトウェアを機械的な設計図にコンパイルできるかどうか疑問に思います。

3
MapReduceフレームワークはBSPの一種ですか?
mapReduceフレームワークを、同期間でプロセッサ内にローカルメモリが保持されないタイプのバルク同期並列プログラミングフレームワークと呼ぶのは正確ですか?そうでない場合、どの並列プログラミングモデルがmapReduceフレームワークを最も正確にカプセル化しますか?

1
人々はブール回路のループのネスト性を見ますか?
EEの学部生の間、私はいくつかの講義に参加しましたが、いくつかの講義に出席し、それらが持つネストされたループの数に関してブール回路の優れた特性を提示しました。複雑さでは、ブール回路はしばしばダグと考えられますが、実際のハードウェアサイクルでは一般的です。今、ループとは何か、ネストされたループを構成する技術に関するモジュロを法として、ハードウェアで実装するにはオートマトンには2つのネストされたループが必要であり、プロセッサを実装するには3つのネストされたループが必要であるという主張が基本的でした。(これらのカウントで1つずつずれている可能性があります。) 気になる点は2つあります。 正式な証拠のようなものはありませんでした。 私はこれを他のどこにも見ませんでした。 誰かがこの種の正確な声明を調査しましたか? 教授の名前を探して、この分類法について説明している小さなWebページと本(第4章)を見つけました。 背景の並べ替え:実際のハードウェアでなぜサイクルが役立つのか疑問に思う方のために、簡単な例を示します。1つのサイクルで2つのインバーターを接続します。(インバーターはブール関数NOTを計算するゲートです。)この回路には2つの安定した平衡(および不安定な平衡)があります。外部からの介入がない場合、回路は単に2つの状態のいずれかに留まります。ただし、外部信号を適用することにより、回路を特定の状態に強制することができます。状況は次のように見えます。サイクルが外部信号に接続されている間は「入力を読み取ります」、そうでない場合は「最後に見た値を記憶する」だけです。したがって、1つのループは、物事を思い出すのに役立ちます。

1
リバーシブルチューリングターピット?
この質問は、既知のリバーシブルチューリングターピットがあるかどうかに関するものです。「リバーシブル」とは、アクセルセンとグリュックの意味であり、「ターピット」は、はるかに非公式な概念です(そして、あまり適切な言葉ではないかもしれません)。しかし、私はそれが何を意味するかを説明するために最善を尽くします。 「ターピット」の意味 一部の計算モデルは、何らかの形で役立つように設計されています。他のものはたまたまチューリング完全であり、実際には特に有用なプロパティはありません。これらは「チューリングターピット」として知られています。例としては、Brainfuck言語、Rule 110セルオートマトン、およびBitwise Cyclic Tag言語(実装が非常に簡単で、バイナリ文字列が有効なプログラムであるため私が好きな言語)などがあります。 「チューリングターピット」の正式な定義はありませんが、この質問では、「少数の「ルール」を持つという点で)かなり単純なシステムを意味し、「起こる」だけでチューリングが完了し、その明白な意味を持つ内部状態。私の目的にとって最も重要な側面は、明確なセマンティクスの欠如ではなく、ルールの単純さです。基本的に私たちは、スティーブンウォルフラムがかつて非常に大きな本を書いたようなものについて話していますが、彼は「ターピット」という言葉を使用していませんでした。 「リバーシブル」の意味 可逆計算に興味があります。特に、AxelsenとGlückの意味でrチューリング完全な言語に興味があります。つまり、計算可能なすべての単射関数を計算でき、単射関数しか計算できません。現在、Axelsenの可逆ユニバーサルチューリングマシンや高水準の可逆言語Janusなど、この意味で可逆な計算のモデルが多数あります。(文献には他にも多くの例があります。それは活発な研究分野です。) AxelsenとGlückによるr-Turingの完全性の定義は、ベネットによる通常のアプローチとは異なる可逆コンピューティングへのアプローチです。ベネットのアプローチでは、システムは計算の最後に捨てられる「ガベージデータ」を生成することができます。このような条件下では、可逆システムはチューリング完全である可能性があります。ただし、AxelsenとGlückのアプローチでは、システムがそのような「ジャンクデータ」を生成することが許可されていないため、計算できる問題のクラスが制限されます。(したがって、「Turing complete」ではなく「r-Turing complete」。) 注:AxelsenとGlückの論文はペイウォールの背後にあります。これは残念なことです-私の知る限りでは、r-Turingの完全性の問題に関して、現時点ではペイウォールされていないリソースはありません。時間があれば約束はありませんが、ウィキペディアのページを始めようと思います。 私が探しているもの 上記のリバーシブルコンピューティングの例は、すべて「意味論的に負荷がかかった」ものです。これは、ほとんどの状況では良いことですが、各タイムステップで状態を更新するために必要なルールがかなり複雑であることを意味します。リバーシブルコンピューティングの「ターピット」を探しています。つまり、完全な言語をr-Turingしているという「たまたま起こる」という非常に単純なルールを持つ多かれ少なかれ任意のシステムです。探しているものの正式な定義はないことを繰り返しますが、見たときにわかります。質問するのは合理的だと思います。 私が知っていることはほぼ法案にほぼ適合しますが、完全ではありません。チューリング完全であることが示されているいくつかの可逆セルオートマトンがあります。 ラングトンのアリ(かなり恣意的で非常に単純な可逆状態遷移関数を備えた一種の2次元チューリングマシン)も、その初期条件に無限の繰り返しパターンを含めることが許可されている限り、チューリング完了です。ただし、これらのシステムでは、ジャンクデータが破棄されないように状態から「出力」へのマッピングを定義することは簡単ではありません。私は特に、入力を受け取り、それに対して(可逆)変換のシーケンスを実行し、(終了する場合)出力を返すと考えられるシステムに特に興味があります。 (この質問が、ラムダ計算と同等のリバーシブルについて、以前の関連する質問よりも簡単に答えられることを願っています。)


5
基本的な力に基づく自然な計算
自然現象に触発された計算のよく知られた例は、量子コンピューターとDNAコンピューターです。 マクスウェルの法則または重力による計算の可能性および/または制限について何が知られていますか? つまり、Maxwellの方程式またはn体問題に対する自然の「迅速な」解を直接汎用アルゴリズムに組み込むことですか。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.