Partiel du 1er décembre 2010.

publicité
MPRI, Fondations mathématiques de la théorie des automates
Olivier Carton, Jean-Éric Pin
Partiel du 1er décembre 2010. Durée: 2h, notes de cours autorisées
⋆⋆⋆
Avertissement : On attachera une grande importance à la clarté, à la précision et à
la concision de la rédaction.
Partie 1. Calcul d’un monoı̈de syntactique.
Soit A = {a, b, c}. On considère l’automate A représenté ci-dessous:
b, c
b
a, c
a
1
a
2
3
b
Question 1. Donner une expression rationnelle pour le langage L reconnu par A.
Question 2. Calculer le monoı̈de syntactique M de L. On donnera la liste de ses éléments (vous
devriez trouver 8 éléments, en comptant l’élément neutre) et les relations permettant de le définir.
Question 3. Calculer l’image P de L dans M par le morphisme syntactique.
Question 4. Déterminer l’idéal minimal et les idempotents de M .
Question 5. Déterminer la structure en D-classes de M (on dessinera les diagrammes boı̂tes à
œufs). Le monoı̈de M est-il commutatif? R-trivial? L-trivial? apériodique?
Question 6. Montrez que L est sans-étoile et donnez une expression sans étoile pour L.
Question 7. Donner une formule ϕ de la logique FO[<] telle que L = L(ϕ). Même question
avec une formule utilisant seulement deux variables. Est-ce possible avec seulement une variable?
Justifiez votre réponse.
Partie 2. Constantes
Soit M un monoı̈de et P une partie de M . On dit qu’un élément s de M est une constante
pour P si pour tout s1 , s2 , s3 , s4 ∈ M ,
s1 ss2 , s3 ss4 ∈ P entraı̂ne s1 ss4 ∈ P
On note C(P ) l’ensemble des constantes pour P . Dans la suite du problème, on fixe un langage
reconnaissable L de A∗ , on note η : A∗ → M son morphisme syntactique et on pose P = η(L).
1
Question 8. Montrer que si s ∈ P et si s est une constante pour P , alors la condition usv ∈ P
entraı̂ne us, sv ∈ P .
Question 9. Montrer qu’un mot u de A∗ est une constante pour L si et seulement si η(u) est une
constante pour P .
Question 10. Soit A = (Q, A, · , q0 , F ) l’automate minimal (déterministe, émondé mais pas
nécessairement complet) de L. Le rang d’un mot u est l’entier
rg(u) = |{q· u | q ∈ Q et q· u est défini}|.
Montrer qu’un mot u est une constante pour L si et seulement si il est de rang 6 1.
Question 11. Déterminer les constantes pour P dans le cas où L est le langage considéré dans
la première partie du problème.
On dit qu’un langage L de A∗ est dense si on peut prolonger n’importe quel mot de A∗ en un
mot de L, autrement dit, si pour tout mot u de A∗ , on a A∗ uA∗ ∩ L 6= ∅.
Question 12. Montrez que C(P ) est un idéal de M . Montrer que cet idéal est apériodique.
Question 13. Montrer que si L n’est pas dense, alors M a un zéro. Montrer que si s est une
constante pour P , alors sM s ⊆ {s, 0}.
Question 14. Montrer que si L est dense et si s est une constante pour P , alors sM s = {s}.
2
MPRI, Fondations mathématiques de la théorie des automates
Olivier Carton, Jean-Éric Pin
December 1st, 2010. Duration: 2h.
⋆⋆⋆
Warning : Clearness, accuracy and concision of the writing will be rewarded.
Part 1. Computation of a syntactic monoid.
Let A = {a, b, c}. Let A be the automaton represented in the picture below:
b, c
b
a, c
a
1
a
2
3
b
Question 1. Give a rational (= regular) expression for the language L accepted by A.
Question 2. Compute the syntactic monoid M of L. Give the list of its elements (you should
find 8 elements, including the identity) and of its defining relations.
Question 3. Compute the image of L in M under the syntactic morphism.
Question 4. Compute the minimal ideal and the idempotents of M .
Question 5. Compute the D-class structure of M (draw the egg-box pictures). Is the monoid M
comutative? R-trivial? L-trivial? aperiodic?
Question 6. Show that L star-free and give a star-free expression for L.
Question 7. Give a formula ϕ of the logic FO[<] such that L = L(ϕ). Same question with a
formula with only two variables. Is it possible with only one variable? Justify your answer.
Part 2. Constants
Let M be a monoid and let P be a subset of M . An element s of M is said to be a constant
for P if for all s1 , s2 , s3 , s4 ∈ M ,
s1 ss2 , s3 ss4 ∈ P implies s1 ss4 ∈ P
We denote by C(P ) the set of all constants for P . In the remainder of this problem, we fix a
recognisable language L of A∗ , we denote by η : A∗ → M its syntactic morphism and we set
P = η(L).
3
Question 8. Show that if s ∈ P and if s is a constant for P , then the condition usv ∈ P implies
us, sv ∈ P .
Question 9. Show that a word u of A∗ is a constant for L if and only if η(u) is a constant for P .
Question 10. Let A = (Q, A, · , q0 , F ) be the minimal automaton (deterministic, trim but not
necessarily complete) of L. The rank of a word u is the nonnegative integer
rg(u) = |{q· u | q ∈ Q et q· u is defined}|.
Show that a word u is a constant for L if and only if its rank is 6 1.
Question 11. Give the constants for P when L is the language of the first part of the problem.
A language L of A∗ is said to be dense if one can extend any word of A∗ into a word of L,
that is, if for all word u of A∗ , one has A∗ uA∗ ∩ L 6= ∅.
Question 12. Show that C(P ) is an idéal of M . Show that this ideal is aperiodic.
Question 13. Show that if L is nondense, then M has a zero. Show that if s is a constant for P ,
then sM s ⊆ {s, 0}.
Question 14. Show that if L is dense and if s is a constant for P , then sM s = {s}.
4
Corrigé
Partie 1. Calcul d’un monoı̈de syntactique.
Question 1. Une expression rationnelle pour L is b∗ a(b + c)∗ a(a + c + b(b + c)∗a)∗ . Une expression
beaucoup plus simple est b∗ aA∗ ac∗ .
Question 2. Le monoı̈de syntactique M de L est donné par le tableau suivant:
1
1
2
1
0
3
2
0
0
∗1
a
∗b
∗c
∗ a2
∗ ab
∗ bc
∗ ca
2
2
3
2
2
3
2
2
3
3
3
3
2
3
3
2
2
3
dans lequel les idempotents sont indiqués par une étoile. Les relations définissant M sont
ac = a
ba = a
bb = b
cb = bc
abc = ab
bca = ca
caa = ca
cab = bc
cc = c
a3 = a 2
a2 b = ab
Question 3. L’image de L est obtenu en sélectionnant les éléments x de M tels que 1· x = 3. Ici
P = {a2 }.
Question 4. L’idéal minimal est {a2 , ab, bc, ca} et les idempotents sont
E(M ) = {1, b, c, a2 , ab, bc, ca}
Question 5. La structure en D-classes est la suivante:
∗
∗
b
1
∗
a
∗
∗
a2
ca
∗
∗
c
ab
bc
Ce monoı̈de n’est ni commutatif, ni R-trivial, ni L-trivial, mais il est apériodique.
Question 6. Comme M est apériodique, le langage L est sans-étoile. Une expression sans étoile
pour L s’obtient
d’abord que A∗ = ∅c , puis que si B est un sous-ensemble de B,
P en observant
∗
∗
∗
∗
B = A − b∈A−B A bA . Si on part de l’expression b∗ aA∗ ac∗ donnée plus haut, on obtient
ainsi une expression sans étoile.
5
Question 7. Il suffit de traduire l’expression b∗ aA∗ ac∗ en formule. Il suffit de dire qu’il existe
deux positions x < y qui portent la lettre a, qu’il n’y a que des b avant la position x et que des c
après la position y. Ce qui donne
ϕ = ∃x ∃y (x < y) ∧ ax ∧ ay ∧ ∀z (z < x → bz) ∧ (z > y → cz)
On peut économiser une variable en prenant
ψ = (∃x ∃y (x < y) ∧ ax ∧ ay) ∧ ∀y (y < x → bz) ∧ ∀x (x > y → cz)
Si on ne dispose que d’une seule variable, on ne peut définir que des langages commutatifs. Or le
langage L n’est pas commutatif.
Partie 2. Constantes
Question 8. Soit s ∈ P tel que s soit une constante pour P et supposons que usv ∈ P entraı̂ne
us, sv ∈ P . En appliquant la définition d’une constante avec s1 = u, s2 = v et s3 = s4 = 1, on
obtient us ∈ P et en l’appliquant avec s1 = s2 = 1, s3 = u et s4 = v, on trouve sv ∈ P .
Question 9. Soit u un mot de A∗ et soit s = η(u). Supposons que u sont une constante pour L et
soient s1 , s2 , s3 , s4 ∈ M . Comme η est surjective, on peut trouver des mots u1 , u2 , u3 , u4 tels que
η(ui ) = si pour 1 6 i 6 4. Supposons que s1 ss2 , s3 ss4 ∈ P . On a L = η −1 (P ), η(u1 uu2 ) = s1 ss2
et η(u3 uu4 ) = s3 ss4 et donc u1 uu2 , u3 uu4 ∈ L et u1 uu4 ∈ L puisque u est une constante de L.
Donc s1 ss3 , qui est égal à η(u1 uu4 ), appartient à P . Par conséquent, s est une constante pour P .
Réciproquement, si s est une constante pour P et si u1 , u2 , u3 , u4 sont des mots de A∗ tels
que u1 uu2 , u3 uu4 ∈ L, on a, en posant si = η(ui ) (1 6 i 6 4), s1 ss2 , s3 ss4 ∈ η(L) = P et donc
s1 ss4 ∈ P , d’où finalement u1 uu4 ∈ L.
Question 10. Rappelons que les états de A s’identifient aux langages non vides de la forme
−1
u−1 L (u ∈ A∗ ). Soit u une constante pour L et soient q1 = u−1
1 L et q3 = u3 L deux états de A.
Supposons que les états q2 = q1 · u et q4 = q3 · u soient définis et soient u2 ∈ q2 et u4 ∈ q4 . Comme
q2 = q1 · u = (u1 u)−1 L, on a u1 uu2 ∈ L et de même u3 uu4 ∈ L. Comme u est une constante pour
L, il en résulte u1 uu4 ∈ L et donc u4 ∈ q2 . On montrerait de la même façon que u4 ∈ q2 entraine
u4 ∈ q4 et donc q2 = q4 .
Supposons maintenant que u soit de rang 6 1. Soient u1 , u2 , u3 , u4 des mots de A∗ tels que
u1 uu2 , u3 uu4 ∈ L. Posons q1 = u1−1 L et q3 = u3−1 L. On a alors u2 ∈ q1 · u et u4 ∈ q3 · u et donc
q1 · u = q3 · u. Il en résulte que u1 uu4 ∈ L et donc u est une constante pour L.
Question 11. Si on reprend l’exemple de la première partie, l’ensemble des constantes pour P
s’obtient en prenant les mots de rang 6 1 dans l’automate: ce sont donc exactement les éléments
de l’idéal minimal de M .
Question 12. Revenons au cas général. La formule rg(uv) 6 max{rg(u), rg(v)} montre que C(L)
est un idéal. Dans le cas d’un monoı̈de quelconque M , c’est également évident. Prenons une
constante s et des éléments x, y de M . Si s1 (xsy)s2 , s3 (xsy)s4 ∈ P , on a (s1 x)s(ys4 ) ∈ P puisque
s est une constante et donc xsy est une constante. Par conséquent, C(P ) est un idéal de M . Cet
idéal est apériodique car les constantes sont des éléments de rang 6 1 dans M .
Question 13. Si L n’est pas dense, il existe un mot u incomplétable dans L, i.e. tel que
A∗ uA∗ ∩ L = ∅. L’élément η(u) est alors un zéro de M . En effet, si s, t ∈ A∗ , le mot sut est
incomplétable dans L et donc sut ∼L u et η(sut) = η(u). Par conséquent, η(u) est un zéro de M .
Soit s une constante pour P et soit u ∈ M . Supposons que sus 6= 0. Il existe alors des éléments
x, y ∈ M tels que xsusy ∈ P . En prenant s1 = x, s2 = usy, s3 = xsu et s4 = y, on en déduit
6
xsy ∈ P . Réciproquement, supposons que xsy ∈ P . Comme sus 6= 0, il existe r, t ∈ M tels que
rsust ∈ P . On en déduit xsust ∈ P puis xsusy ∈ P . On en déduit que s ∼P sus et donc sus = s
puisque M est le monoı̈de syntactique de P . Par conséquent sM s ⊆ {s, 0}.
Question 14. Même raisonnement, mais il n’y a pas de zéro.
7
Téléchargement