12.07.2015 Views

Théorie des graphes (3)

Théorie des graphes (3)

Théorie des graphes (3)

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

THÉORIE DES GRAPHES (3)Michel Rigohttp://www.discmath.ulg.ac.be/Année 2006–2007


TRI TOPOLOGIQUEcas <strong>des</strong> <strong>graphes</strong> simplesLEMMESi un graphe simple orienté G = (V, E) est sans cycle,alors ∃ v tel que d − (v) = 0 (resp. d + (v) = 0).Considérons un chemin simple (x 1 ,... , x k ) de G de longueurmaximale déterminé par <strong>des</strong> sommets de G.Si d − (x 1 ) > 0, alors il existe y ∈ pred(x 1 ).Si y = un <strong>des</strong> x j , on aurait un cycle (y, x 1 ,... , x j ), impossible.Or par maximalité du chemin (x 1 ,... , x k ), il n’est pas possibled’avoir un sommet distinct <strong>des</strong> x j et tel que (y, x 1 ) ∈ E.


TRI TOPOLOGIQUEPROPOSITIONUn graphe simple orienté G = (V, E) est sans cycle SSI∃v ∈ V tel que d − (v) = 0 et ∀v tel que d − (v) = 0, le grapheG − v est sans cycle.⇒ Si G est sans cycle, on peut appliquer le lemme précédent.Il existe un sommet v tel que d − (v) = 0.De plus, tout sous-graphe G − v d’un graphe sans cycle G estsans cycle.⇐ Soit v un sommet tel que d − (v) = 0.Par hypothèse, G − v est sans cycle.Si G possède un cycle, ce dernier doit passer par v.Si un cycle passe par v, d − (v) ≥ 1. Impossible !


TRI TOPOLOGIQUEAlgorithme permettant de décider si un graphe est sans cycle.Tant qu’il existe v ∈ V tel que d − (v)=0,G :=G − vSi G=∅alors sortie : "oui, G sans cycle"sinon sortie : "non, G possède un cycle"COMPLEXITÉSi on implémente cet algorithme à l’aide de listesd’adjacence,détecter v t.q. d − (v) = 0 nécessite de parcourirl’ensemble du graphe.Un tel parcours est effectué à chaque étape de la boucle.Complexité est quadratique en #E + #V .


TRI TOPOLOGIQUETHÉORÈMELe graphe simple orienté G = (V, E) est sans cycle SSIil est possible d’énumérer les sommets de V = {v 1 ,... , v n } t.q.∀i = 1,...,n, le demi-degré entrant de v i restreint au grapheG i = G − v 1 − · · · − v i−1 soit nul : d − G i(v i ) = 0.⇒ Supposons G sans cycle.Par le lemme ..., ∃v 1 de G = G 1 tel que d − (v 1 ) = d − G 1(v 1 ) = 0.Par la prop..., G 1 − v 1 = G 2 est sans cycle.Par le lemme ..., ∃v 2 tel que d − G 2(v 2 ) = 0..De proche en proche, on obtient l’énumération proposée.


TRI TOPOLOGIQUE⇐ Supposons disposer d’une énumération <strong>des</strong> sommets ayantles propriétés indiquées. Procédons par récurrence.G n est restreint à l’unique sommet v n : sans cycle.G n−1 contient les sommets v n et v n−1 et d − G n−1(v n−1 ) = 0.G n−1 possède au mieux un arc de v n−1 à v n :sans cycle.Appliquons ce raisonnement pour une étape i quelconque.Si le graphe G i+1 est sans cycle,alors G i se compose du graphe G i+1 auquel on ajoute v iet éventuellement <strong>des</strong> arcs de v i vers les sommets de G i+1 .On en conclut que G i est sans cycle.


TRI TOPOLOGIQUEALGORITHME BASÉ SUR LE THM.La variable d associée à chaque sommet du graphe permet <strong>des</strong>tocker le demi-degré entrant du sommet (par rapport augraphe envisagé au moment de la construction).Pour tout v ∈ V , initialiser d(v)=0Pour tout v ∈ V ,Pour tout w ∈ succ(v), d(w)=d(w)+1aTraiter := ∅nbSommet := 0Pour tout v ∈ V ,Si d(v) = 0, alorsaTraiter=aTraiter∪{v}nbSommet :=nbSommet+1


TRI TOPOLOGIQUETant que aTraiter ≠ ∅, faireSoit v, le premier élément de aTraiteraTraiter := aTraiter \{v}Pour tout w ∈ Succ(v), faired(w)=d(w)-1si d(w)=0, alorsaTraiter=aTraiter∪{w}nbSommet := nbSommet+1Si nbSommet=#Valors sortie : "oui, G sans cycle"sinon sortie : "non, G possède un cycle"IDÉESi v est enlevé de aTraiter, v est énuméré.Lorsqu’un sommet est traité, on le supprime du graphe et onmodifie en conséquence les demi-degrés entrants.Si tous les sommets ont été traités, le graphe est sans cycle.


TRI TOPOLOGIQUEDÉFINITIONSoit G = (V, E) un graphe simple orienté. Un tri topologique deG est une énumération v 1 ,...,v n <strong>des</strong> sommets de G t.q. si(v i , v j ) est un arc de G, alors i < j.THÉORÈMEUn graphe simple orienté admet un tri topologique SSI il estsans cycle.Si un graphe possède un cycle, alors quelle que soitl’énumération de ses sommets, il ne peut s’agir d’un tritopologique.Si un graphe est sans cycle, alors une énumération de sessommets donnant lieu à un tri topologique estdonnée par lethm précédent.


TRI TOPOLOGIQUEREMARQUEIl n’y a pas qu’un seul tri topologique pour un graphe donnéG = (V, E). En effet, si on dénote parS(G) = {v ∈ V | d − (v) = 0}l’ensemble <strong>des</strong> sources de G, alors l’ensemble <strong>des</strong> tristopologiques de G est donné par la formule récursive suivanteΠ(G) =⋃{v.σ | σ ∈ Π(G − v)}v∈S(G)où σ est un tri topologique de G − v et où v.σ désignel’énumération <strong>des</strong> sommets de G en débutant par v puis ensuivant l’énumération prescrite par σ.


ARBRESDÉFINITIONUn graphe simple non orienté A = (V, E) est un arbre s’il estconnexe et sans cycle(sous-entendu, un “véritable” cycle : une piste fermée, pas uncycle “artificiel” comme un trivial ({a, b}, {b, a}) ; imposerl’absence d’une piste fermée évite de telles arêtes doublées eton pourrait de manière équivalente imposer l’absence de circuitsimple).Une forêt est un graphe simple non orienté dont chaquecomposante connexe est un arbre.Un arbre A = (V, E) est qualifié de n-aire si pour tout sommetv ∈ V , deg(v) ≤ n.


ARBRES


ARBRESPROPOSITIONSoit G = (V, E) un arbre ayant n sommets.◮ Toute paire de sommets distincts de G est connectée parexactement un chemin simple.◮ Soit e ∈ (V × V) \ E qui n’est pas une boucle. Le grapheG + e contient un cycle (i.e., une piste fermée),c’est-à-dire, G + e n’est plus un arbre.◮ Le graphe G a exactement n − 1 arêtes.


ARBRESCOROLLAIRETout graphe connexe possède un sous-arbre couvrant.Soient G = (V, E) un graphe connexe et C = (V, E ′ ) unsous-graphe couvrant connexe minimal (i.e., on ne peut pasremplacer E ′ par un sous-ensemble strict et garder connexité).Vu la minimalité de C, chacune de ses arêtes est une arête decoupure de C. Par la prop. précédente : C est un arbre.COROLLAIRESi G = (V, E) est un graphe (simple non orienté) connexe,alors #E ≥ #V − 1.G possède un sous-arbre couvrant C = (V, E ′ ). De là, il vient#E ≥ #E ′ = #V − 1


ARBRESDÉFINITIONUn arbre A = (V, E) avec un sommet privilégié v 0 est un arbrepointé : (A, v 0 ). v 0 est la racine de l’arbre.sommets de A ordonnés suivant leur distance à v 0 .Si d(v 0 , v) = i v est un sommet de niveau i.v 01234


ARBRESDÉFINITIONSi v est un sommet de niveau i et si tous ses voisins sont deniveau i − 1, on dit alors que v est une feuille de l’arbre.La hauteur d’un arbre est le niveau maximal de ses feuilles.DÉFINITIONPointer un arbre définit naturellement une orientation <strong>des</strong>arêtes de l’arbre : orienter les arcs de façon à ce qu’ils joignentles sommets de niveau i aux sommets de niveau i + 1.fils (resp. père) d’un noeud v : ses successeurs (resp. sonunique prédécesseur).<strong>des</strong>cendants (resp. ancêtres de v : les éléments de succ ∗ (v)(resp. pred ∗ (v)).


ARBRESDÉFINITIONUn arbre pointé est k-aire si tout sommet a au plus k fils.Si k = 2, on parle d’arbre binaire.Un arbre k-aire de hauteur n possède au plus1 + k + · · · + k n = k n − 1k − 1sommets. S’il en possède exactement ce nombre, on parled’arbre k-aire complet.


PARCOURS D’ARBRESordonner les noeuds : on suppose que les fils d’un noeud v isont ordonnés v i,1 ,... , v i,ki . Cet ordre est connu et fixé une foispour toutes.PARCOURS EN PROFONDEUR◮ parcours préfixe : d’abord la racine puis, de manièrerécursive, les sous-arbres pointés de racine respectivev 0,1 ,... , v 0,k0 .◮ parcours suffixe : d’abord, de manière récursive, lessous-arbres pointés de racine v 0,1 ,... , v 0,k0 , puis la racinev 0 .◮ parcours infixe (arbre binaire) : d’abord, de manièrerécursive, le sous-arbre de gauche, puis la racine, et enfinle sous-arbre de droit (Si un sommet n’a qu’un seul fils :sous-arbre de droite vide).


PARCOURS D’ARBRESPARCOURS PRÉFIXEd’abord la racine puis, de manière récursive, les sous-arbrespointésbacdefg h i j kl.


PARCOURS D’ARBRESPARCOURS PRÉFIXEd’abord la racine puis, de manière récursive, les sous-arbrespointésbacgdhlefi j ka


PARCOURS D’ARBRESPARCOURS PRÉFIXEd’abord la racine puis, de manière récursive, les sous-arbrespointésbacgdhlefi j ka, b


PARCOURS D’ARBRESPARCOURS PRÉFIXEd’abord la racine puis, de manière récursive, les sous-arbrespointésbacgdhlefi j ka, b, d


PARCOURS D’ARBRESPARCOURS PRÉFIXEd’abord la racine puis, de manière récursive, les sous-arbrespointésbacgdhlefi j ka, b, d, g


PARCOURS D’ARBRESPARCOURS PRÉFIXEd’abord la racine puis, de manière récursive, les sous-arbrespointésbacgdhlefi j ka, b, d, g


PARCOURS D’ARBRESPARCOURS PRÉFIXEd’abord la racine puis, de manière récursive, les sous-arbrespointésbacgdhlefi j ka, b, d, g, h


PARCOURS D’ARBRESPARCOURS PRÉFIXEd’abord la racine puis, de manière récursive, les sous-arbrespointésbacgdhlefi j ka, b, d, g, h, l


PARCOURS D’ARBRESPARCOURS PRÉFIXEd’abord la racine puis, de manière récursive, les sous-arbrespointésbacdefghijkla, b, d, g, h, l


PARCOURS D’ARBRESPARCOURS PRÉFIXEd’abord la racine puis, de manière récursive, les sous-arbrespointésbacdefghijkla, b, d, g, h, l, c


PARCOURS D’ARBRESPARCOURS PRÉFIXEd’abord la racine puis, de manière récursive, les sous-arbrespointésbacdefghijkla, b, d, g, h, l, c, e


PARCOURS D’ARBRESPARCOURS PRÉFIXEd’abord la racine puis, de manière récursive, les sous-arbrespointésbacdefghijkla, b, d, g, h, l, c, e, i


PARCOURS D’ARBRESPARCOURS PRÉFIXEd’abord la racine puis, de manière récursive, les sous-arbrespointésbacdefghijkla, b, d, g, h, l, c, e, i


PARCOURS D’ARBRESPARCOURS PRÉFIXEd’abord la racine puis, de manière récursive, les sous-arbrespointésbacdefghijkla, b, d, g, h, l, c, e, i, f


PARCOURS D’ARBRESPARCOURS PRÉFIXEd’abord la racine puis, de manière récursive, les sous-arbrespointésbacdefghijkla, b, d, g, h, l, c, e, i, f, j


PARCOURS D’ARBRESPARCOURS PRÉFIXEd’abord la racine puis, de manière récursive, les sous-arbrespointésbacdefghijkla, b, d, g, h, l, c, e, i, f, j


PARCOURS D’ARBRESPARCOURS PRÉFIXEd’abord la racine puis, de manière récursive, les sous-arbrespointésbacdefghijkla, b, d, g, h, l, c, e, i, f, j, k


PARCOURS D’ARBRESPARCOURS SUFFIXEd’abord, de manière récursive, les sous-arbres pointés deracine v 0,1 ,... , v 0,k0 , puis la racine v 0 .bacdefg h i j kl.


PARCOURS D’ARBRESPARCOURS SUFFIXEd’abord, de manière récursive, les sous-arbres pointés deracine v 0,1 ,... , v 0,k0 , puis la racine v 0 .bacgdhlefi j k.


PARCOURS D’ARBRESPARCOURS SUFFIXEd’abord, de manière récursive, les sous-arbres pointés deracine v 0,1 ,... , v 0,k0 , puis la racine v 0 .bacgdhlefi j k.


PARCOURS D’ARBRESPARCOURS SUFFIXEd’abord, de manière récursive, les sous-arbres pointés deracine v 0,1 ,... , v 0,k0 , puis la racine v 0 .bacgdhlefi j kg


PARCOURS D’ARBRESPARCOURS SUFFIXEd’abord, de manière récursive, les sous-arbres pointés deracine v 0,1 ,... , v 0,k0 , puis la racine v 0 .bacgdhlefi j kg


PARCOURS D’ARBRESPARCOURS SUFFIXEd’abord, de manière récursive, les sous-arbres pointés deracine v 0,1 ,... , v 0,k0 , puis la racine v 0 .bacgdhlefi j kg, l


PARCOURS D’ARBRESPARCOURS SUFFIXEd’abord, de manière récursive, les sous-arbres pointés deracine v 0,1 ,... , v 0,k0 , puis la racine v 0 .bacgdhlefi j kg, l, h


PARCOURS D’ARBRESPARCOURS SUFFIXEd’abord, de manière récursive, les sous-arbres pointés deracine v 0,1 ,... , v 0,k0 , puis la racine v 0 .bacgdhlefi j kg, l, h, d


PARCOURS D’ARBRESPARCOURS SUFFIXEd’abord, de manière récursive, les sous-arbres pointés deracine v 0,1 ,... , v 0,k0 , puis la racine v 0 .bacgdhlefi j kg, l, h, d, b


PARCOURS D’ARBRESPARCOURS SUFFIXEd’abord, de manière récursive, les sous-arbres pointés deracine v 0,1 ,... , v 0,k0 , puis la racine v 0 .bacdefghijklg, l, h, d, b


PARCOURS D’ARBRESPARCOURS SUFFIXEd’abord, de manière récursive, les sous-arbres pointés deracine v 0,1 ,... , v 0,k0 , puis la racine v 0 .bacdefghijklg, l, h, d, b


PARCOURS D’ARBRESPARCOURS SUFFIXEd’abord, de manière récursive, les sous-arbres pointés deracine v 0,1 ,... , v 0,k0 , puis la racine v 0 .bacdefghijklg, l, h, d, b, i


PARCOURS D’ARBRESPARCOURS SUFFIXEd’abord, de manière récursive, les sous-arbres pointés deracine v 0,1 ,... , v 0,k0 , puis la racine v 0 .bacdefghijklg, l, h, d, b, i, e


PARCOURS D’ARBRESPARCOURS SUFFIXEd’abord, de manière récursive, les sous-arbres pointés deracine v 0,1 ,... , v 0,k0 , puis la racine v 0 .bacdefghijklg, l, h, d, b, i, e


PARCOURS D’ARBRESPARCOURS SUFFIXEd’abord, de manière récursive, les sous-arbres pointés deracine v 0,1 ,... , v 0,k0 , puis la racine v 0 .bacdefghijklg, l, h, d, b, i, e, j


PARCOURS D’ARBRESPARCOURS SUFFIXEd’abord, de manière récursive, les sous-arbres pointés deracine v 0,1 ,... , v 0,k0 , puis la racine v 0 .bacdefghijklg, l, h, d, b, i, e, j, k


PARCOURS D’ARBRESPARCOURS SUFFIXEd’abord, de manière récursive, les sous-arbres pointés deracine v 0,1 ,... , v 0,k0 , puis la racine v 0 .bacdefghijklg, l, h, d, b, i, e, j, k, f


PARCOURS D’ARBRESPARCOURS SUFFIXEd’abord, de manière récursive, les sous-arbres pointés deracine v 0,1 ,... , v 0,k0 , puis la racine v 0 .bacdefghijklg, l, h, d, b, i, e, j, k, f, c


PARCOURS D’ARBRESPARCOURS SUFFIXEd’abord, de manière récursive, les sous-arbres pointés deracine v 0,1 ,... , v 0,k0 , puis la racine v 0 .bacdefghijklg, l, h, d, b, i, e, j, k, f, c, a


PARCOURS D’ARBRESPARCOURS INFIXEd’abord, de manière récursive, le sous-arbre de gauche, puis laracine, et enfin le sous-arbre de droit (Si un sommet n’a qu’unseul fils : sous-arbre de droite vide).bacdefg h i j kl.


PARCOURS D’ARBRESPARCOURS INFIXEd’abord, de manière récursive, le sous-arbre de gauche, puis laracine, et enfin le sous-arbre de droit (Si un sommet n’a qu’unseul fils : sous-arbre de droite vide).bacgdhlefi j k.


PARCOURS D’ARBRESPARCOURS INFIXEd’abord, de manière récursive, le sous-arbre de gauche, puis laracine, et enfin le sous-arbre de droit (Si un sommet n’a qu’unseul fils : sous-arbre de droite vide).bacgdhlefi j k.


PARCOURS D’ARBRESPARCOURS INFIXEd’abord, de manière récursive, le sous-arbre de gauche, puis laracine, et enfin le sous-arbre de droit (Si un sommet n’a qu’unseul fils : sous-arbre de droite vide).bacgdhlefi j kg


PARCOURS D’ARBRESPARCOURS INFIXEd’abord, de manière récursive, le sous-arbre de gauche, puis laracine, et enfin le sous-arbre de droit (Si un sommet n’a qu’unseul fils : sous-arbre de droite vide).bacgdhlefi j kg, d


PARCOURS D’ARBRESPARCOURS INFIXEd’abord, de manière récursive, le sous-arbre de gauche, puis laracine, et enfin le sous-arbre de droit (Si un sommet n’a qu’unseul fils : sous-arbre de droite vide).bacgdhlefi j kg, d


PARCOURS D’ARBRESPARCOURS INFIXEd’abord, de manière récursive, le sous-arbre de gauche, puis laracine, et enfin le sous-arbre de droit (Si un sommet n’a qu’unseul fils : sous-arbre de droite vide).bacgdhlefi j kg, d, l


PARCOURS D’ARBRESPARCOURS INFIXEd’abord, de manière récursive, le sous-arbre de gauche, puis laracine, et enfin le sous-arbre de droit (Si un sommet n’a qu’unseul fils : sous-arbre de droite vide).bacgdhlefi j kg, d, l, h


PARCOURS D’ARBRESPARCOURS INFIXEd’abord, de manière récursive, le sous-arbre de gauche, puis laracine, et enfin le sous-arbre de droit (Si un sommet n’a qu’unseul fils : sous-arbre de droite vide).bacgdhlefi j kg, d, l, h, b


PARCOURS D’ARBRESPARCOURS INFIXEd’abord, de manière récursive, le sous-arbre de gauche, puis laracine, et enfin le sous-arbre de droit (Si un sommet n’a qu’unseul fils : sous-arbre de droite vide).bacgdhlefi j kg, d, l, h, b, a


PARCOURS D’ARBRESPARCOURS INFIXEd’abord, de manière récursive, le sous-arbre de gauche, puis laracine, et enfin le sous-arbre de droit (Si un sommet n’a qu’unseul fils : sous-arbre de droite vide).bacdefghijklg, d, l, h, b, a


PARCOURS D’ARBRESPARCOURS INFIXEd’abord, de manière récursive, le sous-arbre de gauche, puis laracine, et enfin le sous-arbre de droit (Si un sommet n’a qu’unseul fils : sous-arbre de droite vide).bacdefghijklg, d, l, h, b, a


PARCOURS D’ARBRESPARCOURS INFIXEd’abord, de manière récursive, le sous-arbre de gauche, puis laracine, et enfin le sous-arbre de droit (Si un sommet n’a qu’unseul fils : sous-arbre de droite vide).bacdefghijklg, d, l, h, b, a, i


PARCOURS D’ARBRESPARCOURS INFIXEd’abord, de manière récursive, le sous-arbre de gauche, puis laracine, et enfin le sous-arbre de droit (Si un sommet n’a qu’unseul fils : sous-arbre de droite vide).bacdefghijklg, d, l, h, b, a, i, e


PARCOURS D’ARBRESPARCOURS INFIXEd’abord, de manière récursive, le sous-arbre de gauche, puis laracine, et enfin le sous-arbre de droit (Si un sommet n’a qu’unseul fils : sous-arbre de droite vide).bacdefghijklg, d, l, h, b, a, i, e, c


PARCOURS D’ARBRESPARCOURS INFIXEd’abord, de manière récursive, le sous-arbre de gauche, puis laracine, et enfin le sous-arbre de droit (Si un sommet n’a qu’unseul fils : sous-arbre de droite vide).bacdefghijklg, d, l, h, b, a, i, e, c


PARCOURS D’ARBRESPARCOURS INFIXEd’abord, de manière récursive, le sous-arbre de gauche, puis laracine, et enfin le sous-arbre de droit (Si un sommet n’a qu’unseul fils : sous-arbre de droite vide).bacdefghijklg, d, l, h, b, a, i, e, c, j


PARCOURS D’ARBRESPARCOURS INFIXEd’abord, de manière récursive, le sous-arbre de gauche, puis laracine, et enfin le sous-arbre de droit (Si un sommet n’a qu’unseul fils : sous-arbre de droite vide).bacdefghijklg, d, l, h, b, a, i, e, c, j, f


PARCOURS D’ARBRESPARCOURS INFIXEd’abord, de manière récursive, le sous-arbre de gauche, puis laracine, et enfin le sous-arbre de droit (Si un sommet n’a qu’unseul fils : sous-arbre de droite vide).bacdefghijklg, d, l, h, b, a, i, e, c, j, f, k


PARCOURS D’ARBRESPARCOURS EN LARGEURparcours en largeur : parcours <strong>des</strong> noeuds de l’arbre pointé parniveau croissant.bacdefg h i j kla, b, c,... , k, l.


PARCOURS D’ARBRESREMARQUESoit G = (V, E) un graphe (orienté ou non) simple et connexe.Un parcours en profondeur de G est défini récursivement.Sélectionner un sommet v 0 .A l’étape k ≥ 1, choisir un voisin de v k−1 qui n’a pas encore étésélectionné.Si un tel voisin n’existe pas, on cherche dans l’ordre, un voisinnon sélectionné de v k−2 ,...,v 0 .1732610894 5


ISOMORPHISMES DE GRAPHESDÉFINITIONSoient G i = (V i , E i ), i = 1, 2, deux di<strong>graphes</strong>.f : V 1 → V 2 est un homomorphisme de G 1 dans G 2 si(x, y) ∈ E 1 ⇒ (f(x), f(y)) ∈ E 2DÉFINITIONSoient G i = (V i , E i ), i = 1, 2, deux <strong>graphes</strong> non orientés.f : V 1 → V 2 est un homomorphisme de G 1 dans G 2 si{x, y} ∈ E 1 ⇒ {f(x), f(y)} ∈ E 2 ).


ISOMORPHISMES DE GRAPHESREMARQUELa composée d’homomorphismes est encore unhomomorphisme.EXEMPLEHomomorphisme de G dans HGH


ISOMORPHISMES DE GRAPHESREMARQUELa composée d’homomorphismes est encore unhomomorphisme.EXEMPLEHomomorphisme de G dans HGHHomomorphisme de G ds H ⇏ homomorphisme de H ds G.


ISOMORPHISMES DE GRAPHESREMARQUELa composée d’homomorphismes est encore unhomomorphisme.EXEMPLEHomomorphisme de G dans HGHHomomorphisme de G ds H ⇏ homomorphisme de H ds G.


ISOMORPHISMES DE GRAPHESEXEMPLEHomomorphisme non injectif de G dans HGH


ISOMORPHISMES DE GRAPHESEXEMPLEHomomorphisme non injectif de G dans HGH


ISOMORPHISMES DE GRAPHESDÉFINITION2 di<strong>graphes</strong> (resp. 2 <strong>graphes</strong> non orientés) G i = (V i , E i ),i = 1, 2, sont isomorphes si ∃ bijection f : V 1 → V 2 t.q.(x, y) ∈ E 1 ⇔ (f(x), f(y)) ∈ E 2(resp. telle que {x, y} ∈ E 1 ⇔ {f(x), f(y)} ∈ E 2 ).DÉFINITION2 multi-<strong>graphes</strong> G i = (V i , E i ), i = 1, 2, sont isomorphes si ∃bijection f : V 1 → V 2 t.q. (x, y) arc de multiplicité k de G 1 SSI(f(x), f(y)) arc de multiplicité k de G 2 .REMARQUESi f est un isomorphisme, f −1 aussi.


ISOMORPHISMES DE GRAPHESEXEMPLEb6 1faecd4532ϕ : a ↦→ 4, b ↦→ 5, c ↦→ 6, d ↦→ 1, e ↦→ 2, f ↦→ 1.


ISOMORPHISMES DE GRAPHESEXEMPLEb6 1faecd4532ϕ : a ↦→ 4, b ↦→ 5, c ↦→ 6, d ↦→ 1, e ↦→ 2, f ↦→ 1.


ISOMORPHISMES DE GRAPHESDÉFINITIONSoit G = (V, E) un graphe (orienté ou non). Un automorphismede G est un isomorphisme de G dans G.Aut(G) : groupe <strong>des</strong> automorphismes de G muni de la loi decomposition d’applicationssous-groupe du groupe symétrique S n <strong>des</strong> permutations den = #V éléments.Un graphe pour lequel Aut(G) est réduit à l’identité id V estasymétriqueEXEMPLEAut(K n ) = S n .


PROPOSITIONSoient G un graphe (simple non orienté) et ϕ unautomorphisme de G. Pour tous sommets u, v, on a◮ deg(u) = deg(ϕ(u)),◮ d(u, v) = d(ϕ(u),ϕ(v)).DÉFINITIONSi deux <strong>graphes</strong> G i = (V i , E i ), i = 1, 2 ont leurs sommetspondérés par p i : V i → Σ, la définition d’un isomorphismef : V 1 → V 2 doit naturellement s’étendre en respectantp 1 (v) = p 2 (f(v)), ∀v ∈ V 1 .


ARBRES INFINIS ET ISOMORPHISMEDÉFINITIONSAlphabet Σ = {a, b}Mots : aa, bba, b, abbbaabaa (suites finies de symboles).Arbre lexicographique : arbre binaire infini,ses noeuds en bijection avec les mots sur {a, b}.Si un noeud est en bijection avec le mot m :◮ son fils de gauche est en bijection avec ma◮ son fils de droite est en bijection avec mbLa racine de l’arbre correspond au mot vide : ε.Cet arbre possède exactement 2 i noeuds de niveau i, les motsde longueur i : a}·{{· · aa}, a · · · ab, . . . , b · · · ba, b}·{{· · bb}.i×i×


ARBRES INFINIS ET ISOMORPHISMEεabaa ab ba bbaaa aab aba abb baa bab bba bbbaaaa


ARBRES INFINIS ET ISOMORPHISMESoit un ensemble L de mots écrits sur {a, b}.p L : à un mot m associe 1 (resp. 0) si m ∈ L (resp. m ∉ L).La pondération est un codage définissant le dictionnaire <strong>des</strong>mots de L.


ARBRES INFINIS ET ISOMORPHISMEUN LANGAGE ET L’ARBRE PONDÉRÉL formé <strong>des</strong> mots commençant par un nombre arbitraire de a(éventuellement aucun) et suivi par un nombre arbitraire de b(éventuellement aucun), l’arbre pondéré A Lε, a, b, aa, ab, bb, aaa, aab, abb, bbb,...


ARBRES INFINIS ET ISOMORPHISMEA m : sous-arbre obtenu en considérant comme nouvelle racinele noeud m et en ne conservant dans A m que les <strong>des</strong>cendantsde mARBRE RÉGULIERl’arbre A L ne possède, à isomorphisme près, que 3 sous-arbresnon isomorphes (par exemple, A L lui-même, A b et A ba )nombre fini de sous-arbres non isomorphes : arbre régulier.


ARBRES INFINIS ET ISOMORPHISMEARBRE RÉGULIERl’arbre A L ne possède, à isomorphisme près, que 3 sous-arbresnon isomorphes (par exemple, A L lui-même, A b et A ba )nombre fini de sous-arbres non isomorphes : arbre régulier.


ARBRES INFINIS ET ISOMORPHISMEARBRE RÉGULIERl’arbre A L ne possède, à isomorphisme près, que 3 sous-arbresnon isomorphes (par exemple, A L lui-même, A b et A ba )nombre fini de sous-arbres non isomorphes : arbre régulier.


ARBRES INFINIS ET ISOMORPHISMEARBRE RÉGULIERl’arbre A L ne possède, à isomorphisme près, que 3 sous-arbresnon isomorphes (par exemple, A L lui-même, A b et A ba )nombre fini de sous-arbres non isomorphes : arbre régulier.


ARBRES INFINIS ET ISOMORPHISMEARBRE RÉGULIERl’arbre A L ne possède, à isomorphisme près, que 3 sous-arbresnon isomorphes (par exemple, A L lui-même, A b et A ba )nombre fini de sous-arbres non isomorphes : arbre régulier.


ARBRES INFINIS ET ISOMORPHISMEARBRE RÉGULIERl’arbre A L ne possède, à isomorphisme près, que 3 sous-arbresnon isomorphes (par exemple, A L lui-même, A b et A ba )nombre fini de sous-arbres non isomorphes : arbre régulier.


GRAPHES HAMILTONIENSRAPPELGraphe eulérien : circuit passant 1 ! fois par chaque arête.QUESTION DE SIR W. R. HAMILTONExistence d’un Circuit passant 1 ! fois par chaque sommet.A ce jour, pas de méthode efficace (pb. NP-complet) :passer en revue toutes les permutations <strong>des</strong> n sommets...DÉFINITIONUn chemin (resp. circuit) hamiltonien de G : passe une et uneseule fois par chaque sommet de G.Un graphe hamiltonien : graphe possédant un circuithamiltonien


GRAPHES HAMILTONIENSCAS PATHOLOGIQUESun graphe restreint à une unique arête {a, b} (resp. restreint àun unique sommet) est hamiltonien : circuit {a, b}, {b, a}.Par contre, un arbre contenant 3 sommets au moins n’estjamais hamiltonien.


GRAPHES HAMILTONIENSEXEMPLE


GRAPHES HAMILTONIENS


GRAPHES HAMILTONIENSCondition nécessaire pour qu’un graphe soit hamiltonien.PROPOSITIONSi G = (V, E) est un graphe (simple et non orienté)hamiltonien, alors pour tout ensemble non vide S ⊆ V , lenombre de composantes connexes de G − S est ≤ #S.EXEMPLECe graphe est-il hamiltonien ?


GRAPHES HAMILTONIENSCondition nécessaire pour qu’un graphe soit hamiltonien.PROPOSITIONSi G = (V, E) est un graphe (simple et non orienté)hamiltonien, alors pour tout ensemble non vide S ⊆ V , lenombre de composantes connexes de G − S est ≤ #S.EXEMPLECe graphe est-il hamiltonien ?


GRAPHES HAMILTONIENSCondition nécessaire pour qu’un graphe soit hamiltonien.PROPOSITIONSi G = (V, E) est un graphe (simple et non orienté)hamiltonien, alors pour tout ensemble non vide S ⊆ V , lenombre de composantes connexes de G − S est ≤ #S.EXEMPLECe graphe est-il hamiltonien ?


GRAPHES HAMILTONIENSLa condition n’est PAS suffisanteLE GRAPHE DE PETERSEN


GRAPHES HAMILTONIENSUn aperçu de conditions suffisantes, graphe G (simple et nonorienté) ayant n ≥ 3 sommets.THÉORÈME DE DIRAC (1952)Si le degré de chaque sommet est ≥ n/2, G est hamiltonien.“PREMIER” THÉORÈME D’ORE (1960)Si ∃ 2 sommets x et y t.q. deg(x) + deg(y) ≥ n.G est hamiltonien SSI le graphe G + {x, y} l’est.“DEUXIÈME” THÉORÈME D’ORESi pour tout couple de sommets non adjacents (x, y), on adeg(x) + deg(y) ≥ n, alors G est hamiltonien. En particulier, simin v∈V deg(v) ≥ n/2, alors G est hamiltonien.


GRAPHES HAMILTONIENSTHÉORÈME DE CHVÁTAL (1971)Soit G un graphe (simple et non orienté) ayant n ≥ 3 sommetsordonnés par degré croissant, i.e.,deg(v 1 ) ≤ deg(v 2 ) ≤ · · · ≤ deg(v n ).Si, pour tout k < n/2, le graphe satisfaitdeg(v k ) ≤ k ⇒ deg(v n−k ) ≥ n − k, (1)alors G possède un circuit hamiltonien.


GRAPHES HAMILTONIENSREMARQUELa condition du théorème de Chvátal peut facilement êtretestée pour un graphe donné. Il suffit d’ordonner la suite <strong>des</strong>degrés et de vérifier une condition combinatoire élémentaire.Rappelons que d’un point de vue strictement logique,si pour k < n/2, on a deg(v k ) > k, alors l’implicationdeg(v k ) ≤ k ⇒ deg(v n−k ) ≥ n − k est toujours vraie.A ce jour, on ne connaît pas de condition suffisante plusgénérale pour qu’un graphe soit hamiltonien. Dans certainscas, on peut obtenir <strong>des</strong> conditions plus fortes mais en serestreignant à <strong>des</strong> classes particulières de <strong>graphes</strong>.


GRAPHES HAMILTONIENSTHÉORÈME DE CHVÁTAL-ERDÖSSoient G un graphe simple et non orienté ayant au moins troissommets, α(G) le nombre maximal de sommets indépendantset κ(G) la taille minimale d’un ensemble d’articulation. Siκ(G) ≥ α(G), alors G est hamiltonien.


FERMETURE D’UN GRAPHEIdée...“PREMIER” THÉORÈME D’ORE (1960)Si ∃ 2 sommets x et y t.q. deg(x) + deg(y) ≥ n.G est hamiltonien SSI le graphe G + {x, y} l’est.


FERMETURE D’UN GRAPHEDÉFINITIONFermeture d’un graphe simple et non orienté G 0 = (V 0 , E 0 ).On définit une suite finie de <strong>graphes</strong> (simples)G 0 , G 1 ,... , G i = (V i , E i ),... , G kPour tout i, on ajoute à G i une arête comme suit :G i+1 = G i + {u, v}où u et v sont t.q. {u, v} ∉ E i etdeg Gi(u) + deg Gi(v) ≥ #Voù deg Gidésigne le degré d’un sommet dans le graphe G i .La procédure s’arrête à G k si pour tous sommets u, v, soit{u, v} ∈ E k , soit deg Gk(u) + deg Gk(v) < #V .


FERMETURE D’UN GRAPHE...Quels que soient les choix d’arêtes réalisés dans les étapesintermédiaires, on aboutit toujours au même graphe : F(G 0 )EXEMPLE23 43444323434431222 3


FERMETURE D’UN GRAPHELEMMEPour tout graphe ayant au moins trois sommets, la fermetured’un graphe est unique.Supposons avoir 2 fermetures <strong>des</strong> G ≠ :H = G + {e 1 ,...,e r } et H ′ = G + {f 1 ,...,f s }Thèse : H = H ′ .H i := G + {e 1 ,...,e i } et H i ′ := G + {f 1 ,... , f i }, G = H 0 = H ′ 0 .Si H ≠ H ′ , supposons que e k = {u, v} est la première arête deH qui n’appartient pas à H ′ . (Ainsi, e 1 ,... , e k−1 sont <strong>des</strong> arêtesde H ′ et e k diffère de tous les f i .)


FERMETURE D’UN GRAPHEPuisque e k est l’arête ajoutée à H k−1 pour construire H k ,deg Hk−1(u) + deg Hk−1(v) ≥ n.H k−1 est un sous-graphe de H ′ :deg H ′(u) + deg H ′(v) ≥ ndonc, e k devra aussi être ajoutée à H ′ , contradiction !H est un sous-graphe de H ′ . Par symétrie, on en tire queH = H ′ .


FERMETURE D’UN GRAPHETHÉORÈMESoit G un graphe (simple et non orienté) ayant au moins troissommets.◮ G est hamiltonien SSI sa fermeture F(G) l’est.◮ Si F(G) est un graphe complet, alors G hamiltonien.⇒ G est un sous-graphe de F(G).Si G est hamiltonien, alors F(G) l’est aussi.⇐ soit une suite de <strong>graphes</strong> G 0 = G,...,G k−1 , G k = F(G)donnant la fermeture de G.Thm. d’Ore : si G k est hamiltonien, alors G k−1 l’est aussi. Deproche en proche, G 0 = G est hamiltonien.La deuxième partie : Tout graphe complet est hamiltonien,appliquer la première partie.


FERMETURE D’UN GRAPHEREMARQUELa condition suffisante donnée dans le théorème précédentn’est PAS nécessaire.graphe avec n > 4 sommets et de n arêtes et formant ununique circuit hamiltonien.Chaque sommet est de degré 2, le graphe est égal à safermeture et bien que le graphe soit hamiltonien, la fermeturen’est pas le graphe complet K n .


FERMETURE D’UN GRAPHE“DEUXIÈME” THÉORÈME D’ORESi pour tout couple de sommets non adjacents (x, y), on adeg(x) + deg(y) ≥ n, alors G est hamiltonien. En particulier, simin v∈V deg(v) ≥ n/2, alors G est hamiltonien.La preuve est immédiate : F(G) = K n !


FERMETURE D’UN GRAPHEA DEMONTRER ...◮ Thm. Dirac◮ Premier Thm. d’Ore◮ Thm de Chvátal


PARTITION DE K n EN CIRCUITS HAMILTONIENSPROPOSITIONPour n ≥ 3, K n peut être partitionné en circuits hamiltoniensdisjoints SSI n impair. Le nombre de tels circuits partitionnantK n vaut (n − 1)/2.


PARTITION DE K n EN CIRCUITS HAMILTONIENSK n est (n − 1)-régulier. Un circuit hamiltonien est 2-régulier.Il est nécessaire que n − 1 soit pair pour décomposer K n encycles hamiltoniens disjoints !Supposons n impair. K n peut être décomposé en au plus(n − 1)/2 circuits hamiltoniens disjoints :◮ choix d’un premier cycle hamiltonien formé de n arêtes◮ second cycle de K n disjoint du précédent, le choix serestreint, etc...peu convaincant !


PARTITION DE K n EN CIRCUITS HAMILTONIENSLEMMESi n pair, K n peut être partitionné en n/2 chemins hamiltoniensdisjoints.Identifier K n avec un polygone régulier ayant une symétrieorthogonale par rapport à une horizontale .ABCChemin hamiltonien C en reliant les sommets se trouvant surune même horizontale et en reliant le sommet gauche duniveau horizontal i avec le sommet de droite de niveau i + 1.Toutes ces arêtes “obliques” ont une même pente π/n


PARTITION DE K n EN CIRCUITS HAMILTONIENSEn effectuant une rotation de la figure C de 2kπ/n,k = 1,...,n/2 − 1, on obtient n/2 chemins hamiltoniensdistincts.Tous distincts ? raisonner sur la pente respective <strong>des</strong> arêtes lesconstituant : π/n, 3π/n, 5π/n, . . . , (1 − 1/n)π.


PARTITION DE K n EN CIRCUITS HAMILTONIENSLEMMESoit n ≥ 3 impair. K n partitionné en (n − 1)/2 circuitshamiltoniens disjoints SSI K n−1 partitionné en (n − 1)/2chemins hamiltoniens disjoints.Si K n peut être partitionné et qu’on lui supprime un sommet, onpasse à K n−1 et chaque circuit hamiltonien C donne naissanceà un chemin hamiltonien (les extrémités du chemin étant lessommets voisins dans C du sommet supprimé).Réciproquement, si K n−1 est partitionné, l’adjonction d’unsommet permet de passer à K n en “fermant” chaque cheminhamiltonien pour obtenir <strong>des</strong> circuits disjoints.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!