La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Graphes et MuPad (C.Boulinier)1 Stage Graphes et Mupad Première journée.

Présentations similaires


Présentation au sujet: "Graphes et MuPad (C.Boulinier)1 Stage Graphes et Mupad Première journée."— Transcription de la présentation:

1 Graphes et MuPad (C.Boulinier)1 Stage Graphes et Mupad Première journée

2 Graphes et MuPad (C.Boulinier)2 Plan de la matinée Un premier exemple Définitions générales Chaînes hamiltoniennes et eulériennes Automates Ordonnancement et matrice dadjacence Coloration des graphes Graphes planaires Chaînes de Markov

3 Graphes et MuPad (C.Boulinier)3 4 villages de Sildavie Zmrzlina Kava Kolac Dort

4 Graphes et MuPad (C.Boulinier) Zmrzlina Kava Kolac Dort Réseau routier

5 Graphes et MuPad (C.Boulinier)5 Problème: la tournée du postier Zmrzlina Kava Kolac Dort

6 Graphes et MuPad (C.Boulinier)6 Zmrzlina Kava Kolac Dort Une tournée possible du postier

7 Graphes et MuPad (C.Boulinier)7 Exercice 1 Ce circuit est-il le plus court possible? Zmrzlina Kava Kolac Dort

8 Graphes et MuPad (C.Boulinier)8 Matrice aux arcs du graphe

9 Graphes et MuPad (C.Boulinier)9 Le produit est remplacé par la concaténation des mots et la somme par lunion; de plus, on ne retient que les chemins sans circuit (chemins élémentaires). Le produit latin

10 Graphes et MuPad (C.Boulinier)10 Proposition: Les puissances r-ièmes successives de M énumèrent les chemins élémentaires dordre r du graphe

11 Graphes et MuPad (C.Boulinier)11 On obtient lensemble des chemins hamiltoniens (chemins élémentaires passant par tous les points du graphe) Doù on déduit les circuits hamiltoniens du graphe: 2341, 4321 ne fournissent pas de cycle

12 Graphes et MuPad (C.Boulinier)12 Il y a essentiellement 2 circuits hamiltoniens: de longueur = de longueur = est le meilleur!

13 Graphes et MuPad (C.Boulinier)13 Exercice Trouver les circuits hamiltoniens du graphe suivant b ac ed

14 Graphes et MuPad (C.Boulinier)14

15 Graphes et MuPad (C.Boulinier)15 Exercice 2 Le problème de monsieur Nô Mr. Nô, personnage mythique japonais, habite la case du coin supérieur gauche dun carré de 8x8 cases, et se propose de rendre visite à Mr. Gô, lequel habite la case du coin inférieur droit. Mr. Nô se déplace sur léchiquier en passant dune case à lune des cases adjacentes (pas de diagonale). Est-il possible de trouver un parcours qui lamène chez Mr. Gô, en passant une et une seule fois sur toutes les autres cases de léchiquier? Berge (1970)

16 Graphes et MuPad (C.Boulinier)16 Mr. Nô Mr. Gô

17 Graphes et MuPad (C.Boulinier)17 Le problème revient à trouver un chemin hamiltonien dans le graphe des déplacements possibles sur léchiquier On peut cependant remarquer que Mr. Nô et Mr. Gô habitent sur des cases jaunes, Mr. Nô doit faire 63 sauts, il aboutira donc nécessairement sur une case blanche (absurde)

18 Graphes et MuPad (C.Boulinier)18 Définitions générales

19 Graphes et MuPad (C.Boulinier)19 Un graphe (orienté) G est la donnée dun ensemble S et dune partie F du produit cartésien S×S. S peut être Fini, infini dénombrable, infini Notation: G=(S,F) S est lensemble des sommets de G F est lensemble des arcs (arêtes orientées) de G {u,v} est une arête de G ssi (u,v) ou (v,u), est dans F On note Σ lensemble des arêtes de G

20 Graphes et MuPad (C.Boulinier)20 Un multigraphe G est la donnée dun multi- ensemble F déléments du produit cartésien S×S, où S est un ensemble

21 Graphes et MuPad (C.Boulinier)21 Représentation dun graphe S={1,2,3,4,5,6} F={ (1,2), (1,5), (2,1), (2,4), (2,5), (4,6), (6,2), (6,3) }

22 Graphes et MuPad (C.Boulinier)22 Exercice Construire sur {1,2..,10} le graphe des diviseurs.

23 Graphes et MuPad (C.Boulinier)23 Réponse

24 Graphes et MuPad (C.Boulinier)24 Dans ce qui suit S est fini le graphe G est dit alors fini Lordre de G est le cardinal de S

25 Graphes et MuPad (C.Boulinier)25 Vocabulaire de base Boucle: arc de la forme (x,x) X

26 Graphes et MuPad (C.Boulinier)26 Graphe simple: Graphe sans boucle Graphe complet Graphe simple avec F maximal

27 Graphes et MuPad (C.Boulinier)27 Graphe symétrique (ou non orienté) Une arête {u,v} est un « arc non orienté »; dans un graphe non orienté, le nombre darêtes (Σ) est la moitié du nombre darcs (F). On note G* le graphe symétrisé de G

28 Graphes et MuPad (C.Boulinier)28 Le degré dun nœud est le nombre darêtes incidentes à ce nœud (notion non orientée) D(1)=3 D(2)=2 D(3)=2 D(4)=3 On définit de même les degrés intérieurs (entrants) d- et extérieurs (sortants) d+ dun sommet, on a d- + d+ =d (degré dans le cas orienté) d-(4)=2 et d+(4)=1 On note D(G) = max D(x) x dans S

29 Graphes et MuPad (C.Boulinier)29 G=(S,F) est un sous graphe de G=(S,F) ssi G=(S,F) est le sous graphe de G=(S,F) induit par S ssi Le sommet s 1 est adjacent au sommet s 2 ssi (s 1,s 2 ) est dans F Les sommets s 1 et s 2 sont adjacents ssi {s1,s2} est dans Σ

30 Graphes et MuPad (C.Boulinier)30 Exemples de graphes Graphe complet K 5 5-clique Graphe biparti complet K 3,2

31 Graphes et MuPad (C.Boulinier)31 Exercice Montrer que: Montrer que

32 Graphes et MuPad (C.Boulinier)32 Exercices 1)Est-il possible de relier 9 ordinateurs, de manière que chacun soit relié à 3 autres exactement ? 2) Le nombre de sommets de degré impair est pair (lemme des poignées de mains) 3) Montrer que le nombre de personnes qui ont vécu ou qui vivent sur terre, qui ont serré la main à un nombre impair de personnes est pair…

33 Graphes et MuPad (C.Boulinier)33 Chemins et chaînes Un chemin dans un graphe G est une suite finie darcs consécutifs, cest-à-dire de la forme : Une chaîne dans un graphe G est une suite finie darêtes consécutives: Notation: La longueur dun chemin (resp. dune chaîne) est le nombre darcs (resp. darêtes) constituant le chemin (resp. la chaîne)

34 Graphes et MuPad (C.Boulinier)34 Cycles et circuits Un circuit (resp. un cycle) est un chemin (resp. une chaîne) dont les extrémités coïncident, et dont les arcs (resp. arêtes) sont tous distincts (resp. toutes distinctes)

35 Graphes et MuPad (C.Boulinier)35 Connexité et forte connexité Un graphe G = (S,F) est dit connexe (resp. fortement connexe) sil vérifie la propriété suivante : pour toute paire de sommets (x,y) de S, il existe une chaîne (resp. un chemin) reliant x à y. La composante connexe (resp. fortement connexe) dun sommet x de S est le plus grand sous-graphe connexe (resp. fortement connexe) de G contenant le sommet x. Dans un graphe symétrique (ou non orienté) les deux notions sont équivalentes

36 Graphes et MuPad (C.Boulinier)36 Connexité composantes connexes

37 Graphes et MuPad (C.Boulinier)37 forte connexité composantes fortement connexes

38 Graphes et MuPad (C.Boulinier)38 Exercice 1.Donner les composantes connexes (resp.fortement connexes) du graphe des diviseurs pour n=10.

39 Graphes et MuPad (C.Boulinier)

40 Graphes et MuPad (C.Boulinier)40 Un point darticulation dun graphe est un sommet dont la suppression augmente le nombre de composantes connexes; un isthme est une arête dont la suppression a le même effet Points darticulation Isthme Nœud pendant

41 Graphes et MuPad (C.Boulinier)41 Chaînes hamiltoniennes et eulériennes

42 Graphes et MuPad (C.Boulinier)42 Chemins et circuits Hamiltoniens Dans un graphe G, on dit quun chemin s 1 s 2 …s n est hamiltonien sil passe une et une seule fois par chaque sommet du graphe. On dit quun circuit s 1 s 2 …s n s 1 est hamiltonien sil passe une et une seule fois par chaque sommet du graphe. On définit de même les notions de chaîne et de cycle hamiltonien

43 Graphes et MuPad (C.Boulinier)43 Voyage autour du monde (Hamilton) Trouver un cycle hamiltonien sur le dodécaèdre régulier

44 Graphes et MuPad (C.Boulinier)44 Voyage autour du monde (Hamilton)

45 Graphes et MuPad (C.Boulinier)45 Le graphe de Petersen Ce graphe nadmet pas de cycle hamiltonien

46 Graphes et MuPad (C.Boulinier)46 Exercice Proposer une méthode pour prouver ce résultat

47 Graphes et MuPad (C.Boulinier) Le graphe obtenu en éliminant nimporte quel sommet est hamiltonien

48 Graphes et MuPad (C.Boulinier)48 Un exemple: Le séquençage de lADN Une molécule d'ADN est une chaîne composée dacides nucléiques. Ceux ci sont au nombre de 4, l'Adénine (noté A), la Guanine (G), la Thynine (T) et la Cytosine (C). Le séquençage consiste à retrouver la suite de bases correspondant au brin d'ADN étudié. En pratique, les molécules à analyser possèdent entre et bases, ce qui rend le séquençage direct impossible. La stratégie utilisée est alors de découper le brin d'ADN en fragments dont la taille varie entre 200 et 700 acides nucléiques, de les séquencer (les lire) puis de reconstruire la molécule originale.

49 Graphes et MuPad (C.Boulinier)49 Exemple: soient les 5 séquences ACCGT, CGTGC, TTAC, GTG, TACCGT Reconstitution: - - A C C G T C G T G C T T A C G T G - - T A C C G T - - T T A C C G T G C

50 Graphes et MuPad (C.Boulinier)50 Problème: trouver une plus petite chaîne ayant pour facteurs les séquences données {ACCGT, CGTGC, TTAC, GTG, TACCGT}. On élimines les séquences qui sont facteurs dautres séquences, on obtient un ensemble minimal: le sous- ensemble libre Sur lexemple on élimine GTG, on obtient: L={ACCGT, CGTGC, TTAC, TACCGT}

51 Graphes et MuPad (C.Boulinier)51 On construit un graphe valué complet dont lensemble des sommets est L. On attribue à chaque arête allant de a à b, un poids égal à la longueur maximale du suffixe de a étant préfixe de b. Les arcs de poids 0 ne sont pas représentés ACCGT TTAC TACCGT CGTGC

52 Graphes et MuPad (C.Boulinier)52 Résoudre le problème, cest trouver un chemin hamiltonien de poids maximal ACCGT TTAC TACCGT CGTGC

53 Graphes et MuPad (C.Boulinier)53 Autre problème classique: Le problème du voyageur de commerce

54 Graphes et MuPad (C.Boulinier)54 Chaînes et cycles eulériens Soit G un multigraphe On appelle chaîne eulérienne (resp. cycle eulérien) une chaîne (resp. un cycle) qui utilise toutes les arêtes du graphe une et une seule fois.

55 Graphes et MuPad (C.Boulinier)55 Les ponts de Kœnigsberg (Euler) A B C D Partir de A, passer une seule fois par chacun des ponts, et revenir en A

56 Graphes et MuPad (C.Boulinier)56 Graphe associé (multigraphe) : Tracer les arêtes de ce graphe sans lever le crayon C D A B

57 Graphes et MuPad (C.Boulinier)57 Condition dEuler: pour quun graphe admette un cycle eulérien il est nécessaire que le degré de chaque sommet soit pair, et que le graphe soit connexe (à des points isolés prés). i Sommet de passage i En particulier le problème des ponts de Königsberg na pas de solution C D A B

58 Graphes et MuPad (C.Boulinier)58 Montrons que la condition dEuler est suffisante, en donnant un algorithme de construction On part dun point quelconque, non isolé, et on chemine dans le graphe sans jamais repasser par une même arête, on continue tant quon na pas trouvé un cycle (quand on rentre dans un sommet, on peut toujours sortir sauf peut-être en cas de bouclage) Ce graphe vérifie la condition dEuler

59 Graphes et MuPad (C.Boulinier) On obtient un premier cycle, ici ( ) Si cest un cycle eulérien on arrête, sinon on élimine les arêtes utilisées et les points isolés, le nouveau graphe vérifie toujours la condition sur les degrés, et chaque composante connexe contient au moins un sommet du cycle; on construit un nouveau cycle en partant dun point du précédent.

60 Graphes et MuPad (C.Boulinier) On obtient un nouveau cycle ( ) On colle les deux cycles ( ) Si cest un cycle eulérien on arrête, sinon on élimine les arêtes utilisées et les points isolés, le nouveau graphe vérifie toujours la condition sur les degrés, on construit un nouveau cycle en partant dun point non isolé dun précédent cycle.

61 Graphes et MuPad (C.Boulinier) On obtient un nouveau cycle ( ) On colle les deux cycles ( ) Si cest un cycle eulérien on arrête, sinon on élimine les arêtes utilisées et les points isolés, le nouveau graphe vérifie toujours la condition sur les degrés, on construit un nouveau cycle en partant dun point non isolé dun précédent cycle.

62 Graphes et MuPad (C.Boulinier) On obtient un nouveau cycle ( ) On colle les deux cycles ( ) Lalgorithme finit toujours, car à chaque étape on élimine au moins deux arêtes et quil y en a un nombre fini.

63 Graphes et MuPad (C.Boulinier) ( )

64 Graphes et MuPad (C.Boulinier)64 Exercice Chercher un cycle eulérien dans le graphe suivant:

65 Graphes et MuPad (C.Boulinier) Une réponse possible:

66 Graphes et MuPad (C.Boulinier)66 Théorème (cas non orienté) (Euler 1766) Un multigraphe G admet un cycle eulérien si et seulement si il est connexe (à des sommets isolés prés) et tous les sommets sont de degré pair..

67 Graphes et MuPad (C.Boulinier)67 Corollaire Un multigraphe G admet une chaîne eulérienne si et seulement si il est connexe (à des sommets isolés près) et si le nombre de sommets de degré impair est 0 ou 2

68 Graphes et MuPad (C.Boulinier)68 Théorème (cas orienté) Un multigraphe G admet un circuit eulérien si et seulement si il est fortement connexe et les degrés entrant et sortant de chaque sommet sont identiques. (On utilise essentiellement le même algorithme)

69 Graphes et MuPad (C.Boulinier)69 Exemple: Mots de de Bruijn On considère lensemble des mots A*, sur lalphabet A={a,b} Un mot de de Bruijn dordre k est un mot tel que tout mot de longueur k sur A y apparaît une et une seule fois k=4 …..abba…..; …..bbaa…… …..baab…. Idée: construire un graphe dont les sommets sont les mots de k-1 lettres

70 Graphes et MuPad (C.Boulinier)70 Si k=2 ab a b b bb ab ba aa Mot de de Bruijn: abbaa Chaque arc représente un mot de longueur 2, il y a autant darcs que de mots de longueur 2 sur A. a

71 Graphes et MuPad (C.Boulinier)71 Théorème: il existe un mot de de Bruijn pour tout k>0, sa longueur est 2 k +k-1 Preuve On construit un graphe étiqueté dont les sommets sont les mots du langage A k-1, les arêtes sont de la forme: ( u u ) où et sont des lettres dans {a,b} Exemple k=3: b aa babb ab a a a a b b b bbb abb aab

72 Graphes et MuPad (C.Boulinier)72 Le graphe vérifie la condition dEuler, il admet donc un circuit eulérien partant de chaque sommet, on en déduit un mot de de Bruijn: aa babb ab a a a a b b b b babaaabbba On a résolu le problème du mot minimal contenant un ensemble de mots de manière efficace dans ce cas ! Question:Trouver sur lexemple un mot de de Bruijn

73 Graphes et MuPad (C.Boulinier)73 Application: casser un digicode Si le digicode est de 4 chiffres, on cherche un mot de de Bruijn dordre 4 sur lalphabet {0,1,2,3,4,5,6,7,8,9} Il est de longueur Il y a 10 4 codes possibles donc chiffres à taper, on a divisé par 4 le travail.

74 Graphes et MuPad (C.Boulinier)74 Deux problèmes voisins dont la complexité est fondamentalement différente Pour la recherche dun circuit eulérien nous possédons un critère et un algorithme de calcul efficace. Pour la recherche dun circuit hamiltonien, nous ne possédons pas de critère simple (cf. le graphe de Petersen), ni dalgorithme efficace (dont la terminaison fournirait un critère). Il est seulement facile de vérifier si un circuit donné est hamiltonien.

75 Graphes et MuPad (C.Boulinier)75 Les classes P et NP On dit quun problème est dans P si il existe un réel positif r, tel que pour toute instance de taille n, le nombre dopérations nécessaires à sa résolution est en O(n r ). Exemples: Tester si un entier est premier (Agarwal Saxena, Kaval Juin 2002) PGCD de deux entiers (Euclide III siècle av. JC) Savoir si un graphe est eulérien (Euler 1766)

76 Graphes et MuPad (C.Boulinier)76 Un problème est dans NP sil est possible de vérifier en un temps polynomial si une solution donnée satisfait bien les propriétés demandées. P NP On a P inclus dans NP Exemple: Factoriser un entier; mais on ne sait pas si le problème de la factorisation est dans P (à la base du cryptage à clef publique RSA)

77 Graphes et MuPad (C.Boulinier)77 Un problème est NP_complet sil fait partie de ceux pour lesquels trouver un algorithme de résolution polynomial impliquerait que tous les problèmes de NP seraient dans P. Ce qui impliquerait que P=NP On conjecture que PNP Exemples de problèmes NP-complets: Le problème 3-SAT Existence dun cycle Hamiltonien Voyageur de commerce Sac à dos Coloration optimale dun graphe Mot minimal contenant un ensemble de mots donnés (séquençage)

78 Graphes et MuPad (C.Boulinier)78 Algorithmes approchés pour les problèmes NP-complets Algorithmes gloutons Réseaux de neurones Algorithmes génétiques La méthode du recuit simulé La méthode tabou (?) …

79 Graphes et MuPad (C.Boulinier)79 Remarque Extrait du programme de ES (spécialité) « Existence dune chaîne ou dun cycle eulérien »

80 Graphes et MuPad (C.Boulinier)80 Automates

81 Graphes et MuPad (C.Boulinier)81 Automates Extraits du programme: « Caractérisation des mots reconnus par un graphe étiqueté » « construction dun graphe étiqueté reconnaissant une famille de mots »

82 Graphes et MuPad (C.Boulinier)82 Quels sont les mots reconnus par Allumer Eteindre bon j our s oi r En bleu les transitions complémentaires

83 Graphes et MuPad (C.Boulinier)83 Construire un graphe reconnaissant balle, bal, ballon, ballant b a l l e o n a n t Les transitions non représentées vont au rebut Ce graphe ne reconnaît que ces mots

84 Graphes et MuPad (C.Boulinier)84 Exercice Construire un graphe qui reconnaît dans une phrase le mot abracadabra aaaaa b b rc dr a a b a b a a a Retour des autres transitions

85 Graphes et MuPad (C.Boulinier)85 Exercice Trouver un graphe étiqueté sur {0,1} reconnaissant un mot commençant par un palindrome (dau moins deux lettres) Etat dentrée Etat acceptant Transition Définition formelle : (E,Σ,Q,δ,F) Palindrome ,1

86 Graphes et MuPad (C.Boulinier)86 Donner une version qui boucle Inconvénient: cet automate ne reconnaît pas le mot 10101

87 Graphes et MuPad (C.Boulinier)87 Théorème: Il nexiste pas dautomate reconnaissant exactement lensemble des palindromes sur {0,1} Preuve par labsurde: supposons quun tel automate existe, soit n son nombre détats, considérons le palindrome: (1) n 0(1) n, lors du parcours dans lautomate, la reconnaissance du premier (1) n parcourt au moins un cycle dans le graphe, il correspond à la lecture de (1) p, on a: (1) n 0 (1) n =(1) r (1) p (1) s 0 (1) n avec r+p+s=n et p>0 Parcours dun cycle dans lautomate Donc le mot (1) r (1) 2p (1) s 0 (1) n est aussi reconnu par lautomate, absurde !

88 Graphes et MuPad (C.Boulinier)88 Théorème de Kleene Sur un alphabet fini Λ, les langages reconnus par un automate sont exactement les langages rationnels Un langage sur Λ est une partie de Λ*. Les langages rationnels sur Λ forment la plus petite classe vérifiant: Le langage Ø est rationnel Le langage réduit au mot vide ε est rationnel Pour chaque lettre a: {a} est rationnel (noté a) Si L et L sont des langages rationnels, alors L+L, LL et L* sont rationnels Notation: (a+b)(ab)*+a

89 Graphes et MuPad (C.Boulinier)89 En particulier tout ensemble fini de mots est rationnel (le programme de es) Les langages bien parenthèsés ne sont pas reconnus par automate, en particulier les automates ne reconnaissent pas les expressions algébriques

90 Graphes et MuPad (C.Boulinier)90 Recherche dun mot dans un texte On considère lensemble des mots A*, sur lalphabet A={a,b}, un texte est un élément de A*, cherchons dans ce texte le mot ababaa Lalgorithme naïf risque de faire de nombreux retours en arrière pour chercher ce mot. Grâce à lautomate suivant on travaille en « une seule passe ». aaaa a a bb b b b b b

91 Graphes et MuPad (C.Boulinier)91 Compilation Analyse lexicale Analyse syntaxique Flux de caractères Flux de lexèmes Arbre syntaxique Langage dassemblage Automate générable de manière automatique à partir dune définition formelle du langage Génération du code

92 Graphes et MuPad (C.Boulinier)92 Exercice * *Déclic terminale es Un digicode à 9 chiffres est installé à lentrée dun immeuble. Trois sociétés A, B et C y ont leurs bureaux. Elles ont chacune un code quelles fournissent à leurs clients: A: 569 B: 567 C: 562 Lorsque le code correct est composé, au cours dune série de chiffres Une sonnerie retentit au bureau de la société. Construire un graphe qui accepte les trois codes et fait sonner à chaque bureau correspondant.

93 Graphes et MuPad (C.Boulinier)93 e A B C

94 Graphes et MuPad (C.Boulinier)94 Exercice * * Quercia poly Construire un automate reconnaissant les mots différant du mot lapin par au plus une faute dorthographe (oubli dune lettre, ajout dune lettre, remplacement dune lettre par une autre).

95 Graphes et MuPad (C.Boulinier)95 a p i n l a p p al i i n n p i n Les transitions qui manquent vont vers un état « rebut » Vérifier que les mots loapin, lopin, lpin laapin sont reconnus a pi i n p lap (ok) ii (faute de frappe de p) n (oubli du caractère p) α (faute de frappe de p) n

96 Graphes et MuPad (C.Boulinier)96 Lautomate* du jongleur J.C. Novelli Pour la science n°282

97 Graphes et MuPad (C.Boulinier)97 La figure 501 b=2, h=5 G D G D G D G D G D G D G Faisons une photo au temps 8: - O - - O

98 Graphes et MuPad (C.Boulinier)98 Transitions possibles Temps t Temps t+1 O - - O - - O - - O O - - O O O - - O O - - O - O possibles Dans le premier cas il ny a quune transition acceptable 0 Dans le deuxième cas il y a quatre transitions au choix 1, 2, 4 et O - O 1 seul possible Transition (codage)

99 Graphes et MuPad (C.Boulinier)99 Automate à deux balles et de hauteur O O -O O - - -O - O - -O - - O -O O- - O -O- O - - O- - - O O- O - O -- O O Transition 0 en bleu

100 Graphes et MuPad (C.Boulinier)100 Jongler, cest faire une promenade dans le graphe Une figure est un circuit dans le graphe Passer dune figure à une autre cest trouver un chemin dans le graphe qui relit les deux circuits On peut chercher un plus court chemin entre deux circuits

101 Graphes et MuPad (C.Boulinier)101 Ordonnancement de tâches

102 Graphes et MuPad (C.Boulinier)102 Un projet dadduction deau Zmrzlina Kolac Kava Dort

103 Graphes et MuPad (C.Boulinier)103 Ordonnancement des tâches TâcheDuréeOpérations antérieures a Cahier des charges 30 b Approbation par Zmrzlina 5a c Approbation par Kava 5a d Approbation par Kolac 5a e Approbation par Dort 5a f Lancement des appels d'offres 8b,c,d,e g Commande 2f h Creuser les tranchées 10b,c,d,e i Construire les châteaux 20g j Placer les canalisations 5h k Installer l'électronique 3h,g l Installer les pompes 3j m Tester le système 5h,i,k,l n Distribution de l'eau au public 6m

104 Graphes et MuPad (C.Boulinier)104 Graphe dordonnancement des tâches a c b h e d igf lj nm k

105 Graphes et MuPad (C.Boulinier)105 Fin de chacune des tâches Chemin critique incompressible, si on allonge une durée sur ce chemin cest la durée totale des travaux qui est allongée

106 Graphes et MuPad (C.Boulinier)106 Montrer quun graphe est sans circuit Extrait du programme « On pourra, dans des cas élémentaires, interpréter les termes de la puissance n-ième de la matrice associée à un graphe. »

107 Graphes et MuPad (C.Boulinier)107 Représentation des graphes par une matrice dadjacence On identifie lensemble S des sommets à {1, 2, …, N } La matrice dadjacence du graphe orienté G = (S,F) est la matrice A(a ij ) définie par : a ij = 1 si et seulement si (i,j) F a ij = 0 si et seulement si (i,j) F

108 Graphes et MuPad (C.Boulinier)108 Matrice dadjacence A = Matrice dadjacence du graphe G 12 3 Un graphe G

109 Graphes et MuPad (C.Boulinier)109 Théorème Posons A n =(a ij (n)) Alors a ij (n) est le nombre de chemins de longueur n allant de i à j La preuve se fait par récurrence sur n n=0 et 1 ok! Supposons la proposition au rang n

110 Graphes et MuPad (C.Boulinier)110 i étape 1n étapes suivantes Sommet de passage k n j a ik (1) a kj (n) Nombre de chemins allant de i à j en n+1 étapes, passant en premier par k: a ik (1)a kj (n) Nombre de chemins allant de i à j en n+1 étapes: Σ a ik (1)a kj (n) =a ij (n+1) Doù, par récurrence …

111 Graphes et MuPad (C.Boulinier)111 Corollaires G est sans circuit ssi A n =0 G est fortement connexe ssi na aucun coefficient nul G est symétrique ssi t A=A Soit B=(b ij ) la symétrisée de A (matrice de G*): b ij =1 si a ij =1 ou a ji =1, b ij =0 sinon G est sans cycle ssi B n =0 G est connexe ssi na aucun coefficient nul.

112 Graphes et MuPad (C.Boulinier)112 Remarque Un produit de matrices se fait en O(n 3 ), on peut laméliorer en O(n ln(7) ) par lalgorithme de Strassen. Une élévation à la puissance p peut se faire en O(log2(p)) multiplications. Le calcul de A n se fait en O(n log2(7).log2(n)) opérations. (cest un peu cher !)

113 Graphes et MuPad (C.Boulinier)113 Le parcours « en profondeur dabord » permet de déterminer lexistence de circuits Sa complexité est O(n+m) où n=|G| et m=|S|

114 Graphes et MuPad (C.Boulinier)114 Un graphe non orienté sans cycle est une forêt Un graphe non orienté sans cycle connexe est un arbre Un graphe orienté sans circuit est un DAG (Directed Acyclic Graph) x+sinx + ln(sinx) + x sin ln x

115 Graphes et MuPad (C.Boulinier)115 Coloration des graphes Dans cette partie les graphes sont non orientés Extrait du programme « Coloriage dun graphe et nombre chromatique »

116 Graphes et MuPad (C.Boulinier)116 Le problème de lexamen* Lors dun examen, cinq épreuves écrites sont organisées. Elles sont désignées par un code: AllemandRusseAnglaisEspagnolJaponais Chaque candidat passe deux épreuves et deux seulement. Il y a des candidats pour chacun des couplages suivants: Allemand- Anglais; Allemand – Russe; Allemand – Espagnol; Anglais – Russe; Anglais – Espagnol; Russe – Espagnol; Anglais – Japonais; Espagnol - japonais *Déclic Terminal es Certaines épreuves ne peuvent pas avoir lieu le même jour, car un candidat ne passe pas deux épreuves le même jour. Donner le nombre minimal de jours nécessaire pour organiser lexamen.

117 Graphes et MuPad (C.Boulinier)117 4 Graphe associé Le sous graphe {1,2,3,4} est complet Il faut donc au moins 4 couleurs.

118 Graphes et MuPad (C.Boulinier) Le sous graphe {1,2,3,4} est complet Il faut donc au moins 4 couleurs. Réponse

119 Graphes et MuPad (C.Boulinier)119 Nombre chromatique dun graphe O n appelle nombre chromatique dun graphe G le plus petit nombre de couleurs nécessaire pour colorier les sommets de sorte que deux sommets adjacents naient pas la même couleur. On le note γ(G). Proposition: on a toujours γ(G)|G|, et si un graphe est complet alors γ(G)=|G|. Une technique pour minorer le nombre chromatique est de chercher des cliques (sous graphes complets) dans le graphe G.

120 Graphes et MuPad (C.Boulinier)120 Exercice Minorer le nombre chromatique du graphe suivant puis déterminer une coloration optimale

121 Graphes et MuPad (C.Boulinier) On trouve une 5-clique donc: γ(G)5

122 Graphes et MuPad (C.Boulinier)122 γ(G)=5

123 Graphes et MuPad (C.Boulinier)123 Exercice On sait que tout graphe contenant un triangle K 3 ne peut être colorié en moins de trois couleurs. a) Construire un graphe sans triangle qui nécessite également trois couleurs. b) Comment, à partir du graphe précédent, construire un graphe sans K 4 nécessitant 4 couleurs ? Généraliser.

124 Graphes et MuPad (C.Boulinier)124 Réponses a) Un cycle dordre 5 b) c) Si il y avait une 5-clique à ce rang, il y aurait une 4-clique au rang précédent…

125 Graphes et MuPad (C.Boulinier)125 Exercice a) Donner un algorithme glouton qui donne un coloriage. (on ordonnera les sommets: s 1, s 2, …s n-1, s n, ainsi que les couleurs ) On colore s 1 avec la première couleur On colore s 2 avec la première couleur admissible etc… b) Montrer que γ(G) D(G)+1 Chaque sommet a au plus D(G) voisins, donc D(G) +1 couleurs suffisent

126 Graphes et MuPad (C.Boulinier)126 c) Montrer que γ(G) max (min(D(si)+1,i)) A la i ème étape il y a au plus i-1 couleurs utilisées doù linégalité d) En déduire une nouvelle stratégie gloutonne On ordonne les sommets dans lordre décroissant de leurs degrés.

127 Graphes et MuPad (C.Boulinier)127 Nouvel algorithme de coloration (sur un exemple) On classe les sommets par degré décroissant : Sommet: Degré: On choisit une première couleur pour colorer le sommet 1; ensuite, dans lordre, on cherche à colorer les autres sommets par la même couleur:

128 Graphes et MuPad (C.Boulinier)128 On choisit une deuxième couleur et on recommence Sommet: Degré:

129 Graphes et MuPad (C.Boulinier) Sommet: Degré: On choisit une troisième couleur et on recommence

130 Graphes et MuPad (C.Boulinier)130 Le graphe contient un triangle donc le nombre chromatique est

131 Graphes et MuPad (C.Boulinier)131 Exercice Montrer que lalgorithme ne donne pas toujours une solution optimale

132 Graphes et MuPad (C.Boulinier)132 Considérons le graphe : Prenons le classement suivant:

133 Graphes et MuPad (C.Boulinier)133 Considérons le graphe : Prenons le classement suivant:

134 Graphes et MuPad (C.Boulinier)134 Considérons le graphe : Prenons le classement suivant:

135 Graphes et MuPad (C.Boulinier)

136 Graphes et MuPad (C.Boulinier) Pourtant ce graphe est biparti, donc 2-coloriable!

137 Graphes et MuPad (C.Boulinier)137 Exercice a)Montrer que le graphe du cavalier est 2- coloriable b)Montrer quun graphe est 2-coloriable ssi il est biparti.

138 Graphes et MuPad (C.Boulinier)138 Exercice Sept élèves, désignés par A,B,C,D,E,F et G se sont rendus à la bibliothèque aujourdhui. Le tableau suivant précise « qui a rencontré qui » (la bibliothèque étant petite, deux élèves présents au même moment se rencontrent nécessairement…). A a rencontré D,E B a rencontré D,E,F,G C a rencontré E,G D a rencontré A,B,E E a rencontré A,B,C,D,F,G F a rencontré B,E,G G a rencontré B,C,E,F De combien de places assises, au moins, doit disposer la bibliothèque pour que chacun ait pu travailler correctement au cours de cette journée ?

139 Graphes et MuPad (C.Boulinier)139 g a b f e c d

140 Graphes et MuPad (C.Boulinier)140 g a b f e c d Ce coloriage est optimal car (g, f, b, e ) est une 4-clique Réponse à la question: 4

141 Graphes et MuPad (C.Boulinier)141 Graphes planaires et coloriage des cartes On dit quun graphe est planaire sil est possible de le représenter sur un plan de sorte que les sommets soient distincts, les arêtes des courbes simples, et que deux arêtes ne se rencontrent pas en dehors de leurs extrémités. Le problème des trois villas et des trois usines: Eau Gaz Elect. A B C Peut-on placer les trois villas et les trois usines de telle sorte que les conduits issus des trois usines ne se croisent pas? Le graphe biparti K 3,3 est-il planaire?

142 Graphes et MuPad (C.Boulinier)142 Un peu de vocabulaire b c d e f Face Deux faces sont adjacentes si elles ont une frontière commune. Contour de la face d f = nombre de faces a= nombre darêtes s=nombre de sommets (points) Ici n=6; q=10 et n=6 On a la relation a=s+f-2 a Face infinie

143 Graphes et MuPad (C.Boulinier)143 Graphe dincidence b c d e f a Trouver une coloration de la carte définie par ce graphe planaire, cest trouver une coloration du graphe dincidence 4 couleurs !

144 Graphes et MuPad (C.Boulinier)144 Théorème dEuler Si, dans un graphe planaire comprenant k composantes connexes, il y a s sommets, a arêtes et f faces alors: s+f-a=k+1 Si k=1, légalité devient: s+f-a=2 s=8 f=5 a=10 s+f-a=2+1

145 Graphes et MuPad (C.Boulinier)145 On fait une récurrence sur le nombre darêtes Si a=0 alors f=1 et k=s, soit s+f-a=k+1 Supposons la proposition vraie au rang n Si on ajoute une arête alors - soit k diminue de 1 - soit f augmente de 1, ce qui conserve légalité s+f-a=k+1 Doù la récurrence

146 Graphes et MuPad (C.Boulinier)146 Exercice K 3,3 nest pas planaire. Observons le graphe dincidence biparti faces arêtes, Chaque face est définie par au moins 4 arêtes et chaque arête sépare au plus deux faces Donc le nombre n de « flèches » est encadré par 4f n2a La formule dEuler donne f=2-s+a=2-6+9=5 Donc 2018, absurde !

147 Graphes et MuPad (C.Boulinier)147 Le graphe complet K 5 nest pas planaire Chaque face est définie par au moins 3 arêtes doù 3f2a soit 2120 absurde La formule dEuler donne: f=2-s+a=2-5+10=7

148 Graphes et MuPad (C.Boulinier)148 Dans un graphe planaire il existe un sommet de degré inférieur ou égal à 5. Si pour tout x de G, D(x)>5 alors, daprès le Graphe dincidence sommets arêtes, 6s2a. De plus chaque face est délimitée par au moins 3 arêtes donc 3f2a, doù 3(f+s)3a Soit f+s-a0 absurde!

149 Graphes et MuPad (C.Boulinier)149 Sous divisions élémentaires Si G est un graphe planaire, alors le graphe obtenu en enlevant une arête {u,v}, et en ajoutant un sommet w et deux arêtes {u,w} et {w,v} est encore planaire. Cette opération est appelée sous division élémentaire.

150 Graphes et MuPad (C.Boulinier)150 Graphes homéomorphes On dit que deux graphes sont homéomorphes sils peuvent être obtenus à partir dun même graphe par des sous divisions élémentaires.

151 Graphes et MuPad (C.Boulinier)151 Théorème de Kuratowski (1930) Un multi graphe est planaire ssi il ne contient pas comme sous graphe partiel un graphe homéomorphe à K 3,3 ou K 5. La condition est évidemment nécessaire

152 Graphes et MuPad (C.Boulinier)152 Exercice Montrer que le graphe de Petersen nest pas planaire

153 Graphes et MuPad (C.Boulinier)153 Exercice Montrer que le graphe de Petersen nest pas planaire

154 Graphes et MuPad (C.Boulinier)154 Montrer que le graphe de Petersen nest pas planaire

155 Graphes et MuPad (C.Boulinier)155

156 Graphes et MuPad (C.Boulinier)156

157 Graphes et MuPad (C.Boulinier)157

158 Graphes et MuPad (C.Boulinier)158

159 Graphes et MuPad (C.Boulinier)159

160 Graphes et MuPad (C.Boulinier)160

161 Graphes et MuPad (C.Boulinier)161

162 Graphes et MuPad (C.Boulinier)162 Le graphe de Pertersen nest pas planaire

163 Graphes et MuPad (C.Boulinier)163 Le théorème des 5 couleurs Tout graphe planaire est coloriable en au plus 5 couleurs.

164 Graphes et MuPad (C.Boulinier)164 Preuve Jusquà cinq pays, pas de problème! On fait une récurrence sur le nombre n de pays Pour n+1 pays, on commence par chercher un pays nayant pas plus de 5 voisins (possible par le lemme).

165 Graphes et MuPad (C.Boulinier)165 On supprime une arête, le pays se confond avec un voisin On applique lhypothèse de récurrence, on trouve une coloration à cinq couleurs de ce graphe

166 Graphes et MuPad (C.Boulinier)166 Il reste à colorer notre sommet, deux cas sont possibles Si les cinq sommets voisins nutilisent pas 5 couleurs, alors ok! Si les sommets sont colorés par 5 couleurs différentes: On prend deux pays non contigus et le sous graphe engendré par les sommets colorés par leurs deux couleurs respectives,

167 Graphes et MuPad (C.Boulinier)167 Sils ne sont pas sur une même composante connexe, on peut inverser les deux couleurs sur une des composantes, on est ramené au cas précédent

168 Graphes et MuPad (C.Boulinier)168 Sils ne sont pas sur une même composante connexe, on peut inverser les deux couleurs sur une des composantes, on est ramené au cas précédent

169 Graphes et MuPad (C.Boulinier)169 Sinon, on prend deux autres couleurs ici vert et bleu, on fait lopération précédente car les sommets associés ne peuvent être sur une même composante connexe (Jordan).

170 Graphes et MuPad (C.Boulinier)170 Sinon, on prend deux autres couleurs ici vert et bleu, on fait lopération précédente car les sommets associés ne peuvent être sur une même composante connexe (Jordan).

171 Graphes et MuPad (C.Boulinier)171 Ce qui achève la coloration, doù le théorème par récurrence

172 Graphes et MuPad (C.Boulinier)172 Chaînes de Markov

173 Graphes et MuPad (C.Boulinier)173 Un problème: celui du chauffeur de taxi Zmrzlina Kava Kolac Dort

174 Graphes et MuPad (C.Boulinier)174 Graphe de transition du taxi

175 Graphes et MuPad (C.Boulinier)175 Où désigne la probabilité conditionnelle que le taxi aille en j sachant quil est en i Mathématisons la promenade aléatoire du taxi sur notre réseau Posons:

176 Graphes et MuPad (C.Boulinier)176 Exercice La matrice que nous venons de construire a les propriétés: Toute matrice qui a ces propriétés est dite stochastique*. Montrer que les matrices stochastiques admettent 1 comme valeur propre. Du grec stokhastikos= « habile à conjecturer »

177 Graphes et MuPad (C.Boulinier)177 Réponse Le vecteur est vecteur propre pour la valeur propre 1

178 Graphes et MuPad (C.Boulinier)178 Posons où désigne la probabilité que le taxi soit en i. Soit V le vecteur défini par: V=VM alors désigne la probabilité conditionnelle que le taxi se trouve après une course dans la ville i sachant la distribution de probabilité initiale V de présence dans chacune des villes

179 Graphes et MuPad (C.Boulinier)179 Chaîne de Markov Par récurrence, on définit un processus: Où désigne le vecteur « condition initiale » et le vecteur représente la distribution de probabilité de présence du taxi dans chacune des villes à la fin de la nième course, sachant la condition initiale.

180 Graphes et MuPad (C.Boulinier)180 Expérimentation On fait lhypothèse que le chauffeur de taxi part le matin de la ville de Dort (1). Où se trouve-t-il après la cinquantième course? Calculons

181 Graphes et MuPad (C.Boulinier)181 Un petit coup de MuPad! M:=matrix(4,4,[[0.5,0,0.5,0],[0.2,0.5,0.2,0.1], [0,0.2,0.5,0.3],[0.2,0.1,0.2,0.5]]); v:=matrix(1,4,[1,0,0,0]); v*N; N:=M^50;

182 Graphes et MuPad (C.Boulinier)182 Manifestement au bout dun certain nombre de courses, la position du taxi devient « indépendante » de sa position de départ (Ergodicité). linalg::eigenvalues(M); Les sous espaces propres associés aux valeurs propres de tM sont supplémentaires, on peut donc décomposer tout vecteur suivant ces 4 sous espaces On note ces valeurs propres: La composante est indépendante de la condition initiale, cest le vecteur limite. On lappelle la distribution stationnaire du processus, elle est lunique solution de léquation X=XM avec x1+x2+x3+x4=1.

183 Graphes et MuPad (C.Boulinier)183 Exercice Montrer que pour un processus à deux états, ce phénomène arrive toujours, sauf dans deux cas.

184 Graphes et MuPad (C.Boulinier)184 Eliminons le cas où la matrice est lidentité, dans ce cas le processus est stationnaire quelle que soit la distribution initiale Eliminons aussi le cas où -1 est valeur propre, le processus est alors périodique

185 Graphes et MuPad (C.Boulinier)185 Supposons que la matrice de transition soit de la forme 1 est valeur propre et la trace est la somme des valeurs propres, donc la deuxième valeur propre est l=a+b-1 Elle vérifie la double inégalité: On obtient le même phénomène: convergence vers lunique solution de léquation XM=X avec x1+x2= a 1-b a b

186 Graphes et MuPad (C.Boulinier)186 linalg::eigenvectors(linalg::transpose(M)); Soit, en normalisant Résolvons cette équation

187 Graphes et MuPad (C.Boulinier)187

188 Graphes et MuPad (C.Boulinier)188 Définition: On dit quun processus de Markov est positivement régulier si, quand n tend vers linfini, la matrice tend vers une matrice composée de r lignes A identiques. Proposition: dans les conditions de la définition, quelle que soit la distribution initiale la loi limite est Proposition: Pour quune suite aléatoire de Markov soit positivement régulière, il est nécessaire et suffisant quil existe un entier s tel que tous les termes de soient strictement positifs

189 Graphes et MuPad (C.Boulinier)189 Exercice Que pensez-vous dun processus dont le graphe serait le suivant?

190 Graphes et MuPad (C.Boulinier)190 Zone A Zone B Zone C La zone A est transitoire (transciente), les zones B et C sont absorbantes (récurrentes), le processus nest pas positivement régulier. Question: quelle est la durée moyenne de présence dans la zone A dun processus, avant de tomber dans lune des zones absorbantes?

191 Graphes et MuPad (C.Boulinier)191 0 Pour répondre on réunit les deux zones absorbantes en un état absorbant, la réponse pour cette configuration est la même que pour celle précédente. On dit que létat zéro est un bord

192 Graphes et MuPad (C.Boulinier)192 Le soir, le taxi rentre chez lui Quand le chauffeur décide de rentrer, il utilise la méthode suivante: il continue à faire des courses jusquà ce quil soit rendu dans sa ville de Dort (1)

193 Graphes et MuPad (C.Boulinier)193 Encore un petit coup de MuPad M:=matrix(4,4,[[1,0,0,0],[0.2,0.5,0.2,0.1], [0,0.2,0.5,0.3],[0.2,0.1,0.2,0.5]]); n:=M^50; v:=matrix(1,4,[0,1,0,0]):v*n;:

194 Graphes et MuPad (C.Boulinier)194 Question: quelle est la probabilité que le chauffeur rentre chez lui? Posons la probabilité que le chauffeur rentre chez lui, en partant de létat i Ces probabilités vérifient le système: On trouve une unique solution: Ce qui est rassurant!

195 Graphes et MuPad (C.Boulinier)195 Combien de courses fait-il en moyenne avant de rentrer? Posons le nombre moyen de courses faites en partant de létat i Ces valeurs moyennes vérifient le système On trouve une unique solution: Ce qui est beaucoup!

196 Graphes et MuPad (C.Boulinier)196 Quelques simulations (10 transitions)

197 Graphes et MuPad (C.Boulinier)197 Exercice* * Arthur Engel « lenseignement des probabilités, t2) On dispose dune roulette qui sort 1 avec la probabilité p et 0 avec la Probabilité q=1-p La roulette est lancée autant de fois quil faut pour obtenir un palindrome q 1 q p p c d q q p q p p 1 a b a b

198 Graphes et MuPad (C.Boulinier)198 mc=0 et md=1+pma+qma de plus ma=1+pmb et mb=1+pmb On en déduit: mb=1/q et ma=1+p/q De même : mb=1/p et ma=1+q/p Doù md=1+p+q+q+p=3 Indépendant de p !

199 Graphes et MuPad (C.Boulinier)199 Graphes non orientésGraphes orientés Arête, ensemble des arêtes: ΣArc, ensemble des arcs F ChaîneChemin Cycle Circuit DegréDegré entrant, degré sortant ConnexitéForte connexité


Télécharger ppt "Graphes et MuPad (C.Boulinier)1 Stage Graphes et Mupad Première journée."

Présentations similaires


Annonces Google