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

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

RECHERCHE OPERATIONNELLE

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

Plus en détail

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

TP4 : Focométrie des lentilles minces

TP4 : Focométrie des lentilles minces TP4 : Focométrie es lentilles minces Objectifs : Déterminer la nature (convergente CV ou ivergente DV) une lentille mince. Déterminer par ifférentes méthoes la istance focale image une lentille convergente

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

a) b) c) d) Diffraction d une onde à la surface de l eau de longueur d onde λ par un diaphragme de taille d ; de a) à d) le rapport λ / d augmente

a) b) c) d) Diffraction d une onde à la surface de l eau de longueur d onde λ par un diaphragme de taille d ; de a) à d) le rapport λ / d augmente Chapitre 8 : DIFFRACTION 8-1 Introuction à la iffraction a) b) c) ) Diffraction une one à la surface e l eau e longueur one par un iaphragme e taille ; e a) à ) le rapport / augmente Le phénomène physique

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

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

Partie I : Automates et langages

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

Plus en détail

Chapitre 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

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

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

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

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

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

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

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

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

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

Cours de. Pierre Lopez

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

Plus en détail

Optimisation de plans de financement immobiliers

Optimisation de plans de financement immobiliers Optimisation e plans e financement immobiliers De la recherche opérationnelle en actuariat bancaire Frééric GARDI & Alain DAVID EXPERIAN PROLOGIA, Parc Scientifique et Technologique e Luminy, case 919,

Plus en détail

Fiche(1) Graphes étiquetés et graphes pondérés. Recherche du plus court chemin Algorithme de Dijkstra

Fiche(1) Graphes étiquetés et graphes pondérés. Recherche du plus court chemin Algorithme de Dijkstra Fiche(1) Recherche du plus court chemin Algorithme de Dijkstra Partons d un cas concret : un automobiliste doit se rendre de Troyes à Autun. Si vous observez la carte ci-dessous, vous remarquez qu un faisceau

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

Arbres binaires de recherche (ABR) Binary Search Trees (BST)

Arbres binaires de recherche (ABR) Binary Search Trees (BST) LSVIII-BIM Algorithmie, 2015 Arbres binaires de recherche (ABR) Binary Search Trees (BST) I. Arbres binaires 1. Structure 2. Parcours II. Arbres binaires de recherche 1. Définition 2. Opérations sur les

Plus en détail

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

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

Plus en détail

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

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

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

Hydrodynamique des lits fluidisés en régime de bullage

Hydrodynamique des lits fluidisés en régime de bullage Hyroynamique es lits fluiisés en régime e ullage M. HEMATI Régime e ullage. La plupart es lits fluiisés inustriels fonctionnent en régime e ullage. Ce régime est oservé ès que la vitesse u gaz épasse la

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

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

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

Arbres binaires de recherche

Arbres binaires de recherche Chapitre 1 Arbres binaires de recherche 1 Les arbre sont très utilisés en informatique, d une part parce que les informations sont souvent hiérarchisées, et peuvent être représentées naturellement sous

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

CHIFFRES NON NULS DANS LE DÉVELOPPEMENT EN BASE ENTIÈRE D UN NOMBRE ALGÉBRIQUE IRRATIONNEL. par. Boris Adamczewski & Colin Faverjon

CHIFFRES NON NULS DANS LE DÉVELOPPEMENT EN BASE ENTIÈRE D UN NOMBRE ALGÉBRIQUE IRRATIONNEL. par. Boris Adamczewski & Colin Faverjon CHIFFRES NON NULS DANS LE DÉVELOPPEMENT EN BASE ENTIÈRE D UN NOMBRE ALGÉBRIQUE IRRATIONNEL par Boris Aamczewski & Colin Faveron Résumé. Dans ce texte, nous onnons une minoration effective u nombre e chiffres

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

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

PARCOURS DU CAVALIER SUR L ÉCHIQUIER

PARCOURS DU CAVALIER SUR L ÉCHIQUIER I05 ÉPREUVE COMMUNE DE TIPE 2011 - Partie D TITRE : PARCOURS DU CAVALIER SUR L ÉCHIQUIER Temps de préparation :.. 2 h 15 minutes Temps de présentation devant les examinateurs :.10 minutes Dialogue avec

Plus en détail

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

CRYPTOGRAPHIE. Un système de cryptographie est une technique permettant de protéger une communication au moyen d'un code secret.

CRYPTOGRAPHIE. Un système de cryptographie est une technique permettant de protéger une communication au moyen d'un code secret. CRYPTOGRAPHIE Un système e cryptographie est une technique permettant e protéger une communication au moyen 'un coe secret. Il existe eux grans types e cryptographie : - La cryptographie symétrique à clé

Plus en détail

Formation IREM Lille sur les graphes

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

Plus en détail

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

Récupération automatique de la

Récupération automatique de la Récupération automatique de la mémoire 1 Plan 1. La gestion du tas. 2. Marquage et balayage. 3. Comptage de références. 4. Récupération par copie. 5. Compléments. 2 Problématique Le code exécutable généré

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

Les mathématiques du calcul

Les mathématiques du calcul Les mathématiques du calcul Module Maths Discrètes, INSA, Univ Lyon 1, 2015-2016 Eric Tannier (eric.tannier@univ-lyon1.fr) Les mathématiques du calcul Tradition orientale Al-Khawarizmi Al-Khawarizmi, 783-850

Plus en détail

De la difficulté de colorer : de Guthrie à Karp

De la difficulté de colorer : de Guthrie à Karp De la difficulté de colorer : de Guthrie à Karp Introduction à l optimisation combinatoire : Modélisation et complexité Marc Demange ESSEC Business School Paris, Singapore demange@essec.edu Plan de la

Plus en détail

Cours de Master Recherche

Cours de Master Recherche Cours de Master Recherche Spécialité CODE : Résolution de problèmes combinatoires Christine Solnon LIRIS, UMR 5205 CNRS / Université Lyon 1 2007 Rappel du plan du cours 1 - Introduction Qu est-ce qu un

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

Auto-évaluation d acquisition des connaissances

Auto-évaluation d acquisition des connaissances Section e Physique 25.09.2015 Auto-évaluation acquisition es connaissances Inications préalables : L objectif est une auto-évaluation u progrès concernant les connaissances acquises penant le cours. Ce

Plus en détail

Partiel INF242, 2009-2010

Partiel INF242, 2009-2010 Partiel INF242, 2009-2010 Stéphane Devismes Pascal Lafourcade Lundi 22 mars 2010 Total : 120 points Durée : 2h00 Documents autorisés : une feuille recto verso de notes personnelles format A4 Le arème des

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

Marches, permutations et arbres binaires aléatoires

Marches, permutations et arbres binaires aléatoires Marches, permutations et arbres binaires aléatoires Épreuve pratique d algorithmique et de programmation Concours commun des Écoles Normales Supérieures Durée de l épreuve: 4 heures Cœfficient: 4 Juillet

Plus en détail

À propos des matrices échelonnées

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

Plus en détail

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

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

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

Plus en détail

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

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

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

Plus en détail

6 Equations du première ordre

6 Equations du première ordre 6 Equations u première orre 6.1 Equations linéaires Consiérons l équation a k (x) k u = b(x), (6.1) où a 1,...,a n,b sont es fonctions continûment ifférentiables sur R. Soit D un ouvert e R et u : D R

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

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

Sortie : OUI si n est premier, NON sinon. On peut voir Premier aussi comme une fonction, en remplaçant OUI par 1 et NON par 0.

Sortie : OUI si n est premier, NON sinon. On peut voir Premier aussi comme une fonction, en remplaçant OUI par 1 et NON par 0. Université Bordeaux 1. Master Sciences & Technologies, Informatique. Examen UE IN7W11, Modèles de calcul. Responsable A. Muscholl Session 1, 2011 2012. 12 décembre 2011, 14h-17h. Documents autorisés :

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

Gestion de projet. Jean-Charles Régin. Licence Informatique 3 ème année - MIAGE

Gestion de projet. Jean-Charles Régin. Licence Informatique 3 ème année - MIAGE Gestion de projet Jean-Charles Régin Licence Informatique 3 ème année - MIAGE Gestion de projet : Ordonnancement Jean-Charles Régin Licence Informatique 3 ème année - MIAGE Remerciements Michel Minoux

Plus en détail

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

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

Plus en détail

Chapitre 5. Les graphes et leurs algorithmes

Chapitre 5. Les graphes et leurs algorithmes Chapitre 5 Les graphes et leurs algorithmes 1. Introduction : La notion de graphe est une structure combinatoire permettant de représenter de nombreuses situations rencontrées dans des applications faisant

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

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

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

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

Plus en détail

1 Récupération des données

1 Récupération des données Lycée Buffon MP*/PSI 014-15 Épreuve d informatique du concours blanc, jeudi 5 mars 015 (3h00) Les documents, téléphones portables, ordinateurs et calculatrices sont interdits. Le sujet de cette épreuve

Plus en détail

Les algorithmes de base du graphisme

Les algorithmes de base du graphisme Les algorithmes de base du graphisme Table des matières 1 Traçage 2 1.1 Segments de droites......................... 2 1.1.1 Algorithmes simples.................... 3 1.1.2 Algorithmes de Bresenham (1965).............

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

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

corrigé des fiches reproductibles 3

corrigé des fiches reproductibles 3 corrigé des fiches reproductibles Réactivation Page a. hoix d automobiles Moteur atégorie ouleur Résultat possible leu (ybride, Sous-compacte, leu) Sous-compacte Noir (ybride, Sous-compacte, ) (ybride,

Plus en détail

et les Trois Marches d'assurance

et les Trois Marches d'assurance The Geneva Papers on Risk an Insurance, 20 (juillet 98), 36-40 Asymétrie 'Information et les Trois Marches 'Assurance par Jean-Jacques Laffont * La proposition stimulante e Monsieur Ic Professeur Borch

Plus en détail

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

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

Plus en détail