Ich interessiere mich für eine leichte Verallgemeinerung von DFA. Wie üblich wir state-Satz haben , finite Alphabet Σ , a Σ * -action definiert auf Q durch δ : Q × Σ → Q und Anfangszustand q 0 ; aber statt der üblichen Endapparat, nehmen wir eine Familie ( T i ) i ∈ 1 .. n von Teilmengen von Q . Ein mehrsprachiges DFA M ist dann das Tupel
und ist anerkannt von M genau dann , wenn L = { s & egr ; & Sgr; * | q 0 s ∈ T i } für einige i ∈ 1 .. n . Definieren Sie ( L i ( M ) ) i ∈ 1 .. n als die von M erkannte Sprachfamilie, wenn Sie möchten.
Okay, jetzt zu meiner Frage: Bei einer Familie regulärer Sprachen möchte ich das minimale mehrsprachige DFA M wie oben beschrieben so finden, dass L i = L i ( M ) für alle ist i ∈ 1 .. n , das heißt, dass | Q | wird über alle diese Maschinen minimiert. Meine Frage ist, gibt es bekannte effiziente Möglichkeiten, dies zu tun, möglicherweise analog zur Standard-DFA-Minimierungstheorie? Gibt es umgekehrt Hinweise darauf, dass dieses Problem schwierig sein könnte?
quelle
Antworten:
Details . Der Fall entspricht der Standardkonstruktion und der allgemeine Fall unterscheidet sich im Geist nicht wesentlich. Wenn eine Sprache und ein Wort , sei . Definieren Sie eine Äquivalenzrelation auf indem Sie Since setzen die sind regulär, diese Kongruenz hat einen endlichen Index. Ferner ist es leicht zu sehen , dass jede durch gesättigt und daß für jeden , impliziertn=1 L u u−1L={v∈A∗∣uv∈L} ∼ A∗
Konstruktionsbedingt genau dann, wenn und damit die Familie . Es bleibt zu beweisen, dass minimal ist. Es ist tatsächlich in einem starken algebraischen Sinne minimal (was impliziert, dass es die minimale Anzahl von Zuständen hat). Sei und sind zwei Multi-Automaten. Ein Morphismus ist eine surjektive Abbildung von auf so dass[1]⋅u∈Fi u∈Li AL L AL A=(Q,q−,⋅,(Fi)1⩽i⩽n) A′=(Q′,q′−,⋅,(F′i)1⩽i⩽n) f:A→A′ Q Q′
Dann für jede zugängliche deterministischen Automaten Mehr Annahme , gibt es eine morphism von auf . Um dies zu beweisen, verifiziert man zuerst, dass wenn , dann . Nun ist definiert durch wobei ein beliebiges Wort ist, so dass . Dann kann man zeigen, dass die drei erforderlichen Eigenschaften erfüllt.L A A L q - ⋅ u 1 = q - ⋅ u 2 = q u 1 ∼ u 2 f f ( q ) = [ u ] u q - ⋅ u = q fA L A AL q−⋅u1=q−⋅u2=q u1∼u2 f f(q)=[u] u q−⋅u=q f
Das Ende ist etwas lückenhaft, lassen Sie mich wissen, wenn Sie weitere Details benötigen.
quelle