これは明らかに、「DFAに決定する/ DFAを最小化する」という元の/長年の戦略以外の既知/使用可能なアルゴリズムの意味で、非常によく研究された問題ではありません。決定ステップが問題のあるステップであることを示しているように見えますが、これは当然、指数空間/時間の最悪のケースがあることを考えると典型的です。平均してパフォーマンスが大幅に変化する可能性のあるDFA最小化アルゴリズムがいくつかあることに注意してください。
より非公式には、「決定性のないNFA最小化」としても知られています。この論文に示されているように、P = Pspaceでない限り、基本的に近似アルゴリズムさえないという意味で難しいことが知られています。
ただし、このペーパーでは、決定されたDFA 1stの検出に基づいていない、一般にめったに探索されないいくつかのアルゴリズムのケースを考慮しています。
非決定的オートマトンの状態と遷移の数を減らすためのさまざまな手法を紹介します。これらの手法は、左右の言語の包含に関連する、状態のセットに対する2つの事前注文に基づいています。それらの正確な計算はNP困難であるため、NFAの削減をすべて可能にする多項式近似に注目します。
一般に可能な限り効率的に大規模なNFA / DFA変換/最小化などを処理できる公開パッケージ/実装がAT&T FSMライブラリであることに注意してください。
fsmcompact
時々十分な戦略があります:
トランスデューサーまたは重み付きアクセプターを決定できない場合や非常に大きくなる場合は、別の最適化が役立つ場合があります—
fsmcompact
。この操作は、入力ラベル、出力ラベル、およびコストの各トリプルを単一の新しいラベルにエンコードし、古典的な(重み付けされていないアクセプター)決定および最小化を実行し、エンコードされたラベルを元の値にデコードします。これには、常に定義され、出力ラベルまたはコストをパスに沿って移動しないという利点があります。結果には、決定論的でも最小でもないという欠点があります。