Wielojęzyczna minimalizacja DFA


10

Jestem zainteresowany niewielkim uogólnieniem DFA. Jak zwykle mamy ustawiony stan , skończony alfabet , działanie zdefiniowane na przez i stan początkowy ; lecz w zwykłym zestawem terminali wziąć rodziny podzbiorów . Wielojęzyczny DFA jest wtedy krotkąQΣΣ∗Qδ:Q×Σ→Qq0(T.ja)ja∈1 ..nQM.

(Q,Σ,δ,q0,(T.ja))

a jest rozpoznawany przez iff dla niektórych . Zdefiniuj (L_i (M)) _ {i \ in 1..n}, aby być rodziną języków rozpoznawanych przez M, jeśli chcesz.L.⊆Σ∗M.L.={s∈Σ∗|q0s∈T.ja}ja∈1 ..n(L.ja(M.))ja∈1 ..n

Dobra, teraz moje pytanie: biorąc pod uwagę rodzinę zwykłych języków , chcę znaleźć minimalny wielojęzyczny DFA jak opisano powyżej, tak aby dla wszystkie , to znaczy takie, żejest zminimalizowane w stosunku do wszystkich takich maszyn. Moje pytanie brzmi: czy istnieją znane skuteczne sposoby na zrobienie tego, być może analogiczne do standardowej teorii minimalizacji DFA? I odwrotnie, czy istnieją dowody na to, że ten problem może być trudny?(L.ja)ja∈1 ..nM.L.ja=L.ja(M.)ja∈1 ..n|Q|


7
Wydaje mi się, że standardowy algorytm oparty na uszczegółowieniu partycji, zmodyfikowany tylko w celu rozpoczęcia od partycjonowania początkowego zestawu stanów według tego, czy akceptują / nie akceptują dla każdego z określonych podzbiorów a nie dla pojedynczego zestawu , powinien po prostu działać natychmiast. Dlaczego by nie miał Dzieli pary stanów tylko wtedy, gdy muszą być one podzielone, więc nadal generuje najgrubsze możliwe udoskonalenie stanów. T.jaT.
— David Eppstein,

1
Dowód komentarza @DavidEppstein jest łatwy, jeśli zdefiniujesz relację równoważności iff dla każdego , gdzie jest relacją równoważności Myhill-Nerode. Następnie możesz postępować zgodnie z tymi samymi liniami, co standardowy algorytm minimalizacji. x∼yx∼Tiyix∼Tiy
— Shaull

nie do końca rozumiem. czy odpowiedzią na ten problem jest znalezienie minimalnego DFA unii DFA z tym samym „ustawieniem” oprócz różnych stanów końcowych, każdy DFA dla ? także defn rozpoznawania wydaje się nie mieć sensu dokładnie, wydaje się mieszać ciągi znaków i zestawy stanów. 1..nL={...}
— vzn

Uwagi DavidEppsteina i Shaulla wyglądają przekonująco, znajdę trochę czasu, aby przejść przez twierdzenie Myhill-Nerode, kiedy będę miał czas przekonać się, że iloraz nadal daje minimalny automat. Z perspektywy czasu wydaje się to zbyt oczywiste.
— gdmclellan

@vzn: zdecydowanie nie chcę łączyć języków oryginalnego automatu; iT.jamoże się nakładać. Wielojęzyczny DFA z językamiZA i b powinien być w stanie na przykład zgłosić to s∈ZA, ale s∉b. Jeśli chodzi o notację używaną przy definiowaniu rozpoznawania języka, notacja jest definiowana przez rozszerzenieδ do Σ∗-akcja na Q zgodnie z następującymi zasadami dla wszystkich q∈Q,σ∈Σ,s∈Σ∗: qσ=δ(q,σ),q(sσ)=(qs)σ.
— gdmclellan

Odpowiedzi:


14

Krótka odpowiedź . Biorąc pod uwagę skończoną rodzinę zwykłych językówL.=(L.ja)1⩽ja⩽n, istnieje wyjątkowa minimalna deterministyczna pełna automatyka rozpoznająca tę rodzinę.

Szczegóły . Walizkan=1odpowiada standardowej konstrukcji, a ogólny przypadek niewiele różni się duchem. Biorąc pod uwagę językL. i słowo u, pozwolić u-1L.={v∈ZA∗∣uv∈L.}. Zdefiniuj relację równoważności∼ na ZA∗ przez ustawienie

u∼v⟺dla każdego L.∈L., u-1L.=v-1L.
Od czasu L.jasą regularne, ta zgodność ma skończony indeks. Co więcej, łatwo to zauważyćL.ja jest nasycony ∼ i to dla każdego za∈ZA, u∼v implikuje uza∼vza. Oznaczmy przez1 puste słowo i przez [u] ∼-klasa słowa u. PozwolićAL=(Q,[1],⋅,(Fi)1⩽i⩽n) być deterministycznym automatem zdefiniowanym w następujący sposób:
  1. Q={[u]∣u∈A∗},
  2. [u]⋅a=[ua],
  3. Fi={[u]∣u∈Li}.

Z założenia [1]⋅u∈Fi wtedy i tylko wtedy gdy u∈Li i stąd AL akceptuje rodzinę L. Pozostaje to udowodnićALjest minimalny. Jest tak naprawdę minimalny w silnym sensie algebraicznym (co oznacza, że ​​ma minimalną liczbę stanów). PozwolićA=(Q,q−,⋅,(Fi)1⩽ja⩽n) i ZA′=(Q′,q-′,⋅,(faja′)1⩽ja⩽n)być dwiema automatami. Morfizmfa:ZA→ZA′ jest zaskakującą mapą z Q na Q′ takie, że

  1. fa(q-)=q-′,
  2. dla 1⩽ja⩽n, fa-1(faja′)=faja,
  3. dla wszystkich u∈ZA∗ i q∈Q, fa(q⋅u)=fa(q)⋅u.

Następnie dla każdego dostępnego deterministycznego automatu ZA przyjmowanie L., istnieje morfizm z ZA na ZAL.. Aby to udowodnić, najpierw sprawdza się, czyq-⋅u1=q-⋅u2)=q, następnie u1∼u2). Terazfa jest zdefiniowany przez fa(q)=[u] gdzie u to dowolne słowo, które q-⋅u=q. Następnie można to pokazaćfa spełnia trzy wymagane właściwości.

Koniec jest nieco szkicowy, daj mi znać, jeśli potrzebujesz więcej szczegółów.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.