オートマトンと通常の言語における状態の複雑さの重要性は?


14

私は、ガリナ・ジラスコワの2009年の「正規の言語と記述の複雑さの連結」を読んでいます。 。私を驚かせた最初のささいな考えは、複雑さが増すと、マシンにより多くの時間とスペースが必要になるということでした。これは正しいです?また、州の複雑さが重要で意味のある他の場所はありますか?

編集:通常の言語の状態の複雑さは、言語を受け入れる決定論的有限オートマトン(dfa)の状態の最小数です。通常の言語の非決定性状態の複雑さは、言語の非決定性有限オートマトン(nfa)の状態の最小数として定義されます。


確実なこと。質問を編集しました!
エアマイン

あなたが読んでいる論文は、質問にある程度答えている可能性があります...?タイトルやできればpdfへのリンクなど、より詳細に引用できますか?FSM状態の複雑さは多くのアプリケーションに現れ、理論的にも意味を持ちます
...-vzn

はい、私は論文に目を通し、参考文献に目を通しました。状態の複雑さのアプリケーションに関連するものはあまり見つかりませんでした。
エアマイン

3
ほとんどすべてのFSMアプリケーション(多数あります)は、自明ではない「大きな」問題の状態の複雑さを考慮する必要があります。例。FSMは、状態が音素である音声認識で使用され、これが大きなFSMにつながる可能性があります。FSMは、回路などのEEアプリケーションでも広く使用されています。そこでは、複雑度の高いFSMは「大きな」回路です。しかし、問題の論文は主に、「爆発」または「効率的な最小化」(圧縮)の上限/下限が研究の重要な特性である問題の理論的な複雑性に
注目してい

ない正確に「実用的」が、状態の複雑さは中役割を果たす有限オートマトンの多様性に基づく推論リベストとSchapireによって:[会議ジャーナル ]。
ニールヤング

回答:


18

状態の複雑さは、計算の複雑さではなく、オブジェクト(この場合は通常の言語)の簡潔な記述に関するものです。一般的なトピックは、文献では「記述の複雑さ」と呼ばれ、そのインスピレーションの一部は、マイヤーとフィッシャーの古典的な1971年の論文「Automata、Grammars、Formal Systemsによる表現の経済」(http:// people .csail.mit.edu / meyer / economy-of-description.pdf)。これは今でも活発な分野であり、毎年会議が開催されています(DCFS-形式的なシステムの記述の複雑さ)。

アプリケーションに関しては、プログラムが本質的に有限状態マシン(パーサーなど)に依存している場所であれば、この有限状態マシンを可能な限り小さくするとよいでしょう。


2
ああ、大丈夫。基本的に、状態の複雑さを減らすことは、処理を簡単にするのではなく、特定の言語の最小限の表現を達成するのに役立ちますか?
エアマイン

また、オートマトンのほとんどのアルゴリズムは状態の複雑さに直接依存するため、状態の最小化は計算の複雑さを最小化するという不本意の動機で行われることがよくあります。
デニス

9

ジェフリー・シャリットの優れた答えに具体的な例を加えましょう。

Scrabble(TM)辞書を作成するとします。単語のリスト、試行(文字ツリー)、決定性オートマトンなど、辞書を表すいくつかの方法を考えることができます。[1]によれば、トライをdawg [= DFA]に最小化すると、スペースが驚くほど節約されます。ノードの数は117,150から19,853に削減されます。未加工の単語リストとして表される辞書は約780 Kバイトで、dawgは175 Kバイトで表されます。

ご覧のとおり、この場合、特に著者のように効率的なプログラムを作成する場合は、状態の複雑さが本当に重要です。

[1]アペルとヤコブソンザ・世界最速スクラブルプログラム、ACMのコミュニケーション31、572-578(1988)。


4

任意の決定論的コンテキストフリー文法(または同等に決定論的プッシュダウンオートマトン)が同じ言語を記述する同等の有限状態オートマトンを持っているかどうかが決定可能であるという証明は、本質的に決定論的コンテキストフリー言語を記述する有限オートマトンの状態の複雑さの証明です:決定論的オートマトンに関するこれらの有限オートマトンのサイズの限界は、決定手順の長さの限界を与えます。

詳細については、レスリーG.ヴァリアントによる「決定性プッシュダウンオートマトンの規則性と関連する問題」を参照してください。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.