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

Dimension: px
Commencer à balayer dès la page:

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

Transcription

1 INSTITUT NATIONAL POLYTECHNIQUE DE LORRAINE Ecole Nationale Supérieure d Electricité et de Mécanique Eléments de Théorie des Graphes et Programmation Linéaire Didier Maquin Professeur à l INPL Version initiale, mai 00. Première révision augmentée, mai 008.

2

3 Table des matières Avant propos 5 Un bref historique de la théorie des graphes 5 Introduction 7. Qu est-ce qu un graphe? Graphes et applications multivoques Principales définitions Modes de représentation d un graphe 0. Listes de succession Matrice d adjacence Matrice d incidence Etude de la connexité. Chaînes et cycles, élémentaires et simples Chemins et circuits, élémentaires et simples Graphes et sous-graphes connexes Graphes et sous-graphes fortement connexes Cycles et nombre cyclomatique Parcours eulériens et hamiltoniens 5 5. Chaînes et cycles eulériens Chaînes et cycles hamiltoniens Méthode de recherche de chemins 8 6. Rappel sur les opérations booléennes sur les matrices Recherche de chemins Le problème du plus court chemin Arbres et arborescences 7. Définitions et propriétés Arbres couvrants de poids minimum Réseaux, réseaux de transport et problèmes de flots 5 8. Définitions Recherche d un flot complet Amélioration du flot Recherche d un flot maximal : algorithme de Ford et Fulkerson Exemple traité manuellement Recherche d un flot maximal à coût minimal Couplages 9. Le problème du couplage maximal Couplage maximal et flot maximal Couplage de poids maximal Problèmes d affectation

4 0 Problèmes d ordonnancement 9 0. Le graphe potentiels-tâches Le graphe potentiels-étapes ou graphe PERT Résolution Compléments Programmation linéaire. La méthode du simplexe à propos d un exemple Position du problème général Algorithme de résolution Annexe A - Implémentation de l algorithme de Moore-Dijkstra 56 Annexe B - Implémentation de l algorithme de Floyd 60 Annexe C - Implémentation de l algorithme de Prim 6 Annexe A - Implémentation de l algorithme du simplexe 6 Références 66

5 Avant propos Faut t faire un dessin?. La représentation d un problème par un dessin, un plan, une esquisse contribue souvent à sa compréhension. Le langage des graphes est construit, à l origine, sur ce principe. Nombres de méthodes, de propriétés, de procédures ont été pensées ou trouvées à partir d un schéma pour être ensuite formalisées et développées. Chacun d entre nous a, au moins une fois, vu ou utilisé un plan de métro, une carte de lignes ferroviaires, un plan électrique, un arbre généalogique ou un organigramme d entreprise ; ainsi, tout le monde sait plus ou moins intuitivement ce qu est un graphe. Toutefois, entre cette notion vague où des points, représentant des individus, des objets, des lieux ou des situations, sont reliés par des flèches, il y a une longue élaboration des concepts. La première difficulté à laquelle on peut être confronté concerne la terminologie (très abondante en théorie des graphes). Nous avons donc choisi d isoler les principales définitions du reste du cours en utilisant une mise en page différente. La théorie des graphes constitue aujourd hui un corpus de connaissances très important. Comme son nom l indique, ce cours ne constituera donc qu une introduction à cette théorie. Nous le préciserons ultérieurement, le développement de cette théorie doit beaucoup à celui des calculateurs. Il nous a donc semblé incontournable d exposer quelques algorithmes de base (recherche de chemin, d arbre, de flots, etc.). Cependant, ceci ne constitue pas le corps de cet enseignement même si les problèmes pratiques de mise en œuvre sont importants. Nous n évoquerons pas, par exemple, l optimalité de telle ou telle représentation d un graphe au regard du traitement que l on souhaite effectuer, ni la complexité (au sens nombre d opérations élémentaires) des algorithmes. De manière à permettre au lecteur intéressé de juger des difficultés de mise en œuvre des algorithmes littéraux, plus clairs pour la compréhension, décrits dans le corps du texte, quelques implémentations à l aide du langage Matlab R sont donnés en annexe. Ces fonctions ne prétendent nullement à être efficaces ou efficientes sur des données quelconques ; elles ne sont données qu à titre d illustration. De même, nous nous sommes efforcés ce citer, au moment de l introduction des méthodes de base, les fonctions de la boîte à outils de manipulation de graphes Metanet du logiciel Scilab c qui leur correspondent. Un bref historique de la théorie des graphes Tout le monde s accorde à considérer que la théorie des graphes est née en 76 avec la communication d Euler (707-78) dans laquelle il proposait une solution au célèbre problème des ponts de Königsberg (Euler, 76). Le problème posé était le suivant. Deux îles A et D sur la rivière Pregel à Königsberg (alors capitale de la Prusse de l Est, aujourd hui rebaptisée Kaliningrad) étaient reliées entre elles ainsi qu aux rivages B et C à l aide de sept ponts (désignés par des lettres minuscules) comme le montre la figure. Fig. La rivière Pregel et l île de Kneiphof 5

6 Le problème posé consistait, à partir d une terre quelconque A, B, C, ou D, à traverser chacun des ponts une fois et une seule et à revenir à son point de départ (sans traverser la rivière à la nage!). Euler représenta cette situation à l aide d un dessin où les sommets représentent les terres et les arêtes, les ponts comme le montre la figure. C A D B Fig. Graphe associé au problème des ponts de Königsberg Comme nous le montrerons ultérieurement, Euler démontra que ce problème n a pas de solution. Le problème des ponts de Königsberg est identique à celui consistant à tracer une figure géométrique sans lever le crayon et sans repasser plusieurs fois sur un même trait. Pendant les cent années qui suivirent, rien ne fut fait dans ce domaine de recherche. En 87, Kirchhoff (8-887) développa la théorie des arbres pour l appliquer à l analyse de circuits électriques. Dix ans plus tard, Cayley (8-895) découvrit la notion d arbre alors qu il essayait d énumérer les isomères saturés des hydrocarbures de type C n H n+. A cette époque, deux autres problèmes d importance pour la théorie des graphes furent également proposés et partiellement résolus. Le premier est la conjecture des quatre couleurs qui affirme que quatre couleurs suffisent pour colorier n importe quelle carte plane telle que les pays ayant une frontière commune soient de couleurs différentes. C est sans doute Möbius ( ) qui présenta le premier ce problème dans l un de ses cours en 80. Environ dix ans après, de Morgan (806-87) essaya de résoudre ce problème. Les lettres de de Morgan à ses divers collègues mathématiciens constituent les premières références à la conjecture des quatre couleurs. Le problème devint célèbre après sa publication, par Cayley en 879, dans le premier volume des Proceedings of the Royal Geographic Society. Ce problème est resté très longtemps sans solution. Il fallut attendre jusqu en 976 pour que Appel et Haken prouvent ce théorème en réduisant le problème à un nombre fini de situations particulières et en trouvant une solution pour chacune d entre elles à l aide d un ordinateur. Le second problème est dû à Sir Hamilton ( ). En 859, il inventa un casse-tête qu il vendit pour 5 guinées à un fabricant de jouet de Dublin. Ce jeu consiste en un dodécaèdre régulier en bois (un polyèdre à faces et 0 sommets), chaque face étant un pentagone régulier comme le montre la figure. Trois arêtes sont donc issues de chaque sommet. Un clou est fiché sur chaque sommet marqué du nom de vingt grandes villes mondiales. Le casse-tête consiste à enrouler une ficelle passant une fois et une seule fois par chacune des villes (sommets). Bien que la solution de ce problème soit aisée à obtenir, personne n a encore trouvé de condition nécessaire et suffisante de l existence d un tel chemin (appelé chemin Hamiltonien) dans un graphe quelconque. Cette période fertile fut suivie d un demi-siècle de relative inactivité. Les années 90 virent 6

7 Fig. Un dodécaèdre régulier la résurgence de l intérêt pour les graphes. L un des pionniers de cette période fut König à qui l on doit le premier ouvrage consacré entièrement à la théorie des graphes (König, 96). Il est sans doute à l origine de l utilisation du terme graphe pour désigner ce qui était préalablement considéré comme un ensemble de points et de flèches. A partir de 96, la théorie des graphes a connu un développement intense sous l impulsion de chercheurs motivés par la résolution de problèmes concrets. Parmi ceux-ci, citons de manière privilégiée Kuhn (955), Ford et Fulkerson (956) et Roy (959). Parallèlement, un important effort de synthèse a été opéré en particulier par Claude Berge. Son ouvrage Théorie des graphes et ses applications publié en 958 (Berge, 958) marque sans doute l avènement de l ère moderne de la théorie des graphes par l introduction d une théorie des graphes unifiée et abstraite rassemblant de nombreux résultats épars dans la littérature. Depuis, cette théorie a pris sa place, en subissant de très nombreux développement essentiellement dus à l apparition des calculateurs, au sein d un ensemble plus vaste d outils et de méthodes généralement regroupées sous l appellation recherche opérationnelle ou mathématiques discrètes. Introduction. Qu est-ce qu un graphe? Définition On appelle graphe G = (X,A) la donnée d un ensemble X dont les éléments sont appelés sommets et d une partie de A symétrique ( (x,y) A (y,x) A) dont les éléments sont appelés arêtes. En présence d une arête a = (x,y) qui peut être notée simplement xy, on dit que x et y sont les extrémités de a, que a est incidente en x et en y, et que y est un successeur ou voisin de x (et vice versa). On dit qu un graphe est sans boucle si A ne contient pas d arête de la forme (x,x), c est-à-dire joignant un sommet à lui-même. Le nombre de sommets est appelé ordre du graphe. Un graphe ne possédant pas de boucle ni d arêtes parallèles (deux arêtes distinctes joignant la même paire de sommets) est appelé graphe simple ou -graphe. En revanche un p-graphe ou graphe généralisé est un graphe pour lequel il n existe jamais plus de p arêtes de la forme (x, x). Graphiquement, les sommets peuvent être représentés par des points et l arête a = (x, y) par un trait reliant x à y. On notera que la disposition des points et la longueur ou la forme 7

8 (rectiligne ou incurvée) des traits n a aucune importance. Seule l incidence des différentes arêtes et sommets compte. A titre d exemple, les deux graphes de la figure sont identiques. Fig. Deux représentations graphiques d un même graphe Dans le tracé graphique d un graphe, deux arêtes peuvent sembler avoir une intersection en un point qui n est pas un sommet. C est le cas, par exemple, des arêtes e et f du graphe de la figure 5. De telles arêtes peuvent être vues comme étant placées dans des plans différents et n ayant donc aucun point commun. a e d b f c Fig. 5 Les arêtes e et f n ont pas de point commun Les graphes ainsi définis sont dits graphes non orientés. Dans certaines situations cependant, l orientation des arêtes est importante. Définition On appelle graphe orienté ou digraphe G = (X,A) la donnée d un ensemble X dont les éléments sont appelés sommets et d une partie A de X X dont les éléments sont appelés arcs ou arêtes. En présence d un arc a = (x, y) qui peut être noté simplement xy, on dit que x est l origine (ou extrémité initiale) et y l extrémité (terminale) de a, que a est sortant en x et incident en y, et que y est un successeur de x tandis que x est un prédécesseur de y. On dit aussi que x et y sont adjacents.. Graphes et applications multivoques L ensemble des successeurs d un sommet x X est noté Γ(x). L application Γ qui, à tout élément de X, fait correspondre une partie de X (un élément de P(X)) est appelée une application multivoque. L ensemble des prédécesseurs d un sommet x X peut alors être noté Γ (x) 8

9 où Γ est l application (multivoque) réciproque de Γ. Si le graphe G est un -graphe, on constate qu il est parfaitement déterminé par la donnée de l ensemble X et de l application multivoque Γ de X P(X). Un tel graphe peut donc aussi être noté : G = (X,Γ).. Principales définitions Les définitions qui suivent sont énoncées dans le cadre des graphes orientés. Le lecteur transposera aisément ces définitions (si elles ont un sens) au cas des graphes non orientés. Définition On appelle degré sortant ou demi-degré extérieur d un sommet x le nombre d arcs de la forme a = (x,y) avec y x, c est-à-dire le nombre d éléments de Γ(x)\ {x}. On note d s (x) ce degré. On appelle degré entrant ou demi-degré intérieur d un sommet x le nombre d arcs de la forme a = (y,x) avec y x, c est-à-dire le nombre d éléments de Γ (x)\ {x}. On note d e (x) ce degré. On appelle degré de x (ou valence) la somme du degré entrant et du degré sortant. Un sommet de degré entrant non nul et de degré sortant nul est appelé puits, tandis qu un sommet de degré entrant nul et de degré sortant non nul est appelé source. Un sommet n ayant pas d arcs incidents est appelé sommet isolé ; ces sommets ont un degré nul. Deux arcs adjacents sont dits en série si leur sommet commun est de degré égal à deux. Dans la définition d un graphe, l ensemble des arcs A peut être vide; dans ce cas, on a affaire à un graphe nul. Tous les sommets d un graphe nul sont donc des sommets isolés. En revanche, l ensemble des sommets X ne peut être vide sinon le graphe correspondant n existe pas. Cela signifie donc qu un graphe comporte au moins un sommet. Définition On appelle graphe réflexif un graphe possédant une boucle sur chaque sommet. Un graphe est symétrique si, pour tout arc a = (x,y) appartenant à A, l arc a = (y,x) appartient également à A. Un graphe est antisymétrique si, pour tout arc a = (x,y) appartenant à A, l arc a = (y,x) n appartient pas à A. Enfin, un graphe est transitif si, quelque soit deux arcs adjacents a = (x,y) et a = (y,z) appartenant à A, alors l arc a = (x,z) appartient également à A. Le concept de graphe symétrique est très proche de celui des graphes non orientés. En fait, à tout graphe symétrique, on peut associer un graphe non orienté en substituant aux arcs a = (x,y) et a = (y,x), une arête a = (y,x). 9

10 Définition 5 Un graphe G = (X,A) est dit complet si, pour toute paire de sommets (x,y), il existe au moins un arc de la forme (x,y) ou (y,x). Un graphe simple complet d ordre n est noté K n. Un sous-ensemble de sommets C X tel que deux sommets quelconques de C sont reliés par une arête est appelé une clique. Définition 6 Soit un graphe G = (X,A) et X X. Le sous-graphe engendré par X est G = (X,A ), A étant formé des arêtes dont les deux extrémités sont dans X. Si l on se donne un sous-ensemble A de A, le graphe partiel engendré par A est G = (X,A ). Dans certaines situations, les sommets de G ayant un degré nul (sommets isolés n ayant aucune arête incidente appartenant à A ) peuvent être supprimés du graphe partiel. D après la définition précédente, une clique d un graphe G est donc un sous-graphe complet de G. Modes de représentation d un graphe Comme nous l avons mentionné précédemment, l essor de la théorie des graphes est essentiellement dû à l avènement de puissants calculateurs. Il est donc légitime de s intéresser à la manière de représenter les graphes au sein d un ordinateur. Plusieurs modes de représentation peuvent être envisagés selon la nature des traitements que l on souhaite appliquer au graphe considéré.. Listes de succession Un graphe peut être représenté à l aide d un dictionnaire ; il s agit d une table à simple entrée où chaque ligne correspond à un sommet et comporte la liste des successeurs ou des prédécesseurs de ce sommet. Considérons le graphe de la figure Fig. 6 Un graphe élémentaire Celui-ci peut être représenté par les deux tables suivantes : 0

11 ,,, 5-5, 5,,,5 5 Dans la mesure où, pour une table donnée, le nombre de successeurs ou de prédécesseurs n est pas le même pour chaque sommet, il est préférable de représenter le dictionnaire sous forme de deux tableaux : le premier comprenant autant d éléments que de sommets, ces éléments pointant, dans un second tableau, les débuts de listes de successeurs (ou de prédécesseurs). La figure 7 montre cette organisation en ce qui concerne la table des successeurs Fig. 7 Codage d une liste de successeurs Cette représentation est un peu redondante dans le cas des graphes non orientés ; elle est cependant assez commode pour parcourir le graphe. L encombrement de cette représentation est minimal puisqu il correspond exactement à la quantité d information fournie par le graphe.. Matrice d adjacence Les outils classiques d algèbre linéaire peuvent également être utilisés pour coder les graphes. La première idée consiste à considérer chaque arc comme un lien entre deux sommets. Définition 7 Considérons un graphe G = (X, A) comportant n sommets. La matrice d adjacence de G est égale à la matrice U = (u ij ) de dimension n n telle que { si (i,j) A (c est-à-dire (i,j) est une arête) u ij = 0 sinon Une telle matrice, ne contenant que des 0 et des est appelée, de manière générale, une matrice booléenne. Un graphe orienté quelconque a une matrice d adjacence quelconque, alors qu un graphe non orienté possède une matrice d adjacence symétrique. L absence de boucle se traduit par une diagonale nulle. La matrice d adjacence du graphe de la figure 6 est la suivante : U =

12 Ce mode de représentation engendre des matrices très creuses (i.e. comprenant beaucoup de zéros). Cependant la recherche de chemins ou de chaînes s effectue aisément avec une telle représentation (cf 6.). De plus, la matrice d adjacence possède quelques propriétés qui peuvent être exploitées. Considérons un graphe G et sa matrice d adjacence associée U : la somme des éléments de la i eme ligne de U est égale au degré sortant d s (x i ) du sommet x i de G. la somme des éléments de la j eme colonne de U est égale au degré entrant d e (x j ) du sommet x j de G. U est symétrique si, et seulement si, le graphe G est symétrique.. Matrice d incidence La seconde idée permettant une représentation matricielle d un graphe exploite la relation d incidence entre arêtes et sommets. Définition 8 Considérons un graphe orienté sans boucle G = (X, A) comportant n sommets x,..., x n et m arêtes a,...,a m. On appelle matrice d incidence (aux arcs) de G la matrice M = (m ij ) de dimension n m telle que : si x i est l extrémité initiale de a j m ij = si x i est l extrémité terminale de a j 0 si x i n est pas une extrémité de a j Pour un graphe non orienté sans boucle, la matrice d incidence (aux arêtes) est définie par : { si xi est une extrémité de a m ij = j 0 sinon La matrice d incidence du graphe de la figure 6 s écrit sous la forme suivante : M = Etude de la connexité Chaînes et cycles, élémentaires et simples Définition 9 Une chaîne est une séquence finie et alternée de sommets et d arêtes, débutant et finissant par des sommets, telle que chaque arête est incidente avec les sommets qui l encadre dans la séquence. Le premier et le dernier sommet sont appelés (sommets) extrémités de la chaîne. La longueur de la chaîne est égale au nombre d arêtes qui la composent.

13 Si aucun des sommets composant la séquence n apparaît plus d une fois, la chaîne est dite chaîne élémentaire. Si aucune des arêtes composant la séquence n apparaît plus d une fois, la chaîne est dite chaîne simple. Un cycle est une chaîne dont les extrémités coïncident. Un cycle élémentaire (tel que l on ne rencontre pas deux fois le même sommet en le parcourant) est un cycle minimal pour l inclusion, c est-à-dire ne contenant strictement aucun autre cycle.. Chemins et circuits, élémentaires et simples Toutes les définitions précédentes, s appliquant au cas des graphes non orientés, peuvent être transposées au cas des graphes orientés. Définition 0 Un chemin est une séquence finie et alternée de sommets et d arcs, débutant et finissant par des sommets, telle que chaque arc est sortant d un sommet et incident au sommet suivant dans la séquence (cela correspond à la notion de chaîne orientée ). Si aucun des sommets composant la séquence n apparaît plus d une fois, le chemin est dit chemin élémentaire. Si aucune des arêtes composant la séquence n apparaît plus d une fois, le chemin est dit chemin simple. Un circuit est un chemin dont les extrémités coïncident. En parcourant un circuit élémentaire, on ne rencontre pas deux fois le même sommet.. Graphes et sous-graphes connexes De manière intuitive, la notion de connexité est triviale. Un graphe est connexe si l on peut atteindre n importe quel sommet à partir d un sommet quelconque en parcourant différentes arêtes. De manière plus formelle, on a : Définition Un graphe G est connexe s il existe au moins une chaîne entre une paire quelconque de sommets de G. La relation : x i R x j { soit xi = x j soit il existe une chaîne joignant x i à x j est une relation d équivalence (réflexivité, symétrie, transitivité). Les classes d équivalence induites sur X par cette relation forment une partition de X en X, X,...,X p. Le nombre p de classes d équivalence distinctes est appelé nombre de connexité du graphe.

14 On peut alors donner une autre définition concernant la connexité d un graphe. Un graphe est dit connexe si et seulement si son nombre de connexité est égal à. Les sous-graphes G, G,...,G p engendrés par les sous-ensembles X, X,...,X p sont appelés les composantes connexes du graphe. Chaque composante connexe est un graphe connexe. La vérification de la connexité d un graphe est un des premiers problèmes de la théorie des graphes. Nous décrirons ultérieurement des algorithmes permettant d établir cette connexité. Définition Un point d articulation d un graphe est un sommet dont la suppression augmente le nombre de composantes connexes. Un isthme est une arête dont la suppression a le même effet. Un ensemble d articulation E X d un graphe connexe G est un ensemble de sommets tel que le sous-graphe G déduit de G par suppression des sommets de E, ne soit plus connexe.. Graphes et sous-graphes fortement connexes Définition Un graphe orienté est dit fortement connexe s il existe un chemin joignant deux sommets quelconques. La relation : soit x i = x j x i R x j soit il existe à la fois un chemin joignant x i à x j et un chemin joignant x j à x i est une relation d équivalence et les classes d équivalence induites sur X par cette relation forment une partition de X en X, X,...,X q. Les sous-graphes G, G,...,G q engendrés par les sousensembles X, X,...,X q sont appelés les composantes fortement connexes du graphe. Pour le graphe de la figure 8, les différentes composantes fortement connexes sont : C = {,,,, 5} C = {6, 7} C = {8} Définition On appelle graphe réduit G r le quotient du graphe G par la relation de forte connexité G r = G/R ; les sommets de G r sont donc les composantes fortement connexes et il existe un arc entre C i et C j si et seulement s il existe au moins un arc entre un sommet de C i et un sommet de C j dans le graphe G. On vérifie que le graphe G r est sans circuit. Le graphe réduit correspondant au graphe de la figure 8 est donné figure 9. La recherche des composantes fortement connexes et la détermination du graphe réduit revêtent une grande importance pour l analyse structurale d un système.

15 Fig. 8 Graphe orienté C C C Fig. 9 Graphe réduit du graphe de la figure 8.5 Cycles et nombre cyclomatique Les notions de cycle et de cycle élémentaire ont déjà été définies au paragraphe.. Pour un cycle µ donné, on désigne par µ + l ensemble des arcs du cycle orientés dans le sens de parcours et par µ l ensemble des arcs orientés en sens contraire. Si le graphe possède m arcs désignés par a,..., a m, on peut faire correspondre à tout cycle µ un vecteur µ = (µ, µ,...,µ m ) tel que : µ i = si a i µ + si a i µ 0 si a i / µ + µ On remarque que µ est aussi un vecteur associé au cycle µ (obtenu en choisissant l autre sens de parcours). Au signe près, on pourra donc identifier le cycle µ au vecteur µ. Définition 5 On dit que p cycles µ, µ,..., µ p sont dépendants s il existe, entre leurs vecteurs associés, une relation vectorielle de la forme : avec les λ i non tous nuls. λ µ + λ µ λ p µ p = 0 Si la satisfaction de la relation précédente implique λ i = 0, i =,...,p, les p cycles sont dits indépendants. 5

16 Une base de cycles est un ensemble minimal de cycles indépendants tel que tout vecteur représentatif d un cycle puisse s exprimer comme combinaison linéaire des cycles de la base. On appelle nombre cyclomatique d un graphe G, la dimension de la base de cycles. On peut noter que le nombre cyclomatique v(g) d un graphe à n sommets, m arcs et p composantes connexes est égal à v(g) = m n + p. 5 Parcours eulériens et hamiltoniens L étude des problèmes eulériens ou hamiltoniens (recherche d une chaîne ou d un cycle passant exactement une fois par chaque arête ou par chaque sommet ) remonte aux origines de la théorie des graphes. L intérêt porté aujourd hui à ces problèmes s explique par leurs nombreuses applications : tournées de distribution, tracé automatique sur ordinateur, problèmes d ordonnancement d atelier, etc. 5. Chaînes et cycles eulériens Il s agit là d une généralisation du jeu bien connu consistant à dessiner toutes les arêtes d un graphe avec un crayon sans jamais le soulever, ni passer deux fois sur la même arête. Définition 6 Soit G = (X,A) un graphe orienté. Une chaîne eulérienne est une chaîne empruntant une fois et une fois seulement chaque arête de G. Un cycle eulérien est une chaîne eulérienne dont les extrémités coïncident. Un graphe possédant un cycle eulérien est appelé graphe eulérien. Le problème de l existence et de la détermination d un cycle eulérien (d une chaîne eulérienne) dans un graphe non orienté a été posé la première fois et résolu par Euler en 76 à propos du célèbre problème des ponts de Königsberg évoqué au premier paragraphe. Euler prouva l impossibilité de l obtention d une solution en démontrant le théorème suivant : Théorème Un graphe non orienté connexe possède une chaîne eulérienne si et seulement si le nombre de sommets de degré impair est égal à 0 ou. Il admet un cycle eulérien si et seulement si tous ses sommets ont un degré pair. Montrons que la condition est nécessaire. Si le cycle eulérien existe, on peut l orienter de manière arbitraire. En chaque sommet, le nombre d arcs incidents doit être égal au nombre d arcs sortants, les sommets doivent donc être de degré pair. Dans le cas d une chaîne, les deux extrémités font exception ; on part ou l on arrive une fois de plus, d où un degré impair pour ces 6

17 deux sommets extrémités. Montrons maintenant que la condition est suffisante. Raisonnons par récurrence en supposant que le théorème est vérifié pour des graphes connexes ayant moins de m arêtes. Soit G = (X,A) un graphe de m arêtes vérifiant la condition du théorème. Si G possède deux sommets de degré impair, soient a et b ces sommets (si tous les sommets de G sont de degré pair, on choisit a quelconque et b confondu avec a). Soit L la chaîne parcourue par un voyageur partant de a dans une direction quelconque et seulement soumis à l interdiction d emprunter deux fois la même arête. Si, à un instant donné, il arrive en un sommet x b, il aura utilisé un nombre impair d arêtes incidentes à x et il pourra donc repartir par une arête non déjà utilisée. Quand il ne peut plus bouger, c est donc qu il est en b. Si toutes les arêtes ont été utilisées, L est une chaîne eulérienne et le théorème est vrai. Dans le cas contraire, le graphe partiel, défini par les arêtes non utilisées, a tous ses sommets de degré pair (de part la nature des suppressions effectuées). Soient G, G,..., G p les composantes connexes de G qui comportent au moins une arête. Chacun des sous graphes G i possède moins de m arêtes et d après l hypothèse de récurrence, il admet un cycle eulérien µ i. Comme G est connexe, L rencontre successivement G, G,..., G p en les sommets x, x,...,x p. Le parcours alors constitué par : la chaîne L entre a et x, le cycle µ entre x et x, la chaîne L entre x et x, le cycle µ entre x et x,... la chaîne L entre x p et b. constitue bien une chaîne eulérienne entre a et b dans G. Le théorème est donc vrai à l ordre m. Comme il est vrai à l ordre, il est démontré pour tout m. Le problème d Euler peut aussi être considéré avec des sens uniques. Définition 7 Un chemin dans un graphe orienté est dit eulérien s il passe exactement une fois par chaque arête. Un graphe orienté est dit eulérien s il admet un circuit eulérien. La démonstration précédente peut aisément être adaptée à cette nouvelle situation. Théorème Un graphe orienté connexe admet un chemin eulérien (mais pas de circuit eulérien) si, et seulement si, pour tout sommet sauf deux (a et b), le degré entrant est égal au degré sortant et d e (a) = d s (a) et d e (b) = d s (b) + Un graphe orienté connexe admet un circuit eulérien si, et seulement si, pour tout sommet, le degré entrant est égal au degré sortant. Parmi les problèmes prototypes classiques des formulations précédentes, citons le problème du postier chinois (non orienté) qui consiste à parcourir les rues d une ville en passant au moins 7

18 une fois dans chaque rue, le graphe n étant pas nécessairement eulérien ; on cherche bien sûr à minimiser la longueur totale du parcours. On rencontre ce genre de problème dans les organisations de tournées de distribution de courrier, de ramassage d ordures, d inspection de réseaux de distribution. Dans le cas orienté où chaque arc doit être emprunté dans un sens privilégié, le problème se ramène à la recherche d un flot à coût minimum (cf. 8.). Il s agit d abord de savoir si le parcours chinois a au moins une solution. Nous énonçons ici sans démonstration les résultats suivants. Théorème Un graphe non orienté admet un cycle chinois si, et seulement si, il est connexe. Un graphe orienté admet un circuit chinois si, et seulement si, il est fortement connexe. La résolution du problème du postier chinois peut s inspirer des méthodes de recherche de chaînes ou cycles eulériens. Cependant, on préfèrera formuler le problème en termes de couplage parfait de poids minimum (cf. 9.) 5. Chaînes et cycles hamiltoniens Soit G = (X,A) un graphe connexe d ordre n. Définition 8 On appelle chemin hamiltonien (chaîne hamiltonienne) un chemin (une chaîne) passant une fois, et une fois seulement, par chacun des sommets de G. Un chemin hamiltonien (une chaîne hamiltonienne) est donc un chemin (une chaîne) élémentaire de longueur n. Un circuit hamiltonien (un cycle hamiltonien) est un circuit (un cycle) qui passe une fois, et une seule fois, par chacun des sommets de G. On dit qu un graphe G est hamiltonien s il contient un cycle hamiltonien (cas non orienté) ou un circuit hamiltonien (cas orienté). La notion de cycle hamiltonien trouve son origine dans le jeu inventé par Hamilton que nous avons évoqué au premier paragraphe. De nombreux problèmes concrets peuvent être formulés en termes de recherche de parcours hamiltoniens. On peut en particulier citer le problème du voyageur de commerce. Un représentant de commerce doit rendre visite à n clients x, x,...,x n en partant d une ville x 0 et revenir à son point de départ. Il connaît les distances d 0j qui séparent le dépôt x 0 de chacun de ses clients x j, ainsi que la distance d ij entre deux clients quelconques x i et x j. Dans quel ordre doit-il rendre visiste à ses clients pour que la distance totale parcourue soit minimale? Ce problème revient à chercher un cycle hamiltonien de longueur totale minimale dans le graphe complet G construit sur l ensemble des sommets X = {x 0, x,..., x n }, les 8

19 arêtes étant munies des longueurs d ij. Lorsque le point d arrivée est différent du point de départ, le problème revient à rechercher une chaîne hamiltonienne de longueur totale minimale. Un autre problème classique concerne l ordonancement de tâches. On cherche un ordre dans lequel on peut effectuer n tâches données (deux tâches quelconques ne pouvant être effectuées simultanément) tout en respectant un certain nombre de contraintes d antériorité. Si l on construit le graphe G dont l ensemble des sommets correspond à l ensemble des tâches, et où il existe un arc (i,j) si la tâche i peut être effectuée avant la tâche j, le problème revient à déterminer un chemin hamiltonien de G. D autres problèmes concrets peuvent se ramener également à la problématique précédente. On appelle cycle (circuit) préhamiltonien d un graphe G, un cycle (un circuit) passant au moins une fois par chaque sommet de G. Un graphe G qui admet un tel cycle (ou circuit) est appelé graphe préhamiltonien et une condition nécessaire et suffisante pour qu il en soit ainsi est que G soit connexe (fortement connexe). La recherche d un cycle (circuit) préhamiltonien de longueur minimale dans un graphe G où les arêtes (arcs) ont des longueurs données se ramène à un problème de recherche de cycle (circuit) hamiltonien dans le graphe complet G construit sur le même ensemble de sommets, la longueur d une arête (arc) (i,j) de G étant égale à la longueur de la plus courte chaîne (chemin) entre i et j. De nombreux problèmes du type voyageur de commerce sont en réalité des problèmes préhamiltoniens et, pour les résoudre, on commencera par calculer la matrice des plus courts chemins (des plus courtes chaînes). Notons que l on ne connaît pas de condition nécessaire et suffisante d existence de cycles ou de circuits hamiltoniens. 6 Méthode de recherche de chemins 6. Rappel sur les opérations booléennes sur les matrices Rappelons brièvement les deux opérations d addition et de multiplication booléenne notées et. Les variables A et B sont booléennes et prennent donc leur valeur dans {0, } A B A B A B Avant de procéder à la recherche systématique de chemins, examinons, de façon générale, la signification des opérations sur les matrices d adjacence en termes de graphes. 9

20 Addition booléenne des matrices Soient deux graphes G et G, possédant les mêmes sommets, et leurs matrices d adjacence associées U et U de dimension n n. Calculons U = U U telle que : (U ) ij = (U ) ij (U ) ij Chaque élément non nul de U représente, par définition, un arc de G décrit par la matrice U. Pour qu un élément de U soit non nul, il faut que l un au moins des éléments correspondants de U ou U soit non nul. On conclut donc que cette opération revient à construire un graphe G comportant à la fois les arcs de G et ceux de G. Multiplication booléenne des matrices Considérons de nouveau les deux graphes G et G précédents et calculons U = U U telle que : (U ) ij = (U ) i (U ) j (U ) i (U ) j...(u ) in (U ) nj Pour que (U ) ij soit égal à, il faut qu il existe au moins un indice k tel que simultanément les éléments (U ) ik et (U ) kj soit égaux à. Cela revient à construire un graphe G dans lequel un arc (i,j) existe si et seulement s il existe un sommet k tel que (i,k) soit un arc de G et (k,j) un arc de G. 6. Recherche de chemins Soit U la matrice d adjacence associée au graphe G. Par définition, U ij = indique l existence d un chemin de longueur entre les sommets i et j. Multiplions U par elle-même, soit U = U U et considérons le graphe G associé à U. Chaque arc (i,j) de G exprime l existence d un chemin de longueur du sommet i au sommet j. En effet, d après l interprétation précédente, (i,j) existe si et seulement s il existe un sommet k tel que (i,k) et (k,j) sont des arcs de G. Démontrons par récurrence que, plus généralement, U p donne l existence des chemins de longueur p. Soit un graphe possédant n sommets et U sa matrice d adjacence associée. Admettons la propriété pour p et démontrons la pour p. Un chemin de longueur p entre les sommets i et j peut se décomposer en un chemin de longueur p entre les sommets i et k auquel on ajoute l arc (k,j). L existence du chemin entre les sommets i et k est donnée, par hypothèse, par l élément (U p ) ik, celle de l arc (k,j) par U kj. L existence d un chemin joignant les sommets i et j et passant par le sommet k est donc donnée par (U p ) ik U kj. Or, le sommet k est quelconque et peut être l un des n sommets du graphe. L existence d un chemin entre les sommets i et j s écrit donc : C ij = ( U p ) i U j ( U p ) i U j... ( U p ) in U nj L expression de C ij est, par définition, celle donnée pour calculer l élément (U p ) ij. Comme nous l avons vérifiée pour p =, la propriété est vraie quel que soit p. Remarquons que pour un graphe à n sommets, un chemin élémentaire comprend au plus n arcs. Il suffit donc, pour avoir l existence de tous les chemins, d élever successivement la matrice U jusqu à la puissance n. De plus, si deux matrices successives ainsi calculées sont identiques, il est inutile de poursuivre le calcul jusqu à la puissance n. 0

Généralités sur les graphes

Généralités sur les graphes Généralités sur les graphes Christophe ROSSIGNOL Année scolaire 2008/2009 Table des matières 1 Notion de graphe 3 1.1 Un peu de vocabulaire.......................................... 3 1.2 Ordre d un graphe,

Plus en détail

Cours de spécialité mathématiques en Terminale ES

Cours de spécialité mathématiques en Terminale ES Cours de spécialité mathématiques en Terminale ES O. Lader 2014/2015 Lycée Jean Vilar Spé math terminale ES 2014/2015 1 / 51 Systèmes linéaires Deux exemples de systèmes linéaires à deux équations et deux

Plus en détail

Algorithmique et Analyse d Algorithmes

Algorithmique et Analyse d Algorithmes Algorithmique et Analyse d Algorithmes L3 Info Cours 11 : Arbre couvrant Prétraitement Benjamin Wack 2015-2016 1 / 32 La dernière fois Rappels sur les graphes Problèmes classiques Algorithmes d optimisation

Plus en détail

Théorie des graphes. Introduction. Programme de Terminale ES Spécialité. Résolution de problèmes à l aide de graphes. Préparation CAPES UCBL

Théorie des graphes. Introduction. Programme de Terminale ES Spécialité. Résolution de problèmes à l aide de graphes. Préparation CAPES UCBL Introduction Ces quelques pages ont pour objectif de vous initier aux notions de théorie des graphes enseignées en Terminale ES. Le programme de Terminale (voir ci-après) est construit sur la résolution

Plus en détail

LE PROBLEME DU FLOT MAXIMAL

LE PROBLEME DU FLOT MAXIMAL LE PROBLEME DU FLOT MAXIMAL I Exemple d introduction Deux châteaux d'eau alimentent 3 villes à travers un réseau de canalisations au sein duquel se trouvent également des stations de pompage. Les châteaux

Plus en détail

Programmation linéaire

Programmation linéaire Programmation linéaire DIDIER MAQUIN Ecole Nationale Supérieure d Electricité et de Mécanique Institut National Polytechnique de Lorraine Mathématiques discrètes cours de 2ème année Programmation linéaire

Plus en détail

Chapitre 5 : Flot maximal dans un graphe

Chapitre 5 : Flot maximal dans un graphe Graphes et RO TELECOM Nancy A Chapitre 5 : Flot maximal dans un graphe J.-F. Scheid 1 Plan du chapitre I. Définitions 1 Graphe Graphe valué 3 Représentation d un graphe (matrice d incidence, matrice d

Plus en détail

Théorie des Langages Formels Chapitre 5 : Automates minimaux

Théorie des Langages Formels Chapitre 5 : Automates minimaux Théorie des Langages Formels Chapitre 5 : Automates minimaux Florence Levé Florence.Leve@u-picardie.fr Année 2015-2016 1/29 Introduction Les algorithmes vus précédemment peuvent mener à des automates relativement

Plus en détail

RECHERCHE OPERATIONNELLE

RECHERCHE OPERATIONNELLE RECHERCHE OPERATIONNELLE PROBLEME DE L ARBRE RECOUVRANT MINIMAL I - INTRODUCTION (1) Définitions (2) Propriétés, Conditions d existence II ALGORITHMES (1) Algorithme de KRUSKAL (2) Algorithme de PRIM I

Plus en détail

Chapitre 7 : Programmation dynamique

Chapitre 7 : Programmation dynamique Graphes et RO TELECOM Nancy 2A Chapitre 7 : Programmation dynamique J.-F. Scheid 1 Plan du chapitre I. Introduction et principe d optimalité de Bellman II. Programmation dynamique pour la programmation

Plus en détail

Introduction à l étude des Corps Finis

Introduction à l étude des Corps Finis Introduction à l étude des Corps Finis Robert Rolland (Résumé) 1 Introduction La structure de corps fini intervient dans divers domaines des mathématiques, en particulier dans la théorie de Galois sur

Plus en détail

Introduction à la programmation en variables entières Cours 3

Introduction à la programmation en variables entières Cours 3 Introduction à la programmation en variables entières Cours 3 F. Clautiaux francois.clautiaux@math.u-bordeaux1.fr Université Bordeaux 1 Bât A33 - Bur 272 Sommaire Notion d heuristique Les algorithmes gloutons

Plus en détail

Structures de données non linéaires

Structures de données non linéaires Structures de données non linéaires I. Graphes Définition Un graphe (simple) orienté G est un couple (S, A), où : S est un ensemble dont les éléments sont appelés les sommets. A est un ensemble de couples

Plus en détail

À propos des matrices échelonnées

À propos des matrices échelonnées À propos des matrices échelonnées Antoine Ducros appendice au cours de Géométrie affine et euclidienne dispensé à l Université Paris 6 Année universitaire 2011-2012 Introduction Soit k un corps, soit E

Plus en détail

Eléments de Théorie des Graphes

Eléments de Théorie des Graphes INSTITUT NATIONAL POLYTECHNIQUE DE LORRAINE Ecole Nationale Supérieure d Electricité et de Mécanique Eléments de Théorie des Graphes Didier Maquin Version provisoire du mai 00 Table des matières Avant

Plus en détail

Recherche opérationnelle. Programmation linéaire et recherche opérationnelle. Programmation linéaire. Des problèmes de RO que vous savez résoudre

Recherche opérationnelle. Programmation linéaire et recherche opérationnelle. Programmation linéaire. Des problèmes de RO que vous savez résoudre Recherche opérationnelle Programmation linéaire et recherche opérationnelle Ioan Todinca Ioan.Todinca@univ-orleans.fr tél. 0 38 41 7 93 bureau : en bas à gauche Tentative de définition Ensemble de méthodes

Plus en détail

Machine de Turing. Informatique II Algorithmique 1

Machine de Turing. Informatique II Algorithmique 1 Machine de Turing Nous avons vu qu un programme peut être considéré comme la décomposition de la tâche à réaliser en une séquence d instructions élémentaires (manipulant des données élémentaires) compréhensibles

Plus en détail

Exercices théoriques

Exercices théoriques École normale supérieure 2008-2009 Département d informatique Algorithmique et Programmation TD n 9 : Programmation Linéaire Avec Solutions Exercices théoriques Rappel : Dual d un programme linéaire cf.

Plus en détail

Support du cours de Probabilités IUT d Orléans, Département d informatique

Support du cours de Probabilités IUT d Orléans, Département d informatique Support du cours de Probabilités IUT d Orléans, Département d informatique Pierre Andreoletti IUT d Orléans Laboratoire MAPMO (Bât. de Mathématiques UFR Sciences) - Bureau 126 email: pierre.andreoletti@univ-orleans.fr

Plus en détail

Fonctions homographiques

Fonctions homographiques Fonctions homographiques On donne ci-dessous deux définitions des fonctions homographiques, et on montre que ces deux définitions sont équivalentes. On décrit la courbe représentative d une fonction homographique.

Plus en détail

Enveloppes convexes dans le plan

Enveloppes convexes dans le plan ÉCOLE POLYTECHNIQUE ÉCOLES NORMALES SUPÉRIEURES ÉCOLE SUPÉRIEURE DE PHYSIQUE ET DE CHIMIE INDUSTRIELLES CONCOURS D ADMISSION FILIÈRE MP HORS SPÉCIALITÉ INFO FILIÈRE PC COMPOSITION D INFORMATIQUE B (XECLR)

Plus en détail

Points fixes de fonctions à domaine fini

Points fixes de fonctions à domaine fini ÉCOLE POLYTECHNIQUE ÉCOLE NORMALE SUPÉRIEURE DE CACHAN ÉCOLE SUPÉRIEURE DE PHYSIQUE ET DE CHIMIE INDUSTRIELLES CONCOURS D ADMISSION 2013 FILIÈRE MP HORS SPÉCIALITÉ INFO FILIÈRE PC COMPOSITION D INFORMATIQUE

Plus en détail

Un corrigé de l épreuve de mathématiques du baccalauréat blanc

Un corrigé de l épreuve de mathématiques du baccalauréat blanc Terminale ES Un corrigé de l épreuve de mathématiques du baccalauréat blanc EXERCICE ( points). Commun à tous les candidats On considère une fonction f : définie, continue et doublement dérivable sur l

Plus en détail

Épreuve d informatique 2011

Épreuve d informatique 2011 A 2011 INFO. MP ÉCOLE NATIONALE DES PONTS ET CHAUSSÉES, ÉCOLES NATIONALES SUPÉRIEURES DE L AÉRONAUTIQUE ET DE L ESPACE, DE TECHNIQUES AVANCÉES, DES TÉLÉCOMMUNICATIONS, DES MINES DE PARIS, DES MINES DE

Plus en détail

Le problème des multiplications matricielles enchaînées peut être énoncé comme suit : étant

Le problème des multiplications matricielles enchaînées peut être énoncé comme suit : étant Licence informatique - L Année 0/0 Conception d algorithmes et applications (LI) COURS Résumé. Dans cette cinquième séance, nous continuons l exploration des algorithmes de type Programmation Dynamique.

Plus en détail

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

Théorie des Graphes Cours 3: Forêts et Arbres II / Modélisation IFIPS S7 - informatique Université Paris-Sud 11 1er semestre 2009/2010 Théorie des Graphes Cours 3: Forêts et Arbres II / 1 Forêts et arbres II Théorème 1.1. Les assertions suivantes sont équivalentes

Plus en détail

Fonctions de plusieurs variables

Fonctions de plusieurs variables Module : Analyse 03 Chapitre 00 : Fonctions de plusieurs variables Généralités et Rappels des notions topologiques dans : Qu est- ce que?: Mathématiquement, n étant un entier non nul, on définit comme

Plus en détail

Les supports de cours suivants font référence au cours de Mr SOL et à son livre : "Accès à l'université" chez DUNOD

Les supports de cours suivants font référence au cours de Mr SOL et à son livre : Accès à l'université chez DUNOD Les supports de cours suivants font référence au cours de Mr SOL et à son livre : "Accès à l'université" chez DUNOD Les supports de cours ne sont pas complets, ils ne contiennent ni les démonstrations,

Plus en détail

Plus courts et plus longs chemins

Plus courts et plus longs chemins Plus courts et plus longs chemins Complément au chapitre 8 «Une voiture nous attend» Soit I={1,2,,n} un ensemble de tâches à ordonnancer. La durée d exécution de chaque tâche i est connue et égale à p

Plus en détail

Cours de. Pierre Lopez

Cours de. Pierre Lopez Cours de GRAPHES Pierre Lopez LAAS CNRS avril 8 http://www.laas.fr/~lopez/cours/graphes/graphes.html Résumé Ce cours constitue une introduction à la théorie des graphes. Le contenu est composé de quatre

Plus en détail

Primitives Cours maths Terminale S

Primitives Cours maths Terminale S Primitives Cours maths Terminale S Dans ce module est introduite la notion de primitive d une fonction sur un intervalle. On définit cette notion puis on montre qu une fonction admet une infinité de primitives

Plus en détail

Chapitre 6. Modélisation en P.L.I. 6.1 Lien entre PL et PLI. 6.1.1 Approximation de la PLI

Chapitre 6. Modélisation en P.L.I. 6.1 Lien entre PL et PLI. 6.1.1 Approximation de la PLI Chapitre 6 Modélisation en P.L.I. 6.1 Lien entre PL et PLI (P) problème de PL. On restreint les variables à être entières : on a un problème de PLI (ILP en anglais). On restreint certaines variables à

Plus en détail

Licence de Sciences et Technologies. Fiche de cours 1 - Nombres réels.

Licence de Sciences et Technologies. Fiche de cours 1 - Nombres réels. Licence de Sciences et Technologies EM21 - Analyse Fiche de cours 1 - Nombres réels. On connaît les ensembles suivants, tous munis d une addition, d une multiplication, et d une relation d ordre compatibles

Plus en détail

Algorithmes pour les graphes

Algorithmes pour les graphes Algorithmes pour les graphes 1 Définitions Un graphe est représenté par : V : L ensemble des noeuds ou sommets. E : L ensemble des arcs ou arrêtes. E est un sous-ensemble de V xv. On note G = (V, E). Si

Plus en détail

Cours de Mathématiques Seconde. Généralités sur les fonctions

Cours de Mathématiques Seconde. Généralités sur les fonctions Cours de Mathématiques Seconde Frédéric Demoulin 1 Dernière révision : 16 avril 007 Document diffusé via le site www.bacamaths.net de Gilles Costantini 1 frederic.demoulin (chez) voila.fr gilles.costantini

Plus en détail

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

La programmation linéaire : une introduction. Qu est-ce qu un programme linéaire? Terminologie. Écriture mathématique La programmation linéaire : une introduction Qu est-ce qu un programme linéaire? Qu est-ce qu un programme linéaire? Exemples : allocation de ressources problème de recouvrement Hypothèses de la programmation

Plus en détail

Correction de l épreuve intermédiaire de mai 2009.

Correction de l épreuve intermédiaire de mai 2009. Licence de Gestion. 3ème Année Année universitaire 8-9 Optimisation Appliquée C. Léonard Correction de l épreuve intermédiaire de mai 9. Exercice 1 Avec les notations du cours démontrer que la solution

Plus en détail

Graphes Pour la Terminale ES

Graphes Pour la Terminale ES Graphes Pour la Terminale ES Groupe IREM de Luminy Pierre Arnoux Fernand Didier Catherine Dufossé Nicolas Lichiardopol Christian Mauduit Dominique Proudhon Christiane Rambaud 18 octobre 2002 Table des

Plus en détail

Quelques problèmes NP-complets

Quelques problèmes NP-complets Chapitre 12 Quelques problèmes NP-complets Maintenant que nous connaissons la NP-complétude d au moins un problème (SAT), nous allons montrer qu un très grand nombre de problèmes sont NP-complets. Le livre

Plus en détail

Applications linéaires

Applications linéaires Applications linéaires I) Applications linéaires - Généralités 1.1) Introduction L'idée d'application linéaire est intimement liée à celle d'espace vectoriel. Elle traduit la stabilité par combinaison

Plus en détail

Heuristique et métaheuristique. 8. Optimisation combinatoire et métaheuristiques. Optimisation combinatoire. Problème du voyageur de commerce

Heuristique et métaheuristique. 8. Optimisation combinatoire et métaheuristiques. Optimisation combinatoire. Problème du voyageur de commerce Heuristique et métaheuristique IFT1575 Modèles de recherche opérationnelle (RO) 8. Optimisation combinatoire et métaheuristiques Un algorithme heuristique permet d identifier au moins une solution réalisable

Plus en détail

Factorisation des matrices creuses

Factorisation des matrices creuses Chapitre 5 Factorisation des matrices creuses 5.1 Matrices creuses La plupart des codes de simulation numérique en mécanique des fluides ou des structures et en électromagnétisme utilisent des discrétisations

Plus en détail

Table des matières I La programmation linéaire en variables continues 1 Présentation 3 1 Les bases de la programmation linéaire 5 1.1 Formulation d'un problème de programmation linéaire........... 5 1.2

Plus en détail

Notes de cours de spé maths en Terminale ES

Notes de cours de spé maths en Terminale ES Spé maths Terminale ES Lycée Georges Imbert 05/06 Notes de cours de spé maths en Terminale ES O. Lader Table des matières Recherche de courbes sous contraintes, matrices. Systèmes linéaires.......................................

Plus en détail

INTRODUCTION AUX PROBLEMES COMBINATOIRES "DIFFICILES" : LE PROBLEME DU VOYAGEUR DE COMMERCE ET LE PROBLEME DE COLORATION D'UN GRAPHE

INTRODUCTION AUX PROBLEMES COMBINATOIRES DIFFICILES : LE PROBLEME DU VOYAGEUR DE COMMERCE ET LE PROBLEME DE COLORATION D'UN GRAPHE Leçon 10 INTRODUCTION AUX PROBLEMES COMBINATOIRES "DIFFICILES" : LE PROBLEME DU VOYAGEUR DE COMMERCE ET LE PROBLEME DE COLORATION D'UN GRAPHE Dans cette leçon, nous présentons deux problèmes très célèbres,

Plus en détail

Exo7. Matrice d une application linéaire. Corrections d Arnaud Bodin.

Exo7. Matrice d une application linéaire. Corrections d Arnaud Bodin. Exo7 Matrice d une application linéaire Corrections d Arnaud odin. Exercice Soit R muni de la base canonique = ( i, j). Soit f : R R la projection sur l axe des abscisses R i parallèlement à R( i + j).

Plus en détail

L enseignement de l algorithmique au Lycée

L enseignement de l algorithmique au Lycée L enseignement de l algorithmique au Lycée Sisteron 12 novembre 2009 Fernand Didier didier@irem.univ-mrs.fr Approche naïve C est une méthode, une façon systématique de procéder, pour faire quelque chose

Plus en détail

Le raisonnement par récurrence

Le raisonnement par récurrence Le raisonnement par récurrence Nous notons N l ensemble des entiers naturels : N = {0,,, } Nous dirons naturel au lieu de entier naturel Le principe du raisonnement par récurrence Soit A une partie de

Plus en détail

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

Objectifs du cours d aujourd hui. Informatique II : Cours d introduction à l informatique et à la programmation objet. Complexité d un problème (2) Objectifs du cours d aujourd hui Informatique II : Cours d introduction à l informatique et à la programmation objet Complexité des problèmes Introduire la notion de complexité d un problème Présenter

Plus en détail

BJ - RELATIONS BINAIRES

BJ - RELATIONS BINAIRES BJ - RELATIONS BINAIRES Définitions Soit A et B deux ensembles non vides, et G une partie de A B. On dit qu un élément x de A est relié à un élément y de B par une relation binaire de graphe G, si le couple

Plus en détail

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

Université Paris-Dauphine DUMI2E 1ère année, 2009-2010. Applications Université Paris-Dauphine DUMI2E 1ère année, 2009-2010 Applications 1 Introduction Une fonction f (plus précisément, une fonction réelle d une variable réelle) est une règle qui associe à tout réel x au

Plus en détail

Partie I Le consommateur et la demande

Partie I Le consommateur et la demande Partie I Le consommateur et la demande Chapitre 1 La fonction d utilité 1 Plan du cours 1. Le consommateur. 2. La notion d utilité. 3. Les courbes d indifférence. 4. L optimum du consommateur. 5. Exercices.

Plus en détail

Algorithmique et Programmation Projets 2012/2013

Algorithmique et Programmation Projets 2012/2013 3 Dames 3. Objectif Il s agit d écrire un programme jouant aux Dames selon les règles. Le programme doit être le meilleur possible. Vous utiliserez pour cela l algorithme α β de recherche du meilleur coup

Plus en détail

Partie II. Supplémentaires d un sous-espace donné. Partie I. Partie III. Supplémentaire commun. MPSI B 8 octobre 2015

Partie II. Supplémentaires d un sous-espace donné. Partie I. Partie III. Supplémentaire commun. MPSI B 8 octobre 2015 Énoncé Dans tout le problème, K est un sous-corps de C. On utilisera en particulier que K n est pas un ensemble fini. Tous les espaces vectoriels considérés sont des K espaces vectoriels de dimension finie.

Plus en détail

Systèmes linéaires. 1. Introduction aux systèmes d équations linéaires. Exo7. 1.1. Exemple : deux droites dans le plan

Systèmes linéaires. 1. Introduction aux systèmes d équations linéaires. Exo7. 1.1. Exemple : deux droites dans le plan Exo7 Systèmes linéaires Vidéo partie 1. Introduction aux systèmes d'équations linéaires Vidéo partie 2. Théorie des systèmes linéaires Vidéo partie 3. Résolution par la méthode du pivot de Gauss 1. Introduction

Plus en détail

Programmation linéaire

Programmation linéaire 1 Programmation linéaire 1. Le problème, un exemple. 2. Le cas b = 0 3. Théorème de dualité 4. L algorithme du simplexe 5. Problèmes équivalents 6. Complexité de l Algorithme 2 Position du problème Soit

Plus en détail

Partie I : Automates et langages

Partie I : Automates et langages 2 Les calculatrices sont interdites. N.B. : Le candidat attachera la plus grande importance à la clarté, à la précision et à la concision de la rédaction. Si un candidat est amené à repérer ce qui peut

Plus en détail

Chapitre 7. Problèmes de flots. 7.1 Exemple. 7.2 Notions de base sur les graphes

Chapitre 7. Problèmes de flots. 7.1 Exemple. 7.2 Notions de base sur les graphes Chapitre 7 Problèmes de flots. 7.1 Exemple. Un réseau electrique est formé de lignes reliant des noeuds (transformateurs, centre de redistributions,...), chaque ligne a une capacité de transport maximale.

Plus en détail

Concours 2015 Épreuve d Informatique Filière : MP Durée de l épreuve : 3 heures. L utilisation d une calculatrice est autorisée.

Concours 2015 Épreuve d Informatique Filière : MP Durée de l épreuve : 3 heures. L utilisation d une calculatrice est autorisée. A 2015 INFO. MP École des Ponts ParisTech, SUPAERO (ISAE), ENSTA ParisTech, Télécom ParisTech, Mines ParisTech, Mines de Saint-étienne, Mines Nancy, Télécom Bretagne, ENSAE ParisTech (filière MP), École

Plus en détail

Groupes et Actions de groupes. 1 Groupes, morphismes et actions de groupes.

Groupes et Actions de groupes. 1 Groupes, morphismes et actions de groupes. Groupes et Actions de groupes On présente ici des notions de base de théorie des groupes pour l agrégation interne. 1 Groupes, morphismes et actions de groupes. Un groupe (G, ), ou plus simplement G, est

Plus en détail

THÉORIE ÉLÉMENTAIRE DES GRAPHES Une approche par les problèmes

THÉORIE ÉLÉMENTAIRE DES GRAPHES Une approche par les problèmes THÉORIE ÉLÉENTAIRE DE GRAPHE Une approche par les problèmes I. CHERCHER UN BON CHEIN POUR RÉOUDRE UN PROBLÈE Problème n. Les ponts de la ville de Königsberg La ville de Königsberg (Prusse orientale) comptait

Plus en détail

P R O G R A M M E E T I N S T R U C T I O N S O F F I C I E L L E S

P R O G R A M M E E T I N S T R U C T I O N S O F F I C I E L L E S P R O G R A M M E E T I N S T R U C T I O N S O F F I C I E L L E S POUR L ENSEIGNEMENT DE L INFORMATIQUE MPSI première année I. Objectifs de la formation II-1 Développement de compétences et d aptitudes

Plus en détail

Le corps R des nombres réels

Le corps R des nombres réels Le corps R des nombres réels. Construction de R à l aide des suites de Cauchy de nombres rationnels On explique brièvement dans ce paragraphe comment construire le corps R des nombres réels à partir du

Plus en détail

Chapitre 2 : Représentation des nombres en machine

Chapitre 2 : Représentation des nombres en machine Chapitre 2 : Représentation des nombres en machine Introduction La mémoire des ordinateurs est constituée d une multitude de petits circuits électroniques qui ne peuvent être que dans deux états : sous

Plus en détail

Aspects théoriques et algorithmiques du calcul réparti Placement - Compléments

Aspects théoriques et algorithmiques du calcul réparti Placement - Compléments A- 0/0 Aspects théoriques et algorithmiques du calcul réparti Placement - Compléments Patrick CIARLET Enseignant-Chercheur UMA patrick.ciarlet@ensta-paristech.fr Françoise LAMOUR franc.lamour@gmail.com

Plus en détail

Les graphes planaires

Les graphes planaires Les graphes planaires Complément au chapitre 2 «Les villas du Bellevue» Dans le chapitre «Les villas du Bellevue», Manori donne la définition suivante à Sébastien. Définition Un graphe est «planaire» si

Plus en détail

Un tout petit peu d homotopie

Un tout petit peu d homotopie Vincent Beck On note I = [ 0, 1 ]. Un tout petit peu d homotopie 0.1 Homotopie Définition 1 Applications homotopes. Soient X, Y deux espaces topologiques et f, g : X Y deux applications continues. On dit

Plus en détail

Chapitre 6. Programmation Dynamique. Méthodes P.S.E.P. 6.1 Programmation dynamique. 6.1.1 Exemple introductif

Chapitre 6. Programmation Dynamique. Méthodes P.S.E.P. 6.1 Programmation dynamique. 6.1.1 Exemple introductif Chapitre 6 Programmation Dynamique. Méthodes P.S.E.P. 6.1 Programmation dynamique 6.1.1 Exemple introductif Problème : n matrices M i (m i, m i+1 ) à multiplier en minimisant le nombre de multiplications,

Plus en détail

Leçon 6. Savoir compter

Leçon 6. Savoir compter Leçon 6. Savoir compter Cette leçon est une introduction aux questions de dénombrements. Il s agit, d une part, de compter certains objets mathématiques (éléments, parties, applications,...) et, d autre

Plus en détail

Projet informatique «Voyageur de commerce» Résolution approchée par algorithme génétique du problème du voyageur de commerce

Projet informatique «Voyageur de commerce» Résolution approchée par algorithme génétique du problème du voyageur de commerce Année 2007-2008 Projet informatique «Voyageur de commerce» Résolution approchée par algorithme génétique du problème du voyageur de commerce B. Monsuez Projet informatique «Voyageur de commerce» Résolution

Plus en détail

Programmation Linéaire - Cours 2

Programmation Linéaire - Cours 2 Programmation Linéaire - Cours 2 P. Pesneau pierre.pesneau@math.u-bordeaux1.fr Université Bordeaux 1 Bât A33 - Bur 265 Sommaire 1 2 3 Retournons dans le yaourt! Reprenons l exemple du 1er cours Forme normale

Plus en détail

Image d un intervalle par une fonction continue

Image d un intervalle par une fonction continue DOCUMENT 27 Image d un intervalle par une fonction continue La continuité d une fonction en un point est une propriété locale : une fonction est continue en un point x 0 si et seulement si sa restriction

Plus en détail

INF-130 Travail Pratique #2

INF-130 Travail Pratique #2 École de technologie supérieure INF-30 Travail Pratique #2 Travail individuel Tracé d un métro Francis Bourdeau, Frédérick Henri et Patrick Salois Remise à la 0 e semaine. Objectifs - Amener l étudiant

Plus en détail

Théorie des Langages

Théorie des Langages Théorie des Langages Automates Claude Moulin Université de Technologie de Compiègne Printemps 2013 Sommaire 1 Automate fini 2 Automate et langages réguliers 3 Automate à pile Automate fini déterministe

Plus en détail

BACCALAUREAT GENERAL MATHÉMATIQUES

BACCALAUREAT GENERAL MATHÉMATIQUES BACCALAUREAT GENERAL FEVRIER 2014 MATHÉMATIQUES SERIE : ES Durée de l épreuve : 3 heures Coefficient : 5 (ES), 4 (L) 7(spe ES) Les calculatrices électroniques de poche sont autorisées, conformement à la

Plus en détail

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

Chapitre 2 Le problème de l unicité des solutions Université Joseph Fourier UE MAT 127 Mathématiques année 2011-2012 Chapitre 2 Le problème de l unicité des solutions Ce que nous verrons dans ce chapitre : un exemple d équation différentielle y = f(y)

Plus en détail

Computix. Dans la colonne du 10, B choisit le 7 inférieur A 10 B 7

Computix. Dans la colonne du 10, B choisit le 7 inférieur A 10 B 7 Computix Matériel : grilles carrées comportant un nombre impair de cases. Quelques-unes sont données en annexe ; mais on peut aussi les construire soi-même, ou les faire construire par les élèves. Elles

Plus en détail

Les graphes d intervalles

Les graphes d intervalles Les graphes d intervalles Complément au chapitre 3 «Vol aux archives cantonales» Considérons un ensemble de tâches ayant chacune une heure de début et une heure de fin bien précises. Supposons qu on demande

Plus en détail

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

Manuel d utilisation 26 juin 2011. 1 Tâche à effectuer : écrire un algorithme 2 éducalgo Manuel d utilisation 26 juin 2011 Table des matières 1 Tâche à effectuer : écrire un algorithme 2 2 Comment écrire un algorithme? 3 2.1 Avec quoi écrit-on? Avec les boutons d écriture........

Plus en détail

Notes de cours. Cours introductif sur la théorie des domaines. Modèles des langages de programmation Master Parisien de Recherche en Informatique

Notes de cours. Cours introductif sur la théorie des domaines. Modèles des langages de programmation Master Parisien de Recherche en Informatique Notes de cours Cours introductif sur la théorie des domaines Paul-André Melliès Modèles des langages de programmation Master Parisien de Recherche en Informatique 1 Ensembles ordonnés Definition 1.1 (ensemble

Plus en détail

Problèmes de Mathématiques Filtres et ultrafiltres

Problèmes de Mathématiques Filtres et ultrafiltres Énoncé Soit E un ensemble non vide. On dit qu un sous-ensemble F de P(E) est un filtre sur E si (P 0 ) F. (P 1 ) (X, Y ) F 2, X Y F. (P 2 ) X F, Y P(E) : X Y Y F. (P 3 ) / F. Première Partie 1. Que dire

Plus en détail

M2 MPRO. Optimisation dans les Graphes 2014-2015

M2 MPRO. Optimisation dans les Graphes 2014-2015 M2 MPRO Optimisation dans les Graphes 2014-2015 Programmation linéaire et problèmes d'optimisation dans les graphes 1 Problèmes d'optimisation dans les graphes : quelles méthodes pour les résoudre? Théorie

Plus en détail

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

La NP-complétude. Johanne Cohen. PRISM/CNRS, Versailles, France. La NP-complétude Johanne Cohen PRISM/CNRS, Versailles, France. Références 1. Algorithm Design, Jon Kleinberg, Eva Tardos, Addison-Wesley, 2006. 2. Computers and Intractability : A Guide to the Theory of

Plus en détail

UNIVERSITE D ORLEANS SL01MA11, Groupes 1 et 5 Département de Mathématiques 2009-2010. N. El Hage Hassan S EXPRIMER EN MATHÉMATIQUES

UNIVERSITE D ORLEANS SL01MA11, Groupes 1 et 5 Département de Mathématiques 2009-2010. N. El Hage Hassan S EXPRIMER EN MATHÉMATIQUES UNIVERSITE D ORLEANS SL01MA11, Groupes 1 et 5 Département de Mathématiques 2009-2010 N. El Hage Hassan S EXPRIMER EN MATHÉMATIQUES 1 Les énoncés La plupart des phrases que l on rencontre dans un livre

Plus en détail

Cours FPV - Semaine 3 : Recherche d Extrema et Formes Différentielles

Cours FPV - Semaine 3 : Recherche d Extrema et Formes Différentielles Cours FPV - Semaine 3 : Recherche d Extrema et Formes Différentielles Frédéric Messine Introduction Dans ce chapitre, nous allons étudier une application de la dérivation des fonctions de plusieurs variables

Plus en détail

Première STMG1 2014-2015 progression. - 1. Séquence : Proportion d une sous population dans une population.

Première STMG1 2014-2015 progression. - 1. Séquence : Proportion d une sous population dans une population. Première STMG1 2014-2015 progression. - 1 Table des matières Fil rouge. 3 Axes du programme. 3 Séquence : Proportion d une sous population dans une population. 3 Information chiffrée : connaître et exploiter

Plus en détail

Arbres couvrants minimaux

Arbres couvrants minimaux Arbres couvrants minimaux Algorithmique L François Laroussinie er décembre 00 Plan Définitions Algorithme de Prim Algorithme de Kruskal Application au voyageur de commerce Plan Définitions Algorithme de

Plus en détail

Activité 2. Cheminer dans un graphe (chaînes, cycles, etc..)

Activité 2. Cheminer dans un graphe (chaînes, cycles, etc..) TERMINALE ES Spécialité Mathématiques La théorie des graphes Activité Cheminer dans un graphe (chaînes, cycles, etc..). Vocabulaire Un graphe est dit simple s il est sans boucle (une boucle est une arête

Plus en détail

Exercices Alternatifs. Quelqu un aurait-il vu passer un polynôme?

Exercices Alternatifs. Quelqu un aurait-il vu passer un polynôme? Exercices Alternatifs Quelqu un aurait-il vu passer un polynôme? c 2004 Frédéric Le Roux, François Béguin (copyleft LDL : Licence pour Documents Libres). Sources et figures: polynome-lagrange/. Version

Plus en détail

Exercices Alternatifs. Quelqu un aurait-il vu passer un polynôme?

Exercices Alternatifs. Quelqu un aurait-il vu passer un polynôme? Exercices Alternatifs Quelqu un aurait-il vu passer un polynôme? c 2004 Frédéric Le Roux, François Béguin (copyleft LDL : Licence pour Documents Libres). Sources et figures: polynome-lagrange/. Version

Plus en détail

La notion de dualité

La notion de dualité La notion de dualité Dual d un PL sous forme standard Un programme linéaire est caractérisé par le tableau simplexe [ ] A b. c Par définition, le problème dual est obtenu en transposant ce tableau. [ A

Plus en détail

Texte Agrégation limitée par diffusion interne

Texte Agrégation limitée par diffusion interne Page n 1. Texte Agrégation limitée par diffusion interne 1 Le phénomène observé Un fût de déchets radioactifs est enterré secrètement dans le Cantal. Au bout de quelques années, il devient poreux et laisse

Plus en détail

Applications #2 Problème du voyageur de commerce (TSP)

Applications #2 Problème du voyageur de commerce (TSP) Applications #2 Problème du voyageur de commerce (TSP) MTH6311 S. Le Digabel, École Polytechnique de Montréal H2014 (v2) MTH6311: Heuristiques pour le TSP 1/34 Plan 1. Introduction 2. Formulations MIP

Plus en détail

Quadrature n 74 (2009) 10 22. Online Material

Quadrature n 74 (2009) 10 22. Online Material Quadrature n 74 (009) 10 Online Material E. Brugallé, Online Material Un peu de géométrie tropicale Solutions des exercices Erwan Brugallé Université Pierre et Marie Curie, Paris 6, 175 rue du Chevaleret,

Plus en détail

Espace de probabilité, indépendance et probabilité conditionnelle

Espace de probabilité, indépendance et probabilité conditionnelle Chapter 2 Espace de probabilité, indépendance et probabilité conditionnelle Sommaire 2.1 Tribu et événements........................................... 15 2.2 Probabilité................................................

Plus en détail

Calculs approchés d un point fixe

Calculs approchés d un point fixe M11 ÉPREUVE COMMUNE DE TIPE 2013 - Partie D TITRE : Calculs approchés d un point fixe Temps de préparation :.. 2 h 15 minutes Temps de présentation devant les examinateurs :.10 minutes Dialogue avec les

Plus en détail

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

Eteindre. les. lumières MATH EN JEAN 2013-2014. Mme BACHOC. Elèves de seconde, première et terminale scientifiques : MTH EN JEN 2013-2014 Elèves de seconde, première et terminale scientifiques : Lycée Michel Montaigne : HERITEL ôme T S POLLOZE Hélène 1 S SOK Sophie 1 S Eteindre Lycée Sud Médoc : ROSIO Gauthier 2 nd PELGE

Plus en détail

Algèbre Année 2007-2008 ENS Cachan Vincent Beck. Action de groupes

Algèbre Année 2007-2008 ENS Cachan Vincent Beck. Action de groupes Algèbre Année 2007-2008 ENS Cachan Vincent Beck Action de groupes L idée centrale de cette note est de mettre en évidence le fait fondamental suivant une action d un groupe G sur un ensemble X, «c est»

Plus en détail

Peut-on parcourir une fois et une seule les arêtes des graphes ci-dessous sans lever le crayon?

Peut-on parcourir une fois et une seule les arêtes des graphes ci-dessous sans lever le crayon? Exercices Dans les exemples ci-dessous, on a parfois construit les graphes et donné quelques éléments de réponse afin d'avoir assez vite une idée générale de ce qui est proposé : on indique aussi les contenus

Plus en détail

Programmation Linéaire Cours 1 : programmes linéaires, modélisation et résolution graphique

Programmation Linéaire Cours 1 : programmes linéaires, modélisation et résolution graphique Programmation Linéaire Cours 1 : programmes linéaires, modélisation et résolution graphique F. Clautiaux francois.clautiaux@math.u-bordeaux1.fr Université Bordeaux 1 Bât A33 Motivation et objectif du cours

Plus en détail