• Aucun résultat trouvé

Première partie I T

N/A
N/A
Protected

Academic year: 2022

Partager "Première partie I T"

Copied!
40
0
0

Texte intégral

(1)

Première partie I

T HÉORIE DES GRAPHES

(2)

Graphes non orientés quelconques

Graphe non orienté

Un graphe non orientéGest un triplet(V,E,Φ)tel que V : ensemble des sommets

E : ensemble des arêtes

Φ: une application deE dans{X ⊆V :|X|=2}

Une arête est caractérisée par une paire de sommets : pour toute∈E, on aΦ(e) ={u,v} avecu,v ∈V

1 2

3 4

a 5 b c

d

e f

Graphe non orienté G= (V,E,Φ) V ={1,2,3,4,5} et E=

a,b,c,d,e,f Φ(a) ={1,2}, Φ(b) ={1,3}, Φ(c) ={1,4}, Φ(d) ={2,3},Φ(e) ={3,4},Φ(f) ={3,5}

Pour les graphes simples, un graphe non orienté est notéG= (V,E)où E ⊆ {X ⊆V :|X|=2} et ∀e∈E,e={u,v}

(3)

Vocabulaire sur les graphes non orientés

1

2

3 4

5

6 7 8 9 10

extrémités d’une arête e tel queΦ(e) ={u,v}:sommetsu,v un sommetu est incident à une arêteesiuextrémité dee degré du sommet u :nombre d’arêtes incidentes àu

une arêteeest incidente à un sommetu siuextrémité dee un sommetuest adjacent à un sommetv si{u,v}forme une arête voisin du sommet u :sommet adjacent àu

voisinage du sommet u :ensemble des sommets adjacents àu

(4)

Graphes orientés quelconques

Graphe orienté

Un graphe orientéG~ est un triplet(V,E,Φ)tel que V : ensemble des sommets

E : ensemble des arcs

Φ: une application deE dansV ×V

Chaque arc est caractérisé par un couple de sommets : pour toute∈E, on aΦ(e) = (u,v) avecu,v ∈V

1 2

3 4

a 5 b c

d

e f

Graphe orientéG~ = (V,E,Φ) V ={1,2,3,4,5} et E=

a,b,c,d,e,f Φ(a) = (1,2), Φ(b) = (1,3),Φ(c) = (4,1), Φ(d) = (2,3), Φ(e) = (3,4), Φ(f) = (3,5)

Pour les graphes simples, un graphe orienté sera notéG~ = (V,E)avec E ⊆V ×V et ∀e∈E,e= (u,v)

(5)

Vocabulaire sur les graphes orientés

1

2

3 4

5

extrémité initiale (origine) d’un arc e avecΦ(e) = (u,v):sommetu extrémité terminale (but) d’un arc e avecΦ(e) = (u,v):sommetv incidence→similaire aux graphes non orientés

degré entrant du sommet u :nombre d’arcs entrants enu degré sortant du sommet u :nombre d’arcs sortants deu adjacence→similaire aux graphes non orientés

voisin entrant du sommet u :sommetv tel que(v,u)forme un arc voisin sortant du sommet u :sommetv tel que(u,v)forme un arc voisinage entrant du sommet u :voisins entrants deu

voisinage sortant du sommet u :voisins sortants deu

(6)

Graphe simple

Définitions

Soit un graphe quelconque (orienté ou non) boucle :arc/arête de même extrémité

arêtes multiples :arcs/arêtes possédant les mêmes extrêmités graphe simple :graphe sans boucle et arêtes multiples

1 2

3 4

5

Graphe multiple carG possède

une boucle

une arête multiple/parallèle

Pour la suite, on considère seulement des graphes simples les graphes non orientés sont notésG= (V,E)

les graphes orientés sont notésG~ = (V,E)

(7)

Isomorphisme de graphe

Isomorphisme de graphes non orientés

Deux graphes non orientés simplesG= (V,E)etG0 = (V0,E0)sont isomorphes s’il existe une bijectionϕ:V →V0tel que

{u,v} ∈E ⇔ {ϕ(u), ϕ(v)} ∈E0

1 2

3 4

5

a b

d c e

φ(1) =a φ(2) =c φ(3) =e φ(4) =b φ(5) =d

Une définition analogue existe pour les graphes orientés Isomorphisme de graphes orientés

Deux graphes orientés simplesG~ = (V,E)etG~0= (V0,E0)sont isomorphes s’il existe une bijectionϕ:V →V0tel que

(u,v)∈E ⇔(ϕ(u), ϕ(v))∈E0

(8)

Incidence, degré dans les graphes non orientés

Définitions

SoitG= (V,E)graphe non orienté simple arêtes incidentes au sommet u∈V :

δ(u) =n{u,v} ∈E :v ∈Vo

degré du sommet u∈V :d(u) =|δ(u)|

arêtes incidentes à l’ensemble V0 ⊂V :

δ(V0) =n{u,v} ∈E :u∈V0,v ∈/V0o

a b

c d

e

g f

h

exemples

δ(e) =

{e,h},{e,c} ,δ(f) = d(e) =2, d(f) =0

δ({a,f}) =

{a,b},{a,g} ,δ({c,e,h}) =

Remarque : X

u∈V

d(u) =2|E|

(9)

Incidence, degré dans les graphes orientés

Définitions

SoitG= (V,E)graphe orienté simple

arcs entrants/sortants du sommet u∈V :

δ(u) =n(v,u)∈E :v ∈Vo / δ+(u) =n(u,v)∈E :v ∈Vo degré entrant/sortant du sommet u ∈V :

d(u) =|δ(u)| / d+(u) =|δ+(u)|

arcs entrants/sortants de l’ensemble V0⊂V :

δ(V0) =n(v,u)∈E:u∈V0,v∈/V0o / δ+(V0) =n(u,v)∈E:u∈V0,v∈V/ 0o

a b

c

d

e

g f

h

exemples δ+(a) =

(a,b),(a,d),(a,g) ,δ(f) = d+(a) =3, d(f) =0

δ+({c,e}) =

(c,d),(c,h),(e,h) Remarque : P

u∈Vd(u) =P

u∈Vd+(u) =|E|

(10)

Voisins, voisinage dans les graphes non orientés

Définitions

SoitG= (V,E)graphe non orienté simple voisinage du sommet u∈V :

V(u) ={v ∈V :{u,v} ∈E}

voisinage de l’ensemble V0⊆V :

V(V0) ={v ∈V :∃u∈V0 tel que{u,v} ∈E}

1 2

3 4

5 exemples

V(2) ={1,3,5} et d(2) =3

V({2,4}) ={1,3,5}et d({2,3}) =3

Remarque : en général,|V(V0)| 6=|δ(V0)|,∀V0 ⊆V

Cependant, pour les graphes simples, on a|V(u)|=|δ(u)|,∀u∈V

(11)

Voisins, voisinage dans les graphes orientés

Définitions

SoitG= (V,E)graphe orienté simple voisinage entrant du sommet u∈V :

V(u) ={v ∈V : (v,u)∈E} voisinage sortant du sommet u∈V :

V+(u) ={v ∈V : (u,v)∈E}

1 2

3 4

5 exemples

V(2) ={1} et d(2) =1 V+(2) ={3,5} et d+(2) =2

Remarque : en général,|V(V0)| 6=|δ(V0)|,∀V0 ⊆V

(12)

Chaînes, chemins, cycles dans les graphes non orientés

Définitions

SoitG= (V,E)graphe non orienté simple

chaîne/chemin :suite de sommetsP= [v1, . . . ,vk]tel que {vi,vi+1} ∈E pour tout 1≤i≤k −1

chaîne/chemin simple :chaîneP= [v1, . . . ,vk]tel que vi 6=vj pour tout 1≤i <j ≤k

longueur d’une chaîne P :long(P) =nombre d’arêtes de la chaîne cycle/cycle simple :chaîne/chaîne simpleC = [v0,v1, . . . ,vk,v0]où chaque arête apparaît une seule fois au maximum

1 2

3 4

5

exemples

une chaîne :P1= [1,2,3,4,1,3,5]

une chaîne simple : P2= [1,2,3,5]

longueur : long(P1) =6, long(P2) =3 un cycle simple : C1= [1,2,3,4,1]

(13)

Chaînes, chemins, cycles dans les graphes orientés

Définitions

SoitG= (V,E)graphe orienté simple

chaîne :suite de sommetsP= [v1, . . . ,vk]tel que (vi,vi+1)ou(vi+1,vi)∈E pour tout 1≤i ≤k −1 chemin :suite de sommetsP = [v1, . . . ,vk]tel que

(vi,vi+1)∈E pour tout 1≤i≤k−1

chaîne/chemin simple :chaîne/cheminP= [v1, . . . ,vk]tel que vi 6=vj pour tout 1≤i<j ≤n

cycle/circuit :chaîne/cheminC= [v0,v1, . . . ,vk,v0]

1 2

3 4

5

exemples

une chaîne :P= [1,2,3,5,2,1,4]

un chemin :P= [1,2,3,1,4]

un cycle : C= [1,4,3,5,2,3,1]

un circuit : C= [1,2,3,1]

(14)

Graphes basiques : chaîne, cycle, complet

Les chaînesPn

1 2

P2

1 2 3

P3

1 2 3 4

P4

1 2 n−1 n

Pn

Les cyclesCn

1

2 3

C3 1

2 3 4

C4 1

2 3 4

5

C5 1

2 3 4 n

n−1 Cn

Les graphes completsKn 1

2 3

K3 1

2 3 4

K4 1

2 3 4

5

K5 1

2 3 4 5 6 K6

G= (V,E)graphe complet :si∀u,v ∈V,u6=v, {u,v} ∈E

(15)

Sous-graphe, sous-graphe induit

Définitions

SoitG= (V,E)graphe non orienté simple

sous-graphe de G :grapheG0 = (V0,E0)avecV0 ⊆V,E0 ⊆E et :

∀ {u,v} ∈E0, ⇒ u,v ∈V0

sous-graphe induit de G :sous-grapheG0= (V0,E0)deGtel que

∀u,v ∈V0, {u,v} ∈E ⇒ {u,v} ∈E0

1 2

3 4

5

GrapheG

1 2

3 4

Sous-grapheG0 deG

1 2

3 4 Sous-graphe induitG0deG

Remarque : on note parG[V0]le sous-graphe induit parV0 ⊆V Des définitions analogues existent pour les graphes orientés

(16)

Connexité, acyclique dans les graphes non orientés

Définitions

SoitG= (V,E)graphe non orienté simple G graphe connexe :

s’il existe un chemin entre toute paire de sommets composantes connexes de G :

sous-graphes induits connexes maximaux deG G graphe acyclique :siGne contient pas de cycles G arbre :siGest connexe, acyclique

1 2

3 4

5

Graphe connexe, non acyclique

a b

c d

e

g f

h

Graphe non connexe, non acyclique

1

2 3 4

5

Graphe connexe, acyclique

(17)

Connexité, acyclique dans les graphes orientés

Définitions

SoitG= (V,E)graphe orienté simple G graphe connexe :~

s’il existe une chaîne entre toute paire de sommets G graphe fortement connexe :~

s’il existe un chemin entre toute paire de sommets G graphe acyclique :~ siG~ ne contient pas de cycles G arbre enraciné :~ siG~ est connexe, acyclique

1 2

3 4

5

Graphe fortement connexe, non acyclique

1 2

3 4

5

Graphe non connexe, non acyclique

1 2

3 4

5

Graphe connexe, acyclique

(18)

Propriétés de connexité

Définitions

SoitG= (V,E)graphe non orienté simple

coupe :bi-partition{S,S}de l’ensembleV :S⊆V etS=V \S une coupe est aussi caractérisée par :

δ(S) ={arêtes possédant une extrémité dansSet dansS}

Propriétés des graphes connexes

SoitG= (V,E)graphe non orienté simple Les propriétés suivantes sont équivalentes :

1 Gest connexe

2 Gpossède une seule composante connexe

3 toute coupe[S,S]vérifieδ(S)6=∅

(19)

Pourquoi s’intéresser aux problèmes ?

1 Résoudre des problématiques dans les graphes

2 Nombreuses applications industrielles Principaux problèmes dans les graphes

problème de l’arbre couvrant de poids minimum, problème du plus court chemin,

problème du flot maximum, problème de coût minimum, problème de couplage,

problème de coloration de graphe, problème du postier chinois,

problème du voyageur de commerce, et bien d’autres,...

(20)

Graphes pondérés

Un graphe peut être pondéré/valué sur ses sommets et/ou ses arêtes Graphe pondéré

Un graphe pondéré est un graphe auquel on a associé une (ou plusieurs) fonction de valuation

SoientG~ = (V,E)un graphe orienté etp,cdeux fonctions d’évaluation

1 10

2 15

3 5

4 7

5 9

6 3 u

pu

v pv

15

10 5

25 10

10 30 45

10 cuv

sur les sommets, on associe et sur les arcs, on associe p:V → R

v 7→ pv

c: E → R (u,v) 7→ cuv

Des fonctions analogues existent pour les graphes non orientés

(21)

Sous-graphe couvrant, arbre couvrant d’un graphe

Définitions

SoitG= (V,E)graphe non orienté simple

sous-graphe couvrant de G :sous-grapheG0 = (V0,E0)deGavec V0 =V

arbre couvrant de G :sous-graphe couvrant, connexe, acyclique

1 2

3 4

5

GrapheG

1 2

3 4

5

Sous-graphe couvrant deG 1

2

3 4

5

Arbre couvrant deG

(22)

Problème de l’arbre couvrant de poids minimum

Données : G= (V,E)graphe non orienté pondéré pepoids de l’arêtee∈E

Objectif : déterminer l’arbre couvrant de poids total minimum Contraintes : couvrir tous les sommets par un arbre

Hypothèse : Ggraphe connexe

Problème de la recherche d’un arbre couvrant de poids minimum Chercher l’arbre de poids total minimum couvrant l’ensemble des sommets du graphe

1

2

3

4 5 6

7

i j

5

9

3 5

9

2 4

9 6 8 pe

3

10 6

12

un graphe pondéré avec une solution réalisable

(23)

Distance, diamètre dans les graphes non orientés

Définitions

SoitG= (V,E)graphe non orienté simple

distance d’un sommet u ∈V à un sommet v ∈V :longueur du plus petit chemin entreuetv

dist(u,v) =min{long(Puv) :Puv un chemin}

convention : s’il n’existe pas de chemin,dist(u,v) =∞

diamètre du graphe G :plus grande valeur de distance entre deux sommets du graphe :

diam(G) = max

u,v∈V{dist(u,v)}

a b

c

d

e

g f

h

GrapheG= (V,E)

dist(c,h) =1, dist(c,b) =2, dist(b,f) =3 diam(G) =4 cardist(e,g) =4

(24)

Problème du plus court chemin

Données : G~ = (V,E)graphe orienté + 2 sommets particulierss ett cij distance de parcours de l’arc(i,j)∈E

Objectif : chercher le chemin le plus court en distance entresett Hypothèses : pas de circuit de distance totale négative

existence d’un chemin entre le sommetset le sommett Problème du plus court chemin entre le sommetset le sommett

Trouver un chemin de longueur total minimale entre le sommet sources et le sommet ciblet (i.e. envoyer une unité de flot entresett)

s

1

2

3

4

t

i j

10

7

7

1 5

10

2 5

3 cij

un graphe des distances avec une solution réalisable

(25)

Points d’articulation, isthmes

Définitions

SoitG= (V,E)graphe non orienté simple

point d’articulation: sommetu∈V tel que le grapheG[V \ {u}]

possède une composante connexe de plus queG

convention : le graphe induitG[V \ {u}]est souvent notéG−u isthme (ou pont) :arêtee∈E tel que le grapheG(V,E\ {e}) possède une composante connexe de plus queG

convention : le grapheG(V,E\ {e})est souvent notéG−e

a

b

c d

e

f g

h

i

points d’articulation :c,f,g isthmes :{f,g},{g,h},{g,i}

une arête est un isthme ssi elle n’est contenue dans aucun cycle

(26)

Problème du flot maximum

Données : G~ = (V,E)graphe orienté + 2 sommets particulierss ett uij capacité de transport sur l’arc(i,j)∈E

Objectif : chercher la valeur du plus grand flot transportée desàt Contraintes : respect capacités des arcs + conservation du flot :

flot entrantv =flot sortantv ∀v ∈V\ {s,t}

Problème du flot maximum entre le sommetset le sommett

Envoyer le plus de flot possible entre un sommet sourceset un sommet puitst sans excéder les capacités maximales de transport

s

1

2

3

4

t

i j

10

7 1

7

5 2

10

5

3

uij 5

3

un graphes de capacités avec une solution réalisable

(27)

Couplage d’un graphe non orienté

Définitions

SoitG= (V,E)graphe non orienté simple

couplage de G :ensemble d’arêtesM ⊆E tel que tout sommet de Gest incident qu’au plus à une arête deM

couplage maximum de G :couplage deGde cardinalité maximal couplage parfait de G :ensemble d’arêtesM⊆E tel que tout sommet deGest incident à exactement une arête deM

un couplage un couplage parfait

(28)

Problème de couplage de cardinalité maximum

Données : G= (V,E)graphe non orienté

Objectif : déterminer un couplage de cardinalité maximum

Problème de la recherche d’un couplage de cardinalité maximum Chercher un couplage du graphe dont le nombre d’éléments est maximum

1

2

3

4 5 6

7

un graphe avec une solution réalisable

(29)

Graphe complémentaire, clique, stable d’un graphe

Définitions

SoitG= (V,E)graphe non orienté simple

graphe complémentaire de G :grapheG= (V,E)tel que :

∀u,v ∈V,u 6=v, {u,v} ∈E ⇔ {u,v}∈/ E clique de G :ensemble de sommetsV0⊆V tel que

∀u,v ∈V0, {u,v} ∈E G[V0]sous graphe induit complet deG

stable de G :ensemble de sommetsV0 ⊆V tel que

∀u,v ∈V0, {u,v}∈/E

un stable est une clique dans le graphe complémentaire

1 2

3 4

5

GrapheG

1 2

3 4

5

Graphe complémentaire deG

une clique : {2,3,5}

un stable : {2,4}

(30)

Problème de coloration de graphe

Données : G= (V,E)graphe non orienté

Objectif : chercher une coloration minimale des sommets

Contraintes : deux couleurs différentes pour les sommets adjacents Problème de coloration de graphe

Colorier avec le moins de couleurs tous les sommets du graphe tel que chaque paire de sommets adjacents ne possède pas la même couleur

un graphe non orienté une solution réalisable

Le problème de coloration de graphes est équivalent à chercher la plus petite partition des sommets en ensembles stables (1 stable=1 couleur)

(31)

Pourquoi s’intéresser à des graphes particuliers ?

1 Certains types de graphes sont mieux adaptés à la modélisation

2 Mieux comprendre et appréhender certaines problématiques

3 Résoudre plus efficacement des problèmes normalement difficiles

4 Identifier des structures particulières dans les graphes Graphes particuliers

chaînes, cycles, graphes complets, arbres, arbres enracinés, forêts,

graphes k-connexes, graphes k-arêtes-connexes,

graphes bipartis, graphes planaires, graphes parfaits, graphes triangulés, graphes d’intervalles,

graphes eulériens, hamiltoniens, et bien d’autres... cf. graphclasses.org

Par exemple : le problème de coloration est un problème difficile à résoudre mais facile pour les arbres, les graphes bipartis et d’autres

(32)

Graphes particuliers : arbres

Définitions

SoitG= (V,E)un graphe non orienté G arbre :siGest connexe et acyclique nœuds/branches :sommets/arêtes de l’arbre

feuilles/nœuds internes :nœuds de degré 1/nœuds de degré>1 G forêt :siGest acyclique (plusieurs arbres)

feuilles

internes

un arbre

une chaîne

une étoile une forêt

Remarque : Les chaînes et les étoiles sont des arbres

(33)

Propriétés des arbres

Théorème

Tout arbreT = (V,E)vérifie|E|=|V| −1 (preuve par récurrence)

Théorème

Tout grapheG= (V,E)possédant deux de ces propriétés est un arbre : Gest connexe

Gest acyclique

|E|=|V| −1

Autres propriétés des arbres SiT = (V,E)est un arbre, alors

Il existe un unique chemin entre chaque paire de nœuds de l’arbre T graphe connexe minimal: enlever une arête rendT non connexe T graphe acyclique maximal : ajouter une arête crée un cycle les branches sont des isthmes

(34)

Graphes particuliers : arbres enracinés

Définitions

SoitG~ = (V,E)un graphe orienté

G arbre enraciné :~ graphe connexe et acyclique avec un unique nœud (appelé racine) de degré entrant nul

parents/fils :voisins entrants/sortants

racine

un arbre enraciné

Remarque : les nœuds (différent racine) ont un degré entrant égal à 1

(35)

Graphes particuliers : graphes bipartis

Définitions

SoitG= (V,E)graphe non orienté

G graphe biparti :s’il existe une bi-partition{S,T}deV tel que

∀{u,v} ∈E, u∈S,v ∈T

les graphesG[S]etG[T]sont des graphes sans arêtes

H P R

D E F

A B

graphe biparti

completK3,3 graphes bipartis graphes non bipartis

(36)

Propriétés des graphes bipartis

Proposition [König, 1916]

Un graphe est biparti ssi il ne contient pas de cycle de longueur impaire

Conséquences

Les cycles pairs et les arbres sont des graphes bipartis

Propriétés

Un graphe est biparti ssi il est 2-coloriable

(37)

Graphes particuliers : graphes planaires

Définitions

SoitG= (V,E)graphe non orienté

G graphe planaire :il existe une représentation dans le plan tel qu’aucune arête ne se croise

face :région connexe du plan délimitée par des arêtes

1

2 3

4 1

3 2 4

faces

face extérieur

1 2

3 4 5

1 2 3

4 5

graphes planaires

K5 K3,3

graphes non planaires

Remarque : Les cycles et les arbres sont des graphes planaires

(38)

Propriétés des graphes planaires 1/3

Formule d’Euler

SoitG= (V,E)graphe non orienté planaire avecn=|V|,m=|E|etf le nombre de faces. Alors, siGest connexe, on a :

n−m+f =2 SiGpossèdec composantes connexes, on a :

n−m+f =c+1

Corollaire

SoitGgraphe planaire simple et connexe, alors on am≤3n−6 Conséquence :K5n’est pas planaire

Corollaire

SoitGgraphe planaire simple et connexe, alorsGcontient au moins un sommet de degré 5

Conséquence :Gest 6-coloriable

(39)

Propriétés des graphes planaires 2/3

Définitions

SoitG= (V,E)graphe non orienté

subdivision élémentaire d’une arête e∈E :

graphe obtenu en remplaçant une arêteedeGpar une chaîne

i j i j

subdivision de G :

graphe obtenu après plusieurs subdivision élémentaires

Théorème de Kuratowski [Kuratowski, 1930]

Un graphe est planaire ssi il contient pas de subdivision deK5ouK3,3

Graphe de Petersen Non planaire Gcontient une subdivision deK3,3

(40)

Propriétés des graphes planaires 3/3

Définitions

SoitG= (V,E)graphe non orienté

contraction de sommets adjacents u,v ∈V :graphe obtenu en remplaçant{u,v}par un sommetw avecδ(w) =δ({u,v})\ {u,v}

u v w

contraction de G :

graphe obtenu après plusieurs contractions de sommets Théorème de Wagner [Wagner, 1937]

Un graphe est planaire ssi il contient pas de contraction deK5ouK3,3

Graphe de Petersen Contraction deGdonneK5

Références

Documents relatifs

Théorème : propriété de la somme des degrés (lemme des poignées de main). La somme des degrés de tous les sommets d’un graphe est égale au double du nombre total

L’archive ouverte pluridisciplinaire HAL, est destinée au dépôt et à la diffusion de documents scientifiques de niveau recherche, publiés ou non, émanant des

Le quatrième chapitre comprend un résultat important que nous avons obtenu : la caractérisation des graphes chain-probe, qui sont les graphes auxquels il est possible de rajouter

Résoudre le problème de la distance d’édition entre graphes avec les matheuristiques.. Mostafa Darwiche, Romain Raveaux, Donatello Conte,

Nous avons proposé une caractérisation des stables extensibles et des d-extensibles dans les graphes bipartis, ainsi que des bornes inférieures du cardinal maximal

1 Commencer par écrire un programme qui compte, pour tout entier k compris entre 0 et MAX_VAL le nombre d’occurrences de la valeur k dans la table.. 3 Remarquer que vider une

On dénit un graphe non orienté comme étant un ensemble de paires (parties à deux éléments) d'un ensemble E.. Formulez et démontrez un résultat analogue au théorème de Mantel pour

On dénit un graphe non orienté comme étant un ensemble de paires (parties à deux éléments) d'un ensemble E.. Formulez et démontrez un résultat analogue au théorème de Mantel pour