Wikiは多項式時間を休閑として定義します:

アルゴリズムの実行時間が多項式式によって上限が定められている場合、アルゴリズムは多項式時間であると言われます。アルゴリズムの入力のサイズ。つまり、定数$ k $の場合は$ T(n)= O(n ^ k)$

I一般的に、アルゴリズム時間指数時間の違いを理解してくださいは、指数関数がどの多項式関数よりも厳密に速く成長することです(参照)。

コアを理解しようとしています指数時間の定義

  1. 1つのアルゴリズムを

指数時間?

  • 多項式式でどのような変更を行う必要がありますか指数時間?(それによって最初にアルゴリズムの定義を参照しています質問の)
  • コメント

    • 1。指数関数的に多くのことを行います。 2.多項式を底の累乗として使用します> 1.
    • 私は'あなたの2番目を理解していません質問。多項式は多項式です。指数は指数です。多項式を指数関数にするために何を変更する必要があるかを尋ねるのは、対数を余弦にするために何を変更する必要があるかを尋ねるようなものです。
    • @DavidRicherby P = NPの場合、指数時間関数はありますか?多項式の観点から指数時間関数をどのように定義できますか?
    • P = NPの場合、指数関数は確かに存在します。 ' P = NPであっても、すぐに頭に浮かぶことはありませんが、指数関数的な時間がかかるという問題がまだある可能性があります。指数関数は多項式で定義できますが、その多項式は無限に長くなければなりません。これに興味がある場合は、テイラー展開を調べることをお勧めします。' >
    • @ymbirtt 時間階層定理の最も簡単なバージョンでさえ、EXPTIME完全問題には多項式時間アルゴリズムがないと言っています。 'は無条件の結果です。'はP $ \ neq $ NPという仮定に依存しません。

    回答

    1. 注意すべき兆候はありますが、これに対する簡単な回答はありません。 。たとえば、セットのすべての可能なサブセットを調べることは指数関数的です-したがって、整数のセット$ \ {x_1、…、x_n \} $があり、これらのすべてのサブセットをチェックして、それらが合計されるかどうかを確認したい場合$ 0 $までは、正確に$ 2 ^ n $のサブセットを考慮する必要があるため、このメソッドは指数関数的な時間になります。いくつかの異なるトラップがアルゴリズムを指数関数的にする可能性がありますが、幅広いカテゴリを探すのではなく、ケースバイケースでアルゴリズムを分析します。

    2. アルゴリズムが完了するのに$ n ^ 2 $ステップかかる場合、それは多項式です。$ 2 ^ n $ステップかかる場合、それは指数関数的です。違いは$ n $の位置です。 $ n > 1 $、$ m > 0 $に対して$ O(n ^ m)$の場合、それは固定$ m $の場合は$ n $の多項式ですが、固定$ n $の場合は$ m $の指数関数です。

    コメント

    • 注意。$ m $が定数でない限り、関数$ n ^ m $ isn ' t多項式は$ n $です。また、$ m $ 定数、'関数がその定数で指数関数的であると言っても意味がありません。
    • はい、'正解です。'明確にします。

    回答

    問題を検討するときに指数関数的な時間ブルートフォースアルゴリズムを取得し、その検索空間全体を列挙することがよくあります。通常、サブセットの問題について考えます(SATでは、次のサブセットを選択します。変数をtrueに設定)、並べ替えの問題(TSPでは、すべてのツアーは都市の並べ替えです)、およびパーティションの問題(グラフの色付けでは、pを実行しようとしています)頂点をカラークラスにアーティフィケーションします)。または、並べ替えも検討してください。$ n $整数の$ n!$順列があります。すべての順列を調べて、ソートされているかどうかを確認します。ばかげている(そして遅い)が、それは機能する。

    コメント

    • $ O(n!)$は$ O( k ^ n)$。 'まだ時間計算量について学習しようとしている場合、これは自分自身に証明するのに役立つ可能性があります。

    コメントを残す

    メールアドレスが公開されることはありません。 * が付いている欄は必須項目です