diff --git a/1-ComputationAndData/0Planning2025.md b/1-ComputationAndData/0Planning2025.md index bc3d89e..b30d899 100644 --- a/1-ComputationAndData/0Planning2025.md +++ b/1-ComputationAndData/0Planning2025.md @@ -195,7 +195,7 @@ $$q0 \xrightarrow{a}{} qa$$ qa est non-acceptant donc le mot est rejeté. -###### Le langage formée des mots qui contient ab (de la forme n'importe quoi puis ab puis n'importe quoi, n'importe quoi pouvant être vide). + ###### Le langage formé de successions du mot ab (au moins une fois ce motif). @@ -278,3 +278,42 @@ Pour le début du mot, il faut des fenêtres partielles pour le mot vite (état | qab (acceptant) | qba | qbb | | qba | qaa | qab | | qbb | qba | qbb | + + +###### Le langage formée des mots qui contient ab (de la forme n'importe quoi puis ab puis n'importe quoi, n'importe quoi pouvant être vide). + +On peut reprendre l'automate déterministe précédent. Il suffit de transformer l'état qab en un puit acceptant (on a rencontré le motif ab on est content). + +| état | a | b | +|:----------------|:----|:----| +| q0 (initial) | qa | qb | +| qa | qaa | qab | +| qb | qba | qbb | +| qaa | qaa | qab | +| qab (acceptant) | **qab** | **qab** | +| qba | qaa | qab | +| qbb | qba | qbb | + + +**Retour sur le non déterministe.** + +Si on a queleque part dans la table de transition deux états ou plus dans une case, on a un choix. +Dans ce cas un calcul peut en fait avoir plusieurs branches. +On a un **arbre de calcul** plutôt qu'un chemin unique. + +On accepte un mot, si l'arbre de calcul a un chemin acceptant. + +On peut facilement produire par exemple un automate non déterministe pour les mots qui terminent par ab. + +![Automates non détermniniste pour les mots qui terminent par ab](JFLAP/NDFAendsInab.jpg) + +On a vu en cours l'arbre de calcul pour le mot abab. +Il y a trois chemins acceptants dont un seul accepte en terminant dans l'état acceptant. + +Peut-on toujours trouver un automate déterministe? + +Oui. On peut fabriquer un automate qui simule en parralèle tous les chemins de calculs. +JFLAP permet de faire la transformation. + + +![Automates non détermniniste pour les mots qui terminent par ab](JFLAP/DFAendsInabViaDetermnisation.jpg) diff --git a/1-ComputationAndData/JFLAP/DFAendsInabViaDetermnisation.jpg b/1-ComputationAndData/JFLAP/DFAendsInabViaDetermnisation.jpg new file mode 100644 index 0000000..f4268e2 Binary files /dev/null and b/1-ComputationAndData/JFLAP/DFAendsInabViaDetermnisation.jpg differ diff --git a/1-ComputationAndData/JFLAP/NDFAendsInab.jpg b/1-ComputationAndData/JFLAP/NDFAendsInab.jpg new file mode 100644 index 0000000..e87a4d6 Binary files /dev/null and b/1-ComputationAndData/JFLAP/NDFAendsInab.jpg differ