Aller au contenu principal

Automates finis et application - TD1

Langages et automates finis​

Exercie 1​

Pour chaque langage ci dessous sur l'alphabet {a,b}\{a,b\} donnez un automate fini déterministe qui l'accepte.

Le nombre de aa est un multiple de 4.

![1.1]

Un nombre pair de aa et impair de bb.

![1.2]

Tout symbole aa est précédé et suivi d'au moins un symbole bb

![1.3]

Exercice 2​

Pour chaque langage ci dessous sur l'alphabet binaire {0,1}\{0,1\}, donnez un automate fini déterministe qui l'accepte :

Les entiers pairs

![2.1]

Les entiers multiples de 3

![2.2]

Exercice 3​

Pour chaque langage ci-dessous sur l'alphabet {a,b,c}\{a,b,c\}, donnez un automate fini non déterministe qui l'accepte

Les mots qui se terminent par aaaa

![3.1]

Les mots dont la dernière lettre apparait précédemment dans le mot

![3.2]

Les mots dont la dernière lettre n'apparait pas précédemment dans le mot

![3.3]

Exercice 4​

Ecrire un algorithme qui indique si un automate fini détermininste et complet A=(Q,Σ,δ,q0,F)A=(Q,\Sigma,\delta,q_0,F) accepte un mot ω∈Σ∗\omega \in \Sigma*

Formellement soit ω=ω1,...,ωk\omega = \omega_1 , ... , \omega_k un mot (ωi\omega_i est la ième lettre du mot) et A=(Q,Σ,δ,q0,F)A=(Q,\Sigma,\delta,q_0,F) un automate, on veut décider si ω\omega est accepté par AA. Soit XiX_i l'ensemble des états que l'on peut atteindre en ayant lu ω1,ω2,...,ωi\omega_1,\omega_2,...,\omega_i

X_0 = q_0
pour i de 1 à k
X_i != 0
pour tout p dans X_{i-1}
pour tout q tel que (p,w_i,q) est dans E
X_i=X_i u {q}
pour tout p dans X_k
si p est dans F
retourner Vrai
retourner Faux

Exercice 5​

L'idée est de supprimer les deux états initiaux et d'en créer un nouveau qui mêne aux deux anciens 4

Exercice 6​

Démonstration par l'exemple 5

Jeu des portes bascules​

Les parties gagnantes avec trois billes AAB, ABB, BAB, BBB.

Table de transition de l'automates

AB
000a100r011r
000a100r011r
001a101r011r
010r110r000a
010a110r001a
100r010r111r
100a010r111r
101r011r100a
101a011r100a
110r000a101a
110a000a101a
111r001a110a

2