ランダム化アルゴリズムの予想実行時間は、最悪の場合の実行時間と同様に、明確に定義された概念です。アルゴリズムがランダム化されている場合、実行時間もランダムです。つまり、実行時間の期待値を定義できます。
よく知られている例はクイックソートです。ピボットをランダムに選択すると、最悪の場合の実行時間はO(n ^ 2)のままですが、予想される実行時間がO(n log n)になることを証明できます。ランダム化が非常に強力な例は、最小の包囲円問題です。最悪の場合の実行時間はO(n ^ 3)ですが、予想では、その実行時間はO(n)のみです。
通常、平均実行時間は、「ほとんどの入力の」アルゴリズムの動作について話すときに使用されます。入力をランダムに生成する方法を定義します。たとえば、配列に乱数を入力するか、1〜nの数字をランダムに並べ替える(重複しないようにする)か、コインを反転させて、数字。その入力のランダムな分布に対するアルゴリズムの平均実行時間は、アルゴリズムの予想実行時間です(この場合、アルゴリズムはランダム化されないかもしれませんが、入力はされます)。
例として、アルゴリズムが存在する幾何学的な問題がありますが、それは入力ラインなどの非常に奇妙な分散方法を発見するまで、一見うまく機能すると思われます。線がランダムに分布していると仮定すると、これらの奇妙なシナリオが発生する可能性は非常に低いため、アルゴリズムが適切である可能性があります。
対照的に、予想される実行時間は、「不運がない限り」アルゴリズムがどのように実行されるかです-同じ入力で同じアルゴリズムをランダムに選択して再試行すると、はるかに高速に解決される可能性があります。平均実行時間は、「ほとんどの入力に対して」アルゴリズムがどれだけうまく機能するかについて話します-同じ入力で同じアルゴリズムを再試行しても役に立ちません(おそらくアルゴリズムもランダム化されている場合を除く)。