Recherche combinatoire sur les graphes Mathilde Bouvel Stage
Recherche combinatoire sur les graphes Mathilde Bouvel Stage effectué au Loria, équipe Adage, sous la direction de Gregory Kucherov Mars-Août 2005 1
L’équipe Adage l l l Algorithmique Discrète Appliquée à la GEnomique Algorithmique du texte et géométrie discrète Domaine d’application privilégié : bioinformatique Développement de logiciels expérimentaux (grappe, mreps, YASS) 2
Contexte du stage l l l 1995 -1998 : doctorat au Loria de Vladimir Grebinski WG 2005 à Metz : exposé alliant graphes et bioinformatique Mon stage au Loria : l l l Reprise du travail de Vladimir et Gregory Recherche bibliographique de résultats récents Approfondissement 3
La recherche combinatoire l l l Identification d’un objet inconnu ou « caché » dans un ensemble d’objets Jeu à deux joueurs : l’un choisit l’objet caché, l’autre le cherche L’objet caché peut aussi être déterminé de façon aléatoire, par un mécanisme biologique, ou par une réalité physique inconnue de celui qui cherche. 4
Les problèmes de pesage de pièces Recherche d’une ou de plusieurs fausses pièces parmi n l Jeu du nombre caché l Elargissements possibles l 5
Une fausse pièce parmi n l l l Lot de n pièces dont une est fausse ( = de poids différent des pièces authentiques. ) n lots de pièces possibles = n configurations Balance à un plateau : la pesée d’un ensemble Q de pièces issues du lot révèle si la fausse pièce appartient ou non à l’ensemble Q pesé oui ou non = réponses possibles La fausse pièce est-elle dans Q ? = questions 6
Le jeu du nombre caché Choisis un nombre entre 1 et 1000 ! Je choisis x 7
Le jeu du nombre caché Le nombre caché est-il inférieur ou égal à 500 ? Devine quel nombre j’ai choisi ! 8
Un problème de recherche combinatoire l l l Un ensemble fini C de configurations à discriminer Un ensemble fini D de réponses possibles noté {0, …, d-1} Un sous-ensemble Q des fonctions de C dans D : les questions autorisées l l l Un nombre caché x {1, …, 1000} que l’on veut retrouver Les réponses sont oui ou non Les questions sont de la forme « x est-il inférieur ou égal à y ? » pour y {1, …, 999} 9
Recherche de plusieurs fausses pièces parmi n l l l Lots de n pièces parmi lesquelles un nombre donné d > 1 de fausses pièces, ou un nombre arbitraire de fausses pièces Pesée d’un sous-ensemble des pièces Que révèle chaque pesée d’un ensemble Q ? l l Si ou non une fausse pièce appartient à Q Le nombre de fausses pièces qui appartiennent à Q modèle booléen VS modèle quantitatif 10
Elargissements possibles l Différents degrés de fausseté : l l Chaque pièce a un degré de fausseté entre 0 et d On veut reconstruire le vecteur de degrés de fausseté (v 1, …, vn) {0, …, d}n Questions : somme des vi pour i Q, pour Q un sous-ensemble de {1, …, n} Reconstruction de vecteurs à poids borné : n l Λ(n, d) = { (v 1, …, vn) | Σi=1 vi ≤ d } l l Reconstruire un vecteur de Λ(n, d) Questions : idem 11
Quelques uns des principaux outils Différents types de modèles l Différents types d’algorithmes l Une évaluation particulière de la complexité des algorithmes l 12
Modèles booléen et quantitatif l l Modèle booléen : les questions autorisées donnent lieu à une réponse vrai ou faux Modèle quantitatif : information quantitative sur la configuration cachée l Y a-t-il au moins une fausse pièce dans l’ensemble pesé ? l Combien y a-t-il de fausses pièces dans l’ensemble pesé ? 13
Algorithmes en recherche combinatoire l Algorithme = suite de questions à poser pouvoir retrouver quelle est la configuration cachée l Attention : l’algorithme fournit seulement un jeu de questions à poser. Les outils utilisés pour passer des réponses obtenues à la configuration cachée n’apparaissent pas dans l’algorithme (précalcul possible) ! 14
Algorithme adaptatif l Toute question posée par l’algorithme peut dépendre des réponses obtenues aux questions précédemment posées : l’algorithme s’adapte. l Exemple : recherche par dichotomie d’une fausse pièce ou d’un nombre caché. 15
Algorithme non-adaptatif l Les questions sont indépendantes les unes des autres. Un algorithme non-adaptatif est seulement un ensemble de questions à poser, sans enchaînement chronologique. l Intérêt pratique pour poser les questions en parallèle (expériences biologiques p. e. ) 16
Algorithme à s tours l l Compromis entre algorithmes adaptatifs (a priori plus puissants) et non-adaptatifs (plus aisé à mettre en oeuvre) Algorithme composé de s étapes nonadaptatives qui se succèdent l l Les questions posées dans la même étape sont indépendantes Les questions posées à l’étape i+1 peuvent dépendre des réponses obtenues aux étapes ≤ i 17
Complexité d’un algorithme l Mesure particulière de la complexité l Complexité d’un algorithme = nombre maximal de questions posées par un algorithme pour retrouver la configuration cachée l Complexité d’un problème = complexité minimale d’un algorithme résolvant ce problème 18
Evaluation de la complexité l Calcul précis difficile : on se contente d’estimations l Bornes inférieures : astuce de la théorie de l’information l Bornes supérieures : algorithme effectif 19
Astuce de la théorie de l’information l l l Supposons qu’il y ait n configurations à discriminer. On numérote en binaire ces configurations : chacune est définie par log 2 n bits d’information. Si l’ensemble de réponses est {0, …, d-1}, chaque question permet de découvrir au plus log 2 d bits. Conclusion : au moins log 2 n / log 2 d = logdn questions sont nécessaires pour retrouver une configuration cachée. On dit que la complexité est en Ω(logdn). 20
Atteindre cette borne inférieure ? l l l La théorie de l’information ne tient pas compte du type de questions autorisées : il est souvent impossible d’atteindre la borne inférieure de la théorie de l’information. Parfois, un algorithme adaptatif permet de l’atteindre, mais on démontre que c’est impossible pour tout algorithme non-adaptatif. Dans certains cas, les meilleurs algorithmes connus sont non-adaptatifs et atteignent cette borne inférieure de la théorie de l’information. 21
Recherche combinatoire de graphes Recherche d’un graphe dans une classe de graphes donnée. Exemple de la classe des étoiles. 22
Recherche d’un graphe dans une classe de graphes donnée l l Formulation générique du problème Motivation bioinformatique Modèle quantitatif et modèle booléen Adaptatif ou non-adaptatif ? l l Atteindre la complexité optimale par un algorithme non-adaptatif Un algorithme adaptatif strictement plus puissant que tout algorithme non-adaptatif 23
Reconstruction d’un graphe l l l On considère toujours des graphes nonorientés dont les sommets sont étiquetés de 1àn G =Un≥ 0 Gn une classe de graphes donnée, avec Gn = les graphes de G à n sommets Un entier n donné Un graphe caché G Gn qu’il nous faut reconstruire Questions portant sur un sous-ensemble de sommets du graphe 24
Motivations biologiques l Séquençage d’un génome circulaire complet : on obtient des fragments d’ADN (= contigs) qu’il faut ordonner et orienter sur le cercle trou contig primer Un primer est un fragment d’ADN qui caractérise une extrémité d’un contig 25
Polymerase Chain Reaction l l l Une PCR se produit entre deux primers qui se trouvent de part et d’autre du même trou. Cette réaction se produit aussi entre deux tels contigs. Un mécanisme biologique permet de détecter les paires de primers ou de contigs qui réagissent ensemble. 26
Modélisation par un graphe l l l Un produit chimique (primer ou contig) = un sommet du graphe Une réaction chimique (PCR) entre deux produits = une arête du graphe reliant les deux sommets correspondants Généralisation possible à tous les problèmes où on cherche des paires de produits chimiques qui réagissent 27
Modélisation (1) l Reconstituer le placement des contigs sur le génome circulaire revient à reconstruire un cycle Hamiltonien l Cycle Hamiltonien : graphe dont les arêtes forment un cycle passant une et une seule fois par chaque sommet 28
Modélisation (2) l Reconstituer le placement des primers sur le génome circulaire revient à reconstruire un couplage parfait l Couplage parfait : graphe dans lequel tout sommet a pour degré exactement 1 29
Deux modèles de questions pour la reconstruction de graphes Pour une question Q sous-ensemble de sommets, la réponse obtenue dépend du modèle : l l Modèle booléen : Existe-t-il au moins une arête du graphe caché qui relie deux sommets de Q ? Modèle quantitatif : Combien d’arêtes relient deux sommets de Q ? 30
Résultats préexistants l l l V. Grebinski et G. Kucherov [’ 95 à ‘ 98] : reconstruction de circuits Hamiltoniens et de graphes à degré borné dans les deux modèles N. Alon et al. [‘ 02] : reconstruction de couplages dans le modèle booléen, par un algorithme non-adaptatif N. Alon et V. Asodi [‘ 04] : reconstruction d’étoiles et de cliques dans le modèle booléen par un algorithme non-adaptatif 31
Suite et fin de l’exposé l Un algorithme non-adaptatif est parfois optimal l l Graphes à degré borné, dans le modèle quantitatif Il peut exister une différence intrinsèque incompressible entre les complexités d’algorithmes adaptatifs et non-adaptatifs l Les étoiles, dans le modèle booléen 32
Graphes à degré borné : borne inférieure l Constante d fixée : Gn = { graphe G sur les sommets {1, …, n} à degré borné par d } l En se restreignant à des sous-classes des graphes à degré borné par d, la théorie de l’information donne la borne inférieure (½+o(1)) nd sur la complexité du problème. 33
Graphes à degré borné : borne supérieure l l On considère la représentation bipartie d’un graphe : G=(V, E) > G’=(V 1, V 2 ; E’) avec {i, j} Є E ssi (i, j) E’ et (j, i) E’ Représentation bipartie + recherche de d fausses pièces parmi n + recherche d’un vecteur de degré de fausseté {0, …, d}n existence d’un algorithme non-adaptatif pour la reconstruction de graphes à degré borné en O(nd) questions 34
Graphes à degré borné : conclusion l l l Un algorithme non-adaptatif peut atteindre à une constante multiplicative près la borne inférieure de la théorie de l’information. Limite : On prouve l’existence d’un tel algorithme, mais on ne sait pas le construire de manière effective… Problème ouvert depuis 30 ans : retrouver d fausses pièces parmi n avec un algorithme nonadaptatif faisant O(d. log n / log d) questions (borne inférieure dont on sait qu’elle peut être atteinte). 35
Etoiles : définitions l l Etoiles sur n sommets Sk = étoiles à k+1 sommets, avec n-k-1 sommets isolés n-1 Uk=0 Sk, Stars = l’ensemble de toutes les étoiles sur n sommets avec un nombre arbitraire de sommets isolés n=8 36
Dans le modèle booléen l l n N. Alon et V. Asodi : ( 2 ) = Ω(n²) questions sont nécessaires pour reconstruire une étoile de Stars par un algorithme non-adaptatif. La borne inférieure de la théorie de l’information est linéaire. Un algorithme à deux tours atteint cette borne inférieure à un facteur 2 près. Un algorithme adaptatif atteint cette borne à o(n) questions près. 37
Borne inférieure de la théorie de l’information l |Sk| = n. ( n-1 l k ( k=2 |Stars| = Σ ) pour k ≥ 2 n-1 k ) + n(n-1)/2 +1 = n (2 n-1 -1) - n(n-1)/2 +1 l Borne inférieure : log 2 |Stars| = (1+o(1))n 38
Algorithme à deux tours l Premier tour : cher le centre x de l’étoile en n questions l l Deuxième tour : cher quels sont les voisins du centre en n-1 questions l l l Questions V{i} pour tous les sommets i {x, i} pour tous les sommets i ≠ x Chaque tour est non-adaptatif. 2 n-1 questions au total, soit 2 fois la borne inférieure de la théorie de l’information. 39
Algorithme adaptatif l l On peut accélérer la première étape de l’algorithme précédent en O(log 2 n) questions adaptatives. Algorithme obtenu : adaptatif mais en (1+o(1))n questions, la borne inférieure de la théorie de l’information. 40
Etoiles dans le modèle booléen : bilan l Algorithmes non-adaptatifs strictement moins puissants qu’algorithmes adaptatifs. l Algorithme à deux tours (= 2 étapes nonadaptatives) : atteignent à un facteur 2 la borne inférieure de la théorie de l’information. l Algorithme complètement adaptatif : atteint la borne inférieure de la théorie de l’information. 41
Dans le modèle quantitatif l l Borne inférieure de la théorie de l’information : logn(|Stars|) = Ω(n/log 2 n). Algorithme adaptatif en O(n/log 2 n) questions. l l Même structure que dans le modèle booléen. Première étape en O(log 2 n) questions Deuxième étape : recherche d’un nombre arbitraire de fausses pièces parmi n-1 (les voisins de x) : O(n/log 2 n) questions. Algorithmes non-adaptatifs ? 42
Conclusion l Présentation de la recherche combinatoire l Motivations bioinformatiques l Exemples de recherche combinatoire sur les graphes 43
Merci ! Questions ? 44
1° tour en O(log 2 n) questions l Trouver une arête de l’étoile cachée s’il en existe une. l l Construire par dichotomie 2 /s-ens. de sommets S 1 et S 2, non vides, ne contenant aucune arête, et tq il existe au moins une arête entre S 1 et S 2. Trouver un sommet v de S 1 qui a un voisin dans S 2, puis trouver ce voisin w. Trouver si le centre est v ou w. Terminer comme avant en retrouvant les voisins du centre. 45
46
47
- Slides: 47