Plus de a que de b (2 rubans)
2 rubans
6 états
Cette machine prend en entrée un mot sur l’alphabet {a,b}
. Elle teste si ce mot contient strictement plus d’occurences du symbole a
que du symbole b
.
Dans cette machine, le deuxième ruban sert de compteur.
On code ce compteur avec un symbole 0
sur la position initiale : la distance entre ce symbole et la position de la tête de lecture correspond à la valeur du compteur.
La machine que l’on construit a en outre un état q+
et un état q-
, pour donner le signe de l’entier stocké.
Autrement dit:
- dans l’état
q+
:- incrémenter le compteur revient à déplacer la tête de lecture vers la droite
- décrémenter le compteur revient à déplacer la tête de lecture vers la gauche si on est (strictement) à droite de la position
0
- si la tête pointe sur la position
0
, alors pour décrémenter le compteur il faut aller dans l’étatq-
et déplace la tête vers la droite;
- dans l’état
q-
:- décrémenter le compteur revient à déplacer la tête de lecture vers la droite
- incrémenter le compteur revient à déplacer la tête de lecture vers la gauche si on est (strictement) à droite de la position
0
- si la tête pointe sur la position
0
, alors pour incrémenter le compteur il faut aller dans l’étatq+
et déplace la tête vers la droite.
Simulateur
Spécification de la machine
Messages de sortie du compilateur
https://machines.brunet-zamansky.fr