Die Kombination von deterministischen endlichen Automaten
Ich bin wirklich neu für dieses Zeug, so dass ich entschuldige mich für die noobishness hier.
konstruieren Deterministic Finite Automaton
DFA erkennt die folgende Sprache:
L= { w : w has at least two a's and an odd number of b's}.
Automatisieren für jeden Teil dieser (at least 2 a's, odd # of b's)
sind einfach zu machen getrennt... Kann mir jemand bitte erklären, wie eine systematische Art und Weise zu kombinieren, Sie in ein? Danke.
InformationsquelleAutor Haskell | 2013-02-03
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie folgende einfache Schritte zu konstruieren, kombiniert DFA.
Lassen Σ = {a1 , a2 , ...,k }.
1. Schritt: Design DFA für beide Sprachen und deren Zustand Q0, Q1, ...
2. Schritt : Benennen Sie jeden Staat in beiden DFA eindeutig, d.h. benennen Sie alle Zustände im DFA-Q0, Q1, Q2, Q3 , ... vorausgesetzt, Sie haben begonnen, mit subskript 0; das bedeutet, dass keiner der Staat würde gleichen Namen.
3. Schritt: Konstrukt transition-Tabelle(δ) mit den folgenden Schritten
3a. Start-Zustand des kombinierten DFA:
Nehmen, starten Zustand des DFAs(DFA1 und DFA2), und benennen Sie Sie als F[ i , j ], wobei i und j der index des start-Zustand der DFA1 und DFA2 sind; d.h. Qi start-Zustand des 1. DFA und Fj ist der Startzustand des 2. DFA und mark Q[i , j] als start-Zustand des kombinierten DFA.
3b. Karte Zustand des DFAs als
wenn δ(Qi,ak) = Fp1 und δ(Qj,ak) = Fp2 , wo Qp1 gehört zu DFA1 und Fp2 gehört zu DFA2 dann δ(Q[ i , j ] , ak) = F[p1,p2]
3c. füllen Sie die gesamte Tabelle, während es alle Q[i,j] übrigen in transition-Tabelle.
3d. Endzustand des kombinierten DFA:
Für
AND
Fall Endzustand wäre für alle F[i , j], wobei Qi und Fj Endzustand der DFA1 und DFA2 bzw.Für
OR
Fall Endzustand wäre für alle F[i , j], wobei entweder Qi oder Fj ist der Letzte Stand der DFA1 und DFA2.4. Schritt:
Benennen Sie alle Q[i, j] - (einmalig) und zeichnen DFA dies wird Ihr Ergebnis.
Beispiel:
Schritt1:
DFA für ungerade Anzahl von b ' s .
DFA-mindestens 2 a ' s.
Schritt 2:
Benennen Sie die stae der DFA1
Step3(a,b,c):
Gebaut übergang Tabelle wird als.
Step3d:
Da haben wir zu nehmen, UND die beiden DFA-so Endzustand wäre Q[2,4] , da es enthält die endgültigen Zustand des DFA .
, Wenn wir haben, zu nehmen ODER von beiden DFA-der Letzte Staat wäre Q[0,4],Q[2,3],Q[1,4],Q[2,4] .
Übergangs-Tabelle möchte diese nach dem hinzufügen der definitiven Zustand .
Schritt 4:
Benennen Sie alle Zustände Q[i,j]
Q[0,3] F0
Q[1,3] F2
Q[0,4] F1
Q[2,3] F4
Q[1,4] F3
Q[2,4] F5
So endgültig DFA würde Aussehen wie unten .
InformationsquelleAutor sonus21
Die Sprache
L
woa
sind mindestens zwei undb
sind ungerade, ist eine reguläre Sprache. Seine DFA ist wie folgt:In diesem DFA ich haben zusammen zwei
DFS
s konzeptionell!Der DFA ist auch symptomatisch und einfach so, glaube ich, nicht nötig, dass Wort, dass, wie beide miteinander zu kombinieren DFAs
Zu ziehen, DFA Sie immer den überblick behalten, wie viele
b
s wurde kommen entweder sogar oder seltsam ist.States 0, 2 and 4
bedeutet, dass auch die Anzahl derb
wurde kommen. So können Sie teilen Sie diesen DFA in zwei Teile vertikal wo unten die Staaten auf, auchb
s und Ober-Staaten an den ungeraden.Auch String wird akzeptiert, wenn ungerade
b
daher Endzustand sollten in einem Staat im oberen Teil.nicht nur die Anzahl der
b
s Zustand, abera
sein sollte mindestens2
. So können Sie teilen diese DFA-horizontal in drei Teile, in denen die Anzahl dera
s 0state-0 and 1
,a
s sind eine aufstate-2 and 3
unda
s 2state-4 and 5
. Nach den ersten zweia
s beliebige Anzahl vona
s erlauben, in string, so gibt es self-loop auf Staatlicheq4
undq5
.Anzahl der Staat ist sechs, weil, Zustand 2 für ungerade sogar
b
und ein s hould atleast2
also 3 Zustände a=0, a=1, a=2, also 2*3 = 6InformationsquelleAutor Grijesh Chauhan
Es ist getan mit dem Produkt der beiden Automaten.
Vielleicht möchten Sie auch einen Blick auf jflap.org
Ich baute die beiden Automaten, die kann ich in jflap... wie kann ich Sie kombinieren, in ein?
Es gibt tutorials auf der website: jflap.org/tutorial
InformationsquelleAutor Dan