Académique Documents
Professionnel Documents
Culture Documents
http://deptinfo.unice.fr/~julia/AL
Automates & Langages TD gr.1 : F. Guingne/E. Formenti mercredi 8h-10h salle M.2.7
L
Calculabilité : A. Church A. Turing L
X
HCX/L HLC/X
• les mots représentent les instances d’un problème
• un langage représentent les instances positives du problème X X L
C -
Contenu du cours
! Automates finis
! Langages rationnels
! Expressions régulières
! Grammaires
! Automates à pile
! Langages non-contextuels
! Machines de Turing
et plus particulièrement en TP :
! Reconnaissance de motifs
! Compression de texte 1 - Automates finis déterministes
! Analyseur lexicaux
! Automates cellulaires
Matériel de base Opérations sur les langages
• alphabet ! fini
• opérations ensemblistes
• mot
union, intersection, différences, complémentation, produit cartésien, ...
• langage
• mot vide noté " (ou ! ou même ") : l’unique mot à aucune lettre ! • produit de concaténation de L et M :
• longueur d’un mot m notée |m| L.M = {w = uv / u%L, v%M }
B = (), Q, ,, q0, F)
1 1
C q2
1
) = {0,1}
q0 0 1
q1
) = {0,1} q0
Q= {q0,q1,q2}
Q = {q0,q1} 0 q1
0
,= {(q0,0,q1),(q0,1,q0),(q1,1,q1)} ,={(q0,0,q1),(q0,1,q0),(q1,0,q2),(q1,1,q1),(q2,0,q2),(q2,1,q2)}
F = {q1}
q0
B accepte les mots du langage L(B) décrit par l’expression q1
régulière : C accepte les mots du langage L(C) décrit
0
1* 0 1* par 1*0 1*, c’est la version complétée de cet automate :
Dans un automate fini non-déterministe (A.F.N.) il peut y avoir Théorème si un langage est reconnu par un automate fini,
alors il est également reconnu par un automate
le choix entre plusieurs chemins lors de la lecture d’un mot. fini déterministe.
c’est aussi un A.F.N. ! ! il resterait à prouver formellement que le nouvel automate B accepte
exactement les mots acceptés par A.
A.F.N.
Exemple de déterminisation Algorithme de déterminisation
on construit D = (), Q’, ,’, q0’, F’) 3. pour tout q’ % Q’ non encore considéré faire
pour tout 1 % ) faire
0 1 q’’0 { y % Q / 2 x % q’ tel que (x,1,y) % , }
q0’= {q0q1} est l’état initial
0
D si q’’ ≠ ( alors
1 q’’ 0 q’’' { z % Q / 2 y % q’’ tel que (y,",z ) % ,* }
Q’= {{ q0 }, { q0,q1 } } {q0,q1} q0,q1 q1
,’ 0 ,’ ' {( q’,1,q’’) }
,’ = {/ ( { q0,q1 },0,{ q0,q1 }), q 0q 1 q1 Q’ 0 Q’ ' { q’’ }
({ q0,q1 },1,{ q1 } ), {q1} - q1
({ q1 },1,{q1 } )
1 4. F’ 0 {q’ tels que q’ 3 F 4 ( }
F = {{ q0q1} ,{q1 } }
Application Dénombrabilité