多言語DFAの最小化


10

DFAの少し一般化に興味があります。いつものように、状態セット、有限アルファベット、でによって定義されたアクション、および初期状態ます。ただし、通常のターミナルセットの代わりに、のサブセットのファミリーを使用します。次に、多言語DFAがタプルになります。Σ Σ * Q δ Q × Σ Q Q 0T I I 1 .. N Q MQΣΣQδ:Q×ΣQq0(Ti)i1..nQM

(Q,Σ,δ,q0,(Ti))

また、は、一部の iffによって認識さ。必要をMによって認識される言語のファミリになるように定義します。 M L = { S Σ * | Q 0 S T I } I 1 .. N L IM I 1 .. nはLΣML={sΣ|q0sTi}i1..n(Li(M))i1..n

さて、私の質問について:通常の言語のファミリー与えられた場合、上記のようにとなるような最小の多言語DFAを見つけたいすべての、つまりこのようなすべてのマシンで最小化されます。私の質問は、これを行う既知の効率的な方法はありますか、おそらく標準のDFA最小化理論に類似していますか?逆に、この問題が難しいかもしれないという証拠はありますか? M L iは = LをIM (Li)i1..nMLi=Li(M)| Q |i1..n|Q|


7
単一のセットではなく、指定されたサブセットごとに受け入れ/非受け入れによって状態の初期セットをパーティション化することによってのみ開始するように変更された、標準のパーティション絞り込みベースのアルゴリズムは、機能するはずですすぐに。なぜでしょうか?分割する必要がある場合にのみ状態のペアを分割するため、状態の可能な限り最も粗い調整を生成します。 TTiT
David Eppstein、2013

1
@DavidEppsteinによるコメントの証明は、すべてのに対して同値関係 iffを定義すれば簡単です。ここで、はMyhill-Nerode等価関係です。その後、標準の最小化アルゴリズムと同じ方法で進めることができます。X T I、Y I X T I YxyxTiyixTiy
Shaull

よくわかりません。異なる終了状態を除いて同じ「セットアップ」を持つDFAの和集合の最小DFAを見つけるこの問題への答えは、それぞれのDFAがですか?また、の認識の定義は正確に意味をなさないようで、文字列と状態セットを混同しているようです。L = { }1..nL={...}
vzn 2013

DavidEppsteinとShaullによるポイントは説得力があるように見えますが、商がまだ最小のオートマトンを生成することを確信する時間があるとき、私はMyhill-Nerodeの定理を検討する時間を見つけるでしょう。振り返ってみると、それは明白すぎるようです。
gdmclellan 2013

@vzn:元のオートマトンの言語を結合したくはありません。そして重複してもよいです。たとえば、言語がとの多言語DFA は、であるがと報告できるはずです。言語の認識を定義する際に使用される表記については、表記は、すべてのについて、次の規則によって -actionにを拡張することによって定義されます。:。 A B S A S B δ Σ * Q Q Q σ Σ S Σ * Q σ = δ Q σ Q S σ = Q S σTiABsAsBδΣQqQ,σΣ,sΣqσ=δ(q,σ),q(sσ)=(qs)σ
gdmclellan 2013

回答:


14

短い答え。通常の言語の有限ファミリーが与えられた場合、このファミリーを認識する一意の最小決定論的完全マルチオートマトンがあります。L=(Li)1in

詳細。ケースは標準的な構成に対応し、一般的なケースは精神的にそれほど違いはありません。言語を考えるとと単語、聞かせて。同値関係定義上のに設定することにより のでを規則的で、この合同は有限率を有しています。さらに、各がによって飽和され、各、意味することが簡単にわかりますL U U - 1 L = { V A * | UがV L } A * U Vをn=1Luu1L={vAuvL}AL I L IA A U V U A V 1 [ U ] U L = Q [ 1 ] F I 1 I N

uvfor each LL, u1L=v1L
LiLiaAuvuava。私たちはで表すとの空の言葉とによって級単語の。ましょう次のように定義された決定論的マルチオートマトンです。1[u]uAL=(Q,[1],,(Fi)1in)
  1. Q={[u]uA}
  2. [u]a=[ua]
  3. Fi={[u]uLi}

構築により、、したがってがファミリー受け入れる場合に限ります。が最小であることを証明する必要があります。厳密な代数的意味で実際には最小です(つまり、状態の数が最小であることを意味します)。ましょうおよびは2つのマルチオートマトンです。射は、からへの全射マップで、 U L I A L L A L A = Q Q - F I 1 I NA ' = Q 'Qは' - F ' I1 I N[1]uFiuLiALLALA=(Q,q,,(Fi)1in)A=(Q,q,,(Fi)1in) Q Q 'f:AAQQ

  1. f(q)=q
  2. 以下のための、、 F - 1F ' I= F I1inf1(Fi)=Fi
  3. すべてのおよび、です。 Q Q F Q U = F Q UuAqQf(qu)=f(q)u

次に、を受け入れるアクセス可能な確定的マルチオートマトン場合、からへの射があります。これを証明するために、最初に場合、ます。ここで、はによって定義されます。ここで、はような任意の単語です。次に、が3つの必要なプロパティを満たすことを示すことができます。L A A Lの Q -U 1 = Q -U 2 = Q U 1U 2 F F Q = [ U ] U Q -U = Q FALAALqu1=qu2=qu1u2ff(q)=[u]uqu=qf

最後は少し大ざっぱですが、詳細が必要な場合はお知らせください。

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