et conception de circuits VLSI Graphes k-partis et conception de circuits VLSI Pierre Fouilhoux Maitre de Conférences Université Pierre et Marie Curie - LIP6 Directeur: A. Ridha Mahjoub Université Blaise Pascal - LIMOS Ecole Doctorale Sciences pour l’Ingénieur
Optimisation Combinatoire Trouver un meilleur élément dans un ensemble fini valué
Optimisation Combinatoire Placement d’émetteurs hertziens
Optimisation Combinatoire Placement d’émetteurs hertziens
Optimisation Combinatoire Problème du Voyageur de commerce
Optimisation Combinatoire Problème du Voyageur de commerce
Optimisation Combinatoire Réseau Composant Points terminaux Conception de circuits intégrés (VLSI)
Optimisation Combinatoire Conception de circuits intégrés (VLSI)
Optimisation Combinatoire G T C A G Reconstruction du génome
Optimisation Combinatoire Théorie des Graphes T C A G Recherche Opérationnelle
Optimisation Combinatoire G Stable dans un graphe = Sommets isolés Recherche Opérationnelle Théorie des Graphes
Optimisation Combinatoire G Stable dans un graphe Recherche Opérationnelle Théorie des Graphes
Optimisation Combinatoire G k-partition dans un graphe Recherche Opérationnelle Théorie des Graphes
Optimisation Combinatoire G Recherche Opérationnelle Théorie des Graphes
Optimisation Combinatoire G bipartition dans un graphe (k=2) Recherche Opérationnelle Théorie des Graphes
Optimisation Combinatoire G bipartition dans un graphe (k=2) Recherche Opérationnelle Théorie des Graphes
Optimisation Combinatoire G Recherche Opérationnelle Théorie des Graphes
Optimisation Combinatoire PB(G)=conv { xW | W V, (W,E(W)) est biparti } T C A G Programmation mathématique Approches polyédrales Recherche Opérationnelle Théorie des Graphes
Assemblage SNP d’haplotypes C A G Molécule d’ADN T A Organismes diploïdes 2 haplotypes T C A G Polymorphisme génétique SNP : Single Nucleotide Polymorphism Reconstituer les 2 haplotypes et les SNP ATCGATGCATGAATGCATGCA ATCGATGGATGTATGCAAGCA
Assemblage SNP d’haplotypes Détection des SNP f1 ATCGATGCATGA f2 TCGATGGATGAAT f3 ATGCATGTATGCAA f4 ATGAATGCATGCA f5 CATGCA f1 ATCGATGCATGA f2 TCGATGGATGAAT f3 ATGCATGTATGCAA f4 ATGAATGCATGCA f5 CATGCA Fragments fi f1 ATCGATGCATGA f2 TCGATGGATGAAT f3 ATGCATGTATGCAA f4 ATGAATGCATGCA f5 CATGCA SNP sj f1 f2 f3 f5 f4 H1 H2 Objectif Reconstituer les deux haplotypes
Assemblage SNP d’haplotypes Enlèvement minimal de fragments S1 S2 S3 est équivalent au f1 ATCGATGCATGA f2 TCGATGGATGAAT f3 ATGCATGTATGCAA f4 ATGAATGCATGCA f5 CATGCA Problème de bipartisation de graphe Lippert, Schwartz, Lancia, Istrail (2001) f2 f1 f4 f5 f1 f2 f5 f4 f3 f3 fj fi Haplotype 1 Haplotype 2
Résolution informatique du problème de bipartisation v1 v2 v3 v4 v5 v7 v8 v9 v10 v6
Résolution informatique du problème de bipartisation v1 v2 v3 v4 v5 v7 v8 v9 v10 v6
Résolution informatique du problème de bipartisation v1 v2 v3 v4 v5 v7 v8 v9 v10 v6 vi conservé ôté 1 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 1
Résolution informatique du problème de bipartisation C v2 vi conservé ôté 1 v1 v3 Ce n’est pas une solution v9 v10 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v4 1 v6 v5 v8 v7
Résolution informatique du problème de bipartisation v2 vi conservé ôté 1 v1 C’est une solution v3 v9 v10 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v4 1 v6 v5 v8 v7
Résolution informatique du problème de bipartisation Une première idée: Enumération de toutes les solutions n sommets 2n=2x2x…x2 solutions à énumérer n fois n 2n Temps de calcul Blue Gene Ordinateur du futur 10 1024 0,00000…1 seconde … 20 1 048 576 1 milliardième de sec 50 1,26 million de milliards 16 minutes quelques sec 100 1 267 milliards de milliards de milliards 1,1 milliard d’années 1 milliard d’années 1000 10301
Formulation mathématique: Approche polyèdrale et algorithme de coupes Formulation en un programme linéaire en nombres entiers Soit G=(V,E) un graphe c un vecteur-poids sur les sommets de V. Pour B V, on pose
Formulation mathématique: Approche polyèdrale et algorithme de coupes v1 v2 v3 (0,0,0) (1,0,0) (0,1,0) (0,0,1) (1,1,0) (1,0,1) (0,1,1) (1,1,1)
Formulation mathématique: Approche polyèdrale et algorithme de coupes v1 v2 v3 On associe à chaque solution un point saillant d’un (hyper)-cube (0,0,1) (1,0,1) (1,1,1) (0,1,1) (0,0,0) (1,0,0) (0,1,0) (1,1,0)
Formulation mathématique: Approche polyèdrale et algorithme de coupes v1 v2 v3 On associe à chaque solution un point saillant d’un (hyper)-cube (0,0,1) (1,0,1) (1,1,1) (0,1,1) (0,0,0) (1,0,0) (0,1,0) (1,1,0)
Formulation mathématique: Approche polyèdrale et algorithme de coupes v1 v2 v3 On associe à chaque solution un point saillant d’un (hyper)-cube (0,0,1) (1,0,1) (0,1,1) (0,0,0) (1,0,0) (0,1,0) (1,1,0)
Formulation mathématique: Approche polyèdrale et algorithme de coupes PB(G)=conv { xW | W V, (W,E(W)) est biparti }
P=NP ? Complexité des problèmes Est-ce que ce problème de bipartisation est difficile ou non? On dit que ces problèmes sont faciles ou polynomiaux dans P et les autres problèmes sont donc dans Non-P On ne sait pas dire si de nombreux problèmes célèbres sont dans P ou dans Non-P C’est la classe des problèmes dont on peut facilement savoir si une solution quelconque est valide ou non valide. La classe de problème la plus célèbre est la Classe NP (Non-Deterministic Polynomial) P=NP ?
Problème de Via Minimization Circuit électronique Ensemble de composants avec un ou plusieurs points terminaux reliés par des pistes rassemblées en réseaux. Croisement Deux pistes de réseaux différents qui se croisent doivent être affectées à des couches différentes dans le but d’éviter les connexions interdites. Croisement
Problème de Via Minimization Une affectation valide est une affectation des pistes sur les couches de manière à ce que deux pistes de réseaux différents qui se croisent, soient sur des couches différentes. Via Trou à percer pour connecter deux pistes d’un même réseau. Fil sur couche A B
Le problème de Via Minimization contraint Déterminer une affectation valide des segments de pistes sur les couches avec un nombre minimum de vias sans déplacer les pistes.
Problème de Via Minimization Pour tout cycle impair C de G. Un via doit être percé à l’emplacement correspondant à un des sommets du cycle impair C. C
Problème de Via Minimization Pour tout cycle impair C de G. Un via doit être percé à l’emplacement correspondant à un des sommets du cycle impair C. C
Problème de Via Minimization Pour tout cycle impair C de G. Un via doit être percé à l’emplacement correspondant à un des sommets du cycle impair C. C
Problème de Via Minimization Le problème de Via Minimization sur 2 couches Le problème du sous-graphe biparti induit est équivalent au
Problème de Via Minimization 328 vias 88 réseaux 1695 croisements nb sommets 6579 Temps de calcul 7min50 nb coupes 7551
Problème de Via Minimization 729 réseaux 73166 croisements nb sommets 291993 nb coupes 10481 Temps de calcul 4h05 2089 vias
Conclusion Modélisation d’un problème de séquençage des génomes diploïdes Modélisation du problème de Via Minimization Etude polyédrale du problème de bipartisation de graphe Elaboration de logiciels de résolution pour le problème de génomique et d’électronique.