ワーストケース、平均ケースなどの他の種類の実行時間分析?


22

アルゴリズムの実行時間を分析する方法は次のとおりです。

1)最悪の場合の分析:最悪のインスタンスでの実行時間。

2)平均ケース分析:ランダムインスタンスの予想実行時間。

3)償却分析:インスタンスの最悪のシーケンスでの平均実行時間。

4)平滑化された分析:最悪のランダムに摂動されたインスタンスの予想実行時間。

5)一般的なケース分析:インスタンスの小さなサブセットを除くすべての最悪の実行時間。

私の質問:これは完全なリストですか?


2
この種のリストは決して網羅的ではないでしょう。
伊藤剛

回答:


8

インスタンスの最適性は、アルゴリズムの非常に興味深い特性です。インスタンスの最適性の概念を一般化し、ワーストケース分析と平均ケース分析を含む驚くほど興味深い概念を思い付くことができます。

従来のアルゴリズム分析の範囲に厳密には該当しませんが、それ自体が興味深いものです。幾何学的アルゴリズムを議論するAfshani-Barbay-Chan(FOC​​S '09)の論文のアイデアは、入力順序(特定の問題に関連する)を無視したアルゴリズムのパフォーマンスを考慮しています。

これは次のように一般化されます:すべてのアルゴリズムについて、入力を等価クラスに分割し、アルゴリズムのパフォーマンスをこれらの等価クラスのそれぞれの平均パフォーマンスに対するある種の集合統計と見なします。

最悪の場合の分析では、単に入力を個々の等価クラスとして見て、最大実行時間を計算します。平均ケース分析では、すべての入力を含む単一の等価クラスを調べます。Afshani-Barbay-Chan論文では、入力が順列のクラスに分割されている場合(つまり、順序がわからないパフォーマンス)、それらのアルゴリズムが最適です。

これがアルゴリズム分析の新しいパラダイムにつながるかどうかは明らかではありません。 Tim Roughgardenのコースには、優れた動機付けの例がいくつかあり、アルゴリズムを分析するためのさまざまな方法をカバーしています。


アナント、ティムのコースへのリンクをありがとう。それはまさに私が探していた種類のものです。
umar

14

リストにはさらに2つありますが、それらは多少似ています。

  1. パラメーター化された分析は、「パラメーター」と呼ばれるもので測定された入力に関する追加情報を使用して、1つではなく2つの値の関数として実行時間を表します。例として、独立集合問題を取り上げます。一般的な場合の最適な実行時間は、定数に対するの形式です。ここで、グラフのツリー幅をパラメータとして取り、パラメータで表すと、時間で独立セットを計算できます。したがって、ツリー幅がグラフ合計サイズと比較して小さい場合、このパラメーター化されたアルゴリズムははるかに高速です。1 < c < 2 k O 2 k n O 1 k nO(cnnO(1))1<c<2kO(2knO(1))kn

  2. 出力依存分析は、構築の問題に適用される手法であり、実行時式で出力のサイズも考慮します。良い例は、平面内の一連の線分の交点を決定する問題です。間違っていなければ、時間で交差を計算でき。ここで、は交差の数です。kO(nlogn+k)k


8

Adaptive Analysisは、多数のパラメーターに関する多項式時間アルゴリズムの実行時間を測定します。たとえば、時間で実行されるソートアルゴリズムが必要ですが、入力がほとんどソートされている場合ははるかに高速です。ソートアルゴリズムの適応分析では、ペアワイズ反転の数、実行の数を考慮します。実行は、入力の最大のソートされた連続部分、または入力のエントロピーです。O(nlogn)

多項式時間アルゴリズムのパラメーター化された分析のように見え、出力に敏感な分析はこのカテゴリーに分類されるようです。


Serge、Glencoraのブログ投稿へのリンクに感謝します。そこには興味深いコメントがたくさんあります。
-umar

7

「ランダム化アルゴリズム」の「高確率」分析もあります。これは、インスタンスがアルゴリズムのほとんどの時間をどれだけうまく実行できるかを心配しますが、ほんの少しの時間を完全に放棄することができます。これは理論の学習では一般的です。


4

アルゴリズムにランダム性を追加し、上記のすべてと組み合わせることができます。次に、たとえば、ワーストケースの予想実行時間(ワーストケースのインスタンスですが、アルゴリズム内のランダムコインフリップのすべての可能なシーケンスで平均)とワーストケースの実行時間を高い確率で取得します(再び、ワーストケースのインスタンス、ランダムコインの確率はアルゴリズムで反転します)。


3

全単射分析は、2つのアルゴリズムを比較する方法です(Spyros Angelopoulos、Pascal Schweitzer:Paging and list update under bijective analysis。J. ACM 60、2013):大まかに、長さがnの入力では、アルゴリズムAはアルゴリズムBよりも優れていますAが入力xに対してf(x)に対して少なくともBと同等の性能を発揮するような長さnの入力の全単射f



0

競合分析ページ置換アルゴリズムでは、1つの方法がページの欠落を少なくすることで他の方法を過負荷にします。欠落しているページが少ないことは、「実行時間が短い」ことを示しています。また、競合分析は、2つの方法を相対的に比較する方法です。良い参考書は、アランボロディンの「オンライン計算と競争力のある分析」です。

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