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

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

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

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

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

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

À 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

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

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

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

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

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

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

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

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

Deuxième partie II ALGORITHMES DANS LES GRAPHES

Deuxième partie II ALGORITHMES DANS LES GRAPHES Deuxième partie II ALGORITHMES DANS LES GRAPHES Représentation des graphes Représentation en mémoire : matrice d incidence / Matrice d incidence Soit G = (, E) graphe simple non orienté avec n = et m =

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

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

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

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

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

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

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

Formation IREM Lille sur les graphes

Formation IREM Lille sur les graphes Formation IREM Lille sur les graphes Bernhard Beckermann, Labo Painlevé (ANO-EDP), UST Lille bbecker@ano.univ-lille1.fr http://math.univ-lille1.fr/ bbecker Villeneuve d Ascq, 7 Octobre 2004 B. Beckermann

Plus en détail

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

Introduction à la théorie des graphes. Solutions des exercices CAHIERS DE LA CRM Introduction à la théorie des graphes Solutions des exercices Didier Müller CAHIER N O 6 COMMISSION ROMANDE DE MATHÉMATIQUE 1 Graphes non orientés Exercice 1 On obtient le graphe biparti

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

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

Actions de groupes. Exemples et applications

Actions de groupes. Exemples et applications 4 Actions de groupes. Exemples et applications G, ) est un groupe multiplicatif et on note ou G si nécessaire) l élément neutre. E est un ensemble non vide et S E) est le groupe des permutations de E.

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

LE PROBLEME DU PLUS COURT CHEMIN

LE PROBLEME DU PLUS COURT CHEMIN LE PROBLEME DU PLUS COURT CHEMIN Dans cette leçon nous définissons le modèle de plus court chemin, présentons des exemples d'application et proposons un algorithme de résolution dans le cas où les longueurs

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

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

Espaces vectoriels et applications linéaires

Espaces vectoriels et applications linéaires Espaces vectoriels et applications linéaires Exercice 1 On considère l'ensemble E des matrices carrées d'ordre 3 défini par,,, 1) Montrer que est un sous-espace vectoriel de l'espace vectoriel des matrices

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

É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

INTRODUCTION A L OPTIMISATION

INTRODUCTION A L OPTIMISATION INTRODUCTION A L OPTIMISATION Les domaines d application L optimisation est essentiellement un outil d aide à la décision au sein de l entreprise, mais aussi pour des individus. Le terme optimal est souvent

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

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

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

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

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

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

IV.1 Dual d un espace vectoriel... 77

IV.1 Dual d un espace vectoriel... 77 76 IV FORMES LINÉAIRES, DUALITÉ IV Formes linéaires, dualité Sommaire IV.1 Dual d un espace vectoriel.......... 77 IV.1.a Rappels sur les e.v................... 77 IV.1.b Rappels sur les applications linéaires........

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

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

Notes de cours L1 MATH120. Hervé Le Dret

Notes de cours L1 MATH120. Hervé Le Dret Notes de cours L1 MATH120 Hervé Le Dret 18 octobre 2004 40 Chapitre 3 Vecteurs dans R m Dans ce chapitre, nous allons nous familiariser avec la notion de vecteur du point de vue algébrique. Nous reviendrons

Plus en détail

VIII Relations d ordre

VIII Relations d ordre VIII Relations d ordre 20 février 2015 Dans tout ce chapitre, E est un ensemble. 1. Relations binaires Définition 1.0.1. On appelle relation binaire sur E tout triplet R = (E, E, Γ) où Γ est une partie

Plus en détail

Démonstrations. Chapitre 4. 4.1 Introduction

Démonstrations. Chapitre 4. 4.1 Introduction Chapitre 4 Démonstrations L objectif de ce chapitre est de commencer à aborder la question fondamentale suivante : qu est-ce qu une démonstration? Pour cela, plus précisément, on va se focaliser dans ce

Plus en détail

COURS ET DM AR4 : GROUPE SYMÉTRIQUE II, ACTION DE GROUPE

COURS ET DM AR4 : GROUPE SYMÉTRIQUE II, ACTION DE GROUPE COURS ET DM AR4 : GROUPE SYMÉTRIQUE II, ACTION DE GROUPE FRANÇOIS MAUCOURANT 1. Signature d une permutation Définition 1.1. Soit σ S n une permutations, k le nombre de σ-orbites. On définit la signature

Plus en détail

est diagonale si tous ses coefficients en dehors de la diagonale sont nuls.

est diagonale si tous ses coefficients en dehors de la diagonale sont nuls. Diagonalisation des matrices http://www.math-info.univ-paris5.fr/~ycart/mc2/node2.html Sous-sections Matrices diagonales Valeurs propres et vecteurs propres Polynôme caractéristique Exemples Illustration

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

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

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

Fondements de l informatique: Examen Durée: 3h

Fondements de l informatique: Examen Durée: 3h École polytechnique X2013 INF412 Fondements de l informatique Fondements de l informatique: Examen Durée: 3h Sujet proposé par Olivier Bournez Version 3 (corrigé) L énoncé comporte 4 parties (sections),

Plus en détail

Théorie des ensembles

Théorie des ensembles Théorie des ensembles Cours de licence d informatique Saint-Etienne 2002/2003 Bruno Deschamps 2 Contents 1 Eléments de théorie des ensembles 3 1.1 Introduction au calcul propositionnel..................

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

Algorithmique des graphes quelques notes de cours. Ioan Todinca, avec le concours de Julien Tesson

Algorithmique des graphes quelques notes de cours. Ioan Todinca, avec le concours de Julien Tesson Algorithmique des graphes quelques notes de cours Ioan Todinca, avec le concours de Julien Tesson 29 avril 2008 2 Table des matières I Algorithmes de base 5 1 Généralités 7 1.1 Dénitions et notations...............................

Plus en détail

SYSTEMES EXERCICES CORRIGES

SYSTEMES EXERCICES CORRIGES Exercice n. SYSTEMES EXERCICES CRRIGES Parmi les couples (8,), (,-,5), (,), (5,), lequel est solution du système Exercice n. x+ y = 7x y= 8 Résoudre par substitution : ) ) x 5y = x+ y= 6 x+ y = 6 5x y=

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

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

Souad EL Bernoussi. Groupe d Analyse Numérique et Optimisation Rabat http ://www.fsr.ac.ma/ano/

Souad EL Bernoussi. Groupe d Analyse Numérique et Optimisation Rabat http ://www.fsr.ac.ma/ano/ Recherche opérationnelle Les démonstrations et les exemples seront traités en cours Souad EL Bernoussi Groupe d Analyse Numérique et Optimisation Rabat http ://www.fsr.ac.ma/ano/ Table des matières 1 Programmation

Plus en détail

Mathématiques appliquées à l informatique

Mathématiques appliquées à l informatique Mathématiques appliquées à l informatique Jean-Etienne Poirrier 15 décembre 2005 Table des matières 1 Matrices 3 1.1 Définition......................................... 3 1.2 Les différents types de matrices.............................

Plus en détail

Matrices. 1. Définition. Exo7. 1.1. Définition

Matrices. 1. Définition. Exo7. 1.1. Définition Exo7 Matrices Vidéo partie 1 Définition Vidéo partie 2 Multiplication de matrices Vidéo partie 3 Inverse d'une matrice : définition Vidéo partie 4 Inverse d'une matrice : calcul Vidéo partie 5 Inverse

Plus en détail

L essentiel du cours 2014/2015 Terminale S Spécialité Maths, Lycée Français de Valence

L essentiel du cours 2014/2015 Terminale S Spécialité Maths, Lycée Français de Valence L essentiel du cours 2014/2015 Terminale S Spécialité Maths, Lycée Français de Valence Sommaire 1. Arithmétique 2 1.1. Division euclidienne......................... 2 1.2. Congruences.............................

Plus en détail

Programme de Première

Programme de Première BAC TECHNO STAV 66 I. Algèbre Programme de Première Objectif 1 - Effectuer de manière autonome des calculs numériques ou algébriques, résoudre des équations ou inéquations en vue de résoudre des problèmes

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

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

Cours de mathématiques fondamentales 1 année, DUT GEA. Mourad Abouzaïd

Cours de mathématiques fondamentales 1 année, DUT GEA. Mourad Abouzaïd Cours de mathématiques fondamentales 1 année, DUT GEA Mourad Abouzaïd 9 décembre 2008 2 Table des matières Introduction 7 0 Rappels d algèbre élémentaire 9 0.1 Calcul algébrique................................

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

Sur l algorithme RSA

Sur l algorithme RSA Sur l algorithme RSA Le RSA a été inventé par Rivest, Shamir et Adleman en 1978. C est l exemple le plus courant de cryptographie asymétrique, toujours considéré comme sûr, avec la technologie actuelle,

Plus en détail

Fondamentaux pour les Mathématiques et l Informatique :

Fondamentaux pour les Mathématiques et l Informatique : Université Bordeaux 1 Licence de Sciences, Technologies, Santé Mathématiques, Informatique, Sciences de la Matière et Ingénierie M1MI1002 Fondamentaux pour les Mathématiques et l Informatique Fondamentaux

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

- Mobiliser les résultats sur le second degré dans le cadre de la résolution d un problème.

- Mobiliser les résultats sur le second degré dans le cadre de la résolution d un problème. Mathématiques - classe de 1ère des séries STI2D et STL. 1. Analyse On dote les élèves d outils mathématiques permettant de traiter des problèmes relevant de la modélisation de phénomènes continus ou discrets.

Plus en détail

Master Informatique Fondamentale - M1 Compilation

Master Informatique Fondamentale - M1 Compilation Master Informatique Fondamentale - M1 Compilation Analyse Statique Paul Feautrier ENS de Lyon Paul.Feautrier@ens-lyon.fr perso.ens-lyon.fr/paul.feautrier 12 mai 2007 1 / 38 Indécidabilité de la Terminaison

Plus en détail

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

Baccalauréat ES Polynésie (spécialité) 10 septembre 2014 Corrigé Baccalauréat ES Polynésie (spécialité) 10 septembre 2014 Corrigé A. P. M. E. P. Exercice 1 5 points 1. Réponse d. : 1 e Le coefficient directeur de la tangente est négatif et n est manifestement pas 2e

Plus en détail

RAPPORT DE STAGE : Création d un programme pour la reconnaissance de ballons récursivement arbitrairement partitionnables

RAPPORT DE STAGE : Création d un programme pour la reconnaissance de ballons récursivement arbitrairement partitionnables Laboratoire Bordelais de Recherche en Informatique Licence 3 : Informatique RAPPORT DE STAGE : Création d un programme pour la reconnaissance de ballons récursivement arbitrairement partitionnables Auteur

Plus en détail

BAC BLANC DE MATHÉMATIQUES TERMINALES ES et L CORRECTION SUCCINCTE. Coefficients 5, 7 ou 4. Année scolaire 2013-2014

BAC BLANC DE MATHÉMATIQUES TERMINALES ES et L CORRECTION SUCCINCTE. Coefficients 5, 7 ou 4. Année scolaire 2013-2014 BA BLAN DE MATHÉMATIQUES TERMINALES ES et L ORRETION SUINTE oefficients, ou Année scolaire - Durée heures Page sur 8 pages Année EXERIE. ommun à tous les candidats sur points Un club de remise en forme

Plus en détail

Logique informatique 2013-2014. Examen

Logique informatique 2013-2014. Examen Logique informatique 2013-2014. Examen 30 mai 2013. Durée 3h. Tous les documents sont autorisés. Seuls les résultats du cours peuvent être utilisés sans démonstration. Le barême et la longueur des solutions

Plus en détail

CHAPITRE V. de U U dans Hom(F, F ) est de classe C. b dans Hom(F,F ) est de classe C, l application b b. de U U

CHAPITRE V. de U U dans Hom(F, F ) est de classe C. b dans Hom(F,F ) est de classe C, l application b b. de U U CHAPITRE V FIBRÉS VECTORIELS 1. Fibrés vectoriels 1. Cartes et atlas vectoriels Soit B une variété différentielle. Considérons un B -ensemble, c est à-dire un ensemble M muni d une application p : M B.

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

Arithmétique modulaire et applications à la cryptographie

Arithmétique modulaire et applications à la cryptographie Arithmétique modulaire et applications à la cryptographie Etant donné un entier n, l arithmétique modulo n consiste à faire des calculs sur les restes dans la division euclidienne des entiers par n. Exemples

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

7.1 Un exemple en guise d introduction : Gérer les incompatibilités

7.1 Un exemple en guise d introduction : Gérer les incompatibilités CHAPITRE 7 COLORATION DE GRAPHES 51 Chapitre 7: Coloration de graphes 7.1 Un exemple en guise d introduction : Gérer les incompatibilités Problème : Une entreprise qui fabrique six sortes de produits chimiques

Plus en détail

Rappels sur les applications linéaires

Rappels sur les applications linéaires Rappels sur les applications linéaires 1 Définition d une application linéaire Définition 1 Soient E et F deux espaces vectoriels sur un même corps K et f une application de E dans F Dire que f est linéaire

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

OrdoNet, un outil de modélisation et d analyse des graphes potentiel-tâche sous Matlab

OrdoNet, un outil de modélisation et d analyse des graphes potentiel-tâche sous Matlab OrdoNet, un outil de modélisation et d analyse des graphes potentiel-tâche sous Matlab Bruno Sareni, Gérard Fontan,, Elodie Chanthery, Stéphane Caux {Gerard.Fontan, Bruno.Sareni, Stephane.Caux}@enseeiht.fr

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

Arithmétique binaire. Chapitre. 5.1 Notions. 5.1.1 Bit. 5.1.2 Mot

Arithmétique binaire. Chapitre. 5.1 Notions. 5.1.1 Bit. 5.1.2 Mot Chapitre 5 Arithmétique binaire L es codes sont manipulés au quotidien sans qu on s en rende compte, et leur compréhension est quasi instinctive. Le seul fait de lire fait appel au codage alphabétique,

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

PAD - Notes de cours. S. Rigal, D. Ruiz, et J. C. Satgé

PAD - Notes de cours. S. Rigal, D. Ruiz, et J. C. Satgé ALGÈBRE PAD - Notes de cours S. Rigal, D. Ruiz, et J. C. Satgé November 23, 2006 Table des Matières Espaces vectoriels Applications linéaires - Espaces vectoriels............................... 3 -. Approche

Plus en détail

Ensimag 2A. Rapport de TER. Application de la Recherche Opérationnelle à la Finance

Ensimag 2A. Rapport de TER. Application de la Recherche Opérationnelle à la Finance Ensimag 2A Rapport de TER Application de la Recherche Opérationnelle à la Finance Elève : Yuefei HUANG Tuteur : Zoltán SZIGETI Mai, 2010 2 Sommaire 1. Introduction... 3 2. Le marché des changes et arbitrage...

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

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

Base : une axiomatique

Base : une axiomatique Autour des groupes de réflexions Master 2 Mathématiques fondamentales Cours : Michel Broué Université Paris VII Denis Diderot TD : Vincent Beck Année 2005 2006 Base : une axiomatique a) D après (i), on

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

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

Programmation linéaire et Optimisation. Didier Smets

Programmation linéaire et Optimisation. Didier Smets Programmation linéaire et Optimisation Didier Smets Chapitre 1 Un problème d optimisation linéaire en dimension 2 On considère le cas d un fabricant d automobiles qui propose deux modèles à la vente, des

Plus en détail

Les indices à surplus constant

Les indices à surplus constant Les indices à surplus constant Une tentative de généralisation des indices à utilité constante On cherche ici en s inspirant des indices à utilité constante à définir un indice de prix de référence adapté

Plus en détail