Professional Documents
Culture Documents
MI005
PREUVE SPCIFIQUE-FILIRE
MP
INFORMATIQUE
DURE 2 heures :
Les calculatricesprogrammables et alphanumriquessont autoriskes, sous rserve des conditions djnies dans la circulaire no 86-228 du 28 juillet 1986.
PRAMBULE: trois parties qui composent ce sujet sont indpendantes et peuvent tre traites par Les les candidats dans un ordre quelconque.
- un processeur en tat de fonctionnement normal ne peut affirmer que des propositions vraies;
- un processeur en tat de panne ne peut affirmer que des propositions fausses.
Un ordinateur est compos de trois processeurs qui possdent la mme mmoire, donc les mmes connaissances. Priodiquement, un ingnieur vient interroger lordinateur pour dterminer si certains processeurs sont en tat de panne. Lors dune sance de test, lingnieur pose les deux questions suivantes au processeur no 1 :
-
Est-ce que les processeurs no 2 et no 3 sont en tat de fonctionnement normal ?n t Est-ce que le processeur no 2 est en tat de fonctionnement n o m l ? ( ,
( (
Le processeur no 1 rpond la premire question : t( Les processeurs no 2 et no 3 sont en tat de fonctionnement normal. w Puis, il rpond la seconde question : a Le processeur no 2 est en tat de panne. Nous noterons P1 (respectivement P2 et P3) la proposition t( le processeur no I (respectivement no 2 et no 3) est en tat de panne B. Nous supposerons que Itat des trois processeurs ne peut pas changer entre les rponses aux deux questions.
) )
Question 1.1 Exprimer la rponse la premire question sous la forme dune formule du calcul des propositions. Tournez la page S.V.P.
J. 6399
Question 1.2 Exprimer la rponse la deuxime question sous la forme dune formule du calcul des propositions. Question 1.3 En utilisant le calcul des propositions (table de vrit ou formule de De Morgan), dteminer ltat de chaque processeur.
Exemple 11.1 Le problme consistant relier les points { A , B , C,D, } en utilisant les connexions E ( (C, (D, possibles { ( A ,B ) , ( A ,C), B ,C ) , ( B ,O), O), E ) } sera reprsent par le graphe dont les connexions sont tiquetes par leur cot de ralisation :
A partir du problme prcdent, on peut construire plusieurs rseaux dont les deux rseaux suivants :
Question 11.1 Donnel; de mme, une reprsentation graphique de tous les rseaux qui peuvent tre construits partir de ce problme. Tournez la page S.V.P.
Question 11.2 Prcisel; parmi les difrents rseaux possibles, les rseaux de cot minimal.
Une connexion et son cot sont alors reprsents par un triplet dont les deux premiers Clments sont les extrmits et le dernier est le cot.
connexion == point
point
int; ;
Un problme de construction dun rseau est alors compos dune paire dont le premier Clment est une liste dentiers (les points) et le second Clment est une liste de triplets (les connexions).
type reseau == (point list)
(connexion list);;
Exemple 11.2 En associant les entiers 1 , 2 , 3 , 4 , 5aux points A , B , C, D , E, le probltme donn en exemple est reprsent par la valeur :
( [ 1 ; 2 ; 3 ; 4 ; 5 1 ,
[ ( 1 / 2 / 1 ) ; ( 1 / 3 / 1 ) ; ( 2 / 3 / 2 ) ;
( 2 4 / 1 ) ; ( 3 / 4 / 1 ) ; ( 4 / 5 / 2 ) 1 )
Nous supposons prdfinies les fonctions suivantes dont le calcul se termine quelles que soient les valeurs de leurs paramtres. Elles pourront ventuellement tre utilises dans les reponses aux questions :
appartient de type a -> a list -> bool telle que lappel ( appartient e 1 ) renvoie la vaieur vrai si e appartient la liste 1,
- taille de type a list -> int telle que lappel (taille 1)renvoie le nombre dClments contenus dans la liste 1.
Question 11.3 Montrer que : si (Pi, est un rseau et p E P et q E P, et ( p , q ) $! C alors Ci) i i (Pi, u { ( p ,q ) } ) contient au moins un cycle. C i Question 11.4 Montrer que :si (Pi, est un rseau et p $! P et q $! Pialors Ci) i (Piu {p,q}, Ci u { @, 4))) nest pas un rseau. Question 11.5 Montrer que :si (Pi, est un rseau et p E P et q @ P et Pi+1 = P, u {y) et Ci) i i C + = Ci u { @, q)} alors (Pi+l, est un rseau. il Ci+l) Question 11.6 Montrer que :si (Pk, est un rseau construit par lalgorithme prcdent avec ck) k = card(P), ce rseau rpond au problme (P,C). alors
(el
Question 11.7 crire en CaML une fonction rcursive cocycl e de type point l i s t -> connexion l i s t -> connexion l i s t telle que lappel (cocycle q c) calcule le cocycle du sous-ensemble de points q d e lensemble de points P relis par les connexions de lensemble c. Question 11.8 Montrer que le calcul de la fonction cocycl e se termine quelles que soient les valeurs de ses paramtres. Question 11.9 Donner une estimation de la complexit de lafonction cocycl e en nombre dappels rcursifs cocycl e. Justifier cette estimation.
Question 11.11 crire une fonction CaML construire, appliquant 1algorithme prcdent, de type point l i s t -> connexion list -> reseau telle que luppel (const ruire p c ) construit un rseau pour le problme connexe qui consiste relier 1ensemble de points p en choisissant les connexionsparmi lensemble c. Cettefonctionfera appel desfonctions rcursives. Question 11.12 Montrer que le calcul de la fonction construire se termine quelles que soient les valeurs de ses paramtres. Tournez la page S.V.P.
Question 11.13 Donner une estimation de la complexit de la fonction cons t r u i r e en fonction de la complexit de cocycl e et du nombre dappels rcursifs internes construire. Justijer cette estimation.
Question 11-14 Montrer que w ( X ) n { @ o , p l ) , ( p l , p 2 ) ,* - * , (pn-1,pn)}# 8. Question 11.15 Soit c une connexion de w ( X ) n {@O, pl), (p1, 2 ) , - - - , (pn-l,, ) } # 0. p p Montrer que H = (P,2) avec 2 = (2 \ { c } ) U { c l } est un rseau quelconque rpondant au problme. Question 11.16 Donner une relation liant les cots de H et de H . Question 11.17 Montrer que :si rseau de cot minimal.
cl
Question 11.18 Montrer que 1applicationde 1algorithme de Prim produit un rseau minimal pour un problme donn.
Question 11.19 Modifier la fonction cocycl e de la question II. 7 en utilisant la fonction inserer pour construire un cocycle ordonn.
Question 11.20 Donner une estimation de la complexit dans le pire cas en fonction de la complexit de inserer et du nombre dappels rcursifs de la fonction cocycl e modiJie. Justiler cette estimation. Question 11.21 Donner une estimation de la complexit dans le pire cas en fonction de la complexit de cocycl e et du nombre dappels rcursifs internes la fonction construire utilisant la nou. velle fonction cocycl e Justijer cette estimation.
Exemple 11.1 Le problme consistant relier les points ( A , B , C,D, ) en utilisant les connexions E possibles { ( A ,B ) , ( A , C ) ,( B ,C ) , ( B , D ) ,(C,O), (D, ) } sera reprsent par le graphe dont les E connexions sont tiquetes par leur cot de ralisation :
A partir du problme prcdent, on peut construire plusieurs rseaux dont les deux rseaux suivants :
Question 11.1 Donnel; de mme, une reprsentation graphique de tous les rseaux qui peuvent tre construits partir de ce problme.
Question 11.2 Prcisel; parmi les difSerentsrseaux possibles, les rseaux de cot minimal.
NIL reprsente la liste vide de points ou de connexions, FUNCTION LP-cons( t : INTEGER; q :POINTS) :POINTS; est une fonction qui renvoie une liste de points dont la tte est t et la queue q, FUNCTION LP-tete(pts:POINTS) :INTEGER; est une fonction qui renvoie la tte de pts, FUNCTION LP-queue(pts:POINTS) :POINTS; est une fonction qui renvoie la queue de pts, FUNCTION LP-appartient(p: INTEGER; pts :POINTS):BOOLEAN;est une fonction qui renvoie la valeur vrai si p appartient la liste pts, FUNCTION LP-taille(pts:POINTS) :INTEGER;est une fonction qui renvoie le nombre dClments contenus dans la liste pts, p2 FUNCTION C-cons(pl, :INTEGER; c : INTEGER):CONNEXION;est une fonction qui renvoie une connexion dont les extrmits sont pl et p2 et dont le cot est c, FUNCTION C-extrl(cx:CONNEXION) :INTEGER;est une fonction qui renvoie la premire extrmit de cx, FUNCTION C-extra(cx: CONNEXION) :INTEGER; est une fonction qui renvoie la seconde extrmit de cx, FUNCTION C-cout(cx:CONNEXION) :INTEGER;est une fonction qui renvoie le cot de cx, FUNCTION LC-cons( t :CONNEXION; q:CONNEXIONS) :CONNEXIONS;est une fonction qui renvoie une liste de connexions dont la tte est t et la queue q, FUNCTION LC-tete(cxs:CONNEXIONS) :CONNEXION;est une fonction qui renvoie la tte de cxs, FUNCTION LC-queue( cxs :CONNEXIONS) :CONNEXIONS;est une fonction qui renvoie la queue de cxs, FUNCTION R-cons(pts:POINTS; cxs :CONNEXIONS) :RESEAU;est une fonction qui renvoie un rseau constitu des points de la liste pts relis par les connexions de la liste cxs.
Exemple 11.2 En associant les entiers 1 , 2 , 3 , 4 , 5aux points A , B , C,D , E, le problme donn en exemple est reprsent par la valeur : R-cons ( LP-cons( 2 LP-cons( 3 , LP-cons( 1 LP-cons( 4 , LP-cons( 5 NIL ) ) ) ) ) LC-cons( C-cons( 1 2 1 ) , LC-cons( C-cons( 1 3 1 ) , LC-cons( C-cons( 2 3 2 ) , LC-cons( C-cons( 2 , 4 , 1 ) , LC-cons( C-cons( 3 , 4 , 1 ) , LC-cons( C-cons( 4 5 2 ) , NIL ) ) ) ) ) ) )
2.1 Correction de lalgorithme On remarquera que : V p E P, ( { p } , 0) est un rseau que lon notera (Po,Co).
Question 11.3 Montrer que : si (Pi,Ci)est un rseau et p E Pi et q E Pi et ( p , q ) (Pi,Ci u { ( p , q ) } ) contient au moins un cycle. Question 11.4 Montrer que :si (Pi,Ci) est un rseau et p (Pi u { p , q } , C u { (p, q ) }) nest pas un rseau. i
# Ci alors
# Pi et q 6P alors i
Question 11.5 Montrer que :si (Pi,Ci) un rseau et p E Pi et q est Ci+l = Ci u { ( p , q ) } alors (Pi+l, Ci+l)est un rseau.
4 P, et Pi+l
= Pi U { q } et
Question 11.6 Montrer que : si (Pk,Ck) est un rseau construit par lalgorithme prcdent avec k = card(P),alors ce rseau rpond au problme (P,C).
Question 11.7 crire en PASCAL, une fonction rcursive cocycle (pts: P O I N T S ; cxs :CONNEXIONS) :CONNEXIONS; telle que lappel cocycl e ( q, c) calcule le cocycle du sous-ensemble de points q d e lensemble de points P relis par les connexions de 1ensemble c.
Question 11.8 Montrer que le calcul de la fonction cocycl e se termine quelles que soient les valeurs de ses paramtres. Question 11.9 Donner une estimation de la complexit de la fonction cocycl e en nombre dappels rcursifs cocycl e. Justijier cette estimation.
3.1 Correction de lalgorithme de Prim Soit (X,Y) rseau partiel pour le problme (P,C). un
Soit H = (P,2) rseau de cot minimal rpondant ce mme problme tel que Y C 2. un Soit une connexion c = @o,pn) E w ( X ) telle que d 4 2. On remarquera alors que (P,{ d } U 2) contient au moins un cycle (application de la question 11.3) not ((Po, ,P n ,Po)) et compos des connexions {(Po, Pl), (Pl P2), - - 7 (Pn-1,P n ) , c l } .
* * 7 *
Question 11.15 Soit c une connexion de w ( X ) n { ( p o , p l ) ,@ 1 , p 2 ) , - - - , @ n - l , p n ) } # 0. Montrer que H = (P,2 ) avec 2= (2 {c}) U {c) est un rseau quelconque rpondant au \ problme. Tournez la page S.V.P.
Question 11.16 Donner une relation liant les cots de H et de H . Question 11.17 Montrer que :si c est une connexion de cot minimal dans w ( X ) alors H est un rseau de cot minimal. Question 11.18 Montrer que 1 application de lalgorithme de Prim produit un rseau minimal pour un problme donn.
Question 11.19 Modifier la fonction cocycl e de la question 11.7 en utilisant la,fonction inserer pour construire un cocycle ordonn. Question 11.20 Donner une estimation de la complexit dans le pire cas enfonction de la complexit de inserer et du nombre dappels rcursifs de la fonction cocycl e modifie. Justijler cette estimation. Question 11.21 Donner une estimation de la complexit dans le pire cas en fonction de la complexit de cocycl e et du nombre dappels rcursifs internes la fonction construire utilisant la nouvelle fonction cocycl e. JustiJiercet[e estimation.
C Q,
+Q
Les valeurs de la fonction de transition 6 seront reprsentes par un graphe dont les nuds sont les tats. Un tat initial sera entour dun cercle @ et un tat final sera entour dun double cercle
@-
tude de lexemple II
Soit lautomate fini dterministeEl = ( { A ,B , C, D},a , b, c}, A, {B, D}, 6 ~ dont)la fonction { C, ~ de transition est dfinie par :
a,c
Question 111.1 Caractriser le langage reconnu par I l par une expression rgulire ou ensembliste. Tournez la page S.V.P.
Question 111.2 Caractriser le langage reconnu par &2 par une expression rgulire ou ensembliste.
Soit Iopration interne x sur les automates finis dterministes dfinie par :
Df. 111.1 (Produit dautomates) Soient Al = (QI,X , q1,Tl,Sl) et A2 = ( Q 2 , X , 4 2 , T2,62)deux automates jnis dteministes, lautomate produit A = Al x A2 est djni par :
&2.
Question 111.4 Caractriser le langage reconnu par El x &2 par une expression rgulire ou ensembliste. Comparer ce langage avec les langages reconnus par &1 et &2.
* ( m E L(A1) A m E ,!,(A2)).
A2
Question 111.7 Quelle relation liant les langages reconnus par Al, A2 et Al x dduire ?
peut-on en
Fin de lnonc