# Analyse en graphe de puissance

En biologie computationnelle, l'analyse en graphes de puissance est une méthode d'analyse et de représentation de réseaux complexes. Cette méthode regroupe le calcul, l'analyse et la représentation visuelle d'un graphe de puissance à partir d'un graphe (réseaux).
L'analyse en graphe de puissance est une forme d'algorithme de compression sans perte sur les graphes. Il s'agit en pratique d'étendre la syntaxe des graphes fin de représenter les cliques, les bicliques et les étoiles de manière efficace. Des niveaux de compression allant jusqu'à 95 % ont été obtenus pour des réseaux biologiques complexes.
Les hypergraphes sont une généralisation des graphes dans lesquels les arêtes ne sont pas seulement des couples de nœuds mais des n-uplets arbitraires. Les graphes de puissance ne sont pas une autre généralisation des graphes, mais plutôt une nouvelle représentation des graphes qui propose un passage du langage « nœuds et liens » à un langage utilisant des cliques, des bi-cliques et des étoiles comme primitives.

## Graphes de puissance
### Représentation graphique

Traditionnellement, les graphes sont dessinés avec des cercles ou des points qui représentent des nœuds et des lignes reliant des paires de nœuds qui représentent des arêtes . Pour leur part, les graphes de puissance étendent la syntaxe des graphes avec des nœuds de puissance, qui sont dessinés comme un cercle englobant des nœuds (ou d'autres nœuds de puissance), et des arêtes de puissance, qui sont des lignes entre les nœuds de puissance.
Soit un graphe $G=(V,E)$ où $V$ dénote l'ensemble des nœuds et $E\subset V\times V$ l'ensemble des liens.
Une clique est un ensemble de nœuds entièrement reliés. C'est-à-dire que $C\subset V$ est une clique si :
$\forall a,b\in C,(a,b)\in E$
Dans un graphe de puissance, une clique est représentée par un nœud de puissance avec une boucle.
Les bicliques sont deux ensembles de nœuds avec un bord entre chaque membre d'un ensemble et chaque membre de l'autre ensemble. C'est-à-dire que $A$ et $B$ forment une biclique si :
$\forall a\in A,\forall b\in B,(a,b)\in E$
Dans un graphe de puissance, une biclique est représentée comme une arête entre deux nœuds de puissance.
Les étoiles sont un ensemble de nœuds avec un bord entre chaque membre de cet ensemble et un seul nœud à l'extérieur de l'ensemble. (Autrement dit, une biclique dont l'un des deux ensembles est un singleton.) Dans un graphe de puissance, une étoile est représentée par une arête de puissance entre un nœud régulier et un nœud de puissance.

### Définition formelle

Étant donné un graphique $G={\bigl{V,E}{\bigr )}$ où $V={\bigl \v_{0},\dots ,v_{n}{\bigr \}}$ est l'ensemble des nœuds et $E\subseteq V\times V$ est l'ensemble des arêtes, un graphe de puissance $G'={\bigl{V',E'}{\bigr )}$ est un graphe défini sur l'ensemble de puissance $V'\subseteq {\mathcal {P}}{\biglV{\bigr )}$ de nœuds de puissance connectés entre eux par des liens de puissance : $E'\subseteq V'\times V'$. Les graphes de puissance sont ainsi définis sur l'ensemble de puissance des nœuds ainsi que sur l'ensemble de puissance des arêtes du graphe $G$.
La sémantique des graphes de puissance est la suivante : si deux nœuds de puissance sont connectés par une arête de puissance, cela signifie que tous les nœuds du premier nœud de puissance sont connectés à tous les nœuds du deuxième nœud de puissance. De même, si un nœud de puissance est connecté à lui-même par un bord de puissance (i.e. une boucle), cela signifie que tous les nœuds du nœud de puissance sont connectés les uns aux autres par des bords.
Les deux conditions suivantes sont requises :
* Hiérarchie des nœuds de puissance : deux nœuds de puissance sont soit disjoints, soit l'un est inclus dans l'autre.
* Disjonction des arêtes de puissance : il existe une surjection des arêtes du graphe d'origine vers les arêtes de puissance.

## Analogie avec l'analyse de Fourier

L'analyse de Fourier d'une fonction peut être considérée comme une réécriture de la fonction en termes de fonctions harmoniques au lieu de $t\mapsto x$ paires. Cette transformation change le point de vue du domaine temporel au domaine fréquentiel et permet de nombreuses applications intéressantes dans l'analyse de signaux, la compression de données et le filtrage.
De même, l'analyse en graphe de puissance est une réécriture ou une décomposition d'un réseau utilisant des bicliques, des cliques et des étoiles comme éléments primitifs (tout comme les fonctions harmoniques pour l'analyse de Fourier). Il peut être utilisé pour analyser, compresser et filtrer les réseaux. Il existe cependant plusieurs différences essentielles. Premièrement, dans l'analyse de Fourier, les deux espaces (domaines temporel et fréquentiel) sont le même espace fonctionnel - mais stricto sensu, les graphes de puissance ne sont pas des graphes. Deuxièmement, il n'y a pas de graphe de puissance unique représentant un graphe donné. Pourtant, une classe très intéressante de graphes de puissance sont les graphes de puissance minimale qui ont le moins de bords de puissance et de nœuds de puissance nécessaires pour représenter un graphe donné.

## Graphes de puissance minimaux

En général, il n'y a pas d'unicité du graphe de puissance pour un graphe donné, même en imposant la minimalité. Ainsi, dans l'exemple (à droite), un graphe de quatre nœuds et cinq arêtes admet deux graphes de puissance minimale de deux arêtes de puissance chacun. La principale différence entre ces deux graphes de puissance minimale est le niveau d'imbrication plus élevé du second graphe de puissance ainsi qu'une perte de symétrie par rapport au graphe sous-jacent. La perte de symétrie n'est un problème que dans les petits exemples de jouets, car les réseaux complexes présentent rarement de telles symétries en premier lieu. De plus, on peut minimiser le niveau d'imbrication mais même alors, il n'y a en général pas d'unicité.

## Algorithme glouton du graphe de puissance

L'algorithme glouton du calcul d'un graphe de puissance repose sur deux étapes simples pour effectuer la décomposition :
La première étape identifie les possibles nœuds de puissance par le biais d'un regroupement hiérarchique des nœuds du réseau sur la base de la similitude de leurs nœuds voisins. La similarité de deux ensembles de voisins est prise comme l'indice de Jaccard des deux ensembles.
La deuxième étape effectue une recherche gloutonne d'éventuelles arêtes de puissance entre les nœuds de puissance candidats. Les arêtes de puissance faisant abstraction du plus grand nombre d'arêtes dans le réseau d'origine sont ajoutées en premier au graphe de puissance. Ainsi, les bicliques, les cliques et les étoiles sont progressivement remplacés par des arêtes de puissance, jusqu'à ce que toutes les arêtes simples restantes soient également ajoutées. Les nœuds d'alimentation candidats qui ne sont pas le point final d'un bord d'alimentation sont ignorés.

## Décomposition modulaire

La décomposition modulaire peut être utilisée pour calculer un graphe de puissance en utilisant les modules forts de la décomposition modulaire. Les modules en décomposition modulaire sont des groupes de nœuds dans un graphe qui ont des voisins identiques. Un module fort est un module qui ne chevauche pas un autre module. Cependant, dans les réseaux complexes, les modules forts sont plus l'exception que la règle. Par conséquent, les graphes de puissance obtenus par décomposition modulaire sont loin d'être minimaux. La principale différence entre la décomposition modulaire et l'analyse de graphe de puissance est l'accent mis par l'analyse de graphe de puissance dans la décomposition de graphes non seulement en utilisant des modules de nœuds mais aussi des modules d'arêtes (cliques, bicliques). En effet, l'analyse du graphe de puissance peut être considérée comme un regroupement simultané sans perte des nœuds et des bords.

## Applications
### Réseaux biologiques

L'analyse en graphe de puissance s'est avérée utile pour l'analyse de plusieurs types de réseaux biologiques tels que les réseaux d'interaction protéine-protéine les motifs de liaison domaine-peptide, les réseaux de régulation génétique et les réseaux d'homologie/paralogie. De plus, un réseau de paires maladie-trait intéressants a été récemment visualisé et analysé avec des graphes de puissance.
La compression de réseau, une nouvelle mesure dérivée des graphes de puissance, a été proposée comme mesure de qualité pour les réseaux d'interaction protéique.

### Repositionnement de médicaments

Les graphes de puissances ont également été appliqués à l'analyse des réseaux médicament-cible-maladie pour le repositionnement des médicaments.

### Réseaux sociaux

Les graphes de puissance ont été appliqués à des données à grande échelle dans les réseaux sociaux, pour la détection de communauté ou pour la modélisation de types d'auteurs.