Mines Option Informatique MP 2019Sujet, corrigé et rapport du jury
- Automates finis
- Graphes et parcours en profondeur
- Morphismes et relations d'équivalence
- Structures de données et manipulation de types en Caml
Téléchargements
Présentation du sujet
Réduction d'automates : morphismes et automate produitAfficher ou masquer la section
Présentation du sujet
Le sujet traite d'une méthode de réduction des automates, en s'appuyant sur la notion formelle d'automate et sur des structures informatiques que le candidat doit manipuler. Il progresse des premiers exemples et de la représentation informatique d'un automate jusqu'à la construction de morphismes d'automates, avant d'aboutir à la réduction d'un automate par fusion d'états.
- 11. Premiers exemplesDescription qualitative et rationnelle du langage accepté par un automate, puis manipulation de sa représentation informatique.
- 22. États accessibles d'un automateDétermination des états accessibles par un parcours en profondeur du graphe associé à l'automate.
- 33. Morphismes d'automatesÉtude des propriétés des morphismes d'automates, avec preuves du caractère bijectif ou surjectif selon les cas.
- 44. Constructions de morphismes d'automatesConstruction d'un automate produit et d'un diagramme d'automates, avec renumérotation des couples d'états.
- 55. Réduction d'automatesSynthèse des résultats précédents pour construire un automate réduit par fusion d'états.
Ce qu'a observé le jury
5 erreurs relevéesConfusion entre parcours en profondeur et en largeur · Renumérotation des sommets et transitions mal faite · Contresens sur l'existence d'un morphismeAfficher ou masquer la section
Ce qu'a observé le jury
5 erreurs relevéesLe sujet permet de bien évaluer l'acquisition du programme des deux années de classe préparatoire, en combinant la notion formelle d'automate et des structures informatiques complexes. Les candidats abordent l'ensemble des questions dans leur grande majorité et la présentation des copies est globalement satisfaisante, mais le jury constate peu d'efforts de rédaction sur les questions théoriques, avec des arguments souvent absents, superficiels ou ne citant pas les résultats déjà montrés.
Les erreurs les plus sanctionnées
- 1Confusion entre parcours en profondeur et en largeurQ7
À la question 7, on constate une confusion avec le parcours en largeur ou l'oubli du marquage des sommets rencontrés, ainsi qu'une estimation asymptotique de la complexité parfois fausse.
- 2Renumérotation des sommets et transitions mal faiteQ8
Beaucoup de candidats renumérotent mal les sommets du graphe ou les transitions à la question 8.
« Beaucoup de candidats ont mal renuméroté les sommets du graphe ou les transitions »
- 3Contresens sur l'existence d'un morphismeQ9 à Q12
Aux questions 9 à 12, certains candidats trouvent un morphisme alors qu'il est demandé de montrer qu'il n'en existe pas.
« certains candidats trouvent un morphisme alors qu'il est demandé de montrer qu'il n'en existe pas »
- 4Preuves formelles peu rigoureusesQ13 à Q16
Les preuves du caractère bijectif ou surjectif d'un morphisme sont souvent confuses et peu rigoureuses, sans citer précisément les propriétés utilisées à chaque étape.
- 5Relation d'équivalence mal compriseQ22 à Q28
Aux questions 22 à 28, la relation d'équivalence décrite dans l'énoncé est souvent mal comprise par les candidats.
Ce qui a été bien réussi
- Les questions 1 à 4 sur la description du langage accepté par un automate sont globalement comprises.
- La question 5 montre que les candidats ont compris la représentation informatique de l'automate choisie dans l'énoncé.
Conseils du jury
- Citer explicitement les propriétés et résultats précédemment établis à chaque étape d'une preuve formelle.
- Décrire qualitativement l'algorithme avant d'écrire le code, comme le conseille l'énoncé, et commenter le code pour en faciliter la lisibilité.
- Bien distinguer parcours en profondeur et parcours en largeur d'un graphe.
- Soigner la rédaction des questions théoriques plutôt que de se limiter à des arguments superficiels.
Synthèse rédigée par WikiPrépa à partir du rapport officiel du jury (à télécharger en PDF). Les citations sont extraites du rapport.
Ces sujets peuvent vous intéresser
Lecture du sujet en ligne
L'énoncé complet, avec les formules et les figures, sans ouvrir le PDF.Afficher ou masquer la section
Lecture du sujet en ligne
ÉCOLE DES PONTS PARISTECH, ISAE-SUPAERO, ENSTA PARISTECH, TELECOM PARISTECH, MINES PARISTECH, MINES SAINT-ÉTIENNE, MINES NANCY, IMT Atlantique, ENSAE PARISTECH, CHIMIE PARISTECH.
CONCOURS 2019
ÉPREUVE D'INFORMATIQUE MP
L'usage de la calculatrice et de tout dispositif électronique est interdit.
Les candidats sont priés de mentionner de façon apparente sur la première page de la copie :
INFORMATIQUE - MP
Abstract
Si, au cours de l'épreuve, un candidat repère ce qui lui semble être une erreur d'énoncé, il le signale sur sa copie et poursuit sa composition en expliquant les raisons des initiatives qu'il est amené à prendre.
Préliminaires
Concernant la programmation
Définition mathématique d'un automate
Représentation d'automate en Caml
entiers compris entre 0 et
- n, de type int, est le nombre d'états de l'automate; les états de l'automate sont les entiers de 0 à
n − 1 , - delta, de type (int * int) array de longueur
n , est un tableau qui stocke les couples(δ(q, a), δ(q, b))_(q ∈ Q) , - f, de type bool array de longueur
n , est un tableau qui représente la fonction indicatrice de l'ensemble des états finals.
Dans l'ensemble du sujet, le type automate est défini par l'alias suivant.
type automate= int∗ (int∗ int) array∗ bool array;;
Ci-dessous sont donnés quelques exemples de son utilisation. - let (
n , delta, f) = aut in ...
permet de récupérer les composantes d'une variable aut de type automate. - let (succ_a,succ_b) = delta.(q) in ...
permet ensuite de récupérer le successeur par la lettrea et le successeur par la lettreb de l'état q (qui est de type int). - if
f.(q) then ...
permet de tester si l'état q (qui est de type int) est final.
Indication Caml : On rappelle que la fonction List.length, de type 'a list -> int, renvoie la longueur d'une liste. On rappelle que Array.maken × permet de créer un tableau de longueurn et initialisé avec la valeurx , que Array.copyt renvoie une copie d'un tableaut , que Array. length t renvoie la longueur d'un tableaut . On rappelle enfin que Array.make_matrix n m x permet de créer un tableau de tableaux de taillen × m dont toutes les cases sont initialisées avec la valeurx .
1 Premiers exemples
.jpg)

.jpg)
.jpg)
2 États accessibles d'un automate
7 - Écrire une fonction etats_accessibles, de type automate -> int list, qui renvoie la liste des états accessibles de l'automate donné en argument et que l'on obtient par un parcours de graphe en profondeur depuis l'état initial. La liste renvoyée doit suivre l'ordre dans lequel les états sont rencontrés pour la première fois et ne doit pas contenir de doublons. Donner la complexité de la fonction écrite.
3 Morphismes d'automates
type morphisme = int array;;
3.1 Exemples de morphismes d'automates
|
|
|
|
|
|
|
|
|
|
|
11 - À partir des figures 1 et 2 , montrer qu'il n'existe pas de morphisme d'automates de l'automate
12 - À partir des figures 2 et 5 , montrer qu'il n'existe pas de morphisme d'automates de l'automate
3.2 Propriétés des morphismes d'automates
14 - Montrer qu'un morphisme
15 - Montrer que la composition de deux morphismes d'automates est encore un morphisme d'automates.
.jpg)

3.3 Existence de morphismes d'automates entre automates accessibles
4 Constructions de morphismes d'automates
4.1 Automate produit
4.2 Diagramme d'automates

5 Réduction d'automates
5.1 Existence et unicité
Soit
5.2 Construction d'un automate réduit par fusion d'états
Écrire en Caml une fonction table_de_predecesseurs de type automate -> bool array array qui prend en entrée un automate accessible
On essaiera de ne pas dépasser une complexité en
Fin de l'épreuve
Questions fréquentes
4 questionsSur quels chapitres porte l'épreuve d'informatique option MP 2019 ?Afficher ou masquer la section
Questions fréquentes
4 questionsSur quels chapitres porte l'épreuve d'informatique option MP 2019 ?
Le sujet porte sur les automates finis, les parcours de graphes, les morphismes d'automates et la construction d'un automate réduit par fusion d'états.
Quelles erreurs le jury a-t-il le plus relevées ?
Une confusion entre parcours en profondeur et en largeur, une renumérotation incorrecte des sommets et transitions, et des preuves formelles peu rigoureuses sur les morphismes d'automates.
Ce sujet d'informatique option MP 2019 est-il difficile ?
Le rapport ne permet pas de juger précisément le niveau de difficulté global, mais il note que les questions théoriques, notamment sur les morphismes, ont donné lieu à des preuves souvent confuses.
Quelles notions faut-il maîtriser pour le sujet d'informatique option MP 2019 sur les automates ?
Il faut maîtriser la notion formelle d'automate, les parcours de graphes, les propriétés des morphismes et savoir manipuler des structures informatiques complexes en Caml.
Pas de description pour le moment
