Cartographie d arbres

Documents pareils
Travaux pratiques. Compression en codage de Huffman Organisation d un projet de programmation

Programmation linéaire

Feuille TD n 1 Exercices d algorithmique éléments de correction

Les structures de données. Rajae El Ouazzani

Plus courts chemins, programmation dynamique

La NP-complétude. Johanne Cohen. PRISM/CNRS, Versailles, France.

Représentation des Nombres

Souad EL Bernoussi. Groupe d Analyse Numérique et Optimisation Rabat http ://

chapitre 4 Nombres de Catalan

Exo7. Limites de fonctions. 1 Théorie. 2 Calculs

M06/5/COMSC/SP1/FRE/TZ0/XX INFORMATIQUE NIVEAU MOYEN ÉPREUVE 1. Mardi 2 mai 2006 (après-midi) 1 heure 30 minutes INSTRUCTIONS DESTINÉES AUX CANDIDATS

Triangle de Pascal dans Z/pZ avec p premier

Arithmétique binaire. Chapitre. 5.1 Notions Bit Mot

Définition 0,752 = 0,7 + 0,05 + 0,002 SYSTÈMES DE NUMÉRATION POSITIONNELS =

BACCALAURÉAT PROFESSIONNEL EPREUVE DE TRAVAUX PRATIQUES DE SCIENCES PHYSIQUES SUJET A.1

Probabilités sur un univers fini

La programmation linéaire : une introduction. Qu est-ce qu un programme linéaire? Terminologie. Écriture mathématique

Exercices types Algorithmique et simulation numérique Oral Mathématiques et algorithmique Banque PT

Les arbres binaires de recherche

Calcul matriciel. Définition 1 Une matrice de format (m,n) est un tableau rectangulaire de mn éléments, rangés en m lignes et n colonnes.

ALGORITHMIQUE II NOTION DE COMPLEXITE. SMI AlgoII

Image d un intervalle par une fonction continue

Excel Avancé. Plan. Outils de résolution. Interactivité dans les feuilles. Outils de simulation. La valeur cible Le solveur

Concours National d Informatique. Sujet de demi-finale Montpellier et Toulouse

Démonstration d utilisation De NesmaCom

Programmation linéaire

Probabilités sur un univers fini

ÉPREUVE COMMUNE DE TIPE Partie D

ELEC2753 Electrotechnique examen du 11/06/2012

CH.6 Propriétés des langages non contextuels

Travaux dirigés d introduction aux Probabilités

Séminaire TEST. 1 Présentation du sujet. October 18th, 2013

Recherche dans un tableau

Chapitre 1 I:\ Soyez courageux!

INF601 : Algorithme et Structure de données

Chapitre 10 Arithmétique réelle

I- Définitions des signaux.

ARBRES BINAIRES DE RECHERCHE

Introduction à la théorie des graphes. Solutions des exercices

1 de 46. Algorithmique. Trouver et Trier. Florent Hivert. Mél : Florent.Hivert@lri.fr Page personnelle : hivert

Plan du cours Cours théoriques. 29 septembre 2014

BACCALAURÉAT GÉNÉRAL SÉRIE SCIENTIFIQUE

1 Recherche en table par balayage

C f tracée ci- contre est la représentation graphique d une

Baccalauréat ES/L Amérique du Sud 21 novembre 2013

Définitions. Numéro à préciser. (Durée : )

Chap 4: Analyse syntaxique. Prof. M.D. RAHMANI Compilation SMI- S5 2013/14 1

Probabilités conditionnelles Exercices corrigés

Quelques Algorithmes simples

Continuité et dérivabilité d une fonction

Baccalauréat ES Antilles Guyane 12 septembre 2014 Corrigé

Méthodes de quadrature. Polytech Paris-UPMC. - p. 1/48

Logiciel de Base. I. Représentation des nombres

CARTE DE VOEUX À L ASSOCIAEDRE

BAREME sur 40 points. Informatique - session 2 - Master de psychologie 2006/2007

Les indices à surplus constant

Algorithmique et Programmation

Limites finies en un point

Relais statiques SOLITRON MIDI, Commutation analogique, Multi Fonctions RJ1P

Nouvelles propositions pour la résolution exacte du sac à dos multi-objectif unidimensionnel en variables binaires

LES TYPES DE DONNÉES DU LANGAGE PASCAL

Théorie et Codage de l Information (IF01) exercices Paul Honeine Université de technologie de Troyes France

TSTI 2D CH X : Exemples de lois à densité 1

Master IMEA 1 Calcul Stochastique et Finance Feuille de T.D. n o 1

Extrait des Exploitations Pédagogiques

Optimisation for Cloud Computing and Big Data

Groupe symétrique. Chapitre II. 1 Définitions et généralités

CHAPITRE VIII : Les circuits avec résistances ohmiques

Introduction à l étude des Corps Finis

Encryptions, compression et partitionnement des données

Nouveau. TRIMAXX, le raccourcisseur qui en fait un MAXX.

28/06/2013, : MPKIG034,

Communications collectives et ordonnancement en régime permanent pour plates-formes hétérogènes

Guide de configuration d'une classe

L ANALYSE EN COMPOSANTES PRINCIPALES (A.C.P.) Pierre-Louis GONZALEZ

L exclusion mutuelle distribuée

DIPLÔME APPROFONDI DE LANGUE FRANÇAISE

Précision d un résultat et calculs d incertitudes

Exemples de problèmes et d applications. INF6953 Exemples de problèmes 1

Réaliser la fiche de lecture du document distribué en suivant les différentes étapes de la méthodologie (consulter le support du TD!

Corrigé des TD 1 à 5

Débuter avec EXPRESS. Alain Plantec. 1 Schema 2

1 Année LMD-STSM Algorithmique et Programmation. Série de TD 2

OPTIMISATION À UNE VARIABLE

SINE QUA NON. Découverte et Prise en main du logiciel Utilisation de bases

Chapitre 3. Les distributions à deux variables

Chaînes de Markov au lycée

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

Optimisation, traitement d image et éclipse de Soleil

UNIVERSITE DE TOULON UFR FACULTE DE DROIT REGLEMENT D EXAMEN ANNEE 2012/2017 LICENCE DROIT MENTION DROIT GENERAL

de calibration Master 2: Calibration de modèles: présentation et simulation d

Une nouvelle approche de détection de communautés dans les réseaux sociaux

Bases de programmation. Cours 5. Structurer les données

Grandes lignes ASTRÉE. Logiciels critiques. Outils de certification classiques. Inspection manuelle. Definition. Test

IN Cours 1. 1 Informatique, calculateurs. 2 Un premier programme en C

Introduction à MATLAB R

6 - Le système de gestion de fichiers F. Boyer, UJF-Laboratoire Lig, Fabienne.Boyer@imag.fr

Objectifs. Clustering. Principe. Applications. Applications. Cartes de crédits. Remarques. Biologie, Génomique

G.P. DNS02 Septembre Réfraction...1 I.Préliminaires...1 II.Première partie...1 III.Deuxième partie...3. Réfraction

RELAIS STATIQUE. Tension commutée

Transcription:

Cartographie d arbres Épreuve pratique d algorithmique et de programmation Concours commun des écoles normales supérieures Durée de l épreuve: 3 heures 30 minutes Juin 2012 ATTENTION! N oubliez en aucun cas de recopier votre u 0 à l emplacement prévu sur votre fiche réponse Important. Sur votre table est indiqué un numéro u 0 qui servira d entrée à vos programmes. Les réponses attendues sont généralement courtes et doivent être données sur la fiche réponse fournie à la fin du sujet. À la fin du sujet, vous trouverez en fait deux fiches réponses. La première est un exemple des réponses attendues pour un u 0 particulier (précisé sur cette même fiche et que nous notons avec un tilde pour éviter toute confusion!). Cette fiche est destinée à vous aider à vérifier le résultat de vos programmes en les testant avec u 0 au lieu de u 0. Vous indiquerez vos réponses (correspondant à votre u 0 ) sur la seconde et vous la remettrez à l examinateur à la fin de l épreuve. En ce qui concerne la partie orale de l examen, lorsque la description d un algorithme est demandée, vous devez présenter son fonctionnement de façon schématique, courte et précise. Vous ne devez en aucun cas recopier le code de vos procédures! Quand on demande la complexité en temps ou en mémoire d un algorithme en fonction d un paramètre n, on demande l ordre de grandeur en fonction du paramètre, par exemple: O(n 2 ), O(n log n),... Il est recommandé de commencer par lancer vos programmes sur de petites valeurs des paramètres et de tester vos programmes sur des petits exemples que vous aurez résolus préalablement à la main ou bien à l aide de la fiche réponse type fournie en annexe. Enfin, il est recommandé de lire l intégralité du sujet avant de commencer afin d effectuer les bons choix de structures de données dès le début.

1 Introduction Dans ce sujet, on va chercher des moyens de se déplacer sur des arbres binaires, et d optimiser leur stockage sur des supports de taille limitée. On considère la suite d entiers (u k ) définie pour k 0 par : u k = votre u0 (à reporter sur votre fiche) si k =0 15 091 u k 1 mod 64 007 si k 1 Question 1 Que valent : u 10 u 100 u 1000 On définit l arbre binaire A n de la façon suivante : A 0 est l arbre réduit à un seul nœud, appelé feuille. Pour n>0, A n est un nœud muni de deux sous-arbres : son fils gauche est l arbre A u2n mod n, son fils droit est l arbre A u2n+1 mod n. On appelle père d un nœud n i dans l arbre le nœud n j tel que n i est un fils de n j,et racine de l arbre le seul nœud qui ne possède pas de père. Question 2 Donnez le nombre de nœuds et de feuilles des arbres suivants : A 10 A 100 A 1000 2 Schéma d adressage des arbres On veut pouvoir trouver son chemin facilement dans les arbres, c est-à-dire savoir se déplacer d un nœud n i vers un nœud n j. Pour cela, on munit les nœuds d une adresse qui permet de savoir facilement comment rejoindre un nœud, ou que l on soit dans l arbre. L adresse d un nœud n i est un couple d entiers (l i,m i ) tels que : l i est le numéro de n i dans un parcours en profondeur préfixe, en supposant que la racine porte le numéro 0. m i est la plus grande valeur de l j pour les nœuds n j du sous-arbre enraciné en n i. Dans la suite du sujet, on repérera un nœud n i de l arbre par son indice l i. Question 3 Pour les arbres et les valeurs de l i suivantes, on donnera les valeurs de m i telles que (l i,m i ) est l adresse d un nœud n i de l arbre : A 10, l i =3 A 100, l i =9 A 1000, l i =30. Question à développer pendant l oral : Expliquez comment trouver son chemin d un nœud n i à un nœud n j dans l arbre grâce à ces adresses. Question 4 Donnez la distance parcourue en nombre de nœuds traversés lorsqu on se déplace sur les arbres suivants du nœud n i au nœud n j donnés par leurs valeurs l i et l j (si n i = n j, on considèrera que cette distance vaut zéro) : A 10, l i =3et l j =9 A 100, l i =5et l j =30 A 1000, l i =30et l j =90 1/3

3 Cartographie d arbres On veut créer une représentation cartographique de l arbre sur lequel on se déplace. La taille d une carte est limitée, il faut donc plusieurs cartes pour couvrir tout l arbre. On suppose qu une carte peut contenir jusqu à p nœuds de l arbre. Lorsqu on traverse cet arbre, de la racine jusqu à une feuille, on a besoin d emporter toutes les cartes nécessaires, de telle sorte que le chemin de la racine jusqu à la feuille soit couvert. On appelle cartographie de taille k une partition des nœuds de l arbre en k sous-ensembles disjoints contenant chacun au plus p nœuds. On appelle coût d un nœud pour une cartographie donnée le nombre des cartes qui couvrent le chemin depuis la racine de l arbre jusqu à ce nœud. On note c(n i ) le coût d un nœud n i. On va surtout s intéresser ici au coût des feuilles de l abre. On note F A l ensemble des feuilles de l arbre A. Pour une cartographie donnée, on considère le coût moyen C moy (A) des feuilles de l arbre, ainsi que le coût maximum C max (A) des feuilles de l arbre : C max (A) =maxc(a), C moy (A) = 1 c(a). f F A F A f F A Question 5 On propose une méthode de cartographie simple : pour k =0..n/p, la carte k contient les nœuds d indice l j avec p k l j <p (k +1). Pour les arbres et les valeurs de p suivantes, donnez le coût moyen des feuilles C moy et le coût maximum des feuilles C max : A 10, p =3 A 100, p =6 A 1000, p =9 Question à développer pendant l oral : Quelle est la complexité de votre algorithme? 3.1 Minimisation du coût maximum Pour un arbre A donné, on cherche maintenant à obtenir une cartographie telle que le coût maximum des feuilles C max (A) est minimal. Dans une telle cartographie, on note p(a) la taille minimale d une carte contenant la racine de A. Question à développer pendant l oral : Donnez une expression de C max (A) etp(a) en fonction de C max (A g ), C max (A d ), p(a g )etp(a d )oùa g et A d sont les sous-arbres gauche et droite de l arbre. Question 6 Pour les arbres et valeurs de p suivants, donnez le coût maximum des feuilles C max (A) ainsi que la taille minimale de la carte contenant la racine dans une cartographie minimisant C max (A) : A 10, p =3 A 100, p =6 A 1000, p =9 Question à développer pendant l oral : Comment limiter le nombre de cartes tout en gardant une cartographie qui minimise le coût maximum des feuilles? On pourra donner une borne par rapport au nombre minimal de cartes possible. 2/3

3.2 Minimisation du coût moyen On cherche ici à minimiser le coût moyen C moy (A) des feuilles de A dans une cartographie. On suppose ici que dans une cartographie, les cartes sont des parties convexes de l arbre. Ainsi, si deux nœuds n i et n j sont dans une même carte, tous les nœuds sur le chemin de n i à n j sont aussi dans cette carte. Question à développer pendant l oral : Montrez qu il existe une cartographie minimisant le coût moyen des feuilles telle que la carte contenant la racine possède exactement p nœuds dès que l arbre contient plus de p nœuds. Soit C(i, k) la valeur minimale de la somme des coûts des feuilles du sous-arbre enraciné en n i lorsque la carte contenant n i possède au plus k nœuds. Donnez une expression de C(i, k) en fonction des C(j, k ) pour les fils n j de n i,etk =1,...,p. On pourra noter f(n i ) le nombre de feuilles du sous-arbre enraciné en n i Question 7 Quel est le coût moyen des feuilles C moy (A) minimal pour les arbres et valeurs de p suivants? A 10, p =3 A 100, p =6 A 1000, p =9 Question à développer pendant l oral : Donnez la complexité en temps et en espace de votre algorithme. Peut-on les améliorer? 4 Minimisation du coût maximum et du coût moyen On cherche désormais à optimiser à la fois le coût maximum des feuilles et leur coût moyen. Question à développer pendant l oral : Expliquez comment calculer, pour un arbre et une valeur de p donnés, le plus petit coût moyen des feuilles dans une cartographie quand on impose que le coût maximum des feuilles est inférieur ou égal à une valeur V donnée. Quelle est la complexité en temps et en espace de votre algorithme? Pour un arbre A est une valeur de p donnés, on note C 1 (A, p) le plus petit coût moyen des feuilles dans une cartographie, et C 2 (A, p) le plus petit coût moyen des feuilles dans une cartographie où le coût maximum des feuilles est minimal. Question 8 Pour les arbres suivants, donnez la plus petite valeur de p 3 telle que C 1 (A, p) = C 2 (A, p), ainsi que les valeurs de C 1 (A, p) et C 2 (A, p) correspondantes. A 500 A 1000 A 3000 3/3

u 0 :7 Fiche réponse type: Cartographie d arbres Question 1 13238 61807 28695 Question 2 21, 11 107, 54 2459, 1230 Question 3 5 11 40 Question 4 3 4 8 Question 5 2.727, 4 3.963, 6 7.293, 15 Question 6 3, 1 3, 6 5, 3 Question 7 2.545 2.815 3.853 Question 8 8, 3.511, 3.517 24, 2.819, 2.820 22, 2.895, 2.897 I/II

Fiche réponse: Cartographie d arbres Nom, prénom, u 0 :... Question 1 Question 2 Question 3 Question 4 Question 5 Question 6 Question 7 Question 8 I/II