Telechargé par Iratni Mounira

orca share media1582391253880

publicité
UNIVERSITE M.MAMMERI
Département d’Informatique T. Graphes
CHAPITRE III : Graphe planaire / indicateurs ds un graphe / P. affectation
Partie I : Graphes planaires
Problème posé : ‘Problème des 3 villas’
I-1)
Fournir du gaz ,de l’électricité , et de l’eau pour les 3 villas .
** Peut-on résoudre ce problème sans avoir aucun croisement ?
** Non , on ne peut pas sur le plan il y a au moins un croisement
la solution est possible dans R3 (espace) .
Déf : Un graphe est dit planaire , si on peut le représenter sur une
surface plane (plan ) , sans que ses arêtes (arcs) ne se coupent sauf aux
sommets du graphe .
I-1-2)
Résultat général ( Kuratowski )
Déf : On appelle subdivision d’un graphe G, un sous graphe partiel de G.
Résultat
Un graphe G est planaire si et seulement si , G ne possède pas
de subdivision K5 ou K3,3.
Exemples
5
1°) K3,3
2°) K4
1
1
2
1
2
4
2
5
3
I-1-3)
I-1-4)
3°) K5
6
3
4
3
K4 : planaire ; K3,3 , K5 : non planaire
4
Définitions : (Face, frontière , contour , face illimitée) : Voir T.D
Résultats :
1) Théorème :
Soit G = ( X,U) , un graphe planaire ,alors l’ensemble des
contours des faces finies forment une base de cycle de G.
Démons : (C. Berge , M405)
1
2) corollaire 1 : ‘ Formule d’ Euler ‘
G = (X,U) , planaire ,connexe
X= n , U = m
f = Nb de face de G (face infinie incluse) Alors
n-m+ f = 2
Démons :
Posons : f ’ = Nb de faces finies de G .
f ’ = (G)
Nb cyclomatique
f’ = m-n +1 ( cardinal de la base de cycles )
f = f ’ +1  f = (m – n +1 ) + 1 = m- n +2

n-m +f = 2
C.Q.F.D
4 ) Corollaire 2 :
X= n , U = m
Soit G =(X,E) , un graphe simple planaire
Alors :
 x  X / dG(x)  5
Démons : ‘ Par l’ absurde ’
Supposons que G est connexe et
*  x X
dG(x)  6
 xX
, dG(x)  6

 dG(x)  6n
x X
Sachant que :  dG(x) = 2m , on a : 2m  6n  n  2m/6 = m / 3
x X
(2)
formule d’Euler
* G est planaire
n-m + f = 2
Calculons n – m +f = ?
(1) et (2)  n – m +f  m / 3 –m + 2m / 3 = 0  2
Contradiction
G planaire , il doit vérifier
la formule d’ Euler
Donc :
 x  X / dG(x)  5
C.Q.F.D
2
3) Relation Face -arête
Posons
N = Ensemble des arêtes définies par la liaison : faces
( fi )
N ={Ensemble des arêtes nécessaire pour toutes les faces}
Exemple
arêtes
ei
2
A = {faces de G} ; B = {arêtes}
f = nb de faces
G: 1
f2
A = (fi)
f1
3
B = (ei)
f1
( 1, 3)
4
(3,4)
fI ( face infinie)
(1,4)
f2
(1,4)
(1,2)
fI
(2,4)
Graphe biparti d’incidence faces – arêtes
En lisant le tableau comparatif ,on peut déduire que :
1) Une face est définie par au moins 3 arêtes ( 1 face
3 arêtes )
 N  3f
(2) Une arête est commune à au plus 2 faces ; elle est comptée 2 fois par rapport
au nb de faces . ( 1 arête
2 faces )
correspond

Donc :
N  2m
N  3f

2m  3f

f  2m / 3
(1)
N  2m
4)
Vérification de la structure planaire du graphe K5
Supposons K5
planaire :
formule d’Euler
* G est planaire
n-m + f = 2
3
Calculons n – m +f = ?
(1) et (2)  n – m +f  n – m +2 m / 3 = 5 – 10+20/ 3 = 5 / 3  2
Contradiction
Donc K5 n’est pas planaire
Rmq : K5 : Nb de sommets : 5 ; Nb d’arêtes : 10
III-1-5 )
Graphe dual :Définition , construction : Voir T.D
Théorème
Un cycle élémentaire dans G est un cocycle élémentaire dans G*
et inversement
Partie II : Indicateurs dans un graphe
II –1) Stabilité – nb chromatique (cas des graphe planaires ) – Noyau
II-1-1) Stabilité interne ds un graphe – nb chromatique
: X
x
X’  X est intérieurement stable si :
a) Stabilité interne :
Déf :
G = (X,U) ;
 xX’ ,
X
 x = (x)
 x  X’ = 
Dans le S/ graphe défini par X’ , il n’existe pas d’arcs .
Conséquence :
a1) Coefficient (nb) de stabilité interne
1( G)= max X’
X’ int-stable
De G
a2) S / ensembles int- stable maximaux
Maximalité :
X’ est int-stable :
Soit x  X’ alors X’  { x} n’est pas int-stable
3
Exemple :
1
2
6
5
{ 3,5} : S/ens int-stable
maximal
{4 ,6,3} :
S/ens int-stable
maximum
4
4
b) Nombre chromatique : noté  (G)
Déf : C’est le nombre minimum de couleurs ,coloriant les sommets d’un graphe
tels que 2 sommets adjacents n’aient pas la même couleur .
Cas des graphes planaires :
1) Résultat
Le nombre chromatique dans un graphe planaire

2)
 5
 (G)  5
Conjecture des 4 couleurs (1852 - 1976)
On peut colorier n’importe quelle carte géographique telle que
le maximum du nombre minimum de couleurs soit 4 , c .a .d
 (G)  4.
Cette conjecture a été démontrée en 1976 par Kenneth - Appeld -Wolfgang-Haken
II-1-2) Stabilité –externe - Noyau
a) Stabilité – externe :
Rmq :
G= (X,U)
X’  X est un s/ ensemble –extérieurement stable si :
__
+
 x  X ’ , x  X ’  
X ’ est dit aussi ensemble absorbant .
Exemple : ‘ Problème des radars ’
(C. Berge )
Enoncé : Un certain nb de points stratégiques x1,x2,….. (cellules) sont surveillées
par des unités militaires pourvues de radars . Par exemple , une unité
placée ds la cellules x4 peut également surveiller avec son radar
les cellules x1, x2, x3 (voir G) ; de même pour x2 qui peut surveiller
x3 et x5 , etc …
Problème :
Quel est le nombre minimum d’unités nécessaires pour
surveiller toutes les cellules ?
Solution : C’est le nombre de stabilité externe 2( G)
x1
G:
x4
A = { x2,x4}
x3
x5
x2
Dans cet exemple 2( G) = 2 donc , deux radars suffisent pour contrôler
toutes les cellules ( on peut le vérifier sur G ).
5
a1) Coefficient de stabilité externe :
2( G) = min X’
X’ ext-stable
De G
a2)
S / ensembles ext- stable minimaux
Minimalité : X’ est ext-stable :
Soit x  X’ alors X’ - { x} n’est pas ext-stable
b) Noyau dans un graphe
b1)
Déf :
G=(X,U) un 1-graphe ; X ’  X
X ’ est un noyau de G ,s’il vérifie à la fois :
1) X ’ int-stable
2) X ’ ext-stable
Donc , X ’ vérifie simultanément :
 x  X ’ alors
__
 x  X ’ alors
x  X ’ = 
+
x  X ’  
Conséquences
1°)
Dans X ’ ,il n’y a pas d’arcs .
__
2°) Chaque sommet de X ’ admet un successeur dans X ’ .
b2)
Théorème
Alors
Démons :
Soit G =(X,U) ,un 1-graphe , orienté , sans circuit
G possède un noyau unique .
( voir C. Berge )
Basée sur l’existence dans G (sans circuit) des différents niveaux ,
ce qui permet de mettre en évidence un noyau .
6
Partie III : Problème d’affectation
III-1) Position du problème
Soient n personnes et n tâches
P = { p1,p2, …..,pn} : ensemble des personnes
T = { t1,t2,…..,tn}
: ensemble des tâches
** Il s’agit de répartir les différentes tâches entre les différentes personnes
en tenant compte des préférences de chaque personne aux différentes tâches
** La préférence d’une personne Pi à la tâche tj est représentée
par un nombre noté aij .
Modélisation
Les éléments de la matrice A = (aij) i , j=1,n constituent la matrice
A(n x n) qui modélise le problème posé .
A est appelée matrice d’affectation .
Objectif : Affecter de manière optimale chaque personne à une tâche au sens
de la satisfaction générale . (en satisfaisant au mieux chaque personne)
III-2) Lien avec la notion de couplage et de transversal
III-2-1 Notion de couplage
Déf : Soit G = (X,U) un multigraphe .
Un couplage de G est un ensemble d’arêtes E’  E /  e’1 ,e’2  E’
e’1 et e’2 ne sont pas adjacentes.
Exemple G :
x2
x1
e4
e5
E1 = { e2,e4}
e1
x5
e3
e2
x3
x6
e6
E2 ={ e2,e4,e6}
E2 est maximal , E1 ne l’est pas
x4
III-2-2 Notion de Transversal
Déf : Soit G =( X,E) , T X : un ensemble de sommets ; T est un transversal de G
si toute arête de E est incidente à , au moins , un sommet de T.
Pour G : T1 = { x1,x3,x4,x5} ; T2= { x1,x3,x5} T2 est minimal ,T1 est ne l’est pas
Problème : Déterminer un couplage maximum et un transversal minimum
7
Théorème
E max =Max  E
T min = Min T
E COUPLAGE
Si
 E 0  = T 0 
alors
T TRANSVERSAL
E 0 = E max
et
T 0 = T min
Problème d’affectation en termes de couplage
III-2-3)
Soient X et Y deux ensembles finis tels que
et une application  : X x Y
N
(x,y)
 (x,y)
X = Y
Déf : On appelle affectation , un couplage E de X sur Y dont le coût est défini
par la valeur de la fonction
L(E) =   (x,y)
(x,y) E
La détermination de l’affectation optimale (valeur minimale) revient à déterminer
un couplage maximum de coût minimum .
Ce qui peut revenir aussi à déterminer un transversal minimum de coût minimum .
Graphiquement on a :
Graphe biparti valué , X et Y deux s/ens de sommets de G tels que :
X={ Pi , i=1,n} : Personnes
P1
.
.
.
a12
t1
* Les arêtes ( P1t1 , Pitj , Pntn)
forment un couplage
* Une arête Pitj est valuée par aij = (x,y)
avec
x= Pi , x  X
y = tj , y  Y
.
.
Pn
Y ={ tj , j=1,n} : tâches
a11
t2
Pi
.
. an1
,
tj
aij
ann
tn
* La valeur de l’affectation
V(aff) =  aij
aij =  (x,y)
(x,y) E
8
III-3 ) Méthode Hongroise
La minimisation correspond au cas où le classement des tâches
se fait dans l’ordre croissant . A la plus grande préférence ,on associe
la valeur ‘1’.
But
Soit A = ( aij) , i=1,n la matrice d’affectation
J=1,n
Il s’agit donc de minimiser la valeur de l’affectation V(Aff) =  aij
i,j / Pi
On dit aussi , déterminer l’affectation de coût minimal.
tj
* La résolution de ce problème est basée sur la notion de ‘0’ indépendants .
Déf
‘Zéros indépendants’
On appelle ‘Zéros’ indépendants des ‘0’ qui n’appartiennent ni à la même
ligne ,ni à la même colonne .
Exemple :
A =
0 3 0
0 2 4
3 0 0
Les ‘0’ encadrés sont indépendants .
III-3-1 )Description globale de l’algorithme : Méthode Hongroise
1)
L’algorithme est basé sur la détermination des zéros sur chaque ligne
et chaque colonne de la matrice d’affectation .
2)
L’affectation d’une personne à une tâche peut se faire en choisissant
un ‘0’ sur une ligne ou une colonne , les autres ‘0’ sont barrés .
3)
Pour que chaque personne soit affectée à une et une seule tâche ,
il faut choisir des ‘0’ indépendants .
But de l’algorithme :
Obtenir n zéros indépendants à la fin
de l’application de l’algorithme
9
III-3-2 )
Etapes de Algorithme Hongrois de minimisation
Début :
Etape 1 :
1-1) Création d’au moins un ‘0’ sur chaque ligne et chaque colonne de la
matrice . Pour cela , on retranche le plus petit élément d’une ligne ( colonne) à
tous les éléments de la ligne (colonne).
1-2)
1-3)
Pour chaque colonne (ou ligne ) , choisir un ‘0’ en l’encadrant puis barrer
ceux qui se trouvent sur la même ligne ( ou colonne ) .
Si on a obtenu n ‘0’ indépendants , alors l’affectation est optimale ,
elle est obtenue comme suit :
*
Si un ‘0’ encadré correspond à ai0j0 ( dans la matrice initiale )
alors la personne pi0 est affectée à la tâche tj0
*
La valeur de l’affectation v(Aff) =
*
Aller à la fin de l’algorithme
ai0j0 de la matrice initiale .
1- 4) Si on n’a pas obtenu n ‘0’ indépendants on passe à l’étape 2
Etape 2 :
2- 1) Marquer toute ligne ne contenant pas de ‘0’ encadrés .
2- 2) Sur chaque ligne marquée ,marquer toute colonne contenant un ‘0’ barré.
2- 3) Sur chaque colonne marquée , marquer toute ligne contenant un ‘0’ encadré
2- 4) Reprendre à partir de 2 –2) jusqu’à ce qu’on ne puisse plus marquer
ni de ligne ni de colonne .
2- 5) Barrer toutes les lignes
non marquées et les colonnes marquées .
2-6) on considère les éléments (rij) non barrés de la matrice ,
soit a , le plus petit d’entre eux
6-1)
A chaque élément rij retrancher a : r’ij = rij –a
6-2)
A tous les éléments barrés 2fois ,ajouter a : a’ij = aij + a
10
2-7)
On intègre les nouveaux éléments calculés dans A et on choisit
de nouveaux ‘0’ pour les lignes ne contenant pas encore de ‘0’ encadrés .
Si la solution n’est toujours pas optimale (on n’a pas n ‘0’ indépendants),
on reprend l’algorithme à partir de l’étape 2 sur la dernière matrice .
FIN
Exemple : On commence par traiter les lignes
n= Nb de lig = Nb de col
Etape 1
t1
P1
A1 = P2
P3
P4
P5
t2
t3 t4 t5
1 2 1 4 3
4 5 3 2 5
5 2 4 3 1
6 4 5 2 6
7 6 8 5 1
-1
-2
-1
-2
-1
A2 =
0
2
4
4
6
1
3
1
2
5
Etape 2
0
1
3
3
7
3
0
2
0
4
2
3
0
4
0
-1
0
2
4
4
6
A3=
2
0
2
0
1
4
0
1
3
3
7
*
3 2
0
3
2 0
0 4
4
0
2
1
-
3
*
Nb de zeros encadrés =4<n=5
donc sol non optimale,
passer à l’étape 2
*
a =1
1
1
0
-
2
3
0
2
-
3
rij – a =
Matrice rij =
4 1
Eléments barrés deux fois
3
-
4
a’14 = a14 + 1 = 3+1 =4
a’35 = a34 + 1 = 2 + 1 = 3
a’54 = a54 + 1 = 4 +1 = 5
Nouvelle matrice
A 3=
0
2
4
4
6
0 0 3 2
2 1 0 3
0 3 2 0
1 3 0 4
4 7 4 0
A4 =
0
1
4
3
6
0
1
0
0
4
0 4 2
0 0 2
3 3 0
2 0 3
7 5 0
On a 5 ‘0’ indépendants , donc l’affectation est optimale
11
Solution
a11 =1
a32 =2
P1
t1
P3
a23 =3
a55= 1
t2
P5
t5
a44 =2
P2
t3
P4
t4
Valeur de l’affectation :
V(Aff) =  aij
i,j / Pi
= a11 +a23 + a32 + a44 + a55 = 9
tj
III-3-3 ) Cas d’une matrice rectangulaire [A(m,n)]
Cas 1 :
Situation suivante :
Parmi les
1°)
2°)
Exemple
n tâches
Nombre de personnes < nbde tâches
m
<
n
, m seulement sont assurées par les m personnes .
Il suffit d’ajouter (n-m) lignes de zéros , ceci revient
à créer (n-m) personnes fictives avec des valeurs aij = 0 .
Appliquer l’alg .
1
2
3
4
4
1
3
2
A=
Cas 2 :
A=
1
4
0
0
2
1
0
0
3
3
0
0
4
2
0
0
Nb de tâches < nb de personnes
n <
m
Parmi les m personnes , n seulement seront affectées aux n tâches .
1°)
Ajouter (m-n) colonnes de zéros , ce qui revient à créer
( m-n) tâches fictives avec aii = 0 .
2°) Appliquer l’alg .
Exemple
A =
1
2
3
4
1
19
A =
1
2
3
4
1
19
0
0
0
12
III- 4)
Problème de maximisation
Il est résolu en passant par la minimisation .
Soit A = {aij} i=1,n
j=1,n
matrice d’affectation
1°) Calculer
M = max ( aij) i, j =1,n ; aij  + 
2°) Calculer une nouvelle matrice
B/
B =( bij) i,j =1,n
avec bij = M- aij i,j =1,n
3°) Si aij = +  alors bij = + 
4°) Appliquer l’alg .
aij  + 
Exemple
A =
Rmq :
20
6
10
8
0
13 2
12 3
max aij = 20
B =
0 12 20
14 7 18
10 8 17
Dans le cas où la matrice n’est pas carrée , on construit d’abord
la matrice B , on ajoute par la suite les lignes ou les colonnes de zéros .
13
Téléchargement