DFAのこの交差は正しいですか?


7

上で定義されたすべての文字列の言語に対して、確定的有限オートマトン(DFA)を構築しています{01} 長さが偶数で数が 1sは奇数です。各DFAを個別に作成し、次に結合しました。

DFAとその結合

  • DFAを組み合わせるための所定の手順は正しいですか?
    編集:元々は労働組合を書いた。実際に交差点を取ります。

  • 長さと数に制限がある場合、DFAの作成に関する資料を誰かが提案しますか0sまたは 1s?

Merbsのリンクによると、私はこのFAを開発しました。ここに画像の説明を入力してください
このFAは、長さが均一の言語を受け入れません。


1
あなたのアプローチは正しいようですが、2つのDFAの和集合ではなく、共通部分を使用する必要があります。
A.Schulz、2012年

私は、FAの結合、FAの連結、およびFAの閉鎖のような3つの方法だけを学びました。検索中ですが、FAの交差部分が見つかりません。役立つリンクを教えていただけますか?
Rafay Zia Mir、2012

1
グーグル検索から:このサイトは良いですが、要点はあなたが受け入れ状態の交差点を取ることです。
Merbs 2012年

私はこのリンクにアクセスしたことがありますが、これはルールではなく具体的​​な例です。bczがいくつかの難しいFAに遭遇した場合、交差点を構築するのは難しいでしょう。
Rafay Zia Mir

2つのDFAが メートル そして 状態、DFAの構築 メートル状態(各状態は元のDFAの状態のペアを表す)ルールです。次に、一連の(主にヒューリスティックな?)手順を通じて、結果のDFAを最小化できます。
Merbs 2012年

回答:


8

はい、これは製品構成と呼ばれます-DFAが与えられますM1 そして M2、構築できます M=M1×M2

  • M 構成要素であるDFAの状態のペアで構成されるため、元のDFAに状態がある場合 BC そして バツyz、製品は {バツyzBバツByBzCバツCyCz}
  • 遷移関数は、特定のステップで文字列が発生するように更新されます M1 状態から遷移する B そして M2 から移行する バツy、その後、製品は バツBy
  • 初期状態は、構成要素であるDFAの初期状態(つまり、 バツ)。
  • 2つの構成要素DFAの両方が文字列を受け入れるかどうかを決定するDFAを構築している場合、Mある交差点(両方から受け入れる状態とで構成され、それらのペア)。2つの構成要素DFAのどちらかが文字列を受け入れる
    かどうを決定するDFAを構築している場合、 Mある組合 (のいずれかから受け付けた状態で構成されたものをペア)。
    あなたの例では、バツ1 そして y0 の受け入れ状態です M1 そして M2; 交差点は{バツ1y0} 組合は {バツ1y0バツ1y1バツ0y0}

参考のため、長さの制限に関する他のDFAをいくつか含めました。

DFAの例


労働組合の場合、受け入れ国のセットが M1Q2Q1M2?(誰もがこの構造をユニオンに使用するわけではありません。その場合、|Q1|+|Q2|+1 とは対照的に状態で十分です |Q1||Q2|この構造は降伏します。少なくともNFAについて話している場合はそうです。)
ラファエル

@Raphael、あなたのコメントは正しいですが、私はそれ以上理解せずに理解できないほど複雑だったので、私はそれを「一般化」しようとしました。私の回答を編集してNFAに関するディスカッションを含める場合は、コミュニティのWikiにする(または独自の回答を追加する)ことができます。
Merbs 2012

@Merbs、あなたの助けと答えに感謝します。返信が遅くなって申し訳ありませんが、他のFAにこの方法を試したところ、成功しました。
Rafay Zia Mir

1

OK、少し「素人」。DFAを取得するM1=Q1Σδ1q1F1 そして M2=Q2Σδ2q2F2。DFAを検討するM=Q1×Q2Σδq1q2F1×F2、 どこ δ によって定義されます:

δqqa=δ1qaδ2qa
アイデアは、 M 州を記録する M1 そして M2 文字列を個別に処理した場合です。 M 両方が受け入れる場合にのみ受け入れます。

1
これが「素人化」されている方法がわからない。これは、製品構成の(正しい)正式な定義です。どのように状態セットを言及する必要がありますM多くの場合、減らすことができます。だれもがらくたを描きたくはありません。
ラファエル
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.