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

あるモデルを別のモデルでシミュレーションすることに関する質問。これには、任意のモデルでの現実のシミュレーション、またはチューリングマシンを使用したマシンモデルのシミュレーションが含まれます。

1
ログスペースで2つのログスペースプログラムの連結をシミュレートする
私は2つの対数空間プログラムとを持っています。FFFGGG プログラムは配列入力を取得し、出力配列を作成します。FFFA[1..n]A[1..n]A[1..n]B[1..n]B[1..n]B[1..n] プログラムは、によって作成された入力として取得し、そこから出力配列を作成します。GGGBBBFFFC[1..n]C[1..n]C[1..n] 入力配列を取得し、それに対応する配列を作成するログスペースプログラムが存在することの証明を作成する必要があります。しかし、私はそれを書く正しい方法を見つけることができません。これはどのように行われますか?HHHAAACCC ログスペースプログラムは、ビットのメモリを使用するプログラムです。守らなければならないいくつかの条件を次に示します。O(logn)O(log⁡n)O(\log n) 単純な整数型の変数のみを使用する必要があります(intC ++、longintPascalなど)。 整数の許容範囲が定義されていますが入力のサイズである場合、変数に保存できるのは、基づいてポリモニアルサイズの値のみです。nnnnnn 例えば:私たちは、缶がで値を取る変数持つことができます、またはも値「、しかし、我々はできます値を取る変数があります。他のタイプの変数、および配列と反復子は許可されていません。[−n...n][−n...n][-n...n][−3n5...3n5][−3n5...3n5][-3n^5...3n^5][−4...7][−4...7][-4...7][0...2n][0...2n][ 0...2^n] ルールに関する例外は入力と出力です。入力は、プログラムが読み取ることができる特殊変数(主に配列)で使用でき、出力は他の特殊変数にのみ書き込むことができます。したがって、出力から読み取ったり、入力変数の値を増やしたりすることはできません。 プログラムは再帰を使用できません。 Pascalで書かれた対数空間プログラムの例(誰もが理解できるようにするため)で、整数の配列で最大の数を見つける var n: integer; //input variable the number of elements in A A: array [1..n] of integer; //input variable - the array of integers m: integer; // output variable, the position of maximum i, j: integer; //working …

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