Chapitre 2 Arbres et Arborescences

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

Chapitre 5 : Flot maximal dans un graphe

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

chapitre 4 Nombres de Catalan

Résolution d équations non linéaires

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

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.

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

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

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

LE PROBLEME DU PLUS COURT CHEMIN

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

LES OUTILS D ALIMENTATION DU REFERENTIEL DE DB-MAIN

Programmation linéaire

Algorithmes de recherche

Cours d Analyse. Fonctions de plusieurs variables

Baccalauréat ES Pondichéry 7 avril 2014 Corrigé

BACCALAUREAT GENERAL MATHÉMATIQUES

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

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

Par : Abdel YEZZA, Ph.D. Date : avril 2011 / mise à jour oct (ajout de la section 3 et augmentation de la section 1)

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

Structures algébriques

CORRECTION EXERCICES ALGORITHME 1

Cours 02 : Problème général de la programmation linéaire

A. Définition et formalisme

Vision industrielle et télédétection - Détection d ellipses. Guillaume Martinez 17 décembre 2007

Quelques Algorithmes simples

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 radian. De même, la longueur d un arc de cercle de rayon R et dont l angle au centre a pour mesure α radians est α R. R AB =R.

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

Raisonnement probabiliste

Programmation Linéaire - Cours 1

FONCTIONS DE PLUSIEURS VARIABLES (Outils Mathématiques 4)

2.4 Représentation graphique, tableau de Karnaugh

TD 1 - Structures de Traits et Unification

Exercices du Cours de la programmation linéaire donné par le Dr. Ali DERBALA

CHAPITRE VIII : Les circuits avec résistances ohmiques

CHOIX OPTIMAL DU CONSOMMATEUR. A - Propriétés et détermination du choix optimal

Limites finies en un point

Ebauche Rapport finale

Théorème du point fixe - Théorème de l inversion locale

Continuité et dérivabilité d une fonction

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

TOUT CE QU IL FAUT SAVOIR POUR LE BREVET

Programmation Par Contraintes

Thème 17: Optimisation

Complément d information concernant la fiche de concordance

Fonctions homographiques

Chapitre 1 : Évolution COURS

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

MIS 102 Initiation à l Informatique

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

Calcul de développements de Puiseux et application au calcul du groupe de monodromie d'une courbe algébrique plane

a et b étant deux nombres relatifs donnés, une fonction affine est une fonction qui a un nombre x associe le nombre ax + b

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

Jade. Projet Intelligence Artificielle «Devine à quoi je pense»

Algorithmique et Programmation

La demande Du consommateur. Contrainte budgétaire Préférences Choix optimal

Déroulement. Evaluation. Préambule. Définition. Définition. Algorithmes et structures de données 28/09/2009

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

Cours de Master Recherche

OPTIMISATION À UNE VARIABLE

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

Résolution de systèmes linéaires par des méthodes directes

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

Théorie et codage de l information

Exercice : la frontière des portefeuilles optimaux sans actif certain

Resolution limit in community detection

Lecture graphique. Table des matières

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

Algèbre binaire et Circuits logiques ( )

Gestion des Clés Publiques (PKI)

I- Définitions des signaux.

Introduction au maillage pour le calcul scientifique

Les structures de données. Rajae El Ouazzani

Test : principe fondamental de la dynamique et aspect énergétique

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

Comment relier deux ordinateurs en réseau

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

CCP PSI Mathématiques 1 : un corrigé

FONCTION DE DEMANDE : REVENU ET PRIX

Baccalauréat ES Antilles Guyane 12 septembre 2014 Corrigé

Dérivation CONTENUS CAPACITÉS ATTENDUES COMMENTAIRES

Algorithmique et Programmation Fonctionnelle

Chp. 4. Minimisation d une fonction d une variable

Chapitre 3. Les distributions à deux variables

F411 - Courbes Paramétrées, Polaires

Cours de Recherche Opérationnelle IUT d Orsay. Nicolas M. THIÉRY. address: Nicolas.Thiery@u-psud.fr URL:

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

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

L exclusion mutuelle distribuée

La fonction exponentielle

Polynômes à plusieurs variables. Résultant

Les équations différentielles

Les arbres binaires de recherche

Représentation d un entier en base b

Cours 7 : Utilisation de modules sous python

Nouvelles propositions pour la résolution exacte du problème de sac à dos bi-objectif unidimensionnel en variables binaires

Arbres binaires de décision

Transcription:

Chapitre 2 Arbres et Arborescences 1. Introduction Ce chapitre présente un type spécial de graphes que l on appelle arbres. Les arbres sont des graphes particulièrement importants qui ont donné lieu à des applications très variées. Ils peuvent parfois être le support de réseaux de communication ou de transport. 2. Construction d un arbre Définition 1: Un arbre est défini comme un graphe connexe et sans cycles. 2.1 Caractérisation des arbres 2.1.1 Théorème 1 : conséquence de l ajout d un arc dans un graphe L ajout d un arc (a,b) dans un graphe G=(X,A) entraine l une des 2 conséquences : - Soit il diminue le nombre de composantes connexes de 1 si a et b appartiennent à 2 CC différentes. - Soit il ne change pas le nombre de CC si a et b appartiennent à la même CC. D après le théorème 1, on peut envisager le résultat suivant : Résultat : la suppression d un arc (a,b) a l une des conséquences suivantes : - L augmentation du nombre de CC de 1 si a et b n appartiennent pas au même cycle. - Le nombre de CC reste inchangé si a et b appartiennent au même cycle. L arc dont la suppression augmente le nombre de CC dans G est appelé isthme. 2.1.2 Théorème 2 : Cardinalité de A dans un graphe connexe et sans cycles Etant donné G=(X,A) un graphe d ordre n. i. Si G est connexe alors A n-1 ii. Si G est sans cycles alors A n-1 Corollaire : Un graphe G=(X,A) possède un graphe partiel (ou couvrant) qui constitue un arbre. 2.1.3 Théorème 3 : Théorème de caractérisation des arbres Etant donné un graphe G=(X, A) d ordre n 2. Les propriétés suivantes sont équivalentes et caractérisent un arbre. (1) G est connexe et sans cycles (2) G est sans cycles et admet n-1 arcs 12

(3) G est sans cycles et l ajout d un arc crée un cycle unique (4) G est connexe et admet n-1 arcs (5) G est connexe et la suppression d un arc déconnecte G (6) Tout couple de sommets est relié par une chaine et une seule 2.2 Définition d une forêt Définition 2 : Une forêt est un graphe dont chaque composante connexe est un arbre. 3. Arborescence En informatique, plusieurs applications nécessitent l utilisation d arborescences, particulièrement pour les arbres binaires. Comme exemple d applications les arbres généalogiques. 3.1 Définition d une arborescence Si un arbre possède un sommet particulier s qui peut mener vers tous les autres sommets ( x X il existe un chemin de s vers x), alors cet arbre est qualifié d arborescence. Définition 3 : Une arborescence est un graphe G =(X,A) tel que : - x X est racine de G - G est un arbre Remarques : - Une arborescence est donc un arbre mais l inverse n est pas toujours vrai. - Le concept d arborescence est orienté puisque la notion de racine et de chemin sont utilisées dans sa définition. 3.2 Caractérisation des arborescences 3.2.1 Théorème 4 : Théorème de caractérisation des arborescences Etant donné un graphe G=(X,A) d ordre n 2, les conditions suivantes sont équivalentes et caractérisent une arborescence : (1) G est un arbre admettant le sommet r pour racine (2) x X il existe un chemin unique de r vers x (3) G admet r pour racine et est minimal pour cette propriété (Si on supprime un arc, r n est plus racine) (4) G est connexe et d - (r) = 0 et x X d - (x) = 1 (5) G est sans cycles et d - (r) = 0 et x X d - (x) = 1 13

(6) G admet r comme racine et est sans cycles (7) G admet r comme racine et possède n-1 arcs 4. Parcours d un arbre Parfois on est amené à parcourir tous les sommets d un arbre en vue d effectuer certains traitements comme rechercher un élément particulier ou afficher les éléments de l arbre. A cet effet, plusieurs algorithmes ont été proposés pour le parcours d un arbre en profondeur et en largeur. Pour un parcours donné, il est possible de parcourir de gauche à droite ou de droite à gauche. 5. Problème de l arbre de poids minimal Le problème de l arbre de poids minimal se pose pour les graphes dont les arcs sont valués. On appelle ces valeurs des poids. Cette section est dédiée à la présentation du problème et aux solutions proposées pour sa résolution. 5.1 Présentation du problème On considère un graphe G=(X, A) connexe dont les arcs ont des valeurs. Le problème de l arbre de poids minimal revient à trouver un graphe partiel de G qui soit un arbre et pour lequel la somme des poids des arcs soit minimale. Le problème de l arbre de poids minimal ou maximal a plusieurs applications comme les réseaux téléphoniques, les réseaux électriques, etc. Exemple : Dans une ville possédant plusieurs quartiers on veut construire un réseau d alimentation en eau reliant tous les quartiers et qui coute le moins cher possible. Ce problème peut être représenté par un graphe dont les sommets sont les différents quartiers et les arcs sont les branches du réseau qui relient deux quartiers. Chaque branche possède une valeur qui représente son cout de construction. La solution revient à déterminer un graphe partiel qui soit connexe (pour relier tous les quartiers) et qui ne possède pas de cycles (ces derniers sont inutiles et entrainent un cout d installation supplémentaire). On cherche donc un arbre de poids minimal. 5.2 Résolution du problème Plusieurs algorithmes ont été proposés pour la résolution de ce genre de problèmes. Dans ce qui suit, sont présentées deux méthodes : l algorithme de Kruskal et l algorithme de Sollin. 14

5.2.1 Algorithme de Kruskal Cet algorithme mis au point par J. Kruskal permet de trouver un arbre de poids minimal pour un graphe connexe et valué. Il retrouve un sous ensemble d arcs qui forment un arbre touchant tous les sommets, c'est-à-dire un arbre couvrant. Si le graphe n est pas connexe, l application de l algorithme permet de trouver une forêt de poids minimal (un arbre de poids minimal pour chaque CC). Algorithme : Soit G=(X,A)/ X = n, A = p Etape 1 : Initialisation /* numéroter les arcs par ordre croissant selon leur poids */ v(a1) v(a2) v(a3). v(ap) ; Am ; /* Am contient les arcs de l arbre de poids min*/ V 0 ; /* Valeur de l arbre de poids minimal */ I 1 ; Etape 2 : traitement Pour I = 1, p faire Si Am {ai} ne comporte pas de cycles alors Am Am {ai} ; V = V+ v(ai) ; Fin si Fin pour Etape 3 : Résultat (X, Am ) est l arbre de poids min Fin Remarques : - Pour trouver l arbre de poids maximal, il suffit d ordonner les arcs dans un ordre décroissant selon leur poids. - Si toutes les valeurs sont différentes, alors l arbre couvrant de poids minimal est unique. 5.2.2 Algorithme de Sollin (Borůvka) L algorithme de Borůvka est un algorithme pour la recherche d un arbre de poids minimal pour un graphe dont tous les poids des arcs sont distincts. Il a été publié en 1926 par O. Borůvka comme une méthode permettant de construire un réseau électrique optimal. L algorithme a été redécouvert en 1965 par Sollin. Le principe de l algorithme est de réduire G en contractant des arêtes : on choisit peu à peu les arêtes qui seront dans l'arbre, et à chaque fois que l'on en choisit une, on fusionne les nœuds que cette arête relie. Ainsi, il ne reste plus qu'un sommet à la fin. 15

Algorithme : Soit G=(X,A)/ X = n, A = p et tous les v(aj) distincts Etape 1 : Initialisation Am ; /* Am contient les arcs de l arbre de poids min*/ V 0 ; /* Valeur de l arbre de poids minimal */ Etape 2 : traitement Tant que X > 1 /* G n est pas réduit à un sommet */ faire Détruire les boucles de G Remplacer les arêtes multiples entre 2 sommets par une seule dont le poids est minimum Pour tout xi X faire Trouver l arête ax de poids min adjacente à x Am Am {ax} ; V = V+ v(ax) ; Contracter ax ; /* fusionner les sommets extrémités de ax Fin pour Fin tant que Etape 3 : Résultat (X, Am ) est l arbre de poids min Fin 16