Hypergraphe
# Hypergraphe

Les hypergraphes sont des objets mathématiques généralisant la notion de graphe. Ils ont été nommés ainsi par Claude Berge dans les années 1960.

Les hypergraphes généralisent la notion de graphe non orienté 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

### Hypergraphe

Un hypergraphe $H$ est un couple $(V,E)$ où $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

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

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ête). Par conséquent, l'hypergraphe du plan de Fano est un hypergraphe 3-uniforme.

### Hypergraphe partiel et sous-hypergraphe

À 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'\land 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

À l'instar des graphes (non orientés), on dit qu'un hypergraphe est simple s'il n'a pas d'arête multiple (cf. article graphe simple).

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

### Hypergraphe dual

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.

* $(\{1,2\},\{1,3\},\{2,3\})$ est à la fois autodual et autotransversal.
* $(\{1,2,3\},\{1,4,5\},\{1,6,7\},\{2,4,6\},\{2,5,7\},\{3,4,7\},\{3,5,6\})$ est un plan projectif, autotransversal, uniforme, régulier et autodual.

## Hypergraphe, recouvrement, partition

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.

