Théorie des graphes et optimisation dans les graphes

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

Download "Théorie des graphes et optimisation dans les graphes"

Transcription

1 Théorie es graphes et optimisation ans les graphes Christine Solnon Tale es matières 1 Motivations 2 Définitions Représentation es graphes 8.1 Représentation par matrice ajacence Représentation par listes ajacence Cheminements et connexités 10.1 Notions e chemin, chaine, cycle et circuit Fermeture transitive un graphe Notions e connexité Notion e graphe eulérien Notion e graphe hamiltonien Arres et arorescences 17 6 Graphes planaires 20 7 Coloriage e graphes, cliques et stales 2 8 Parcours e graphes Arorescence couvrante associée à un parcours Parcours en largeur (Breath First Search = BFS) Applications u parcours en largeur Parcours en profoneur (Depth First Search = DFS) Applications u parcours en profoneur

2 9 Plus courts chemins Définitions Algorithme e Dijkstra Algorithme e Bellman-For Synthèse Arres couvrants minimaux (ACM) 9 11 Réseaux e transport 2 12 Planification e projet par les réseaux Coût et urée une tâche Contraintes Moélisation es contraintes e précéence par un graphe Durée minimale exécution Date au plus tar Marge totale Chemins et tâches critiques Pour en savoir plus 52 2

3 1 Motivations Pour résoure e nomreux prolèmes concrets, on est amené à tracer sur le papier es petits essins qui représentent (partiellement) le prolème à résoure. Bien souvent, ces petits essins se composent e points et e lignes continues reliant eux à eux certains e ces points. On appellera ces petits essins es graphes, les points es sommets et les lignes es arcs ou arêtes, selon que la relation inaire sous-jacente est orientée ou non. Quelques exemples e moélisation par es graphes Réseaux routiers : Le réseau routier un pays peut être représenté par un graphe ont les sommets sont les villes. Si l on consière que toutes les routes sont à oule sens, on utilisera un graphe non orienté et on reliera par une arête tout couple e sommets corresponant à eux villes reliées par une route (si l on consière en revanche que certaines routes sont à sens unique, on utilisera un graphe orienté). Ces arêtes pourront être valuées par la longueur es routes corresponantes. Etant onné un tel graphe, on pourra s intéresser, par exemple, à la résolution es prolèmes suivants : - Quel est le plus court chemin, en nomre e kilomètres, passant par un certain nomre e villes onnées? - Quel est le chemin traversant le moins e villes pour aller une ville à une autre? - Est-il possile e passer par toutes les villes sans passer eux fois par une même route? Processus à étapes : Certains prolèmes peuvent être spécifiés par un état initial, un état final, un certain nomre états interméiaires et es règles e transition précisant comment on peut passer un état à l autre. Résoure le prolème consiste alors à trouver une suite e transitions permettant e passer e l état initial à l état final. Beaucoup e jeux et autres casse-tête peuvent être moélisés ainsi. Consiérons, par exemple, le prolème u chou, e la reis et u loup : Un rave homme se trouve au or une rivière qu il souhaite traverser, en compagnie un loup, une reis et un chou. Malheureusement, il ne ispose que une petite arque, ne pouvant porter en plus e lui-même qu un seul e ses compagnons (le loup ou la reis ou le chou). Bien sûr, la reis refuse e rester seule avec le loup, tanis que le chou refuse e rester seul avec la reis. Comment peut-il s y prenre pour traverser la rivière avec ses trois compagnons et continuer son chemin? L état initial est l état où tout le mone est sur la rive gauche e la rivière, tanis que l état final est l état où tout le mone est sur la rive roite e la rivière. La règle e transition est la suivante : si l homme est sur une rive avec certains e ses compagnons, alors il peut passer sur l autre rive, soit seul, soit accompagné par un seul e ses compagnons se trouvant sur la même rive que lui, sous réserve qu il ne laisse pas le loup seul avec la reis, ou la reis seule avec le chou. On peut moéliser ce prolème par un graphe non orienté, ont les sommets représentent les états possiles, et les arêtes le fait qu on peut passer un état à l autre par une transition. On otient alors le graphe non orienté suivant :

4 L B C H L H C B L H C B L H B C L B C H B L H C L C H B L C H B B L H C B H L C H B L C Etat initial Etat final C H L B C H L B H B C L B C H L où le loup est représenté par la lettre L, le chou par C, la reis par B et l homme par H, et où un état est représenté par un cercle coupé en eux emi-cercles représentant les rives gauche et roite e la rivière. Etant onné un tel graphe, on pourra chercher un chemin allant e l état initial à l état final. Automates finis : Un automate fini permet e reconnaître un langage régulier et peut être représenté par un graphe orienté et étiqueté. Par exemple, l automate fini reconnaissant le langage es mots e la forme a n m (les mots composés une suite e a suivie une suite e ) peut être représenté par le graphe suivant a a 1 2 Ce graphe possèe sommets et arcs, chaque arc étant étiqueté par un symole (a ou ). Etant onné un tel graphe, on peut s intéresser, par exemple, à la résolution es prolèmes suivants : - Existe-t-il un chemin allant u sommet initial (1) au sommet final ()? - Quel est le plus court chemin entre eux sommets onnés? - Existe-t-il es sommets inutiles, par lesquels aucun chemin allant u sommet initial à un sommet final ne peut passer? 2 Définitions De façon plus formelle, un graphe est éfini par un couple G = (S, A) tel que - S est un ensemle fini e sommets, - A est un ensemle e couples e sommets (s i, s j ) S 2. Un graphe peut être orienté ou non : Dans un graphe orienté, les couples (s i, s j ) A sont orientés, c est à ire que (s i, s j ) est un couple oronné, où s i est le sommet initial, et s j le sommet terminal. Un couple (s i, s j ) est appelé un arc, et est représenté graphiquement par s i s j. Par exemple,

5 représente le graphe orienté G = (S, A) avec S = {1, 2,,, 5, 6} et A = {(1, 2), (2, ), (2, 5), (, 1), (, ), (, 5), (5, ), (6, )}. Dans un graphe non orienté, les couples (s i, s j ) A ne sont pas orientés, c est à ire que (s i, s j ) est équivalent à (s j, s i ). Une paire (s i, s j ) est appelée une arête, et est représentée graphiquement par s i s j. Par exemple, représente le graphe non orienté G = (S, A) avec S = {1, 2,,, 5, 6} et A = {(1, 2), (1, 5), (5, 2), (, 6)}. Terminologie L orre un graphe est le nomre e ses sommets. Une oucle est un arc ou une arête reliant un sommet à lui-même. Un graphe non-orienté est it simple s il ne comporte pas e oucle, et s il ne comporte jamais plus une arête entre eux sommets. Un graphe non orienté qui n est pas simple est un multigraphe. Dans le cas un multi-graphe, A n est plus un ensemle mais un multi-ensemle arêtes. On se restreinra généralement ans la suite aux graphes simples. Un graphe orienté est un p-graphe s il comporte au plus p arcs entre eux sommets. Le plus souvent, on étuiera es 1-graphes. Un graphe partiel un graphe orienté ou non est le graphe otenu en supprimant certains arcs ou arêtes. Un sous-graphe un graphe orienté ou non est le graphe otenu en supprimant certains sommets et tous les arcs ou arêtes incients aux sommets supprimés. Un graphe orienté est it élémentaire s il ne contient pas e oucle. Un graphe orienté est it complet s il comporte un arc (s i, s j ) et un arc (s j, s i ) pour tout couple e sommets ifférents s i, s j S 2. De même, un graphe non-orienté est it complet s il comporte une arête (s i, s j ) pour toute paire e sommets ifférents s i, s j S 2. Notion ajacence entre sommets : Dans un graphe non orienté, un sommet s i est it ajacent à un autre sommet s j s il existe une arête entre s i et s j. L ensemle es sommets ajacents à un sommet s i est éfini par : aj(s i ) = {s j /(s i, s j ) A ou (s j, s i ) A} Dans un graphe orienté, on istingue les sommets successeurs es sommets préécesseurs : succ(s i ) = {s j /(s i, s j ) A} pre(s i ) = {s j /(s j, s i ) A} 5

6 Notion e egré un sommet : Dans un graphe non orienté, le egré un sommet est le nomre arêtes incientes à ce sommet (ans le cas un graphe simple, on aura (s i ) = aj(s i ) ). Dans un graphe orienté, le emi-egré extérieur un sommet s i, noté + (s i ), est le nomre arcs partant e s i (ans le cas un 1-graphe, on aura + (s i ) = succ(s i ) ). De même, le emi-egré intérieur un sommet s i, noté (s i ), est le nomre arcs arrivant à s i (ans le cas un 1-graphe, on aura (s i ) = pre(s i ) ). Exercice : Dessiner un graphe non orienté complet à sommets. Quel est le egré es sommets e ce graphe? Comien arêtes possèe-t-il? Généralisez ces résultats à un graphe simple complet ayant n sommets. Correction : 1 2 Ce graphe possèe 6 arêtes et chaque sommet u graphe est e egré. De façon plus générale, étant onné un graphe simple complet ayant n sommets, chaque sommet étant relié aux n 1 autres sommets, le egré e chaque sommet est n 1. Le nomre arêtes un graphe est égal à la moitié e la somme es egrés e tous ses sommets. Par conséquent, un graphe simple complet ayant n sommets aura n (n 1)/2 arêtes. Exercice : On consière le graphe orienté G = (S, A) tel que S = {1, 2,,, 5} A = {(1, 2), (1, ), (2, 2), (2, ), (2, ), (, 5), (, ), (5, )} 1. représenter graphiquement ce graphe, 2. onner le emi-egré extérieur e 2 et le emi-egré intérieur e,. onner les sommets préécesseurs e et les sommets successeurs e 2,. onner un graphe partiel et un sous-graphe e ce graphe. Correction : 1. Une représentation graphique u graphe est (2) =, () = 2. pre() = {1, 2}, succ(2) = {2,, }. Exemple e graphe partiel et e sous-graphe : 6

7 2 1 Graphe partiel Sous-graphe inuit par 1, 2,, 5 Exercice : Au cours une soirée, les convives se serrent les mains les uns les autres (jamais plusieurs fois avec la même personne). Chacun se souvient u nomre e mains qu il a serrées. 1. Montrer qu il y a au moins 2 personnes ayant serré le même nomre e mains. 2. Montrer que le nomre total e mains serrées est pair.. En éuire que le nomre e personnes ayant serré un nomre impair e mains est pair. Correction : on construit le graphe non orienté G = (S, A), où S associe un sommet à chaque convive, et A associe une arête à chaque couple e convives qui se sont serrés la main. Le nomre e mains serrées par une personne correspon alors au egré u sommet corresponant ans le graphe. 1. Montrer qu il y a au moins 2 personnes ayant serré le même nomre e mains revient à montrer qu il y a au moins 2 sommets ayant le même egré : S il y a n sommets, le egré un sommet est compris entre 0 (cas où le sommet est isolé, c est à ire que la personne corresponante n a serré la main à personne) et n 1 (cas où le sommet est relié à tous les autres, c est à ire que la personne corresponante a serré la main à toutes les autres). Pour que tous les sommets aient un egré ifférent, il faut onc qu il y ait exactement un sommet e egré 0, un sommet e egré 1,... etc... et un sommet e egré n 1. Or, s il y a un sommet e egré n 1, il ne peut pas y avoir e sommet e egré Montrer que le nomre total e mains serrées est pair revient à montrer que la somme e tous les egrés est paire : chaque arête ajoute 1 au egré e 2 sommets. Par conséquent, la somme es egrés est (s i ) = 2 A s i S. Montrer que le nomre e personnes ayant serré un nomre impair e mains est pair revient à montrer que le nomre e sommets e egré impair est pair : on partitionne l ensemle S es sommets en l ensemle S pairs es sommets e egré pair et l ensemle S impairs es sommets e egré impair. On a (s i ) = (s j ) + (s k ) s i S s j S pairs s k S impairs Etant onné que s i S (s i ) est pair, et que s j S pairs (s j ) est pair, on en éuit que s k S impairs (s k ) oit aussi être pair. Par conséquent, S impairs contient un nomre pair e sommets. De façon plus générale, on retienra que, pour tout graphe simple non orienté, il existe au moins eux sommets u graphe ayant un même egré ; la somme es egrés e tous les sommets u graphe est paire et est égale à eux fois le nomre arêtes ; il y a un nomre pair e sommets qui ont un egré impair. 7

8 Représentation es graphes Il existe eux façons classiques e représenter un graphe en machine : par une matrice ajacence ou par un ensemle e listes ajacence..1 Représentation par matrice ajacence Soit le graphe G = (S, A). On suppose que les sommets e S sont numérotés e 1 à n, avec n = S. La représentation par matrice ajacence e G consiste en une matrice ooléenne M e taille n n telle que M[i][j] = 1 si (i, j) A, et M[i][j] = 0 sinon. Si le graphe est valué (par exemple, si es istances sont associées aux arcs), on peut utiliser une matrice entiers, e telle sorte que M[i][j] soit égal à la valuation e l arc (i, j) si (i, j) A. S il n existe pas arc entre 2 sommets i et j, on peut placer une valeur particulière (par exemple 0 ou ou null) ans M[i][j]. Dans le cas e graphes non orientés, la matrice est symétrique par rapport à sa iagonale escenante. Dans ce cas, on peut ne mémoriser que la composante triangulaire supérieure e la matrice ajacence. Taille mémoire nécessaire : la matrice ajacence un graphe ayant n sommets nécessite e l orre e O(n 2 ) emplacements mémoire. Si le nomre arcs est très inférieur à n 2, cette représentation est onc loin être optimale. Opérations sur les matrices ajacence : le test e l existence un arc ou une arête avec une représentation par matrice ajacence est imméiat (il suffit e tester irectement la case corresponante e la matrice). En revanche, le calcul u egré un sommet, ou l accès à tous les successeurs un sommet, nécessitent le parcours e toute une ligne (ou toute une colonne) e la matrice, quel que soit le egré u sommet. D une façon plus générale, le parcours e l ensemle es arcs/arêtes nécessite la consultation e la totalité e la matrice, et prenra un temps e l orre e n 2. Si le nomre arcs est très inférieur à n 2, cette représentation est onc loin être optimale..2 Représentation par listes ajacence Soit le graphe G = (S, A). On suppose que les sommets e S sont numérotés e 1 à n, avec n = S. La représentation par listes ajacence e G consiste en un taleau T e n listes, une pour chaque sommet e S. Pour chaque sommet s i S, la liste ajacence T [s i ] est une liste chainée e tous les sommets s j tels qu il existe un arc ou une arête (s i, s j ) A. Autrement it, T [s i ] contient la liste e tous les sommets successeurs e s i. Les sommets e chaque liste ajacence sont généralement chainés selon un orre aritraire. Si le graphe est valué (par exemple, si les arêtes représentent es istances), on peut stocker ans les listes ajacence, en plus u numéro e sommet, la valuation e l arête. Dans le cas e graphes non orientés, pour chaque arête (s i, s j ), on aura s j qui appartienra à la liste chainée e T [s i ], et aussi s i qui appartienra à la liste chainée e T [s j ]. 8

9 Taille mémoire nécessaire : si le graphe G est orienté, la somme es longueurs es listes ajacence est égale au nomre arcs e A, puisque l existence un arc (s i, s j ) se trauit par la présence e s j ans la liste ajacence e T [s i ]. En revanche, si le graphe n est pas orienté, la somme es longueurs e toutes les listes ajacence est égale à eux fois le nomre arêtes u graphe, puisque si (s i, s j ) est une arête, alors s i appartient à la liste ajacence e T [s j ], et vice versa. Par conséquent, la liste ajacence un graphe ayant n sommets et m arcs ou arêtes nécessite e l orre e O(n + m) emplacements mémoires. Opérations sur les listes ajacence : le test e l existence un arc ou une arête (s i, s j ) avec une représentation par liste ajacence est moins irect que ans le cas une matrice ajacence (il n existe pas e moyen plus rapie que e parcourir la liste ajacence e T [s i ] jusqu à trouver s j ). En revanche, le calcul u egré un sommet, ou l accès à tous les successeurs un sommet, est plus efficace que ans le cas une matrice ajacence : il suffit e parcourir la liste ajacence associée au sommet. D une façon plus générale, le parcours e l ensemle es arcs/arêtes nécessite le parcours e toutes les listes ajacence, et prenra un temps e l orre e p, où p est le nomre arcs/arêtes (à comparer avec n 2 ans le cas une représentation par matrice ajacence). En revanche, le calcul es préécesseurs un sommet est mal aisé avec cette représentation, et nécessite le parcours e toutes les listes ajacences e T. Une solution ans le cas où l on a esoin e connaitre les préécesseurs un sommet est e maintenir, en plus e la liste ajacence es successeurs, la liste ajacence es préécesseurs. Exercices 1. Donnez les représentations par matrice ajacence et listes ajacence u graphe non orienté suivant : 1 2 Correction : Matrice ajacence : Listes ajacence : Donnez les représentations par matrice ajacence et listes ajacence u graphe orienté suivant : 9

10 1 2 Correction : Matrice ajacence : Listes ajacence : Cheminements et connexités.1 Notions e chemin, chaine, cycle et circuit Dans un graphe orienté, un chemin un sommet u vers un sommet v est une séquence < s 0, s 1, s 2,..., s k > e sommets tels que u = s 0, v = s k, et (s i 1, s i ) A pour i [1..k]. La longueur u chemin est le nomre arcs ans le chemin, c est-à-ire k. On ira que le chemin contient les sommets s 0, s 1,..., s k, et les arcs (s 0, s 1 ), (s 1, s 2 ),..., (s k 1, s k ). S il existe un chemin e u à v, on ira que v est accessile à partir e u. Un chemin est élémentaire si les sommets qu il contient sont tous istincts. Dans un graphe orienté, un chemin < s 0, s 1,..., s k > forme un circuit si s 0 = s k et si le chemin comporte au moins un arc (k 1). Ce circuit est élémentaire si en plus les sommets s 1, s 2,..., s k sont tous istincts. Une oucle est un circuit e longueur 1. Consiérons par exemple le graphe orienté suivant : Un chemin élémentaire ans ce graphe est < 1,, 2, 5 >. Un chemin non élémentaire ans ce graphe est <, 6, 6, 6 >. Un circuit élémentaire ans ce graphe est < 1, 2, 5,, 1 >. Un circuit non élémentaire ans ce graphe est < 1, 2, 5,, 2, 5,, 1 >. 10

11 On retrouve ces ifférentes notions e cheminement ans les graphes non orientés. Dans ce cas, on parlera e chaine au lieu e chemin, et e cycle au lieu e circuit. Un graphe sans cycle est it acyclique. Exercice : Montrer que s il existe un chemin un sommet u vers un sommet v ans un graphe orienté, alors il existe un chemin élémentaire e u vers v. iem, pour circuit, chaine et cycle..2 Fermeture transitive un graphe On appelle fermeture transitive un graphe G = (S, A), le graphe G f = (S, A f ) tel que pour tout couple e sommets (s i, s j ) S 2, l arc/arête (s i, s j ) appartient à A f si et seulement s il existe un chemin/chaine e s i vers s j. Le calcul e la fermeture transitive un graphe peut se faire en aitionnant les puissances successives e sa matrice ajacence. Consiérons par exemple le graphe orienté suivant : a e f c g La matrice ajacence associée à ce graphe est la matrice M suivante : M = a c e f g a c e f g Dans cette matrice, M[i][j] = 1 ssi il existe un chemin e longueur 1 pour aller e i à j. Pour qu il existe un chemin e longueur 2 pour aller un sommet k à un sommet r, il faut qu il existe un sommet i tel qu il existe un chemin e longueur 1 e k vers i et un autre chemin e longueur 1 e i vers r. Pour tester cela, il s agit e parcourir simultanément la ligne k et la colonne r e la matrice M et e regarer s il y a un 1 à la même position ans la ligne k et la colonne r. Par exemple, il y a un chemin e longueur 2 allant e a vers car il y a un 1 en troisième position à la fois ans la ligne a et ans la colonne. Ainsi, en multipliant cette matrice par elle-même, on otient la matrice M 2 es chemins e longueur 2 : M 2 = a c e f g a c e f g

12 Dans cette matrice, M 2 [i][j] = 1 ssi il existe un chemin e longueur 2 pour aller e i à j. Par exemple, M[a][] = 1 car il existe un chemin (< a, c, >) e longueur 2 allant e a à. De façon plus générale, M k (la matrice otenue en multipliant M par elle même k fois successivement) est la matrice es chemins e longueur k. En aitionnant M et M 2, on otient la matrice M + M 2 es chemins e longueur inférieure ou égale à 2 : a c e f g a M + M 2 c = e f g De même, en multipliant M + M 2 par M, et en aitionnant la matrice résultante avec M, on otient la matrice M + M 2 + M es chemins e longueur inférieure ou égale à : M + M 2 + M = a c e f g a c e f g Selon le même principe, on calcule la matrice M + M 2 + M + M es chemins e longueur inférieure ou égale à : M + M 2 + M + M = a c e f g a c e f g et enfin la matrice M + M 2 + M + M + M 5 es chemins e longueur inférieure ou égale à 5 : M + M 2 + M + M + M 5 = a c e f g a c e f g Si on recommence une fois e plus, et que l on calcule la matrice M +M 2 +M +M +M 5 +M 6 es chemins e longueur inférieure ou égale à 6, on constate que cette matrice est égale à celle es 12

13 chemins e longueur inférieure ou égale à 5. Par conséquent M + M 2 + M + M + M 5 est la matrice ajacence e la fermeture transitive G f u graphe G e épart. Notons que pour calculer e cette façon la fermeture transitive un graphe comportant n sommets, il faura faire n multiplications et n aitions e matrices (car, ans le pire es cas, le plus long chemin élémentaire entre eux sommets est e longueur n). Chaque multiplication nécessitant e l orre e n opérations, cet algorithme a une complexité en O(n ). On peut améliorer cet algorithme, et otenir une complexité en O(n.log 2 (n)) en multipliant chaque nouvelle matrice calculée par elle-même e la façon suivante : En multipliant M par elle-même, et en ajoutant le résultat à M, on otient l ensemle es chemins e longueur inférieure ou égale à 2 = M 2 + M. En multipliant M 2 + M par elle-même, et en ajoutant le résultat à M, on otient l ensemle es chemins e longueur inférieure ou égale à = M + M + M 2 + M. En multipliant M + M + M 2 + M par elle-même, et en ajoutant le résultat à M, on otient l ensemle es chemins e longueur inférieure ou égale à 8 = M 8 + M 7 + M 6 + M 5 + M + M + M 2 + M. etc... En répétant ce processus k fois e suite, on otient tous les chemins e longueur inférieure ou égale à 2 k. Donc, pour trouver tous les chemins e longueur inférieure ou égale à n, il faura répéter ce processus log 2 (n) fois.. Notions e connexité Cas es graphes non orientés. Un graphe non orienté est connexe si chaque sommet est accessile à partir e n importe quel autre. Autrement it, si pour tout couple e sommets istincts (s i, s j ) S 2, il existe une chaine entre s i et s j. Par exemple, le graphe non orienté suivant n est pas connexe. a e f c g car il n existe pas e chaîne entre les sommets a et e. En revanche, le sous-graphe éfini par les sommets {a,, c, } est connexe. Une composante connexe un graphe non orienté G est un sous-graphe G e G qui est connexe et maximal (c est à ire qu aucun autre sous-graphe connexe e G ne contient G ). Par exemple, le graphe précéent est composé e 2 composantes connexes : la première est le sous-graphe éfini par les sommets {a,, c, } et la secone est le sous-graphe éfini par les sommets {e, f, g}. Notons que si l on calcule la fermeture transitive un graphe connexe, on otient un graphe complet. De même, si l on calcule la fermeture transitive un graphe comportant k composantes connexes, on otient un graphe contenant k sous-graphes complets (un pour chaque composante connexe). Par exemple, la fermeture transitive u graphe précéent est : 1

14 a e f c g Notons qu il existe un algorithme plus efficace pour éterminer les composantes connexes un graphe non orienté. Cas es graphes orientés. On retrouve ces ifférentes notions e connexités ans les graphes orientés, en remplaçant naturellement la notion e chaine par celle e chemin : on parle e graphe fortement connexe au lieu e connexe, e composante fortement connexe au lieu e composante connexe. Plus précisément, un graphe orienté est fortement connexe si chaque sommet est accessile à partir e n importe quel autre. Autrement it, si pour tout couple e sommets istincts (s i, s j ) S 2, il existe un chemin e s i vers s j, et un chemin e s j vers s i. Par exemple, le graphe e gauche ci-essous est fortement connexe, tanis que celui e roite ne l est pas : a a c c Une composante fortement connexe un graphe orienté G est un sous-graphe G e G qui est fortement connexe et maximal (c est à ire qu aucun autre sous-graphe fortement connexe e G ne contient G ). Par exemple, le graphe orienté suivant a e f c g contient 2 composantes fortements connexes : la première est le sous-graphe éfini par les sommets {a,, c, } et la secone est le sous-graphe éfini par les sommets {e, f, g}. Comme pour les graphes non orientés, une façon (naïve) e éterminer si un graphe orienté est fortement connexe consiste à calculer sa fermeture transitive : si la fermeture transitive u graphe est le graphe complet, alors il est fortement connexe. Notons qu il existe un algorithme ien plus efficace pour éterminer les composantes fortement connexes un graphe non orienté.. Notion e graphe eulérien Dans un graphe non orienté, une chaine eulérienne est une chaine qui emprunte une et une seule fois chaque arête u graphe. De même, un cycle eulérien est un cycle qui emprunte une et une seule fois chaque arête u graphe. Enfin, un graphe comportant une chaine ou un cycle eulérien est appelé graphe eulérien. 1

15 Théorème ( cycle eulérien) : Un graphe (simple ou multiple) connexe amet un cycle eulérien si et seulement s il n a pas e sommet e egré impair. En effet, supposons qu un graphe G = (V, E) amette un cycle eulérien. Chaque fois que ce cycle passe par un sommet, il contriue pour 2 ans le egré e ce sommet. Par conséquent, chaque sommet oit avoir un egré pair. Inversement, soit G un graphe connexe ont tous les sommets sont e egré pair. On montre, par inuction sur le nomre arêtes u graphe, que ce graphe amet un cycle eulérien. Partant un sommet aritraire a, on peut former e proche en proche un cycle élémentaire retournant sur a. En effet, chaque fois qu on emprunte une arête, on la retire u graphe. Quan on aoutit en un sommet x a, on peut toujours prolonger la chaine car x est e egré pair. Donc, la chaine rencontrera nécessairement le sommet initial a. Soit µ le cycle formé à ce moment là. En vertu e l hypothèse inuction, chaque composante connexe e sous-graphe G X µ amet un cycle eulérien, et avec le cycle µ ces cycles forment un cycle eulérien e G. Théorème ( chaine eulérienne) : Un graphe (simple ou multiple) connexe amet une chaine eulérienne entre eux sommets u et v si et seulement si le egré e u et le egré e v sont impairs, et les egrés e tous les autres sommets u graphe sont pairs. On retrouve ces ifférentes notions sur les graphes orientés : un chemin eulérien est un chemin qui emprunte une et une seule fois chaque arc u graphe. De même, un circuit eulérien est un circuit qui emprunte une et une seule fois chaque arc u graphe. L existence un circuit eulérien épen alors es emi-egrés extérieurs et intérieurs es ifférents sommets : pour chaque sommet il oit y avoir autant arcs qui y arrivent que arcs qui en partent. Théorème ( circuit eulérien) : Un multigraphe orienté fortement connexe amet un circuit eulérien si et seulement si + (s i ) = (s i ) pour tout sommet s i S. Théorème ( chemin eulérienne) : Un multigraphe orienté connexe amet un chemin eulérien e u vers v si et seulement si - + (u) = (u) (v) = (v) (s i ) = (s i ) pour tout autre sommet s i S {u, v} Exercice : On consière la isposition es ponts e la ville e Koenigserg (ville qu Euler visita lors un voyage pour aller en Russie) suivante, où A et C sont eux îles et B et D sont les erges : A B D C 15

16 Un piéton peut-il en se promenant traverser chacun es sept ponts e la ville une et une seule fois, et revenir au point e épart? Correction : On moélise ce prolème sous la forme e la recherche un cycle eulérien ans le multi-graphe non orienté suivant : A B D C Dans ce graphe, les egrés es sommets A, B, C et D sont respectivement 5,, et. On a onc sommets e egré impair, et il n y a pas e chaine eulérienne, et encore moins e cycle eulérien, ans ce graphe. Exercice : Montrer que le graphe suivant est eulérien a e c Correction : () = 2, (e) = (c) = et (a) = () =. Par conséquent, ce graphe amet une chaine eulérienne entre a et. En revanche, ce graphe n amet pas e cycle eulérien..5 Notion e graphe hamiltonien Dans un graphe simple non orienté comportant n sommets, une chaine hamiltonienne est une chaine élémentaire e longueur n 1. Autrement it, une chaine hamiltonienne passe une et une seule fois par chacun es n sommets u graphe. On appelle cycle hamiltonien un cycle élémentaire e longueur n. Un graphe posséant un cycle ou une chaine hamiltonien sera it graphe hamiltonien. Par exemple, le graphe suivant possèe un cycle hamiltonien (< a, e,,, c, a >) a e c En revanche, le graphe suivant ne possèe pas e cycle hamiltonien, mais possèe une chaine hamiltonienne (< a,, e,, c >). 16

17 a e c On ne connait aucune conition nécessaire et suffisante existance e cycles (chaines, circuits ou chemins) hamiltoniens, valale pour tous les graphes. On peut juste onner es conitions suffisantes, portant en particulier sur les egrés un graphe simple. Remarque : e nomreux prolèmes en recherche opérationnelle consistent à chercher un chemin ou un cycle hamiltonien ans un graphe. Le plus connu est proalement le prolème u voyageur e commerce, qui oit trouver un itinéraire optimal passant par chaque ville e son réseau commercial. On consière ans ce cas le graphe non orienté valué représentant une carte routière : les sommets corresponent aux villes, les arêtes aux routes, et les valuations aux istances. Il s agit alors e trouver un cycle hamiltonien e valuation minimale. Ce prolème est un es premiers à avoir été montré comme étant NP-complet (ce qui implique que l on ne connait aucun algorithme efficace pour résoure ce prolème). 5 Arres et arorescences Les arres et les arorescences sont es graphes particuliers très souvent utilisés en informatique pour représenter es onnées. Etant onné un graphe non orienté comportant n sommets, les propriétés suivantes sont équivalentes pour caractériser un arre : 1. G est connexe et sans cycle, 2. G est sans cycle et possèe n 1 arêtes,. G est connexe et amet n 1 arêtes,. G est sans cycle, et en ajoutant une arête, on crée un et un seul cycle élémentaire, 5. G est connexe, et en supprimant une arête quelconque, il n est plus connexe, 6. Il existe une chaine et une seule entre 2 sommets quelconques e G. Par exemple, le graphe suivant est un arre : a e f c g On appelle forêt un graphe ont chaque composante connexe est un arre. Exercice : On consière le graphe non orienté suivant : 17

18 a e f c g Comien faut-il enlever arêtes à ce graphe pour le transformer en arre? Donnez un graphe partiel e ce graphe qui soit un arre. Correction : le graphe comporte 7 sommets et 11 arêtes. Pour le transformer en arre il faura onc enlever 5 arêtes. Par exemple, les arêtes (f, g), (, g), (, c), (, ) et (a, ). Une arorescence est un graphe orienté sans circuit amettant une racine s 0 S telle que, pour tout autre sommet s i S, il existe un chemin unique allant e s 0 vers s i. Si l arorescence comporte n sommets, alors elle comporte exactement n 1 arcs. Par exemple, le graphe suivant est une arorescence e racine a : a e f c g Exercice : L ile u Nivéou, en Camargue, se consacre à la culture u riz. Sur cette ile se trouvent 9 champs entourés e murs et isposés e la façon suivante : Rhone La culture u riz suppose que l on puisse périoiquement inoner l ensemle es champs. Cela est réalisé en ouvrant es vannes placées ans les murs séparant les champs et le Rhône ou les champs entre eux. Etant onné que l installation une vanne est coûteuse, il s agit e éterminer le nomre minimum e vannes et leur emplacement pour pouvoir, quan on le ésire, inoner tous les champs. Correction : Pour résoure ce prolème, on peut consiérer le graphe non orienté comportant un sommet pour chaque intersection e mur, et une arête pour chaque mur : 18

19 En consiérant que lorsqu on place une vanne sur un mur, on supprime l arête corresponante ans le graphe, le prolème revient à supprimer es arêtes jusqu à ce que le graphe ne comporte plus e cycles (autrement it, placer es vannes jusqu à ce qu il n y ait plus e champ entouré e murs sans vanne). Comme on souhaite poser le moins e vannes possile, on cherche un graphe partiel sans cycle tel que si l on rajoute une arête on crée un cycle : selon la proposition, il s agit un arre. Ici, étant onné que le graphe a 12 sommets et 20 arêtes, l arre evra posséer 12-1 = 11 arêtes (selon la proposition 2), et on evra onc installer 20-11=9 vannes. On otienra (par exemple) l arre suivant : Autre moélisation possile : Pour résoure ce prolème, on peut également consiérer le graphe non orienté comportant un sommet pour chaque champ plus un sommet représentant le Rhône. Ce graphe comporte une arête entre eux sommets si les champs corresponants, ou le Rhône, sont voisins. On otient alors le graphe suivant : Rhone 19

20 En consiérant que lorsqu on place une vanne sur un mur séparant eux champs (ou une vanne séparant un champ u Rhône) on conserve l arête joignant les eux sommets corresponant aux champs (ou au champ et au Rhône), le prolème revient à chercher un graphe partiel connexe (autrement it, tous les champs oivent être reliés par un chemin e vannes au Rhône). Comme on souhaite poser le moins e vannes possile, il s agit e garer le moins arêtes possile. On cherche onc un graphe partiel connexe tel que si l on supprime une arête e plus il ne soit plus connexe : selon la proposition 5, il s agit un arre. Ici, étant onné que le graphe possèe 10 sommets, l arre evra comporter 10-1=9 arêtes (selon la proposition ). Là encore, on evra installer 9 vannes. On otienra (par exemple) l arre suivant : Rhone Cet exemple permet introuire (très succintement) la notion e graphe ual un graphe planaire, notion éveloppée ans la section suivante : les eux moélisations utilisées pour résoure le prolème e l ile u Nivéou sont uales. L intérêt e cette notion e ualité est e montrer qu à tout graphe planaire on peut toujours associer un autre graphe représentant, une façon ifférente, la même chose. Le meilleur moèle u prolème étant le plus commoe e ces eux graphes, on aura toujours intérêt, lorsqu un prolème peut être moélisé par un graphe planaire, à étuier si le graphe ual ne permet pas une formalisation plus simple u prolème. 6 Graphes planaires Trois chatelains voisins sont ennemis entre eux. Pour se mettre au goût u jour, ils ont écié installer l eau, le gaz et l électricité ans leurs chateaux respectifs. Naturellement, ils ne veulent pas que leurs fils et leurs canalisations se croisent! Il s agit e trouver le moyen e relier chacun es chatelains aux compagnies eau, e gaz et électricité sans provoquer e isputes entre eux. On peut moéliser ce prolème par un graphe ayant les 6 sommets suivants : Chateau 1 Chateau 2 Chateau x x x x x x eau gaz electricite Il s agit alors e essiner pour chaque chateau arêtes le reliant à l eau, au gaz et à l électricité, sans que eux arêtes ne se croisent. Ce prolème n a en fait pas e solutions (même en changeant la isposition es sommets). On ira que le graphe corresponant n est pas planaire. 20

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

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

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

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

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

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

INF601 : Algorithme et Structure de données

INF601 : Algorithme et Structure de données Cours 2 : TDA Arbre Binaire B. Jacob IC2/LIUM 27 février 2010 Plan 1 Introuction 2 Primitives u TDA Arbin 3 Réalisations u TDA Arbin par cellules chaînées par cellules contiguës par curseurs (faux pointeurs)

Plus en détail

Arbres couvrants minimaux

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

Plus en détail

Algorithmes pour les graphes

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

Plus en détail

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

Les deux points les plus proches

Les deux points les plus proches MPSI Option Informatique Année 2001, Deuxième TP Caml Vcent Simonet (http://cristal.ria.fr/~simonet/) Les eux pots les plus proches Lors e cette séance, nous allons nous téresser au problème suivant :

Plus en détail

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

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

Plus en détail

Une voiture parcourt en 2 heures, 140 km ; en 3 heures, 210 km et en 5 heures, 350 km.

Une voiture parcourt en 2 heures, 140 km ; en 3 heures, 210 km et en 5 heures, 350 km. Calcul es Vitesses Tout objet en mouvement ( voiture, train, piéton, avion, tortue, bille, ) est appelé un mobile. Nous irons qu un mobile a un mouvement uniforme ( ou est animé un mouvement uniforme )

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

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

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

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

Feuille 1 : Autour du problème SAT

Feuille 1 : Autour du problème SAT Master-2 d Informatique 2014 2015 Complexit Algorithmique Applique. Feuille 1 : Autour du problème SAT 1 Rappels sur SAT Énoncé du problème. Le problème SAT (ou le problème de Satisfaisabilité) est le

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

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

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

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

Plus en détail

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

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

Plus en détail

Couplages et colorations d arêtes

Couplages et colorations d arêtes Couplages et colorations d arêtes Complément au chapitre 5 «Une employée mécontente» et au chapitre 9 «L apprentie sudokiste» Considérons n équipes de hockey qui doivent s affronter lors d un tournoi.

Plus en détail

Université Paris Diderot Paris 7. TD n 2. Arbres Binaire de Recherche

Université Paris Diderot Paris 7. TD n 2. Arbres Binaire de Recherche Université Paris Diderot Paris L Informatique Algorithmique Année 00-0, er semestre TD n Arbres Binaire de Recherche Le type de donné arbre" sera utilisé pour indiquer l ensemble de toutes les Arbres Binaires

Plus en détail

Algorithmique et Programmation Projets 2012/2013

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

Plus en détail

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

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

I Arbres binaires. Lycée Faidherbe 2014-2015. 1 Rappels 2 1.1 Définition... 2 1.2 Dénombrements... 2 1.3 Parcours... 3

I Arbres binaires. Lycée Faidherbe 2014-2015. 1 Rappels 2 1.1 Définition... 2 1.2 Dénombrements... 2 1.3 Parcours... 3 I Arbres binaires 2014-2015 Table des matières 1 Rappels 2 1.1 Définition................................................ 2 1.2 Dénombrements............................................ 2 1.3 Parcours.................................................

Plus en détail

Probabilités sur un univers fini

Probabilités sur un univers fini [http://mp.cpgedupuydelome.fr] édité le 10 août 2015 Enoncés 1 Proailités sur un univers fini Evènements et langage ensemliste A quelle condition sur (a,, c, d) ]0, 1[ 4 existe-t-il une proailité P sur

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

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

Coloriages et invariants

Coloriages et invariants DOMAINE : Combinatoire AUTEUR : Razvan BARBULESCU NIVEAU : Débutants STAGE : Montpellier 013 CONTENU : Exercices Coloriages et invariants - Coloriages - Exercice 1 Le plancher est pavé avec des dalles

Plus en détail

Marc Chemillier Master M2 Atiam (Ircam), 2011-2012

Marc Chemillier Master M2 Atiam (Ircam), 2011-2012 MMIM Moèles mathématiques en informatique musicale Marc hemillier Master M2 tiam (Ircam), 2011-2012 Oracle es facteurs (logiciels improvisation OMax, ImproteK) - onstruction e l oracle o Liens suffixiels

Plus en détail

CNAM UE MVA 210 Ph. Durand Algèbre et analyse tensorielle Cours 4: Calcul dierentiel 2

CNAM UE MVA 210 Ph. Durand Algèbre et analyse tensorielle Cours 4: Calcul dierentiel 2 CNAM UE MVA 210 Ph. Duran Algèbre et analyse tensorielle Cours 4: Calcul ierentiel 2 Jeui 26 octobre 2006 1 Formes iérentielles e egrés 1 Dès l'introuction es bases u calcul iérentiel, nous avons mis en

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

Voyageur de commerce et solution exacte

Voyageur de commerce et solution exacte Voyageur de commerce et solution exacte uteurs :. Védrine,. Monsuez e projet consiste à réaliser un outil capable de trouver le plus court trajet pour un commercial qui doit visiter n villes, les n villes

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

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

Les graphes planaires

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

Plus en détail

L équation. y = y x. Pierre Abbrugiati

L équation. y = y x. Pierre Abbrugiati { x L équation y = y x x < y Pierre Arugiati I Tale des matières 1 Introduction 1 1.1 Lemmes préliminaires........................ 1 2 Résolution dans N 2 3 3 Résolution dans Z 2 5 4 Résolutions dans Q

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

GESTION DE LA CIRCULATION ROUTIÈRE

GESTION DE LA CIRCULATION ROUTIÈRE GESTION DE LA CIRCULATION ROUTIÈRE Objectifs péagogiues : - Dimensionnement un iagramme états - Exemple e système séuentiel «roboticien» (perception/écision/action). - Décomposition un système séuentiel

Plus en détail

SOMMAIRE 1 INTRODUCTION 3 2 NOTION DE TORSEUR 3. 2.1 Définition 3 2.1.1 Propriétés liées aux torseurs 4 2.1.2 Produit ou comoment de deux torseurs 4

SOMMAIRE 1 INTRODUCTION 3 2 NOTION DE TORSEUR 3. 2.1 Définition 3 2.1.1 Propriétés liées aux torseurs 4 2.1.2 Produit ou comoment de deux torseurs 4 SOAIRE 1 INTRODUCTION 3 2 NOTION DE TORSEUR 3 2.1 Définition 3 2.1.1 Propriétés liées aux torseurs 4 2.1.2 Prouit ou comoment e eux torseurs 4 2.2 Torseurs élémentaires 4 2.2.1 Torseur couple 4 2.2.2 Torseur

Plus en détail

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

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

Plus en détail

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

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

EXAMEN FINAL. 2 Février 2006-2 heures Aucun document autorisé

EXAMEN FINAL. 2 Février 2006-2 heures Aucun document autorisé MIE - E ANNÉE ALGORITHMIQUE GÉNÉRALE Vincent Mousseau EXAMEN FINAL Février 006 - heures Aucun document autorisé Exercice : On s intéresse à la gestion informatique des réservations sur l année d une salle

Plus en détail

Simulation Matlab/Simulink d une machine à induction triphasée. Constitution d un référentiel

Simulation Matlab/Simulink d une machine à induction triphasée. Constitution d un référentiel Simulation Matlab/Simulink une machine à inuction triphasée Constitution un référentiel Capocchi Laurent Laboratoire UMR CNRS 6134 Université e Corse 3 Octobre 7 1 Table es matières 1 Introuction 3 Moélisation

Plus en détail

Jean-Louis CAYATTE http://jlcayatte.free.fr/ jlcayatte@free.fr

Jean-Louis CAYATTE http://jlcayatte.free.fr/ jlcayatte@free.fr Jean-Louis CAYATTE http://jlcayatte.free.fr/ jlcayatte@free.fr Chapitre 2 Le nombre es chômeurs Le nombre es chômeurs augmente lorsque les entrées au chômage sont supérieures aux sorties u chômage. Cette

Plus en détail

Cours 9: Automates finis

Cours 9: Automates finis Cours 9: Automates finis Olivier Bournez ournez@lix.polytechnique.fr LIX, Ecole Polytechnique INF421-a Bases de la programmation et de l algorithmique Aujourd hui Rappels Déterminisation Automates et expressions

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

Table des Matières. Satisfaisabilité en logique propositionnelle ES pour les problèmes d optimisation Élagage à l aide d heuristiques Le Labyrinthe

Table des Matières. Satisfaisabilité en logique propositionnelle ES pour les problèmes d optimisation Élagage à l aide d heuristiques Le Labyrinthe Table des Matières Essais Successifs (ES) 1 Rappels : Fonctions et Ordres de grandeurs 2 Diviser pour Régner 3 Approches Gloutonnes 4 Programmation Dynamique 5 Essais Successifs (ES) Le problème des n

Plus en détail

CALCULER UNE ENVELOPPE CONVEXE

CALCULER UNE ENVELOPPE CONVEXE CALCULER UNE ENVELOPPE CONVEXE 1. Introuction Soit A une partie e R n. De nombreux problèmes géométriques requièrent la étermination e l enveloppe convexe e A. L enveloppe convexe e A sera notée conv(a).

Plus en détail

Exercice 2 : Comment déterminer le relief du fond marin avec un sondeur? (5,5 pts) Les trois parties de l exercice sont indépendantes

Exercice 2 : Comment déterminer le relief du fond marin avec un sondeur? (5,5 pts) Les trois parties de l exercice sont indépendantes Exercice 2 : Comment éterminer le relief u fon marin avec un soneur? (5,5 pts) Amérique u nor 2007 http://labolycee.org Les trois parties e l exercice sont inépenantes 1. Étue e l one ultrasonore ans l

Plus en détail

alg - Arbres binaires de recherche [br] Algorithmique

alg - Arbres binaires de recherche [br] Algorithmique alg - Arbres binaires de recherche [br] Algorithmique Karine Zampieri, Stéphane Rivière, Béatrice Amerein-Soltner Unisciel algoprog Version 25 avril 2015 Table des matières 1 Définition, Parcours, Représentation

Plus en détail

Thème 8 Graphes étiquetés et pondérés

Thème 8 Graphes étiquetés et pondérés Terminale pécialité xercices Thème raphes étiquetés et pondérés. ctivité Les automates Partie équencement Un hacker s amuse à essayer de décrypter les mots de passe d accès à des comptes de messagerie

Plus en détail

Graphes planaires. Classes de graphes & Décompositions

Graphes planaires. Classes de graphes & Décompositions Classes de graphes & Décompositions Détails des démonstrations dans les livres suivants : [West] Introduction to Graph Theory, D. West [Diestel] Graph Theory, R. Diestel 2010-2011 : définition Définition

Plus en détail

La recherche locale. INF6953 La recherche locale 1

La recherche locale. INF6953 La recherche locale 1 La recherche locale INF6953 La recherche locale 1 Sommaire Recherche locale et voisinage. Fonction de voisinage, optimum local Fonction de voisinage et mouvements Fonction de voisinage et mouvements Exemples

Plus en détail

Correction des exercices sur l effet Doppler. Exercice 21 p.79

Correction des exercices sur l effet Doppler. Exercice 21 p.79 Correction es exercices sur l eet Doppler xercice 21 p.79 Pour les curieux : justiication e la ormule onnée. L t = 0 L 1 λ t 1.(t -t) L 2.(t -t) t 2 t 1 t 2 oit t = 0 l instant émission u premier ront

Plus en détail

Résolution générique à la volée de systèmes d équations booléennes et applications

Résolution générique à la volée de systèmes d équations booléennes et applications Résolution générique à la volée de systèmes d équations booléennes et applications Radu Mateescu INRIA Rhône-Alpes / VASY Plan Introduction Systèmes d équations booléennes d alternance 1 Algorithmes de

Plus en détail

Statistiques inférentielles : tests d hypothèse

Statistiques inférentielles : tests d hypothèse Statistiques inférentielles : tests hypothèse Table es matières I Tests hypothèse 2 I.1 Test bilatéral relatif à une moyenne...................................... 2 I.2 Test unilatéral relatif à une moyenne.....................................

Plus en détail

Algorithmes de tri. 1 Introduction

Algorithmes de tri. 1 Introduction Algorithmes de tri L objectif de ce document est de présenter plusieurs algorithmes classiques de tri. On commence par présenter chaque méthode de manière intuitive, puis on détaille un exemple d exécution

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

CHAPITRE. Les variables du mouvement CORRIGÉ DES EXERCICES

CHAPITRE. Les variables du mouvement CORRIGÉ DES EXERCICES CHAPITRE Les variables u mouvement CORRIGÉ DES EXERCICES 2 3 Exercices. Les variables liées à l espace et au temps. Une araignée grimpe le long une clôture. Elle parcourt abor 3 m vers le haut, puis 2

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

É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

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

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

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

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

CHAPITRE 2 GRAPHES 2.1 LES GRAPHES ET LEURS COMPOSANTES.

CHAPITRE 2 GRAPHES 2.1 LES GRAPHES ET LEURS COMPOSANTES. CHAPITRE 2 GRAPHES 2.1 LES GRAPHES ET LEURS COMPOSANTES. Faire le numéro 5 a)b) de la page 39 du cahier math 3000 Remarque importante : La somme des degrés de tous les sommets d un graphe est toujours

Plus en détail

Cours 1: Introduction à l algorithmique

Cours 1: Introduction à l algorithmique 1 Cours 1: Introduction à l algorithmique Olivier Bournez bournez@lix.polytechnique.fr LIX, Ecole Polytechnique 2011-12 Algorithmique 2 Aujourd hui Calcul de x n Maximum Complexité d un problème Problème

Plus en détail

INF-130 Travail Pratique #2

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

Plus en détail

Quelques éléments de théorie des graphes

Quelques éléments de théorie des graphes . Quelques éléments de théorie des graphes Daniel PERRIN 1 Introduction Avertissement : Ces notes étaient au départ conçues pour mon usage personnel. Je les mets à la disposition du lecteur, qui est prié

Plus en détail

Arbres binaires de recherche et arbres rouge noir

Arbres binaires de recherche et arbres rouge noir Institut Galilée lgo, rbres, Graphes I nnée 006-007 License rbres binaires de recherche et arbres rouge noir Rappels de cours et correction du TD rbres binaires de recherche : définitions Un arbre binaire

Plus en détail

Quelques notions de conductimétrie

Quelques notions de conductimétrie Quelques nots e conuctimétrie - Mobilité un Deux électroes planes, parallèles, e surface et istantes e sont reliées aux pôles un générateur alternatif (*). I Les surfaces sont en regar l une e l autre

Plus en détail

Chapitre. Chapitre 12. Fonctions de plusieurs variables. 1. Fonctions à valeurs réelles. 1.1 Définition. 1.2 Calcul de dérivées partielles

Chapitre. Chapitre 12. Fonctions de plusieurs variables. 1. Fonctions à valeurs réelles. 1.1 Définition. 1.2 Calcul de dérivées partielles 1 Chapitre Chapitre 1. Fonctions e plusieurs variables La TI-Nspire CAS permet e manipuler très simplement les onctions e plusieurs variables. Nous allons voir ans ce chapitre comment procéer, et éinir

Plus en détail

Algorithmique avancée en Python TDs

Algorithmique avancée en Python TDs Algorithmique avancée en Python TDs Denis Robilliard sept. 2014 1 TD 1 Révisions 1. Ecrire un programme qui saisit un entier, et détermine puis affiche si l entier est pair où impair. 2. Ecrire un programme

Plus en détail

Les graphes : Théorie et Applications

Les graphes : Théorie et Applications Les graphes : Théorie et Applications Sèmya Elaoud Assistante en Méthodes Quantitatives à l Institut Supérieur d Informatique et de Multimédia de Sfax samya.elaoud@fsegs.rnu.tn Motivations Pour les lycéens,

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

COURS DE THÉORIE DES GRAPHES ORGANISATION PRATIQUE & PROJET

COURS DE THÉORIE DES GRAPHES ORGANISATION PRATIQUE & PROJET COURS DE THÉORIE DES GRAPHES ORGANISATION PRATIQUE & PROJET Pour le lundi 26 octobre 2015, chaque étudiant aura choisi les modalités d examen le concernant : 1) projet d implémentation, exercices, partie

Plus en détail

Séance de travaux pratiques n 1 Quelques éléments de correction

Séance de travaux pratiques n 1 Quelques éléments de correction Master Sciences, Technologies, Santé Mention Mathématiques, spécialité Enseignement des mathématiques Algorithmique et graphes, thèmes du second degré Séance de travaux pratiques n 1 Quelques éléments

Plus en détail

ALGORITHMIQUE II. Récurrence et Récursivité. SMI AlgoII

ALGORITHMIQUE II. Récurrence et Récursivité. SMI AlgoII ALGORITHMIQUE II Récurrence et Récursivité Récurrence Suite récurrente: la déition d une suite est la donnée d un terme général déi en fonction du (ou des) terme(s) précédant(s) D un terme initial qui

Plus en détail

M2 MPRO. Optimisation dans les Graphes 2014-2015

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

Plus en détail

Algorithmique et graphes

Algorithmique et graphes Tourisme et digicodes Stéphane Henriot Étienne Simon Département d informatique École normale supérieure de Cachan stephane.henriot@ens-cachan.fr etienne.simon@ens-cachan.fr GICS, 2014 http://gics.fr Outline

Plus en détail

Stratégies et construction

Stratégies et construction Stratégies et construction Sébastien MARTINEAU Été 2008 Exercice 1 (Niveau 2). Sur une règle d 1 mètre de long se trouvent 2008 fourmis. Chacune part initialement, soit vers la gauche, soit vers la droite,

Plus en détail

TOPOLOGIE DE LA DROITE REELLE

TOPOLOGIE DE LA DROITE REELLE TOPOLOGIE DE LA DROITE REELLE P. Pansu 16 mai 2005 1 Qu est-ce que la topologie? C est l étude des propriétés des objets qui sont conservées par déformation continue. Belle phrase, mais qui nécessite d

Plus en détail

Parcours d un graphe ISN 2013. Jean-Manuel Mény IREM de LYON () Algorithmique ISN 2013 1 / 97

Parcours d un graphe ISN 2013. Jean-Manuel Mény IREM de LYON () Algorithmique ISN 2013 1 / 97 Parcours d un graphe ISN 2013 Jean-Manuel Mény IREM de LYON () Algorithmique ISN 2013 1 / 97 Exercices à rendre Trois exercices sont à rendre. L exercice 1 pourra être rendu sur papier mardi 2 avril (ou

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

Affaire de logique du Monde daté du 12 septembre 2009

Affaire de logique du Monde daté du 12 septembre 2009 Affaire de logique du Monde daté du 12 septembre 2009 On considère un secteur angulaire de sommet O, de rayon r et d angle π. On inscrit 3 un carré ABCD dans ce secteur, de trois façons différentes, comme

Plus en détail

Cours Informatique. Louis Sutre Université Montesquieu Bordeaux IV- L2 Économie et gestion 1

Cours Informatique. Louis Sutre Université Montesquieu Bordeaux IV- L2 Économie et gestion 1 Cours Informatique Louis Sutre Université Montesquieu Bordeaux IV- L2 Économie et gestion 1 Chapitre 1 : Introduction au tableur... 3 1. Composition du logiciel... 3 1.1 Menus... 3 1.2 Formatage d une

Plus en détail

Rappels sur les suites - Algorithme

Rappels sur les suites - Algorithme DERNIÈRE IMPRESSION LE 14 septembre 2015 à 12:36 Rappels sur les suites - Algorithme Table des matières 1 Suite : généralités 2 1.1 Déition................................. 2 1.2 Exemples de suites............................

Plus en détail

Série d exercices N 9 Arbres

Série d exercices N 9 Arbres Série d exercices N 9 Arbres Exercice 1 a) Ecrire une fonction ARBIN creerarbreentiers() qui permet de créer et de renvoyer l arbre d entiers suivant : b) Ecrire une fonction int feuilles(arbin a) qui

Plus en détail

Baccalauréat ES Centres étrangers 12 juin 2014 - Corrigé

Baccalauréat ES Centres étrangers 12 juin 2014 - Corrigé Baccalauréat ES Centres étrangers 1 juin 14 - Corrigé A. P. M. E. P. Exercice 1 5 points Commun à tous les candidats 1. On prend un candidat au hasard et on note : l évènement «le candidat a un dossier

Plus en détail

Graphes. Domaine : Combinatoire Auteur : Guillaume Conchon-Kerjan Niveau : Débutants Stage : Montpellier 2014 Contenu : Cours et exercices

Graphes. Domaine : Combinatoire Auteur : Guillaume Conchon-Kerjan Niveau : Débutants Stage : Montpellier 2014 Contenu : Cours et exercices Domaine : Combinatoire Auteur : Guillaume Conchon-Kerjan Niveau : Débutants Stage : Montpellier 2014 Contenu : Cours et exercices Graphes Introduction Le petit cours donné ici peut être fructueusement

Plus en détail

Module ITC34 - Algorithmique et Programmation

Module ITC34 - Algorithmique et Programmation Module ITC34 - Algorithmique et Programmation TDs Algorithmique (trois séances) Benoît Darties - benoit.darties@u-bourgogne.fr Univ. Bourgogne Franche-Comté Année universitaire 2015-2016 Avant-propos :

Plus en détail