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

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

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

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

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

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

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

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

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

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

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

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

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

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

Plus en détail

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

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

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

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

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

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

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

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

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

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

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

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

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

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

À 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

Langages de spécification cours 4

Langages de spécification cours 4 Langages de spécification cours 4 Diagrammes de décision binaire(bdd) Catalin Dima Arbres de décision binaire Étant donnée une formule logique, on peut lui associer un arbre qui permet d évaluer la valeur

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

Dérivées et intégrales non entières

Dérivées et intégrales non entières que "non entière". Dérivées et intégrales non entières. Notations. Outils Robert Janin La terminologie est plutôt "fractionnaire" On notera f (k) ou k x k f la érivée orre k e la fonction f et nous pourrons

Plus en détail

SSNV143 - Traction biaxiale avec la loi de comportement BETON_DOUBLE_DP

SSNV143 - Traction biaxiale avec la loi de comportement BETON_DOUBLE_DP Titre : SSNV14 - Traction biaxiale avec la loi e comport[...] Date : 17/02/2011 Page : 1/14 Manuel e Valiation Fascicule V6.04 : Statique non linéaire es structures volumiques Document V6.04.14 SSNV14

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 EXTENSIONS RÉGIONALES ET LOCALES DE L ENQUÊTE LOGEMENT 2006 ÉCHANTILLONNAGE ET REPONDÉRATION

LES EXTENSIONS RÉGIONALES ET LOCALES DE L ENQUÊTE LOGEMENT 2006 ÉCHANTILLONNAGE ET REPONDÉRATION LES EXTENSIONS RÉGIONALES ET LOCALES DE L ENQUÊTE LOGEMENT 2006 ÉCHANTILLONNAGE ET REPONDÉRATION J. Le Guennec INSEE, pôle ingéniérie statistique ménages Problématique L INSEE réalise tous les quatre ans

Plus en détail

MIS 102 Initiation à l Informatique

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

Plus en détail

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

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

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

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

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

Plus en détail

Baccalauréat ES Antilles Guyane 12 septembre 2014 Corrigé

Baccalauréat ES Antilles Guyane 12 septembre 2014 Corrigé Baccalauréat ES Antilles Guyane 12 septembre 2014 Corrigé EXERCICE 1 5 points Commun à tous les candidats 1. Réponse c : ln(10)+2 ln ( 10e 2) = ln(10)+ln ( e 2) = ln(10)+2 2. Réponse b : n 13 0,7 n 0,01

Plus en détail

Chaînes de Markov au lycée

Chaînes de Markov au lycée Journées APMEP Metz Atelier P1-32 du dimanche 28 octobre 2012 Louis-Marie BONNEVAL Chaînes de Markov au lycée Andreï Markov (1856-1922) , série S Problème 1 Bonus et malus en assurance automobile Un contrat

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

Introduction à l Algorithmique

Introduction à l Algorithmique Introduction à l Algorithmique N. Jacon 1 Définition et exemples Un algorithme est une procédure de calcul qui prend en entier une valeur ou un ensemble de valeurs et qui donne en sortie une valeur ou

Plus en détail

Proposition d activité utilisant l application. Tripatouille. (http://www.malgouyres.fr/tripatouille/)

Proposition d activité utilisant l application. Tripatouille. (http://www.malgouyres.fr/tripatouille/) IREM Clermont-Ferrand Algorithmique au lycée Malika More malika.more@u-clermont1.fr 28 janvier 2011 Proposition d activité utilisant l application Tripatouille (http://www.malgouyres.fr/tripatouille/)

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

La notion de dualité

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

Plus en détail

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

A1-1 TP3 Gmsh et partitionnement de maillage

A1-1 TP3 Gmsh et partitionnement de maillage A1-1 TP3 Gmsh et partitionnement de maillage Nicolas Kielbasiewicz 23 septembre 2013 1 Introduction à Gmsh Sous Windows et Mac OS, Gmsh est une application native. Sous Linux, il se lance en ligne de commande,

Plus en détail

Rapport du Jury du Concours 2010 Épreuve Pratique d Algorithmique et de Programmation (EPAP)

Rapport du Jury du Concours 2010 Épreuve Pratique d Algorithmique et de Programmation (EPAP) Rapport du Jury du Concours 2010 Épreuve Pratique d Algorithmique et de Programmation (EPAP) Loris Marchal, Guillaume Melquion, Frédéric Tronel 21 juin 2011 Remarques générales à propos de l épreuve Organisation

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 16 heures de cours 1 - Introduction

Plus en détail

Algorithmes de recherche

Algorithmes de recherche Algorithmes de recherche 1 Résolution de problèmes par recherche On représente un problème par un espace d'états (arbre/graphe). Chaque état est une conguration possible du problème. Résoudre le problème

Plus en détail

Les automates. Fabrice EUDES, Pascal EVRARD, Philippe MARQUET, François RECHER & Yann SECQ

Les automates. Fabrice EUDES, Pascal EVRARD, Philippe MARQUET, François RECHER & Yann SECQ Les automates Fabrice EUDES, Pascal EVRARD, Philippe MARQUET, François RECHER & Yann SECQ Avril 2015 Retour sur l île et le barman Deux problèmes similaires: Des îles, des bateaux et un trésor à trouver

Plus en détail

Partie 3. Gilles Lebrun (gilles.lebrun@unicaen.fr)

Partie 3. Gilles Lebrun (gilles.lebrun@unicaen.fr) Partie 3 Gilles Lebrun (gilles.lebrun@unicaen.fr) Les arbres binaires Définition : C est une structure arborescente ou hiérarchique ou récursive Chaque élément (nœud) constituant la structure de l arbre

Plus en détail

1 CRÉER UN TABLEAU. IADE Outils et Méthodes de gestion de l information

1 CRÉER UN TABLEAU. IADE Outils et Méthodes de gestion de l information TP Numéro 2 CRÉER ET MANIPULER DES TABLEAUX (Mise en forme, insertion, suppression, tri...) 1 CRÉER UN TABLEAU 1.1 Présentation Pour organiser et présenter des données sous forme d un tableau, Word propose

Plus en détail

L2 - Algorithmique et structures de données (Année 2010/2011) Examen (2 heures)

L2 - Algorithmique et structures de données (Année 2010/2011) Examen (2 heures) L2 - lgorithmique et structures de données (nnée 2010/2011) Delacourt, Phan Luong, Poupet xamen (2 heures) Les documents (cours, TD, TP) sont autorisés. Les quatre exercices sont indépendants. À la fin

Plus en détail

Vision industrielle et télédétection - Détection d ellipses. Guillaume Martinez 17 décembre 2007

Vision industrielle et télédétection - Détection d ellipses. Guillaume Martinez 17 décembre 2007 Vision industrielle et télédétection - Détection d ellipses Guillaume Martinez 17 décembre 2007 1 Table des matières 1 Le projet 3 1.1 Objectif................................ 3 1.2 Les choix techniques.........................

Plus en détail

Théorie des graphes pour l analyse de réseaux réels

Théorie des graphes pour l analyse de réseaux réels Théorie des graphes pour l analyse de réseaux réels Bertrand Jouve Laboratoire ERIC - IXXI - Université Lyon 2 Plan 1 Entre théorie des graphes et réseaux réels 2 Partitionnement métrique Exemple d étude

Plus en détail

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

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

Plus en détail

On constate couramment la position. Luxations volontaires. et mobilisation. mésioversées. de dents postérieures. chirurgie

On constate couramment la position. Luxations volontaires. et mobilisation. mésioversées. de dents postérieures. chirurgie 1 2 Luxations volontaires et moilisation e ents postérieures mésioversées François Barruel, Eva Ameisen On sait epuis longtemps que les molaires inférieures, ans les cas e ysharmonie ento-maxillaire, ont

Plus en détail

GAMMES BIEN RÉPARTIES ET TRANSFORMÉE DE FOURIER DISCRÈTE. Emmanuel AMIOT 1

GAMMES BIEN RÉPARTIES ET TRANSFORMÉE DE FOURIER DISCRÈTE. Emmanuel AMIOT 1 Math. & Sci. hum. / Mathematical Social Sciences (45 e année, n 178, 2007(2), p. 95 117) GAMMES BIEN RÉPARTIES ET TRANSFORMÉE DE FOURIER DISCRÈTE Emmanuel AMIOT 1 résumé Un es concepts les plus intŕessants

Plus en détail

Mathématiques appliquées à l informatique

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

Plus en détail

IMPLEMENTATION D UN SYSTEME D INFORMATION DECISIONNEL

IMPLEMENTATION D UN SYSTEME D INFORMATION DECISIONNEL IMPLEMENTATION D UN SYSTEME D INFORMATION DECISIONNEL Proposé par BUMA Feinance Master en management e projets informatiques Consultant en système écisionnel I. COMPREHENSION DU CONTEXTE «L informatique

Plus en détail

Exercices - Polynômes : corrigé. Opérations sur les polynômes

Exercices - Polynômes : corrigé. Opérations sur les polynômes Opérations sur les polynômes Exercice 1 - Carré - L1/Math Sup - Si P = Q est le carré d un polynôme, alors Q est nécessairement de degré, et son coefficient dominant est égal à 1. On peut donc écrire Q(X)

Plus en détail

3 Approximation de solutions d équations

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

Plus en détail

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

Quelques Algorithmes simples

Quelques Algorithmes simples Quelques Algorithmes simples Irène Guessarian ig@liafa.jussieu.fr 10 janvier 2012 Je remercie Patrick Cegielski de son aide efficace pour la programmation Java ; la section sur le codage de Huffman a été

Plus en détail

Relation binaire. 2. Relations, fonctions et ordres. Exemples. Représentation d une relation binaire. Un couple est une paire ordonnée d éléments.

Relation binaire. 2. Relations, fonctions et ordres. Exemples. Représentation d une relation binaire. Un couple est une paire ordonnée d éléments. Relation binaire Un couple est une paire ordonnée d éléments. ex: les points (x,y) du plan de IN 2 ou de IR 2, les nom et prix d un produit, les instances d un objet en Java (à 2 attributs). 2. Relations,

Plus en détail

1 Comptage de solutions et escaliers

1 Comptage de solutions et escaliers Licence Informatique Systèmes polynomiaux, que signifie : résoudre? Feuille de TD numéro 11 1 Comptage de solutions et escaliers Question 1. On considère le système suivant p1 := 2*x*y^2 + 3*x^2-5*y^3

Plus en détail

Jeux à somme nulle : le cas fini

Jeux à somme nulle : le cas fini CHAPITRE 2 Jeux à somme nulle : le cas fini Les jeux à somme nulle sont les jeux à deux joueurs où la somme des fonctions de paiement est nulle. Dans ce type d interaction stratégique, les intérêts des

Plus en détail

Algorithmique P2. HeapSort et files de priorité Ulg, 2009-2010 Renaud Dumont

Algorithmique P2. HeapSort et files de priorité Ulg, 2009-2010 Renaud Dumont Algorithmique P2 HeapSort et files de priorité Ulg, 2009-2010 Renaud Dumont Structure de tas - arbre Un tas est une structure de données qui Permet un nouveau type de tri (Tri par tas) Permet l'implémentation

Plus en détail

Resolution limit in community detection

Resolution limit in community detection Introduction Plan 2006 Introduction Plan Introduction Introduction Plan Introduction Point de départ : un graphe et des sous-graphes. But : quantifier le fait que les sous-graphes choisis sont des modules.

Plus en détail

Algorithmique Travaux Dirigés

Algorithmique Travaux Dirigés Algorithmique Travaux Dirigés Master Technologie et Handicap : Intensifs 1 Corrigé Exercice 1 Affectations 1. Considérons les algorithmes ci-dessous. (a) Quel sera le contenu des variables a, b et éventuellement

Plus en détail

Séance de TD 05 TD05. 1 Exercice 1. 1.1 Question 1 : dessins des ABR avec hauteurs différentes AG51

Séance de TD 05 TD05. 1 Exercice 1. 1.1 Question 1 : dessins des ABR avec hauteurs différentes AG51 Séance de TD 05 1 Exercice 1 1. Dessinez les arbres binaires de recherche de hauteur 2,3,4,5 et 6 pour le même ensemble de clés S = 1,4,5,10,16,17,21. 2. Donnez l algorithme de l opération ArbreRechercher(x,k)

Plus en détail

Leçon 6. Savoir compter

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

Plus en détail

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

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

Plus en détail

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

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

Plus en détail

Eléments de correction du Bac Blanc n 2 de Mathématiquesdu Lundi 8 Avril2013. Calculatrice autorisée - Aucun document n'est autorisé.

Eléments de correction du Bac Blanc n 2 de Mathématiquesdu Lundi 8 Avril2013. Calculatrice autorisée - Aucun document n'est autorisé. TES Spé Maths Eléments de correction du Bac Blanc n 2 de Mathématiquesdu Lundi 8 Avril2013 Calculatrice autorisée - Aucun document n'est autorisé. Vous apporterez un grand soin à la présentation et à la

Plus en détail

Que faire en algorithmique en classe de seconde? ElHassan FADILI Lycée Salvador Allende

Que faire en algorithmique en classe de seconde? ElHassan FADILI Lycée Salvador Allende Que faire en algorithmique en classe de seconde? BEGIN Que dit le programme? Algorithmique (objectifs pour le lycée) La démarche algorithmique est, depuis les origines, une composante essentielle de l

Plus en détail

Problèmes de dénombrement.

Problèmes de dénombrement. Problèmes de dénombrement. 1. On se déplace dans le tableau suivant, pour aller de la case D (départ) à la case (arrivée). Les déplacements utilisés sont exclusivement les suivants : ller d une case vers

Plus en détail

Jeu de taquin : résolution automatique sur ordinateur

Jeu de taquin : résolution automatique sur ordinateur 1 Jeu de taquin : résolution automatique sur ordinateur Sous sa forme la plus générale, le jeu de taquin est constitué d un rectangle rempli par des blocs carrés accolés, chacun portant un numéro, avec

Plus en détail

# let rec concat l1 l2 = match l1 with [] -> l2 x::l 1 -> x::(concat l 1 l2);; val concat : a list -> a list -> a list =

# let rec concat l1 l2 = match l1 with [] -> l2 x::l 1 -> x::(concat l 1 l2);; val concat : a list -> a list -> a list = <fun> 94 Programmation en OCaml 5.4.8. Concaténation de deux listes Définissons maintenant la fonction concat qui met bout à bout deux listes. Ainsi, si l1 et l2 sont deux listes quelconques, concat l1 l2 constitue

Plus en détail

Structures de données, IMA S6

Structures de données, IMA S6 Structures de données, IMA S6 Arbres Binaires d après un cours de N. Devésa, Polytech Lille. Laure Gonnord http://laure.gonnord.org/pro/teaching/ Laure.Gonnord@polytech-lille.fr Université Lille 1 - Polytech

Plus en détail

C ellules. Gestion et récupération automatique de mémoire. Principes des lang. de progr. INE 11. Allocation dynamique de mémoire.

C ellules. Gestion et récupération automatique de mémoire. Principes des lang. de progr. INE 11. Allocation dynamique de mémoire. Principes des lang. de progr. INE 11 Michel Mauny ENSTA ParisTech Prénom.Nom@ensta.fr Michel Mauny (ENSTA ParisTech) INE 11 Prénom.Nom@ensta.fr 1 / 37 Gestion et récupération automatique de mémoire lanage

Plus en détail

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

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

Plus en détail

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

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

Plus en détail

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

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

Plus en détail

AGASC / BUREAU INFORMATION JEUNESSE 06700 Saint Laurent du Var Tel : 04.93.07.00.66 bij@agasc.fr www.agasc.fr. Word: Les tableaux.

AGASC / BUREAU INFORMATION JEUNESSE 06700 Saint Laurent du Var Tel : 04.93.07.00.66 bij@agasc.fr www.agasc.fr. Word: Les tableaux. Word: Les tableaux Introduction 6 ième partie Il est préférable par moments de présenter de l'information sous forme de tableau. Les instructions qui suivent démontrent comment créer un tableau et comment

Plus en détail

Infolettre #18 : Les graphiques avec Excel 2010

Infolettre #18 : Les graphiques avec Excel 2010 Infolettre #18 : Les graphiques avec Excel 2010 Table des matières Introduction... 1 Hourra! Le retour du double-clic... 1 Modifier le graphique... 4 Onglet Création... 4 L onglet Disposition... 7 Onglet

Plus en détail

Quadrature n 74 (2009) 10 22. Online Material

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

Plus en détail

V- Manipulations de nombres en binaire

V- Manipulations de nombres en binaire 1 V- Manipulations de nombres en binaire L ordinateur est constitué de milliards de transistors qui travaillent comme des interrupteurs électriques, soit ouverts soit fermés. Soit la ligne est activée,

Plus en détail

Arbres binaires. Chapitre 1. 1. Introduction. option informatique. 1.1 Définition formelle d un arbre binaire

Arbres binaires. Chapitre 1. 1. Introduction. option informatique. 1.1 Définition formelle d un arbre binaire Chapitre option informatique Arbres binaires. Introduction Dans son acceptation la plus générale, un arbre est un graphe acyclique orienté enraciné : tous les sommets, à l exception de la racine, ont un

Plus en détail

LES ARBRES BINAIRES DE RECHERCHE

LES ARBRES BINAIRES DE RECHERCHE 1 INTRODUCTION À L ALGORITHMIQUE - LES ARBRES BINAIRES DE RECHERCHE Chargée de cours: Transparents:http://www-npa.lip6.fr/~blin/Enseignements.html Email: lelia.blin@lip6.fr Arbres binaires de Recherche

Plus en détail

Fonctions homographiques

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

Plus en détail

La protection de votre habitation

La protection de votre habitation La protection e votre habitation par la tžlžsžcuritž Vous souhaitez protéger votre habitation par un système e télésécurité. u est-ce qu un service e télésécurité? Comment choisir le prestataire? uels

Plus en détail

Indications pour une progression au CM1 et au CM2

Indications pour une progression au CM1 et au CM2 Indications pour une progression au CM1 et au CM2 Objectif 1 Construire et utiliser de nouveaux nombres, plus précis que les entiers naturels pour mesurer les grandeurs continues. Introduction : Découvrir

Plus en détail

OBJECTIFS DE CE GUIDE... 5 QU EST-CE QU UN DOCUMENT ACCESSIBLE... 5 LA STRUCTURE D UN DOCUMENT... 6 LES TITRES ET LES SOUS-TITRES...

OBJECTIFS DE CE GUIDE... 5 QU EST-CE QU UN DOCUMENT ACCESSIBLE... 5 LA STRUCTURE D UN DOCUMENT... 6 LES TITRES ET LES SOUS-TITRES... Diffusion de l information dans Internet Guide de création de documents Word accessibles 5 novembre 2009 OBJECTIFS DE CE GUIDE... 5 QU EST-CE QU UN DOCUMENT ACCESSIBLE... 5 LA STRUCTURE D UN DOCUMENT...

Plus en détail

Devoir commun Décembre 2014 3 ème LV2

Devoir commun Décembre 2014 3 ème LV2 Devoir commun Décembre 2014 3 ème LV2 Collège OASIS Corrigé de l Epreuve de Mathématiques L usage de la calculatrice est autorisé, mais tout échange de matériel est interdit Les exercices sont indépendants

Plus en détail

Introduction à la théorie des graphes

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

Plus en détail

Baccalauréat ES/L Métropole La Réunion 13 septembre 2013 Corrigé

Baccalauréat ES/L Métropole La Réunion 13 septembre 2013 Corrigé Baccalauréat S/L Métropole La Réunion 13 septembre 2013 Corrigé A. P. M.. P. XRCIC 1 Commun à tous les candidats Partie A 1. L arbre de probabilité correspondant aux données du problème est : 0,3 0,6 H

Plus en détail