Académique Documents
Professionnel Documents
Culture Documents
automates
Ramzi GUETARI
Année Universitaire 2011 / 2012
ISI
Institut
Supérieur
Informatique
ISI
Institut
Supérieur
Informatique 1
اﻟﻤﻌﮭﺪ اﻟﻌﺎﻟﻲ ﻟﻺﻋﻼﻣﯿّﺔ
Généralités
1
Généralités
ISI
Institut
Supérieur
07/12/2011 Informatique 3
Copyright © Ramzi GUETARI اﻟﻤﻌﮭﺪ اﻟﻌﺎﻟﻲ ﻟﻺﻋﻼﻣﯿّﺔ
Généralités
ISI
Institut
Supérieur
07/12/2011 Informatique 4
Copyright © Ramzi GUETARI اﻟﻤﻌﮭﺪ اﻟﻌﺎﻟﻲ ﻟﻺﻋﻼﻣﯿّﺔ
2
Généralités
Une machine de Turing (TM) est un automate d’états fini avec une
«déformation» :
Un ruban d’entrée avec un symbole à chaque position.
Le ruban est taille infinie dans les deux directions.
Les positions non occupées contiennent un symbole spécial “cellule-
blanche” noté B (on peut aussi utiliser ε)
La TM a une tête de lecture / écriture pouvant se déplacer dans les
deux sens (gauche et droite).
La tête est initialement placée sur le premier symbole d’entrée.
Généralités
3
Fonctionnement d’une Machine de Turing
ISI
Institut
Supérieur
07/12/2011 Informatique 7
Copyright © Ramzi GUETARI اﻟﻤﻌﮭﺪ اﻟﻌﺎﻟﻲ ﻟﻺﻋﻼﻣﯿّﺔ
4
Les transition d’une machine de turing
a/b, L
q r
ISI
Institut
Supérieur
07/12/2011 Informatique 10
Copyright © Ramzi GUETARI اﻟﻤﻌﮭﺪ اﻟﻌﺎﻟﻲ ﻟﻺﻋﻼﻣﯿّﺔ
5
TM pour langages réguliers
L (a*b*c*)
a/a, R b/b, R
b/b, R
1 2
B/B, R
B/B, R
4 3
c/c, R
ISI
Institut
Supérieur
07/12/2011 Informatique 11
Copyright © Ramzi GUETARI اﻟﻤﻌﮭﺪ اﻟﻌﺎﻟﻲ ﻟﻺﻋﻼﻣﯿّﺔ
L (anbn)
Effacer le premier symbole (a) et le dernier symbole (b) à chaque
traitement; si le mot était {anbn}, il ne reste rien à la fin.
Cinq étapes :
1. Si le symbole courant est B, aller à l’étape 5. Si le symbole courant est a,
écrire B par dessus et aller à l’étape 2.
2. Se déplacer à droite en ignorant tous les a et b rencontrés. Lorsqu’on arrive
au premier caractère B se déplacer à gauche d’une case et aller à l’étape 3.
3. Si le symbole courant est b, écrire B par dessus et aller à l’étape 4.
4. Se déplacer à gauche en ignorant tous les a et b rencontrés. Lorsqu’on arrive
au premier caractère B se déplacer à droite d’une case et aller à l’étape 1.
5. Accepter.
ISI
Institut
Supérieur
07/12/2011 Informatique 12
Copyright © Ramzi GUETARI اﻟﻤﻌﮭﺪ اﻟﻌﺎﻟﻲ ﻟﻺﻋﻼﻣﯿّﺔ
6
TM pour les langages hors contexte
L (anbn)
a/a, R
b/b, R
B/B, R a/B, R
5 1 2
B/B, R B/B, L
4 3
b/B, L
a/a, L
b/b, L
ISI
Institut
Supérieur
07/12/2011 Informatique 13
Copyright © Ramzi GUETARI اﻟﻤﻌﮭﺪ اﻟﻌﺎﻟﻲ ﻟﻺﻋﻼﻣﯿّﺔ
ISI
Institut
Supérieur
07/12/2011 Informatique 14
Copyright © Ramzi GUETARI اﻟﻤﻌﮭﺪ اﻟﻌﺎﻟﻲ ﻟﻺﻋﻼﻣﯿّﺔ
7
TM pour les langages hors contexte
a/X, R
X/X, R
1 2 3 X/X, L
B/B, R b/X, L b/X, L
X/X, R
7 4
a/a, L
B/B, R 5
6
a/a, L B/B, R
ISI
Institut
X/X, R Supérieur
07/12/2011 Informatique 15
Copyright © Ramzi GUETARI اﻟﻤﻌﮭﺪ اﻟﻌﺎﻟﻲ ﻟﻺﻋﻼﻣﯿّﺔ
8
TM pour les langages hors contexte
ISI
Institut
Supérieur
07/12/2011 Informatique 17
Copyright © Ramzi GUETARI اﻟﻤﻌﮭﺪ اﻟﻌﺎﻟﻲ ﻟﻺﻋﻼﻣﯿّﺔ
L (anbncn)
1
b/b, R
a/X, R Z/Z, R
B/B, R
a/a, R b/Y, R
Y/Y, R 2 3
5 a/X, R c/Z, L
X/X, R
5 4
B/B, R
Y/Y, R a/a, L
b/b, L
Y/Y, L
6 Z/Z, L
ISI
Institut
Supérieur
07/12/2011 Informatique 18
Copyright © Ramzi GUETARI اﻟﻤﻌﮭﺪ اﻟﻌﺎﻟﻲ ﻟﻺﻋﻼﻣﯿّﺔ
9
Description instantanée d’une TM
Une description instantanée (ID) pour une TM est une chaîne xqy :
x * représente la ruban côté gauche de la tête de lecture/écriture.
q est l’état courant.
y * représente la ruban côté droite de la tête de lecture/écriture.
Les chaînes ID sont normalisées comme suit :
Dans x, Les symboles blancs (B) en tête sont ignorés à moins que toute la
partie gauche ne contient que des caractères blancs; dans ce cas x = B
Dans y, les symboles blancs à la fin sont ignorés sauf si cette partie droite ne
contient que des blancs, dans ce cas y = B
On définit une fonction idfix (z) qui normalise une chaîne ID z en supprimant (ou
ajoutant) les symboles blancs de début et de fin selon le besoin.
ISI
Institut
Supérieur
07/12/2011 Informatique 19
Copyright © Ramzi GUETARI اﻟﻤﻌﮭﺪ اﻟﻌﺎﻟﻲ ﻟﻺﻋﻼﻣﯿّﺔ
10