Algorithmes pour la comparaison d ARN : distance d édition entre arbres. Serge Dulucq (LABRI)

Documents pareils
Les arbres binaires de recherche

Les structures de données. Rajae El Ouazzani

Chap 4: Analyse syntaxique. Prof. M.D. RAHMANI Compilation SMI- S5 2013/14 1

1 de 46. Algorithmique. Trouver et Trier. Florent Hivert. Mél : Florent.Hivert@lri.fr Page personnelle : hivert

INF601 : Algorithme et Structure de données

MABioVis. Bio-informatique et la

Projet d informatique M1BI : Compression et décompression de texte. 1 Généralités sur la compression/décompression de texte

UML (Paquetage) Unified Modeling Language

Jade. Projet Intelligence Artificielle «Devine à quoi je pense»

Initiation à l algorithmique

Rappels sur les suites - Algorithme

introduction Chapitre 5 Récursivité Exemples mathématiques Fonction factorielle ø est un arbre (vide) Images récursives

Suites numériques 4. 1 Autres recettes pour calculer les limites

Licence Sciences et Technologies Examen janvier 2010

Limitations of the Playstation 3 for High Performance Cluster Computing

IN Cours 1. 1 Informatique, calculateurs. 2 Un premier programme en C

Extended Communication Server 4.1 : VoIP-SIP- Guide Utilisateur

L annuaire et le Service DNS

Baccalauréat ES Polynésie (spécialité) 10 septembre 2014 Corrigé

Intelligence Artificielle Planification

Listes de fournitures du secondaire pour la rentrée

Algorithmes de recherche

Algorithme. Table des matières

Utiliser Freemind à l'école

COMMUNICATION TECHNIQUE N TCV060 Ed. 01. OmniVista 4760 Nb de pages : 18 Date : URGENTE NON URGENTE TEMPORAIRE DEFINITIVE

Les GPO 2012 server R2 (appliqués à Terminal Serveur Edition)

L exclusion mutuelle distribuée

Installation d'un TSE (Terminal Serveur Edition)

Déroulement. Evaluation. Préambule. Définition. Définition. Algorithmes et structures de données 28/09/2009

Comparaison de fonctions Développements limités. Chapitre 10

Arbres binaires de recherche

Quelques Algorithmes simples

Cahier n o 6. Mon ordinateur. Fichiers et dossiers Sauvegarde et classement

Windows Server 2008 Administration et exploitation

La Gestion de fichiers Supports réalisés avec OpenOffice.org 2.3 Writer. La Gestion de fichiers. Niveau : Débutant Auteur : Antonio da Silva

L ARBORESCENCE. Qu est-ce qu un dossier? L arborescence?

La loi du 21 août 2007 et ses opportunités pour l Assurance Vie. Incidences de la réforme de la fiscalité successorale

La gestion de données dans le cadre d une application de recherche d alignement de séquence : BLAST.

Monopoint / Kit applique serrure EL Série 9560

Notice d Utilisation du logiciel Finite Element Method Magnetics version 3.4 auteur: David Meeker

Les systèmes de gestion de version

TP redondance DHCP. Gillard Frédéric Page 1/17. Vue d ensemble du basculement DHCP

MIS 102 Initiation à l Informatique

Cours de Génie Logiciel

Le Registre sous Windows 8 architecture, administration, script, réparation...

Parallélisme et Répartition

1. Structure d un programme C. 2. Commentaire: /*..texte */ On utilise aussi le commentaire du C++ qui est valable pour C: 3.

SAS ENTERPRISE MINER POUR L'ACTUAIRE

Réseaux grande distance

Complexité. Licence Informatique - Semestre 2 - Algorithmique et Programmation

Plan de cette matinée

Continuité et dérivabilité d une fonction

Organigramme / Algorigramme Dossier élève 1 SI

Décès et succession LE DECES

Travaux pratiques. Compression en codage de Huffman Organisation d un projet de programmation

AMC 120 Amplificateur casque

Contrôle parental NOTE AUX PARENTS. Vita avant d autoriser votre enfant à jouer. Régler le contrôle parental sur le système PlayStation

CHAPITRE V SYSTEMES DIFFERENTIELS LINEAIRES A COEFFICIENTS CONSTANTS DU PREMIER ORDRE. EQUATIONS DIFFERENTIELLES.

Définitions. Numéro à préciser. (Durée : )

Cours de Master Recherche

Algorithmique et structures de données I

Richard Abibon. «Le sujet reçoit de l Autre son propre message sous une forme inversée»

DG-ADAJ: Une plateforme Desktop Grid

Algorithmes récursifs

A GRASPxELS approach for the Job Shop with generic time-lags and new statistical determination of the parameters

Systèmes de transmission

Introduction aux services Active Directory

2008 Quest Software, Inc. TOUS DROITS RÉSERVÉS. MARQUES COMMERCIALES. Avis de non-responsabilité

A L ERT. Pour démarrer rapidement avec

Estimation et tests statistiques, TD 5. Solutions

Initiation à LabView : Les exemples d applications :

Service On Line : Gestion des Incidents

Placez vous au préalable à l endroit voulu dans l arborescence avant de cliquer sur l icône Nouveau Répertoire

t 100. = 8 ; le pourcentage de réduction est : 8 % 1 t Le pourcentage d'évolution (appelé aussi taux d'évolution) est le nombre :

Affectation standard Affectation modifiée (exemple)

Nouvelles propositions pour la résolution exacte du sac à dos multi-objectif unidimensionnel en variables binaires

Mettre en place un accès sécurisé à travers Internet

INTRODUCTION. 1 k 2. k=1

Guide de configuration d'une classe

Algorithmique I. Algorithmique I p.1/??

MANUEL DE PROCÉDURE POUR LA MISE À JOUR DU SITE DE FIDAFRIQUE. Documentation utilisateur Octobre 2005

6 - Le système de gestion de fichiers F. Boyer, UJF-Laboratoire Lig, Fabienne.Boyer@imag.fr

L informatique en BCPST

Algorithmique et langages du Web

Chaque ordinateur est constitué de différentes unités de stockage de données (Disque dur, Graveur ) que l on peut imaginer comme de grandes armoires.

Encryptions, compression et partitionnement des données

Université de Bangui. Modélisons en UML

KWISATZ MODULE PRESTASHOP

Site Web de paris sportifs

Filtres maîtres et distribués ADSL

Mesurer les performances (CPU) sous Linux

Communications collectives et ordonnancement en régime permanent pour plates-formes hétérogènes

Le guide des parents

Représentation d un entier en base b

Développement mobile MIDP 2.0 Mobile 3D Graphics API (M3G) JSR 184. Frédéric BERTIN

PROFIS Installation. Module 4: Module 3D Design

ARBRES BINAIRES DE RECHERCHE

I Stabilité, Commandabilité et Observabilité Introduction Un exemple emprunté à la robotique Le plan Problème...

Transcription:

Algorithmes pour la comparaison d ARN : distance d édition entre arbres Serge Dulucq (LABRI) Hélène Touzet (LIFL)

: bases appariées (tige) : base libre (boucle) Représentation arborescente pour la structure secondaire de l ARN de transfert

Opérations d édition substitution d un nœud insertion d un nœud délétion d un nœud

Distance d édition sur les mots A L G O R I T H M E P A P I L L O N Décomposition en partant de la gauche substitution insertion délétion A LGORITHME - ALGORITHME A LGORITHME P APILLON P APILLON - PAPILLON Appel sur tous les suffixes

Décomposition en partant de la droite substitution ALGORITHM PAPILLO E N insertion ALGORITHME PAPILLO - N délétion ALGORITHM PAPILLON E - Appel sur tous les préfixes

Distance d édition sur les arbres l(f) l (f ) Substitution Délétion Insertion Distance(f, f ) Distance(f, l (f )) Distance(l(f), f ) + + + sub(l, l ) del(l) ins(l )

Distance d édition sur les forêts I l(f) t l (f ) t Décomposition gauche Substitution Distance(l(f), l (f )) + Distance(t, t ) Délétion Distance(f t, l (f ) t )+del(l) Insertion Distance(l(f) t, f t )+ins(l )

Distance d édition sur les forêts II t l(f) t l (f ) Décomposition droite Substitution Distance(l(f), l (f )) + Distance(t, t ) Délétion Distance(t f, l (f ) l (f ))+del(l) Insertion Distance(t l(f), t t )+ins(l )

Droite/gauche pour les arbres? 5 1 5 5 5 5 5 décomposition droite

Droite/gauche pour les arbres? 5 1 5 5 5 5 5 décomposition gauche

Peigne à n branches (n + 1 nœuds) Décomposition gauche : n + 1 sous-forêts Décomposition droite : n + 1 sous-forêts

Stratégie de décomposition succession de choix droite ou gauche S : forêt forêt {droite, gauche} Zhang & Shasha (1989) : (f, g) gauche Klein (1998) : (f, g) gauche si le premier nœud de f est sur le chemin lourd droite, sinon

Chemins lourds

Stratégie de Klein 1 Décomposition suivant les chemins lourds 7 5 6 7 5 6 5 6 5 6 7 5 6 5 6 5 6 7

Exemple de stratégie dispendieuse décomposition gauche droite décomposition gauche

Les stratégies fourmis l(f) t décomposition gauche pas de contraintes fourmi > gauche #sous forets(l(f)t)= #sous forets(l(f))+ l(f) +#sous forets(t)

Définir une stratégie fourmi à partir d un recouvrement φ(i) {droite, gauche} si i est un noeud d arité 0 ou 1 φ(i) est un fils de i sinon : le fils favori décompositions gauches décompositions droites

Recouvrement pour Zhang et Klein Zhang : le fils favoris est le fils droit la direction est gauche Zhang est fourmi pour les deux arbres Klein : le fils favori est le fils de taille maximale la direction est gauche Klein est fourmi pour le premier arbre

Nombre de sous-forêts sur un arbre A = l(a 1... A n ) pour une stratégie quelconque meilleur des cas A A j + #sous-for^ets(a 1 ) + + #sous-for^ets(a n ) O(n log(n)) A j est le fils de taille maximale pire des cas n(n + ) i A A(i) 1 n + π n + O(n) en moyenne

pour un arbre muni d un recouvrement #sous-for^ets(a) = A A j +#sous-for^ets(a 1 )+ +#sous-for^ets(a n ) A j est le fils favori Conséquence 1: nombre exact de sous-forêts pour Zhang (forêts droites) Conséquence : Klein est optimal pour l arbre muni du recouvrement

Que se passe-t-il pour l autre arbre? 1 1 1 1 1 1

Que se passe-t-il pour l autre arbre? Il a exactement trois types de forêts pour l arbre directeur celles qui sont comparées avec toutes les forêts gauches de B celles qui sont comparées avec toutes les forêts droites de B celles qui sont comparées avec toutes les forêts de B toutes les forets droites toutes les forets toutes les forets gauches

Les fils favoris et les fils uniques héritent des forêts de leur parent. Free: les nœuds qui n héritent de rien Left : les nœuds qui héritent des forêts gauches Right : les nœuds qui héritent des forêts droites All: les nœuds qui héritent de toutes les forêts

1. A est un seul nœud de direction droite Free(A) = Left(A) = #left(b) All(A) = Right(A) = #special(b). A est un seul nœud de direction gauche Free(A) = Right(A) = #right(b) All(A) = Left(A) = #special(b). A = l(a ) et la direction de l est droite Free(A) = Left(A) = #left(b) + Right(A ) All(A) = Right(A) = #special(b) + All(A ). A = l(a ) et la direction de l est gauche Free(A) = Right(A) = #right(b) + Left(A ) All(A) = Left(A) = #special(b) + All(A )

5. A = l(a 1 A n ) et le fils favori est A 1 Free(A) = Left(A) = i>1 Free(A i ) + Left(A 1 ) + #left(b)( A A 1 ) All(A) = Right(A) = i>1 Free(A i ) + All(A 1 ) + #special(b)( A A 1 6. A = l(a 1 A n ) et le fils favori est A 1 Free(A) = Right(A) = i<n Free(A i ) + Right(A n ) + #right(b)( A A n All(A) = Left(A) = i<n Free(A i ) + All(A n ) + #special(b)( A A n 7. sinon, le fils favori est A j avec 1 < j < n Free(A) = i jfree(a i )+All(A j )+#right(b)(1 + A 1 A j 1 ) +#special(b) A j A n Right(A) = Free(A) All(A) = Left(A) = i j Free(A i ) + All(A j ) + #special(b)( A A j )

Comment en déduire un recouvrement optimal programmation dynamique tables : Free, All, Left, Right Free(A) = i 1 Free(A i ) Left(A 1 ) Free(A 1 ) + #left(b) ( A A 1 ) All(A + min j ) Free(A j )+#special(b) A j A n +#right(b)(1 + A 1 A j 1 ), 1 < j < n Right(A n ) Free(A n ) + #right(b) ( A A n ) Coût du prétraitement : O( i arité(a(i))) + O( B ) = O( A ) + +O( B )

optimal : 0 droite : 05 gauche : 50 Klein : 91 F G

Distance d édition avec gaps Distance: NP-dur Indel sur les sous-structures terminales : O(n )