Title: Recherche combinatoire sur les graphes
1Recherche combinatoire sur les graphes
- Mathilde Bouvel
- Stage effectué au Loria, équipe Adage, sous la
direction de Gregory Kucherov - Mars-Août 2005
2Léquipe Adage
- Algorithmique Discrète Appliquée à la GEnomique
- Algorithmique du texte et géométrie discrète
Domaine dapplication privilégié
bioinformatique - Développement de logiciels expérimentaux (grappe,
mreps, YASS)
3Contexte 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
4La recherche combinatoire
- Identification dun objet inconnu ou caché
dans un ensemble dobjets - Jeu à deux joueurs lun choisit lobjet caché,
lautre le cherche - Lobjet 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.
5Les problèmes de pesage de pièces
- Recherche dune ou de plusieurs fausses pièces
parmi n - Jeu du nombre caché
- Elargissements possibles
6Une 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 dun ensemble Q
de pièces issues du lot révèle si la fausse pièce
appartient ou non à lensemble Q pesé - oui ou non réponses possibles
- La fausse pièce est-elle dans Q ? questions
7Le jeu du nombre caché
Choisis un nombre entre 1 et 1000 !
Je choisis x
8Le jeu du nombre caché
Devine quel nombre jai choisi !
Le nombre caché est-il inférieur ou égal à 500 ?
9Un 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 lon 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
10Recherche de plusieurs fausses pièces parmi n
- Lots de n pièces parmi lesquelles un nombre donné
d gt 1 de fausses pièces, ou un nombre arbitraire
de fausses pièces - Pesée dun sous-ensemble des pièces
- Que révèle chaque pesée dun 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
11Elargissements 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,,dn - Questions somme des vi pour i ? Q, pour Q un
sous-ensemble de 1,,n - Reconstruction de vecteurs à poids borné
- ?(n,d) (v1,,vn) Si1 vi d
- Reconstruire un vecteur de ?(n,d)
- Questions idem
n
12Quelques uns des principaux outils
- Différents types de modèles
- Différents types dalgorithmes
- Une évaluation particulière de la complexité des
algorithmes
13Modè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
lensemble pesé ? - Combien y a-t-il de fausses pièces dans
lensemble pesé ?
14Algorithmes en recherche combinatoire
- Algorithme suite de questions à poser pour
pouvoir retrouver quelle est la configuration
cachée - Attention lalgorithme fournit seulement un jeu
de questions à poser. Les outils utilisés pour
passer des réponses obtenues à la configuration
cachée napparaissent pas dans lalgorithme
(précalcul possible) !
15Algorithme adaptatif
- Toute question posée par lalgorithme peut
dépendre des réponses obtenues aux questions
précédemment posées lalgorithme sadapte. - Exemple recherche par dichotomie dune fausse
pièce ou dun nombre caché.
16Algorithme 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.)
17Algorithme à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 i1 peuvent
dépendre des réponses obtenues aux étapes i
18Complexité dun algorithme
- Mesure particulière de la complexité
- Complexité dun algorithme nombre maximal de
questions posées par un algorithme pour retrouver
la configuration cachée - Complexité dun problème complexité minimale
dun algorithme résolvant ce problème
19Evaluation de la complexité
- Calcul précis difficile on se contente
destimations - Bornes inférieures astuce de la théorie de
linformation - Bornes supérieures algorithme effectif
20Astuce de la théorie de linformation
- Supposons quil y ait n configurations Ã
discriminer. - On numérote en binaire ces configurations
chacune est définie par log2n bits dinformation. - Si lensemble 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 O(logdn).
21Atteindre cette borne inférieure ?
- La théorie de linformation ne tient pas compte
du type de questions autorisées il est souvent
impossible datteindre la borne inférieure de la
théorie de linformation. - Parfois, un algorithme adaptatif permet de
latteindre, mais on démontre que cest
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 linformation.
22Recherche combinatoire de graphes
- Recherche dun graphe dans une classe de graphes
donnée. - Exemple de la classe des étoiles.
23Recherche dun 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
24Reconstruction dun graphe
- On considère toujours des graphes non-orientés
dont les sommets sont étiquetés de 1 à n - G Un0Gn une classe de graphes donnée, avec Gn
les graphes de G à n sommets - Un entier n donné
- Un graphe caché G ?Gn quil nous faut
reconstruire - Questions portant sur un sous-ensemble de sommets
du graphe
25Motivations biologiques
- Séquençage dun génome circulaire complet on
obtient des fragments dADN ( contigs) quil
faut ordonner et orienter sur le cercle
trou
contig
Un primer est un fragment dADN qui caractérise
une extrémité dun contig
primer
26Polymerase Chain Reaction
- Une PCR se produit entre deux primers qui se
trouvent de part et dautre 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.
27Modé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
28Modé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
29Modé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
30Deux 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 darêtes relient
deux sommets de Q ?
31Ré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
32Suite et fin de lexposé
- 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
dalgorithmes adaptatifs et non-adaptatifs - Les étoiles, dans le modèle booléen
33Graphes à 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 linformation
donne la borne inférieure (½o(1)) nd sur la
complexité du problème.
34Graphes à degré borné borne supérieure
- On considère la représentation bipartie dun
graphe G(V,E) gt 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 dun vecteur de degré
de fausseté ? 0,,dn - existence dun algorithme non-adaptatif
pour la reconstruction de graphes à degré borné
en O(nd) questions
35Graphes à degré borné conclusion
- Un algorithme non-adaptatif peut atteindre à une
constante multiplicative près la borne inférieure
de la théorie de linformation. - Limite On prouve lexistence dun 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 quelle
peut être atteinte).
36Etoiles définitions
- Etoiles sur n sommets
- Sk étoiles à k1 sommets, avec n-k-1 sommets
isolés
Stars Uk0 Sk, lensemble de toutes
les étoiles sur n sommets avec un nombre
arbitraire de sommets isolés
n-1
n8
37Dans le modèle booléen
n
- N. Alon et V. Asodi ( ) O(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
linformation 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
38Borne inférieure de la théorie de linformation
n-1
- Sk n . ( ) pour k 2
- Stars S ( ) n(n-1)/2 1
- n (2n-1-1) - n(n-1)/2 1
- Borne inférieure log2 Stars (1o(1))n
k
n-1
n-1
k
k2
39Algorithme à 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 linformation.
40Algorithme adaptatif
- On peut accélérer la première étape de
lalgorithme précédent en O(log2n) questions
adaptatives. - Algorithme obtenu adaptatif mais en (1o(1))n
questions, la borne inférieure de la théorie de
linformation.
41Etoiles dans le modèle booléen bilan
- Algorithmes non-adaptatifs strictement moins
puissants qualgorithmes adaptatifs. - Algorithme à deux tours ( 2 étapes
non-adaptatives) atteignent à un facteur 2 la
borne inférieure de la théorie de linformation. - Algorithme complètement adaptatif atteint la
borne inférieure de la théorie de linformation.
42Dans le modèle quantitatif
- Borne inférieure de la théorie de linformation
logn(Stars) O(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 dun nombre arbitraire
de fausses pièces parmi n-1 (les voisins de x)
O(n/log2n) questions. - Algorithmes non-adaptatifs ?
43Conclusion
- Présentation de la recherche combinatoire
- Motivations bioinformatiques
- Exemples de recherche combinatoire sur les
graphes
44Merci !
451 tour en O(log2n) questions
- Trouver une arête de létoile cachée sil 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(No Transcript)
47(No Transcript)