Hypergraphe

Un article de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher
Exemple d'hypergraphe : V = \{v_1, v_2, v_3, v_4, v_5, v_6, v_7\}, E= \{e_1,e_2,e_3,e_4\} =\{\{v_1, v_2, v_3\}, \{v_2,v_3\}, \{v_3,v_5,v_6\},\{v_4\}\}.

Les hypergraphes sont des objets mathématiques généralisant la notion de graphes. Ils ont été nommés ainsi par Claude Berge dans les années 60[réf. nécessaire].

Les hypergraphes généralisent la notion de graphe dans le sens où les arêtes ne relient plus un ou deux sommets, mais un nombre quelconque de sommets (compris entre un et le nombre de sommets de l’hypergraphe).

Certains théorèmes de la théorie des graphes se généralisent naturellement aux hypergraphes, par exemple le théorème de Ramsey.

Les hypergraphes sont manipulés dans tous les domaines où on utilise la théorie des graphes : résolution de problèmes de satisfaction de contraintes, traitement d’images, optimisation d’architectures réseaux, modélisation, etc.

Définitions[modifier | modifier le code]

Hypergraphe[modifier | modifier le code]

Un hypergraphe H est un couple (V, E)V = \{ v_1, v_2, ..., v_n \} est un ensemble non vide (généralement fini) et E = E_1, E_2, ..., E_m est une famille de parties non vides de V.

À l'instar des graphes, on dit que :

  • Les éléments de V sont les sommets de H.
  • Le nombre de sommets n est l'ordre de l'hypergraphe.
  • Les éléments de E sont les arêtes de H.

Les hypergraphes correspondent précisément aux matrices à coefficients 0 ou 1 (dont chaque colonne a au moins un 1). En effet, tout hypergraphe H correspond de manière univoque à la matrice \mathcal{A}_{n,m}\, telle que :

\forall a_{i,j} \in \mathcal{A}, \quad a_{i,j} = \begin{cases} 1 & \text{si} ~ v_i \in E_j \\ 0 & \text{sinon} \end{cases}

Hypergraphe uniforme[modifier | modifier le code]

Parmi les propriétés « nouvelles » des hypergraphes par rapport aux graphes figurent deux notions associées.

  • On appelle rang d'un hypergraphe le nombre maximum de sommets d'une arête :
    \operatorname{rang}(H) = \max_{i \in\{1,\ldots,m\}} |E_i|
    Le rang d'un hypergraphe est majoré par son ordre. Si \mathrm{rang}(H) = 2, alors H est un graphe.
  • On appelle anti-rang d'un hypergraphe le nombre minimum de sommets d'une arête :
    \operatorname{anti-rang}(H) = \min_{i \in\{1,\ldots,m\}} |E_i|

Par définition d'un hypergraphe, les arêtes sont des parties non vides de l'ensemble des sommets de l'hypergraphe. L'anti-rang d'un hypergraphe est donc non nul.

Un hypergraphe est dit uniforme lorsque son rang et son anti-rang sont égaux.

On parle aussi d' hypergraphe r-uniforme pour désigner un hypergraphe uniforme de rang r.

Exemple : l'hypergraphe du plan de Fano[modifier | modifier le code]

L'hypergraphe du plan de Fano.

L'hypergraphe du plan de Fano a sept sommets appelés points {0,1,2,3,4,5,6} et sept arêtes appelées droites (013, 045, 026, 124, 346, 325, 516). L'ordre (nombre de sommets) est 7.

Le rang et l'anti-rang sont égaux à 3 (nombre de sommets d'une arêtes). Par conséquent, l'hypergraphe du plan de Fano est un hypergraphe 3-uniforme.

Hypergraphe partiel et sous-hypergraphe[modifier | modifier le code]

À l'instar des graphes, on dit que :

  • Un hypergraphe partiel H_p = (V, E_p) d'un hypergraphe H = (V, E) est tel que :
    E_p \subset E.
  • Un sous-hypergraphe H'=(V',E') d'un hypergraphe H = (V, E) est tel que :
    • V' \subseteq V et
    • \forall E_i \in E',\quad E_i \subseteq V' \and E_i \in E.

Ces notions généralisent à la théorie des hypergraphes les notions de graphe partiel et de sous-graphe.

Hypergraphe simple[modifier | modifier le code]

À l'instar des graphes, on dit qu'un hypergraphe est simple s'il n'a pas d'arête multiple.

On appelle famille de Sperner (ou clutter en anglais) un hypergraphe simple dont aucune arête n'est contenue dans une autre.

Hypergraphe dual[modifier | modifier le code]

Soit V^* = \{ V_j \mid j = 1, 2, \ldots, |V| \} tel que V_j = \{ E_i \mid ( E_i \in E ) \wedge ( v_j \in E_i ) \}.

Alors l'hypergraphe défini par H^* = (E, V^*) est appelé hypergraphe dual de H. Il correspond à la transposée de la matrice. La notion ne coïncide pas avec celle de graphe dual, même dans le cas où l'hypergraphe s'avère être un graphe.

Exemples  :

Hypergraphe, recouvrement, partition[modifier | modifier le code]

L'ensemble des arêtes d'un hypergraphe n'est pas nécessairement un recouvrement, car un sommet peut être de degré nul, c'est-à-dire n'être relié par aucune arête ; dans ce cas, l'union des arêtes ne recouvre pas l'ensemble des sommets. Par exemple, dans l'hypergraphe tel que V = \{v_1, v_2, v_3, v_4, v_5, v_6, v_7\} et E= \{e_1,e_2,e_3,e_4\} =\{\{v_1, v_2, v_3\}, \{v_2,v_3\},\{v_3,v_5,v_6\},\{v_4\}\}, le sommet v_7 est de degré nul ; ne figurant dans aucun des sous-ensembles e_i de E, il empêche E d'être un recouvrement. L'ensemble des arêtes d'un hypergraphe n'est un recouvrement que si chaque sommet est au moins de degré 1.

Par suite, il y a partition si l'ensemble des arêtes est un recouvrement et qu'aucun sommet n'est relié par deux arêtes, c'est-à-dire si tout sommet est exactement de degré 1.

Voir aussi[modifier | modifier le code]

Référence[modifier | modifier le code]