回答:
そのようなことは絶対に証明できます。
多くの問題には、数値のセットの最小値(ソート/構造化されていない)を見つけるのに少なくとも時間かかるなど、些細な下限があります。この証明は簡単です。o(n)時間で実行される仮想アルゴリズムでは、入力内のすべての数値を調べることはできません。そのため、ある入力でアルゴリズムを実行した場合、入力の特定の要素を調べたことがないことがわかります。その要素を最小限に変更すると、アルゴリズムが失敗する可能性があります。
それほど自明ではない下限は、比較ベースのモデルでの並べ替えの下限です。その証明は、次の行に沿って行われます:数値を入力すると、可能な出力(入力はソートされたリストの順列である可能性があるため、出力は入力の順列である可能性があります)。我々は唯一の比較を行うに限定されている場合は、(平均で)私たちのアルゴリズムは、少なくとも実行する必要がある与えることができるようにするために比較は異なる出力。
下限はさらに強くなる可能性があります。指数関数的な下限があるいくつかの問題(特に -hard問題)があります。このクラスの問題には、(一般化された)チェス、チェッカー、ゴーなどのゲームの最適な戦略の計算が含まれます。これの証明は、次のように述べる時間階層定理によるものです(にいくつかの制限があります)。
関数与えられた場合、時間O (f (n ))で解くことができるが、時間o (f (n )。
したがって、基本的に、関数について考えることができる場合、解決するのに多くの時間を必要とする問題が存在します。
最後に、必ずしも時間の下限を証明するわけではなく、さらに強力なものが、問題の決定不能性を示しています(たとえば、停止、通信後)。
はい、可能です。典型的な例は、比較ベースのソートアルゴリズムでは、長さnのリストをソートするために比較が必要であるという事実です。。
ただし、下限は上限よりも証明がはるかに難しいようです。比較を必要とするソートアルゴリズムがあることを証明するには、そのようなアルゴリズムを提示するだけです(マージソート– 出来上がり!)。ただし、下限については、何らかの方法で特定のクラスのアルゴリズムが問題を解決できないことを示す必要があります。それを行うことの難しさは、我々は唯一のことを知っているという事実によって説明される L ⊆ N L ⊆ P ⊆ N P ⊆ P S P A C E 我々はこれらの介在物の少なくとも一方が(厳密であることを知っているにもかかわらず、 L ⊂ P S P A C Eスペース階層定理による)は、ほとんどの人は、彼らがいると思うすべての厳格な。
一方、Ryan WilliamsにはCircuits for AlgorithmsおよびCircuits for Algorithmsと呼ばれる素敵な論文(そして、何度か聞いたことがあります)があり、彼は下限を見つけることとアルゴリズムを見つけることは基本的にすべてではないと主張していますその違い。たとえば、彼は、下限(決定不能性)を正確に証明するために正確に使用されるアルゴリズム(汎用チューリングマシン)の例として、停止問題の決定不能性の証明を引用します。
ただし、下限(または一般に複雑度の上限)に関して、さらにいくつかの注意を喚起するという質問のポイントがあります。
実際には、計算ステップが一定の上限(および下限)を持っていると見なすことができる限り、単一の計算ステップを選択することは無関係です。複雑さの結果は、定数まで定義されるため、同じになります。3つの比較を単位操作として、または1つだけを比較しても違いはありません。
計算のコストを評価するための参照として機能するデータのサイズに関しても同じことが言えます。単一の整数、またはサイズの単位として2つの整数を使用しても違いはありません。
ただし、2つの選択肢は関連している必要があります。
オペレーションがユニットコストを持つと見なすことができるかどうかは、どのデータがユニットサイズを持つと見なすことができるかに密接に関連しています。そして、それはあなたの計算モデルのために選択する抽象化のレベルに依存します。