Eléments de Théorie des Graphes

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

Download "Eléments de Théorie des Graphes"

Transcription

1 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

2

3 Table des matières Avant propos Un bref historique de la théorie des graphes Introduction 6. Qu est-ce qu un graphe? Graphes et applications multivoques Principales définitions Modes de représentation d un graphe 9. 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. 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 6 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 0 0. Le graphe potentiels-tâches Le graphe potentiels-étapes ou graphe PERT Résolution Compléments Annexe A - Implémentation de l algorithme de Moore-Dijkstra 6 Annexe B - Implémentation de l algorithme de Floyd 0 Annexe C - Implémentation de l algorithme de Prim Références

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

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-89) 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 à ces 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 (80-86). En 89, il inventa un casse-tête qu il vendit pour 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 (9), Ford et Fulkerson (96) et Roy (99). 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 98 (Berge, 98) 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. 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. 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 a = (y, x) appartient également à A. = (x, y) appartenant à A, l arc 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 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 ,,, -,,,, 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. Une arête ne doit pas intervenir plusieurs fois dans la séquence contrairement à un sommet. Le premier et le dernier sommet sont appelés (sommets) extrémités de la chaîne.

13 La longueur de la chaîne est égale au nombre d arêtes qui la composent. 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.

14 Le nombre p de classes d équivalence distinctes est appelé nombre de connexité du graphe. 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 = {,,,, } 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 7 6 8 Fig. 8 Graphe orienté C C C Fig. 9 Graphe réduit du graphe de la figure 8. 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 : si a i µ + µ 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 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.

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. 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.. 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.). 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

21 6. Le problème du plus court chemin Le problème de la recherche du plus court chemin dans un graphe se rencontre dans de nombreuses applications. On peut citer entre autres : les problèmes de tournées, certains problèmes d investissement et de gestion de stocks, les problèmes de programmation dynamique à états discrets et temps discret, les problèmes d optimisation de réseaux (routiers, télécommunications), certaines méthodes de traitement numérique du signal, de codage et de décodage de l information, les problèmes de labyrinthe et de récréations mathématiques. Le problème considéré se formule ainsi. Etant donné un graphe orienté G = (X, A), on associe à chaque arc a A un nombre l(a) R appelé longueur de l arc. On dit alors que G est valué par les longueurs l(a). Si a = (i, j), on utilisera également la notation l ij pour la longueur de l arc a. Le problème du plus court chemin entre deux sommets i et j sera de trouver un chemin µ(i, j) de i et j dont la longueur totale l(µ) = a µ(i,j) l(a) soit minimum. Ce problème a de nombreuses applications pratiques car la longueur l(a) peut s interpréter aussi bien comme un coût de transport sur l arc a, comme les dépenses de construction de l arc a, comme le temps nécessaire pour parcourir l arc a, etc. Selon les propriétés du graphe traité (les longueurs sont quelconques, positives ou toutes égales, le graphe est quelconque ou sans circuit) et selon le problème considéré (recherche du plus court chemin d un sommet à un autre, ou d un sommet à tous les autres, ou entre tous les couples de sommets) il existe de nombreux algorithmes permettant l obtention d une solution. Nous nous contenterons simplement ici de décrire les algorithmes les plus classiques, sans explorer toutes les situations. Dans beaucoup de situations, les longueurs sont positives. On utilisera alors l algorithme de Moore-Dijkstra pour calculer le plus court chemin d un sommet (arbitrairement le sommet numéro ) à tous les autres. Posons X = {,,..., n}. Soit l ij la longueur de l arc (i, j) si (i, j) A. Définissons π (i) comme la longueur minimum des chemins du sommet au sommet i ; en particulier π () = 0. L algorithme procède en n itérations. Au début de chacune des itérations, l ensemble des sommets est partitionné en deux sous-ensembles S et S = X\S. Le sous-ensemble S (initialisé à {}) contient les sommets définitivement marqués, c est-à-dire les sommets pour lesquels la marque π(i) représente effectivement la longueur du plus court chemin entre le sommet et le sommet i. Le complémentaire S contient tous les sommets ayant une marque provisoire définie par : k S : π(k) = min i S Γ k (π(i) + l ik ) On démontre alors aisément qu à une étape quelconque si j est le sommet de marque provisoire π(j) minimale c est-à-dire : π(j) = min (π(k)) k S

22 alors π(j) = π (j), c est-à-dire que le sommet j peut être inclus dans l ensemble S des sommets définitivement marqués (et, bien sûr, enlevé de S). On mettra donc à jour l ensemble S en incluant j (S S {j}) ainsi que les marques provisoires des sommets k de S reliés par un arc (j, k). Ceci se fera en considérant successivement tous les sommets k Γ(j) S et en remplaçant π(k) par π(j) + l jk chaque fois que π(j) + l jk < π(k). Si l on souhaite déterminer explicitement le plus court chemin, et non pas seulement sa longueur, on conservera, dans un tableau de prédécesseurs, l information selon laquelle le prédécesseur de k est j. Algorithme (Moore-Dijkstra) Recherche du plus court chemin entre deux sommets dans un graphe à longueurs positives. (a) - Initialisations S = {,,..., n} π() = 0 { li si i Γ() π(i) = + sinon (b) - Sélectionner j tel que π(j) = min (π(k)) k S Faire S S\{j} Si S = alors FIN (c) - Faire pour tout i S Γ(j) π(i) min (π(i), π(j) + l ji ) Retourner en (b) On trouvera en annexe A, un programme Matlab r implémentant cet algorithme. Sous Scilab c, la commande relative à la recherche du plus court chemin entre deux sommets se nomme shortest path. Considérons, à titre d exemple, le graphe de la figure 0. Les itérations de l algorithme précédent sont les suivantes : (a) S = {,,,, 6}, π() = 0, π() = 7, π() =, π() = π() = π(6) = (b) j =, S = {,,, 6} (c) S Γ() = {,, 6}, π() = min(7, + ) = 6, π() = min(, + ) =, π(6) = min(, + 7) = 8 (b) j =, S = {,, 6} (c) S Γ() = {, }, π() = min(6, + ) =, π() = min(, + ) = 8 (b) j =, S = {, 6} (c) S Γ() = {, 6}, π() = min(8, + ) = 8, π(6) = min(8, + ) = 6 (b) j = 6, S = {} (c) S Γ() = (b) j =, S =

23 7 7 6 Fig. 0 Graphe orienté Les longueurs des plus courts chemins seront donc : π() = 0, π() =, π() =, π() = 8, π() = et π(6) = 6 On peut également s intéresser à la détermination des plus courts chemins entre toutes les paires de sommets (on se place toujours dans la situation où les longueurs sont toutes positives). On peut, bien sûr, utiliser l algorithme précédent, mais son efficacité est faible devant ce type de problème. On préfèrera un algorithme se rattachant aux méthodes matricielles. L algorithme de Floyd que nous allons présenter est particulièrement simple dans sa mise en œuvre. Notons L = (l ij ) la matrice n n dont le terme (i, j) est égal à la longueur de l arc (i, j) si (i, j) A et + sinon (pour les termes diagonaux, on pose l ii = 0). Pour k n, notons L (k) = (l (k) ij ) la matrice dont le terme (i, j) représente la longueur minimale d un chemin d origine i et d extrémité j, et astreint à la condition que tous les sommets intermédiaires appartiennent au sous-ensemble {,,..., k}. Pour k = 0, on a L (0) = L, puisque l ij est la longueur du chemin direct (unique) entre i et j (sans sommet intermédiaire). On remarque alors que les matrices L (k) sont liées par la relation de récurrence : ( ) l (k) ij = min l (k ) ij, l (k ) ik + l (k ) kj En effet, deux situations peuvent se produire suivant que le plus court chemin de i à j à sommets intermédiaires dans {,,..., k} emprunte le sommet k ou non. Dans le premier cas, ce chemin est formé d un sous-chemin entre i et k, suivi d un sous-chemin entre k et j, chacun ne pouvant utiliser comme sommets intermédiaires que des sommets de {,,..., k } et devant être de longueur minimale. On doit donc avoir l (k) ij = l (k ) ik +l (k ) kj. Dans le second cas, on doit évidemment avoir l (k) ij = l (k ) ij. La matrice L (n), donnant l ensemble des valeurs des plus courts chemins dans le graphe, pourra donc être déterminée en n étapes de récurrence à partir de la relation précédente.

24 Algorithme (Floyd) Recherche de la matrice des plus courts chemins dans un graphe à longueurs positives. Pour k de à n Pour tout i et j de à n faire l ij = min (l ij, l ik + l kj ) Comme pour l algorithme précédent, si l on souhaite, en plus de la longueur des chemins, exhiber explicitement le chemin, on mettra à jour, au fûr et à mesure de l introduction d un nouveau sommet k, une matrice de prédécesseurs. Un programme Matlab r implémentant cet algorithme est donné en annexe B. 7 Arbres et arborescences 7. Définitions et propriétés Définition 9 Un arbre est un graphe connexe sans cycles. Un graphe sans cycle qui n est pas connexe est appelé une forêt (chaque composante connexe est un arbre). Par définition même, un arbre est donc un graphe simple. On constate également que T = (X, T ) est un arbre si et seulement s il existe une chaîne et une seule entre deux sommets quelconques. Etant donné un graphe quelconque G = (X, A) un arbre de G est un graphe partiel connexe et sans cycles. Si ce graphe partiel inclut tous les sommets du graphe G, l arbre est appelé arbre maximum ou arbre couvrant. Une forêt de G est un graphe partiel sans cycle de G (non nécessairement connexe). Une forêt maximale de G est une forêt de G maximale pour l inclusion (l ajout d une seule arête supplémentaire du graphe à cette forêt crée un cycle). Considérons un graphe G = (X, A) comportant n sommets, m arcs et p composantes connexes ; l algorithme suivant permet de construire une forêt maximale de G. Initialement, tous les arcs du graphe sont incolores. La méthode consiste à examiner successivement tous les arcs du graphe (dans n importe quel ordre) et à les colorer soit en rouge soit en vert. A une étape quelconque, G c est le graphe partiel engendré par les arcs colorés (rouges ou verts) et G r le graphe partiel engendré par les arcs rouges. Chaque fois qu un nouvel arc a incolore est examiné : soit il passe par a un cycle élémentaire µ dont tous les arcs (autres que a) sont rouges ; on colore alors l arc en vert, le nombre de connexité de G c et de G r reste constant, soit un tel cycle n existe pas, auquel cas l arc a permet de connecter deux sommets qui n étaient pas encore connectés dans G c ; on colore l arc a en rouge, le nombre de connexité de G c et de G r décroît de.

25 Pour montrer que le graphe partiel G r obtenu est bien une forêt maximale de G, il suffit d observer qu à tout instant, le graphe G r est sans cycle (c est donc bien une forêt de G) ; à la fin de la procédure, elle est bien maximale pour l inclusion car, en ajoutant un arc vert quelconque à G r, on crée un cycle. On peut également facilement démontrer les propriétés suivantes : Si G possède n sommets et p composantes connexes, une forêt maximale de G comporte exactement n p arcs. Soit T = (X, T ) une forêt maximale de G = (X, A). Alors T et G ont le même nombre de connexité. Soit T = (X, T ) une forêt maximale de G = (X, A). Alors, par tout arc a T = A T, il passe un cycle et un seul µ a dont tous les arcs (autres que a) appartiennent à T. Cette dernière propriété est importante car elle permet de construire une base de cycles d un graphe G (voir.). Soit un graphe G = (X, A) comportant n sommets, m arcs et p composantes connexes. Soit T = (X, T ) une forêt maximale de G = (X, A) et pour a T = A T, notons µ a le cycle (unique) contenu dans T + {a}. Les cycles {µ a } forment une base de cycles du graphe G, dont la dimension est le nombre cyclomatique de G. La notion d arborescense est l adaptation de la structure d arbre aux -graphes orientés. Définition 0 Un graphe G est une arborescence s il existe un sommet R appelé racine de G tel que, pour tout sommet S de G, il existe un chemin et un seul de R vers S. La notion d arborescence couvrante se définit comme celle d arbre couvrant, mais elle est plus délicate car il faut trouver une racine (qui n existe pas toujours). 7. Arbres couvrants de poids minimum Considérons le problème qui consiste à relier n villes par un réseau cablé de la manière la plus économique possible. On suppose connue la longueur l ij = l(a ij ) la longueur de câble nécessaire pour relier les villes i et j. Le réseau doit évidemment être connexe et il ne doit pas admettre de cycles pour être de coût minimal ; c est donc un arbre et ce doit être l arbre maximum le plus économique. Le problème à résoudre se pose donc dans les termes suivants : Définition Soit un graphe non orienté G, connexe, pondéré par une fonction positive l attachée aux arêtes. Soit un arbre couvrant T = (X, B) défini comme graphe partiel de G avec un ensemble d arêtes B. Son poids (ou coût) total est :

26 l(t ) = l(a) a B On dit que T est un arbre couvrant de poids minimal de G si l(t ) est minimal parmi les poids de tous les arbres couvrants possibles de G. On peut montrer que si toutes les arêtes sont de poids différents, l arbre couvrant de poids minimal est unique. Plusieurs algorithmes ont été proposés pour résoudre ce problème. Les plus simples sont les algorithmes de Prim et de Kruskal. L algorithme de Prim consiste à bâtir progressivement un arbre à partir d un sommet quelconque (arbitrairement le sommet numéro ) et en y greffant, à chaque étape, l arête de poids minimal parmi celles qui permettent de maintenir un graphe partiel qui soit un arbre. Si le graphe est connexe, le processus s arrête avec un arbre couvrant. Sinon, il aboutit à un arbre couvrant pour une composante connexe ; on poursuit avec les autres composantes connexes pour obtenir une forêt couvrante. Plus précisément, on construit progressivement, à partir du sommet numéro, un sousensemble de sommet S X contenant {} et un sous-ensemble T A tel que le graphe partiel (S, T ) soit un arbre de poids minimal du sous-graphe engendré par S. Pour cela, à chaque étape, on sélectionne dans le cocycle : ω(s) = {(k, l) (k, l) A, k S, l X\S} l arête de poids minimal, soit a = (i, j). Les sous-ensembles S et T sont alors augmentés en leur ajoutant le sommet j et l arête a respectivement : S S {j}, T T {a}. La mise en œuvre de cet algorithme peut se faire aisément à l aide d une procédure de marquage de la façon suivante. On associe, à chaque sommet i, un nombre réel π(i) appelé marque du sommet i. A une étape quelconque, la marque π(i) d un sommet i X\S représente le poids de l arête de poids minimal dans l ensemble des arêtes joignant i à S. D autre part, on conserve dans un tableau α l indice α(i) de l arête ayant permis d attribuer au sommet i, la marque π(i). Ces informations permettent aisément d obtenir, à l étape courante, l arête de poids minimal dans le cocycle ω(s) : il suffit en effet de déterminer le sommet i X\S ayant une marque minimale et l arête cherchée est α(i). Par ailleurs, lorsque le sous-ensemble S est augmenté du sommet i, les marques sont mises à jour en examinant toutes les arêtes issues de i et dont l autre extrémité j ne fait pas encore partie de l arbre (j X\S) et en effectuant la substitution π(j) min(π(j), l ij ). Chaque fois qu une marque est améliorée, le tableau α est mis à jour. Si le graphe est connexe, l algorithme s arrête lorsque S = X (tous les sommets ont été intégrés à l arbre). Les éléments du tableau α représentent alors les indices des arêtes constituant l arbre couvrant de poids minimal. Algorithme (Prim) Recherche d un arbre couvrant de poids minimal. (a) - Initialisations π() = 0 π(i) =, i {,,..., n} α(i) =, i {,,..., n} S = 6

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

Eléments de Théorie des Graphes et Programmation Linéaire 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

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

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

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

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

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

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

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

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

MIS 102 Initiation à l Informatique

MIS 102 Initiation à l Informatique MIS 102 Initiation à l Informatique Responsables et cours : Cyril Gavoille Catherine Pannier Matthias Robine Marc Zeitoun Planning : 6 séances de cours 5 séances de TD (2h40) 4 séances de TP (2h40) + environ

Plus en détail

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

Calcul matriciel. Définition 1 Une matrice de format (m,n) est un tableau rectangulaire de mn éléments, rangés en m lignes et n colonnes. 1 Définitions, notations Calcul matriciel Définition 1 Une matrice de format (m,n) est un tableau rectangulaire de mn éléments, rangés en m lignes et n colonnes. On utilise aussi la notation m n pour le

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

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

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

Le produit semi-direct

Le produit semi-direct Le produit semi-direct Préparation à l agrégation de mathématiques Université de Nice - Sophia Antipolis Antoine Ducros Octobre 2007 Ce texte est consacré, comme son titre l indique, au produit semi-direct.

Plus en détail

Introduction à la théorie des graphes

Introduction à la théorie des graphes CAHIERS DE LA CRM Introduction à la théorie des graphes Didier Müller CAHIER N O 6 COMMISSION ROMANDE DE MATHÉMATIQUE Table des matières Avant-propos But de ce fascicule................................

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

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

Optimisation non linéaire Irène Charon, Olivier Hudry École nationale supérieure des télécommunications

Optimisation non linéaire Irène Charon, Olivier Hudry École nationale supérieure des télécommunications Optimisation non linéaire Irène Charon, Olivier Hudry École nationale supérieure des télécommunications A. Optimisation sans contrainte.... Généralités.... Condition nécessaire et condition suffisante

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

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

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

Raisonnement par récurrence Suites numériques

Raisonnement par récurrence Suites numériques Chapitre 1 Raisonnement par récurrence Suites numériques Terminale S Ce que dit le programme : CONTENUS CAPACITÉS ATTENDUES COMMENTAIRES Raisonnement par récurrence. Limite finie ou infinie d une suite.

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

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

Grandes lignes ASTRÉE. Logiciels critiques. Outils de certification classiques. Inspection manuelle. Definition. Test Grandes lignes Analyseur Statique de logiciels Temps RÉel Embarqués École Polytechnique École Normale Supérieure Mercredi 18 juillet 2005 1 Présentation d 2 Cadre théorique de l interprétation abstraite

Plus en détail

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

Cours de Recherche Opérationnelle IUT d Orsay. Nicolas M. THIÉRY. E-mail address: Nicolas.Thiery@u-psud.fr URL: http://nicolas.thiery. Cours de Recherche Opérationnelle IUT d Orsay Nicolas M. THIÉRY E-mail address: Nicolas.Thiery@u-psud.fr URL: http://nicolas.thiery.name/ CHAPTER 1 Introduction à l optimisation 1.1. TD: Ordonnancement

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

Peut-on imiter le hasard?

Peut-on imiter le hasard? 168 Nicole Vogel Depuis que statistiques et probabilités ont pris une large place dans les programmes de mathématiques, on nous propose souvent de petites expériences pour tester notre perception du hasard

Plus en détail

Suites numériques 3. 1 Convergence et limite d une suite

Suites numériques 3. 1 Convergence et limite d une suite Suites numériques 3 1 Convergence et limite d une suite Nous savons que les termes de certaines suites s approchent de plus en plus d une certaine valeur quand n augmente : par exemple, les nombres u n

Plus en détail

Résolution d équations non linéaires

Résolution d équations non linéaires Analyse Numérique Résolution d équations non linéaires Said EL HAJJI et Touria GHEMIRES Université Mohammed V - Agdal. Faculté des Sciences Département de Mathématiques. Laboratoire de Mathématiques, Informatique

Plus en détail

Introduction à MATLAB R

Introduction à MATLAB R Introduction à MATLAB R Romain Tavenard 10 septembre 2009 MATLAB R est un environnement de calcul numérique propriétaire orienté vers le calcul matriciel. Il se compose d un langage de programmation, d

Plus en détail

Chapitre 1 : Évolution COURS

Chapitre 1 : Évolution COURS Chapitre 1 : Évolution COURS OBJECTIFS DU CHAPITRE Savoir déterminer le taux d évolution, le coefficient multiplicateur et l indice en base d une évolution. Connaître les liens entre ces notions et savoir

Plus en détail

LA PHYSIQUE DES MATERIAUX. Chapitre 1 LES RESEAUX DIRECT ET RECIPROQUE

LA PHYSIQUE DES MATERIAUX. Chapitre 1 LES RESEAUX DIRECT ET RECIPROQUE LA PHYSIQUE DES MATERIAUX Chapitre 1 LES RESEAUX DIRECT ET RECIPROQUE Pr. A. Belayachi Université Mohammed V Agdal Faculté des Sciences Rabat Département de Physique - L.P.M belayach@fsr.ac.ma 1 1.Le réseau

Plus en détail

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

Exercices types Algorithmique et simulation numérique Oral Mathématiques et algorithmique Banque PT Exercices types Algorithmique et simulation numérique Oral Mathématiques et algorithmique Banque PT Ces exercices portent sur les items 2, 3 et 5 du programme d informatique des classes préparatoires,

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

Plus courts chemins, programmation dynamique

Plus courts chemins, programmation dynamique 1 Plus courts chemins, programmation dynamique 1. Plus courts chemins à partir d un sommet 2. Plus courts chemins entre tous les sommets 3. Semi-anneau 4. Programmation dynamique 5. Applications à la bio-informatique

Plus en détail

Logique. Plan du chapitre

Logique. Plan du chapitre Logique Ce chapitre est assez abstrait en première lecture, mais est (avec le chapitre suivant «Ensembles») probablement le plus important de l année car il est à la base de tous les raisonnements usuels

Plus en détail

Cours de mathématiques

Cours de mathématiques DEUG MIAS premier niveau Cours de mathématiques année 2003/2004 Guillaume Legendre (version révisée du 3 avril 2015) Table des matières 1 Éléments de logique 1 1.1 Assertions...............................................

Plus en détail

Chapitre 2. Matrices

Chapitre 2. Matrices Département de mathématiques et informatique L1S1, module A ou B Chapitre 2 Matrices Emmanuel Royer emmanuelroyer@mathuniv-bpclermontfr Ce texte mis gratuitement à votre disposition a été rédigé grâce

Plus en détail

Logique binaire. Aujourd'hui, l'algèbre de Boole trouve de nombreuses applications en informatique et dans la conception des circuits électroniques.

Logique binaire. Aujourd'hui, l'algèbre de Boole trouve de nombreuses applications en informatique et dans la conception des circuits électroniques. Logique binaire I. L'algèbre de Boole L'algèbre de Boole est la partie des mathématiques, de la logique et de l'électronique qui s'intéresse aux opérations et aux fonctions sur les variables logiques.

Plus en détail

3 Approximation de solutions d équations

3 Approximation de solutions d équations 3 Approximation de solutions d équations Une équation scalaire a la forme générale f(x) =0où f est une fonction de IR dans IR. Un système de n équations à n inconnues peut aussi se mettre sous une telle

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

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

Cours 02 : Problème général de la programmation linéaire Cours 02 : Problème général de la programmation linéaire Cours 02 : Problème général de la Programmation Linéaire. 5 . Introduction Un programme linéaire s'écrit sous la forme suivante. MinZ(ou maxw) =

Plus en détail

CORRIGE LES NOMBRES DECIMAUX RELATIFS. «Réfléchir avant d agir!»

CORRIGE LES NOMBRES DECIMAUX RELATIFS. «Réfléchir avant d agir!» Corrigé Cours de Mr JULES v3.3 Classe de Quatrième Contrat 1 Page 1 sur 13 CORRIGE LES NOMBRES DECIMAUX RELATIFS. «Réfléchir avant d agir!» «Correction en rouge et italique.» I. Les nombres décimaux relatifs.

Plus en détail

INTRODUCTION À L ANALYSE FACTORIELLE DES CORRESPONDANCES

INTRODUCTION À L ANALYSE FACTORIELLE DES CORRESPONDANCES INTRODUCTION À L ANALYSE FACTORIELLE DES CORRESPONDANCES Dominique LAFFLY Maître de Conférences, Université de Pau Laboratoire Société Environnement Territoire UMR 5603 du CNRS et Université de Pau Domaine

Plus en détail

Rappel sur les bases de données

Rappel sur les bases de données Rappel sur les bases de données 1) Généralités 1.1 Base de données et système de gestion de base de donnés: définitions Une base de données est un ensemble de données stockées de manière structurée permettant

Plus en détail

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

Chapitre 6. Fonction réelle d une variable réelle Chapitre 6 Fonction réelle d une variable réelle 6. Généralités et plan d étude Une application de I dans R est une correspondance entre les éléments de I et ceu de R telle que tout élément de I admette

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

Date : 18.11.2013 Tangram en carré page

Date : 18.11.2013 Tangram en carré page Date : 18.11.2013 Tangram en carré page Titre : Tangram en carré Numéro de la dernière page : 14 Degrés : 1 e 4 e du Collège Durée : 90 minutes Résumé : Le jeu de Tangram (appelé en chinois les sept planches

Plus en détail

Probabilités sur un univers fini

Probabilités sur un univers fini [http://mp.cpgedupuydelome.fr] édité le 7 août 204 Enoncés Probabilités sur un univers fini Evènements et langage ensembliste A quelle condition sur (a, b, c, d) ]0, [ 4 existe-t-il une probabilité P sur

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

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

Résolution de systèmes linéaires par des méthodes directes Résolution de systèmes linéaires par des méthodes directes J. Erhel Janvier 2014 1 Inverse d une matrice carrée et systèmes linéaires Ce paragraphe a pour objet les matrices carrées et les systèmes linéaires.

Plus en détail

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

Communications collectives et ordonnancement en régime permanent pour plates-formes hétérogènes Loris MARCHAL Laboratoire de l Informatique du Parallélisme Équipe Graal Communications collectives et ordonnancement en régime permanent pour plates-formes hétérogènes Thèse réalisée sous la direction

Plus en détail

III- Raisonnement par récurrence

III- Raisonnement par récurrence III- Raisonnement par récurrence Les raisonnements en mathématiques se font en général par une suite de déductions, du style : si alors, ou mieux encore si c est possible, par une suite d équivalences,

Plus en détail

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

Chapitre 3. Quelques fonctions usuelles. 1 Fonctions logarithme et exponentielle. 1.1 La fonction logarithme Chapitre 3 Quelques fonctions usuelles 1 Fonctions logarithme et eponentielle 1.1 La fonction logarithme Définition 1.1 La fonction 7! 1/ est continue sur ]0, +1[. Elle admet donc des primitives sur cet

Plus en détail

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

Exemples de problèmes et d applications. INF6953 Exemples de problèmes 1 Exemples de problèmes et d applications INF6953 Exemples de problèmes Sommaire Quelques domaines d application Quelques problèmes réels Allocation de fréquences dans les réseaux radio-mobiles Affectation

Plus en détail

Architecture matérielle des systèmes informatiques

Architecture matérielle des systèmes informatiques Architecture matérielle des systèmes informatiques IDEC, Renens. Version novembre 2003. Avertissement : ce support de cours n est pas destiné à l autoformation et doit impérativement être complété par

Plus en détail

LES CARTES À POINTS : POUR UNE MEILLEURE PERCEPTION

LES CARTES À POINTS : POUR UNE MEILLEURE PERCEPTION LES CARTES À POINTS : POUR UNE MEILLEURE PERCEPTION DES NOMBRES par Jean-Luc BREGEON professeur formateur à l IUFM d Auvergne LE PROBLÈME DE LA REPRÉSENTATION DES NOMBRES On ne conçoit pas un premier enseignement

Plus en détail

SOCLE COMMUN - La Compétence 3 Les principaux éléments de mathématiques et la culture scientifique et technologique

SOCLE COMMUN - La Compétence 3 Les principaux éléments de mathématiques et la culture scientifique et technologique SOCLE COMMUN - La Compétence 3 Les principaux éléments de mathématiques et la culture scientifique et technologique DOMAINE P3.C3.D1. Pratiquer une démarche scientifique et technologique, résoudre des

Plus en détail

Chp. 4. Minimisation d une fonction d une variable

Chp. 4. Minimisation d une fonction d une variable Chp. 4. Minimisation d une fonction d une variable Avertissement! Dans tout ce chapître, I désigne un intervalle de IR. 4.1 Fonctions convexes d une variable Définition 9 Une fonction ϕ, partout définie

Plus en détail

Chapitre 2. Eléments pour comprendre un énoncé

Chapitre 2. Eléments pour comprendre un énoncé Chapitre 2 Eléments pour comprendre un énoncé Ce chapitre est consacré à la compréhension d un énoncé. Pour démontrer un énoncé donné, il faut se reporter au chapitre suivant. Les tables de vérité données

Plus en détail

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

Faculté des sciences Département de mathématiques. Théorie des graphes Faculté des sciences Département de mathématiques Théorie des graphes Deuxièmes bacheliers en sciences mathématiques Année académique 2009 2010 Michel Rigo Table des matières Introduction 1 Chapitre I.

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

Continuité et dérivabilité d une fonction

Continuité et dérivabilité d une fonction DERNIÈRE IMPRESSIN LE 7 novembre 014 à 10:3 Continuité et dérivabilité d une fonction Table des matières 1 Continuité d une fonction 1.1 Limite finie en un point.......................... 1. Continuité

Plus en détail

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

Exercices du Cours de la programmation linéaire donné par le Dr. Ali DERBALA 75. Un plombier connaît la disposition de trois tuyaux sous des dalles ( voir figure ci dessous ) et il lui suffit de découvrir une partie de chacun d eux pour pouvoir y poser les robinets. Il cherche

Plus en détail

Première partie. Préliminaires : noyaux itérés. MPSI B 6 juin 2015

Première partie. Préliminaires : noyaux itérés. MPSI B 6 juin 2015 Énoncé Soit V un espace vectoriel réel. L espace vectoriel des endomorphismes de V est désigné par L(V ). Lorsque f L(V ) et k N, on désigne par f 0 = Id V, f k = f k f la composée de f avec lui même k

Plus en détail

1 Complément sur la projection du nuage des individus

1 Complément sur la projection du nuage des individus TP 0 : Analyse en composantes principales (II) Le but de ce TP est d approfondir nos connaissances concernant l analyse en composantes principales (ACP). Pour cela, on reprend les notations du précédent

Plus en détail

Initiation à l algorithmique

Initiation à l algorithmique Informatique S1 Initiation à l algorithmique procédures et fonctions 2. Appel d une fonction Jacques TISSEAU Ecole Nationale d Ingénieurs de Brest Technopôle Brest-Iroise CS 73862-29238 Brest cedex 3 -

Plus en détail

Qualité du logiciel: Méthodes de test

Qualité du logiciel: Méthodes de test Qualité du logiciel: Méthodes de test Matthieu Amiguet 2004 2005 Analyse statique de code Analyse statique de code Étudier le programme source sans exécution Généralement réalisée avant les tests d exécution

Plus en détail

Construction d un cercle tangent à deux cercles donnés.

Construction d un cercle tangent à deux cercles donnés. Préparation au CAPES Strasbourg, octobre 2008 Construction d un cercle tangent à deux cercles donnés. Le problème posé : On se donne deux cercles C et C de centres O et O distincts et de rayons R et R

Plus en détail

Corps des nombres complexes, J Paul Tsasa

Corps des nombres complexes, J Paul Tsasa Corps des nombres complexes, J Paul Tsasa One Pager Février 2013 Vol. 5 Num. 011 Copyright Laréq 2013 http://www.lareq.com Corps des Nombres Complexes Définitions, Règles de Calcul et Théorèmes «Les idiots

Plus en détail

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

Soit la fonction affine qui, pour représentant le nombre de mois écoulés, renvoie la somme économisée. ANALYSE 5 points Exercice 1 : Léonie souhaite acheter un lecteur MP3. Le prix affiché (49 ) dépasse largement la somme dont elle dispose. Elle décide donc d économiser régulièrement. Elle a relevé qu elle

Plus en détail

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

CH.6 Propriétés des langages non contextuels CH.6 Propriétés des langages non contetuels 6.1 Le lemme de pompage 6.2 Les propriétés de fermeture 6.3 Les problèmes de décidabilité 6.4 Les langages non contetuels déterministes utomates ch6 1 6.1 Le

Plus en détail

Calcul différentiel sur R n Première partie

Calcul différentiel sur R n Première partie Calcul différentiel sur R n Première partie Université De Metz 2006-2007 1 Définitions générales On note L(R n, R m ) l espace vectoriel des applications linéaires de R n dans R m. Définition 1.1 (différentiabilité

Plus en détail

chapitre 4 Nombres de Catalan

chapitre 4 Nombres de Catalan chapitre 4 Nombres de Catalan I Dénitions Dénition 1 La suite de Catalan (C n ) n est la suite dénie par C 0 = 1 et, pour tout n N, C n+1 = C k C n k. Exemple 2 On trouve rapidement C 0 = 1, C 1 = 1, C

Plus en détail

Carl-Louis-Ferdinand von Lindemann (1852-1939)

Carl-Louis-Ferdinand von Lindemann (1852-1939) Par Boris Gourévitch "L'univers de Pi" http://go.to/pi314 sai1042@ensai.fr Alors ça, c'est fort... Tranches de vie Autour de Carl-Louis-Ferdinand von Lindemann (1852-1939) est transcendant!!! Carl Louis

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

Représentation d un entier en base b

Représentation d un entier en base b Représentation d un entier en base b 13 octobre 2012 1 Prérequis Les bases de la programmation en langage sont supposées avoir été travaillées L écriture en base b d un entier est ainsi défini à partir

Plus en détail

Exo7. Calculs de déterminants. Fiche corrigée par Arnaud Bodin. Exercice 1 Calculer les déterminants des matrices suivantes : Exercice 2.

Exo7. Calculs de déterminants. Fiche corrigée par Arnaud Bodin. Exercice 1 Calculer les déterminants des matrices suivantes : Exercice 2. Eo7 Calculs de déterminants Fiche corrigée par Arnaud Bodin Eercice Calculer les déterminants des matrices suivantes : Correction Vidéo ( ) 0 6 7 3 4 5 8 4 5 6 0 3 4 5 5 6 7 0 3 5 4 3 0 3 0 0 3 0 0 0 3

Plus en détail

Quelques algorithmes simples dont l analyse n est pas si simple

Quelques algorithmes simples dont l analyse n est pas si simple Quelques algorithmes simples dont l analyse n est pas si simple Michel Habib habib@liafa.jussieu.fr http://www.liafa.jussieu.fr/~habib Algorithmique Avancée M1 Bioinformatique, Octobre 2008 Plan Histoire

Plus en détail

Théorie et codage de l information

Théorie et codage de l information Théorie et codage de l information Les codes linéaires - Chapitre 6 - Principe Définition d un code linéaire Soient p un nombre premier et s est un entier positif. Il existe un unique corps de taille q

Plus en détail

Formes quadratiques. 1 Formes quadratiques et formes polaires associées. Imen BHOURI. 1.1 Définitions

Formes quadratiques. 1 Formes quadratiques et formes polaires associées. Imen BHOURI. 1.1 Définitions Formes quadratiques Imen BHOURI 1 Ce cours s adresse aux étudiants de niveau deuxième année de Licence et à ceux qui préparent le capes. Il combine d une façon indissociable l étude des concepts bilinéaires

Plus en détail

Sujet proposé par Yves M. LEROY. Cet examen se compose d un exercice et de deux problèmes. Ces trois parties sont indépendantes.

Sujet proposé par Yves M. LEROY. Cet examen se compose d un exercice et de deux problèmes. Ces trois parties sont indépendantes. Promotion X 004 COURS D ANALYSE DES STRUCTURES MÉCANIQUES PAR LA MÉTHODE DES ELEMENTS FINIS (MEC 568) contrôle non classant (7 mars 007, heures) Documents autorisés : polycopié ; documents et notes de

Plus en détail

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

De même, le périmètre P d un cercle de rayon 1 vaut P = 2π (par définition de π). Mais, on peut démontrer (difficilement!) que Introduction. On suppose connus les ensembles N (des entiers naturels), Z des entiers relatifs et Q (des nombres rationnels). On s est rendu compte, depuis l antiquité, que l on ne peut pas tout mesurer

Plus en détail

La persistance des nombres

La persistance des nombres regards logique & calcul La persistance des nombres Quand on multiplie les chiffres d un nombre entier, on trouve un autre nombre entier, et l on peut recommencer. Combien de fois? Onze fois au plus...

Plus en détail

CONSEIL NATIONAL DE LA COMPTABILITÉ. 1.4 - Remplacement d instruments

CONSEIL NATIONAL DE LA COMPTABILITÉ. 1.4 - Remplacement d instruments CONSEIL NATIONAL DE LA COMPTABILITÉ Réponse aux questions pratiques liées à l application du règlement CRC n 2002-09 relatif à la comptabilisation des instruments financiers à terme par les entreprises

Plus en détail

Correction de l examen de la première session

Correction de l examen de la première session de l examen de la première session Julian Tugaut, Franck Licini, Didier Vincent Si vous trouvez des erreurs de Français ou de mathématiques ou bien si vous avez des questions et/ou des suggestions, envoyez-moi

Plus en détail

Pourquoi l apprentissage?

Pourquoi l apprentissage? Pourquoi l apprentissage? Les SE sont basés sur la possibilité d extraire la connaissance d un expert sous forme de règles. Dépend fortement de la capacité à extraire et formaliser ces connaissances. Apprentissage

Plus en détail

Intégration et probabilités TD1 Espaces mesurés Corrigé

Intégration et probabilités TD1 Espaces mesurés Corrigé Intégration et probabilités TD1 Espaces mesurés Corrigé 2012-2013 1 Petites questions 1 Est-ce que l ensemble des ouverts de R est une tribu? Réponse : Non, car le complémentaire de ], 0[ n est pas ouvert.

Plus en détail

La fonction exponentielle

La fonction exponentielle DERNIÈRE IMPRESSION LE 2 novembre 204 à :07 La fonction exponentielle Table des matières La fonction exponentielle 2. Définition et théorèmes.......................... 2.2 Approche graphique de la fonction

Plus en détail

enquête pour les fautes sur le fond, ce qui est graves pour une encyclopédie.

enquête pour les fautes sur le fond, ce qui est graves pour une encyclopédie. 4.0 Contrôles /4 4 e enquête pour les fautes sur le fond, ce qui est graves pour une encyclopédie. RPPEL de 0. Wikipédia 2/2 Dans le chapitre : XX e siècle : ( 4.0 mythe paroxysme ) sous la photo d un

Plus en détail

Calcul intégral élémentaire en plusieurs variables

Calcul intégral élémentaire en plusieurs variables Calcul intégral élémentaire en plusieurs variables PC*2 2 septembre 2009 Avant-propos À part le théorème de Fubini qui sera démontré dans le cours sur les intégrales à paramètres et qui ne semble pas explicitement

Plus en détail

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

Baccalauréat ES/L Amérique du Sud 21 novembre 2013 Baccalauréat ES/L Amérique du Sud 21 novembre 2013 A. P. M. E. P. EXERCICE 1 Commun à tous les candidats 5 points Une entreprise informatique produit et vend des clés USB. La vente de ces clés est réalisée

Plus en détail

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

UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux. UEO11 COURS/TD 1 Contenu du semestre Cours et TDs sont intégrés L objectif de ce cours équivalent a 6h de cours, 10h de TD et 8h de TP est le suivant : - initiation à l algorithmique - notions de bases

Plus en détail

Exercices - Fonctions de plusieurs variables : corrigé. Pour commencer

Exercices - Fonctions de plusieurs variables : corrigé. Pour commencer Pour commencer Exercice 1 - Ensembles de définition - Première année - 1. Le logarithme est défini si x + y > 0. On trouve donc le demi-plan supérieur délimité par la droite d équation x + y = 0.. 1 xy

Plus en détail

Chapitre VI - Méthodes de factorisation

Chapitre VI - Méthodes de factorisation Université Pierre et Marie Curie Cours de cryptographie MM067-2012/13 Alain Kraus Chapitre VI - Méthodes de factorisation Le problème de la factorisation des grands entiers est a priori très difficile.

Plus en détail

Calculer avec Sage. Revision : 417 du 1 er juillet 2010

Calculer avec Sage. Revision : 417 du 1 er juillet 2010 Calculer avec Sage Alexandre Casamayou Guillaume Connan Thierry Dumont Laurent Fousse François Maltey Matthias Meulien Marc Mezzarobba Clément Pernet Nicolas Thiéry Paul Zimmermann Revision : 417 du 1

Plus en détail

Cours d analyse numérique SMI-S4

Cours d analyse numérique SMI-S4 ours d analyse numérique SMI-S4 Introduction L objet de l analyse numérique est de concevoir et d étudier des méthodes de résolution de certains problèmes mathématiques, en général issus de problèmes réels,

Plus en détail

Table des matières. 1 Programmation linéaire 1

Table des matières. 1 Programmation linéaire 1 Table des matières 1 Programmation linéaire 1 2 La théorie des graphes 3 2.1 Dénitions et premières exemples................... 6 2.2 Représentation non graphique d'un graphe.............. 9 2.2.1 Représentation

Plus en détail