Calcul des groupes d'homologie d’objets discrets

Slides:



Advertisements
Présentations similaires
Structures de données avancées : MLH (Multidimensional linear hashing)
Advertisements

La Méthode de Simplexe Standardisation
Chaîne de Synthèse Réel Modélisation Rendu Image Fichier Scène
Les matrices.
Chap. 4 Recherche en Table
Algorithmes et structures de données avancées Cours 7
Portée des variables VBA & Excel
Calcul géométrique avec des données incertaines
VII) Formalisme Quantique
Introduction à l’Algorithmique
COURS DE MATHEMATIQUES DISCRETES SM
Calculs de complexité d'algorithmes
Problème de 8 dames: Sachant que dans un jeu des échecs, une dame peut pendre toute pièce se trouvant sur la colonne ou sur la ligne ou sur les diagonales.
Enseignant responsable :
Objectifs Nous allons concevoir une mise en œuvre contenant un noyau de jeu d’instructions. Nous verrons comment l’architecture de jeu d’instructions.
A.Faÿ 1 Recherche opérationnelle Résumé de cours.
Chap. 1 INTRODUCTION Beaucoup de problèmes de la vie courante, tels la gestion de réseaux de communication ou l'ordonnancement de tâches, correspondent.
Calcul numérique (avec Maple)
Initiation à la programmation et algorithmique cours 3
Nombre de chaînes de longueur r
CALCUL PARALLELE PRODUIT : MATRICE – VECTEUR 10 pages Exposé par :
Améliorer les performances du chiffrage à flot SYND
Un neurone élémentaire
Eléments d ’algèbre relationnelle
Algorithmique et Programmation
Algorithmes Branch & Bound
ASI 3 Méthodes numériques pour l’ingénieur
Optimisation linéaire
Sylvie Alayrangues Jacques-Olivier Lachaud
Systèmes d’équations linéaires
Opérateurs morphologiques
Rappel... Solution itérative de systèmes linéaires (suite et fin).
Structures de données IFT-2000
Geovan Tavares, Thomas Lewiner, Hélio Lopes Laboratório Mat&Mídia, Departamento de Matemática, PUC-Rio Théorie de Morse discrète.
Algèbre linéaire (GCI –100)
Courbes de Bézier.
5.1 SYSTÈME DÉQUATIONS LINÉAIRES Cours 13. Au dernier cours nous avons vus Léquations vectoriel et léquation normale dun plan. Lintersection de deux plans.
Cours de Base de Données & Langage SQL
Algorithmes d ’approximation
Recherche Opérationnelle
RECONNAISSANCE DE FORMES
Détection du meilleur format de compression pour une matrice creuse dans un environnement parallèle hétérogène Olfa HAMDI-LARBI.
Standard Template Library
Programmation dynamique
Texture 2D en PGC++.
Atelier de formation : MAT optimisation II (les graphes).
La droite dans R3 Montage préparé par : André Ross
Sous-espaces vectoriels engendrés
Programmation linéaire en nombres entiers : les méthodes de troncature
l’algorithme du simplexe
Cours du 25 octobre Mardi le 24 octobre
Graphes 1. Introduction 2. Définition 3. Représentation mémoire
ASI 3 Méthodes numériques pour l’ingénieur
Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure d’Informatique (ESI)
Cours de mathématiques économiques
INTRODUCTION.
Optimisation de requêtes
Calcul parallèle => partitionner les données en sous-groupes associés aux processeurs. P0 P2 P1.
Méthodes de tri.
Algorithmes Branch & Bound
Arbres binaires et tables de hachage
Structures de données avancées : Concepts du Multidimensionnel D. E ZEGOUR Institut National d ’Informatique.
Structures de données avancées : Fichiers multidimensionnels Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure d’Informatique (ESI) zegour.esi.dz
Enveloppe convexe et triangulation de Delaunay
Cours LCS N°4 Présenté par Mr: LALLALI
TICE et enseignement des maths au collège
Cours 5 - Trois algorithmes de tri d'un tableau
Test Point Polyedre Pierre REISS
Pierre Joli Cours de Mathématique Pierre Joli
Calculer l’inverse d’une matrice Louis Mullenbach Housseim Yacoub.
Transcription de la présentation:

Calcul des groupes d'homologie d’objets discrets Sylvie Alayrangues - Jacques-Olivier Lachaud AS géométrie discrète 09 juillet 2003

Plan Utilité des groupes d'homologie Définition Algorithme de calcul Pistes de recherche

Utilité des groupes d'homologie Invariant topologique Moins puissant que les groupes d'homotopie Calculables pour des structures discrètes Caractérisation d'objets Deux objets qui n’ont pas les mêmes groupes d’homologie ont des topologies différentes Mais deux objets avec les mêmes groupes d’homologie n’ont pas forcément la même topologie

Définition des groupes d'homologie (1) Plusieurs types d'homologie : Ici homologie simpliciale A un n-complexe simplicial sont associés (n+1) groupes d'homologie : Hk, k = 0..n k= rang de Hk (nombres de Betti) Intuitivement : Hk permet, entre autres, de compter les trous k-dimensionnels d'un objet, de définir des générateurs de ces trous… 0 : nb de composantes connexes

Définition des groupes d'homologie (2) Formellement : Complexe simplicial K : ensemble de simplexes tel que toute face d'un simplexe de K est dans K, et que l'intersection de deux simplexes de K est face de chacun d'eux Cp(K,G) : Ensemble des p-chaines de K à coefficients dans G (groupe abélien - ici le groupe des entiers) p : Cp(K,G)  Cp-1(K,G) : opérateur bord Zp(K,G)= Ker p et Bp-1(K,G)= Im p p  p+1 = 0 Hp(K,G) = Zp(K,G)/Bp(K,G)

Exemple C0(K) = (1,2,3,4) C1(K) = (12,13,14,23,24,34) 1(12)=2-1 1(12+23-13)=0 Matrice d’incidence  1 2 3 4 1 12 -1 1 0 0 13 -1 0 1 0 14 -1 0 0 1 23 0 -1 1 0 24 0 -1 0 1 34 0 0 -1 1

Principe du calcul (1) Hp(K,G) = ...Zb1Zb2... Zbqp = βp  Zb1Zb2... Zbqp b1,b2,...,bqp sont les facteurs invariants bi / bj pour tout i et j, tels que i < j bp est le nombre de betti associé Calcul de Hp(K,G) = calcul de βp, b1,b2,...,bqp

Exemple de torsion sur la bouteille de Klein w = [1,4]+[4,5]+[5,1] soit s2 la somme de tous les 2-simplexes  s2= 2 w  cycle w = élément de torsion on montre que c = 0  c = n ([1,2]+[2,3]+[3,1]) + mw avec n = 0 et m pair H1  Z  Z2 1 2 3 5 4 6 7 8 9 10

Principe du calcul (2) Obtenir la forme normale de Smith des matrices d'incidence  On peut montrer que : Smith(p) donne les coefficients de torsion de Hp-1(K) βp (K) = rank Cp(K) - rank dp (K) - rank dp+1 (K)

Principe du calcul (3) Problèmes : Sujet actif de recherche (algèbre) Réduction d'une matrice d'entiers À toutes les étapes, on manipule des entiers Les éléments des matrices intermédiaires peuvent devenir très grands Dépassements mémoire Complexité en temps élevée Sujet actif de recherche (algèbre)

Optimisations possibles Construction de la matrice d'incidence Prise en compte du caractère creux de la matrice (choix du stockage) Manipulation des matrices Suppression des lignes nulles au fur et à mesure Calculs les plus coûteux effectués sur des sous-matrices choisies de manière appropriée Utilisation d’un modulo pour effectuer les calculs (résultat de Storjohann)

Algorithme Construction d'une matrice d'incidence : di Calcul de la forme normale de Smith de di Triangularisation de la matrice avec un maximum de pivots de valeur 1 : di' Mémorisation du nombre de 1 Extraction de la sous-matrice di'' contenant toutes les lignes qui n'ont pas 1 pour pivot Obtention de la forme normale de Smith de di''

Construction de di Complexe simplicial défini par ses faces maximales Calcul de la liste de ses faces de dimension i Ordre lexicographique Matrice di obtenue par ligne : 1 ligne / i-simplexe, 1 colonne / (i-1)-simplexe À partir de chaque i-simplexe, on construit chacune de ses (i-1) faces en enlevant à chaque fois un sommet, on récupère l'indice de la face obtenue (i.e. le numéro de la colonne) dans la liste des (i-1) simplexes et on remplit la matrice en alternant les valeurs 1 et -1 Matrice bien ordonnée

Triangularisation de di' (1) 1ère étape : réalisée ligne par ligne : ri : index de la colonne de la première valeur non nulle de la ligne i Recherche d'un maximum de lignes avec des ri distincts et telles que di'[i,ri] = 1 Modifications de chaque ligne avec des opérations élémentaires (li = +/-li +/- k*lj) jusqu'à ce que : Ligne = vecteur nul ligne  retirée de la matrice Ligne dans la forme recherchée  ligne gardée telle quelle ri distinct de rj pour tous les j précédemment rencontrés mais Di'[i,ri]  1  traitement de la ligne différé

Triangularisation de di' (2) 2ème étape : traitement des lignes différées Lignes traitées comme précédemment mais utilisation d'opérations plus coûteuses (gcd) Obtention d'une matrice avec beaucoup de pivots valant 1 et éventuellement quelques pivots différents de 1 3ème étape : calcul des éventuelles torsions Extraction de la matrice telle que les pivots sont différents de 1 et calcul de la forme de smith de cette matrice (méthode décrite par Munkres).

Exemple : bouteille de Klein Triangulation possible : ((1,2,6)(1,4,6)(1,2,9)(1,5,9)(1,3,7)(1,5,7)(1,3,10)(1,4,10)(2,3,6)(2,9,10)(2,3,10)(3,6,7)(4,5,6)(4,5,10)(5,6,9)(5,7,10)(6,8,9)(6,7,8)(7,8,10)(8,9,10)) Nombres de Betti et torsions : [1 ()] [1 (2(1))] [0 ()] 1 2 3 5 4 6 7 8 9 10 2

Exemple : plan projectif Triangulation possible : ((1,2,7)(1,2,11)(1,6,7)(1,6,11)(2,3,7)(2,3,11)(3,4,8)(3,4,10)(3,7,8)(3,10,11)(4,5,8)(4,5,10)(5,6,7)(5,6,11)(5,7,10)(5,8,11)(7,8,9)(7,9,10)(8,9,11)(9,10,11)) Nombres de Betti et torsions : [1 ()] [0 (2 (1))] [0 ()] 4 1 2 3 5 6 7 8 9 10 11

Pistes de recherche Utiliser ces calculs pour des objet définis à l'aide d'ordres, et de complexes cellulaires Pb : comment construire la matrice d’incidence “le mieux possible” ? Adapter pour calculer des groupes d’homologie locaux Algorithme défini pour un objet statique Algorithme incrémental pour des objets dont la topologie évolue ?