多言語DFAの最小化


10

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

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

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

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


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

1
@DavidEppsteinによるコメントの証明は、すべてのに対して同値関係 iffを定義すれば簡単です。ここで、はMyhill-Nerode等価関係です。その後、標準の最小化アルゴリズムと同じ方法で進めることができます。X 〜T I、Y I X 〜T I Yx∼yx∼Tiyix∼Tiy
— 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 )σTiABs∈As∉BδΣ∗Qq∈Q,σ∈Σ,s∈Σ∗qσ=δ(q,σ),q(sσ)=(qs)σ
— gdmclellan 2013

回答:


14

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

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

u∼v⟺for each L∈L, u−1L=v−1L
LiLi∼a∈Au∼vua∼va。私たちはで表すとの空の言葉とによって級単語の。ましょう次のように定義された決定論的マルチオートマトンです。1[u]∼uAL=(Q,[1],⋅,(Fi)1⩽i⩽n)
  1. Q={[u]∣u∈A∗}、
  2. [u]⋅a=[ua]、
  3. Fi={[u]∣u∈Li}。

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

  1. f(q−)=q−′、
  2. 以下のための、、 F - 1(F ' I)= F I1⩽i⩽nf−1(Fi′)=Fi
  3. すべてのおよび、です。 Q ∈ Q F (Q ⋅ U )= F (Q )⋅ Uu∈A∗q∈Qf(q⋅u)=f(q)⋅u

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

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

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