Cours 2. Partie 1: Introduction à l algorithmique Graphes. Arbres.

Documents pareils
Objectifs du cours d aujourd hui. Informatique II : Cours d introduction à l informatique et à la programmation objet. Complexité d un problème (2)

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

Les structures de données. Rajae El Ouazzani

Limites finies en un point

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

Eléments de Théorie des Graphes et Programmation Linéaire

ARBRES BINAIRES DE RECHERCHE

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

MIS 102 Initiation à l Informatique

Université Paris-Dauphine DUMI2E 1ère année, Applications

Baccalauréat ES Polynésie (spécialité) 10 septembre 2014 Corrigé

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

Les arbres binaires de recherche

Chp. 4. Minimisation d une fonction d une variable

Continuité et dérivabilité d une fonction

Parallélisme et Répartition

Chapitre 2 Le problème de l unicité des solutions

Fondements de l informatique Logique, modèles, et calculs

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.

Prénom : Matricule : Sigle et titre du cours Groupe Trimestre INF1101 Algorithmes et structures de données Tous H2004. Loc Jeudi 29/4/2004

Programmation Par Contraintes

Programmation linéaire

chapitre 4 Nombres de Catalan

Chapitre 7. Récurrences

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

Les indices à surplus constant

Chapitre 6. Fonction réelle d une variable réelle

Introduction à l étude des Corps Finis

I Stabilité, Commandabilité et Observabilité Introduction Un exemple emprunté à la robotique Le plan Problème...

Eteindre. les. lumières MATH EN JEAN Mme BACHOC. Elèves de seconde, première et terminale scientifiques :

Quelques Algorithmes simples

Théorie des Graphes Cours 3: Forêts et Arbres II / Modélisation

Capacité d un canal Second Théorème de Shannon. Théorie de l information 1/34

Logique. Plan du chapitre

Probabilités. I Petits rappels sur le vocabulaire des ensembles 2 I.1 Définitions... 2 I.2 Propriétés... 2

* très facile ** facile *** difficulté moyenne **** difficile ***** très difficile I : Incontournable T : pour travailler et mémoriser le cours

Faculté des sciences Département de mathématiques. Théorie des graphes

LES OUTILS D ALIMENTATION DU REFERENTIEL DE DB-MAIN

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

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

Cours de Master Recherche

1 Définition et premières propriétés des congruences

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

Baccalauréat ES Antilles Guyane 12 septembre 2014 Corrigé

Représentation d un entier en base b

LE PROBLEME DU PLUS COURT CHEMIN

L exclusion mutuelle distribuée

Le théorème de Perron-Frobenius, les chaines de Markov et un célèbre moteur de recherche

Quelques tests de primalité

Fonctions de deux variables. Mai 2011

Le nombre d or et Fibonacci

Exercices - Polynômes : corrigé. Opérations sur les polynômes

De même, le périmètre P d un cercle de rayon 1 vaut P = 2π (par définition de π). Mais, on peut démontrer (difficilement!) que

1 Description générale de VISFIELD

Chapitre 3. Quelques fonctions usuelles. 1 Fonctions logarithme et exponentielle. 1.1 La fonction logarithme

Introduction à la théorie des graphes

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

Algorithmes de recherche

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

n N = u N u N+1 1 u pour u 1. f ( uv 1) v N+1 v N v t

Image d un intervalle par une fonction continue

Equations cartésiennes d une droite

Contexte. Pour cela, elles doivent être très compliquées, c est-à-dire elles doivent être très différentes des fonctions simples,

Chapitre 10 Arithmétique réelle

Logiciel de Base. I. Représentation des nombres

Sub CalculAnnuite() Const TITRE As String = "Calcul d'annuité de remboursement d'un emprunt"

6. Les différents types de démonstrations

Probabilités sur un univers fini

Nombres premiers. Comment reconnaître un nombre premier? Mais...

Introduction a l'algorithmique des objets partages. Robert Cori. Antoine Petit. Lifac, ENS Cachan, Cachan Cedex. Resume

Cours d introduction à l informatique. Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions

t 100. = 8 ; le pourcentage de réduction est : 8 % 1 t Le pourcentage d'évolution (appelé aussi taux d'évolution) est le nombre :

Plus courts chemins, programmation dynamique

Algorithmes d'apprentissage

Cours Optimisation Partie Optimisation Combinatoire. Année scolaire Gérard Verfaillie ONERA/DCSD/CD, Toulouse

Université de La Rochelle. Réseaux TD n 6

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

Le produit semi-direct

La mesure de Lebesgue sur la droite réelle

Soit la fonction affine qui, pour représentant le nombre de mois écoulés, renvoie la somme économisée.

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

Couples de variables aléatoires discrètes

Fonctions de plusieurs variables

Développements limités. Notion de développement limité

Introduction à la Programmation par Contraintes (PPC) Ruslan Sadykov LIX, École Polytechnique

Factorisation Factoriser en utilisant un facteur commun Fiche méthode

TS 35 Numériser. Activité introductive - Exercice et démarche expérimentale en fin d activité Notions et contenus du programme de Terminale S

Théorie des graphes et optimisation dans les graphes

Raisonnement par récurrence Suites numériques

Manuel d utilisation 26 juin Tâche à effectuer : écrire un algorithme 2

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

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

La médiatrice d un segment

Informatique Théorique : Théorie des Langages, Analyse Lexicale, Analyse Syntaxique Jean-Pierre Jouannaud Professeur

Algorithmes récursifs

UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux.

Conception de réseaux de télécommunications : optimisation et expérimentations

Raisonnement probabiliste

Programmation par contraintes. Laurent Beaudou

I. Polynômes de Tchebychev

Transcription:

Cours. Partie : Introduction à l algorithmique Graphes. Arbres. Olivier Bournez bournez@lix.polytechnique.fr LIX, Ecole Polytechnique 0- Algorithmique

Aujourd hui Les graphes Les arbres Les arbres binaires Arbres binaires: hauteurs vs nombre de sommets Arbres AVL

Un graphe orienté Un graphe orienté (digraph) est donné par un couple G = (V, E), où V est un ensemble. E V V. Exemple: V = {0,,..., 6}. E = {(0, ), (, 4), (5, ), (6, ), (6, 4), (6, 6)}. 5 0 4 6

4 Vocabulaire 5 0 4 6 Les éléments de V sont appelés des sommets (parfois aussi des nœuds). Les éléments e de E sont appelés des arcs. Si e = (u, v), u est appelé la source de e, v est appelé la destination de e. Remarque: Les boucles (les arcs (u, u)) sont autorisées.

5 Un graphe Un graphe est donné par un couple G = (V, E), où V est un ensemble. E est un ensemble de paires {u, v} avec u, v V. On convient de représenter une paire {u, v} par (u, v) ou (v, u). Autrement dit, (u, v) et (v, u) dénotent la même arête. Exemple: V = {0,,..., 6} E = {(0, ), (, 4), (5, ), (6, ), (6, 4)}. 5 0 4 6 Lorsqu on ne précise pas, par défaut, un graphe est non-orienté.

6 Vocabulaire 5 0 4 6 Les éléments e de E sont appelés des arêtes. Si e = (u, v), u et v sont appelés les extrémités de e. Remarque: (sauf autre convention explicite) Les boucles ne sont pas autorisées.

7 Vocabulaire (cas non-orienté) 5 0 4 6 u et v sont dits voisins s il y a une arête entre u et v. Le degré de u est le nombre de voisins de u.

Vocabulaire (cas non-orienté) 5 0 4 6 Un chemin du sommet s vers le sommet t est une suite e 0, e,, e n de sommets telle que e 0 = s, e n = t, (e i, e i ) E, pour tout i n. n est appelé la longueur du chemin, et on dit que t est joignable à partir de s. Le chemin est dit simple si les ei sont distincts deux-à-deux. Un cycle est un chemin de longueur non-nulle avec e 0 = e n. Le sommet s est dit à distance n de t s il existe un chemin de longueur n entre s et t, mais aucun chemin de longueur inférieure.

Composantes connexes (cas non-orienté) Prop. La relation être joignable est une relation d équivalence. Les classes d équivalence sont appelées les composantes connexes. 5 0 Un graphe est dit connexe s il n y a qu une seule classe d équivalence. Autrement dit, tout sommet est joignable à partir de tout sommet. 4 6

0 Les graphes sont partout! Beaucoup de problèmes se modélisent par des objets et des relations entre objets. Exemples: Le graphe routier. Les réseaux informatiques. Le graphe du web. Beaucoup de problèmes se ramènent à des problèmes sur les graphes. Théorie des graphes: Euler, Hamilton, Kirchhoff, König, Edmonds, Berge, Lovász, Seymour,... Les graphes sont omniprésents en informatique.

Théorie des graphes. Exemple : graphes planaires. Un graphe est dit planaire s il peut se représenter sur un plan sans qu aucune arête n en croise une autre. Planaire: Non-planaire: K 5 K, Théorème [Kuratowski-Wagner] Un graphe fini est planaire ssi il ne contient pas de sous-graphe qui soit une expansion de K 5 ou de K,. Une expansion consiste à ajouter un ou plusieurs sommets sur une ou plusieurs arêtes (exemple: devient )

Théorie des graphes. Exemple : graphes planaires. Un graphe est dit planaire s il peut se représenter sur un plan sans qu aucune arête n en croise une autre. Planaire: Non-planaire: K 5 K, Théorème [Kuratowski-Wagner] Un graphe fini est planaire ssi il ne contient pas de sous-graphe qui soit une expansion de K 5 ou de K,. Une expansion consiste à ajouter un ou plusieurs sommets sur une ou plusieurs arêtes (exemple: devient )

Théorie des graphes. Exemple : Coloriage de graphe. Allouer des fréquences GSM correspond à colorier les sommets d un graphe. sommets: des émetteurs radio. arête entre u et v: le signal de u perturbe v ou réciproquement. couleur: fréquence radio. Le problème de coloriage d un graphe: colorier les sommets d un graphe de telle sorte qu il n y ait aucune arête entre deux sommets d une même couleur. Un coloriage avec 4 couleurs

Théorie des graphes. Exemple : Coloriage de graphe. Théorème: Appel et Haken (76): tout graphe planaire est coloriable avec 4 couleurs (preuve avec 478 cas critiques). Robertson, Sanders, Seymour, Thomas, Gonthier, Werner. On ne connaît aucun algorithme pour déterminer si un graphe général est coloriable avec 4 couleurs (même avec ) qui fonctionne en temps polynomial (le problème est NP-complet).

Applications des graphes. Exemple : évaluer une page de la toile Brevet Method for Node Ranking in a Linked Database (Université Stanford, Janvier 997). En simplifiant. On considère le graphe des liens entre pages. Modèle théorique: Avec probabilité 0 < c <, un surfeur abandonne la page actuelle et recommence sur une des n pages du web, choisie de manière équiprobable. Avec probabilité c, le surfeur suit un des liens de la page actuelle j, choisie de manière équiprobable parmi tous les liens l j émis. Quelle que soit la distribution initiale, on convergera vers une unique distribution stationnaire. On évalue une page par la probabilité de cette page dans la distribution stationnaire.

5 Aujourd hui Les graphes Les arbres Les arbres binaires Arbres binaires: hauteurs vs nombre de sommets Arbres AVL

6 Les arbres Un graphe connexe sans cycle est appelé un arbre (libre). Un graphe sans-cycle est appelé une forêt: chacune de ses composantes connexes est un arbre. 5 0 4 6 non-orienté.

6 Les arbres sont partout! Un graphe connexe sans cycle est appelé un arbre (libre). Un graphe sans-cycle est appelé une forêt: chacune de ses composantes connexes est un arbre. Dès qu on a des objets, des relations entre objets, et pas de cycle, on a donc un arbre ou une forêt. 5 0 4 6 non-orienté.

6 Les arbres sont partout! Un graphe connexe sans cycle est appelé un arbre (libre). Un graphe sans-cycle est appelé une forêt: chacune de ses composantes connexes est un arbre. Dès qu on a des objets, des relations entre objets, et pas de cycle, on a donc un arbre ou une forêt. 5 0 4 6 Les arbres sont omniprésents en informatique. non-orienté.

7 Une caractérisation & Quelques propriétés Soit G = (V, E) un graphe. Les propriétés suivantes sont équivalentes: G est un arbre (libre). Deux sommets quelconques de V sont connectés par un unique chemin simple. G est connexe, mais ne l est plus si on enlève n importe laquelle de ses arêtes. G est connexe, et E = V. G est sans cycle, et E = V. G est sans cycle, mais ne l est plus si l on ajoute n importe quelle arête. 5 0 4 6 non-orienté.

8 Les arbres poussent de haut en bas en informatique On distingue souvent un sommet que l on appelle sa racine. On dessine un arbre en plaçant la racine tout en haut. puis en plaçant les sommets à distance i de la racine à la ligne i. Exemple: pour l arbre libre précédent, en prenant le sommet d étiquette comme racine. 4 6 5 0

Encore du vocabulaire 4 6 5 0 Pour tout sommet u, il existe un unique chemin (simple) entre la racine r et u.

9 Encore du vocabulaire 4 6 5 0 Pour tout sommet u, il existe un unique chemin (simple) entre la racine r et u. Exemple: pour le sommet 0, le chemin est,, 0.

9 Encore du vocabulaire 4 6 5 0 Tout sommet a sur ce chemin est appelé un ancêtre de u. u est dit un descendant de a.

9 Encore du vocabulaire 4 6 5 0 Tout sommet a sur ce chemin est appelé un ancêtre de u. u est dit un descendant de a. Exemple:, sont des ancêtres de 0. 5,0 sont des descendants de.

9 Encore du vocabulaire 4 6 5 0 L avant dernier sommet p sur ce chemin est appelé le père de u. u est appelé un fils de p.

9 Encore du vocabulaire 4 6 5 0 L avant dernier sommet p sur ce chemin est appelé le père de u. u est appelé un fils de p. Exemple: Le père de 0 est. Le père de 4 est.

9 Encore du vocabulaire 4 6 5 0 Le sous-arbre de racine u est l arbre induit par les descendants de u.

9 Encore du vocabulaire 4 6 5 0 Le sous-arbre de racine u est l arbre induit par les descendants de u. Exemple: Le sous-arbre de racine est constitué du sous-graphe, 5, 0. Le sous-arbre de racine 6 est le sous-graphe 6,.

9 Encore du vocabulaire 4 6 5 0 L arité d un sommet est le nombre de ses fils.

9 Encore du vocabulaire 4 6 5 0 L arité d un sommet est le nombre de ses fils. Exemple: est d arité. 4 est d arité 0. 6 est d arité.

9 Encore du vocabulaire 4 6 5 0 Un sommet qui n a pas de fils est appelé une feuille.

9 Encore du vocabulaire 4 6 5 0 Un sommet qui n a pas de fils est appelé une feuille. Exemple: Les feuilles de l arbre sont 5,0,4, et.

9 Encore du vocabulaire 4 6 5 0 La hauteur d un sommet est sa distance à la racine r.

9 Encore du vocabulaire 4 6 5 0 La hauteur d un sommet est sa distance à la racine r. Exemple: est à hauteur 0.,4, et 6 sont à hauteur. Les autres sommets sont à hauteur.

9 Encore du vocabulaire 4 6 5 0 La hauteur d un arbre est la hauteur de la feuille la plus haute.

9 Encore du vocabulaire 4 6 5 0 La hauteur d un arbre est la hauteur de la feuille la plus haute. Exemple: L arbre est de hauteur. Le sous-arbre de racine 6 est de hauteur.

0 Une vision récursive: cas général Un arbre correspond à un couple formé. d un sommet particulier, appelé sa racine,. et d une partition des sommets restants en un ensemble d arbres. Cette vision permet de faire des preuves inductives. Exemple: montrer qu un arbre dont tous les sommets sont d arité au moins possède plus de feuilles que de sommets internes. Mais reste informatiquement encore un peu compliquée.

Aujourd hui Les graphes Les arbres Les arbres binaires Arbres binaires: hauteurs vs nombre de sommets Arbres AVL

Une vision récursive: arbres binaires Plus simple: Les arbres binaires. 4 5 0 Un arbre binaire est soit vide soit l union disjointe d un sommet, appelé sa racine, d un arbre binaire, appelé sous-arbre gauche, et d un arbre binaire, appelé sous-arbre droit. Autrement dit, un arbre binaire d entiers est solution de l équation: A = null (A int A)

Attention: Arbre binaire Arbre d arité. Un arbre binaire a tous ses sommets d arité 0, ou. Mais les concept d arbre de degré et d arbre binaire sont différents. En fait, et ne sont pas les même arbres binaires, car (((,, ),, ),, ) (,, ((,, ),, ))

4 Aujourd hui Les graphes Les arbres Les arbres binaires Arbres binaires: hauteurs vs nombre de sommets Arbres AVL

5 Bornes sur la hauteur et nombre de sommets Dans un arbre binaire de hauteur h contenant n sommets, on a log n h n. Si on préfère: h + n h+. Arbres avec h maximal. Arbres avec n maximal.

6 Remarques d informaticien Une façon de comprendre log n: log n : la hauteur minimale d un arbre binaire à n sommets. le nombre de questions qu il faut poser pour déterminer i n. l entropie d une loi uniforme sur,,..., n. Une façon de comprendre k : k : à près, le nombre de sommets d un arbre complet de hauteur k +.

7 Arbres avec h de l ordre de log n Un arbre (très bien) équilibré: h = log n. Un arbre à peu près équilibré: h log n.

8 Arbres avec h de l ordre de n Un arbre très mal équilibré: h = n. Un autre arbre très mal équilibré: h = n.

9 Aujourd hui Les graphes Les arbres Les arbres binaires Arbres binaires: hauteurs vs nombre de sommets Arbres AVL

0 Principe des arbres AVL Un arbre AVL (Adelson-Velskii et Landis) est. un arbre binaire (de recherche 4 ). tel qu en tout sommet, la hauteur du fils droit et du fils gauche diffèrent au plus d un. Intérêt majeur: Cette propriété garantie que la hauteur d un arbre AVL est en O(log n). 4 voir cours suivants

Pourquoi? Plus précisément, cela découle de log ( + n) + h.44 log ( + n).

Pourquoi? Plus précisément, cela découle de log ( + n) + h.44 log ( + n). La borne log ( + n) + h est vraie pour tout arbre binaire (cf ce qui précède): un arbre binaire de hauteur h a au plus h+ sommets.

Pourquoi? Plus précisément, cela découle de log ( + n) + h.44 log ( + n). La borne log ( + n) + h est vraie pour tout arbre binaire (cf ce qui précède): un arbre binaire de hauteur h a au plus h+ sommets. Pour l autre borne, on considère le nombre minimal N(h) de sommets dans un arbre AVL de hauteur h. Hauteur 0: N(0) =. Hauteur : N() =. Hauteur h, h : une racine + un sous-arbre de hauteur h + un sous-arbre de hauteur h. N(h) = + N(h ) + N(h ).

Posons F (h) = + N(h), On a F (0) =, F () =, et F (h) = F (h ) + F (h ), pour h. C est la suite de Fibonacci décalée. On peut alors écrire: F (h) = 5 (Φ h+ Φ (h+) ), où φ = + 5 est le nombre d or. On a donc + n F (h) > 5 (Φ h+ ) ce qui donne h + < log Φ ( 5( + n)) < log ( + n) log (Φ) +. On observe que log (Φ)).44.