Vous pouvez utiliser les étapes simples suivantes pour créer un DFA combiné.
Soit Σ = {a , un , ..., a k}.
1ère étape: DFA design pour les deux langues et le nom de leur état Q , Q ...
2ème étape: Renommer tous les états dans les deux DFA unique à savoirrenommer tous les états dans DFA comme Q , Q , Q , Q ... vous avez démarré avec l'indice 0; cela signifie qu'aucun État n'aurait le même nom.
3ème étape: tableau Construct de transition (δ) à l'aide des étapes suivantes
3a. état de départ du combiné DFA:
Prenez état de départ des deux DFA (DFA 1 et DFA2) et les nommer comme Q [i, j] où i et j sont l'indice de l'état de début de DFA1 et DFA2 respectivement; c'est-à-dire Q i est l'état de départ de la 1ère DFA et Q j est l'état de départ du 2ème DFA et marque Q [i, j] comme état de départ du DFA combiné.
3b. état de la carte à la fois DFA comme
si δ (Q i, un k) = Q p1 et δ (Q j, un k) = Q p2, où Q p1 appartient à DFA1 et Q p2 appartient à DFA2 puis δ (Q [i, j], un k) = Q [p1, p2]
3c. remplir la table entière pendant qu'il y a un Q [i, j] restant dans la table de transition.
3d. état final du DFA combiné:
Pour AND
cas état final serait tout Q [i, j] où Q i et Q j sont l'état final de DFA 1 et DFA2 respectivement.
Pour OR
cas état final serait tout Q [i, j] où soit Q i ou Q j est l'état final de DFA1 et DFA2.
4ème étape: Renommer tous les Q [i, j] (unique) et d'en tirer DFA ce sera votre résultat.
Exemple:
L= {w: w has at least two a's and an odd number of b's}.
Etape 1:
DFA pour un nombre impair de années b. DFA pour au moins 2 a.
Step2:
Renommez le stae de DFA1
Etape 3 (a, b, c):
table de transition sera construite comme.
Step3d:
Depuis que nous devons prendre et à la fois l'état DFA si finale serait Q [2,4], car il contient état final des deux DFA.
Si nous devons prendre ou des deux DFA l'état final serait Q [0,4], Q [2,3], Q [1,4], Q [2, 4].
La table de transition aimerait cela après l'ajout de l'état final.
Etape 4:
renommer tous unis Q [i, j]
Q [0,3] à Q
Q [1, 3] à Q
Q [0,4] à Q
Q [2,3] à Q 4
Q [1,4] à Q
Q [2,4] à Q 5
Donc DFA final ressemblera à ci-dessous.
Je suis toujours coincé. Quelqu'un peut-il expliquer cela avec des mots? – Haskell
Vous pouvez également jeter un oeil à http://www.jflap.org/ – Dan
J'ai construit les deux automates que je peux dans jflap ... comment puis-je les combiner en un? – Haskell