Graphes et Réseaux Biologiques, Concepts et Algorithmes

Documents pareils
La NP-complétude. Johanne Cohen. PRISM/CNRS, Versailles, France.

Chapitre 5 : Flot maximal dans un graphe

Eléments de Théorie des Graphes et Programmation Linéaire

Théorie des Graphes Cours 3: Forêts et Arbres II / Modélisation

Baccalauréat ES/L Amérique du Sud 21 novembre 2013

MABioVis. Bio-informatique et la

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

Intégration de la dimension sémantique dans les réseaux sociaux

Resolution limit in community detection

Introduction à la théorie des graphes. Solutions des exercices

Plus courts chemins, programmation dynamique

L exclusion mutuelle distribuée

Une nouvelle approche de détection de communautés dans les réseaux sociaux

Baccalauréat ES Antilles Guyane 12 septembre 2014 Corrigé

Exemples de problèmes et d applications. INF6953 Exemples de problèmes 1

Le théorème de Perron-Frobenius, les chaines de Markov et un célèbre moteur de recherche

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

FaceBook aime les Maths!

Faculté des sciences Département de mathématiques. Théorie des graphes

Quelques Algorithmes simples

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

1 Recherche en table par balayage

Sauvegarde collaborative entre pairs Ludovic Courtès LAAS-CNRS

Jean-Philippe Préaux

LE PROBLEME DU PLUS COURT CHEMIN

Calcul intégral élémentaire en plusieurs variables

MIS 102 Initiation à l Informatique

Université Bordeaux 1, Licence Semestre 3 - Algorithmes et struct...

Parallélisme et Répartition

3 Approximation de solutions d équations

4 Exemples de problèmes MapReduce incrémentaux

Atelier Transversal AT11. Activité «Fourmis» Pierre Chauvet.

Big Data et Graphes : Quelques pistes de recherche

Continuité et dérivabilité d une fonction

Texte Agrégation limitée par diffusion interne

Big Data et Graphes : Quelques pistes de recherche

Partie 1. La structure des réseaux sociaux

BAREME sur 40 points. Informatique - session 2 - Master de psychologie 2006/2007

Chapitre 6. Fonction réelle d une variable réelle

Compression Compression par dictionnaires

Exercices types Algorithmique et simulation numérique Oral Mathématiques et algorithmique Banque PT

Géométrie Algorithmique Plan du cours

Programmation Linéaire - Cours 1

Optimisation for Cloud Computing and Big Data

1 radian. De même, la longueur d un arc de cercle de rayon R et dont l angle au centre a pour mesure α radians est α R. R AB =R.

Développements limités. Notion de développement limité

Introduction au maillage pour le calcul scientifique

DISQUE DUR. Figure 1 Disque dur ouvert

Initiation à LabView : Les exemples d applications :

Cours de Recherche Opérationnelle IUT d Orsay. Nicolas M. THIÉRY. address: Nicolas.Thiery@u-psud.fr URL:

Baccalauréat S Antilles-Guyane 11 septembre 2014 Corrigé

Feuille d exercices 2 : Espaces probabilisés

Modèles à Événements Discrets. Réseaux de Petri Stochastiques

Francis BISSON ( ) Kenny CÔTÉ ( ) Pierre-Luc ROGER ( ) IFT702 Planification en intelligence artificielle

Exprimer ce coefficient de proportionnalité sous forme de pourcentage : 3,5 %

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

Baccalauréat ES/L Métropole La Réunion 13 septembre 2013 Corrigé

Fonctions de plusieurs variables

MODÉLISATION DU FONCTIONNEMENT EN PARALLELE À DEUX OU PLUSIEURS POMPES CENTRIFUGES IDENTIQUES OU DIFFERENTES

Les réseaux cellulaires

TD1 Signaux, énergie et puissance, signaux aléatoires

COURS SYRRES RÉSEAUX SOCIAUX INTRODUCTION. Jean-Loup Guillaume

Reconstruction de bâtiments en 3D à partir de nuages de points LIDAR

Cours Fonctions de deux variables

La classification automatique de données quantitatives

Développements limités, équivalents et calculs de limites

Architecture des Systèmes d Information Architecture des Systèmes d Information

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

G.P. DNS02 Septembre Réfraction...1 I.Préliminaires...1 II.Première partie...1 III.Deuxième partie...3. Réfraction

Chapitre 7. Récurrences

chapitre 4 Nombres de Catalan

Journée SITG, Genève 15 octobre Nicolas Lachance-Bernard M.ATDR Doctorant, Laboratoire de systèmes d information géographique

Logiciel XLSTAT version rue Damrémont PARIS

Exercices Alternatifs. Une fonction continue mais dérivable nulle part

Exercices Alternatifs. Une fonction continue mais dérivable nulle part

TSTI 2D CH X : Exemples de lois à densité 1

BACCALAURÉAT GÉNÉRAL SESSION 2012 OBLIGATOIRE MATHÉMATIQUES. Série S. Durée de l épreuve : 4 heures Coefficient : 7 ENSEIGNEMENT OBLIGATOIRE

Programmation linéaire

CAISSE ENREGISTREUSE ELECTRONIQUE SE-G1

Introduction à la théorie des graphes

LES LEVIERS DE L EMARKETING. OAP Marketing Web - ESC Toulouse 2008 Intevenant: francois@goube.org

BACCALAURÉAT GÉNÉRAL SÉRIE SCIENTIFIQUE

Modélisation multi-agents - Agents réactifs

Logiciels E.Set, E.View et E.View+

Guide de configuration d'une classe

Rappel sur les bases de données

Microsoft Excel : tables de données

Quantification Scalaire et Prédictive

l'atelier Scientifique

Correction du baccalauréat ES/L Métropole 20 juin 2014

SEO On-page. Avez-vous mis toutes les chances de votre côté pour le référencement de votre site?

Quelques algorithmes simples dont l analyse n est pas si simple

Baccalauréat ES L intégrale d avril à novembre 2013

Calcul de développements de Puiseux et application au calcul du groupe de monodromie d'une courbe algébrique plane

Deux disques dans un carré

Maarch Framework 3 - Maarch. Tests de charge. Professional Services. 11, bd du Sud Est Nanterre

Licence Sciences et Technologies Examen janvier 2010

PRECISION - REJET DE PERTURBATIONS T.D. G.E.I.I.

Principes d AdWords. Quelques mots de présentation. Une audience large : les réseaux de ciblage. Réseau de recherche

Chapitre 3 : Principe des tests statistiques d hypothèse. José LABARERE

Transcription:

1/27 Graphes et Réseaux Biologiques, Concepts et Algorithmes Graphes et Réseaux Biologiques, Concepts et Algorithmes L. Tichit 18 novembre 2014

2/27 Graphes et Réseaux Biologiques, Concepts et Algorithmes Transparents Christine 1-2

3/27 Graphes et Réseaux Biologiques, Concepts et Algorithmes Définitions

4/27 Graphes et Réseaux Biologiques, Concepts et Algorithmes Graphe Un graphe est constitué d un ensemble V de sommets et un ensemble E d arêtes, chaque arête étant elle-même représentée par une paire de sommets. Définition Un graphe G = (V, E) est le couple constitué : d un ensemble V non vide et fini dont les éléments sont appelés sommets. d un ensemble E V V dont les éléments sont des paires de sommets et sont appelés arêtes.

5/27 Graphes et Réseaux Biologiques, Concepts et Algorithmes Taille, Degré Si e = {x, y} est une arête de G, on dit que les sommets x et y, extrémités de l arête e, sont adjacents (ou voisins) dans le graphe G, et que l arête e est incidente aux sommets x et y.

5/27 Graphes et Réseaux Biologiques, Concepts et Algorithmes Taille, Degré Si e = {x, y} est une arête de G, on dit que les sommets x et y, extrémités de l arête e, sont adjacents (ou voisins) dans le graphe G, et que l arête e est incidente aux sommets x et y. La taille (ou l ordre) d un graphe G est égale au nombre de sommets composant ce graphe, et est notée G, V ou n.

5/27 Graphes et Réseaux Biologiques, Concepts et Algorithmes Taille, Degré Si e = {x, y} est une arête de G, on dit que les sommets x et y, extrémités de l arête e, sont adjacents (ou voisins) dans le graphe G, et que l arête e est incidente aux sommets x et y. La taille (ou l ordre) d un graphe G est égale au nombre de sommets composant ce graphe, et est notée G, V ou n. Le nombre d arêtes est noté E ou m.

/27 Taille, Degré Si e = {x, y} est une arête de G, on dit que les sommets x et y, extrémités de l arête e, sont adjacents (ou voisins) dans le graphe G, et que l arête e est incidente aux sommets x et y. La taille (ou l ordre) d un graphe G est égale au nombre de sommets composant ce graphe, et est notée G, V ou n. Le nombre d arêtes est noté E ou m. On appelle degré d un sommet x d un graphe, le nombre de voisins du sommet x. Le degré de x est noté deg(x) ou k x. On note deg(g) le degré maximal du graphe G, c est-à-dire le nombre maximal de voisins des sommets de G. Définition deg(g) = max x V {k x}

6/27 Graphes et Réseaux Biologiques, Concepts et Algorithmes Graphe complet Un graphe complet est tel que tous ses sommets sont adjacents deux à deux.

6/27 Graphes et Réseaux Biologiques, Concepts et Algorithmes Graphe complet Un graphe complet est tel que tous ses sommets sont adjacents deux à deux. Un graphe complet à i sommets est, par convention, appelé Ki. Figure: Un graphe complet (K6)

/27 Graphe complet Dessinez Ki, i {1,..., 5}

7/27 Graphes et Réseaux Biologiques, Concepts et Algorithmes Graphe complet Dessinez Ki, i {1,..., 5} i {1,..., 7}, calculez E Ki

7/27 Graphes et Réseaux Biologiques, Concepts et Algorithmes Graphe complet Dessinez Ki, i {1,..., 5} i {1,..., 7}, calculez E Ki Pour un graphe complet, en déduire E en fonction de V

7/27 Graphes et Réseaux Biologiques, Concepts et Algorithmes Graphe complet Dessinez Ki, i {1,..., 5} i {1,..., 7}, calculez E Ki Pour un graphe complet, en déduire E en fonction de V Définition Pour tout graphe complet : E = V.( V 1) 2

8/27 Graphes et Réseaux Biologiques, Concepts et Algorithmes Sous-graphe, Clique Un sous-graphe H = (V 2, E 2 ) de G = (V, E) est un graphe pour lequel V 2 V et E 2 V 2 V 2 E.

8/27 Graphes et Réseaux Biologiques, Concepts et Algorithmes Sous-graphe, Clique Un sous-graphe H = (V 2, E 2 ) de G = (V, E) est un graphe pour lequel V 2 V et E 2 V 2 V 2 E. Une clique est un sous-graphe formant un graphe complet.

9/27 Graphes et Réseaux Biologiques, Concepts et Algorithmes Densité La densité D d un graphe G à n sommets mesure son taux d arêtes. Définition D(G) = E E Kn

9/27 Graphes et Réseaux Biologiques, Concepts et Algorithmes Densité La densité D d un graphe G à n sommets mesure son taux d arêtes. Définition D(G) = E E Kn D G = 0 E = 0 D G = 1 G = Kn

10/27 Densité Reformulez la densité en fonction de V et E.

10/27 Densité Reformulez la densité en fonction de V et E. Définition D(G) = 2 E V.( V 1)

11/27 Chaîne Une chaîne est une séquence d arêtes L = (e 1, e 2,..., e q ) telle que chaque arête e i de la séquence (avec 2 i q 1) ait une extrémité commune avec l arête e i 1 (e i 1 e i ) et l autre extrémité commune avec l arête e i+1 (e i+1 e i ). Figure: Une chaîne

12/27 Cycle Un cycle est une chaîne pour laquelle le premier et le dernier sommet sont identiques. Figure: Un cycle

12/27 Cycle Un cycle est une chaîne pour laquelle le premier et le dernier sommet sont identiques. Figure: Un cycle Par extension : Une chaîne d un graphe G est un sous-graphe de G qui est lui-même une chaîne. Un cycle d un graphe G est un sous-graphe de G qui est lui-même un cycle.

13/27 Distance entre sommets, Excentricité La distance entre deux sommets d un graphe est la longueur d une plus courte chaîne entre ces deux sommets.

13/27 Distance entre sommets, Excentricité La distance entre deux sommets d un graphe est la longueur d une plus courte chaîne entre ces deux sommets. L excentricité d un sommet est le maximum des distances entre lui et chacun des autres. Définition exc(w) = max dist(w, v) v V

14/27 Distance entre sommets, Diamètre La distance entre deux sommets d un graphe est la longueur d une plus courte chaîne entre ces deux sommets.

14/27 Distance entre sommets, Diamètre La distance entre deux sommets d un graphe est la longueur d une plus courte chaîne entre ces deux sommets. Le diamètre d un graphe est l excentricité maximale de ses sommets = maximum des distances entre toute paire de sommets. Définition diametre(g) = max v V exc(v)

15/27 Distance entre sommets, Diamètre Calculez les diamètres des 4 graphes suivants (à faire au tableau).

15/27 Distance entre sommets, Diamètre Calculez les diamètres des 4 graphes suivants (à faire au tableau). Figure: Diamètre de différents graphes

15/27 Distance entre sommets, Diamètre Calculez les diamètres des 4 graphes suivants (à faire au tableau). Figure: Diamètre de différents graphes Au passage, énumérez les cliques des graphes précédents.

6/27 Rayon, Centre Le rayon est l excentricité minimale de ses sommets. Définition rayon(g) = min v V exc(v)

6/27 Rayon, Centre Le rayon est l excentricité minimale de ses sommets. Définition rayon(g) = min v V exc(v) Le centre d un graphe est formé de l ensemble de ses sommets d excentricité minimale. Le centre doit être placé de telle sorte que le maximum des distances de chaque sommet au centre soit minimal.

6/27 Rayon, Centre Le rayon est l excentricité minimale de ses sommets. Définition rayon(g) = min v V exc(v) Le centre d un graphe est formé de l ensemble de ses sommets d excentricité minimale. Le centre doit être placé de telle sorte que le maximum des distances de chaque sommet au centre soit minimal. Rayon et Centre des graphes précédent?

Connexité Un graphe G est dit connexe si et seulement si pour toute paire i, j V V il existe toujours une chaîne reliant i et j. 17/27 Figure: Un graphe connexe

18/27 Composante connexe Définition Une composante connexe d un graphe G est un sous-graphe de G connexe maximal. Autrement dit, c est un ensemble de sommets du graphe G de taille maximale, tel qu il existe une chaîne entre chacun de ses sommets. Figure: Un graphe constitué de deux composantes connexes

19/27 Graphes étiquetés et Topologie Soit Σ un alphabet fini fixé. Un graphe étiqueté sur Σ est un graphe pour lequel une étiquette l v Σ (parfois appelée label) est affectée à chaque sommet v (et/ou arête). La topologie d un graphe représente sa forme : deux graphes étiquetés différents peuvent avoir la même topologie. Deux graphes de même topologie sont appelés isomorphes.

20/27 Structures de données

21/27 Soit le Graphe G (orienté) suivant : Figure: Exemple de graphe pondéré (orienté)

22/27 Matrice d adjacence Matrice carrée, de taille n n, avec n = V. Chaque cellule M i,j contient un booléen ou une valeur numérique (arêtes pondérées).

22/27 Matrice d adjacence Matrice carrée, de taille n n, avec n = V. Chaque cellule M i,j contient un booléen ou une valeur numérique (arêtes pondérées). Figure: Matrice d adjacence

23/27 Liste d adjacence Tableau de taille n, chaque cellule M i contient un ensemble (liste, vecteur,...) de taille deg(g i ). Chaque élément de l ensemble identifie un sommet adjacent à i.

23/27 Liste d adjacence Tableau de taille n, chaque cellule M i contient un ensemble (liste, vecteur,...) de taille deg(g i ). Chaque élément de l ensemble identifie un sommet adjacent à i. Figure: Liste d adjacence

24/27 Matrice d incidence Matrice de taille n m, avec m = E et n = V. Décrit le graphe en indiquant quels liens arrivent sur quels sommets. Nécessite d indexer les arêtes

24/27 Matrice d incidence Matrice de taille n m, avec m = E et n = V. Décrit le graphe en indiquant quels liens arrivent sur quels sommets. Nécessite d indexer les arêtes Représentez la matrice d incidence du graphe ci-dessus.

25/27 Liste d incidence Même principe Les structures d incidence sont moins efficaces que les structures d adjacence : Complexité de certaines opérations Davantage de place mémoire perdue

26/27 Algorithmique

7/27 Connexité Idée : on choisit un sommet, puis on parcourt récursivement tous les voisins.

7/27 Connexité Idée : on choisit un sommet, puis on parcourt récursivement tous les voisins. Stop quand on a parcouru une composante connexe.

7/27 Connexité Idée : on choisit un sommet, puis on parcourt récursivement tous les voisins. Stop quand on a parcouru une composante connexe. On continue s il reste des sommets non traités.

28/27 Parcours en largeur : BFS Breadth-First Search : on utilise une file (First-In, First-Out). Figure: Breadth-First Search

29/27 Parcours en profondeur : DFS Depth-First Search : on utilise une pile (Last-In, First-Out). Figure: Depth-First Search

30/27 Complexité Déterminer l efficacité d un algorithme en temps d exécution et espace mémoire

30/27 Complexité Déterminer l efficacité d un algorithme en temps d exécution et espace mémoire Déterminer l efficacité d un algorithme dans le pire des cas en moyenne dans le meilleur cas

30/27 Complexité Déterminer l efficacité d un algorithme en temps d exécution et espace mémoire Déterminer l efficacité d un algorithme dans le pire des cas en moyenne dans le meilleur cas Outil théorique Indépendant de la programmation

31/27 Complexité Comparer des algorithmes, indépendamment de leur implémentation : choix avant implémentation.

31/27 Complexité Comparer des algorithmes, indépendamment de leur implémentation : choix avant implémentation. Déterminer comment l algorithme évoluera en fonction de la taille des données à traiter : vérification de la faisabilité de l implémentation.

32/27 Quelques courbes Comportement asymptotique d une fonction f (n) (quand la taille des données n tend vers l infini). Figure: Classes de complexité

33/27 Notation O(f (n)) Une fonction fun(n) a une complexité en O(f (n)) il existe une fonction C.f (n) (où C est une constante) qui borne fun(n) quand n tend vers l infini.

33/27 Notation O(f (n)) Une fonction fun(n) a une complexité en O(f (n)) il existe une fonction C.f (n) (où C est une constante) qui borne fun(n) quand n tend vers l infini. Exemple : une fonction f (n) qui effectue n 2 + 20n + 235 opérations a une complexité en O(n 2 ).

34/27 Graphes d interactions protéines-protéines

35/27 Hypothèse Objectif : recherche de protéines impliquées dans les mêmes voies metaboliques. Supposition : les proteines partageant beaucoup d interactions participent à la même voie métabolique.

36/27 Transparents Christine 3-4

37/27 Edge-betweenness L algorithme de Girvan Newman. Nombre de plus courts chemins passant par une arête (calculé entre toutes les paires de sommets). Hypothèse biologique de centralité : les processus biologiques sont connectés par des interactions de haute betweenness. Peut également être utilisé pour déconnecter le graphe.

38/27 Diamètre, Edge-betweenness Plus court chemin L algorithme de Dijkstra est la référence. Il se base sur des graphes dont les arêtes sont pondérées. Principe : parcours en largeur en maintenant une liste de priorité. Figure: Algorithme de Dijkstra

9/27 Plus court chemin : algorithme de Dijkstra Entrées : G = (V, E) un graphe avec une pondération p des arêtes v deb un sommet de V Initialiser chaque sommet comme étant non marqué. Affecter la valeur + à tous les labels L L(v deb ) = 0 Tant Qu il existe un sommet non marqué Choisir le sommet a non marqué de plus petit label L Marquer a Pour chaque sommet b non marqué voisin de a L(b) = min(l(b), L(a) + p(a, b)) Fin Pour Fin Tant Que

40/27 Algorithme de Dijkstra : complexité Complexité en O(m + n log(n))

40/27 Algorithme de Dijkstra : complexité Complexité en O(m + n log(n)) Idée 1 : avg deg(g) 2.n = m

40/27 Algorithme de Dijkstra : complexité Complexité en O(m + n log(n)) avg deg(g) Idée 1 : 2.n = m Idée 2 : stocker les sommets dans un tas (structure arborescente équilibrée)

41/27 Transparents Christine 5-8

42/27 Kernel, K-Core Quelles sont les protéines centrales (beaucoup d interacteurs, évoluent peu)? Principe : on pèle l interactome. Supprimer récursivement des sommets, en commençant par ceux n ayant qu un seul voisin.

43/27 Kernel, K-Core Figure: K-Cores

44/27 Transparents Christine 9-13

45/27 Transparents Christine 14-18

Bibliographie 45/27 C. Berge. Graphes et hypergraphes. Dunod Editeurs, Paris. Deuxième édition, 1973. C. Berge. Hypergraphs. Elsevier Science Publishers, 1989. C. Berge. Graphs. North Hollande, 1991. O. Cogis and C. Robert. Au-delà des ponts de Königsberg Théorie des Graphes. Vuibert, Paris, 2003.