特定のアルゴリズムが漸近的に最適であるかどうかを判断することは可能ですか?


11

次の問題のアルゴリズムはありますか?

チューリングマシンを考えると言語の決定、 チューリングマシンあり決定よう ? L M 2 L t 2n = o t 1n M1L
M2Lt2(n)=o(t1(n))

関数およびは、それぞれチューリングマシンおよびの最悪の実行時間です。t 2 M 1 M 2t1t2M1M2

スペースの複雑さはどうですか?


1
答えは間違いありません。TMの最悪の実行時間を決定することは決定不可能であることが知られています。
chazisop 2013

回答:


9

以下は、それらが決定不可能であることを示す簡単な引数です。つまり、特定のアルゴリズムが実行時間またはメモリ使用量に関して最適であるかどうかをチェックするアルゴリズムはありません。

ブランクテープの停止問題を、実行時間の最適化に関する問題にまで減らします。

してみましょう与えられたチューリングマシンです。Nを次のチューリング機械とする:M

n M n M n 2 nN:入力 1. (最大で)ステップ、空のテープでを実行します。 2.がステップで停止しない場合は、サイズループを実行してから、NOを返します。 3.それ以外の場合は、YESを返します。n
Mn
Mn2n

2つのケースがあります。

  1. が空のテープで停止しない場合、マシンは入力でステップを実行します。したがって、その実行時間はです。この場合、は明らかに最適ではありません。N Θ 2 NN Θ 2 NNMNΘ(2n)nΘ(2n)N

  2. 場合ブランクテープの停止、その後機械、すべての十分な大きさのための手順の一定数のために実行される実行時間であるので、。この場合、が明らかに最適です。N n O 1 NMNnO(1)N

要するに:

M halts on blank tape N is optimial 

さらに、のコードを指定すると、のコードを計算できます。したがって、ブランクテープでの停止の問題から実行時の最適性の問題への削減があります。特定のチューリングマシンが最適かどうかを判断できた場合、上記の削減を使用して、特定のマシンがブランクテープで停止するかどうかを確認できます。空白のテープで停止することは不可能であるので、あなたの問題もまた決定不可能です。N N MMNNM

スペースについても同様の引数を使用できます。つまり、特定のチューリングマシンが使用するスペースに関して最適かどうかを確認することもできません。

さらに強力なステートメントが当てはまります。特定の計算可能な関数が、特定の計算可能な関数を計算する時間の複雑さの上限であるかどうかを判断することはできません。スペースについても同様です。つまり、基本的な複雑性理論でさえ、アルゴリズムによって自動化することはできません(これは、複雑性理論家にとって朗報と見なすことができます;)。


M1

nnYESNn0nn0M

ああ、最後に読んでから質問が変わった。気にしないで。
ラファエル

@PålGD、私はOPがそれを例として使用したと思います(cstheoryに投稿された元の質問に基づく)。その質問の下のコメントを確認できます。
Kaveh 2013

2

他の人が述べたように、答えはノーです。

しかし、Blumが書いた興味深い記事「再帰関数の複雑さのマシンに依存しない理論」があります。彼は、プログラムがこれらの関数を計算するためにどれほど速くても、非常に速くそれらを計算するための別のプログラムが存在するという特性を持ついくつかの関数があることを示しました。

とても素敵な物件です!


-3

ハ!答えが「はい」の場合、別の世界に住んでいることになります。

A0ALA0A

残念ながら、これは不可能であり、実際、私は(自明ではない)最適性を証明することがコンピュータサイエンスの最も興味深い(そして難しい)問題であると個人的に考えています。私が知る限り-私は修正されてうれしいです-多項式の問題に対する最適化の結果は存在しません(もちろん、アルゴリズムが入力サイズに比例して時間がかかる自明な最適化の結果を除く)。


1
Ω(N)

1
Ω(nlogn)

@vonbrand-これは、入力サイズに比例するアルゴリズムによって私が意味したものです。
tからt

1
@ttothetわかりました。無益になると思いますが、もう一度やり直します。1)いいえ、まったくありません。すべての入力で1ステップだけを保存すると、同じ漸近ランタイムを持っているにもかかわらず、以前よりも優れたアルゴリズムが得られます。2)いいえ、ありません。「わからないが、そうならX」も意味します。これは珍しいことではありません(P?= NPを参照)。3)あなたはなかった主張全く非自明な下界は(漸近に、私は仮定)すべてで。それは間違いです。宿題をください。
ラファエル

1
@MartinJonáš私は2テープチューリングマシンを意味します。Kavehはポイントを持っています。時間階層定理の証明は、任意に高い複雑さでポリタイムで解決可能な問題を与えますが、例は正確に自然ではなく、あまり明確ではありません。また、確率論的な時間の階層は知られていないため、実際には何もありません。
Sasho Nikolov 2013
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.