Centrale Informatique MP 2009

Thème de l'épreuve La chasse aux fantômes, Automates finis
Principaux outils utilisés automates, combinatoire, complexité
Mots clefs couplages, dénombrement, automates minimaux, récursivité

Corrigé

 : 👈 gratuite pour tous les corrigés si tu crées un compte
👈 l'accès aux indications de tous les corrigés ne coûte que 1 € ⬅ clique ici
👈 gratuite pour tous les corrigés si tu crées un compte
- - - - - - - - - - - - - - - - - - - - - - - - - - -

Énoncé complet

(télécharger le PDF)
                 

Rapport du jury

(télécharger le PDF)
     

Énoncé obtenu par reconnaissance optique des caractères


- version du 12 mars 2009 10h19

INFORMATIQUE

Cette notation exprime bien le lien entre les points Pi et Pj lorsque j = c[i].

Filière

MP

P5

P6

P4

c1
c2

1
2
2

P7

P3

2
1
1

P2

3
6
7

P8

1

P

4
5
5

5
4
4

P5

P6

6
3
8
P4

7
8
3

P7

P3

8
7
6

P8

P2

1

P

I.B - Soit i, j, k, l quatre entiers distincts tels que : 1 6 i < j 6 2n et 1 6 k < l 6 2n. I.B.1) Donner une condition nécessaire et suffisante, portant uniquement sur ces entiers, pour que les segments [Pi Pj ] et [Pk Pl ] se croisent. I.A.1) Dans le cas n = 3, donner le nombre de stratégies possibles, admissibles ou non. I.A.2) Préciser le nombre de stratégies de taille 3 qui sont admissibles. Les représenter sur une figure. I.A.3) Déterminer le nombre de stratégies de taille n entier positif (qu'elles soient ou non admissibles). La figure de gauche correspond à c1 qui est donc admissible, et celle de droite à c2 qui, elle, ne l'est pas. Par exemple, pour les stratégies de taille 4, c1 et c2 ci-contre : En Pascal, on représente le vecteur par un tableau avec un type tr défini par : st     {de taille suffisante pour tout le problème} tr  rr   tr En Caml, on représente le vecteur avec le type « tr » de Caml. On peut utiliser la fonction t. Les éléments des vecteurs en Caml sont numérotés de 0 à N - 1. On prendra des vecteurs de taille 2n + 1, dont le premier élément ne sera pas utilisé, pour que les points soient bien aux indices 1 à 2n dans le vecteur Caml. On considère des stratégies où les points d'une paire sont reliés par des segments de droites situés dans un même plan. Une stratégie est dite « admissible » si les segments ainsi formés ne se coupent pas. On admet que cette propriété ne dépend pas de la position des points sur la circonférence mais seulement de la stratégie. Page 1/3 Dans toute la suite on fixe un entier n > 0 et on appelle stratégie de taille n 
un
vecteur c[1], c[2], . . . , c[2n] , tel que pour tout entier i vérifiant 1 6 i 
6 2n on ait :
 
1 6 c[i] 6 2n,
c c[i] = i,
c[i] 6= i.

i) chaque point est une extrémité d'une et une seule corde,
ii) les différentes cordes ne doivent pas se couper.

I.A - Les 2n protagonistes sont représentés par des points distincts P1 , P2 , 
..., P2n
répartis dans l'ordre des indices croissants sur la circonférence d'un cercle 
parcouru
dans le sens trigonométrique ; n sont des chasseurs, n des fantômes, mais, dans
cette section I.A, on cherche les liens possibles entre les Pi sans s'occuper 
de qui
est chasseur et qui est fantôme. Les points doivent être reliés deux à deux par 
une
corde du cercle selon une stratégie gagnante pour les chasseurs. Pour cela, il 
faut
donc respecter les deux conditions :

Un groupe de n chasseurs de fantômes combat un groupe de n fantômes. Chaque
chasseur est armé d'un canon à ions, capable d'éradiquer un fantôme d'un coup de
rayon. Un rayon se propage en ligne droite et termine sa course en touchant le 
fantôme. Les chasseurs sont confrontés à deux problèmes : il est nécessaire 
d'éliminer
tous les fantômes en même temps, sinon ils se multiplient pour revenir au nombre
initial de n fantômes ; il est très dangereux que deux rayons se croisent, cela 
ne doit
donc pas se produire. Le combat se déroule dans une grotte cylindrique creuse,
dont la base est un disque. Les déplacements (chasseurs et fantômes) ne sont 
possibles que sur un rebord confondu avec la circonférence, mais les tirs se 
font entre
deux points de la circonférence, selon des cordes du cercle.

Les candidats devront indiquer clairement en tête de copie le langage
de programmation choisi (Pascal ou Caml). Les fonctions et procédures demandées 
seront rédigées dans ce langage.

Partie I - La chasse aux fantômes

Note : les parties I, II.A, II.B et II.C sont indépendantes.

trs trsés

Épreuve :

Concours Centrale - Supélec 2009

- version du 12 mars 2009 10h19

INFORMATIQUE

Cette notation exprime bien le lien entre les points Pi et Pj lorsque j = c[i].

Filière

MP

P5

P6

P4

c1
c2

1
2
2

P7

P3

2
1
1

P2

3
6
7

P8

1

P

4
5
5

5
4
4

P5

P6

6
3
8
P4

7
8
3

P7

P3

8
7
6

P8

P2

1

P

I.B - Soit i, j, k, l quatre entiers distincts tels que : 1 6 i < j 6 2n et 1 6 k < l 6 2n. I.B.1) Donner une condition nécessaire et suffisante, portant uniquement sur ces entiers, pour que les segments [Pi Pj ] et [Pk Pl ] se croisent. I.A.1) Dans le cas n = 3, donner le nombre de stratégies possibles, admissibles ou non. I.A.2) Préciser le nombre de stratégies de taille 3 qui sont admissibles. Les représenter sur une figure. I.A.3) Déterminer le nombre de stratégies de taille n entier positif (qu'elles soient ou non admissibles). La figure de gauche correspond à c1 qui est donc admissible, et celle de droite à c2 qui, elle, ne l'est pas. Par exemple, pour les stratégies de taille 4, c1 et c2 ci-contre : En Pascal, on représente le vecteur par un tableau avec un type tr défini par : st     {de taille suffisante pour tout le problème} tr  rr   tr En Caml, on représente le vecteur avec le type « tr » de Caml. On peut utiliser la fonction t. Les éléments des vecteurs en Caml sont numérotés de 0 à N - 1. On prendra des vecteurs de taille 2n + 1, dont le premier élément ne sera pas utilisé, pour que les points soient bien aux indices 1 à 2n dans le vecteur Caml. On considère des stratégies où les points d'une paire sont reliés par des segments de droites situés dans un même plan. Une stratégie est dite « admissible » si les segments ainsi formés ne se coupent pas. On admet que cette propriété ne dépend pas de la position des points sur la circonférence mais seulement de la stratégie. Page 1/3 Dans toute la suite on fixe un entier n > 0 et on appelle stratégie de taille n 
un
vecteur c[1], c[2], . . . , c[2n] , tel que pour tout entier i vérifiant 1 6 i 
6 2n on ait :
 
1 6 c[i] 6 2n,
c c[i] = i,
c[i] 6= i.

i) chaque point est une extrémité d'une et une seule corde,
ii) les différentes cordes ne doivent pas se couper.

I.A - Les 2n protagonistes sont représentés par des points distincts P1 , P2 , 
..., P2n
répartis dans l'ordre des indices croissants sur la circonférence d'un cercle 
parcouru
dans le sens trigonométrique ; n sont des chasseurs, n des fantômes, mais, dans
cette section I.A, on cherche les liens possibles entre les Pi sans s'occuper 
de qui
est chasseur et qui est fantôme. Les points doivent être reliés deux à deux par 
une
corde du cercle selon une stratégie gagnante pour les chasseurs. Pour cela, il 
faut
donc respecter les deux conditions :

Un groupe de n chasseurs de fantômes combat un groupe de n fantômes. Chaque
chasseur est armé d'un canon à ions, capable d'éradiquer un fantôme d'un coup de
rayon. Un rayon se propage en ligne droite et termine sa course en touchant le 
fantôme. Les chasseurs sont confrontés à deux problèmes : il est nécessaire 
d'éliminer
tous les fantômes en même temps, sinon ils se multiplient pour revenir au nombre
initial de n fantômes ; il est très dangereux que deux rayons se croisent, cela 
ne doit
donc pas se produire. Le combat se déroule dans une grotte cylindrique creuse,
dont la base est un disque. Les déplacements (chasseurs et fantômes) ne sont 
possibles que sur un rebord confondu avec la circonférence, mais les tirs se 
font entre
deux points de la circonférence, selon des cordes du cercle.

Les candidats devront indiquer clairement en tête de copie le langage
de programmation choisi (Pascal ou Caml). Les fonctions et procédures demandées 
seront rédigées dans ce langage.

Partie I - La chasse aux fantômes

Note : les parties I, II.A, II.B et II.C sont indépendantes.

trs trsés

Épreuve :

Concours Centrale - Supélec 2009

- version du 12 mars 2009 10h19

INFORMATIQUE

Cette notation exprime bien le lien entre les points Pi et Pj lorsque j = c[i].

Filière

MP

P5

P6

P4

c1
c2

1
2
2

P7

P3

2
1
1

P2

3
6
7

P8

1

P

4
5
5

5
4
4

P5

P6

6
3
8
P4

7
8
3

P7

P3

8
7
6

P8

P2

1

P

I.B - Soit i, j, k, l quatre entiers distincts tels que : 1 6 i < j 6 2n et 1 6 k < l 6 2n. I.B.1) Donner une condition nécessaire et suffisante, portant uniquement sur ces entiers, pour que les segments [Pi Pj ] et [Pk Pl ] se croisent. I.A.1) Dans le cas n = 3, donner le nombre de stratégies possibles, admissibles ou non. I.A.2) Préciser le nombre de stratégies de taille 3 qui sont admissibles. Les représenter sur une figure. I.A.3) Déterminer le nombre de stratégies de taille n entier positif (qu'elles soient ou non admissibles). La figure de gauche correspond à c1 qui est donc admissible, et celle de droite à c2 qui, elle, ne l'est pas. Par exemple, pour les stratégies de taille 4, c1 et c2 ci-contre : En Pascal, on représente le vecteur par un tableau avec un type tr défini par : st     {de taille suffisante pour tout le problème} tr  rr   tr En Caml, on représente le vecteur avec le type « tr » de Caml. On peut utiliser la fonction t. Les éléments des vecteurs en Caml sont numérotés de 0 à N - 1. On prendra des vecteurs de taille 2n + 1, dont le premier élément ne sera pas utilisé, pour que les points soient bien aux indices 1 à 2n dans le vecteur Caml. On considère des stratégies où les points d'une paire sont reliés par des segments de droites situés dans un même plan. Une stratégie est dite « admissible » si les segments ainsi formés ne se coupent pas. On admet que cette propriété ne dépend pas de la position des points sur la circonférence mais seulement de la stratégie. Page 1/3 Dans toute la suite on fixe un entier n > 0 et on appelle stratégie de taille n 
un
vecteur c[1], c[2], . . . , c[2n] , tel que pour tout entier i vérifiant 1 6 i 
6 2n on ait :
 
1 6 c[i] 6 2n,
c c[i] = i,
c[i] 6= i.

i) chaque point est une extrémité d'une et une seule corde,
ii) les différentes cordes ne doivent pas se couper.

I.A - Les 2n protagonistes sont représentés par des points distincts P1 , P2 , 
..., P2n
répartis dans l'ordre des indices croissants sur la circonférence d'un cercle 
parcouru
dans le sens trigonométrique ; n sont des chasseurs, n des fantômes, mais, dans
cette section I.A, on cherche les liens possibles entre les Pi sans s'occuper 
de qui
est chasseur et qui est fantôme. Les points doivent être reliés deux à deux par 
une
corde du cercle selon une stratégie gagnante pour les chasseurs. Pour cela, il 
faut
donc respecter les deux conditions :

Un groupe de n chasseurs de fantômes combat un groupe de n fantômes. Chaque
chasseur est armé d'un canon à ions, capable d'éradiquer un fantôme d'un coup de
rayon. Un rayon se propage en ligne droite et termine sa course en touchant le 
fantôme. Les chasseurs sont confrontés à deux problèmes : il est nécessaire 
d'éliminer
tous les fantômes en même temps, sinon ils se multiplient pour revenir au nombre
initial de n fantômes ; il est très dangereux que deux rayons se croisent, cela 
ne doit
donc pas se produire. Le combat se déroule dans une grotte cylindrique creuse,
dont la base est un disque. Les déplacements (chasseurs et fantômes) ne sont 
possibles que sur un rebord confondu avec la circonférence, mais les tirs se 
font entre
deux points de la circonférence, selon des cordes du cercle.

Les candidats devront indiquer clairement en tête de copie le langage
de programmation choisi (Pascal ou Caml). Les fonctions et procédures demandées 
seront rédigées dans ce langage.

Partie I - La chasse aux fantômes

Note : les parties I, II.A, II.B et II.C sont indépendantes.

trs trsés

Épreuve :

Concours Centrale - Supélec 2009

2n

Filière MP

Un automate (fini) non déterministe est un quintuplet A = (Q, A, I, , F) avec 
cette
fois I  Q l'ensemble des états initiaux et  : Q × A  P(Q) la fonction de
transition : si p  Q et   A, (p, ) désigne l'ensemble (éventuellement vide)
des q  Q tels qu'il existe une transition étiquetée par  de p vers q. Si on 
choisit
de représenter les transitions par un ensemble inclus dans Q × A × Q, la 
condition
(D) n'a plus à être vérifiée.
Pour présenter un automate, les candidats pourront, bien entendu, les 
représenter
par un schéma. Ils veilleront alors à bien identifier l'état initial (ou les 
états initiaux)
et les états terminaux par une notation adaptée.

Lorsque  est défini sur l'ensemble Q × A tout entier, on parle d'automate fini 
complet. Que l'automate soit complet, ou non, on peut choisir de représenter 
les transitions non par une fonction de transition , mais par un ensemble de 
transitions
T  Q × A × Q (le graphe de ), avec la condition de déterminisme :
(D)
si (q, , q1 ), (q, , q2 )  T, alors q1 = q2 .

Un automate (sous entendu fini) déterministe est un quintuplet A = (Q, A, i, , 
F)
avec :
· Q l'ensemble fini non vide des états ;
· A l'alphabet c'est-à-dire l'ensemble fini non vide des lettres ;
· i  Q l'état initial ;
·  : Q × A  Q la fonction de transition (éventuellement partielle) ;
· F  Q l'ensemble des états terminaux.

Définitions et notations

On rappelle que les sections II.A, II.B, II.C sont indépendantes et peuvent 
être traitées dans un ordre quelconque.

Partie II - Automates finis

de fantômes que de chasseurs. Écrire une fonction s, qui prend en paramètre
le vecteur p (et en Pascal, le nombre n de chasseurs) et qui renvoie la liste 
des indices
(i, j) des couples (Pi , Pj ) (où Pi est un chasseur et Pj un fantôme), 
composant une
stratégie admissible du problème.

i=1

 p[i] = 0 puisqu'il y a autant

Un vecteur p contient la nature des points Pi : p[i] = 1 pour un chasseur,

p[i] = -1 pour un fantôme (1 6 i 6 2n). On a donc

I.D.4)

Page 2/3

I.D - La méthode précédente teste si une stratégie est admissible. On souhaite 
maintenant, le statut (chasseur ou fantôme) des points étant donné, déterminer 
directement une stratégie admissible, de façon également efficace.
I.D.1) Montrer que si Pi est un chasseur (1 6 i 6 2n), alors il existe j 6= i, 
avec
1 6 j 6 2n tel que Pj est un fantôme et tel que le nombre de chasseurs soit 
égal au
nombre de fantômes de chaque côté de l'axe Pi Pj .
I.D.2) En déduire un algorithme simple pour construire une stratégie admissible.
I.D.3) On se propose d'évaluer la complexité de cette méthode.
a) Déterminer la complexité dans le pire des cas.
b) Évaluer, sans démonstration, la complexité moyenne.

I.C - On souhaite tester la stratégie de façon plus efficace. Pour cela on 
utilise une
fonction «  » qui prend deux entiers i et j comme paramètres (i et j étant 
compris entre 1 et 2n) et dont le résultat est tr si et seulement si les deux 
propositions
suivantes sont vraies :
· (i 6 k 6 j)  (i 6 c[k] 6 j)
· les segments ayant leurs extrémités dans l'arc (fermé) [Pi Pj ] ne se 
croisent pas.
I.C.1) Donner la valeur de   dans les trois cas particuliers a, b et c
suivants :
c) j > i et c[i] > j.
a) j < i ; b) j > i et c[i] < i ; I.C.2) Pour i < c[i] < j, montrer que   se déduit de et de    . I.C.3) Écrire une fonction tsttrt qui prend en paramètre un vecteur (et en Pascal le nombre n de chasseurs) et renvoie un booléen dont la valeur est tr si la stratégie est admissible. Cette fonction devra être de complexité O(n). I.C.4) Démontrer avec soin que la fonction tsttrt est bien de complexité O(n). I.B.2) Écrire une fonction « rs » prenant les quatre entiers pour paramètres et renvoyant un booléen dont le résultat est tr si et seulement si les segments [Pi Pj ] et [Pk Pl ] se croisent. On suppose que les paramètres donnés à la fonction satisfont les conditions données en introduction du I.B. I.B.3) En utilisant la fonction rs, écrire une fonction « stss » qui prend en paramètre le vecteur (et en Pascal, le nombre n de chasseurs) et renvoie un booléen dont le résultat est tr si la stratégie est admissible. I.B.4) Donner, en la justifiant, la complexité de cette méthode, en terme de temps de calcul (on se contentera d'une évaluation du type O(n ), en précisant la valeur de ). INFORMATIQUE 2n Filière MP Un automate (fini) non déterministe est un quintuplet A = (Q, A, I, , F) avec cette fois I  Q l'ensemble des états initiaux et  : Q × A  P(Q) la fonction de transition : si p  Q et   A, (p, ) désigne l'ensemble (éventuellement vide) des q  Q tels qu'il existe une transition étiquetée par  de p vers q. Si on choisit de représenter les transitions par un ensemble inclus dans Q × A × Q, la condition (D) n'a plus à être vérifiée. Pour présenter un automate, les candidats pourront, bien entendu, les représenter par un schéma. Ils veilleront alors à bien identifier l'état initial (ou les états initiaux) et les états terminaux par une notation adaptée. Lorsque  est défini sur l'ensemble Q × A tout entier, on parle d'automate fini complet. Que l'automate soit complet, ou non, on peut choisir de représenter les transitions non par une fonction de transition , mais par un ensemble de transitions T  Q × A × Q (le graphe de ), avec la condition de déterminisme : (D) si (q, , q1 ), (q, , q2 )  T, alors q1 = q2 . Un automate (sous entendu fini) déterministe est un quintuplet A = (Q, A, i, , F) avec : · Q l'ensemble fini non vide des états ; · A l'alphabet c'est-à-dire l'ensemble fini non vide des lettres ; · i  Q l'état initial ; ·  : Q × A  Q la fonction de transition (éventuellement partielle) ; · F  Q l'ensemble des états terminaux. Définitions et notations On rappelle que les sections II.A, II.B, II.C sont indépendantes et peuvent être traitées dans un ordre quelconque. Partie II - Automates finis de fantômes que de chasseurs. Écrire une fonction s, qui prend en paramètre le vecteur p (et en Pascal, le nombre n de chasseurs) et qui renvoie la liste des indices (i, j) des couples (Pi , Pj ) (où Pi est un chasseur et Pj un fantôme), composant une stratégie admissible du problème. i=1 p[i] = 0 puisqu'il y a autant Un vecteur p contient la nature des points Pi : p[i] = 1 pour un chasseur, p[i] = -1 pour un fantôme (1 6 i 6 2n). On a donc I.D.4) Page 2/3 I.D - La méthode précédente teste si une stratégie est admissible. On souhaite maintenant, le statut (chasseur ou fantôme) des points étant donné, déterminer directement une stratégie admissible, de façon également efficace. I.D.1) Montrer que si Pi est un chasseur (1 6 i 6 2n), alors il existe j 6= i, avec 1 6 j 6 2n tel que Pj est un fantôme et tel que le nombre de chasseurs soit égal au nombre de fantômes de chaque côté de l'axe Pi Pj . I.D.2) En déduire un algorithme simple pour construire une stratégie admissible. I.D.3) On se propose d'évaluer la complexité de cette méthode. a) Déterminer la complexité dans le pire des cas. b) Évaluer, sans démonstration, la complexité moyenne. I.C - On souhaite tester la stratégie de façon plus efficace. Pour cela on utilise une fonction «  » qui prend deux entiers i et j comme paramètres (i et j étant compris entre 1 et 2n) et dont le résultat est tr si et seulement si les deux propositions suivantes sont vraies : · (i 6 k 6 j)  (i 6 c[k] 6 j) · les segments ayant leurs extrémités dans l'arc (fermé) [Pi Pj ] ne se croisent pas. I.C.1) Donner la valeur de   dans les trois cas particuliers a, b et c suivants : c) j > i et c[i] > j.
a) j < i ; b) j > i et c[i] < i ; I.C.2) Pour i < c[i] < j, montrer que   se déduit de et de    . I.C.3) Écrire une fonction tsttrt qui prend en paramètre un vecteur (et en Pascal le nombre n de chasseurs) et renvoie un booléen dont la valeur est tr si la stratégie est admissible. Cette fonction devra être de complexité O(n). I.C.4) Démontrer avec soin que la fonction tsttrt est bien de complexité O(n). I.B.2) Écrire une fonction « rs » prenant les quatre entiers pour paramètres et renvoyant un booléen dont le résultat est tr si et seulement si les segments [Pi Pj ] et [Pk Pl ] se croisent. On suppose que les paramètres donnés à la fonction satisfont les conditions données en introduction du I.B. I.B.3) En utilisant la fonction rs, écrire une fonction « stss » qui prend en paramètre le vecteur (et en Pascal, le nombre n de chasseurs) et renvoie un booléen dont le résultat est tr si la stratégie est admissible. I.B.4) Donner, en la justifiant, la complexité de cette méthode, en terme de temps de calcul (on se contentera d'une évaluation du type O(n ), en précisant la valeur de ). INFORMATIQUE bn,m m =1 bi, 2-1 pour tout 1 6 i 6 n. On appelle relation dans N n tout sous-ensemble de N n . On dit qu'une relation R  N n est rationnelle, lorsqu'il existe un automate fini A qui reconnaît exactement l'ensemble des mots de (Bn ) représentant les n-uplets de R. a) Donner une représentation des n-uplets suivants : (4); (2, 3, 0); (2, 3, 5). xi = représente le n-uplet d'entiers naturels (x1 , · · · , xn ) tel que bn,1 Pour les deux questions b) et c) suivantes, on demande de donner, pour chacune des relations Eg, In f et Add, un automate fini la reconnaissant effectivement. Filière MP · · · FIN · · · II.C.4) Déterminiser l'automate proposé dans la question C.2), lorsque N = 1. II.C.5) Démontrer qu'il n'existe pas d'automate déterministe complet reconnaissant D N et possédant strictement moins de 2 N+1 états. II.C.6) Démontrer qu'il n'existe pas d'automate fini (non-déterministe) reconnaissant D N et possédant strictement moins de N + 2 états. Même question pour le langage GN . On pourra raisonner par l'absurde et prouver que les états atteints en lisant ak depuis l'état initial sont distincts, pour certaines valeurs k. II.C - Automate minimal Soit A = {a, b}. Pour chaque entier N  N, on définit les langages GN et D N de la manière suivante : · GN = {uav | u  A N , v  A }. · D N = {uav | u  A , v  A N }. II.C.1) Donner un automate déterministe complet, à N + 3 états reconnaissant GN . II.C.2) Donner un automate non-déterministe, à N + 2 états reconnaissant D N . II.C.3) Démontrer qu'il n'existe pas d'automate déterministe complet reconnaissant GN et possédant strictement moins de N + 3 états. b) Montrer que les relations : et In f = (x, y)  N2 | x < y Eg = (x, y)  N2 | x = y sont rationnelles. c) Montrer que la relation : Add = (x, y, z)  N3 | x + y = z est rationnelle. d) On suppose la relation R  N n rationnelle et on définit les relations Q  N n-1 et S  N n-1 par : (x1 , . . . , xn-1 )  Q si, et seulement si, il existe x  N tel que (x1 , . . . , xn-1 , x)  R. (x1 , . . . , xn-1 )  S si, et seulement si, pour tout x  N, (x1 , . . . , xn-1 , x)  R. Montrer que les relations Q et S sont rationnelles. Page 3/3 II.B - Logique de Presburger Soit n un entier strictement positif et B = {0, 1}. On prend comme alphabet l'ensemble Bn . Un mot b1,1 b1,m u =  ...  · · ·  ...   (Bn ) L = {u | w  A , u 6= w2 }. a) On suppose que A est réduit à une lettre. Montrer alors que L est reconnaissable par automate fini et donner un automate reconnaissant effectivement L, ainsi qu'une expression rationnelle décrivant L. b) On suppose maintenant que A n'est pas réduit à une lettre. Montrer que L n'est pas reconnaissable. c) Soit p un entier strictement plus grand que 2. Reprendre les deux questions précédentes en remplaçant L par L p défini par : L p = {u | w  A , u 6= w p } II.A - Mots répétés II.A.1) Soit A un alphabet. On s'intéresse au langage L  A constitué des mots u qui ne sont de la forme w2 (c'est-à-dire ww) pour aucun w  A : On note A l'ensemble des mots écrits dans l'alphabet A (y compris le mot vide). Un langage sur l'alphabet A est un sous-ensemble de A . On note en particulier L(A ) le langage de A , c'est-à-dire l'ensemble des mots acceptés par A (permettant de passer d'un état initial à un état terminal). Étant donné un mot u  A , on note |u| la longueur de u, c'est-à-dire le nombre de ses lettres. INFORMATIQUE bn,m m =1 bi, 2-1 pour tout 1 6 i 6 n. On appelle relation dans N n tout sous-ensemble de N n . On dit qu'une relation R  N n est rationnelle, lorsqu'il existe un automate fini A qui reconnaît exactement l'ensemble des mots de (Bn ) représentant les n-uplets de R. a) Donner une représentation des n-uplets suivants : (4); (2, 3, 0); (2, 3, 5). xi = représente le n-uplet d'entiers naturels (x1 , · · · , xn ) tel que bn,1 Pour les deux questions b) et c) suivantes, on demande de donner, pour chacune des relations Eg, In f et Add, un automate fini la reconnaissant effectivement. Filière MP · · · FIN · · · II.C.4) Déterminiser l'automate proposé dans la question C.2), lorsque N = 1. II.C.5) Démontrer qu'il n'existe pas d'automate déterministe complet reconnaissant D N et possédant strictement moins de 2 N+1 états. II.C.6) Démontrer qu'il n'existe pas d'automate fini (non-déterministe) reconnaissant D N et possédant strictement moins de N + 2 états. Même question pour le langage GN . On pourra raisonner par l'absurde et prouver que les états atteints en lisant ak depuis l'état initial sont distincts, pour certaines valeurs k. II.C - Automate minimal Soit A = {a, b}. Pour chaque entier N  N, on définit les langages GN et D N de la manière suivante : · GN = {uav | u  A N , v  A }. · D N = {uav | u  A , v  A N }. II.C.1) Donner un automate déterministe complet, à N + 3 états reconnaissant GN . II.C.2) Donner un automate non-déterministe, à N + 2 états reconnaissant D N . II.C.3) Démontrer qu'il n'existe pas d'automate déterministe complet reconnaissant GN et possédant strictement moins de N + 3 états. b) Montrer que les relations : et In f = (x, y)  N2 | x < y Eg = (x, y)  N2 | x = y sont rationnelles. c) Montrer que la relation : Add = (x, y, z)  N3 | x + y = z est rationnelle. d) On suppose la relation R  N n rationnelle et on définit les relations Q  N n-1 et S  N n-1 par : (x1 , . . . , xn-1 )  Q si, et seulement si, il existe x  N tel que (x1 , . . . , xn-1 , x)  R. (x1 , . . . , xn-1 )  S si, et seulement si, pour tout x  N, (x1 , . . . , xn-1 , x)  R. Montrer que les relations Q et S sont rationnelles. Page 3/3 II.B - Logique de Presburger Soit n un entier strictement positif et B = {0, 1}. On prend comme alphabet l'ensemble Bn . Un mot b1,1 b1,m u =  ...  · · ·  ...   (Bn ) L = {u | w  A , u 6= w2 }. a) On suppose que A est réduit à une lettre. Montrer alors que L est reconnaissable par automate fini et donner un automate reconnaissant effectivement L, ainsi qu'une expression rationnelle décrivant L. b) On suppose maintenant que A n'est pas réduit à une lettre. Montrer que L n'est pas reconnaissable. c) Soit p un entier strictement plus grand que 2. Reprendre les deux questions précédentes en remplaçant L par L p défini par : L p = {u | w  A , u 6= w p } II.A - Mots répétés II.A.1) Soit A un alphabet. On s'intéresse au langage L  A constitué des mots u qui ne sont de la forme w2 (c'est-à-dire ww) pour aucun w  A : On note A l'ensemble des mots écrits dans l'alphabet A (y compris le mot vide). Un langage sur l'alphabet A est un sous-ensemble de A . On note en particulier L(A ) le langage de A , c'est-à-dire l'ensemble des mots acceptés par A (permettant de passer d'un état initial à un état terminal). Étant donné un mot u  A , on note |u| la longueur de u, c'est-à-dire le nombre de ses lettres. INFORMATIQUE