20年前、正規表現から有限状態マシン(DFA)への変換を含む正規表現パッケージを作成し、多数の閉じた正規表現操作(Kleeneスター、連結、リバース、集合操作など)をサポートしました。パッケージの最悪の場合のパフォーマンスについては確信が持てませんでした。
n状態のNDFAは2 ^ n状態のDFAに簡単に変換できるため、DFAにはNDFAと同じ表現力があります。ただし、状態の指数関数的な爆発を必要としないこのような変換の下限保証はありますか?
正常に動作しない正規表現やNDFAの例を見つけることはできませんでしたが、それについて考えるのに多くの時間を費やしませんでした。(((((e | A | B | C)*(e | D | E | F))*(e | G | H | I))*(e | J | K | Lのような正規表現を推測しています。 | M))*多くの交代とクリーン星を混ぜると、NDFAは直線的なサイズになりますが、DFAは拡張されます。