Algorithmes dynamiques pour les graphes plongés sur des surfaces

Master 2 - Sp´ecialit´e informatique fondamentale.
Algorithmes dynamiques pour les
graphes plong´es sur des surfaces
10 Juin 2013
Vincent DESPRE
encadr´e par
Francis LAZARUS
Table des mati`eres
1 Cadre de l’´etude 2
1.1 Graphes plong´es ......................................... 2
1.1.1 Principe .......................................... 2
1.1.2 Les diff´erents types de cycles .............................. 3
1.1.3 D´ecomposition arbre-coarbre .............................. 4
1.2 Les algorithmes statiques .................................... 5
1.2.1 Applications directes de la d´ecomposition arbre-coarbre ............... 5
1.2.2 Condition des 3 chemins (3-path condition) et d´ecoupages .............. 6
1.3 Algorithmes dynamiques ou utilisant des m´ethodes dynamiques ............... 6
1.3.1 Plus courts chemins `a sources multiples ........................ 6
1.3.2 Base d’homotopie dynamique .............................. 7
2´
Etude des arbres dynamiques 8
2.1 Cadre ............................................... 8
2.2 Splay-Trees ............................................ 8
2.2.1 Id´ee ............................................ 8
2.2.2 Op´erations ........................................ 9
2.2.3 Application aux link-cut trees .............................. 9
2.3 Euler-Tour Trees ......................................... 9
2.3.1 Op´erations ........................................ 9
2.3.2 Fonctionnement ...................................... 10
2.4 Top-Trees ............................................. 10
2.4.1 Fonctionnement ...................................... 10
2.4.2 Op´erations ........................................ 11
2.4.3 D´efauts .......................................... 11
3 Du statique vers le dynamique 11
3.1 Cadre de l’´etude, premi`eres remarques ............................. 11
3.1.1 Probl`eme ´etudi´e ..................................... 11
3.1.2 Remarques pr´ealables .................................. 12
3.2 Premi`ere approche ........................................ 12
3.2.1 Id´ee ............................................ 12
3.2.2 Plus courts chemins pour toutes les paires ....................... 13
3.2.3 Plus courts chemins dynamiques de base fix´ee ..................... 13
3.3 Nombre de pivots ......................................... 14
3.3.1 Pour un arbre de plus courts chemins donn´e ...................... 14
3.3.2 Sur l’ensemble des arbres de plus courts chemins ................... 14
3.3.3 R´esultat .......................................... 16
3.3.4 Arbres couvrants ..................................... 16
3.4 Autres approches ......................................... 16
3.4.1 Autres algorithmes envisag´es .............................. 16
3.4.2 Division d’un plus court chemin ............................ 17
3.4.3 Utilisation ......................................... 19
4 Conclusion 19
1
esum´e
Le rapport de stage suivant d´ecrit le travail effectu´e pour un stage de M2 r´ealis´e dans l’´equipe
AGPIG du laboratoire Gipsa-Lab de l’universit´e de Grenoble encadr´e par Francis Lazarus. Le sujet du
stage ´etait le suivant : Aspects dynamiques de l’algorithmique des surfaces combinatoires.
Le premier chapitre pr´esente le cadre de l’´etude. On s’int´eresse `a des graphes plong´es sur des surfaces.
Apr`es avoir d´ecrit plus pr´ecis´ement ce cadre, on r´ealise un petit ´etat des lieux des algorithmes connus `a
l’heure actuelle dans le domaine. Ensuite le deuxi`eme chapitre d´ecrit la structure de donn´ee qui permet
de traiter de nombreux algorithmes dynamiques : les arbres dynamiques. Enfin la derni`ere section
d´ecrit le travail qui a ´et´e effectu´e `a partir de cet ´etat des lieux. L’id´ee de base ´etait d’appliquer une
m´ethode similaire `a celle d’Eppstein d´ecrite dans l’article : Dynamic generators of topologically
embedded graphs [8] `a d’autres algorithmes d´ecrits au premier chapitre. Il utilise la structure de
donn´ees du deuxi`eme chapitre qui semble incontournable pour l’´etude des probl`emes dynamiques. Les
r´esultats de la derni`ere section sont plutˆot n´egatifs pour une approche classique de la complexit´e dans
le pire des cas. Plusieurs contre-exemples permettent de s’assurer de la difficult´e du probl`eme.
1 Cadre de l’´etude
1.1 Graphes plong´es
1.1.1 Principe
Notations On note G= (V, E) un graphe constitu´e d’un ensemble de sommets Vet d’un ensemble
d’arˆetes E. On notera nle nombre de sommets et mle nombre d’arˆetes du graphe. Les arˆetes sont des
couples de sommets, on dispose donc d’une orientation correspondante. Beaucoup de r´esultats n´ecessitent
que le graphe soit non-orient´e, ce qui signifie que Edoit contenir les oppos´es de toutes ses arˆetes. Sauf
mention contraire, les graphes mentionn´es seront pond´er´es, c’est `a dire qu’il existera une fonction poids
w:ER
+strictement positive.
Plongement ´
Etant donn´e un tel graphe G, on dit qu’il y a un plongement de Gdans une surface Ssi
on peut dessiner le graphe Gsur la surface S. Plus pr´ecis´ement, on veut que chaque sommet de Gsoit
identifi´e `a un point de Set qu’il existe des fonctions continues Puv : [0; 1] Spour chaque arˆete uv E
telles que : Puv (0) = uet Puv (1) = v. On demande de plus que tous les Puv (]0; 1[) soient disjoints et ne
contiennent pas de point de Sidentifi´e `a un sommet de V[17].
Classification des surfaces On parle de vari´et´es compactes de dimension 2. Pour les ´etudes qui nous
int´eressent le plan a des propri´et´es comparables `a S2, on parlera donc du plan bien qu’il ne soit pas
compact. On a, pour commencer, 2 grandes cat´egories de surfaces. Celles qui disposent d’une orientation
continue sur l’ensemble de la surface (on rappel qu’une orientation est une fonction qui, `a chaque point
xS, associe un couple de vecteurs unitaires orthogonaux de l’espace tangent `a S en x) sont dites
orientables. Il existe des surfaces qui n’ont pas cette propri´et´e, comme le ruban de M¨obius, elles sont alors
dites non-orientables. Ensuite, le th´eor`eme de classification des surfaces nous dit qu’une surface est d´efinie
`a hom´eomorphisme pr`es par son orientabilit´e et un nombre entier qu’on appelle le genre de la surface [19].
Ainsi, le plan est de genre 0, le tore de genre 1, le double-tore de genre 2, etc.
Outils correspondants La premi`ere information qu’on obtient quand on a un plongement pour un
graphe Gdonn´e, est une relation entre son nombre de sommets n, son nombre d’arˆetes met son nombre
de face f:
D´efinition 1 (Caract´eristique d’Euler).Pour un graphe Gplong´e dans une surface Sde genre get avec
les notations d´ecrites pr´ec´edemment, on d´efinit la caract´eristique d’Euler χpar :
χ(g) = nm+f
2
o`u χ(g)=22gsi Sest orientable et χ(g) = 2 gsinon.
Vient ensuite le probl`eme du genre du graphe qui est le plus petit entier gtel que Gse plonge dans une
surface de genre g. Le probl`eme de d´ecision correspondant est NP-complet [17]. On va donc s’int´eresser `a
des plongements donn´es ayant la propri´et´e suivante :
D´efinition 2 (Plongement cellulaire).On dit qu’un plongement est cellulaire si la surface priv´ee de
l’image du graphe est une union de disques.
Surfaces combinatoires On va alors consid´erer le probl`eme d’un autre point de vue. En partant du
graphe, on va construire une surface dans laquelle le graphe est naturellement plong´e cellulairement [17].
On divise chaque arˆete en demi-arˆete et on attribue chaque demi-arˆete au sommet auquel elle est rattach´ee.
Chaque sommet d´etient alors un certain nombre de demi-arˆetes.
D´efinition 3 (Syst`eme de rotations).Pour chaque sommet, on va d´efinir une permutation circulaire
de l’ensemble des demi-arˆetes qu’il poss`ede. La donn´ee de toutes ces permutations pour l’ensemble des
sommets du graphe est appel´e syst`eme de rotation.
On d´efinit alors une surface en consid´erant les arˆetes comme des bandes et en les recollant tout en
respectant le syst`eme de rotation. La surface obtenue dispose par construction d’un plongement cellulaire
du graphe de d´epart. Il est facile de savoir si une surface ainsi construite est orientable ou non et on
obtient le genre de la surface grˆace `a la caract´eristique d’Euler. R´eciproquement, un plongement cellulaire
explicite d’un graphe peut se traduire en terme de surface combinatoire en d´efinissant un syst`eme de
rotation `a l’aide du positionnement des images des demi-arˆetes dans un voisinage de l’image du sommet.
1.1.2 Les diff´erents types de cycles
Courbes On consid`ere les courbes Csur une surface Sd´efinies par une application continue fCde
[0; 1] dans S. Une courbe est un lacet si, et seulement si, fC(0) = fC(1). Cette courbe est simple si, et
seulement si, fCest injective sur [0; 1[. On dit que deux courbes C1et C2sont librement homotopes s’il
existe une application continue Hde [0; 1] ×[0; 1] dans Stelle que H(0, .) = fC1et H(1, .) = fC2.
Cas des graphes plong´es Dans le cadre des graphes plong´es, on va consid´erer des cycles correspondant
`a des chemins d’arˆetes. Un tel cycle est simple si elle n’a pas de croisement. Un croisement est une notion
d´elicate `a d´efinir. On va choisir une approche g´eom´etrique pour comprendre le ph´enom`ene. Ainsi, ´etant
donn´e un voisinage tubulaire quelconque de l’intersection de 2 cycles, on va consid´erer que 2 cycles ne se
croisent pas si on peut les transformer en courbes disjointes grˆace `a une homotopie. Sur l’exemple suivant,
on voit le cas de 2 courbes C1 et C2 qui ont une intersection non-vide :
C1
C1
C1
C1 C2
C2
C2
C2
Figure 1 – 2 orientations diff´erentes pour les cycles C1 et C2.
Sur l’exemple de gauche on va pouvoir trouver une perturbation qui s´epare les courbes alors que ce ne
sera pas le cas pour la seconde configuration (figure 2). D’une fa¸con g´en´erale, on va plus s’ineresser au
nombre de croisements entre deux courbes qu’au nombre d’intersections entre celles-ci.
3
C1
C1
C2
C2
C1
C1
C2
C2
Figure 2 – Les courbes de gauche ne se croisent pas contrairement `a celles de droite.
Types de cycles On distingue plusieurs natures diff´erentes pour les cycles de la surface :
D´efinition 4 (Cycle contractile).On dit qu’un cycle est contractile si, et seulement si, il est homotope `a
un point. De mani`ere ´equivalente,on peut consid´erer qu’il borne un disque topologique.
Sur la sph`ere, tous les cycles sont contractiles. On va souvent dire que ces cycles sont triviaux et on
va surtout s’int´eresser aux cycles qui ne sont pas contractiles. On consid`ere ensuite la propri´et´e suivante :
D´efinition 5 (Cycle s´eparateur).Un cycle est dit s´eparateur si, et seulement si, la surface priv´ee de ce
cycle a 2 composantes connexes.
C1
C3
C2
Figure 3 – Les diff´erents cycles.
Il est clair qu’un cycle contractile est s´eparateur, il est moins
naturel d’imaginer des cycles non-contractiles puisqu’ils n’en exis-
tent pas sur la sph`ere. Sur un double-tore (surface de genre 2), on
peut voir toutes les configurations possibles comme le montre la
figure ci-contre. Le cycle C1 est contractile et donc s´eparateur. C2
est un cycle non-contractile et non-s´eparateur, on peut d´ej`a trouver
ce type de cycle sur un tore simple. C3 est dans une configuration
particuli`ere qui n´ecessite une surface de genre 2 car il est s´eparateur
mais non-contractile, il est n´ecessaire que le genre de chaque partie
r´esultant du d´ecoupage le long de C3 soit non-nul pour que ce cycle
ne soit pas contractile, le genre 2 est donc bien minimal. On a alors la d´efinition suivante :
D´efinition 6 (Cycle de partage).On dit d’un cycle s´eparateur non-contractile qu’il est un cycle de
partage.
1.1.3 ecomposition arbre-coarbre
Dual d’un graphe ´
Etant donn´e un graphe plan G, on note Gson dual. Les sommets de Gsont les
faces du graphe Get on cr´ee une arˆete epour chaque arˆete ede G.erelie alors les 2 faces adjacentes `a
edans G. Cette notion habituelle des graphes planaires peut s’´etendre sans probl`eme au graphes plong´es
sur des surfaces de genre non-nul.
Arbre de recouvrement Un arbre de recouvrement de Gest un sous-arbre qui contient tous les
sommets de G. On parle souvent d’arbre de recouvrement minimal quand on cherche `a minimiser la
somme des poids des arˆetes. On obtient un arbre de recouvrement quand on construit un arbre de plus
courts chemins ind´ependamment du choix de la base.
Structure du dual On le note (GT), le graphe dual auquel on a retir´e les arˆetes d’un arbre de
recouvrement T. Dans le cas des graphes planaires, (GT)est un arbre, on parle donc de d´ecomposition
arbre-coarbre. Dans le cas des graphes plong´es sur une surface de genre g, on obtient un arbre et 2garˆetes
suppl´ementaires (le nombre d’arˆetes suppl´ementaires est une cons´equence directe de la caract´eristique
d’Euler).
4
1 / 21 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !