2 ^ sqrt(n)の時間計算量


11

私はアルゴリズムの質問を解決していますが、私の分析では、O(2 ^ sqrt(n))で実行されます。どれくらい大きいの?O(2 ^ n)と同等ですか?まだ非多項式時間ですか?


3
質問に投票する理由をコメントしてください。ありがとう!
ガアラ

4
正直なところ、人々はこれを非常に些細な質問と誤解しているのではないかと疑っていますが、いずれにせよそれを証明する方法はすぐには明らかではないので、答えを書き、それが人々の心を変えるかどうかを確認します。
-Ixrec

3
ウィキペディアの記事によると、準指数時間、2番目の定義 (免責事項:投票しませんでした。このトピックでこれが正しいかどうかを言うのに十分な知識はありません。)
rwong

1
すごい!準指数時間:「一部のアルゴリズムの実行時間は、どの多項式よりも速く成長する可能性がありますが、それでも指数関数よりもかなり小さくなります」。これは間違いなく私の質問に答え、Big O分析に関する私の知識を広げます。どうもありがとう
ガアラ

1
特に大きな数の場合、O(2 ^ n)よりもずっと小さくなります。10 000個の要素のコレクションがある例を見てみましょう。2 ^ 10000は約3000桁の数字です。これは、O(2 ^ n)操作を行うのに必要なサイクル数です。O(2 ^ sqrt(n))を使用すると、30桁の数値になります。sqrtソリューションを支持する大きな数の場合、その差は非常に大きくなります(1ミリオン要素は(300 000桁の数字)* cpuサイクルと(300桁の数字)* cpuサイクルです)。
アンディ

回答:


16

これは興味深い質問です。幸いなことに、それを解決する方法がわかれば、それほど難しくありません。

機能のためにFNR +およびGNR +、我々は、FOG)場合にのみLIM SUP場合、N →∞ FN)/ GN)∈ R

関数FNR +があれば、ほとんどの多項式成長であり、定数が存在する場合にのみ、kはNように、FONN K)。レッツ・仕事任意であるが固定のため、このうちのkN

LIM SUP N →∞ 2 N 1/2 / N K =
LIM N →∞ 2 N 1/2 / N K =
LIM N →∞ Eのログ(2)N 1/2 / Eのログ(NK =
LIM N →∞ Eのログ(2)のn 1/2 -ログ(NK =∞∉ R

分母と分母の両方が単調に成長する定常関数であるため、最初の等式は真です。2番目の等式は、アイデンティティx y = e log(xyを使用します。最終式の指数が上に制限されていないため、制限は有限ではありません。正式な証明を与えることなく、n 1/2が漸近的にlog(n)を支配していることがわかっていると仮定することができます。したがって、問題の関数は多項式成長を超えています。

しかし、その成長は、(この目的のために、私が)厳密に小さい指数関数が定義されている場合、指数よりれているようにON ↦2 CのNの場合)、C >これを表示0であっても、より簡単です。

LIM SUP N →∞ 2 、C N / 2 N 1/2 = LIM N →∞ 2 C N - N 1/2 =∞∉ R

固定c > 0の場合。したがって、関数の複雑さは、多項式と指数の中間にあります。


6

どれくらい大きいの?さて、O(2 ^ sqrt(n))はまさにその大きさです:-(

意味を理解するために、アルゴリズムが単なるO(2 ^ sqrt(n))ではなく、実際にコンピューター上で正確に2 ^ sqrt(n)ナノ秒かかると想像してください。

n = 100:2 ^ 10 = 1024ナノ秒。まったく時間がありません。n = 1000:2 ^ 31.xxx = 20億ナノ秒。2秒、それは顕著です。n = 10,000:2 ^ 100≈10 ^ 30ナノ秒= 10 ^ 21秒= 30兆年

これは、n = 100で30兆年かかる2 ^ nナノ秒よりもはるかに優れていますが、解決できる問題のサイズは非常に限られています。コンピュータが1週間で問題を解決できる場合、その問題を「解決可能」と考えると、それは約6 x 10 ^ 14ナノ秒、つまり約n = 2,400です。一方、ミリ秒で最大n = 400まで解くことができます。

(実際には、n = 10,000の場合、O(2 ^ sqrt(n))とO(2 ^ n)の両方にまったく同じ時間がかかります。それを待つには長すぎます。)

多項式を超えています。n ^ 1000秒かかる別のアルゴリズムを使用します。これは、n = 2の場合、実際には解決できません。このアルゴリズムは、nが約8億8,500万になるまで時間がかかります。しかし、本当に、誰が気にしますか?その時点で、両方のアルゴリズムにかかる年数は9,000桁です。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.