diff --git a/1-ComputationAndData/0Planning2024.md b/1-ComputationAndData/0Planning2024.md index 8853188..39b29eb 100644 --- a/1-ComputationAndData/0Planning2024.md +++ b/1-ComputationAndData/0Planning2024.md @@ -9,9 +9,9 @@ Donne une note F. commence par 30 à 45 minutes de questions. examen sur la fin de la séance. - cours autorisé (tout documenbt papier). + cours autorisé (tout document papier). -* 4/11 battle avec Luc P. +* 4/11 battle avec Luc P (résolu, erreur edt). ## Calcul de la note pour cette matière. @@ -20,3 +20,19 @@ max (X; 1/3*F + 2/3*X) ''' +## Détails dernières séances. + +### séance du 4/11 + +* révisions automates +* exercices 8, 9, 10 +* méthodologie : mots acceptés, mots rejettés, +* présentation automate : description idée états, description idée transition +* test automate : chemin de calcul acceptant pour exemples de mots acceptés, idem rejettant pour mots rejettés. +* méthodologie : si pas idée des états ou des transitions, décrire informellement idée programme python qui lit mots de gauche à droite en se souvenant que d'un nombre fini de lettres. +* digression : non expressabilité a^n.b^n (idée lemme de la pompe) + + + +Après la pause. + diff --git a/1-ComputationAndData/6ComputationAndData.md b/1-ComputationAndData/6ComputationAndData.md new file mode 100644 index 0000000..7eee0c9 --- /dev/null +++ b/1-ComputationAndData/6ComputationAndData.md @@ -0,0 +1,54 @@ +# Quelques constructions autour des automates. + +Nous avons vu le modèle des automates finis. +Nous explorons ici trois techniques. + + +## Complétez l'automate. + +Un automate est incomplet si il peut arriver qu'au cours d'un calcul on ne sache pas quoi faire. +Ceci correspond dans la table de transition à une case sans prochain état pour une lettre donnée. + +Pour le compléter, on ajoute un état poubelle à notre automate. +Cet état est un puits dans lequel on reste coincé (toutes transitions sortante reste dans cet été poubelle); et, toute transition manquante devient une transition vers cet état poubelle. + + +## Déterminisation + +* Exemple d-un automate non déterministe à 3 état qui calcule les mots qui commencent et terminent par a et ont au moins deux lettres. +* Calcul sous forme d'un arbre pour aaa, et aaab +* Table de transition +* digression parralèlisme (multi coeurs) +* digression préemption plusieurs processus (commande top) +* digression problème mémoire partagée etc +* retour exemple automate. Super-état. Déterminisation. + +### Méthode. +* On part de l'état initial, on note les états accessibles depuis cet état. +* Si un état n'existe pas, on ajoute le super étart correspondant. +* Un super-état est acceptant ssi il contient un état acceptant. +* On arrête la construction quand on ne recontre pas de nouvel état. + +### Exercice. +On déterminise l'automate non déterministe à 5 états qui acceptent les mots (y compris d'une lettre) qui commencent et terminent par la même lettre. + +Donnée du problème : Dessin au tableau +1. Donnez table de transition +2. Pourquoi l'automate n'est pas déterministe +3. Déterminisez l'automate avec la méthode vue en cours. + +Correction. +| | a | b | c | +|:--|:--|:--|:--| +| 0 (initial) | 1,OK | 2,OK | 3,OK | +| 1 | 1,OK | 1 | 1 | +| 2 | 2 | 2,OK | 2 | +| 3 | 3 | 3 | 3,OK | +| OK (acceptant)| | | | + + + + +## Équivalence. + +