Informatique 2005 Classe Prepa MP Concours Centrale-Supélec
8 pages
Français

Informatique 2005 Classe Prepa MP Concours Centrale-Supélec

-

Cet ouvrage peut être téléchargé gratuitement
8 pages
Français
Cet ouvrage peut être téléchargé gratuitement

Description

Concours du Supérieur Concours Centrale-Supélec. Sujet de Informatique 2005. Retrouvez le corrigé Informatique 2005 sur Bankexam.fr.

Informations

Publié par
Publié le 28 septembre 2010
Nombre de lectures 60
Langue Français

Extrait

INFORMATIQUE
INFORMATIQUE
Filière MP
Partie I - Polygones simples Dans toute cette partie, le plan est muni d’un repère orthonormé fixé. On iden-tifiera un vecteur et le couple de ses coordonnées dans ce repère. Notes de programmation. On dispose des typespoint, vecteur, segment etpolygone.Unpoint(ou unvecteur) est défini par deux entiers, unseg-mentest défini par deux points et unpolygoneest une liste de points. Remarque: dans tout le problème un segment, resp. un polygone, est toujours supposé formé de points distincts. En Caml : type point = { x:int ; y:int };; type vecteur = { xv:int ; yv:int };; type segment = { a:point ; b:point };; type polygone == point list;; On dispose par ailleurs de constructeurs de vecteurs et de segments à partir des points les définissant ; let CreerVecteur p q = { xv = q.x-p.x ; yv = q.y-p.y};; let CreerSegment p q = { a = p ; b = q };; Les fonctions dont on demandera le code devront avoir pour signatures : determinant : vecteur -> vecteur -> int = <fun> produit_scalaire : vecteur -> vecteur -> int = <fun> direct : point -> point -> point -> int = <fun> meme_cote : segment -> point -> point -> int = <fun> appartient : segment -> point -> int = <fun> intersecte : segment -> segment -> int = <fun> simplifie : polygone -> polygone = <fun> en_dehors : polygone -> point = <fun> interieur : polygone -> point -> int = <fun> Pour simplifier la présentation Caml/Pascal, la notation fonctionnelle f(u,v)est utilisée dans l’énoncé à la place def u ven Caml. En Pascal : type point=record x,y:integer end; vecteur=record xv,yv: integer end;
Concours Centrale-Supélec 2005
1/8
INFORMATIQUE
Filière MP
Filière MP
segment=record a,b:point end; polygone=ˆcellule; cellule=record contenu:point; suivant:polygone end; Les fonctions/procédures dont on demandera le code auront pour entêtes : function determinant(u,v:vecteur):integer; function produit_scalaire(u,v:vecteur):integer; function direct(a,b,c:point):integer; function meme_cote(I:segment;p,q:point):integer; function appartient(I:segment; p:point):integer; function intersecte(I,J:segment):integer; function simplifie (P:polygone):polygone; procedure en_dehors(P:polygone; var res:point); function interieur(P:polygone;pt:point):integer; I.A - Intersection Remarque: géométriquement, le segment[a,b]est l’ensemble des points de la droite(a,b)situés entreaetb; on rappelle que les segments considérés sont non réduits à un point. I.A.1) Écrire des fonctionsdeterminantetproduit_scalairetelles que determinant(u,v)retourne le déterminant de la matrice formée par les vec-teursuetv, etproduit_scalaire(u,v)retourne le produit scalaire des vec-teursuetv. I.A.2)Définition : étant donnés trois pointsa,b,c, le triangle(a,b,c)est directsi une mesure de l’angle(ab,ac)est dans l’intervalle]0,π[, indirectsi une mesure de l’angle(ab,ac)est dans l’intervalle]–π,0[, aplatisi les trois pointsa, betcsont alignés. Montrer que le triangle(a,b,c)est direct si et seulement sidet(ab,ac) >0. I.A.3) Écrire une fonctiondirecttelle quedirect(a,b,c)retourne1si le triangle(a,b,c)est direct,–1s’il est indirect et0s’il est aplati. I.A.4) Écrire une fonctionmeme_cotetelle quememe_cote(I,p,q) retourne 1si les pointspetqsont du même côté de la droiteDportée par le segmentI, –1s’ils ne sont pas du même côté, et0sipouqest surD. Illustrer la démarche à l’aide de figures bien choisies.
Concours Centrale-Supélec 2005
2/8
INFORMATIQUE
Filière MP
I.A.5) Écrire,en la justifiant, une fonctionappartientque telle appar-tient(I,p)retourne1si le pointpappartient au segmentIet–1sinon.
I.A.6) Écrire une fonctionintersecteque telle intersecte(I,J) retourne1si les segmentsIetJont une intersection non vide et–1sinon. Utiliser et justifier à l’aide de figures le fait que, sauf cas particuliers à expliciter, IetJlorsque les extrémités deont une intersection non vide Ine sont pas du même côté deJet que conjointement les extrémités deJne sont pas du même côté deI. I.B - Intérieur / Extérieur Dans cette partie,nest un entier strictement supérieur à2,P=p ppest 1 2n un polygone ; les pointsp,…,psont les sommets du polygone ; les segments 1n [p,p], …, [p,p], [p,p]en sont les arêtes. Par convention on posep=p 1 2n– 1n n1 0n etp=ppour tout entier naturelk. i+kn i Géométriquement, un polygone est, par définition, l’ensemble des points de ses arêtes ; ainsi on dit qu’un pointaest sur le polygonePs’il appartient à l’une de ses arêtes. On dit qu’un segmentS coupe le polygonePce segment à une si intersection non vide avec l’une des arêtes deP. De plus, dans ce problème, le polygonePsera toujours supposésimple, ce qui signifie que deux arêtes quelconques non consécutives sont toujours disjointes et que deux arêtes consécutives ont un seul point commun. Résultat admis 1.Un polygone simplePsépare le plan en deux composan-tes connexes, ce qui signifie que le complémentaire dePdans le plan com-porte deux composantes connexes : l’intérieur deP est par définition la composante connexe bornée et l’autre, non bornée, est l’extérieurdeP.
Résultat admis 2.SoientPun polygone simple,aetbdeux points du plan qui ne sont pas surP. Si le segment[a,b]ne coupe pasPalorsaetbsont dans la même composante connexe. Résultat admis 3.SoientPun polygone simple,aetbdeux points du plan qui ne sont pas surP. Si le segment[a,b]coupePen un seul point qui n’est pas un sommet deP, alorsa etbsont pas dans la même composante ne connexe. I.B.1) Écrire une fonctionsimplifietelle quesimplifie(P)supprime du polygoneP les pointsp tels quep,p,palignés. Évaluer sa com- sont i i– 1i i+ 1 plexité. Dans la suite, le polygonePsera supposé sous sa forme simplifiée,i.e.il n’existe pas de sommetptel quep,p,psont alignés. i i– 1i i+ 1
Concours Centrale-Supélec 2005
3/8
INFORMATIQUE
Filière MP
I.B.2)Caml :une fonction écrire en_dehorsque telle en_dehors P retourne un point appartenant à la composante extérieure deP. Le temps d’exé-cution (dans le pire des cas) doit être linéaire en le nombre de points deP. Pascal :une procédure écrire en_dehorsque telle en_dehors(P,pt) place dans la variableptun point appartenant à la composante extérieure deP. Le temps d’exécution (dans le pire des cas) doit être linéaire en le nombre de points deP. I.B.3) Soitsun point à l’extérieur deP. En supposant que le segment[q,s] ne contient aucun des sommets deP, dire dans quelle composante connexe se situeq, en fonction du nombre d’intersections de[q,s]avecP. I.B.4) En déduire une fonctioninterieurtelle queinterieur(P,q)ren-voie1siqest dans la composante intérieure deP,–1siqest dans la compo-sante extérieure, et0siqest surP. Le nombre d’opérations (dans le pire des cas) de la fonction doit être linéaire en le nombre de sommets deP. On fera ici l’hypothèse que le pointsà l’extérieur dePest tel qu’aucun sommet dePn’est sur le segment[q,s]. I.B.5) Adapter cette fonction pour traiter tous les cas d’intersections possi-bles et donner alors le nombre d’opérations (dans le pire des cas). Indication : on déplacera habilement le point extérieurs. I.B.6) Soient deux pointsaetbqui ne sont pas surPet tels que[a,b]coupe Pen un seul point qui est l’un de ses sommetsp. Caractériser, par une condi-i tion portant surp,pet[a,b], l’appartenance des pointsaetbà la même i– 1i+ 1 composante connexe.Justifier à l’aide de figures bien choisies. I.B.7) Soient deux pointsaetbqui ne sont pas surPet tels que l’intersec-tion de[a,b]et dePest une arête[p,p]deP. Caractériser, par une condi-i i+ 1 tion portant surp,pet[a,b], l’appartenance des pointsaetbà la même i– 1i+ 2 composante connexe.Justifier à l’aide de figures bien choisies. I.B.8) Réécrire la fonctioninterieurde la question I.B.5 avec un nombre d’opérations (dans le pire des cas) linéaire par rapport àn. Partie II - Complexité de communication LorsqueEest un ensemble fini,Edésigne son cardinal. Lorsquexest un réel, x (resp.x) désigne sa partie entière supérieure (resp. inférieure), c’est-à-dire l’unique entier vérifiantxx<x+ 1(resp.x– 1<xx). y Soit une applicationf:X×YZ. PouryYfixé,fdésigne l’application par-yXZ tiellefxaf(x,y) YZ  et pourxXfixé,fl’application partiellefx x yaf(x,y) Concours Centrale-Supélec 2005 4/8
INFORMATIQUE
Filière MP
II.A - Communication à sens unique Dans cette partie on modélise le scénario suivant. SoientX,YetZtrois ensem-bles finis arbitraires etf:X×YZune fonction donnée. Deux personnes, Alice et Bob, veulent calculerf(x,y)pour des valeursxXetyY. La difficulté est que seule Alice connaîtx et seul Bob connaîty. L’objectif est de déterminer l’information minimale qu’Alice doit envoyer à Bob pour que ce dernier puisse calculerf(x,y). P0 1 Unprotocole à sens uniquecalculantfest un couple de fonctions(g,g), ∗ ∗ avecg:X{0,1}etg:{0,1}×YZ, tel queg(g(x),y)=f(x,y), pour tout 0 1 1 0 xXetyY,{0,1}désignant l’ensemble des mots sur l’alphabet{0,1}. Autrement dit,g(x)est l’information qu’Alice envoie à Bob, etg(m,y)est la 0 1 valeur calculée par Bob ayant reçu le messagemd’Alice. Lecoût sur l’entrée(x,y)d’un protocole à sens uniquePest la taille en bits de g(x), c’est-à-dire la longueur de ce mot.Le coûtd’un protocole à sens unique est 0 le maximum de ses coûts sur toutes les entrées possibles. Lacomplexité de com-1 munication à sens unique def, notéeD(f), est le minimum des coûts des pro-tocoles à sens unique calculantf. Note sur la rédaction.Dans cette partie, la description d’un protocole se fera par la donnéeexplicitedes fonctionsgetgcorrespondantes. 0 1 II.A.1) Exemples - Propriétés simples 1 a) CalculerD(f)lorsquefest une fonction constante. b) Trouver, pourfdonnée, un protocole dont le coût estlogX. Que peut-on 2 1 en déduire surD(f)? c) SoientX={1,,n},p un entier tel que1pn– 1, etf une fonction de périodeppar rapport à la première variable,i.e.f(x+p,y)=f(x,y)pour tout 1 (x,y)X×Ytel quex+pn.Montrer queD(f)logp. d)X etYici l’ensemble des parties de sont {1,,n}, et, pourx,y{1,,n}, 1 f(x,y)est le plus grand élément dexy. Montrer queD(f)logn. Compa-2 rer à la majoration de la question II.A.1- b. 1y y e) Montrer que pour chaqueyY fixé,D(f)log Im(f), avecIm(f) 2 y l’ensemble des valeurs prises parf. 1 f) CalculerD(f),fdésignant la fonction de la question II.A.1-d. 1 II.A.2) Calcul exact deD(f) On suppose queX={1,,p}etY={1,,q}, pour deux entierspetqstricte-ment positifs. La matrice de communication def:X×YZest un tableau àp lignes etqcolonnes, notéM, dont les lignes sont indexées parXet les colonnes f
Concours Centrale-Supélec 2005
5/8
INFORMATIQUE
Filière MP
parY, et définie par(M)=f(x,y), pourxXetyY. Soittle nombre de f x,y 1 lignes distinctes deM. On va montrer l’égalitéD(f)= logt. f2 a) Donner un protocole calculantfdont le coût estlogt. 2 b) Montrer que le protocole précédent est optimal,i.e.tout protocole calculant fa un coût supérieur ou égal àlogt. 2 c) Application : Alice et Bob détiennent chacun un mot de taillensur l’alphabet {0,1}. Quelle information minimale Alice doit-elle fournir à Bob pour que celui-ci puisse décider de façon certaine si les deux mots sont égaux ? On commencera par modéliser précisément cette situation en terme de protocole de communication à sens unique. Donner un protocole à sens unique dont le coût atteint cette borne. 1 LorsqueXetYsont quelconques, l’égalitéD(f)= logtest maintenue en pre-2 nant pourtle nombre d’applications partielles(f)distinctes. En effet, cha-x xX que fonctionfcorrespond à une ligne de la matrice dans le cas précédent. x II.B - Communication avec aller-retour Nous considérons maintenant des communications générales où les deux parti-cipants peuvent interagir plusieurs fois entre eux. De plus, ils veulent mainte-nant calculertous les deuxvaleur de la fonction. Soient la X,Y etZ trois ensembles finis arbitraires etf:X×YZune fonction donnée. Étant donnés xX, détenu par Alice etyY, détenu par Bob, le but est de calculerf(x,y)en s’échangeant le minimum de bits. Un protocole (calculantf) est maintenant divisé en étapes. À chaque étape, le protocole désigne une personne, indifférem-ment Alice ou Bob. La personne désignée envoie alors un bit à l’autre personne. Ce bit ne dépend que des bits échangés précédemment et de l’entrée détenue par la personne désignée. Lorsque le protocole termine, alors les deux participants sont en mesure de calculerf(x,y)d’après les bits échangés et la valeur dex(res-pectivementy). Plus formellement : unprotocolePde domaineX×Yet à valeurs dansZZest un arbre binaire étiqueté comme suit. Chaque nœud interne est étiqueté soit « Alice » soit « Bob », chaque feuille est étiquetée par un élémentzZZ, et enfin les arêtes par des sous-ensembles deXou deYavec la contrainte suivante. Si un nœud interne est étiqueté « Alice » (respectivement « Bob ») alors ses arêtes gauche et droite sont respectivement étiquetées par des sous-ensembles dis-jointsEetEdeX(respectivement deY). g d Lavaleurdu protocolePsur l’entrée(x,y), avecxXetyY, est l’étiquette de la feuille atteinte en partant de la racine et en parcourant l’arbre suivant le chemin décrit ci-après. A chaque nœud interne étiqueté « Alice » (respective-ment « Bob ») le parcours suit le fils gauche sixE(respectivementyE) et g g
Concours Centrale-Supélec 2005
6/8
INFORMATIQUE
Filière MP
le fils droit dans l’autre cas,i.e.xE(respectivementyE). Pour indiquer d d le sens du parcours, Alice (respectivement Bob) envoie à Bob (respectivement Alice) le bit0pour le fils gauche et1pour le fils droit. Le protocole sera toujours supposé bien défini de sorte qu’à chaque nœud,xouyselon le cas, appartient à la réunionEE. g d P Lecoût sur l’entrée(x,y)d’un protocoleest la longueur totale du chemin sur l’entrée(x,y), soit donc la profondeur de la feuille atteinte. Lecoûtd’un protocole est le maximum de ses coûts sur toutes les entrées possi-P bles, soit encore la hauteur de l’arbre. Un protocole calculefsi sa valeur estf(x,y)sur chaque entrée(x,y). Lacomplexité de communicationdef, notéeD(f), est le minimum des coûts des protocoles calculantf. Note sur la rédaction.Dans cette partie, les protocoles seront souvent décrits sousforme compacteoù chaque série de bits émis consécutivement par le même participant est concentré sur la même ligne. 3 Exemple. SoientX={0,1},Y={1, 2,3} etZ={0,1}. Posons f((x,x,x),y)=x. Suivent un protocole pourfainsi que sa forme compacte. 1 2 3y
x= 0 1 0
Figure 1 : Protocole pourf
A
y=1
B
y=2,3
x= 1y=2 1 A 1 x= 0x= 1 2 2 0 1
B
x= 0 3
0
1. Siy= 1Bob envoie à Alice le bitb= 0sinon le bitb= 1. 2. Sib= 0alors Alice renvoiexà Bob 1  et le protocole termine et renvoief(x,y)=x. 1 3. Siy= 2Bob envoie à Alice le bitc= 0, sinon le bitc= 1. 4. Alice envoie le bitxà Bob. 2 +c 5. Le protocole termine et renvoief(x,y)=x. 2 +c
Figure 2 : Forme compacte du protocole pourf.
Concours Centrale-Supélec 2005
y=3
A
x= 1 3
1
7/8
INFORMATIQUE
II.B.1)Quelques exemplesa) Voici la forme compacte d’un protocole oùX=Y=Z={0,1,2,3}.
1. Alice calculea= 0six{0,1}, eta= 1sinon.  Alice envoieaà Bob. 2. Sia= 0ety{2,3}Bob renvoieb= 1.  Sia= 0ety{0,1}Bob renvoieb= 0.  Sia= 1ety{0,1}Bob renvoieb= 1.  Sia= 1ety{2,3}Bob renvoieb= 0. 3. Sib= 1le protocole termine et renvoief(x,y)= 1 a.  Sinon Alice renvoiec=x– 2a. 4. Bob renvoied= 1sic<y– 2a, etd= 0sinon. 5. Le protocole termine et renvoief(x,y)=d.
Filière MP
Représenter l’arbre binaire associé à ce protocole, préciser la fonctionfcal-culée par le protocole, et donner le coût du protocole. n b)X={0,1},Y={1, …,n},Z={0,1} etf(x,y)=x oùx représente le y y y-ième bit dex. Montrer l’inégalité :D(f)logn+ 1. 2 n n c)X={1, …,n} ×{0,1},Y={1, …,n},Z={0,1} etf((x,u),y)=u avec i i=y,x-ième bit dey. Montrer l’inégalité :D(f)2 logn+ 1. x2 II.B.2)Comparaison avec la communication à sens uniqueLe but des questions suivantes est de montrer l’inégalité suivante et son optimalité : 1 1 logD(f)+ 1D(f)D(f)+ log Im(f). 2 2 1 a) Montrer l’inégalité :D(f)D(f)+ log Im(f). 2 b) Montrer l’inégalité :D(f)log Im(f), et construire une fonction 2 n n n1 f:{0,1}×{0,1}{0,1}satisfaisantD(f)=D(f)+ log Im(f). 0 0 0 0 2 1D(f)1 c) Montrer l’inégalité :D(f)2 – 1et en déduire quelogD(f)+ 1D(f). 2 d) Montrer que la fonction de la question II.B.1-b) satisfait (pournbien choisi 1 mais arbitrairement grand) l’égalité :logD(f)=+ 1 D(f). 2
Concours Centrale-Supélec 2005
••• FIN •••
8/8
  • Univers Univers
  • Ebooks Ebooks
  • Livres audio Livres audio
  • Presse Presse
  • Podcasts Podcasts
  • BD BD
  • Documents Documents