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

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

1
通常の言語とのコンテキストの交差
文脈自由言語Lと通常言語Mの共通部分は、常に文脈自由であると言われています。クロスプロダクト構築の証明は理解しましたが、なぜコンテキストフリーであるが通常ではないのかはまだわかりません。 このような共通部分によって生成される言語には、PDA と DFAの両方で受け入れられる文字列があります。DFAで受け入れられているので、通常の言語ではないでしょうか?さらに、交差点が規則的である場合、すべての正規言語にも文脈がないため、文脈がないことを意味します。 誰かがそのような交差点によって得られた言語が規則的でない理由を私に説明できますか?

1
組合の存在下でのNFAとDFAの指数関数的分離
最近、興味深い質問が出され、その後削除されました。 通常の言語LLL場合、そのDFA複雑度はそれを受け入れる最小DFAのサイズであり、そのNFA複雑度はそれを受け入れる最小NFAのサイズです。少なくともアルファベットのサイズに制限がない場合は、2つの複雑さの間に指数関数的な分離があることはよく知られています。実際、すべての記号を含まないすべての単語で構成されるアルファベット{ 1 、… 、n }上の言語LnLnL_nを考えます。Myhill-Nerodeの定理を使用すると、DFAの複雑度2 nを簡単に計算できます。一方、NFAの複雑さだけでnは{1,…,n}{1,…,n}\{1,\ldots,n\}2n2n2^nnnn(複数の初期状態が許可されている場合、そうでない場合は)。n+1n+1n+1 当該削除された質問複雑覆うDFA最小である言語のようにLが最大でDFAの複雑さの言語の(必ずしも互いに素ではない)組合のように書くことができるCを。L nの複雑さをカバーするDFA はわずか2です。CCCLLLCCCLnLnL_n222 NFAの複雑さとDFAの複雑さをカバーする指数関数的な分離はありますか?

3
DFA最小化のためのBrzozowskiのアルゴリズム
BrzozowskiのDFA最小化アルゴリズムは、以下によってDFA 最小DFAを構築GGGします。 内のすべてのエッジ反転GGG、初期状態を作るAN状態を受け入れ、NFA取得するには、初期状態を受け入れるN′N′N'逆言語に対して、 パワーセット構造を使用して、逆言語のを取得しG′G′G'ます。 のエッジを反転(および初期受け入れスワップ)して、元の言語のG′G′G'NFA を取得します。NNN GminGminG_{\min} もちろん、一部のDFAには指数関数的な大きな逆DFAがあるため、このアルゴリズムは入力のサイズに関して最悪の場合指数関数的に実行されるため、逆DFAのサイズを追跡できます。 場合は入力DFAのサイズは、最小限DFAの大きさで、かつ最小限逆DFAの大きさを、その後の面でBrzozowskiのアルゴリズムの実行時間何であるN、N、およびmは? nは mはNNNnnnmmmNNNnnnmmm 特に、Brzozowskiのアルゴリズムは、とmのどの関係で、HopcroftまたはMooreのアルゴリズムよりも優れていますか?nnnmmm Practice / Applicationの典型的な例では、Brzozowskiのアルゴリズムが他のアルゴリズムよりも優れていると聞いています。非公式には、これらの典型的な例はどのようなものですか?


7
NFAが非決定的と呼ばれるのはなぜですか?
この[おかしい]質問を念頭に置いています。入力の遷移を定義するときに、非決定的有限オートマトンが非決定的と呼ばれるのはなぜですか。まあ、複数のイプシロン遷移がありますが、それらは定義されています。つまり、マシンはそれらの遷移に対して決定論的です。つまり、決定論的です。

1
異なる通常言語の数
アルファベット与えΣ = { a 、b }Σ={a,b}\Sigma = \{ a,b \}られた場合、nnn非決定的有限オートマトンで受け入れられる正規言語はいくつありますか? 例として、考えてみましょうn = 3n=3n=3。次に、2182182^{18}異なる遷移構成と23232^3異なる開始状態および終了状態の構成があるため、2242242^{24}異なる言語の上限があります。 ただし、これらの多くは同等であり、そのテストはPSPACE-Completeであるため、各設定をテストすることはおそらく実行不可能です。 特定のリソースで受け入れられるさまざまな言語の数を制限する他の手段または組み合わせの引数はありますか?

3
DFAの最小化がそうでないのに、なぜNFAの最小化は難しい問題なのですか?
同等の状態を見つけてマージすることでDFAを最小化できることは知っていますが、なぜNFAでも同じことができないのですか?証拠が理解しやすい場合を除き、証拠などを探していません。DFAの最小化が難しいのに、なぜNFAの最小化が難しいのかを直感的に理解したいだけです。

1
チューリングマシンは、NFAが素数の文字列を受け入れるかどうかを決定できますか?
次の問題が決定可能かどうかを知りたい: インスタンス:n個の状態を持つNFA A 質問:Aが長さpの文字列を受け入れるような素数pが存在しますか。 私の考えでは、この問題は決定不能ですが、証明することはできません。決定者は、特定の数値が素数であるかどうかを判断するアルゴリズムを簡単に持つことができますが、NFAを分析して、生成できる長さを正確に知る方法が十分にわかりません。NFAを使用して文字列のテストを開始できますが、無限言語の場合、停止することはありません(したがって、決定者ではありません)。 もちろん、ソリューションで必要な場合は、NFAをDFAまたは正規表現に簡単に変更できます。 この質問は、2週間後に出てくる決勝戦のための自作の準備質問として考えていました。

2
「生産」という言葉は、どのようにしてコンピューターサイエンスの文脈で「ルール」という言葉と同義語になったのでしょうか。
私は正式な言語と生産ベースシステム(ルールベースシステム)を研究していますが、これら2つの「生産」と「ルール」という言葉がコンピューターサイエンスの多くの文脈で同じことを意味する理由について少し混乱しています。 英語では、同じことを意味していないようです。私は英語のネイティブスピーカーではありませんが、ルールは人について話すときにやるべき/すべきでないこと、または何度も繰り返されると同じ結果が得られることを指し、いくつかのルールで機能すると言います(毎回同じであるいくつかのプロトコル/手順によって定義される動作方法)。 生産とは、完全に異なるものを指します...現在製造/生産されている物理的な商品またはソフトウェアのフェーズ。物理的または芸術的作品、文章、絵、誰かの身体的または精神的な能力で作られたものを作る行為。特定のものが生産されると言います。 しかし、コンピューターサイエンスでは、英語ではまったく異なるものを表すこれらの単語は、CSでは同じものを意味します。この用語はどのようにしてCSでも似たものになりました。 コンピュータサイエンスのための何らかの語源辞書がありますか。コンピュータサイエンスの用語がどのようになったのかを教えてくれる辞書? ところで、興味深い事実:どちらの生産もルールもこのStack Exchangeサイトのタグではありません。

3
決定論的有限オートマトンで可能なすべてのアルファベットの遷移を定義することは必須ですか?
明日は私のプレゼンテーションであり、私の概念を明確にしたい… DFAでは、「各状態について、可能なすべてのシンボル(アルファベット)の遷移を定義する必要がある」と読みました。 各状態について、DFAではすべての可能なシンボルの遷移を定義することが必須ですか?そうでない場合は、例を挙げてください。

7
DFAはNFAよりも効率的だと言えますか?
計算理論について読み始めたところです。(文字列を受け入れる際に)より強力な方を比較すると、両方とも同じです。しかし、効率はどうですか?DFAは発信エッジを1つしか持たず、あいまいさがないため、DFAはNFAと比較して高速になります。ただし、NFAの場合は、考えられるすべてのケースを確認する必要があり、確実に時間がかかります。それで、DFAはNFAよりも効率的だと言えるでしょうか? しかし、脳の他の部分は、NFAは理論上のみに存在すると考えているため、その効率をDFAと比較することはできません。

1
ダミーのための単項二次論理
私はプログラマーであり、オートマトンに精通していますが、ロジックには精通していません。 私は論文で、この2つは非常に密接に関連していると読みました。確定的有限オートマトン(DFA)、ツリーオートマトン、および可視プッシュダウンオートマトンは、すべてモナド2次論理(MSO)に関連しています。オートマトンと(論文の)人はMSOとの関係を私に説明しようとしたが、彼らは常に論理とMSOの理解の強い背景を前提としている。 ロジックに関する本やコースを見ると、ほとんどが一次ロジックのみを処理しますが、これは非常に単純で、いくつかの概念のみで構成されています:変数、または、ない、含意、すべて、存在など 誰かが説明したり、説明できるリソースを教えてくれたりできますか? 一次論理と対照的な二次論理とは何ですか? モナドと非モナドのロジックとは何ですか? なぜ二次論理が単項であることが決定可能になることが重要なのか、またはなぜこれが間違った質問なのか? なぜ単項二次論理が決定可能か? 少なくともDFAとの関係は? それがリソースである場合、私がプログラマーであり、論理学者ではないことを前提とすれば良いでしょう。これは、それまでは数学が私にとって魔法のように感じるので、コードとしてどのように実装するかを理解したいということです;) 助けてくれてありがとう。とても感謝しております。

3
NFAを使用せずに正規表現からDFAを作成する方法は?
目的は、正規表現からDFAを作成することであり、「通常のexp> NFA> DFA変換」を使用することはオプションではありません。それをどのように行うべきですか? 私は教授にこの質問をしましたが、彼は私たちが直観を使うことができると言って、親切に説明を拒否しました。だから私はあなたに尋ねたかった。 「通常のexp> NFA> DFA変換」はオプションではありません。そのような変換は、かなり複雑な正規表現を変換するのに多くの時間がかかるからです。たとえば、特定の正規表現「regex> NFA> DFA」の場合、人間には1時間かかります。30分以内に正規表現をDFAに変換する必要があります。

3
NFAはイプシロン遷移をどのように使用しますか?
下の写真では、このNFAが何を受け入れているかを正確に把握しようとしています。 私を混乱させているのは、ジャンプ。ϵϵ\epsilonq0q0q_0 場合は入力すると、両方のシステムに移動しと(状態を受け入れますか)?000q0q0q_0 q1q1q_1 が入力された場合、システムは両方の移動します111q1q1q_1とq2q2q_2ますか? 入力がない場合(空の文字列)、システムはq1q1q_1(状態を受け入れる)にのみ移動しますか

2
2ウェイDFAの空の問題の複雑さは何ですか?
2ウェイDFAの空を決定する時間の複雑さはどのくらいですか?つまり、読み取り専用の入力テープを逆方向に移動できる有限オートマトンです。 Wikipediaによると、これらはDFAと同等ですが、同等のDFAは指数関数的に大きくなる可能性があります。私はそれらの補足物と交差点の州の複雑さを発見しましたが、それらの空虚性テストのためではありません。 私がこれを見つけることができる論文を誰かが知っていますか?

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