タグ付けされた質問 「finite-automata」

有限メモリを持つ有限オートマトンモデルである有限オートマトンに関する質問。これは通常の言語と同等であり、より多くの複雑なモデルの基礎となります。


2
2つのDFAの同等性は決定的な問題ですか?
2つのDFAが与えられた場合、それらが同じ言語を生成するかどうかを見つける問題は決定的な問題ですか? 2つのCFLの平等は決定可能ではないことはすでに知っています しかし、2つのDFAの等価性はどうですか?DFAの問題のほとんどが決定可能であることを考えると、これも決定可能ですか?

2
線形限定チューリングマシンが有限状態オートマトンよりも強力なのはなぜですか?
私たちのコンピューターは有限であるため、最終的には(非常に大きな)有限状態マシンほど強力ではないという印象を受けました。ただし、線形制限付きチューリングマシンも有限ですが、通常の言語は厳密に文脈依存型言語の不適切なサブセットであるようです。 明らかに、ここに何かが足りません。何が起こっている?

1
特定のDFAが最小限であるかどうかをどれだけ速く判断できますか?
最小化決定性有限オートマトン(のDFA)は、文献に詳細に研究されてきた問題であり、そしていくつかのアルゴリズム次のような問題を解決するために提案されています:DFAを考えると、同じ言語を受け入れて対応する最小限のDFAを計算A。これらのアルゴリズムのほとんどは、多項式時間で実行されます。AA\mathscr{A}AA\mathscr{A} ただし、この問題の決定バリアントは「DFA 与えられた場合、Aは最小限ですか?」-実際に最小オートマトンを計算するよりも効率的に解くことができます。明らかに、これは、たとえば、Hopcroftのパーティション絞り込みアルゴリズムを実行してから、すべてのパーティションに正確に1つの状態が含まれているかどうかを判断することによっても効率的に実行できます。AA\mathscr{A}AA\mathscr{A} Yuval Filmusが彼の回答で示唆しているように、決定可能性バリアントは、おそらく標準アルゴリズムを使用することで、より速く解決できます。残念ながら、その方法はわかりません(ここで明らかな点を見逃していないことを願っています)。 Yuvalはここのコメントで、最もよく知られているアルゴリズム(上記のものなど)が一定サイズのアルファベットに対して時間で実行されることを指摘しています。したがって、私はランタイムでの漸近的に重要な利益に関心があるだけでなく、かなり可能性が低いように見えます。私が最も気になるのは、私たちがイエスノーノーアンサーだけに関心があるという事実から引き出されるかもしれない「ショートカット」を想像できないことです-漸近的に無視できる時間を節約することを可能にするショートカットさえも。DFAの最小性を決定する賢明なアルゴリズムはすべて、実際にDFAを最小限に抑え、プロセス中に変更がないか確認する必要があると思います。O(nlogn)O(nlog⁡n)\mathcal{O}(n \log n)

4
FSAはカウントできますか?
これはばかげた質問かもしれません。FSAは有限であるため、その入力文字列内のシンボルの数は、その状態の数によって制限された数までしかカウントできないことは明らかです。しかし、ここでFSAに出力(印刷など)機能を装備するとします。次のようになり、非常に読むことがシンボルごとに1つのシンボルを印刷することができるマシンを構築しやすいです。それは数えるものとして数えるでしょうか?そうでない場合、なぜでしょうか? 代わりにFSTの観点から言えば、私は、任意の長さの文字列をその長さのバイナリ表現(2を底とする数値システムの数値)にマッピングできるFSTを構築することは不可能だと思います。しかし、もちろん、任意の長さの文字列を同じ長さの言うゼロ(または1)の文字列にマッピングできるFSTを構築するのは簡単です。しかし、FSTが実行しているのは入力の長さの表現を構築しているため、それは数えられるかもしれませんし、できないかもしれません。少し奇妙な表現ですが、それでも表現ですよね?

1
NFAからDFAに変換できません
与えられたΣ={a,b}Σ={a,b}\Sigma =\{a, b\}与えられた言語のアルファベットセットが { a 、b }である。 私はそれを回り道で解決しようとしました: 正規表現を生成する 対応するNFAの作成 パワーセット構造を使用してDFAを推定する DFAの状態の数を最小限に抑える ステップ1: 与えられた問題の正規表現は(数えきれないほどの中で): ((aa|bb)(a|b)*)|((a|b)(a|b)*(aa|bb)) ステップ2: 指定された式のNFAは次のとおりです。 (ソース:livefilestore.com) 表形式では、NFAは次のとおりです。 State Input:a Input:b ->1 2,5 3,5 2 4 - 3 - 4 (4) 4 4 5 5,7 5,6 6 - 8 7 8 - (8) - - ステップ3:パワーセット構造を使用してDFAに変換します。 Symbol, State + …

1
絞り込みタイプの推測
職場では、動的言語に関する型情報を推論する必要があります。次のように、ステートメントのシーケンスをネストされたlet式に書き換えます。 return x; Z => x var x; Z => let x = undefined in Z x = y; Z => let x = y in Z if x then T else F; Z => if x then { T; Z } else { F; Z } 一般的なタイプ情報から始めて、より具体的なタイプを推測しようとしているので、自然な選択は絞り込みタイプです。たとえば、条件演算子は、trueブランチとfalseブランチの型の和集合を返します。単純なケースでは、非常にうまく機能します。 ただし、次のタイプを推測しようとしたときに、思わぬ障害に遭遇しました。 function …
11 programming-languages  logic  type-theory  type-inference  machine-learning  data-mining  clustering  order-theory  reference-request  information-theory  entropy  algorithms  algorithm-analysis  space-complexity  lower-bounds  formal-languages  computability  formal-grammars  context-free  parsing  complexity-theory  time-complexity  terminology  turing-machines  nondeterminism  programming-languages  semantics  operational-semantics  complexity-theory  time-complexity  complexity-theory  reference-request  turing-machines  machine-models  simulation  graphs  probability-theory  data-structures  terminology  distributed-systems  hash-tables  history  terminology  programming-languages  meta-programming  terminology  formal-grammars  compilers  algorithms  search-algorithms  formal-languages  regular-languages  complexity-theory  satisfiability  sat-solvers  factoring  algorithms  randomized-algorithms  streaming-algorithm  in-place  algorithms  numerical-analysis  regular-languages  automata  finite-automata  regular-expressions  algorithms  data-structures  efficiency  coding-theory  algorithms  graph-theory  reference-request  education  books  formal-languages  context-free  proof-techniques  algorithms  graph-theory  greedy-algorithms  matroids  complexity-theory  graph-theory  np-complete  intuition  complexity-theory  np-complete  traveling-salesman  algorithms  graphs  probabilistic-algorithms  weighted-graphs  data-structures  time-complexity  priority-queues  computability  turing-machines  automata  pushdown-automata  algorithms  graphs  binary-trees  algorithms  algorithm-analysis  spanning-trees  terminology  asymptotics  landau-notation  algorithms  graph-theory  network-flow  terminology  computability  undecidability  rice-theorem  algorithms  data-structures  computational-geometry 

3
重複するサイクルを持つNFAを正規表現に変換する方法は?
私が正しく理解すれば、NFAには正規表現と同じ表現力があります。多くの場合、NFAから同等の正規表現を読み取るのは簡単です。サイクルを星に変換したり、ジャンクションを代替として変換したりします。しかし、この場合何をすべきか: [ ソース ] オーバーラップするサイクルにより、このオートマトンが何を受け入れるか(正規表現に関して)がわかりにくくなります。トリックはありますか?

2
指定された文字列を受け入れ、他の指定された文字列を拒否する最小のDFA
二組を考えるとのアルファベットを超える文字列のΣ、我々は計算することができ、最小決定性有限オートマトン(DFA)MようにA ⊆ L (M )とL (M )⊆ Σ * ∖ B?A 、Bあ、BA,BΣΣ\SigmaMMMA ⊆ L (M)あ⊆L(M)A \subseteq L(M)L (M)⊆ Σ∗∖ BL(M)⊆Σ∗∖BL(M) \subseteq \Sigma^*\setminus B つまり、は一連の正の例を表します。Aのすべての文字列は、DFAによって受け入れられる必要があります。 Bは否定的な例のセットを表します。Bの文字列はDFAで受け入れられません。ああAああABBBBBB DFA最小化手法を使用して、これを解決する方法はありますか?受け入れ状態、拒否状態、および「ドントケア」状態の3種類の状態を持つDFAのようなオートマトンを作成することを想像できます(「ドントケア」状態で終わるすべての入力を受け入れることができます)または拒否されました)。しかし、これを通常のDFAに最小化する方法を見つけることができますか? ポジティブな例とネガティブな例を考えると、これをDFAの学習の問題と考えることができます。 これは、正規表現ゴルフNP-Completeに触発されてい ます。、DFAではなく正規表現に対して同様の質問をします。

2
有限状態オートマトンの次の拡張が研究されていますか?
通常のように有限状態機械を考えますが、すべての遷移で、数値を加算または減算することによって整数カウンターを更新することもできます。セイ、フォームの遷移関数 新しい状態に移動し、P、及び追加Kをカウンタに、ここでのk ∈ Z(SO K正、負、またはゼロであることができます) 。δ(q、a )= (p 、k )δ(q,a)=(p,k)\delta(q,a) = (p,k)pppkkkk∈Zk∈Zk \in \mathbb{Z}kkk 最終状態とカウンタ値がである場合、文字列が受け入れられる、Fは状態およびカウンタ値のペアの有限集合です。FFFFFF このモデルは知られていますか?この特定の拡張機能の参照は見つかりませんでした。


1
Earley Parserは、DFAのLevenshtein Automata Algoのようなファジーパーサーにできますか?
DFAと実行時に入力された単語のLevenshtein Automataを実行して、あいまいな解析を実行する方法があります(タイプミスがある場合でも文字列を受け入れます)。Earleyパーサーでも同様のことができますか?アルゴリズムを理解するのは難しいと思います。この質問に答えることは言うまでもありません。


4
DFAで受け入れられない通常の言語は最大で3つの州しかありません
州が3つしかないDFAで受け入れられない通常の言語について説明してください。 私はこれからどこから始めればいいのか本当にわからず、誰かが私にいくつかのヒントやアドバイスを与えることができるかどうか疑問に思いました。ポンピングレンマは、言語が規則的でないことを証明するために使用できることを理解していますが、この場合、それは通常の言語である必要があります。誰かが何か考えを持っている場合、それはいただければ幸いです。


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