効率的な普遍的な問題解決者?


12

アルゴリズムであることが「問題」を定義自然数を受け入れ、戻り0又は1を返し1の少なくとも一方のn N。このようなnは、Aに対する「解」と呼ばれますA1nNnA

「ユニバーサル問題ソルバー」を、問題を受け入れてその解決策の1つを返すアルゴリズム定義します。たとえば、Uはすべての自然数をループし、1つの結果になるまで入力を実行することで機能します(有効な入力で停止するだけです)。UU1

普遍的な問題解決者のパフォーマンスの限界を調べることに興味があります

に普遍的な問題ソルバーを、Aに問題を与え、t U A Uが入力Aを受け入れて出力を生成するのにかかる時間を示すUAt(U,A)UA

普遍的な問題解決者は、すべての普遍的な問題解決者Vに対して「効率的」と呼ばれます。UV

t(U,A)<t(V,A)+tV

ここでに依存Vが、に依存しないAtVVA

効率的な普遍的な問題解決者は存在しますか?

編集:「問題」と「普遍的な問題解決者」の定義を、もう少しエレガントで本質的に同等のものに変更することが可能であることに気付きました。「問題」とは、0または1(停止)を返す入力のないアルゴリズムです。「ユニバーサル問題ソルバー」は、問題を受け入れてその結果を返すアルゴリズムです。多かれ少なかれ普遍的なチューリングマシンです。

古い定義を新しい定義に減らすことができますに古い意味の問題が与えられた場合、Bを新しい意味の問題に構成できるからですABA(上記のテキストで説明ソルバを)

新しい定義は古い定義に縮小できますに新しい意味の問題が与えられると、AをBを計算して入力と結果を比較する古い意味の問題を構築できるからです。BAB

新感覚の普遍的な問題解決のささいな例は、単純に入力を実行するアルゴリズムです

回答:


5

効率的な普遍的な問題解決手段はありません。直感的に、Uは決定可能な決定問題に対して(ほぼ)最適なランタイムを持っている必要があります。一方、高速化定理は、最適なアルゴリズムを持たない決定可能な決定問題があると述べています(非常に穏やかな意味でも)。これを形式化するには:

時間の高速化定理(例えば[1]を参照)):すべての計算(及び超線形)関数について決定可能セットが存在するSような場合は、そのS D T I M E T 、次いでS D T I M E T 'のためのT 'を満足G T 'N < T nはgSSDTIME(t)SDTIME(t)tg(t(n))<t(n)

以下では、2番目の定義を使用します。してみましょう任意の普遍的な問題解決すること。ましょうG N = 2 2 N及びAは、決定アルゴリズムでSを。してみましょうAが、私は無入力のTM STもA 私は = A I 。TMがある UI = U 私が のコーディング(ランタイムで対数過負荷についてでAA 私はUg(n)=22nASAiAi=A(i)U~(i)=U(Ai)AAiのみが異なります)。スピードアップthoerem、TMあるBを決定Sをし、2 2 T I M E B < T I M E U。したがって、2 T I M E B < T I M E { U A i} O(logi)BS22TIME(B)<TIME(U~)2TIME(B)<TIME({U(Ai)})ます。

LET 入力のためのようなソルバ普遍的な問題であるA iは、それがシミュレートB Iの時間における対数過負荷と。(明らかに、A i B i の両方のランタイム関数は無制限です)VAiB(i)A(i)B(i)

cAit(U,Ai)>t(V,Ai)+c

だからUは効率的ではありません。

[1] Oded Goldreich、Computational Complexity、A Conceptual Perspective、定理4.8。4.2.1.2章も関連しています。


素晴らしいソリューション、thx!
ヴァネッサ

12

レビンの普遍的なアルゴリズムは、ようなアルゴリズムです。アルゴリズムを変更することで(たとえば、Hutterの「すべての明確に定義された問題に対する最速および最短のアルゴリズム」を参照)、s Vを普遍的な定数にすることができますが、必要に応じて1ではありません。関連する作業については、Hirsch、Itsykson、および彼らの学生による作業、たとえばこのテクニカルレポートを参照してくださいt(U,A)<sVt(V,A)+tVsV1

編集:Squarkがコメントしているように、Levinのアルゴリズムの実行時間もの実行時間に依存します。これは、その答えを検証する必要があるためです。定数s Vを取得するために必要なことは、(レビンのオリジナルアルゴリズムのような算術的進行ではなく)幾何学的進行でさまざまなアルゴリズムの速度を設定することだけです。AsV


1
U

1
sVV

sVtV grow even more wildly (but still constant for any given V).
Yuval Filmus

1
I don't understand how. Btw if I added the condition V is provably a universal problem solver, it would be possible to eliminate the A dependent term by running only algorithms which can be proved to be universal problem solvers
Vanessa
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.