以下のほとんどは構文解析理論によるものです SippuとSoisalon-Soininenのによるものです。
してみましょう DFAの状態の集合とします。してみましょうTは入力アルファベットなります。しましょう| M | = O (| T | ⋅ | Q |)はマシンのサイズです。演習3.40では、状態を最小化するためのO (| T | ⋅ | Q | 2)アルゴリズムを提供します。以下のようウィキペディアは説明し、ホップクロフトのアルゴリズムは、実行中の時間があるOを(| T | ⋅ | Q | ⋅ ログQT|M|=O(|T|⋅|Q|)O(|T|⋅|Q|2)とムーアのアルゴリズムが実行中の時間がある O (| T | 2 ⋅ | Qを|)。O(|T|⋅|Q|⋅log|T|)O(|T|2⋅|Q|)
定理3.30では、サブセットの構築が可能であり、サイズO (2 | T | + log | Q |)のオートマトンが得られると述べています。結果のオートマトンは| T ′ |状態を持ち、実行時間は(| T ′ | + | T | ⋅ | MO(2|T|+log|T|+log|Q|)O(2|T|+log|Q|)|T′|(|T′|+|T|⋅|M|)⋅|Q|)。したがって、2つの反転と2番目の決定は実行時間では重要ではないため、Brzozowskiのアルゴリズムの漸近的な実行時間は、サブセット構築のそれと同じです。
(a|b)∗akk+1O(2k)
|T′|=O(|T|)O(|T|2⋅|Q|2)|T||Q|O(|T|⋅|Q|) running time on 'good' inputs.
Unfortunately, I'm not familiar enough with Hopcroft's or Moore's algorithms to give an analysis of their running times in typical cases. Wikipedia talks about a O(|T|loglog|T|) running time in some cases, which would make the three algorithms comparable.