La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Recherche combinatoire sur les graphes

Présentations similaires


Présentation au sujet: "Recherche combinatoire sur les graphes"— Transcription de la présentation:

1 Recherche combinatoire sur les graphes
Mathilde Bouvel Stage effectué au Loria, équipe Adage, sous la direction de Gregory Kucherov Mars-Août 2005

2 L’équipe Adage 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)

3 Contexte du stage 1995-1998 : doctorat au Loria de Vladimir Grebinski
WG 2005 à Metz : exposé alliant graphes et bioinformatique Mon stage au Loria : Reprise du travail de Vladimir et Gregory Recherche bibliographique de résultats récents Approfondissement

4 La recherche combinatoire
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.

5 Les problèmes de pesage de pièces
Recherche d’une ou de plusieurs fausses pièces parmi n Jeu du nombre caché Elargissements possibles

6 Une fausse pièce parmi n
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

7 Choisis un nombre entre 1 et 1000 !
Le jeu du nombre caché Choisis un nombre entre 1 et 1000 ! Je choisis x

8 Le jeu du nombre caché Le nombre caché est-il inférieur ou égal à 500 ? Devine quel nombre j’ai choisi !

9 Un problème de recherche combinatoire
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 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}

10 Recherche de plusieurs fausses pièces parmi n
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 ? Si oui 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

11 Elargissements possibles
Différents degrés de fausseté : Chaque pièce a un degré de fausseté entre 0 et d On veut reconstruire le vecteur de degrés de fausseté (v1,…, 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,d) = { (v1,…,vn) | Σi=1 vi ≤ d } Reconstruire un vecteur de Λ(n,d) Questions : idem n

12 Quelques uns des principaux outils
Différents types de modèles Différents types d’algorithmes Une évaluation particulière de la complexité des algorithmes

13 Modèles booléen et quantitatif
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 Y a-t-il au moins une fausse pièce dans l’ensemble pesé ? Combien y a-t-il de fausses pièces dans l’ensemble pesé ?

14 Algorithmes en recherche combinatoire
Algorithme = suite de questions à poser pour pouvoir retrouver quelle est la configuration cachée 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) !

15 Algorithme adaptatif 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. Exemple : recherche par dichotomie d’une fausse pièce ou d’un nombre caché.

16 Algorithme non-adaptatif
Les questions sont indépendantes les unes des autres. Un algorithme non-adaptatif est seulement un ensemble de questions à poser, sans enchaînement chronologique. Intérêt pratique pour poser les questions en parallèle (expériences biologiques p.e.)

17 Algorithme à s tours Compromis entre algorithmes adaptatifs (a priori plus puissants) et non-adaptatifs (plus aisé à mettre en oeuvre) Algorithme composé de s étapes non-adaptatives qui se succèdent 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

18 Complexité d’un algorithme
Mesure particulière de la complexité Complexité d’un algorithme = nombre maximal de questions posées par un algorithme pour retrouver la configuration cachée Complexité d’un problème = complexité minimale d’un algorithme résolvant ce problème

19 Evaluation de la complexité
Calcul précis difficile : on se contente d’estimations Bornes inférieures : astuce de la théorie de l’information Bornes supérieures : algorithme effectif

20 Astuce de la théorie de l’information
Supposons qu’il y ait n configurations à discriminer. On numérote en binaire ces configurations : chacune est définie par log2n bits d’information. Si l’ensemble de réponses est {0,…,d-1}, chaque question permet de découvrir au plus log2d bits. Conclusion : au moins log2n / log2d = logdn questions sont nécessaires pour retrouver une configuration cachée. On dit que la complexité est en Ω(logdn).

21 Atteindre cette borne inférieure ?
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.

22 Recherche combinatoire de graphes
Recherche d’un graphe dans une classe de graphes donnée. Exemple de la classe des étoiles.

23 Recherche d’un graphe dans une classe de graphes donnée
Formulation générique du problème Motivation bioinformatique Modèle quantitatif et modèle booléen Adaptatif ou non-adaptatif ? Atteindre la complexité optimale par un algorithme non-adaptatif Un algorithme adaptatif strictement plus puissant que tout algorithme non-adaptatif

24 Reconstruction d’un graphe
On considère toujours des graphes non-orientés dont les sommets sont étiquetés de 1 à n G =Un≥0Gn 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

25 Motivations biologiques
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 Un primer est un fragment d’ADN qui caractérise une extrémité d’un contig primer

26 Polymerase Chain Reaction
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.

27 Modélisation par un graphe
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

28 Modélisation (1) Reconstituer le placement des contigs sur le génome circulaire revient à reconstruire un cycle Hamiltonien Cycle Hamiltonien : graphe dont les arêtes forment un cycle passant une et une seule fois par chaque sommet

29 Modélisation (2) Reconstituer le placement des primers sur le génome circulaire revient à reconstruire un couplage parfait Couplage parfait : graphe dans lequel tout sommet a pour degré exactement 1

30 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 : 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 ?

31 Résultats préexistants
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

32 Suite et fin de l’exposé
Un algorithme non-adaptatif est parfois optimal 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 Les étoiles, dans le modèle booléen

33 Graphes à degré borné : borne inférieure
Constante d fixée : Gn = { graphe G sur les sommets {1,…,n} à degré borné par d } 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.

34 Graphes à degré borné : borne supérieure
On considère la représentation bipartie d’un graphe : G=(V,E) > G’=(V1,V2 ; 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

35 Graphes à degré borné : conclusion
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 non-adaptatif faisant O(d.log n / log d) questions (borne inférieure dont on sait qu’elle peut être atteinte).

36 Etoiles : définitions Etoiles sur n sommets
Sk = étoiles à k+1 sommets, avec n-k-1 sommets isolés Stars = Uk=0 Sk, l’ensemble de toutes les étoiles sur n sommets avec un nombre arbitraire de sommets isolés n-1 n=8

37 Dans le modèle booléen n
N. Alon et V. Asodi : ( ) = Ω(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. 2

38 Borne inférieure de la théorie de l’information
|Sk| = n . ( ) pour k ≥ 2 |Stars| = Σ ( ) + n(n-1)/2 +1 = n (2n-1-1) - n(n-1)/2 +1 Borne inférieure : log2 |Stars| = (1+o(1))n k n-1 n-1 k k=2

39 Algorithme à deux tours
Premier tour : chercher le centre x de l’étoile en n questions Questions V\{i} pour tous les sommets i Deuxième tour : chercher quels sont les voisins du centre en n-1 questions {x,i} pour tous les sommets i ≠ x Chaque tour est non-adaptatif. 2n-1 questions au total, soit 2 fois la borne inférieure de la théorie de l’information.

40 Algorithme adaptatif On peut accélérer la première étape de l’algorithme précédent en O(log2n) questions adaptatives. Algorithme obtenu : adaptatif mais en (1+o(1))n questions, la borne inférieure de la théorie de l’information.

41 Etoiles dans le modèle booléen : bilan
Algorithmes non-adaptatifs strictement moins puissants qu’algorithmes adaptatifs. Algorithme à deux tours (= 2 étapes non-adaptatives) : atteignent à un facteur 2 la borne inférieure de la théorie de l’information. Algorithme complètement adaptatif : atteint la borne inférieure de la théorie de l’information.

42 Dans le modèle quantitatif
Borne inférieure de la théorie de l’information : logn(|Stars|) = Ω(n/log2n). Algorithme adaptatif en O(n/log2n) questions. Même structure que dans le modèle booléen. Première étape en O(log2n) questions Deuxième étape : recherche d’un nombre arbitraire de fausses pièces parmi n-1 (les voisins de x) : O(n/log2n) questions. Algorithmes non-adaptatifs ?

43 Conclusion Présentation de la recherche combinatoire
Motivations bioinformatiques Exemples de recherche combinatoire sur les graphes

44 Merci ! Questions ?

45 1° tour en O(log2n) questions
Trouver une arête de l’étoile cachée s’il en existe une. Construire par dichotomie 2 /s-ens. de sommets S1 et S2, non vides, ne contenant aucune arête, et tq il existe au moins une arête entre S1 et S2. Trouver un sommet v de S1 qui a un voisin dans S2, puis trouver ce voisin w. Trouver si le centre est v ou w. Terminer comme avant en retrouvant les voisins du centre.

46

47


Télécharger ppt "Recherche combinatoire sur les graphes"

Présentations similaires


Annonces Google