Eléments de calcul topologique Notes/Résumé de cours

publicité
Eléments de calcul topologique
Notes/Résumé de cours - MPRI - Janvier 2007
Frédéric Chazal
INRIA Futurs, France ∗
October 30, 2007
1 Avertissement
Ces notes ont pour but de fournir un support et un aide-mémoire pour le cours.
Elles ne constituent pas un cours complet et ne doivent pas être considérées comme
une version définitive. Elles contiennent la présentation et quelques preuves détaillées de certains points abordés dans le cours. De nombreux résultats et de nombreuses preuves ont été volontairement omis et remplacés par des références bibliographique précise.
Les exercices présents dans ces notes sont généralement assez élémentaires. Il
est conseillé de les faire afin de s’assurer de la bonne compréhension du cours.
Il est possible (et même probable) que certaines coquilles soient encore présentes
dans le document. N’hésitez pas à me les signaler.
2 Préliminaires mathématiques et topologiques
Dans cette section, on introduit les notions mathématiques qui seront utilisées dans
la suite du cours. Par soucis de concision, les définitions et les résultats ne sont pas
toujours donnés dans leur forme générale. On se limite à la forme la plus simple
nécessaire dans la suite du cours.
2.1
Homéomorphie et isotopie
Lorsqu’on fait de la topologie, on considère que deux espaces topologiques X et Y
sont topologiquement les mêmes s’ils sont homéomorphes.
Définition 2.1 Deux espaces topologiques X et Y sont homéomorphes s’il existe
une bijection h : X → Y qui soit continue ainsi que son inverse.
∗ email:
[email protected]
1
Ainsi, un cercle et un polygone simple fermé 1 dans le plans sont homéomorphes. En revanche, un cercle et un segment ne sont pas homéomorphes (le démontrer).
Lorsqu’on s’intéresse à des sous-ensembles X et Y de Rk , comme par exemple des surfaces dans R3 , on peut considérer une notion plus forte que celle
d’homéomorphie : la notion d’isotopie.
Définition 2.2 Une isotopie entre X et Y est une application continue F : X ×
[0, 1] → Rk telle que F(., 0) est l’application identité X, F(X, 1) = Y , et pour tout
t ∈ [0, 1], F(.,t) est un homéomorphisme sur son image. Une isotopie ambiante
entre X et Y est une application continue F : Rk × [0, 1] → Rk telle que F(., 0)
est l’application identité de Rk , F(S, 1) = S′ , et pour tout t ∈ [0, 1], F(.,t) est un
homéomorphisme de Rk .
Intuitivement, la définition précédente signifie qu’on peut déformer continuement X sur Y sans “l’auto-intersecter” ni modifier sa topologie. En restreignant
une isotopie ambiante entre X et Y à X × [0, 1] on obtient une isotopie entre X et
Y . Dans les cas considérés dans la suite la réciproque est également vraie : si X
et Y sont isotopes, il existe une isotopie ambiante entre X et Y (voir [27]). Ainsi
les deux notions précédentes sont équivalentes dans notre cas. En revanche, des
sous-ensembles de Rk peuvent être homéomorphes sans être isotopes. C’est par
exemple le cas entre un tore plongé dans R3 de façon standard et un tore noué tels
que ceux de la figure 1 (attention, bien que ceci ait l’air clair, ce n’est pas si facile
à démontrer!)
Figure 1: Deux surfaces de R3 homéomorphes à un tore mais qui ne sont pas
isotopes
1 Un polygone P du plan formé d’arêtes e , · · · e consécutives (i.e l’extrémité de e est l’origine
n
i
1
de ei+1 ) est simple si seules deux arêtes consécutives peuvent s’intersecter, cette intersection étant
alors réduite a une de leurs extrémités. P est fermé si l’extrémité de en est l’origine de e1 .
2
2.2
Homotopie
Dans la suite, nous aurons besoin de caractériser et de comparer la topologie de
différents espaces topologiques (en général des “formes"’ représentées par des
sous-ensembles compacts de Rk ). Pour cela, on considère différents invariants
topologiques. Ce sont des objets mathématiques (nombres, groupes, etc...) qu’on
associe à chaque espace et qui ont la propriété que si deux espaces sont homéomorphes, alors leurs invariants topologiques sont les mêmes. en général, décider si
deux espaces sont homéomorphes est une tache très difficile. On travaille donc
souvent avec des notions d’équivalence entre espaces qui sont plus faible que
l’homéomorphie et qui assurent encore que certains invariants topologiques sont
les mêmes pour des espaces équivalents.
Equivalence d’homotopie Etant donnés deux espaces topologiques X et Y , deux
applications continues f0 : X → Y et f1 : X → Y sont dites homotopes si il existe une application continue H, H : [0, 1] × X → Y , telle que ∀x ∈ X, H(0, x) =
f0 (x) et H(1, x) = f1 (x). La notion d’homotopie permet d’introduire la notion
d’équivalence d’homotopie suivante (voir [23] pages 171-172 ou [32] pages 108
pour plus de details).
Définition 2.3 Deux espaces X et Y ont le même type d’homotopie (ou sont homotopiquement équivalent) si il existe des applications continues f : X → Y et
g : Y → X telles que g ◦ f est homotope à l’application identité de X et f ◦ g est
homotope à l’application identité de Y .
Le type d’homotopie (i.e. la classe d’équivalence d’homotopie) est clairement un
invariant topologique : si deux espaces X et Y sont homéomorphes, alors ils ont
le même type d’homotopie. En général, la réciproqie est fausse. Intuitivement,
l’équivalence d’homotopie entre espaces topologiques induit une correspondance
bijective entre les composantes connexes, les “cycles”, les “trous”, les “cavités” et
les autres caractéristiques topologiques de dimension plus grande des deux espaces.
Cette intuition sera établie plus précisément dans la suite.
Dans le cas où Y ⊂ X et g est l’inclusion canonique : ∀y ∈ Y, g(y) = y, on peut
prouver l’équivalence d’homotopie entre X et Y à l’aide de la caractérisation suivante.
Proposition 2.4 Si Y ⊂ X et s’il existe une application continue H, H : [0, 1]×X →
X telle que :
• ∀x ∈ X, H(0, x) = x
• ∀x ∈ X, H(1, x) ∈ Y
• ∀y ∈ Y, ∀t ∈ [0, 1], H(t, y) ∈ Y
3
alors, X et Y ont le même type d’homotopie.
Si on remplace la troisième propriété de H par la propriété plus forte : ∀y ∈ Y, ∀t ∈
[0, 1], H(t, y) = y, alors H definit une rétraction par déformation de X sur Y .
Exercice 2.5 Donner un exemple de deux espaces qui ont le même type d’homotopie
mais qui ne sont pas homéomorphes.
Le groupe fondamental Voir première partie du cours de M. Pocchiola.
2.3
Complexes simpliciaux
Soit S = {v0 , v1 , · · · , vd } un ensemble de d + 1 points de Rk . Les points de S sont
dits affinement indépendants si
d
d
∑ ti vi = 0
i=0
et
∑ ti = 0 =⇒ t0 = t1 = · · · = td = 0
i=0
Dans ce cas, l’enveloppe convexe de S est un simplexe de dimension d (ou dsimplexe). En d’autres termes, un d-simplexe est l’enveloppe convexe d’un ensemble de (d + 1) points affinement indépendants. Par convention, l’ensemble
vide est un simplexe de dimension −1. Ainsi, les 0-simplexes sont les points, les
1-simplexes les segments, les 2-simplexes les triangles, les 3-simplexes les tétraèdres, etc...
Les faces d’un simplexe sont les simplexes engendrés par les sous-ensembles de
ses sommets. La dimension d’une face est sa dimension en tant que simplexe, i.e.
le nombre de sommets qui l’engendre moins un. Si τ est une face d’un simplexe
σ , on note τ ≤ σ .
Par exemple, si v0 v1 v2 est un triangle, l’ensemble de ses faces (listé par dimensions croissantes) est {0,
/ v0 , v1 , v2 , v0 v1 , v1 v2 , v2 v0 , v0 v1 v2 }.
Définition 2.6 Un complexe (simplicial) K est une union finie de simplexes telle
que :
1) toute face d’un simplexe de K est aussi un simplexe de K,
2) l’intersection de deux simplexes de K est soit vide, soit un simplexe de dimension
inférieure ou égale qui est leur face commune de dimension maximale.
Des exemples de complexes sont donnés figures 3 et 2. Les triangulations de
polygones du plan ou plus généralement de surfaces sont des exemples de complexes.
Les simplexes formant un complexe sont appelés ses faces. Le j-squelette d’un
complexe K est l’ensemble des j-faces de K. On dit que K est de dimension n (ou
est un n-complexe) si la plus grande des dimensions de ses faces est n. On dit
qu’un n-complexe K est homogène ou de dimension pure si chacune de ses faces
est incidente à au moins une face de dimension n. L’exemple de la figure 3 est de
dimension 3 mais n’est pas homogène.
4
Figure 2: Les graphes et les triangulations de surfaces sont des exemples particuliers de complexes simpliciaux.
Exemple de complexe
Ceci n’est pas un complexe
Figure 3: Exemples de complexes
A tout complexe K correspond un sous-ensemble de Rk (parfois appelé le domaine de K). Lorsqu’il n’y a pas d’ambiguité nous désignerons indifféremment
le complexe K vu comme structure combinatoire et le sous-ensemble de Rk lui
correspondant.
A tout n-complexe homogène K, on associe le bord de K, noté b(K), qui est le
sous-complexe homogène de dimension n − 1 constitué des n − 1-faces incidentes
à une seule n-face de K auxquelles on ajoute toutes leurs faces.
Exercice 2.7 Montrer qu’un complexe K est connexe si et ssi son 1-squelette est
connexe.
Exercice 2.8 Décrire un complexe simplicial dans R3 qui soit homéomorphe à une
boule fermée. Décrire un complexe qui soit homéomorphe à une sphère, puis un
qui soit homéomorphe à un tore.
5
Remarque. On peut plus généralement définir une notion de complexe dont les
faces sont des polytopes (bornés ou non). Les définitions et les propriétés précédentes se généralisent à de tels complexes. Les diagrammes de Voronoi (voir plus
loin) sont des exemples de tels complexes.
2.4
Filtrations de complexes simpliciaux
Dans la suite, les complexes simpliciaux considérés seront généralement munis
d’une filtration.
Définition 2.9 Une filtration d’un complexe (fini) K est une séquence de souscomplexes de K définie par
0/ = K 0 ⊂ K 1 ⊂ · · · ⊂ K m = K
(i)
(ii) K i+1 = K i ∪ σ i+1 avec σ i+1 un simplexe de K
Munir K d’une filtration revient donc à ordonner les simplexes de K de sorte
que pour tout i = 0, · · · , m l’union des i premiers simplexes de K soit un souscomplexe de K. En d’autres termes, toutes les faces de σ i+1 sont contenues dans
K i . L’objet de la persitance topologique sera d’étudier l’évolution de la topologie
de ces sous-complexes. Il existe plusieurs exemples de filtrations classiques que
nous utiliserons dans la suite.
2.4.1 Alpha-complexes
Les alpha-complexes sont des complexes filtrés associés à des nuages de points
ou plus généralement de sphères dans Rk . Ils ont été introduits et étudiés par H.
Edelsbrunner et al ([17, 18]). Ils “encodent” la topologie de l’union des boules
centrées sur le nuage de points lorsque leur rayon croît.
Soit P = {p1 , · · · pn } ⊂ Rk un ensemble de n points en position générale 2 . Pour
α > 0 on note Bα (p) l’union des boules de rayon α centrées en les points de P :
Bα (P) = {x ∈ Rk : ∃i tel que kx − pi k ≤ α }
Le diagramme de Voronoï de P restreint à Bα (p) est le diagramme dont les cellules
des point pi sont les restriction des cellules de voronoï à Bα (p) :
Vorα (pi ) = Vor(pi ) ∩ Bα (p)
On définit alors le α -complexe K α (P) de P comme le dual de la triangulation
de Voronoï restreinte : l’enveloppe convexe de l points appartient à K α (P) si et
seulement si l’intersection des l cellules de voronoï restreintes de ces points est
non vide. On appelle α -shape le support de ce complexe, i.e. l’union des simplexes
dans Rk .
2 P est en position générale si P ne contient pas de sous-ensemble de plus de k
points sur un même
hyperplan et ne contient pas de sous-ensemble de plus de k + 1 points sur une même sphère
6
Figure 4: α -complexes d’un ensemble de points dans R2 pour deux valeurs distinctes de α .
Proposition 2.10
• Si P est en position générale alors K α (P) est un complexe simplicial dans
Rk .
• Si α ≤ α ′ alors K α (P) ⊆ K α (P).
′
• Pour tout α > 0, K α (P) est un sous-complexe de la triangulation de Delaunay Del(P) de P et il existe M > 0 tel que K α (P) = Del(P) pour tout
α > M.
Puisque la triangulation de Delaunay qui est finie, il existe donc un nombre
fini de valeurs α0 , · · · αm pour lesquelles le complexe K α (P) change. En général,
le passage d’une valeur αi correspond à l’ajout d’un seul simplexe. Si plusieurs
simplexes apparaissent simultanément, on les ordonne par dimension croissante.
On construit ainsi une filtration associée à P appelée l’α -filtration. La propriété
fondamentale suivante est due à H. Edelsbrunner [18].
Théorème [18] Soit P un ensemble fini de points de Rk en position générale. Pour
tout α > 0 l’union des boules Bα (P) et l’α -shape ont le même type d’homotopie.
ainsi l’α -filtration “encode” l’evolution de la topologie de l’union des boules
centrées sur P lorsque leur rayon croît.
Remarque. Le théorème précédent est encore valable lorsque les points de P ne
sont plus en position générale mais il faut alors faire attention à la nuance entre
α -complexe (qui n’est plus nécessairement plongé dans Rk et α -shape).
7
2.4.2 Filtration associée à une fonction définie sur les sommets d’un complexe
Soit f une fonction à valeurs réelles définie sur les sommets de K. Pour tout ksimplexe σ = [v0 , · · · vk ] on définit f (σ ) par
f (σ ) = max f (vi )
i=0···k
On associe ainsi à une valeur réelle à chaque simplexe de K. On ordonne alors tous
les simplexes de K en fonctions des valeurs de f croissantes. Si f prend la même
valeur sur deux simplexes différents, celui de dimension la plus petite est choisi en
premier et si f prend la même valeur sur deux simplexes de même dimension, on
les ordonne arbitrairement (ou aléatoirement) l’un par rapport à l’autre.
Lemme 2.11 L’ordre précédent induit par f sur les simplexes de K définit une
filtration de K. On l’appelera dans la suite la filtration induite par f .
Exercice 2.12 Prouver le lemme précédent.
Une fois définie sur tous les simplexes de K, on peut voir la fonction f comme
une fonction sur K, constante sur chaque simplexe et la filtration induite par f
comme la filtration définie par les sous-niveaux f −1 (] − ∞;t]) de f .
2.5
Homologie et nombres de Betti
Dans cette section on introduit rapidement les notions de bases en homologie simpliciale qui seront utilisées dans la suite. En particulier, on ne considère que
l’homologie simpliciale à coefficients dans Z/2Z. Pour une introduction plus complète, se reporter à [32] par exemple.
Dans la suite K désigne un complexe simplicial fini de dimension d.
2.5.1 L’espace des k-chaînes
Etant donné un entier k ∈ {0, · · · d}, on associe une structure de Z/2Z espace vectoriel au k-squelette de K en considérant l’ensemble de toutes les sommes formelles
de simplexes de dimension k de K.
Définition 2.13 Soit k ∈ {0, · · · d}. Une k-chaîne est une combinaison linéaire finie
à coefficients dans Z/2Z de k-simplexes de K.
Si {σ1 , · · · , σ p } est l’ensemble des k-simplexes de K, alors toute k-chaîne c
s’écrit de façon unique sous la forme
p
c = ∑ εi σi avec εi ∈ Z/2Z = {0, 1}
i=1
8
On définit naturellement la somme de deux chaînes c et c′ par
p
c + c′ = ∑ (εi + εi′ )σi
i=1
où les sommes εi + εi′ sont modulo 2. On définit de même le produit d’un élément
de Z/2Z avec une k-chaîne :
p
λ .c = ∑ (λ εi′ )σi
i=1
Définition 2.14 L’ensemble Ck (K) des k-chaîne simpliciales de K muni des lois
précédentes est un Z/2Z espace vectoriel appelé l’espace des k-chaînes de K.
Par exemple, si K est le complexe de la figure 5, C1 (K) est le Z/2Z espace
vectoriel engendré par les arêtes e1 = ab, e2 = bc, e3 = ca, e4 = cd, i.e.
C1 (K) = {0, e1 , e2 , e3 , e4 , e1 + e2 , e1 + e3 , e1 + e4 , e2 + e3 , e2 + e4 , e3 + e4 ,
e1 + e2 + e3 , · · · }
La somme de e1 + e2 avec e2 + e3 + e4 est égale à e1 + e3 + e4 (remarquer que 0
désigne le simplexe vide).
a
d
b
c
Figure 5: Un exemple de complexe très simple
Remarquons qu’en termes mathématiques, Ck (K) est le Z/2Z-espace vectoriel
engendré par les k-simplexes de K. En général, on peut définir de même l’ensemble
des k-chaînes à coefficients dans un autre corps (e.g. Q, R,...) ou anneau (e.g.
Z/pZ, Z,...). Dans ce dernier cas, l’ensemble des k-chaîne n’est plus un espace
vectoriel mais un module.
Dans notre cas, les k-chaînes à coefficient dans Z/2Z possèdent une interprétation géométrique évidente : puisque toute k-chaîne c s’écrit de manière unique
sous la forme, c = σi1 + σi2 + · · · σi p ou les σi j sont des k-simplexes, elle peut être
considérée comme l’union des simplexes σi j qui la compose. La somme de deux
k-chaines est alors égale à la différence symétrique 3 (exercice!)
3 La
différence symétrique de deux ensembles A et B est définie par A∆B = (A ∪ B) \ (A ∩ B)
9
2.5.2 L’opérateur bord
Définition 2.15 Le bord ∂ (σ ) d’un k-simplexe σ est la somme de ses (k −1)-faces.
C’est une (k − 1)-chaîne.
Si σ = [v0 , · · · , vk ] est le k-simplexe engendré par les (k +1)-sommets v0 , · · · , vk ,
alors
k
∂ (σ ) = ∑ [v0 · · · v̂i · · · vk ]
i=0
où [v0 · · · v̂i · · · vk ] désigne le (k −1)-simplexe engendré par l’ensemble des sommets
de σ privé de vi .
L’application “bord” ainsi définie sur les simplexes s’étend par linéarité sur Ck (K).
Définition 2.16 L’opérateur bord est l’application linéaire définie par
∂ : Ck (K) → Ck−1 (K)
c
→ ∂ c = ∑σ ∈c ∂ (σ )
Pour être totalement rigoureux, il faudrait noter ∂k l’opérateur bord défini précédemment. Afin de ne pas alourdir les notations, la notation ∂k ne sera utilisée que
lorsque le contexte induira un risque de confusion. L’opérateur bord possède la
propriété fondamentale suivante.
Proposition 2.17
∂ ∂ := ∂ ◦ ∂ = 0
P REUVE . L’opérateur bord étant linéaire, il suffit de vérifier la propriété pour un
simplexe. Soit σ = [v0 · · · vk ] un k-simplexe.
!
∂∂σ
= ∂
k
∑ [v0 · · · v̂i · · · vk ]
i=0
k
=
∑ ∂ [v0 · · · v̂i · · · vk ]
i=0
=
∑[v0 · · · v̂ j · · · v̂i · · · vk ] + ∑[v0 · · · v̂i · · · v̂ j · · · vk ]
j<i
j>i
= 0
10
2.5.3 Groupes d’homologie
L’opérateur bord définit une suite d’homomorphismes entre les espaces de chaînes.
Définition 2.18 On appelle complexe de chaînes associé à un complexe K de dimension d la suite d’opérateurs suivante
∂
∂
∂
∂
∂
∂
0/ → Cd (K) → Cd−1 (K) → · · · Ck+1 (K) → Ck (K) → · · · C1 (K) → C0 (K) → 0/
Pour k ∈ {0, · · · , d}, l’ensemble des k-cycles de K est le noyau de ∂ : Ck →
Ck−1 . On le note
Zk (K) := ker(∂ : Ck → Ck−1 ) = {c ∈ Ck : ∂ c = 0}
/
L’image de ∂ : Ck+1 → Ck est l’ensemble des k-cycles bordant une (k + 1)-chaîne.
On le note
Bk (K) := im(∂ : Ck+1 → Ck ) = {c ∈ Ck : ∃c′ ∈ Ck+1 , c = ∂ c′ }
Bk et Zk sont des sous-groupes (et même des sous-espaces vectoriels) de Ck et
d’après la proposition 2.17, on a
Bk (K) ⊂ Zk (K) ⊂ Ck (K)
Définition 2.19 Le k-ème groupe d’homologie de K est le quotient de Zk (K) par
Bk (K) :
Hk (K) = Zk /Bk
Les éléments de Hk (K) sont appelés les classes d’homologie de K.
A chaque cycle c ∈ Zk (K) est associé sa classe d’homologie c + Bk (K) = {c +
b : b ∈ Bk (K)}. Deux cycles c, c′ qui appartiennent à la même classe d’homologie
sont dit homologues; dans ce cas, il existe un cycle bordant b ∈ Bk (K) tel que
c′ = c + b, i.e. c′ − c = c′ + c = b.
Comme on se restreint aux chaînes à coefficients dans Z/2Z, on remarquera
que Hk (K) est un Z/2Z-espace vectoriel.
Définition 2.20 La dimension de Hk (K) est le k-ème nombre de Betti de K. On le
note βk (K).
Exercice 2.21 (Important) Montrer que β0 (K) est le nombre de composantes
connexes de K.
11
2.6
Homologie singulière et invariance topologique des nombres de
Betti
Les groupes d’homologie et les nombres de Betti sont des invariants topologiques,
i.e. si K et K ′ sont deux complexes simpliciaux dont les supports (i.e. les sousensembles de Rk les réalisant) sont homéomorphes, alors leurs groupes d’homologie
sont isomorphes et leurs nombres de Betti sont égaux. Ce résultat reste encore vrai
si les supports de K et K ′ ont le même type d’homotopie. L’énoncé et la preuve de
ces résultats ne sont pas triviaux. Ils font appel à la notion d’homologie singulière
définie pour des espaces topologiques généraux et sortent du cadre de ce cours.
Signalons tout de même que si X est un espace topologique homéomorphe à un
complexe simplicial K alors les groupes d’homologie singulière de X sont isomorphes (en tant que groupes) aux groupes d’homologie simpliciale de K. Par exemple
si X est une surface et si K et K ′ sont deux triangulations de X, alors les deux triangulations ont des groupes d’homologie simpliciale isomorphes et ont donc les
mêmes nombres de Betti.
L’intérêt essentiel de l’homologie singulière est qu’il est immédiat de voir que c’est
un invariant topologique. En particulier, les nombres de Betti de deux complexes
simpliciaux (ou espaces topologiques) homéomorphes sont les mêmes! On se
reportera à [32] ou [26] pour plus de détails.
2.7
Algorithme de calcul des nombres de Betti
Lorsqu’on dispose d’une filtration d’un complexe K, on peut suivre l’évolution des
nombres de Betti de la filtration au fur et à mesure qu’on rajoute les simplexes à
la filtration. Ceci permet d’obtenir un algorithme simple de calcul des nombres de
Betti.
Soit K un complexe simplicial de dimension d et soit
F = {0/ = K 0 ⊂ K 1 ⊂ · · · ⊂ K m = K}
une filtration de K telle que pour tout i = 0, · · · m − 1,
K i+1 = K i ∪ σ i+1 où σ i+1 est un simplexe.
L’algorithme suivant permet de calculer les nombres de Betti de K.
Algorithme de calcul des nombres de Betti
Données : Une filtration d’un complexe simplicial K de dimension d contenant m
simplexes.
Résultat : Les nombres de Betti β0 , β1 , · · · , βd de K
β0 = β1 = · · · = βd = 0;
pour i = 1 à m
k = dim σ i − 1;
si σ i appartient à un (k + 1)-cycle dans K i
12
alors βk+1 = βk+1 + 1;
sinon βk = βk − 1;
fin si;
fin pour;
renvoyer (β0 , β1 , · · · , βd );
Pour montrer que l’algorithme est correct, il faut comprendre comment évolue la
topologie de la filtration à chaque rajout d’un simplexe. Supposons que les nombres
de Betti de K i−1 ont été calculés et qu’on rajoute le simplexe σ i de dimension k + 1
pour obtenir K i . Remarquons déjà que, F étant une filtration, σ i ne peut pas être
contenu dans le bord d’un (k + 2)-cycle de K i . Ainsi, si σ i appartient à un (k + 1)cycle dans K i , ce cycle n’est pas un bord dans K i . Considérons les deux alternatives
de l’algorithme :
Cas 1: supposons que σ i est contenu dans un (k + 1)-cycle c de K i . Alors c
n’est homologue à aucun (k + 1)-cycle de K i−1 . En effet, dans le cas contraire il
existerait un cycle c′ dans K i−1 tel que c + c′ soit le bord d’un (k + 2)-cycle d de K i .
Comme σ i ne peut pas être contenu dans c′ , il est contenu dans c + c′ = ∂ d ce qui
contredit la remarque précédente. Donc, si σi est contenu dans un (k + 1)-cycle c
non bordant de K i , alors c crée une classe d’homologie linéairement indépendante
de celles créées par les cycles de K i−1 . Il en résulte que βk+1 (K i ) ≥ βk+1 (K i−1 )+1.
Pour conclure, il suffit de remarquer que l’ajout du (k + 1)-simplexe σ i à K i−1
ne peut pas augmenter la dimension du k-ème groupe d’homologie de plus d’une
unité : si c et c′ sont deux (k + 1)-cycles contenant σ i alors c + c′ est un (k + 1)cycles dans K i−1 et donc c′ appartient au sous-espace engendré par Zk+1 (K i−1 )
et c. Ainsi, dim Zk+1 (K i ) ≤ dim Zk+1 (K i−1 ) + 1 et puisque Bk (K i−1 ) ⊂ Bk (K i ),
βk+1 (K i ) ≤ βk+1 (K i−1 ) + 1.
Cas 2: supposons maintenant que σ i n’est pas contenu dans un (k + 1)-cycle non
bordant de K i . Alors ∂ σ i est un k-cycle de K i−1 qui n’est pas un bord (dans K i−1 ).
En effet, si ce n’était pas le cas, il existerait une chaîne c dans K i−1 tel que ∂ c =
∂ σ i . On a ∂ (c + σ i ) = 0/ dans K i donc c + σ i est un (k + 1)-cycle qui contient σ i :
contradiction. Ainsi, le k-cycle ∂ σ i qui est non bordant dans K i−1 devient un bord
dans K i . La dimension du k-ème groupe d’homologie de K i est donc inférieure à
celle du k-ème groupe d’homologie de K i−1 . De même que dans le cas précédent,
on montre que cette différence de dimension est égale à 1.
L’algorithme précédent suggère la distinction suivante entre les simplexes qui joue
un rôle fondamental dans la définition de la persistance topologique dans la section
suivante.
Définition 2.22 Soit K un complexe simplicial de dimension d et soit
F = {0/ = K 0 ⊂ K 1 ⊂ · · · ⊂ K m = K}
une filtration de K telle que pour tout i = 0, · · · m − 1, K i+1 = K i ∪ σ i+1 où σ i+1 est
un simplexe. Un simplexe σ i est dit positif s’il appartient à un (k + 1)-cycle (qui est
13
forcément non bordant d’après la remarque au début de la preuve de l’algorithme
précédent) dans K i . Il est dit négatif sinon.
Avec cette définition, le k-ème nombre de Betti βk (K) est donc égal à la différence entre le nombre de k-simplexes positifs (qui créent des k-cycles) et le nombre de k + 1-simplexes négatifs (qui détruisent des k-cycles).
Exemple : considérons le complexe de la figure 5 muni de la filtration définie par
l’ordre des simplexes 0,
/ a, b, c, ab, bc, d, ac, cd, abc. Les simplexes positifs sont
alors a, b, c, d et ac.
Remarque importante : Pour être effectif, l’algorithme précédent nécessite de
savoir répondre à la question suivante : comment décider si un simplexe est positif
ou négatif? Une réponse à cette question sera donnée dans la section suivante sur
la persistance. Cependant, on peut déjà remarquer que la réponse est simple pour
les simplexes de dimension 0 et 1. Tous les sommets sont des simplexes positifs.
Une arête σ i est positive si et seulement si ses deux extrémités appartiennent à la
même composante connexe de K i−1 .
Exercice 2.23 Montrer l’affirmation précédente à savoir qu’une arête σ i dans une
filtration est positive si et seulement si ses deux extrémités appartiennent à la même
composante connexe de K i−1 .
Exercice 2.24 Faire tourner “à la main” l’algorithme de calcul des nombres de
Betti sur un tétraèdre muni d’une filtration.... et s’assurer que le résultat obtenu est
bien celui attendu.
3 La persistance topologique
Dans cette partie, on introduit la notion de persistance topologique. Il s’agit d’une
méthode topologique introduite en 2000 par H. Edelsbrunner al [21] qui permet
de séparer de l’information (un “signal”) de nature topologique du bruit pour des
données représentées par des fonctions sur un espace topologique. La persistance
permet “d’encoder” l’évolution de la topologie (plus précisément de l’homologie)
des sous-niveaux d’une fonction ou d’une filtration et de mesurer l’importance
relative des caractéristiques topologiques de la filtration.
La persistance topologique s’est développée rapidement ces dernières années
et apparaît comme un outil essentiel pour l’analyse géométrique de données multidimensionnelles. Elle a donné lieu à de nombreux travaux - voir par exemple [21,
14, 34, 35, 16].
3.1
Un exemple élémentaire
Avant d’introduire formellement les notions importantes, examinons un exemple
simple. Notons f : [0, 1] → R la fonction dont le graphe est représenté sur la figure 6. Considérons l’évolution de la topologie des sous-niveaux { f ≤ t} lorsque
14
t croît. La topologie de ces sous-niveaux change au passage des valeurs critiques
a, b, c, d et e. Pour t < a, { f ≤ t} est vide. Le passage de la valeur critique a
crée une composante connexe et pour a ≤ t < b, { f ≤ t} est un ensemble connexe.
Le passage de la valeur critique b crée une seconde composante connexe et pour
b ≤ t < c, { f ≤ t} possède deux composantes connexes. Au niveau de la valeur c,
les deux composantes connexes sont fusionnées : la composante la plus récemment
créée (au passage de b) est “absorbée” par la première. La persistance topologique
apparie alors b et c, l’appariement étant représenté par l’intervalle vertical rouge
sur la figure. La longueur de cet intervalle représente la “durée” pendant laquelle
la composante créée par b a existé au cours de l’évolution. Si on poursuit ainsi,
le passage de la valeur d correspond à la création d’une composante connexe qui
disparait au passage de la valeur critique e : d et e sont donc appariés. On remarquera que la valeur a n’est appariée à aucune autre valeur : elle correspond à la
création de la composante connexe qui perdure lorsque toutes les valeurs de t on
été balayées. L’ensemble des paires de valeurs critiques appariées se représente naturellement par un diagramme de persistance dans le plan (voir figure 6). Pour des
raisons qui apparaitrons clairement dans la suite, on rajoute la diagonale {y = x} à
ce diagramme.
Lorsqu’on considère des fonctions définies sur des espaces de dimension supérieure
à un, le passage de valeurs critiques peut induire des changements dans la topologie des sous-niveaux autres que des modifications du nombre de composantes connexes. Ils peuvent correspondrent à la création/destruction de cycles, de cavités,
etc... Tous ces événements se traduisent par un changement dans les groupes
d’homologie correspondant (H1 pour les cycles, H2 pour les cavités, etc...). On
peut ainsi définir des paires et un diagramme de persistance pour chaque dimension d’homologie. Signalons que lorsque la fonction f est une fonction de Morse
sur une variété lisse, les changements de topologie de ses sous-niveaux au passage
de points critiques sont entièrement décrits par le type des points critiques (voir
[31] pour plus de détails).
e
e
d
c
c
b
a
b
d
Figure 6: Le diagramme de persistance d’une fonction d’une variable
Maintenant, si on remplace la fonction f par la fonction g de la figure 7 qui est
“proche” de f , on constate que le nombre de paires augmente considérablement.
Cependant, la majeur partie de ces paires correspond à des intervalles de longueur
15
courte (points proches de la diagonale), alors que les paires correspondants à des
intervalles plus longs sont proches de celles de la fonction f (voir figure 7). En
d’autres termes, les détails topologiques ayant une longue persistance par rapport
à l’amplitude de la perturbation sont préservées. Les détails topologiques dus au
bruit créé par la perturbation ont une faible persistance et sont représentés sur le diagramme de persistance par des points proches de la diagonale. Nous verrons dans
la suite que ceci est un fait général : deux fonctions proches ont des diagrammes de
persistance proches. Cette stabilité des diagrammes de persitance prouvée récemment dans [14] est une des propriétés fondamentale de la persistance topologique.
e
c
b
d
Figure 7: Une approximation de la fonction f et son diagramme de persitance
Définir formellement la notion de persistance topologique pour des fonctions sur
des espaces topologiques quelconques nécessite de considérer l’homologie singulière 4 à la place de l’homologie simpliciale. L’étude des différentes notions
d’homologie ne faisant pas l’objet de ce cours, on définit formellement dans la
suite la notion de persistance pour des filtrations de complexes simpliciaux. Nous
montrerons le lien avec la persistance topologique pour des fonctions définies sur
un complexe simplicial.
3.2
Persistance topologique pour une filtration
On définit ici la notion de persistance topologique pour une filtration d’un complexe simplicial. Le but est d’étudier l’évolution de la topologie des sous-complexes
de la filtration. Tous les complexes simpliciaux considérés dans la suites sont supposés finis.
Soit K un complexe simplicial de dimension d et soit
F = {0/ = K 0 ⊂ K 1 ⊂ · · · ⊂ K m = K}
une filtration de K telle que pour tout i = 0, · · · m − 1,
K i+1 = K i ∪ σ i+1 où σ i+1 est un simplexe.
4 on
pourra par exemple consulter [32] pour une présentation de l’homologie singulière
16
Pour tout 0 ≤ n ≤ m, on note Ckn l’ensemble des k-chaînes (à coefficients dans
n−1
Z/2Z) du complexe K n . Remarquons que ∂ : Ckn → Ck−1
, la restriction de l’opérateur
n−1
n
n
n
bord à Ck , est à valeurs dans Ck−1 . On note Zk et Bk les ensembles respectivement
des k-cycles et des k-bords de K n . Le k-ème groupe d’homologie de K n est donc
Hkn = Zkn /Bnk
Avec ces notations, on a les inclusions suivantes
Zk0 ⊂ Zk1 ⊂ · · · ⊂ Zkn · · · ⊂ Zkm = Zk (K)
B0k ⊂ B1k ⊂ · · · ⊂ Bnk · · · ⊂ Bm
k = Bk (K)
Définition 3.1 Pour p ∈ {0, · · · , m} et l ∈ {0, · · · , m − p}, le k-ème nombre de Betti
l
p-persistant de K l est la dimension de l’espace vectoriel Hkl,p = Zkl /(Bl+p
k ∩ Zk ).
Le k-ème nombre de Betti p-persistant de K l représente le nombre de cycles
(ou plus précisément de classes d’homologie) indépendants dans K l qui ne sont
pas devenus des bords dans K l+p . Intuitivement, un k-cycle de K l qui engendre un
élément non nul dans Hkl,p est un cycle qui est apparu dans la filtration avant la lème étape et qui n’est pas devenu un bord à la (l + p)-ème étape de la construction
de la filtration. On a vu dans la section 2.7 que la “création” de cycle correspond
à l’ajout de simplexes positifs et que la “destruction” de cycle correspond à l’ajout
de simplexes négatifs. La persistance topologique permet d’apparier simplexes
positifs et simplexes négatifs de sorte que pour chaque paire l’ajout du simplexe
positif corresponde à l’apparition d’un nouveau cycle qui devient un bord lors de
l’ajout du simplexe négatif. Afin de réaliser cet appariement, il faut comprendre
comment on peut associer un cycle à chaque simplexe positif.
3.2.1 Cycle associé à un simplexe positif
Lemme 3.2 Soit σ = σ i un k-simplexe positif dans la filtration F de K. Il existe
un k-cycle c non bordant dans K i qui contient σ et qui ne contient pas d’autre
k-simplexe positif.
P REUVE . Elle se fait par récurrence sur l’ordre d’arrivée des simplexes positifs.
Supposons que pour chaque k-simplexes positifs apparus avant σ il existe un kcycle non bordant qui contient ce simplexe et qui ne contient pas d’autre k-simplexe
positif. Puisque σ est positif, il existe un k-cycle d non bordant dans K i qui contient
σ . Soit σi j , j = 1, · · · , p les k-simplexes positifs différents de σ contenus dans
d et soient c j les cycles non bordant les contenants et ne contenant pas d’autre
simplexes positifs. Alors,
c = d + c1 + · · · + c p
est un k-cycle qui contient σ comme seul simplexe positif. Comme σ = σ i est le
dernier simplexe ajouté dans K i , il n’existe pas de (k + 1)-simplexe dans K i qui
contienne σ dans son bord. ainsi, c ne peut pas être un cycle bordant.
17
Exercice 3.3
1. Montrer que tout cycle contient au moins un simplexe positif.
2. Montrer que le cycle c associé à σ dans le lemme précédent est défini de façon
unique.
3.2.2 Maintient d’une base de l’homologie et définition des paires de persistance
Les k-cycles associés aux k-simplexes positifs permettent de maintenir une base des
k-eme groupes d’homologie de la filtration. Au départ, la base de Hk (K 0 ) est vide.
Supposons que la base de Hki−1 est construite et que le i-eme simplexe σ i est positif
(de dimension k). on ajoute à la base de Hki−1 la classe d’homologie du cycle ci
associé à σ i pour obtenir une base de Hki . En effet, puisque ci est égal à la somme de
σ i et de simplexes négatifs, il n’est homologue à aucune combinaison linéaire des
classes d’homologie définissant la base de Hki−1 . Comme dim Hki = dim Hki−1 + 1,
on a bien une base de Hki .
Maintenant, supposons que la base de Hkj−1 est construite et que le j-eme simplexe σ j est négatif (de dimension k + 1). Notons ci1 , · · · , ci p les cycles associés
aux simplexes positifs σ i1 , · · · σ i p dont les classes d’homologie forment une base
de Hkj−1 . Le bord d = ∂ σ j de σ j est un k-cycle de K j−1 qui est bordant dans K j
et qui n’était pas bordant dans K j−1 (voir la preuve de l’algorithme de calcul des
nombre de Betti de la section précédente). Il s’écrit donc de façon unique sous la
forme
d = ∂σ j =
p
∑ εk ci
k
+b
k=1
où εk ∈ {0, 1} et b est un bord. On note alors l( j) = max{ik : εk = 1} et on retire la
classe d’homologie de cl( j) de la base de Hkj−1 pour obtenir une base de Hkj .
Affirmation : On obtient bien une base de Hkj .
Comme dim Hkj−1 = dim Hkj + 1 il suffit de montrer que cl ( j) est, modulo un bord,
une combinaison linéaire des cycles ci , i 6= l( j) dans Zkj , ce qui est équivalent à
l’écriture de d précédente.
Définition 3.4 Les simplexes σ l( j) et σ j sont appariés et forment une paire de
persistance (σ l( j) , σ j ). Intuitivement, la classe d’homologie créée par σ l( j) dans
K l( j) est détruite par σ j dans K j . La persistance de cette paire est sa “durée de
vie” : j − l( j) − 1.
On déduit de ce qui précède un (premier) algorithme de calcul des paires de persistance pour une filtration F d’un complexe simplicial K de dimension d composé
de m simplexes.
Algorithme de calcul des paires
L0 = L1 = · · · = Ld−1 = 0/
18
pour j = 0 à m
k = dim σ j − 1;
si σ j est négatif
l( j) = plus grand indice des k-simplexes positifs associés à ∂ σ j ;
Lk = Lk ∪ {(σ l( j) , σ j )};
fin si;
fin pour;
renvoyer L0 , L1 , · · · , Ld−1 ;
Evidemment, comme pour le calcul des nombres de Betti, la difficulté de cet
algorithme réside dans la détermination de l( j). Heureusement, cette difficulté
peut-être levée en considérant une version “matricielle” de cet algorithme.
3.2.3 Algorithme de calcul de la persistance : la version matricielle
On présente ici un algorithme élémentaire permettant de calculer les paires de persistance d’un complexe muni d’une filtration à partir de la matrice de l’opérateur
de bord. Il possède l’avantage majeur d’être extrêmement simple à implémenter.
Soit K un complexe simplicial de dimension d et soit
F = {0/ = K 0 ⊂ K 1 ⊂ · · · ⊂ K m = K}
une filtration de K telle que pour tout i = 0, · · · m − 1,
K i+1 = K i ∪ σ i+1 où σ i+1 est un simplexe.
Les simplexes de K sont donc indexés par leur ordre d’arrivée dans la filtration.
Considérons la matrice M = (mi, j )i, j=1,···m à coefficients dans Z/2Z de l’opérateur
bord définie par:
mi, j = 1 si σ i ≤ σ j
et mi, j = 0 sinon
Ainsi si σ j est un (k + 1)-simplexe, la colonne C j de M représente l’ensemble
des k-simplexes qui constituent le bord de σ j . Puisque F est une filtration, la
matrice M est triangulaire supérieure. Pour toute colonne C j de M, on note l( j) le
numero de la ligne contenant le terme non nul le plus bas dans la colonne C j :
(i = l( j)) ⇔ (mi, j = 1 et mi′ , j = 0 ∀i′ > i)
Par convention, l( j) n’est pas défini si la colonne C j ne contient aucun 1. L’algorithme
de calcul des paires de persistance est alors le suivant.
Algorithme de calcul des paires de persistance (version matricielle)
Pour j = 0 à m
Tant qu’il existe j′ < j tel que l( j′ ) == l( j)
C j = C j +C j′ mod(2);
19
Fin tant que;
Fin pour;
Renvoyer les paires (l( j), j);
Proposition 3.5 L’algorithme précédent calcule les paires de persitance de la filtration F définies dans le paragraphe 3.2.2
P REUVE . Le résultat découle de quelques remarques élémentaires.
Rem 1 : A chaque étape de l’algorithme, la colonne C j représente une chaîne de
K j de la forme
!
∂
σ j + ∑ εi σ i
avec εi ∈ {0, 1}
i< j
Ceci se prouve par une récurrence immédiate.
Rem 2 : A la fin de l’algorithme, si j est tel que l( j) est défini, alors σ l( j) est un
simplexe positif.
En effet, la colonne C j représente une chaîne de la forme
∑
σ l( j) +
p<l( j)
η p σ p avec η p ∈ {0, 1}
mais d’après la remarque 1 la colonne C j représente aussi un bord dans K j . La
chaîne précédente est donc un cycle (puisque ∂ ◦ ∂ = 0) dans K l( j) qui contient
σ l( j) . Le simplexe σ l( j) est donc positif.
Rem 3 : Si, à la fin de l’algorithme, la colonne C j ne contient que des 0, alors σ j
est positif.
En effet, d’après la remarque 1, on a
∂
σ + ∑ εi σ
j
i< j
i
!
=0
et σ j appartient donc à un cycle dans K j .
Rem 4 : Si, à la fin de l’algorithme, la colonne C j n’est pas nulle, alors (σ l( j) , σ j )
est une paire de persistance.
En combinant les remarques 1 et 2, le bord de σ j s’écrit sous la forme
!
∂ σ j = σ l( j) +
∑
ηpσ p + ∂
p<l( j)
∑ εi σ i
i< j
La remarque 4 résulte alors de la section 3.2.2 et du fait que σ l( j) n’a pas encore
été apparié.
Remarque : Pour l’implémentation, il est utile de remarquer que la matrice M
de l’opérateur bord est une matrice creuse. Les complexes rencontrés en pratique
20
sont généralement constitués d’un grand nombre de simplexes (typiquement m =
O(106 ) ou m = O(107 )). Il est donc impératif de ne pas représenter la matrice M
comme une matrice standard (m, m) dont le nombre d’éléments est m ∗ m!
Remarque : On remarquera que la complexité de l’algorithme précédent en temps
de calcul est O(m3 ) dans le pire des cas. Cependant, en pratique il est généralement
beaucoup plus rapide.
3.3
Diagrammes de persistance et nombres de Betti persistants
Pour une valeur de k fixée, les paires de persistance de simplexes de dimensions respectives k et k + 1 se représentent de façon commode par diagramme du plan R2 :
chaque paire (σ l( j) , σ j ) est représentée par le point de coordonnées (l( j), j). Pour
chaque simplexe positif σ i qui n’est pas apparié à un simplexe négatif dela filtration, on associe la paire (σ i , +∞). Pour des raisons qui apparaitront clairement lors
de l’étude de la stabilité des diagrammes de persistance, on rajoute à cet ensemble
de point la diagonale de R2 , {y = x}. Un tel diagramme est appelé le k-ème diagramme de persistance de la filtration. Plus généralement, si la filtration est indicée
par une suite de nombres réels (comme c’est le cas lorsqu’il s’agit d’une filtration
associée aux sous-niveaux d’une fonction), les coordonnées d’un point représentant une paire de persistance sont les valeurs des indices des simplexes composant
cette paire. On fera attention que dans ce second cas, plusieurs paires peuvent être
associées à un même point du plan. Le nombre de paires associées à un point est
sa multiplicité. Des exemples de diagrammes de persistance sont donnés sur les
figure 8 et 9.
3.4
Persistance topologique pour des fonctions et stabilité des diagrammes de persistance
La notion de persistance topologique se généralise à des fonctions à valeurs réelles
sur des espaces topologiques qui ne sont pas nécessairement des complexes simpliciaux. Les groupes d’homologie considérés sont alors les groupes d’homologie
singulière. Comme cela a été mentionné dans la section 2.6, si l’espace topologique
considéré est homéomorphe à un complexe simplicial, ses groupes d’homologie
singulière sont isomorphes à ses groupes d’homologie simpliciale. L’intérêt d’un
tel point de vue est qu’il permet de donner un résultat de stabilité pour les diagrammes de persistance : si deux fonctions définie sur un espace X sont “proches”,
alors leurs diagrammes de persistance sont “proches”. L’énoncé et la preuve de
ce résultat sortent du cadre de ce cours. Dans cette section, nous donnons (sans
preuve) l’enoncé du théorème de stabilité dans un cas particulier utile en pratique.
Pour une présentation détaillée du résultat général de stabilité on se reportera à
[14].
Soit K un complexe simplicial fini de dimension d et soient f et g deux fonctions définies sur les sommets de K. On note F et G les filtrations de K associées à
21
1
9
8
0.5
7
0
6
−0.5
5
−1
4
3
−1.5
2
−2
1
0−diagramme de
persistance
−2.5
−3
−3
−2.5
−2
−1.5
−1
−0.5
1−diagramme de
persistance
0
0
0.5
−1
−1
1
0
1
2
3
4
5
6
7
8
9
Figure 8: Exemple de diagrammes de persistance pour la filtration associée à une
fonction définie sur une triangulation d’un carré. Sur le graphe de la fonction les
simplexes rouges (resp. bleus) correspondent au simplexes positifs (resp. négatifs)
appartenant à des paires de durée de vie non nulle.
f et g respectivement comme dans la section 2.4.2. Pour un entier k ∈ {0, · · · d}, on
note D f et Dg les diagrammes de persistance k-dimensionnels de f et g. Rappelons
que D f et Dg sont des “multi-ensembles"’ au sens où certains points peuvent posséder une multiplicité supérieure à 1. Rappelons aussi que la diagonale de R2 est
contenue dans chacun des diagrammes.
22
Figure 9: Un exemple sur des données réelles de diagrammes de persistance pour la
filtration associée à une fonction définie sur une triangulation d’un carré (Données
CEA de Valduc). Les couleurs des points sont associées à leur multiplicité.
Définition 3.6 La distance “bottleneck” entre D f et Dg est définie par
dB (D f , Dg ) = inf sup kp − γ (p)k∞
γ p∈D
f
où γ décrit l’ensemble des bijections entre les multi-ensembles D f et Dg (un point
de multiplicité m est considéré comme m copies distinctes de ce point) et où kp −
qk∞ = max(| x p − xq |, | y p − yq |).
En notant,
k f − gk∞ =
sup
v∈Sommets(K)
| f (v) − g(v) |
la distance entre f et g on a le résultat de stabilité suivant.
Théorème 3.7
dB (D f , Dg ) ≤ k f − gk∞
23
dB
Figure 10: Distance bottleneck entre deux diagrammes de persistance
Le théorème précédent signifie que si on perturbe les valeurs d’une fonction
aux sommets de K d’au plus ε , alors les points du diagramme de persistance de
cette fonction ne sont pas déplacés de plus de ε . Cet énoncé ne permet de comparer que des fonctions définies sur le même complexe simplicial. L’énoncé suivant (qui est encore un cas particulier du théorème général de persistance) permet de
comparer les diagrammes de persistance d’une fonction définie sur deux décompositions simpliciales différentes d’un même espace.
Soit X un espace topologique et soient K et K ′ deux complexes simpliciaux
homéomorphes à X. On note φ : K → X (resp. φ ′ : K ′ → X) un homéomorphisme
entre K (resp. K ′ ) et X. Soit f : X → R une fonction continue. On note D f (K)
(resp. D f (K ′ )) le diagramme de persistance de la restriction de f ◦ φ (resp. f ◦ φ ′ )
aux sommets de K (resp. de K ′ ).
Théorème 3.8 soit ε > 0 tel que pour tout simplexe σ de K (resp. de K ′ ), supx,y∈σ |
f ◦ φ (x) − f ◦ φ (y) |< ε (resp. supx,y∈σ | f ◦ φ ′ (x) − f ◦ φ ′ (y) |< ε ). On a alors
dB (D f (K), D f (K ′ )) ≤ 2ε
En d’autres termes, étant donné une fonction continue f sur un espace topologique
X, le diagramme de persistance de la filtration induite sur une “triangulation” de
X dépend d’autant plus faiblement du choix de la triangulation que celle-ci est
“fine”. Ce dernier énoncé justife la démarche consistant à discrétiser une fonction
continue aux sommets d’une décomposition simpliciale de l’espace sur lequelle
elle est définie. La combinaison des théorèmes 3.7 et 3.8 permet de comparer les
diagrammes de persistance de deux fonctions continues définies sur un même espace topologique. Une illustration en est donnée sur la figure 11. On notera que
la diagonale de R2 joue un rôle “absorbant” : sur la figure 11, la bijection réalisant la distance bottleneck entre les deux diagrammes envoie les points noirs sur
la diagonale.
24
e
e
d
c
c
b
a
b
d
e
c
b
d
Figure 11: Comparaison des diagrammes de persitances de deux fonctions proches
définies sur un segment
4 Retrouver la topologie d’une forme à partir d’un nuage
de points
Dans cette section on aborde la question de la détermination de la topologie d’une
forme à partir d’une approximation de celle-ci. L’exemple typique est celui de la
figure 12 : on dispose d’un échantillon de points K ′ mesurés au voisinage d’une
forme inconnue K et on souhaite déterminer la topologie de K. Ainsi formulé, ce
problème est vaste et mal posé. Il est nécessaire de préciser la notion de proximité
entre la forme et le nuage de points. Il est également nécessaire de préciser, suivant
le contexte, ce qui est entendu par “déterminer la topologie”. Par exemple dans le
cadre de la reconstruction de surface lisses dans R3 (qui a fait l’objet d’un nombre
impressionnant de travaux dans la dernière décennie), on cherche à reconstruire un
modèle qui soit proche, homéomorphe voire isotope à la forme approchée. Malheureusement, lorsque les formes approchées sont non lisses ou plongées dans des
espaces de dimension supérieure à 3 ou 4, ou que la qualité de l’approximation
n’est pas suffisante, il n’est pas possible (avec les algos de reconstruction classiques) de reconstruire un modèle des formes. On s’intéresse alors à la détermination de leurs caractéristiques topologiques (type d’homotopie, homologie, etc..).
D’autre part, il n’est pas difficile de voir qu’on ne peut pas répondre positivement
au problème de l’apprentissage de la topologie sans faire aucune hypothèse sur la
forme et sur la qualité de l’échantillon. Il faut donc déterminer des hypothèses
sur la géométrie des formes et des conditions d’échantillonnage qui permettent
25
d’apporter des réponses satisfaisantes. Il est entendu que ces hypothèses doivent
être réalistes, c’est-à-dire suffisamment générale pour couvrir une bonne partie des
situations rencontrées en pratique.
Dans les sections suivantes, on présente quelques travaux récents apportant
quelques réponses aux questions soulevées précédemment. L’approche est basée
sur l’étude des propriétés de stabilité topologique des (hyper)surfaces de niveau
des fonctions distance aux objets considérés.
Figure 12: Un nuage de points (à gauche) prélevé sur un tore noué (à droite).
Comment retrouver la topologie du tore noué à partir du nuage de points?
Dans la suite, toutes les formes considérées (y compris les nuages de points)
seront représentées par des sous-ensembles compacts de Rk .
4.1
Fonction distance et distance de Hausdorff
Dans la suite la proximité entre compacts est mesurée au moyen de la distance de
Hausdorff qui est intimement liée à la notion de fonction distance.
La fonction distance RK à un sous-ensemble compact K de Rk associe à chaque
point x ∈ Rk sa distance à K:
x 7→ RK (x) = min d(x, y)
y∈K
où d(x, y) est la distance euclidienne entre x et y. Cette fonction est continue et 1Lipschitz: |RK (x) − RK (y)| ≤ kx − yk pour tous x, y ∈ Rk . De plus, elle caractérise
complètement le compact K puisque K = {x ∈ Rk | RK (x) = 0}.
Pour tout réel positif α , on note K α le α -offset de K, défini par
K α = {x | RK (x) ≤ α }
La distance de Hausdorff dH (K, K ′ ) entre deux compacts K et K ′ dans Rk est le
nombre minimum r tel que K ⊂ K ′r and K ′ ⊂ K r . La distance de Hausdorff entre
26
deux ensemble compacts est aussi donnée par
′
dH (K, K ) = max
′
sup d(x, K ), sup d(y, K)
x∈K
=
y∈K ′
!
sup |RK (x) − RK ′ (x)|
x∈Rn
La distance de Hausdorff définit une distance sur l’ensemble K (Rk ) des sousensembles compacts de Rk qui devient alors un espace métrique complet. De plus,
si K est un compact fixé, l’espace métrique (K (Rk )K , dH ) des sous-ensembles
compacts contenus dans K est compact (voir [2] section 9.11 par exemple).
x
RK (x)
K′
dH (K, K ′ )
K
Figure 13: La distance de Hausdorff entre deux cercles
L’approche adoptée dans la suite consiste à comparer la topologie des offsets
des compacts proches pour la distance de Hausdorff (plutôt que de comparer la
topologie des compacts eux-mêmes) - voir figure 14.
Exercice 4.1 Soient K, K ′ ⊂ Rk des compacts.
1. Montrer que RK est une fonction 1-Lipschitz.
2. Montrer que dH est une distance sur l’ensemble des sous-ensembles compacts
de Rk .
3. Montrer que les trois définitions précédentes de distance de Hausdorff sont
equivalentes.
4. Remarquer que la distance de Hausdorff peut-être définie entre deux sousensembles quelconques de Rk mais dans ce cas, ce n’est plus une distance : donner
un exemple qui illustre cette remarque.
4.2
Le gradient de la fonction distance et ses points critiques
Etant donné un compact K ⊂ Rk , sa fonction distance n’est pas partout différentiable. Cependant, il est possible de définir un gradient généralisé pour cette fonction ∇K : Rk → Rk qui coincide avec la notion usuelle de gradient aux points où la
fonction RK est différentiable.
27
Figure 14: Différents offsets d’un nuage de points échantillonnés au voisinage d’un
tore
Pour tout point x ∈ Rk \ K, on note ΓK (x) l’ensemble des plus proches voisins
de x dans K (figure 4.2):
ΓK (x) = {y ∈ K | d(x, y) = d(x, K)}
C’est un ensemble non vide et compact pour tout x ∈ Rk .
Définition 4.2 L’ensemble des points x ∈ Rk tels que ΓK (x) contienne plus d’un
point est l’axe médian de K. On le note M (K).
Exercice 4.3 Quel est l’axe médian d’un ensemble fini de points dans Rk ?
On note σK (x) la plus petite boule contenant ΓK (x) (cf. figure 4.2). On note
ΘK (x) et FK (x) respectivement le centre et le rayon de cette boule.
Pour x ∈ Rk \ K, le gradient généralisé ∇K (x) est défini par
∇K (x) =
x − ΘK (x)
RK (x)
Par convention, on a ∇K (x) = 0 pour x ∈ K. Pour x ∈ Rk \ K, la norme du gradient
est donnée par la relation suivante :
k∇K (x)k2 = 1 −
FK (x)2
RK (x)2
(1)
En d’autres termes, la norme du gradient de RK est égale au cosinus de l’angle
au sommet du cône circulaire de sommet x s’appuyant sur la boule σK (x) (voir
figure 4.2).
28
ΓK (x)
K
σK (x)
RK (x)
FK (x)
θK (x)
x
1
∇K (x)
Figure 15: A 2-dimensional example with 2 closest points.
Il est important de noter que le gradient ∇K (x) n’est pas un champs de vecteur
continu, i.e. que l’application x ∈ Rk → ∇K (x) ∈ Rk n’est pas continue. Cependant,
on peut démontrer [28] que sa norme est semi-continue inférieurement 5 et qu’il
est intégrable, c’est-à-dire que l’équation différentielle
dX
= ∇K (X(t))
dt
admet des solutions. Plus précisément, les schémas d’Euler convergent uniformément lorsque le pas d’intégration décroit vers un flot continu C : R+ × Rk → Rk tel
que t 7→ C(t, x) est la trajectoire de ∇K passant par x t = 0. De plus, cette trajectoire
continue peut être paramétrée par son abscisse curviligne s 7→ C(t(s), x) et on a la
relation suivante
RK (C(t(l), x)) = RK (x) +
Z l
0
k∇K (C(t(s), x)kds
(2)
Cette équation implique que la fonction RK est croissante le long des trajectoires
du champ ∇K . Il a été prouvé dans [28] que la fonction FK est aussi croissante le
long des trajectoires de ∇K .
Exercice 4.4 Montrer que l’application x 7→ ΓK (x) est semi-continue, c’est-à-dire
que
∀x, ∀r > 0, ∃α > 0, ky − xk ≤ α ⇒ ΓK (y) ⊂ {z : d(z, ΓK (x)) ≤ r}
Exercice 4.5
Montrer que pour tout x, ΘK (x) est le point le plus proche de x sur l’enveloppe
convexe de ΓK (x).
Montrer que si x ∈ M (K) alors k∇K (x)k < 1.
fonction f : Rk → R est semi-continue inférieurement si pour tout a ∈ R, f −1 (] − ∞, a]) est
un ensemble fermé de Rk .
5 une
29
Le gradient ∇K permet de définir la notion de point critique pour RK comme
dans le cas des fonctions différentiables.
Définition 4.6 Un point x ∈ Rk est un point critique de RK si ∇K (x) = 0. Un réel
c ≥ 0 est une valeur critique de RK s’il existe un point critique x ∈ Rk tel que
RK (x) = c. Une valeur régulière de RK est une valeur qui n’est pas critique.
Par abus de langage et lorsque cela ne prête pas à confusion, on parle parfois
de point critique (ou régulier) de K (au lieu de RK ).
Exercice 4.7 Montrer que pour tout x ∈ Rk , on a l’équivalence :
(x est un point critique de RK ) ⇐⇒ (x est dans l’enveloppe convexe de ΓK (x))
Exercice 4.8 Soit K un ensemble fini de points dans R2 (qu’on peut supposer en
position générale). Montrer que x ∈ R2 est un point critique de RK si et seulement
si x est :
- soit un point de K,
- soit l’intersection d’une arête de Voronoï avec son arête de Delaunay duale,
- soit l’intersection d’un sommet de Voronoï avec son triangle de Delaunay dual.
Comment cette propriété se généralise-t-elle à des nuages finis de points en dimension plus grande?
Remarque. La notion de point critique introduite dans cette question coïncide
avec une notion de point critique plus généralement utilisée en géométrie riemannienne (voir par exemple [25, 12]) et en analyse non lisse où la notion de gradient
de Clarke est intimement liée à celle définie précédemment (voir [13]). Dans la
cas particulier où K est un ensemble fini, diverses variantes de la notion de flot introduite dans cette section ont été introduite indépendamment par H. Edelsbrunner
[19], J. Giesen et al. [24] et R. Chaine [4] en utilisant les diagrammes de Voronoï
et les triangulations de Delaunay.
4.3
Topologie des niveaux de la fonction distance
Certaines propriétés des fonctions distances sont similaires à celles des fonctions
différentiables. En particulier, les niveaux réguliers de RK sont des sous-variétés
topologiques de Rk et leur topologie ne peut changer qu’aux points critiques. Ces
propriétés sont explicitées dans les théorèmes suivants dont on trouvera la preuve
dans [25].
Théorème 4.9 Soit r une valeur régulière de RK . L’ensemble R−1
K (r) est une sousvariété topologique de dimension n − 1 de Rk .
Théorème 4.10 Soient r1 < r2 ∈ R+ tels que [r1 , r2 ] ne contienne pas de valeur
critique de RK . Alors, tous les niveaux R−1
K (r), r ∈ [r1 , r2 ], sont homéomorphes (et
même isotopes) et l’anneau
A(r1 , r2 ) = {x ∈ Rk : r1 ≤ RK (x) ≤ r2 }
30
est homéomorphe à R−1
K (r1 ) × [r1 , r2 ].
Une conséquence immédiate de ces théorèmes est que la topologie des offsets
de RK ne peut changer qu’au passage d’une valeur critique. Le weak feature size
de K est la borne inférieure de l’ensemble des valeurs critiques non nulles de RK :
wfs (K) = inf{c ∈]0; +∞[: c est une valeur critique de RK }
Si RK ne possède aucune valeur critique, wfs (K) = +∞. On a alors le corollaire
suivant.
Proposition 4.11 Soit K un sous-ensemble compact de Rk et soient deux réels
0 < α ≤ β < wfs (K). Alors les offsets K α et K β sont isotopes.
Intuitivement, cette propriété signifie que la “connaissance de K à α près” fournit la même information sur la topologie de K pour toutes les valeurs 0 < α <
wfs (K). D’autre part, le théorème suivant permet de comparer la topologie des
offsets de deux compacts dont les weak feature size sont strictement positifs.
Théorème 4.12 [8, 9] Soient K et K ′ deux sous-ensembles compacts de Rk tels
qu’il existe ε > 0 vérifiant wfs (K) > 2ε , wfs (K ′ ) > 2ε et dH (K, K ′ ) < ε . On a :
(i) Rk \ K et Rk \ K ′ ont le même type d’homotopie.
(ii) Pour tout 0 < α ≤ 2ε , les offsets K α et K ′α ont le même type d’homotopie.
L’équivalence d’homotopie se prouve en utilisant la proposition 2.4 et le champ
de gradient de chacun des deux compacts. Une preuve de ce résultat est donnée
dans [8] (proposition 3.3). Les compacts à weak feature size (strictement) positif constituent donc une classe de compact possédant d’intéressante propriétés de
stabilité topologique. De plus, cette classe est suffisament large pour inclure la
plupart des “formes” rencontrées dans les applications pratiques. En particulier,
les variétés différentiables, les polyèdres et plus généralement les sous-ensembles
compacts obtenus à partir d’équations et d’inéquations analytiques (connus sous le
nom de sous-analytiques) ont un weak feature size non nul (voir [8], proposition
3.6).
Cependant le résultat précédent présente un inconvénient majeur l’empechant
d’être réellement utile dans un contexte applicatif. En effet, l’hypothèse faite sur la
distance entre K et K ′ implique à la fois wfs (K) et wfs (K ′ ). Or, dans le cas ou K est
approximé par un nuage de points K ′ , plus le nuage est dense, plus wfs (K ′ ) est petit
6 . Il en résulte que même si K possède un grand weak feature size, il peut arriver
que quelque soit la qualité de l’échantillonnage K ′ les hypothèses du théorème ne
soient jamais satisfaites. Le but de ce qui suit est d’améliorer le théorème précédent
afin de lever cette difficulté et d’obtenir un résultat de reconstrution par offsets. Les
résultats des section suivantes sont établis dans [6].
6 Exercice
: Montrer que le weak feature size d’un nuage de points est égal à la moitié de la
distance entre les deux points les plus proche du nuage
31
Exercice 4.13 Montrer que si K est un sous-ensemble compact convexe de Rk
alors wfs (K) = +∞.
4.4
Etude de la stabilité des points critiques de RK
Puisque la topologie des offsets d’un compact K ne peut changer qu’aux points
critiques de RK , il est naturel d’étudier la stabilité de ces points critiques lorsque K
est remplacé par un compact K ′ qui lui est proche pour la distance de Hausdorff.
Malheureusement, il n’est pas difficile de voir que les points critiques de RK ne
dépendent pas continuement de K comme le montre l’exemple de la figure 16. Le
premier compact K est constitué de deux segments parallèles. Son axe médian
est la droite médiatrice des deux segments et l’ensemble des points critiques est le
segment rouge contenu dans M (K). Le second compact K ′ est obtenu à partir de
K en “écartant” légèrement et symétriquement les extrémités inférieures des deux
segment constituant K. Cette perturbation peut être faite de sorte à maintenir la
distance de hausdorff entre K et K ′ arbitrairement petite. L’axe médian de K ′ est le
même que celui de K mais l’ensemble des points critiques de K ′ est alors réduit au
seul point rouge.
Cette remarque négative a pour conséquence immédiate que le weak feature size de
K ne dépend pas continuement de K. Il en résulte que les hypothèses du théorème
4.12 sont trop restrictives pour être utiles en pratique : on notera par exemple que
si K ′ est un nuage de point approximant un compact K sont weak feature size est
égal à la demi distance entre les deux points les plus proches du nuage. Ainsi, plus
l’approximation de K par K ′ est bonne, plus le weak feature size de K ′ est petit.
K′
K
M (K ′ )
M (K)
Figure 16: Un exemple montrant l’instabilité des points critiques.
En examinant plus attentivement l’exemple de la figure 16, il apparaît que la
norme de ∇K ′ le long du segment où RK est critique est d’autant plus petite que la
distance entre K et K ′ est petite. Ceci est en fait un phénomène général qui motive
l’introduction de la notion de point µ -critique.
32
Définition 4.14 Un point x ∈ Rk est µ -critique pour K si k∇K (x)k ≤ µ .
En particulier, les points 0-critiques sont exactement les points critiques de RK .
On remarque également qu’un point x est µ -critique avec µ < 1 si et seulement
si xi nM (K). Le lemme suivant montre que la fonction distance RK ne peut pas
croître trop vite au voisinage d’un point µ -critique.
Lemme 4.15 soit K ⊂ Rk un compact et x un de ses points µ -critiques. Pour tout
y ∈ Rk , on a :
RK (y)2 ≤ RK (x)2 + 2µ RK (x)||x − y|| + ||x − y||2
P REUVE . Notons Γ = ΓK (x), S la sphère de centre x et de rayon RK (x), c = θK (x)
le centre de la plus petite sphère contenant Γ et α = arccos(µ ) (voir la figure 17).
Pour tout x′ ∈ Γ on a
RK (y)2 ≤ ky − x′ k2 = < (y − x) + (x − x′ ), (y − x) + (x − x′ ) >
= ky − xk2 + kx − x′ k2 + 2 < (y − x), (x − x′ ) >
= RK (x)2 + 2RK (x)kx − yk cos(y − x, x − x′ ) + kx − yk2
Pour prouver le lemme, il suffit donc de montrer que
(∗) il existe un point x′ dans Γ tel que l’angle entre (y − x) et (x′ − x) soit inférieur
ou égal à π − α .
On distingue deux cas.
Cas 1 : µ 6= 0
Supposons que (∗) n’est pas vérifiée. Alors, pour tout x′ ∈ Γ l’angle entre x′ − x et
x − y est strictement inférieur à α . Comme Γ est compact, il s’ensuit qu’il existe
α ′ < α tel que Γ est contenu dans le cône circulaire de sommet x d’axe la demidroite dirigée par x − y et d’angle au sommet α ′ < α . Ce cône intersecte S le long
d’une (k − 2)-sphère de centre c′ et de rayon R′ = RK (x) sin α ′ et comme Γ est
aussi contenu dans S, Γ est contenu dans la boule de centre c′ et de rayon R′ . Or
R′ == RK (x) sin α ′ < RK (x) sin α = FK (x) : contradiction.
Cas 2 : µ = 0
α = π2 et Γ n’est contenu dans aucun hémisphère de S. Il existe donc au moins un
point x′ dans Γ tel que ’angle entre (y − x) et (x′ − x) soit inférieur ou égal à π2 .
Le lemme précédent permet d’étudier le comportement des points µ -critiques
lorsque K est remplacé par un compact K ′ proche pour la distance de Hausdorff.
Lemme 4.16 Soient K et K ′ deux compacts de Rk tels que dH (K, K ′ ) ≤ ε . Pour
tout point x µ -critique pour K et pour tout ρ > 0, il existe un point µ ′ -critique pour
K ′ à distance au plus ρ de x avec
µ′ ≤
ρ
ε
+2 +µ
2RK (x)
ρ
33
c′
x3
c
x1
x2
α
x
B
c′′
Figure 17: Preuve du lemme 4.15
P REUVE . Soit s → C(s) la trajectoire de ∇K ′ issue de x et paramétrée par son abscisse curviligne. Si C(s) rencontre un point critique de K ′ avant s = ρ alors le
lemme est démontré. On considère donc le cas où C(s) ne rencontre aucun point
critique de K ′ dans l’intervalle [0, s]. En notant y = C(ρ ), l’équation 2 s’écrit
RK ′ (y) − RK ′ (x) =
Z ρ
0
k∇K ′ (C(s))kds
il existe donc un point p sur la courbe C entre s = 0 et s = ρ tel que
k∇K ′ (p)k ≤
RK ′ (y) − RK ′ (x)
ρ
(3)
La courbe C étant paramétrée par son abscisse curviligne, le point p est contenu
dans la boule de centre x et de rayon ρ . D’autre part le lemme 4.15 appliqué à x, y
et K donne
q
RK (y) ≤ RK (x)2 + 2µ RK (x)||x − y|| + ||x − y||2
En combinant cette inégalité avec le fait que pour tout z ∈ Rk , |RK (z) − RK ′ (z)| ≤ ε
(qui est impliqué par dH (K, K ′ ) ≤ ε ) on obtient
q
RK ′ (y) − RK ′ (x) ≤ RK (x)2 + 2µ RK (x)||x − y|| + ||x − y||2
−RK (x) + 2ε
s
≤ RK (x)[ 1 +
2µ ||x − y|| ||x − y||2
+
− 1]
RK (x)
RK (x)2
+ 2ε
≤ µ ||x − y|| +
34
||x − y||2
+ 2ε
2RK (x)
√
la dernière inégalité étant obtenue en utilisant que 1 + u ≤ 1 + 2u pour tout u ≥ 0.
En remarquant que kx − yk ≤ ρ , en divisant par ρ et en appliquant l’inégalité 3, on
conclue la preuve du lemme.
Le choix de ρ dans le lemme précédent étant arbitraire,
on peut optimiser la
p
borne
obtenue.
Elle
atteint
son
minimum
pour
ρ
=
2
ε
R
(x)
et est alors égale à
K
p
2 ε /RK (x) + µ . On en déduit immédiatement le théorème suivant.
Théorème 4.17 (Théorème de stabilité des points critiques) Soient K et K ′ deux
k
′
tout point µ -critique
compacts de
pR tels que dH (K, K ) ≤ ε . Pour
p x de K, il existe
un point (2 ε /RK (x) + µ )-critique de K ′ à distance au plus 2 ε RK (x) de x.
Remarque. En utilisant le fait que la fonction RK ′ est croissante le
plong des trajectoires de ∇K ′ , il résulte de la preuve du lemme 4.16 le point p (2 ε /RK (x) + µ )critique de K ′ du théorème peut être choisi tel que RK ′ (p) ≥ RK ′ (x).
4.5
La fonction critique d’un compact
Malgré sa simplicité, le théorème précédent est au coeur des résultats de stabilité
qui seront établis dans la suite. En particulier il permet de définir un cadre théorique
assez large pour lequel la topologie et la géométrie des compacts peut être déduite
à partir d’approximations.
On commence par introduire un fonction qui encode toutes les valeurs µ critiques de RK .
Définition 4.18 La fonction critique d’un compact K ⊂ Rn , χK : (0, +∞) → R+
est la fonction réelle définie par
χK (d) = inf ||∇K ||
R−1
K (d)
Des exemples de fonctions critiques sont données sur la figure 18. L’intérêt principal de la fonction critique est de donner des information sur l’existence (ou non) à
proximité de K d’un compact ayant une topologie “stable” (dans un sens à définir
dans la suite). En utilisant le théorème de stabilité des points critiques, il n’est
pas difficile de démontrer que la fonction critique possède la propriété de stabilité
technique (mais utile) suivante.
Théorème 4.19 (théorème de stabilité de la fonction critique) Soient K et K ′ deux
compacts de Rk tels que dH (K, K ′ ) ≤ ε . Pour tout d ≥ 0 , on a :
r
ε
′
inf{χK (u) | u ∈ I(d, ε )} ≤ χK (d) + 2
d
√
avec I(d, ε ) = [d − ε , d + 2χK (d) ε d + 3ε ]
35
1.0
0.0
5.0
10.0
15.0
20.0
25.0
30.0
35.0
40.0
45.0
Figure 18: La fonction critique d’un carré plongé dans R3 avec une longueur de
coté égale à 50 (en haut) et la fonction critique d’un nuage de point échantillonnant
ce carré (en bas).
Ce théorème assure que si la fonction critique de K ′ n’est pas plus petite qu’une
valeur α sur l’intervalleqI(d, ε ) alors la fonction critique
q de K en d ne pourra pas
être inférieure à α − 2 dε . En particulier, si α > 2 dε , alors, d n’est pas une
valeur critique de RK .
D’un point de vue algorithmique, on remarquera que la fonction critique d’un
nuage de points dans R3 est calculable sans grande difficulté (en supposant qu’on
sache calculer le diagramme de Voronoï ou la triangulation de Delaunay du nuage
de points).
7
P REUVE . Soit d ≥ 0 et soit x ∈ R−1
K (d) tel que k∇K (x)k = χK (d) . Le théorème
p
de stabilité des points critiques assure qu’il existe
un point p qui est (2 ε /d +
√
χK (d))-critique pour K ′ à distance au plus 2 ε d de x. Si on applique le lemme
7 on notera que l’existence d’un tel point résulte du fait que la borne inférieure intervenant dans la
définition de la fonction critique est en fait un minimum. En effet, comme cela a été mentionné dans
la section 4.2 la fonction k∇K k est semi-continue inférieurement. Comme R−1
K (d) est compact, elle
atteint donc sa borne inférieure sur R−1
(d).
K
36
4.15 a x, p et K on obtient
√
d 2 + 4χK (d)d ε d + 4ε d
q
p
≤ d 1 + 4χK (d) ε /d + 4ε /d
√
≤ d + 2χK (d) ε d + 2ε
RK (p) ≤
q
Puisque p peut être choisi tel que RK ′ (p) ≥ RK ′ (x) (cf. remarque suivant le théorème
de stabilité des points critiques) et que |RK ′ (p) − RK (p)| ≤ ε , on déduit immédiatement le théorème de l’inégalité précédente.
Figure 19: Autre exemple de fonction critique d’une forme échantillonnée
4.6
µ -reach et conditions d’échantillonnage
Dans la section 4.3, le weak feature size qui est la borne inférieure des valeurs
critiques non nulles de RK a permis de donner un premier résultat de stabilité
topologique pour les offsets de compacts lorsque leur distance de Hausdorff est
une fraction de leurs weak feature size. Pour affiner le résultat du théorème 4.12,
on introduit maintenant, la notion de µ -reach qui est une version à paramètre du
weak feature size.
Définition 4.20 Pour 0 < µ ≤ 1, le µ -reach rµ (K) d’un compact K ⊂ Rn est défini
par :
rµ (K) = inf{d | χK (d) < µ }
37
Par analogie avec le weak feature size, le µ -reach de K est la borne inférieure
des valeurs µ -critiques de RK . Lorsque µ = 1, le 1-reach est connu sous le nom de
reach et a été introduit par H. Federer [22] dans le cadre de la théorie de la mesure
géométrique. La fonction µ → rµ (K) est une fonction décroissante et on a
lim rµ (K) ≤ wfs (K)
µ →0+
mais il faut faire attention que cette inégalité peut être stricte.
Exercice 4.21 Donner un exemple de compact tel que limµ →0+ rµ (K) ≤ wfs (K).
On associe aµ -reach une condition d’échantillonnage
Définition 4.22 Etant donnés deux réels positifs κ et µ , on dit qu’un compact
K ⊂ Rn est une (κ , µ )-approximation d’un compact K ′ ⊂ Rn si la distance de
Hausdorff entre K et K ′ ne dépasse pas κ fois le µ -reach de K ′ :
dH (K, K ′ ) ≤ κ rµ (K ′ )
Les (κ , µ )-approximations sont des généralisations de certaines conditions d’échantillonnages
introduites dans le contexte de la reconstruction de surfaces dans R3 . Par exemple
lorsque K ′ est une surface lisse de R3 et que K est un nuage de points, la notion
de (κ , µ )-approximation est très liée à celle de (ε , κ )-échantillon introduite dans
[?].Les (κ , 1)-approximations sont semblables aux r-échantillons introduits dans
[29]
4.7
Séparation des valeurs critiques
Le qu’un compact ait un µ -reach positif implique des contraintes sur la localisation
des points critiques des fonction distance aux compacts qui sont proches.
Théorème 4.23 (Théorème de séparation des valeurs critiques) Soient K et K ′
deux sous-ensembles compacts de Rk , ε la distance de Hausdorff entre K et K ′ ,
et µ un réel positif. La fonction ditance RK n’a pas de valeur critique dans
l’intervalle ]4ε /µ 2 , rµ (K ′ ) − 3ε [. De plus, pour tout µ ′ < µ , χK est supérieure
à µ ′ sur l’intervalle
q
4ε
′
(K
)
−
3
ε rµ (K ′ )[
]
,
r
µ
(µ − µ ′ )2
Ce théorème est une application directe du théorème de stabilité de la fonction
critique. Sa preuve est laissée à titre d’exercice. On pourra également la trouver
dans [6]. Signalons qu’on peut construire des exemples de compacts montrant
que les bornes de l’intervalle de séparations des valeurs critiques sont quasiment
optimales (voir [6] pour un exemple explicite).
38
4.8
Reconstruction
Les propriétés de stabilité des valeurs critiques mises en évidence dans les sections
précédentes permettent de démontrer facilement des résultats de reconstruction à
partir d’approximations. Le théorème suivant donne une condition générale assurant l’isotopie entre les offsets de deux compacts.
Théorème 4.24 (Théorème de reconstruction isotope) Soit K ′ ⊂ Rn un compact
tel que rµ (K ′ ) > 0 pour une valeur µ > 0. Soit K une (κ , µ )-approximation de K ′
où
!
√
5
µ2
− 1,
κ < min
2
16 + 2µ 2
et soient d, d ′ tels que
0 < d ′ < wfs (K ′ ) and
4κ rµ
≤ d < rµ (K ′ ) − 3κ rµ
µ2
−1 ′
Alors l’hypersurface de niveau R−1
K (d) est isotope à l’hypersurface de niveau RK ′ (d ).
La preuve complète de ce résultat général fait appel à quelques notions qui
n’ont pas été abordées dans ce cours. On la trouvera dans [5]. Nous nous contenterons ici d’en prouver la version (plus faible) suivante.
Théorème 4.25 Soit K ⊂ Rn une (κ , µ )-approximation d’un compact K ′ ⊂ Rn . Si
κ<
µ2
5µ 2 + 12
alors le complémentaire de K α a le type d’homotopie du complémentaire de K ′ , et
K α a le type d’homotopie de K ′η pour η > 0 suffisamment petit pourvu que
4dH (K, K ′ )
≤ α < rµ (K ′ ) − 3dH (K, K ′ )
µ2
P REUVE . Le théorème de séparation des valeurs critique appliqué à K et K ′ implique que RK ne possède pas de points critiques dans l’intervalle ]4ε /µ 2 , rµ (K ′ )−
3ε [. Les offsets de RK correspondant aux valeurs contenue dans cet intervalle
sont donc tous deux à deux isotopes et il suffit alors de prouver le théorème pour
α = 4ε /µ 2 . En remarquant que les fonctions critiques de K et K α sont liées par la
relation
χK α (d) = χK (d + α )
on déduit que wfs (K α ) ≥ rµ (K ′ ) − 3ε − 4ε /µ 2 . D’autre part, on a
dH (K α , K ′ ) ≤ ε +
39
4ε
µ2
D’après le théorème 4.12, la conclusion du théorème est vérifiée dès que
dH (K α , K ′ ) ≤
1
min(wfs (K α ), wfs (K ′ ))
2
On vérifie immédiatement que cette condition est équivalente à celle faite sur κ
dans l’énoncé du théorème.
Enfin, signalons qu’en spécialisant un peu les preuves précédentes, on obtient
le résultat suivant lorsque le compact K ′ est une sous-variété lisse (ou plus précisément dont le reach est strictement positif). On se reportera à [33, 10]pour une
preuve de ce résultat et sa généralisation à des conditions d’échantillonnage plus
faibles.
Théorème 4.26 Si K est une (κ , 1)-approximation de K ′ pour κ < 0.1, alors pour
−1
tout α ∈ [ 27 κ r1 (K ′ ), (1 − 92 κ )r1 (K ′ )], les hypersurfaces R−1
K ′ (α ) et RK (α ) sont isotopes.
5 Axes médians : stabilité et approximation
L’axe médian d’une forme (ou pour être plus formel d’un compact) K ⊂ Rn , est
l’ensemble des points de Rn qui possèdent au moins deux plus proches voisins sur
K. En reprenant les notation de la section précédente, c’est l’ensemble des points
x ∈ Rn tel que ΓK (x) ne soit pas réduit à un point (voir figure 20). Il s’agit d’un objet
qui apparaît naturellement dans divers domaines tels que l’analyse d’image, la morphologie mathématique, la modélisaton de solides, la CFAO ou la reconstruction de
courbes et de surfaces. La question de son calcul et de son approximation efficace
à partir d’un ensemble fini de mesures d’une forme se pose donc naturellement (on
pourra consulter [1] pour un survey récent sur le sujet). Malheureusement, nous
verrons dans cette section que l’axe médian est un objet instable et difficilement approximable. L’étude de la fonction distance faite dans la section précédente fournit
des outils pour comprendre la nature de l’instabilité de l’axe médian et proposer de
nouvelles variantes de l’axe médian plus facilement approximables.
5.1
L’axe médian
Définition 5.1 Soit K un sous-ensemble compact de Rn . L’axe médian de K, noté
M (K) est l’ensemble des points de Rn possédant au moins deux plus proches
voisins sur K:
M (K) = {x ∈ Rn : |ΓK (x)| ≥ 2}
Il découle immédiatement de la définition précédente que l’axe médian de K
est aussi l’ensemble des points ou le gradient ∇K (x) est de norme strictement inférieure à 1:
M (K) = {x ∈ Rn : k∇K (x)k < 1}
40
S
Figure 20: L’axe médian d’une courbe dans le plan
Figure 21: L’axe médian d’un nuage de points est son diagramme de Voronoï.
41
Lorsque K est un nuage de points dans Rn , l’axe médian de K est le diagramme de
Voronoï de K (figure 21)
Avertissement important: pour des raisons techniques, dans toute la suite, au
lieu de considerer tout l’espace Rn on se restreindra à une boule B(0, R) de rayon
R >> 1 suffisamment grand pour contenir tous les compacts que nous considérerons. A chacun de ces compacts K, on rajoutera, SANS LE MENTIONNER,
la sphère S(0, 10R) concentrique de la boule précédente et de rayon dix fois plus
grand. En particulier, on notera encore M (K) l’axe médian de K ∪ S(0, 10R)
et on entendra par “complémentaire de K”, le complémentaire de K dans la
boule B(0, 10R).
On remarquera que cet artifice technique ne change pas l’axe médian de K dans
la boule B(0, R) :
Exercice 5.2 (ici on n’utilise pas les conventions précédent l’avertissement) Montrer que M (K) ∩ B(0, R) = M (K ∪ B(0, 10R)) ∩ B(0, R).
Une des propriétés remarquable de l’axe médian est qu’il porte la topologie du
complémentaire du compact K.
Théorème 5.3 [28] Soit K ⊂ Rn un compact. Le complémentaire de K et M (K)
ont le même type d’homotopie.
La preuve (assez technique) de ce résultat repose sur l’intégrabilité du champs
de gradient ∇K (voir section 4.2). Elle n’est pas donnée ici. On la trouvera dans
[28].
5.2
Instabilité de l’axe médian
L’inconvénient majeur de l’axe médian est son instabilité : lorsque le compact K est
remplacé par un compact K ′ qui lui est proche pour la distance de Hausdorff, l’axe
médian de K ′ n’est en général pas proche de l’axe médian de K. Plus précisément,
dH (K, K ′ ) −→ 0 6⇒ dH (M (K), M (K ′ )) −→ 0
La figure 22 illustre l’instabilité de l’axe médian sur l’exemple très simple d’un
cercle dans le plan. L’approximation de courbes ou de surfaces lisses par des nuages de points fournissent d’autres illustrations de l’instabilité de l’axe médian
(axe médian de la courbe/surface lisse versus diagramme de Voronoï du nuage de
points).
Lorsque les compacts considérés sont des courbes, des surfaces ou plus généralement des sous-variétés lisses 8 il est possible de montrer que l’axe médian est stable
si on remplace la distance de Hausdorff par une distance impliquant les propriétés
tangencielles et de courbure des compacts considérés. On n’abordera pas ce point
8 i.e.
au moins de classe C 2
42
M (K ′ )
M (K)
K′
K
Figure 22: Instabilité de l’axe médian.
de vue dans ces notes et on pourra se reporter à [11] pour plus de détails. D’un
point de vue pratique, (notamment lorsqu’on s’intéresse à des formes échantillonnées par des nuages de points), la distance de Hausdorff reste souvent la notion la
plus pertinente pour comparer des formes à leur approximation.
Il est important de souligner que la stabilité est une question cruciale du point
de vue pratique. Sans propriété de stabilité, l’axe médian d’une forme dont on ne
connait qu’une approximation (typiquement un nuage de points) ne peut pas être
approché de façon certifiée (i.e. avec des garanties de convergence) à partir de l’axe
médian de l’approximation. Il ne s’agit pas d’un problème lié à la façon dont la
forme est approximée mais d’un problème du à la nature même de l’axe médian qui
n’est pas stable. Il existe dans la literatture un certain nombre de travaux portant sur
l’approximation de l’axe médian sous diverses hypothèses (généralement assez restrictives) sur la nature et l’échantillonnage des formes considérées et/ou basés sur
des heuristiques non prouvées. Dans la suite, nous ne considererons pas ces aspects
et nous nous focaliserons sur l’introduction de deux familles de sous-ensembles de
l’axe médian qui possèdent des propriétés de stabilité (prouvées) pour la distance
de Hausdorff.
5.3
Le λ -axe médian (voir [7])
On reprend ici les notations de la section 4.2. Considérons l’exemple de la figure
23. Il illustre l’instabilité de l’axe médian lorsqu’un compact est remplacé par un
échantillon fini de points. On remarque cependant que si on élimine du diagramme
de Voronoï du nuage de points les points x pour lesquels FK (x) est plus petit qu’une
certaine valeur λ , alors le sous-ensemble restant est une bonne approximation. En
d’autres termes, les points de l’axe médian dont l’ensemble ΓK (.) des plus proches
voisins sur K n’est pas contenu dans une boule de rayon trop petit semblent être
stables par perturbations. Ceci est un fait général quantifiable en introduisant la
notion de λ -axe médian.
Définition 5.4 Soit K ⊂ Rn un compact et soit λ > 0 un réel positif. Le λ -axe
43
Figure 23: Filtration de l’axe médian par la fonction FK .
médian de K, noté Mλ (K), est l’ensemble des points de Rn dont les plus proches
voisins sur K ne peuvent pas être inclus dans une boule de rayon strictement inférieur à λ :
Mλ (K) = {x ∈ Rn : FK (x) ≥ λ }
Exercice 5.5 Montrer que :
- Mλ (K) est un sous-ensemble de M (K),
- λ < λ ′ =⇒ Mλ ′ (K) ⊂ Mλ (K)
- Mλ (K) est un sous-ensemble fermé de Rn (utiliser l’exercice 4.4).
Algorithme pour un nuage de points Lorsque K est un nuage de points, il est
important de remarquer que les λ -axes médians se calculent très simplement dès
qu’on dispose du diagramme de Voronoï Vor(K) des points (ce qui est le cas en
dimension 2 ou 3 [3]). En effet, la fonction FK est constante sur les cellules de
Vor(K) puisque deux points sur la même cellule de Voronoï ont les mêmes plus
proches voisins. Ainsi le calcul du λ -axe médian se réduit au calcul pour chaque
simplexe de Delaunay de la plus petite boule le contenant (i.e. la valeur de FK sur la
cellule de Voronoï duale). On obtient ainsi une filtration du diagramme de Voronoï
par les valeurs de FK qui donne l’ensemble des λ -axes médians de K.
Une question ouverte: l’algorithme précédent implique le calcul de l’ensemble
du diagramme de Voronoï de K pour calculer le λ -axe médian quelle que soit la
valeur de λ . Or, lorsque λ n’est pas proche de 0, Mλ peut être d’une taille (nombre
de cellule) bien plus petite que le diagramme de Voronoï. Existe-t-il un algorithme
permettant de calculer directement le λ -axe médian d’un nuage de points (sans
calculer tout le diagramme de Voronoï) dont la complexité dépendrait de la taille
du λ -axe médian?
44
Figure 24: Exemples de λ -axes médians pour un demi-anneau échantillonné : les
deux exemples du haut correspondent à un échantillonnage bruité et à λ = 0.15 (à
gauche) et λ = 0.2 (à droite). L’exemple du bas correspond à des points échantillonnés exactement sur le demi-anneau et à λ = 0.2.
Propriétés topologiques Pour les compacts dont le weak feature size est positif,
le λ -axe médian possède les mêmes propriétés topologiques que l’axe médian.
Théorème 5.6 [7] Si λ < wfs (K) alors Mλ (K) à le type d’homotopie de M (K)
(qui a lui-même le type d’homotopie du complémentaire de K).
P REUVE . La preuve de ce théorème dans le cas général est assez technique. Nous la
donnons ici dans le cas où il existe µ > 0 tel que rµ (K) > 0. Pour cela, on utilise le
flot du gradient ∇K pour construire une application de M (K) dans Mλ (K) vérifiant
les hypothèses de la proposition 2.4.
Rappelons tout d’abord que la fonction FK est croissante le long des trajectoires
de ∇K (section 4.2) donc, si x ∈ Mλ (K), pour tout t ≥ 0 on a C(t, x) ∈ Mλ (K).
D’autre part, en utilisant que rµ (K) > 0 et l’équation 1 on déduit qu’il existe une
constante C > 0 tel que si x ∈ (M (K) \ Mλ (K)), alors k∇K (x)k ≥ C. Il résulte de
la convention adoptée dans la section 5.1 que la fonction distance RK restreinte aux
trajectoires de ∇K est bornée par 10R. Ainsi, l’équation 2 décrivant la croissance de
RK implique que pour tout x ∈ M (K) et pour tout l ≥ C/10R, C(t(l), x) ∈ Mλ (K).
Enfin, l’application H : M (K) × [0, 1] 7→ M (K) définie par
sC
), x)
10R
vérifie les hypothèses de la proposition 2.4 avec X = M (K) et Y = Mλ (K). Ces
deux ensembles ont donc le même type d’homotopie.
H(x, s) = C(t(
45
Propriétés de stabilité Alors qu’il possède les mêmes propriétés topologiques
que l’axe médian, le λ -axe médian ne souffre plus des problèmes d’instabilité de
l’axe médian.
Notons D le diamètre de la boule B(0, 10R) introduite dans la section 5.1 et
soient K ⊂ Rn un compact et λ un nombre réel positif fixé. On a alors le résultat
suivant.
′
Théorème 5.7 [7] Soit 0 < ε < λ /10 et soit K ′ un compact tel que dH (K,
√ K ) <′ ε .
′
′
′2
2
3/2
Pour tout x ∈ Mλ (K ) et pour tout λ > 0 tel que λ < λ − 150D
ε et λ <
′
λ − ε , il existe un point y ∈ Mλ (K) tel que
√ √
d(x, y) ≤ 2 D ε .
On ne donne pas ici la preuve de ce théorème qui est assez technique. On
la trouvera dans [7]. Modulo les conditions techniques imposées à ε et à λ ′ , le
théorème suivant montre que les points
√
√ du λ -axe médian de toute ε -approximation
de K se trouvent à une distance O( ε ) du λ ′ -axe médian de K où λ ′ = λ − O( ε ).
L’introduction de λ ′ < λ qui peut sembler être une condition technique artificielle
est en fait indispensable : par exemple, si K est un cylindre vertical d’axe (Oz) et
de rayon λ − ε et si K ′ est un cylindre de même axe mais de rayon λ (voir figure
25) alors Mλ (K) = 0/ et Mλ (K ′ ) = (Oz). Dans ce cas, le λ -axe médian de K ′ n’est
pas une approximation du λ -axe médian de K!
(Oz)
λ
λ −ε
K′
Figure 25: Un exemple illustrant la nécessité du paramètre λ ′ dans l’énoncé du
théorème 5.7
Il n’est pas difficile de se convaincre que le phénomène mis en évidence dans
l’exemple précédent est une discontinuité de l’application M : λ 7→ Mλ (K) 9 . En
particulier, aux points de continuité de cette application on à le résultat suivant.
Théorème 5.8 Soit K ⊂ Rn un compact et soit λ tel que l’application M soit
continue en λ . Pour toute suite de compacts (Kn ) telle que dH (K, Kn ) → 0 quand
utilise la distance de Hausdorff pour définir la continuité : l’application λ 7→ Mλ (K) est
continue en λ0 si pour tout ε > 0 ∃η > 0 tel que | λ − λ0 |< η ⇒ dH (Mλ , Mλ0 ) < ε .
9 On
46
n → +∞, on a
dH (Mλ (K), Mλ (Kn )) → 0 quand n → +∞
5.4
Le µ -axe médian
Le λ -axe médian fournit une “filtration” de l’axe médian d’un compact K basée
sur la fonction FK . Comme l’axe médian de K est le lieu des points où la norme du
gradient ∇K est strictement inférieure à 1, en utilisant la norme de ∇K , on obtient
une autre filtration de l’axe médian.
Définition 5.9 Soit K ⊂ Rn un compact et soit 0 ≤ µ < 1. Le µ -axe médian de K,
noté Mµ (K), est l’ensemble des points de Rn \ K où la norme de ∇K est inférieure
ou égale à µ :
Mµ (K) = {x ∈ Rn \ K : k∇K (x) ≤ µ }
Exercice 5.10 Montrer que :
- Mµ (K) est un sous-ensemble de M (K),
- µ < µ ′ =⇒ Mµ (K) ⊂ Mµ ′ (K)
- Mµ (K) ∪ K est un sous-ensemble compact de Rn (utiliser la semi-continuité inférieure de k∇K ).
Algorithme de calcul du µ -axe médian d’un nuage de points On suppose dans
ce paragraphe que K est un ensemble fini de points. Il est un peu plus délicat que
l’algorithme de calcul du λ -axe médian. En effet, contrairement à la fonction FK la
norme du gradient n’est pas constante sur les cellules du diagrammed de Voronoï de
K. Il en résulte que leµ -axe médian de K n’est pas un sous-complexe de Vor(K) : il
faut donc “découper” certaines cellules de Voronoï pour obtenir le µ -axe médian.
Exercice 5.11 Détailler un algorithme de calcul du µ -axe médian d’un nuage de
points dans le plan R2 .
Même question pour un nuage de points dans R3 .
Propriétés de stabilité du µ -reach. Le théorème de stabilité des points critiques
4.17 permet d’obtenir un résultat de stabilité pour le µ -axe médian.
Théorème 5.12 Soit K ⊂ Rn un compact et soit 0 < µ < 1 tel que l’application
µ → Mµ (K) ∪ K soit continue en µ 10 . Pour toute suite de compacts (Kn ) telle que
dH (K, Kn ) → 0 quand n → +∞, on a
dH (Mµ (Kn ) ∪ Kn , Mµ (K) ∪ K) → 0 quand n → +∞
l’application µ 7→ Mµ (K) ∪ K est
continue en µ0 si pour tout ε > 0 ∃η > 0 tel que | µ − µ0 |< η ⇒ dH (Mµ , Mµ0 ) < ε .
10 On utilise la distance de Hausdorff pour définir la continuité :
47
References
[1] D. Attali, J.-D. Boissonnat and H. Edelsbrunner Stability and Computation
of the medial axis — a State-of-the-Art Report. In T. Möller, B. Hamann,
and B. Russell, editors, Mathematical Foundations of Scientific Visualization,
Computer Graphics, and Massive Data Exploration, Springer-Verlag 2007.
[2] M. Berger, Geometry I, Universitext Series, Springer Verlag 1998.
[3] Bibliothèque CGAL, http://www.cgal.org/.
[4] R. Chaine, A Geometric Convection Approach of 3-D Reconstruction In 1st
Symposium on Geometry Processing, pp. 218-229, 2003
[5] F. Chazal, D. Cohen-Steiner, A. Lieutier, Normal Cone Approximation and
Offset Shape Isotopy, INRIA Research Report RR-6100, January 2007.
[6] F. Chazal, D. Cohen-Steiner, A. Lieutier, A Sampling Theory for Compacts
in Euclidean Space, Proceedings of the 22nd ACM Symposium on Computational Geometry 2006
[7] F. Chazal, A. Lieutier, The λ -medial axis In Graphical Models (GMOD),vol.
67 (4) pp. 304-331, 2005
[8] F. Chazal, A. Lieutier, Weak feature size and persistent homology: computing homology of solids in Rn from noisy data samples 21st Symposium on
Computational geometry (2005) pp. 255-262
[9] F. Chazal, A. Lieutier, Stability and computation of topological invariants of
solids in Rn , to appear in Discrete and computational Geometry.
[10] F. Chazal, A. Lieutier, Topology guaranteeing manifold reconstruction using distance function to noisy data to appear in proc. SoCG’06. Available at
http://math.u-bourgogne.fr/topologie/chazal/publications.htm
[11] F. Chazal, R. Soufflet, Stability and finiteness properties of medial axis and
skeleton, Journal of Dynamical and Control Systems, vol.10, No. 2, pp. 149170, 2004.
[12] J. Cheeger, Critical Points of Distance Functions and Applications to Geometry, Geometric Topology: recent developments,Montecatini Terme, 1990,
Springer Lecture Notes, 1504 (1991), 1-38.
[13] F.H. Clarke, Optimization and NonSmooth Analysis, Wiley-Interscience,
New-York, 1983.
[14] D. Cohen-Steiner, H. Edelsbrunner and J. Harer, Stability of Persistence Diagrams, Proc. 21th ACM Sympos. Comput. Geom. (2005), 263-271.
48
[15] T. K. Dey and S. Goswami, Provable surface reconstruction from noisy samples, Proc. 20th ACM Sympos. Comput. Geom. (2004), 330-339.
[16] H. Edelsbrunner, J. Harer, Persistent Homology - A Survey, Contemporary
Mathematics.
[17] H. Edelsbrunner, D.G. Kirkpatrick, R. Seidel, On the shape of a set of points
in the plane, IEEE Trans. Inform. Theory, IT-29:551-559, 1983.
[18] H. Edelsbrunner, The union of balls and its dual shape, Discrete Comput.
Geom., 13: 415-440, 1995.
[19] H. Edelsbrunner. Surface reconstruction by wrapping finite point sets in
space, in Ricky Pollack and Eli Goodman Festschrift ed. B. Aronov, S. Basu,
J. Pach and M. Sharir.Springer-Verlag, 379-404
[20] H. Edelsbrunner, E. P. Mücke. Three-dimensional alpha shapes, ACM Trans.
Graphics 13 (1994), 43-72.
[21] H. Edelsbrunner, D. Letscher and A. Zomorodian. Topological persistence
and simplification. Discrete Comput. Geom. 28 (2002), 511-533.
[22] H. Federer, Curvature measures, Trans. Amer. Math. Soc. Vol. 93, p 418
(1959).
[23] W. Fulton. Algebraic Topology, A First Course. Graduate Texts in Mathematics. Springer-Verlag.
[24] J. Giesen and M. John, The Flow Complex: A Data Structure for Geometric Modeling. Proc. 14th Annual ACM-SIAM Symposium on Discrete Algorithms (SODA), (2003) 285-294.
[25] K. Grove, Critical Point Theory for Distance Functions, Proc. of Symp. in
Pure Mathematics, Vol. 54 (1993), Part 3.
[26] A. Hatcher, Algebraic Topology, Cambridge University Press 2002.
[27] M. Hirsch, Differential Topology, Springer Verlag, 1976.
[28] A. Lieutier, Any open bounded subset of Rn has the same homotopy type as
its medial axis, Computer-Aided Design, 36(2004) 1029-1046, Elsevier.
[29] B. Mederos,N. Amenta,L. Velho and L.H. de Figueiredo Surface Reconstruction from Noisy Point Clouds Proc. of Geometry Processing 2005,(Eurographics/ ACM SIGGRAPH) pp.53-62
[30] W. Massey. Algebraic Topology: An Introduction. Harbrace College mathematics Series. 1967 by Harcourt, Brace and World, Inc.
49
[31] J. Milnor, Morse Theory, Princeton University Press, New Jersey, 1963.
[32] J. R.Munkres. Elements of Algebraic Topology. Addison-Wesley Publishing
Company, 1984.
[33] P. Niyogi, S. Smale and S. Weinberger, Finding the Homology of Submanifolds with High Confidence from Random samples, to appear in Discrete and
Computational Geometry.
[34] A. Zomorodian and G. Carlsson, Computing persistent homology, Discrete
Comput. Geom.(To appear).
[35] A. Zomorodian Topology for Computing, Cambridge Monographs on Applied
and Computational Mathematics, cambridge University Press, 2005.
50
Téléchargement