Je fais des devoirs pour ma classe de théorie du calcul et suis un peu confus de savoir comment combiner 2 DFA. Le livre dit qu'il utilise la "construction d'intersection" pour le faire, mais je ne suis pas sûr de ce que c'est. Voici 2 exemples:
L'idée est assez simple, bien que je puisse voir où la confusion règne. Je vais donner une description textuelle/symbolique du processus de fabrication des machines d'intersection (union, différence) via la construction de la machine à produit cartésien (même chose que vous parlez sur).
Un DFA est un 5 tuple (E, Q, q0, A, f) où
Disons que nous avons deux machines M '= (E', Q ', q0', A ', f') et M '' = (E '', Q '', q0 '', A '', f '') . Pour faciliter la discussion, supposons que E '= E' '. Nous allons maintenant construire M '' 'de sorte que L (M' '') = L (M ') se croisent (ou s'unissent ou se différencient) L (M' ').
Voilà! Considérons maintenant deux machines: une qui accepte un ^ 2n et une qui accepte un ^ 3n (l'intersection doit être une machine acceptant un ^ 6n ... n'est-ce pas?).
Pour moi, nous avons ...
Pour M '', nous avons ...
Pour M '' ', nous avons ...
Et voilà! S'il vous plaît laissez-moi savoir si cela nécessite une clarification.
Ce sont: {S∈ {a, b, c}: tout a en s est immédiatement suivi de ab} {S∈ {a, b, c} ∗: tout a en s est immédiatement suivi par ab} et {s∈ {a, b, c} ∗: tout c dans s est immédiatement précédé de ab}
Devant un autre automate, vous pouvez joindre les états "0" et "2".
et vous devez conserver cela ...
Il existe un moyen précis de réaliser des automates pour le croisement des langues. Soit AA et BB les automates d’entrée. Les cas de nouvel automate seront toutes les paires d'états de AA et BB, c'est-à-dire SA∩B = SA × SBSA∩B = SA × SB, l'état initial sera iA∩B = iA, iB⟩iA∩B = ⟨IA, iB⟩, où iAiA et iBiB sont les états initiaux de AA et BB, et FA∩B = FA × FBFA∩B = FA × FB où FXFX désigne l'ensemble des états acceptants de XX. Enfin, la fonction de transition δA∩BδA∩B est définie comme suit pour toute lettre α∈Σα et déclare p1, p2∈SAp1, p2∈SA, q1, q2∈SBq1, q2∈SB:
⟨P1, q1⟩− → −−A∩B α ⟨p2, q2⟩ si bien p1− → A α p2andq1− → B α q2 ⟨P1, q1⟩ → AB α ⟨p2, q2⟩ iff p1 → A α p2andq1 → B α q2 .__ Veuillez noter qu'un tel automate n'est généralement pas minimal (l'intersection peut par exemple être un langage vide). De plus, il pourrait être utile (mais ce n’est pas nécessaire) de rendre les automates d’entrée minimaux car la sortie a une taille quadratique . // Référence: math.stackexchange.com Happy Coding ...