Académique Documents
Professionnel Documents
Culture Documents
DGEI
3MIC
TP 3
b
start
b
a
Lensemble des etats est {0, 1, 2, 3}, lalphabet est {a, b}. Letat 0 est letat
de depart et letat 3 est lunique etat final.
Un AFD accepte une chane dentree x si et seulement sil existe un chemin
entre letat de depart et un etat dacceptation tel que les etiquettes darcs le
long de ce chemin epellent le mot x. LAFD de lexemple accepte les chanes abb,
aabb, babb, aaabb, ... mais pas bab. Le langage defini par un AFD est lensemble
des mots quil accepte.
INSA
TP 3
Graphes
INSA
TP 3
graphe.h
------struct larc {
... voisin;
... etiquette;
... arc_suiv;
};
graphe.c
------... creer_graphe(...) {
}
... ajouter_arc(...) {
}
struct graphe {
... arc_existe(...) {
... nbsommets;
}
... adjs ; // ensemble de
... transition(...) {
// listes dadjacence}
... ;
...
};
...
Automate fini d
eterministe
Langage
INSA
TP 3
2. Ecrire une fonction affiche langage taille croissante qui affiche les
mots reconnus par un automate en commencant par les mots de longueur 1, puis les mots de longueur deux jusquaux mots de longueur
maxlongueur qui sera passe en param`etre de la fonction. Pour cela, vous
adapterez lalgorithme de parcours en largeur vu en cours de graphes.
Ici, on peut passer plusieurs fois par un sommet du graphe. Vous aurez
besoin dune structure de donnees vous permettant de manipuler une file.
3. Ecrire une fonction affiche langage alphabetique qui affiche les mots
de longueur maximale maxlongueur (qui sera passe en param`etre de la
fonction) reconnus par un automate par ordre alphabetique. Il sagit ici
dadapter lalgorithme de parcours en profondeur vu en cours de graphes.
Ici, on peut passer plusieurs fois par un sommet du graphe. Vous aurez
besoin dune structure de donnees vous permettant de manipuler une
pile. Trier les listes dadjacence par ordre alphabetique peut simplifier
grandement la vie. Vous pourrez ainsi creer les deux fonctions suivantes :
(a) Creer une fonction trier liste qui prend en param`etre une liste
dadjacence et la trie alphabetiquement sur les etiquettes.
(b) Creer une fonction trier listes qui trie toutes les listes dadjacence
du graphe comme ci-dessus.