Recherche combinatoire sur les graphes

Slides:



Advertisements
Présentations similaires
Le Nom L’adjectif Le verbe Objectif: Orthogram
Advertisements

ORTHOGRAM PM 3 ou 4 Ecrire: « a » ou « à » Référentiel page 6
LES NOMBRES PREMIERS ET COMPOSÉS
Ma surprise du Zoo.
La recherche de chemin optimal
Qualité du Premier Billot. 2 3 Défauts reliés à labattage.
1. Résumé 2 Présentation du créateur 3 Présentation du projet 4.
Fabrice Lauri, François Charpillet, Daniel Szer
Licence pro MPCQ : Cours
Dans cette partie Graphes Eulériens.
Algorithmes et structures de données avancées Cours 7
Distance inter-locuteur
Algorithmes et structures de données avancés
Calcul géométrique avec des données incertaines
Les numéros
1 Théorie des Graphes Cycle Eulérien. 2 Rappels de définitions On dit qu'une chaîne est un chemin passant par toutes les arêtes du graphe. On dit qu'un.
Mr: Lamloum Med LES NOMBRES PREMIERS ET COMPOSÉS Mr: Lamloum Med.
Interagir avec un objet mixte Propriétés physiques et numériques Céline Coutrix, Laurence Nigay Équipe Ingénierie de lInteraction Homme-Machine (IIHM)
1 Cours numéro 3 Graphes et informatique Définitions Exemple de modélisation Utilisation de ce document strictement réservée aux étudiants de l IFSIC.
Probabilités.
Cours de physique générale I Ph 11
1 Guide de lenseignant-concepteur Vincent Riff 27 mai 2003.
GRAM 1 CE2 Je sais transformer une phrase affirmative en phrase négative.
1.2 COMPOSANTES DES VECTEURS
Détection de co-évolution de gènes Master 2 : Informatique à Finalité Professionnelle et Recherche Unifiée (IFPRU) Parcours Ingénierie de lIntelligence.
Titre : Implémentation des éléments finis sous Matlab
Tableaux de distributions
Tableaux de distributions
LES NOMBRES PREMIERS ET COMPOSÉS
VOC 1 CE2 Je sais utiliser des mots de la vie quotidienne.
La droite dans R2 Montage préparé par : André Ross
Systèmes d’équations du premier degré à deux variables
Partie 1: Ondes et Particules.
Algorithme de Bellman-Ford
1 INETOP
RACINES CARREES Définition Développer avec la distributivité Produit 1
Représentation des systèmes dynamiques dans l’espace d’état
Systèmes mécaniques et électriques
Représentation des systèmes dynamiques dans l’espace d’état
Représentation des systèmes dynamiques dans l’espace d’état
DUMP GAUCHE INTERFERENCES AVEC BOITIERS IFS D.G. – Le – 1/56.
1.1 LES VECTEURS GÉOMÉTRIQUES
1 Licence dinformatique Algorithmique des graphes Problèmes dordonnancement. Utilisation de ce document strictement réservée aux étudiants de l IFSIC dans.
Algorithmes d ’approximation
Tournoi de Flyball Bouin-Plumoison 2008 Tournoi de Flyball
Titre : Implémentation des éléments finis en Matlab
MAGIE Réalisé par Mons. RITTER J-P Le 24 octobre 2004.
1 INETOP
Ordonnancement de tâches
Résoudre une équation du 1er degré à une inconnue
Atelier de formation : MAT optimisation II (les graphes).
Équipe 2626 Octobre 2011 Jean Lavoie ing. M.Sc.A.
Échantillonnage (STT-2000) Section 2 Tirage de Bernoulli (plan BE). Version: 4 septembre 2003.
MAGIE Réalisé par Mons. RITTER J-P Le 24 octobre 2004.
Mise en forme en Mathématiques
Elaboré par M. NUTH Sothan 1. 2 Soit x, y et z des coordonnées cartésiennes à 3 dimension. G un ensemble de points dans le plan (u, v). Déf. : On appelle.
Coupes efficaces pour la relaxation lagrangienne
Traitement de différentes préoccupations Le 28 octobre et 4 novembre 2010.
ECOLE DES HAUTES ETUDES COMMERCIALES MARKETING FONDAMENTAL
1/65 微距摄影 美丽的微距摄影 Encore une belle leçon de Macrophotographies venant du Soleil Levant Louis.
Equation différentielle de 2ème ordre
CALENDRIER-PLAYBOY 2020.
Suites numériques Définitions.
Exercice de vérification 1 p
Les Chiffres Prêts?
Chapitre 3 :Algèbre de Boole
Rappels de statistiques descriptives
Partie II: Temps et évolution Energie et mouvements des particules
Les parties du corps By Haru Mehra Le Frehindi 1Haru Mehra, DELF, DALF,CFP.
Chap. 3 Récursion et induction. Les définitions par récurrence consistent à construire des objets finis, à partir d'autres, selon certaines règles. Les.
Transcription de la présentation:

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

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)

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

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.

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

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

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

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

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}

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

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

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

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é ?

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) !

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é.

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.)

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

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

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

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).

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.

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

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

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

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

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.

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

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

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

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 ?

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

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

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.

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

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).

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

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

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

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.

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.

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.

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 ?

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

Merci ! Questions ?

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.