Chapitre 7 Optimisation et homotopie

publicité
Chapitre 7
Optimisation et homotopie
7.1
7.1.1
Calcul d’une base optimale du π1
Cas des graphes
Suivant la discussion qui précède la proposition 6.2.4, on peut construire une base libre
{γeT }e∈E 0 de π1 (G, x) à partir
P des arêtes complémentaires d’un arbre maximal en temps
proportionnel à la taille e∈E 0 |γeT | de cette base. Remarquons cependant que toutes les
bases de π1 (G, x) ne proviennent pas nécessairement d’une telle construction.
Peut-on calculer efficacement une base de taille minimale ? Existe-t-il une base minimale
associée à un arbre couvrant ? Avant de répondre (positivement) à ces deux questions
“géométriques”, donnons un petit lemme préparatoire :
Lemme 7.1.1 Soit L un groupe libre de rang fini n et {x1 , x2 , . . . , xn } une base de L.
Alors pour toute base {u1 , u2 , . . . , un } de L, il existe une permutation σ de [1, n] telle que
xi apparaît dans l’expression réduite de uσ(i) en fonction des xj .
Preuve : Soit f l’automorphisme de L défini par f (xi ) = ui . Par passages aux quotients,
f défini un automorphisme du groupe libre commutatif de rang n, L/[L, L]. Il suffit donc
de prouver la propriété pour les automorphismes de Z-modules de rang n. Or la matrice
d’un tel automorphisme est inversible, donc de déterminant non nul. L’un des n! termes
de l’expression usuelle du déterminant est donc non nul, ce qui exprime précisément la
propriété recherchée.
2
Proposition 7.1.2 Soit x ∈ V un sommet d’un graphe connexe fini G, alors la base de
π1 (G, x) associée à l’arbre de tout parcours en largeur de G à partir de x est de taille
minimale.
Preuve : Soit T l’arbre d’un parcours en largeur à partir de x et soit E 0 l’ensemble des
cordes de T dans G. Par définition de T , on a que pour tout sommet y ∈ V , la distance
T
de x à y dans G coïncide avec cette distance dans T , i.e. avec |γx,y
|. Pour tout e ∈ E 0 ,
54
7.1. Calcul d’une base optimale du π1 . Francis Lazarus. 31 mai 2012
55
on remarque donc que {γeT } est un lacet de point base x contenant e de taille minimale
avec cette propriété.
Considérons une base B de π1 (G, x). D’après le lemme préparatoire, les éléments de la
base BT = {γeT }e∈E 0 peuvent être mis en bijection avec les éléments de B de sorte que
γeT apparaisse dans l’expression réduite (dans BT ) de son correspondant dans B. On
en déduit que e apparaît dans tout lacet représentant ce correspondant, et la remarque
précédente permet de conclure.
2
Exercice 7.1.3 Montrer, sans utiliser la notion de groupe, que parmi toutes les bases
associées à des arbres couvrants, celles associées à des parcours en largeur sont de taille
minimale.
Solution : On note dG (y) (resp. dT (y)) la distance de y à x dans G (resp. dans T ). Soit y tel que
dT (y) > dG (y), avec dG (y) minimal. Soit γyG un p.c.c. reliant y à x dans G. Soit e = (y, z) le
premier arc de γyG , alors dG (z) = dG (y) − 1 = dT (z) < dT (y) − 1 et donc e 6∈ T . On considère le
cycle C formé de e−1 et du p.c.c. de y à z dans T . Soit T 0 = T ∪ {e0 } \ {e} où e0 est le successeur
de e−1 dans C. Comparer les tailles des bases associées à T et T 0 et conclure.
On remarquera que la proposition 7.1.2 reste vraie si on suppose que les arêtes de G sont
munies de poids positifs, que la taille est remplacée par le poids total, et que le parcours
en largeur est modifié par l’algorithme de Dijkstra [CLRS02].
7.1.2
Cas des surfaces
De même que pour les graphes, il est possible de calculer une base minimale du groupe
fondamentale d’une surface de manière efficace. L’algorithme qui suit est tiré de Erickson
et Whittlesey [EW05].
Soit M une surface triangulée orientable sans bord de genre g et x un sommet de M.
Comme pour les graphes, on commence par calculer un arbre couvrant T obtenu par un
parcours en largeur. Pour toute corde e de T dans le 1-squelette M1 , on a un lacet γeT
qui est le plus court lacet de base x contenant e (cf. la preuve de la proposition 7.1.2).
On définit de manière récursive un générateur glouton γeTi , i ≥ 1 par 1
M \ (T ∪ {e1 , . . . , ei }) est connexe et |γeTi | est minimal avec cette propriété.
Soit G∗i le graphe dual de M\(T ∪{e1 , . . . , ei }), c’est-à-dire le graphe d’adjacence entre les
faces de M \ (T ∪ {e1 , . . . , ei }). Dire que M \ (T ∪ {e1 , . . . , ei }) est connexe équivaut à dire
que G∗i est connexe. Il est facile de voir à l’aide la caractéristique d’Euler que le graphe
dual G∗ de M \ T possède 2g cycles. Il y a donc 2g générateurs gloutons. Ces générateurs
peuvent être vus comme associés aux cordes de T dans H = T ∪ {e1 , . . . , e2g }. Comme
M \ H est un disque (une arborescence de triangles), on se retrouve dans la situation
précédant la proposition 6.2.9, et les générateurs gloutons forment donc une base de
π1 (M, x), dite gloutonne. Les classes d’homologies des générateurs gloutons constituent
également de ce fait une base de H1 (M).
1. Si A est un sous-ensemble d’arêtes de M, On désigne par M \ A la surface à bord obtenue en
coupant M le long des arêtes de A.
7.1. Calcul d’une base optimale du π1 . Francis Lazarus. 31 mai 2012
56
Le graphe dual G∗2g de M \ H constitue un arbre couvrant K ∗ de G∗ . On associe à chaque
arête e∗ de G∗ le poids |γeT |, longueur du lacet associé à la corde e de T primale de e∗ .
On remarque alors que K ∗ est un arbre couvrant de poids maximal dans G∗ . En effet,
par définition e∗i est une arête de poids minimal et appartient à un cycle de G∗i−1 . Ceci
donne une définition globale d’une base gloutonne.
Définition 7.1.4 Fixons une base gloutonne de (M, x). Soit ` un lacet de (M, x). Un
facteur homologique de ` (relativement à la base gloutonne fixée) est un générateur glouton
qui apparaît avec un coefficient non nul dans l’expression de la classe d’homologie de `
sur la base gloutonne.
Lemme 7.1.5 Avec les notations précédentes, on a que pour toute corde e de T dans
M1 , le lacet γeT est au moins aussi long que chacun de ses facteurs homologiques.
Preuve : Si γeT est un générateur glouton, il n’y a rien à montrer. Supposons que ce
n’est pas le cas. Soient alors γeT1 , . . . , γeTk les générateurs gloutons qui ne sont pas plus
longs que γeT . On pose Gk = T ∪ {e1 , . . . , ek }.
Si M \ (Gk ∪ {e}) est connexe, alors k < 2g et par définition de k, on a que γeTk+1
est strictement plus long que γeT , ce qui contredit la définition d’une base gloutonne.
Donc M \ (Gk ∪ {e}) n’est pas connexe, tandis que M \ Gk l’est. Soit M0 une des deux
composantes de M \ (Gk ∪ {e}). L’arête e apparaît exactement une fois sur le bord de
M0 . Lequel bord est inclus dans Gk ∪ {e}. La classe d’homologie de ce bord est donc une
combinaison des classes d’homologies de γeT1 , . . . , γeTk et γeT , avec un coefficient ±1 pour
cette dernière. Comme la classe d’homologie de ce bord est nulle (c’est un bord !), on en
déduit que la classe d’homologie de γeT s’exprime en fonction de celles de γeT1 , . . . , γeTk . 2
Lemme 7.1.6 Tout lacet de point base x est au moins aussi long que chacun de ses
facteurs homologiques.
Preuve : Soit ` un lacet de (M, x). On exprime la classe d’homotopie de `, vu comme
lacet de (M1 , x), dans la base libre associée aux cordes de T dans M1 : ` ' γaT1 , . . . , γaTp .
On suppose que cette expression est réduite, de sorte que chaque arête ai apparaît nécessairement dans `. Par conséquent ` est plus long que chaque γaTi . Mais tout facteur homologique de ` est facteur homologique de l’un des γaTi , et on conclut avec le lemme
précédent.
2
Lemme 7.1.7 Pour toute base {`i }1≤i≤2g de π1 (M, x), il existe une permutation σ de
[1, 2g] telle que pour tout i ∈ [1, 2g], le générateur glouton γeσ(i) est un facteur homologique
de `i .
Preuve : La preuve est essentiellement la même que pour le lemme 7.1.1.
Les deux lemmes précédents impliquent immédiatement que
2
7.2. Calculs de lacets sur les surfaces. Francis Lazarus. 31 mai 2012
57
Proposition 7.1.8 Toute base gloutonne est de longueur totale minimale parmi toutes
les bases de π1 (M, x).
On remarque comme pour les graphes que la proposition reste vraie si on suppose que les
arêtes de M sont munies de poids positifs, que la taille est remplacée par le poids total,
et que le parcours en largeur est modifié par l’algorithme de Dijkstra [CLRS02].
Théorème 7.1.9 Soit M une surface triangulée orientable sans bord de genre g ayant
un nombre total n de sommets, arêtes et faces. Il existe un algorithme de complexité
O(n log n + gn) qui calcule une base minimale de π1 (M, x).
Preuve : Il suffit d’après la proposition précédente de construire une base gloutonne.
Pour cela on commence par calculer un arbre couvrant T de plus courts chemins à l’aide
de l’algorithme de Dijkstra en temps O(n log n). On peut en temps linéaire calculer la
longueur de γeT pour chaque corde de T . D’après la définition globale d’une base gloutonne, il suffit ensuite de calculer un arbre couvrant K ∗ de poids maximal dans le graphe
d’adjacence G∗ des faces de M \ T muni des poids |γeT |. Ceci peut se faire en temps
O(n log n) par des algorithmes classiques de calcul d’arbre couvrant de poids maximal
(ou minimal) [CLRS02]. Soient {e1 , . . . , e2g } l’ensemble des arêtes primales correspondant
aux cordes de K ∗ dans G∗ , alors {γe1 , . . . , γe2g } constitue une base gloutonne qui peut
être construite en temps proportionnel à sa taille O(gn).
2
7.2
Calculs de lacets sur les surfaces
Un bon nombre d’algorithmes et de problèmes portant sur l’homotopie des courbes sur
les surfaces ont été étudiés ces dernières années. Citons :
–
–
–
–
–
le test d’homotopie entre deux courbes [DS95, DG99],
le calcul de système fondamental canonique de lacets pour l’homotopie [VY90, LPVV01],
le calcul d’un système fondamental minimal dans sa classe d’homotopie [CdVL05],
le calcul d’une décomposition en pantalons minimale dans sa classe d’homotopie [CdVL07],
le calcul d’un cycle non contractile ou d’un cycle non séparateur minimal [MT01,
CM05],
– le calcul d’une courbe minimale dans sa classe d’homotopie [CE06],
– le calcul d’un cycle séparateur minimal [CCdVE+ 08],
– etc. . .
Téléchargement