厳密な正式な意味では、違います。理論/数学的な意味での非決定性により、マシンは、入力の先を見ることなく、最終的に受け入れ状態になるかどうかに基づいて計算パスを選択できます。したがって、この厳密な意味では、これは理論的な検討にのみ適しているプロパティであり、実際の非決定的マシンなどはありません。この場合、特に、将来を見通すことができない限り、実際にNFAを構築することはできません。この才能を備えたコンパイラを構築するのは少し無駄です!;)。
ただし、非決定性と非決定性は、漠然と定義された弱い意味で使用されることがよくあります。時々それはランダム化/確率論を意味するかもしれません-アルゴリズムはコインを裏返す、正式な設定ではこれは確率論的/ランダム化アルゴリズムとして研究され、非決定論とは呼ばれません。別の用途は、同じ入力で2回実行した場合に同じ出力を必ずしも生成しないアルゴリズムです。ランダムではないかもしれませんが、動作の一部が指定されていないため、いくつかの有効な出力がある可能性があります(個人的には定義は混乱から来て来ていないが -determinedと非 -deterministic。
それでも、原則として、これらの弱い非公式な感覚の1つで非決定的であるレクサーを作成できますが、それはNFA(厳密な正式なマシンモデル)ではなく、クラッシュになるとは想像できません。ホットアイデアのいずれか-レクサーは非常に予測可能である必要があります。
最後のオプションは、バックトラッキングまたは並列処理を介して非決定論をシミュレートできることですが、この場合、非決定論の見かけの効率が失われます。 DFAよりもオフ。