Introduction à la théorie des graphes. Plan du cours. Définition. Remarque. Notation. Notation

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

Download "Introduction à la théorie des graphes. Plan du cours. Définition. Remarque. Notation. Notation"

Transcription

1 Introduction à la théorie des graphes Christophe Clavier 1 2 Un graphe G est défini par : un ensemble E appelé ensemble des sommets {x 1, x 2, x 3,...} un sous-ensemble U du produit cartésien E E appelé ensemble d arcs (ou arêtes) U = {(x, y) E E / le sommet x est en relation avec le sommet y} On note G = (E, U). 1 Institut d Ingénierie Informatique de Limoges (3iL) 2 Université de Limoges XLIM Juin 2010 Si E est un ensemble fini, alors le graphe G est dit fini. On appelle ordre d un graphe fini le nombre de ses sommets. Christophe Clavier (3iL XLIM) Théorie des graphes Juin / 49 Christophe Clavier (3iL XLIM) Théorie des graphes Juin / 49 Plan du cours 1 Notions de base 2 Parcours de graphes 3 Représentation des graphes en mémoire 4 Arbres et arborescences 5 Calcul du plus court chemin Notation Un arc u = (x, y) est noté x y x est appelée origine ou extrémité initiale y est appelée destination ou extrémité finale On parle alors de graphe orienté. Notation Lorsque le sens de parcours n a pas de signification on dit que le graphe est non orienté. u = (x, y) est alors appelée une arête, notée x y Christophe Clavier (3iL XLIM) Théorie des graphes Juin / 49 Christophe Clavier (3iL XLIM) Théorie des graphes Juin / 49

2 Exemple Exercices G = (E, U) E = {a, b, c, d, e, f, g} U = {(a, b), (a, c), (a, e), (b, f ), (b, c), (c, d), (d, g), (e, f ), (f, d), (f, b), (g, f )} Trouvez dans ce graphe : un chemin simple passant par c et e un chemin élémentaire de longueur 5 un chemin simple, non élémentaire un chemin élémentaire, non simple un circuit de longueur 3, 4 un chemin/circuit hamiltonien un chemin/circuit eulérien Christophe Clavier (3iL XLIM) Théorie des graphes Juin / 49 Christophe Clavier (3iL XLIM) Théorie des graphes Juin / 49 s Un chemin est une suite d arcs dont l extrémité finale de chacun est l extrémité initiale du suivant (sauf pour le dernier). Exemple : a b c d g Si le graphe n est pas orienté, on parle alors de chaîne. Un chemin simple est un chemin qui ne passe pas plus d une fois par le même arc. Un chemin élémentaire est un chemin qui ne passe pas plus d une fois par le même sommet. La longueur d un chemin est le nombre d arcs qui constituent le chemin. Un circuit est un chemin qui se ferme sur lui-même (son origine et son extrémité sont confondues). Si le graphe n est pas orienté, on parle alors de cycle. Un chemin (resp. circuit) hamiltonien est un chemin (resp. circuit) qui passe par tous les sommets du graphe une fois et une seule. Un chemin (resp. circuit) eulérien est un chemin (resp. circuit) qui passe par tous les arcs du graphe une fois et une seule. Successeur d un sommet On note Γ + l application : Γ + : E E x Γ + (x) = {y E / (x, y) U} où Γ + (x) représente l ensemble des successeurs de x. Prédécesseur d un sommet On note Γ l application : Γ : E E x Γ (x) = {y E / (y, x) U} où Γ (x) représente l ensemble des prédécesseurs de x. Un graphe G = (E, U) est entièrement déterminé par chacun des couples (E, Γ + ) et (E, Γ ). Christophe Clavier (3iL XLIM) Théorie des graphes Juin / 49 Christophe Clavier (3iL XLIM) Théorie des graphes Juin / 49

3 Exercice Incidence et adjacence Soit u = (x, y) une arête. On dit que u est incidente à x (et à y). Soit u = (x, y) un arc. On dit que u est incident à x vers l extérieur et incident à y vers l intérieur. On dit que les sommets x et y sont adjacents à l arc ou arête u. Degré d un sommet Que valent Γ + (a), Γ (a), Γ (f )? On appelle demi degré intérieur d un sommet x, et on note d (x), le nombre d arcs incidents à x vers l intérieur. On appelle demi degré extérieur d un sommet x, et on note d + (x), le nombre d arcs incidents à x vers l extérieur. Le degré d un sommet x est égal à d(x) = d (x) + d + (x). (Pour un graphe non orienté, le degré d un sommet est le nombre d arêtes qui lui sont incidentes.) Christophe Clavier (3iL XLIM) Théorie des graphes Juin / 49 Christophe Clavier (3iL XLIM) Théorie des graphes Juin / 49 Connexité Un graphe est dit connexe s il existe une chaîne entre toutes paires de sommets du graphe. (Si le graphe est orienté, cette notion s évalue sur le graphe non orienté qui s en déduit naturellement.) Si le graphe n est pas connexe on peut identifier plusieurs sous-graphes connexes maximaux (au sens de l inclusion) appelés composantes connexes. Chaque composante connexe est une classe d équivalence pour la relation x R y il existe une chaîne entre x et y. Forte connexité Un graphe orienté est dit fortement connexe si pour toute paire de sommets (x, y) il existe un chemin de x vers y ET de y vers x. Si le graphe n est pas fortement connexe on peut identifier plusieurs sous-graphes fortement connexes maximaux appelés composantes fortement connexes. Chaque composante fortement connexe est une classe d équivalence pour la relation x R y il existe un chemin de x vers y ET de y vers x. Graphe partiel On appelle graphe partiel de G un graphe dans lequel on a supprimé des arcs (ou arêtes) sans supprimer de sommets. Sous-graphe On appelle sous-graphe de G un graphe dans lequel on a supprimé des sommets, et par suite les arcs (ou arêtes) qui sont incidents à ces sommets. Exemple Graphe G : le réseau routier d Europe (E={villes}, U={axes}) Graphe partiel de G : le réseau autoroutier d Europe Sous-graphe de G : le réseau routier de France Sous-graphe partiel de G : le réseau autoroutier de France Christophe Clavier (3iL XLIM) Théorie des graphes Juin / 49 Christophe Clavier (3iL XLIM) Théorie des graphes Juin / 49

4 Parcours en largeur Graphe régulier Un graphe est dit régulier si tous les sommets ont le même degré. Graphe complet Un graphe est dit complet s il existe (au moins) un arc (ou une arête) entre chaque paire de sommets. Graphe simple Un graphe est dit simple si : il n y a pas de boucle (u = (x, x)) il n y a pas plus d un arc (ou pas plus d une arête) pour relier deux sommets À partir d un sommet S on exprime d abord tous ses successeurs, puis on explore de la même manière à partir de chaque sommet déjà rencontré non encore étudié. Algorithme de parcours en largeur : 1: procedure ParcoursLargeur(S : sommet) 2: CreerFile(f ) 3: Enfiler(f,S) 4: while f n est pas vide do 5: x Defiler(f ) 6: if x est non marqué then 7: Marquer(x) 8: for tout successeur j de x do 9: Enfiler(f,j) 10: end for 11: end if 12: end while 13: end procedure Christophe Clavier (3iL XLIM) Théorie des graphes Juin / 49 Christophe Clavier (3iL XLIM) Théorie des graphes Juin / 49 Soit G = (E, U) un graphe orienté. But : parcourir le graphe G à partir d un sommet S E, c est à dire trouver l ensemble des descendants de ce sommet. Parcours en profondeur À partir d un sommet S on calcule les descendants en marquant tous les sommets explorés. On parcours le graphe en profondeur d abord et obtient ainsi un arbre d exploration. Algorithme (version récursive) : 1: procedure ParcoursProfondeur(S : sommet) 2: Marquer(S) 3: for chaque sommet j successeur de S do 4: if j est non marqué then 5: ParcoursProfondeur(j) 6: end if 7: end for 8: end procedure Détermination des composantes connexes Soit G = (E, U) un graphe non orienté. Soit S E un sommet dont on ne connaît pas la composante connexe. Un sommet x appartient à la composante connexe de S si et seulement si il existe une chaîne qui relie S à x. Pour obtenir les sommets reliés à S on fait un exploration à partir de S. (Adapter l algorithme précédent en remplaçant successeur de par en relation avec.) La composante connexe associée à S est l ensemble des sommets marqués par cette exploration. On itère le procédé en choisissant un nouveau sommet non associé à une composante connexe déjà connue. Christophe Clavier (3iL XLIM) Théorie des graphes Juin / 49 Christophe Clavier (3iL XLIM) Théorie des graphes Juin / 49

5 Décomposition d un graphe en niveaux Détermination des composantes fortement connexes Soit G = (E, U) un graphe orienté. Soit S E un sommet dont on ne connaît pas la composante fortement connexe. Un sommet x appartient à la composante fortement connexe de S si et seulement si il existe une chemin de S vers x ET un chemin de x vers S. Pour obtenir les sommets descendants de S on fait un exploration à partir de S. On obtient un ensemble de sommet D(S). Pour obtenir les sommets ascendants de S on fait un exploration à partir de S dans le graphe inverse G 1. On obtient un ensemble de sommet A(S). (G 1 = (E, U ) où U = {(x, y) E E/(y, x) U}.) La composante fortement connexe associée à S est D(S) A(S) On itère le procédé en choisissant un nouveau sommet non associé à une composante fortement connexe déjà connue. Propriétés Un sommet a tous ses successeurs dans les niveaux supérieurs (k plus grand) Tout sommet qui n est pas une entrée a au moins un prédécesseur dans le niveau immédiatement inférieur. Algorithme de décomposition en niveaux 1: procedure DecompositionNiveaux 2: l 1 3: E E 4: while E do 5: for tout sommet x de E sans prédécesseur do 6: Layer(x) l 7: end for 8: enlever de E tous les sommets de niveau l 9: l l : end while 11: end procedure Christophe Clavier (3iL XLIM) Théorie des graphes Juin / 49 Christophe Clavier (3iL XLIM) Théorie des graphes Juin / 49 Décomposition d un graphe en niveaux Décomposition d un graphe en niveaux Une décomposition en niveaux (tri topologique) d un graphe orienté sans circuit est réalisée en organisant les sommets d un graphe en k niveaux (ou couches) : L 1, L 2,..., L k où chaque ensemble est défini par la fonction : Layer : Exemple E N x Layer(x) = 1 si x n a pas de prédécesseur (entrée) sinon, longueur du plus long chemin reliant x à une entrée Décomposition d un graphe en niveaux Application typique Recherche de chemin critique en ordonnancement de tâches Exemple d application : calcul sur un ordinateur parallèle On considère un ordinateur parallèle équipé de plusieurs processeurs. Chaque processeur peut réaliser des opérations sur deux opérandes avec résultat dans un autre opérande 1 cycle d horloge. Les variables temporaires sont T 1, T 2,... ( Soit à évaluer : (sin(a 2 + B) cos(a 2 + B C) ) /(1 + C + A 2 ) T 1 = A A T 5 = T 1 + T 4 T 9 = T 1 + T 8 T 2 = T 1 + B T 6 = cos(t 5) T 10 = T 7/T 9 T 3 = sin(t 2) T 7 = T 3 T 6 T 4 = B C T 8 = 1 + C Christophe Clavier (3iL XLIM) Théorie des graphes Juin / 49 Christophe Clavier (3iL XLIM) Théorie des graphes Juin / 49

6 Décomposition d un graphe en niveaux Instructions à exécuter T 1 = A A T 5 = T 1 + T 4 T 9 = T 1 + T 8 T 2 = T 1 + B T 6 = cos(t 5) T 10 = T 7/T 9 T 3 = sin(t 2) T 7 = T 3 T 6 T 4 = B C T 8 = 1 + C Modélisation par un graphe orienté sans circuit G = (E, U) E = (T 1,..., T 10) U = {(T i, T j) / l instruction T j a besoin de l instruction T i pour s exécuter} Décomposition en niveaux Représentation par matrice d adjacence À un graphe G = (E, U) on associe une matrice n n : { 1 si (xi, x j) U M = (a i,j) avec a i,j = 0 sinon M est appelée la matrice d adjacence de G. Un graphe est sans boucle si et seulement si la diagonale principale de M ne contient que des 0. On peut considérer M de deux façons : Comme un matrice dans N La somme des éléments de la ligne i est égale à d + (x i ) La somme des éléments de la colonne j est égale à d (x j ) Comme un matrice booléenne Les éléments de la matrice a i,j = booléen {0, 1} Les matrices produits M (1), M (2),..., M (k) sont à valeurs dans {0, 1} Le calcul de M (k) indique s il existe un chemin de longueur k entre x i et x j Christophe Clavier (3iL XLIM) Théorie des graphes Juin / 49 Christophe Clavier (3iL XLIM) Théorie des graphes Juin / 49 Représentation par matrice d incidence Représenter un graphe (orienté ou non) en mémoire, c est définir la structure de donnée qui permettra de le stocker et de le manipuler (calculs, parcours,... ). Considérations à prendre en compte pour le choix de la structure de donnée : Type d accès : direct ou séquentiel Encombrement mémoire Types de représentations Par matrice d adjacence Par matrice d incidence sommets-arcs (ou sommets-arêtes) Par liste d adjacence Soit G = (E, U) un graphe sans boucle. On lui associe une matrice n m telle que : 1 si x i est l extrémité initiale de l arc u j M = (a i,j) avec a i,j = 1 si x i est l extrémité finale de l arc u j 0 sinon M est appelée la matrice d incidence sommets-arcs de G. s Cette définition implique une numérotation des arcs. On peut définir une représentation par matrice d incidence arcs-sommets. Lorsque le graphe est non orienté on définit la matrice d incidence sommets-arêtes par : { 1 si xi est un sommet de l arête u j M = (a i,j) avec a i,j = 0 sinon Christophe Clavier (3iL XLIM) Théorie des graphes Juin / 49 Christophe Clavier (3iL XLIM) Théorie des graphes Juin / 49

7 Fermeture transitive et composante fortement connexe Représentation par liste d adjacence Dans la représentation d un graphe par liste d adjacence chaque arc est représenté par son extrémité finale, son extrémité initiale étant définie implicitement. Tous les arcs émanant d un même sommet sont liés entre eux dans une liste. À chaque arc sont donc associés le sommet destination et le pointeur sur le prochain sommet dans la liste. Implémentation possible Soit un graphe ayant n sommets et m arcs. On crée deux tableaux : Liste de pointeurs : LP de dimension (n + 1) Liste de sommets : LS de dimension m (cas orienté) ou 2m (cas non orienté) Pour tout i, la liste des successeurs de x i est dans le tableau LS à partir de l adresse LP(i). Si un sommet x i n a pas de successeur, on pose LP(i + 1) = LP(i). (liste vide coincée entre les successeurs de x i 1 et de x i+1) Par commodité on pose LP(n + 1) = m + 1 Fermeture transitive On appelle fermeture transitive d un sommet x l ensemble des sommets y (y compris x) reliés par un chemin à x. On appelle fermeture transitive d un graphe G le graphe Ĝ construit de la manière suivante : Les sommets de Ĝ sont ceux de G Chaque sommet de Ĝ porte une boucle Il y a dans Ĝ un arc de x vers y ssi il existe un chemin entre x et y dans G La matrice M associée à Ĝ est donnée par : M = M [k] = M (0) + M (1) M (k) (on s arrête quand M [k] = M [k+1], M (0) = Id) Christophe Clavier (3iL XLIM) Théorie des graphes Juin / 49 Christophe Clavier (3iL XLIM) Théorie des graphes Juin / 49 Fermeture transitive et composante fortement connexe Exemple Fermeture transitive et composante fortement connexe Proposition Deux sommets x i et x j appartiennent à la même composante fortement connexe si et seulement si les lignes (ou les colonnes) i et j de M sont identiques. Un graphe G est fortement connexe si et seulement si tous les éléments de la matrice M sont égaux à 1. Christophe Clavier (3iL XLIM) Théorie des graphes Juin / 49 Christophe Clavier (3iL XLIM) Théorie des graphes Juin / 49

8 Les arbres Les arbres Soit G un graphe non orienté qui contient n sommets et m arêtes. Soit p le nombre de composantes connexes de G. On appelle nombre cyclématique de G la valeur V (G) = m n + p qui représente le nombre de cycles indépendants de G. Conséquences Un graphe est sans cycle si et seulement si V (G) = 0 Un graphe contient un et un seul cycle si et seulement si V (G) = 1 Si le graphe est connexe alors V (G) = m n + 1 On appelle arbre un graphe (non orienté) connexe sans cycle. Les arborescences Les arborescences Soit G = (E, U) un graphe non orienté. Un graphe est dit quasi-fortement connexe si à toute paire de sommets (x, y) on peut associer un sommet z tel qu il existe un chemin de z vers x et un chemin de z vers y. (x, y et z ne sont pas nécessairement distincts.) Un graphe fortement connexe est quasi-fortement connexe. On appelle racine d une graphe orienté un sommet R (s il existe) tel que pour tout sommet x de G il existe un chemin allant de R vers x. Christophe Clavier (3iL XLIM) Théorie des graphes Juin / 49 Christophe Clavier (3iL XLIM) Théorie des graphes Juin / 49 Les arbres Les arborescences Théorème Les propriétés suivantes sont équivalentes : G est connexe sans cycle. (G est un arbre.) G est sans cycle comportant n 1 arêtes. G est sans cycle, et si l on rajoute une arête alors on obtient un cycle et un seul. G est connexe, et la suppression d une arête fait apparaître 2 composantes connexes. Il existe une chaîne et une seule entre toute paire de sommets de G. s On appelle forêt un graphe sans cycle (pas nécessairement connexe) dont chaque composante connexe est un arbre. On appelle arbre couvrant de G tout graphe partiel de G définissant un arbre connectant tous les sommets de G. Proposition Un graphe est quasi-fortement connexe si et seulement si il possède une racine. Démonstration. Si G possède une racine alors il est quasi-fortement connexe. (évident) On suppose que G est quasi-fortement connexe : E = {x 1, x 2,..., x n} un sommet i 2 / (i 2, x 1) U et (i 2, x 2) U un sommet i 3 / (i 3, i 2) U et (i 3, x 3) U un sommet i 4 / (i 4, i 3) U et (i 4, x 4) U... un sommet i n / (i n, i n 1) U et (i n, x n) U Par construction i n est une racine de G. Christophe Clavier (3iL XLIM) Théorie des graphes Juin / 49 Christophe Clavier (3iL XLIM) Théorie des graphes Juin / 49

9 Les arborescences Arbre couvrant minimal Méthode de Kruskal et propriétés On appelle arborescence un graphe orienté G vérifiant l une des propriétés suivantes : G est quasi-fortement connexe et sans circuit G est quasi-fortement connexe et possède n 1 arêtes G est quasi-fortement connexe et cesse de l être si on supprime un arc quelconque Propriété Un graphe orienté G = (E, U) admet au moins une arborescence (couvrante) comme graphe partiel si et seulement si G est quasi-fortement connexe. Principe Soit G = (E, U, V ), E = {1, 2,..., n} Trier les arêtes par ordre croissant de coût. Construire une forêt composée de n sommets (initialisation). À chaque itération, on rajoute à cette forêt la plus petite arête ne créant pas de cycle avec celles déjà choisies. On arrête les itérations lorsque l arbre contient (n 1) arêtes. Christophe Clavier (3iL XLIM) Théorie des graphes Juin / 49 Christophe Clavier (3iL XLIM) Théorie des graphes Juin / 49 Arbre couvrant minimal Le problème de l arbre couvrant minimal Soit G = (E, U, V ) un graphe non orienté, connexe et valué. V = {v(i, j) / v(i, j) = coût de l arête (i, j)} Le problème de l arbre couvrant minimal de G consiste à trouver un arbre couvrant de G dont le coût total des arêtes est minimal. Si G n est pas connexe, on peut calculer une forêt couvrante minimale. Exemple d application Construction de lignes électriques : Soit une ensemble de n sites qui doivent être reliés par des lignes à haute tension. Le coût d une ligne joignant deux sites est proportionnel à la distance entre ces deux sites. Objectif : Construire à coût minimal un réseau connectant tous les sites. Modélisation à l aide d un graphe : G = (E, U, V ) E : ensemble des sites U : l ensemble de toutes les connections possibles entre les différents sites V : le coût des différentes connections Le réseau optimal est l arbre couvrant minimal de G. Arbre couvrant minimal Méthode de Kruskal Algorithme 1: procedure Kruskal 2: i E, cc(i) i 3: Trier les arêtes 4: T 5: for k = 1 à n 1 do 6: Choisir une arête (x, y) 7: if cc(x) cc(y) then 8: T = T {(x, y)} 9: for all sommet i do 10: if cc(i) = cc(x) then 11: cc(i) cc(y) 12: end if 13: end for 14: end if 15: end for 16: end procedure Christophe Clavier (3iL XLIM) Théorie des graphes Juin / 49 Christophe Clavier (3iL XLIM) Théorie des graphes Juin / 49

10 Arbre couvrant minimal Méthode de Prim Problème de catégorie B Principe Soit T l arbre en cours de construction. À chaque itération, on rajoute à T un sommet et une arête. Soit R l ensemble des sommets pas encore dans T. À chaque sommet x de R, on associe le sommet y de T dont la distance à x est minimale. Le coût v(x, y) est appelé distance de x à T, notée d(x, T ). On choisit de faire entrer dans T le sommet x de R dont la distance d(x, T ) à T est minimale. Il existe deux familles d algorithmes pour résoudre le problème B. Le principe est de calculer pour chaque sommet x une étiquette π(x) qui représente le coût du plus court chemin de s vers x. Certains algorithmes sélectionnent un sommet x et calculent la valeur définitive de π(x) à chaque itération algorithme à fixation d étiquette méthode de Dijkstra Certains algorithmes affinent jusqu à la dernière itération l étiquette π(x) de chaque sommet algorithme à correction d étiquette méthode de Bellman On note γ (x) le prédecesseur du sommet x sur le plus court chemin menant de s à x. Christophe Clavier (3iL XLIM) Théorie des graphes Juin / 49 Christophe Clavier (3iL XLIM) Théorie des graphes Juin / 49 Soit G = (E, U, V ) un graphe orienté valué : - E : ensemble des sommets - U : ensemble des arcs (i, j) E E - V : ensemble des coûts v(i, j) des arcs (i, j) Le coût d un chemin entre deux sommets est la somme des coûts des arcs formant ce chemin. Problème On se place dans la cas où les coûts des arcs sont positifs ou nuls. Les trois problèmes suivants sont liés : A : Étant donnés deux sommets s et t, trouver le plus court chemin entre s et t B : Étant donné un sommet de départ s, trouver le plus court chemin de s vers tout autre sommet de G C : Trouver le plus court chemin entre tout couple de sommets de G calcul d un distancier Méthode de Dijkstra Principe L ensemble des sommets est partitionné en deux sous-ensembles S et S S est le sous-ensemble des sommets définitivement marqués, c est à dire dont la valeur de l étiquette π(x) est effectivement le coût du plus court chemin allant de s à x. Le complémentaire S contient tous les sommets k ayant une étiquette provisoire définie par : k S, π(k) = min (π(i) + v(i, k)) i S Γ (k) L itération principale sélectionne dans S le sommet j d étiquette provisoire minimale et le marque définitivement : π(j) = min (π(k)) k S Chaque fois qu un sommet est définitivement marqué, on met à jour l étiquette de tous ses successeurs non encore définitivement marqués. Christophe Clavier (3iL XLIM) Théorie des graphes Juin / 49 Christophe Clavier (3iL XLIM) Théorie des graphes Juin / 49

11 Méthode de Dijkstra Algorithme 1: procedure Dijkstra(s : sommet) 2: S {s} ; S E\{s} 3: π(s) 0 ; γ (s) null 4: for all j s do ( 5: π(j), γ (j) ) { (v(s, j), s) si j Γ(s) (+, null) sinon 6: end for 7: while S do 8: Sélectionner j S tel que π(j) = min k S (π(k)) 9: S S {j} ; S S\{j} 10: for all i S successeur de j do 11: if π(i) > π(j) + v(j, i) then 12: π(i) π(j) + v(j, i) ; γ (i) j 13: end if 14: end for 15: end while 16: end procedure Méthode de Bellman Algorithme 1: procedure Bellman(s : sommet) 2: π(s) 0 ; j s π(j) + 3: Pour tout sommet j : γ (j) null 4: repeat 5: stable vrai 6: for all j s do 7: for all i Γ (j) do 8: if π(j) > π(i) + v(i, j) then 9: π(j) π(i) + v(i, j) ; γ (j) i 10: stable faux 11: end if 12: end for 13: end for 14: until stable = vrai 15: end procedure Christophe Clavier (3iL XLIM) Théorie des graphes Juin / 49 Christophe Clavier (3iL XLIM) Théorie des graphes Juin / 49 Méthode de Bellman Principe C est une méthode de programmation dynamique : π 0(s) = 0 π 0(y) = +, y s π k (y) = min ( π k 1 (y), min x Γ (y) (π k 1 (x) + v(x, y)) ) : π k (x) désigne le coût du plus court chemin d au plus k arcs entre s et x. Contrairement à la méthode de Dijkstra, celle de Bellman permet de calculer le plus court chemin d un graphe possédant à la fois des coûts positifs et négatifs. (Ce type de graphe permet de modéliser des coûts et des profits.) Christophe Clavier (3iL XLIM) Théorie des graphes Juin / 49

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

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

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

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

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

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

Examen Médian - 1 heure 30

Examen Médian - 1 heure 30 NF01 - Automne 2014 Examen Médian - 1 heure 30 Polycopié papier autorisé, autres documents interdits Calculatrices, téléphones, traducteurs et ordinateurs interdits! Utilisez trois copies séparées, une

Plus en détail

Programmation linéaire

Programmation linéaire 1 Programmation linéaire 1. Le problème, un exemple. 2. Le cas b = 0 3. Théorème de dualité 4. L algorithme du simplexe 5. Problèmes équivalents 6. Complexité de l Algorithme 2 Position du problème Soit

Plus en détail

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

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

Plus en détail

Fonctions de plusieurs variables, intégrales multiples, et intégrales dépendant d un paramètre

Fonctions de plusieurs variables, intégrales multiples, et intégrales dépendant d un paramètre IUFM du Limousin 2009-10 PLC1 Mathématiques S. Vinatier Rappels de cours Fonctions de plusieurs variables, intégrales multiples, et intégrales dépendant d un paramètre 1 Fonctions de plusieurs variables

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

Rappel sur les bases de données

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

Plus en détail

Résolution d équations non linéaires

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

Plus en détail

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

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

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

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

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

Plus en détail

Programmation linéaire

Programmation linéaire Programmation linéaire DIDIER MAQUIN Ecole Nationale Supérieure d Electricité et de Mécanique Institut National Polytechnique de Lorraine Mathématiques discrètes cours de 2ème année Programmation linéaire

Plus en détail

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

Organigramme / Algorigramme Dossier élève 1 SI

Organigramme / Algorigramme Dossier élève 1 SI Organigramme / Algorigramme Dossier élève 1 SI CI 10, I11 ; CI 11, I10 C24 Algorithmique 8 février 2009 (13:47) 1. Introduction Un organigramme (ou algorigramme, lorsqu il est plus particulièrement appliqué

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

Jean-Philippe Préaux http://www.i2m.univ-amu.fr/~preaux

Jean-Philippe Préaux http://www.i2m.univ-amu.fr/~preaux Colonies de fourmis Comment procèdent les colonies de fourmi pour déterminer un chemin presque géodésique de la fourmilière à un stock de nourriture? Les premières fourmis se déplacent au hasard. Les fourmis

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

Limites finies en un point

Limites finies en un point 8 Limites finies en un point Pour ce chapitre, sauf précision contraire, I désigne une partie non vide de R et f une fonction définie sur I et à valeurs réelles ou complees. Là encore, les fonctions usuelles,

Plus en détail

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

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

Plus en détail

chapitre 4 Nombres de Catalan

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

Plus en détail

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

Sub CalculAnnuite() Const TITRE As String = "Calcul d'annuité de remboursement d'un emprunt"

Sub CalculAnnuite() Const TITRE As String = Calcul d'annuité de remboursement d'un emprunt TD1 : traduction en Visual BASIC des exemples du cours sur les structures de contrôle de l'exécution page 1 'TRADUCTION EN VBA DES EXEMPLES ALGORITHMIQUES SUR LES STRUCTURES 'DE CONTROLE DE L'EXECUTION

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

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

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

Plus en détail

Cours Informatique Master STEP

Cours Informatique Master STEP Cours Informatique Master STEP Bases de la programmation: Compilateurs/logiciels Algorithmique et structure d'un programme Programmation en langage structuré (Fortran 90) Variables, expressions, instructions

Plus en détail

Chp. 4. Minimisation d une fonction d une variable

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

Plus en détail

Continuité et dérivabilité d une fonction

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

Plus en détail

Conception d'un réseau de transport d'électricité

Conception d'un réseau de transport d'électricité La Fédération Française des Jeux Mathématiques et la Société de Calcul Mathématique SA avec l'appui de Réseau de Transport d'electricité Conception d'un réseau de transport d'électricité Auteurs : Florian

Plus en détail

CCP PSI - 2010 Mathématiques 1 : un corrigé

CCP PSI - 2010 Mathématiques 1 : un corrigé CCP PSI - 00 Mathématiques : un corrigé Première partie. Définition d une structure euclidienne sur R n [X]... B est clairement symétrique et linéaire par rapport à sa seconde variable. De plus B(P, P

Plus en détail

1 Recherche en table par balayage

1 Recherche en table par balayage 1 Recherche en table par balayage 1.1 Problème de la recherche en table Une table désigne une liste ou un tableau d éléments. Le problème de la recherche en table est celui de la recherche d un élément

Plus en détail

Université du Québec à Chicoutimi. Département d informatique et de mathématique. Plan de cours. Titre : Élément de programmation.

Université du Québec à Chicoutimi. Département d informatique et de mathématique. Plan de cours. Titre : Élément de programmation. Université du Québec à Chicoutimi Département d informatique et de mathématique Plan de cours Titre : Élément de programmation Sigle : 8inf 119 Session : Automne 2001 Professeur : Patrice Guérin Local

Plus en détail

Les structures de données. Rajae El Ouazzani

Les structures de données. Rajae El Ouazzani Les structures de données Rajae El Ouazzani Les arbres 2 1- Définition de l arborescence Une arborescence est une collection de nœuds reliés entre eux par des arcs. La collection peut être vide, cad l

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

L exclusion mutuelle distribuée

L exclusion mutuelle distribuée L exclusion mutuelle distribuée L algorithme de L Amport L algorithme est basé sur 2 concepts : L estampillage des messages La distribution d une file d attente sur l ensemble des sites du système distribué

Plus en détail

1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles)

1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles) 1/4 Objectif de ce cours /4 Objectifs de ce cours Introduction au langage C - Cours Girardot/Roelens Septembre 013 Du problème au programme I passer d un problème exprimé en français à la réalisation d

Plus en détail

Corrigé des TD 1 à 5

Corrigé des TD 1 à 5 Corrigé des TD 1 à 5 1 Premier Contact 1.1 Somme des n premiers entiers 1 (* Somme des n premiers entiers *) 2 program somme_entiers; n, i, somme: integer; 8 (* saisie du nombre n *) write( Saisissez un

Plus en détail

Licence Sciences et Technologies Examen janvier 2010

Licence Sciences et Technologies Examen janvier 2010 Université de Provence Introduction à l Informatique Licence Sciences et Technologies Examen janvier 2010 Année 2009-10 Aucun document n est autorisé Les exercices peuvent être traités dans le désordre.

Plus en détail

Théorie et codage de l information

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

Plus en détail

Polynômes à plusieurs variables. Résultant

Polynômes à plusieurs variables. Résultant Polynômes à plusieurs variables. Résultant Christophe Ritzenthaler 1 Relations coefficients-racines. Polynômes symétriques Issu de [MS] et de [Goz]. Soit A un anneau intègre. Définition 1.1. Soit a A \

Plus en détail

Exercices Corrigés Premières notions sur les espaces vectoriels

Exercices Corrigés Premières notions sur les espaces vectoriels Exercices Corrigés Premières notions sur les espaces vectoriels Exercice 1 On considére le sous-espace vectoriel F de R formé des solutions du système suivant : x1 x 2 x 3 + 2x = 0 E 1 x 1 + 2x 2 + x 3

Plus en détail

Partie 1 - Séquence 3 Original d une fonction

Partie 1 - Séquence 3 Original d une fonction Partie - Séquence 3 Original d une fonction Lycée Victor Hugo - Besançon - STS 2 I. Généralités I. Généralités Définition Si F(p) = L [f(t)u (t)](p), alors on dit que f est l original de F. On note f(t)

Plus en détail

Exercice : la frontière des portefeuilles optimaux sans actif certain

Exercice : la frontière des portefeuilles optimaux sans actif certain Exercice : la frontière des portefeuilles optimaux sans actif certain Philippe Bernard Ingénierie Economique & Financière Université Paris-Dauphine Février 0 On considère un univers de titres constitué

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

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

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

Plus en détail

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

F411 - Courbes Paramétrées, Polaires

F411 - Courbes Paramétrées, Polaires 1/43 Courbes Paramétrées Courbes polaires Longueur d un arc, Courbure F411 - Courbes Paramétrées, Polaires Michel Fournié michel.fournie@iut-tlse3.fr http://www.math.univ-toulouse.fr/ fournie/ Année 2012/2013

Plus en détail

Chapitre 2. Matrices

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

Plus en détail

Qualité du logiciel: Méthodes de test

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

Plus en détail

BACCALAUREAT GENERAL MATHÉMATIQUES

BACCALAUREAT GENERAL MATHÉMATIQUES BACCALAUREAT GENERAL FEVRIER 2014 MATHÉMATIQUES SERIE : ES Durée de l épreuve : 3 heures Coefficient : 5 (ES), 4 (L) 7(spe ES) Les calculatrices électroniques de poche sont autorisées, conformement à la

Plus en détail

Techniques d interaction dans la visualisation de l information Séminaire DIVA

Techniques d interaction dans la visualisation de l information Séminaire DIVA Techniques d interaction dans la visualisation de l information Séminaire DIVA Zingg Luca, luca.zingg@unifr.ch 13 février 2007 Résumé Le but de cet article est d avoir une vision globale des techniques

Plus en détail

Baccalauréat ES Pondichéry 7 avril 2014 Corrigé

Baccalauréat ES Pondichéry 7 avril 2014 Corrigé Baccalauréat ES Pondichéry 7 avril 204 Corrigé EXERCICE 4 points Commun à tous les candidats. Proposition fausse. La tangente T, passant par les points A et B d abscisses distinctes, a pour coefficient

Plus en détail

Chapitre 3. Mesures stationnaires. et théorèmes de convergence

Chapitre 3. Mesures stationnaires. et théorèmes de convergence Chapitre 3 Mesures stationnaires et théorèmes de convergence Christiane Cocozza-Thivent, Université de Marne-la-Vallée p.1 I. Mesures stationnaires Christiane Cocozza-Thivent, Université de Marne-la-Vallée

Plus en détail

Développements limités, équivalents et calculs de limites

Développements limités, équivalents et calculs de limites Développements ités, équivalents et calculs de ites Eercice. Déterminer le développement ité en 0 à l ordre n des fonctions suivantes :. f() e (+) 3 n. g() sin() +ln(+) n 3 3. h() e sh() n 4. i() sin(

Plus en détail

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

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

Plus en détail

Initiation à LabView : Les exemples d applications :

Initiation à LabView : Les exemples d applications : Initiation à LabView : Les exemples d applications : c) Type de variables : Créer un programme : Exemple 1 : Calcul de c= 2(a+b)(a-3b) ou a, b et c seront des réels. «Exemple1» nom du programme : «Exemple

Plus en détail

Feuille TD n 1 Exercices d algorithmique éléments de correction

Feuille TD n 1 Exercices d algorithmique éléments de correction Master Sciences, Technologies, Santé Mention Mathématiques, spécialité Enseignement des mathématiques Algorithmique et graphes, thèmes du second degré Feuille TD n 1 Exercices d algorithmique éléments

Plus en détail

www.h-k.fr/publications/objectif-agregation

www.h-k.fr/publications/objectif-agregation «Sur C, tout est connexe!» www.h-k.fr/publications/objectif-agregation L idée de cette note est de montrer que, contrairement à ce qui se passe sur R, «sur C, tout est connexe». Cet abus de langage se

Plus en détail

Analyse en Composantes Principales

Analyse en Composantes Principales Analyse en Composantes Principales Anne B Dufour Octobre 2013 Anne B Dufour () Analyse en Composantes Principales Octobre 2013 1 / 36 Introduction Introduction Soit X un tableau contenant p variables mesurées

Plus en détail

Modèles à Événements Discrets. Réseaux de Petri Stochastiques

Modèles à Événements Discrets. Réseaux de Petri Stochastiques Modèles à Événements Discrets Réseaux de Petri Stochastiques Table des matières 1 Chaînes de Markov Définition formelle Idée générale Discrete Time Markov Chains Continuous Time Markov Chains Propriétés

Plus en détail

Algorithmique et programmation : les bases (VBA) Corrigé

Algorithmique et programmation : les bases (VBA) Corrigé PAD INPT ALGORITHMIQUE ET PROGRAMMATION 1 Cours VBA, Semaine 1 mai juin 2006 Corrigé Résumé Ce document décrit l écriture dans le langage VBA des éléments vus en algorithmique. Table des matières 1 Pourquoi

Plus en détail

Pourquoi l apprentissage?

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

Plus en détail

Chapitre 1 : Évolution COURS

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

Plus en détail

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

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

Plus en détail

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

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

Plus en détail

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

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

Plus en détail

ARBRES BINAIRES DE RECHERCHE

ARBRES BINAIRES DE RECHERCHE ARBRES BINAIRES DE RECHERCHE Table de symboles Recherche : opération fondamentale données : éléments avec clés Type abstrait d une table de symboles (symbol table) ou dictionnaire Objets : ensembles d

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

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

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

Plus en détail

Simulation de variables aléatoires

Simulation de variables aléatoires Chapter 1 Simulation de variables aléatoires Références: [F] Fishman, A first course in Monte Carlo, chap 3. [B] Bouleau, Probabilités de l ingénieur, chap 4. [R] Rubinstein, Simulation and Monte Carlo

Plus en détail

1 radian. De même, la longueur d un arc de cercle de rayon R et dont l angle au centre a pour mesure α radians est α R. R AB =R.

1 radian. De même, la longueur d un arc de cercle de rayon R et dont l angle au centre a pour mesure α radians est α R. R AB =R. Angles orientés Trigonométrie I. Préliminaires. Le radian Définition B R AB =R C O radian R A Soit C un cercle de centre O. Dire que l angle géométrique AOB a pour mesure radian signifie que la longueur

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

Licence ST Université Claude Bernard Lyon I LIF1 : Algorithmique et Programmation C Bases du langage C 1 Conclusion de la dernière fois Introduction de l algorithmique générale pour permettre de traiter

Plus en détail

UML et les Bases de Données

UML et les Bases de Données CNAM UML et les Bases de Données UML et les Bases de Données. Diagramme de classes / diagramme d objets (UML)...2.. Premier niveau de modélisation des données d une application...2.2. Les éléments de modélisation...2.2..

Plus en détail

1 Modélisation d être mauvais payeur

1 Modélisation d être mauvais payeur 1 Modélisation d être mauvais payeur 1.1 Description Cet exercice est très largement inspiré d un document que M. Grégoire de Lassence de la société SAS m a transmis. Il est intitulé Guide de démarrage

Plus en détail

Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application

Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application Université de Provence Licence Math-Info Première Année V. Phan Luong Algorithmique et Programmation en Python Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application 1 Ordinateur Un

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

Jade. Projet Intelligence Artificielle «Devine à quoi je pense»

Jade. Projet Intelligence Artificielle «Devine à quoi je pense» Jade Projet Intelligence Artificielle «Devine à quoi je pense» Réalisé par Djénéba Djikiné, Alexandre Bernard et Julien Lafont EPSI CSII2-2011 TABLE DES MATIÈRES 1. Analyse du besoin a. Cahier des charges

Plus en détail

Bac Blanc Terminale ES - Février 2011 Épreuve de Mathématiques (durée 3 heures)

Bac Blanc Terminale ES - Février 2011 Épreuve de Mathématiques (durée 3 heures) Bac Blanc Terminale ES - Février 2011 Épreuve de Mathématiques (durée 3 heures) Eercice 1 (5 points) pour les candidats n ayant pas choisi la spécialité MATH Le tableau suivant donne l évolution du chiffre

Plus en détail

INTRODUCTION À L ANALYSE FACTORIELLE DES CORRESPONDANCES

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

Plus en détail

La classification automatique de données quantitatives

La classification automatique de données quantitatives La classification automatique de données quantitatives 1 Introduction Parmi les méthodes de statistique exploratoire multidimensionnelle, dont l objectif est d extraire d une masse de données des informations

Plus en détail

Cours d algorithmique pour la classe de 2nde

Cours d algorithmique pour la classe de 2nde Cours d algorithmique pour la classe de 2nde F.Gaudon 10 août 2009 Table des matières 1 Avant la programmation 2 1.1 Qu est ce qu un algorithme?................................. 2 1.2 Qu est ce qu un langage

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

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

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

Plus en détail

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

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

Plus en détail

Techniques d ordonnancement pour les SoC

Techniques d ordonnancement pour les SoC Techniques d ordonnancement pour les SoC Pierre Boulet équipe WEST Pierre.Boulet@lifl.fr Ordonnancement DEA informatique Lille p. 1/104 Plan Ordonnancement de tâches Placement sur SoC Ordonnancement de

Plus en détail

Groupe symétrique. Chapitre II. 1 Définitions et généralités

Groupe symétrique. Chapitre II. 1 Définitions et généralités Chapitre II Groupe symétrique 1 Définitions et généralités Définition. Soient n et X l ensemble 1,..., n. On appelle permutation de X toute application bijective f : X X. On note S n l ensemble des permutations

Plus en détail

Cours d Algorithmique-Programmation 2 e partie (IAP2): programmation 24 octobre 2007impérative 1 / 44 et. structures de données simples

Cours d Algorithmique-Programmation 2 e partie (IAP2): programmation 24 octobre 2007impérative 1 / 44 et. structures de données simples Cours d Algorithmique-Programmation 2 e partie (IAP2): programmation impérative et structures de données simples Introduction au langage C Sandrine Blazy - 1ère année 24 octobre 2007 Cours d Algorithmique-Programmation

Plus en détail

Initiation à la programmation en Python

Initiation à la programmation en Python I-Conventions Initiation à la programmation en Python Nom : Prénom : Une commande Python sera écrite en caractère gras. Exemples : print 'Bonjour' max=input("nombre maximum autorisé :") Le résultat de

Plus en détail

Définitions. Numéro à préciser. (Durée : )

Définitions. Numéro à préciser. (Durée : ) Numéro à préciser (Durée : ) On étudie dans ce problème l ordre lexicographique pour les mots sur un alphabet fini et plusieurs constructions des cycles de De Bruijn. Les trois parties sont largement indépendantes.

Plus en détail

Recherche dans un tableau

Recherche dans un tableau Chapitre 3 Recherche dans un tableau 3.1 Introduction 3.1.1 Tranche On appelle tranche de tableau, la donnée d'un tableau t et de deux indices a et b. On note cette tranche t.(a..b). Exemple 3.1 : 3 6

Plus en détail

Algorithmes pour la planification de mouvements en robotique non-holonome

Algorithmes pour la planification de mouvements en robotique non-holonome Algorithmes pour la planification de mouvements en robotique non-holonome Frédéric Jean Unité de Mathématiques Appliquées ENSTA Le 02 février 2006 Outline 1 2 3 Modélisation Géométrique d un Robot Robot

Plus en détail

Algorithmique et Programmation

Algorithmique et Programmation École Supérieure d Ingénieurs de Poitiers Gea Algorithmique et Programmation Laurent Signac ii Algorithmique et programmation Gea Table des matières Avant Propos v Structures de données Notion de pointeur..............................................

Plus en détail

Exo7. Matrice d une application linéaire. Corrections d Arnaud Bodin.

Exo7. Matrice d une application linéaire. Corrections d Arnaud Bodin. Exo7 Matrice d une application linéaire Corrections d Arnaud odin. Exercice Soit R muni de la base canonique = ( i, j). Soit f : R R la projection sur l axe des abscisses R i parallèlement à R( i + j).

Plus en détail

L ALGORITHMIQUE. Algorithme

L ALGORITHMIQUE. Algorithme L ALGORITHMIQUE Inspirée par l informatique, cette démarche permet de résoudre beaucoup de problèmes. Quelques algorithmes ont été vus en 3 ième et cette année, au cours de leçons, nous verrons quelques

Plus en détail