Dégénérescence (théorie des graphes)

En théorie des graphes, la dégénérescence est un paramètre associé à un graphe non orienté. Un graphe est k-dégénéré si tout sous-graphe contient un nœud de degré inférieur ou égal à k. La dégénérescence d'un graphe est le plus petit k tel qu'il soit k-dégénéré. On peut de façon équivalente définir le paramètre en utilisant un ordre sur les sommets (appelé ordre de dégénérescence) tel que, pour tout sommet, le nombre d'arêtes vers des sommets plus petits dans l'ordre est au plus k. On parle alors parfois de nombre de marquage.

Il est possible de calculer l'ordre de dégénérescence en temps linéaire.
L'algorithme consiste à retirer itérativement les nœuds de plus faible degré, en maintenant à jour une file de paquets indexés par leur degré courant.
Les composantes connexes obtenues lorsque tous les sommets de degré inférieur à k ont été retirés sont appelés k-cœur du graphe, et la dégénérescence k est alors donnée par la plus grande valeur k associée à un k-cœur  non-vide.

La dégénérescence est une mesure de la non-densité du graphe (c'est-à-dire d'à quel point le graphe est creux). On l'utilise notamment dans les problèmes de coloration de graphes.

Deux définitions historiques équivalentes 

Historiquement, la première définition proposée (sous le nom de ) est due à Paul Erdős et András Hajnal en 1966.
Elle dit qu'un graphe a un  de k s'il existe un ordre sur les sommets tel que, pour tout sommet, le nombre d'arêtes vers des sommets plus petits dans l'ordre est au plus k.

Don Lick et Arthur White proposent une définition équivalente (en employant le terme de ) en 1970: un graphe est dit k-dégénéré si tout sous-graphe induit contient un nœud de degré inférieur ou égal à k. On appelle dégénérescence d'un graphe le plus petit entier k tel que le graphe est k-dégénéré.

En français, on emploie également le terme nombre de marquage.
En anglais, les termes  et  sont tous deux employés. Il ne faut pas confondre le  avec le  (ou nombre chromatique).

Notion de k-cœur d'un graphe 
Le k-cœur (k- en anglais) d'un graphe G est le sous-graphe induit maximum de G dont tous les nœuds sont de degré au moins égal k. De manière équivalente, c'est le sous-graphe induit de G obtenu lorsque l'on supprime de manière répétée tous les sommets de degré plus petit que k.
La dégénérescence de G sera la plus grande valeur de k pour laquelle G admet un k-cœur  non-vide.

Le concept de k-cœur a été introduit pour étudier la structure des réseaux sociaux
 et pour décrire l'évolution de graphes aléatoires.
On l'a aussi utilisé dans différents domaines de la science des réseaux, par exemple en bio-informatique, 
en visualisation de graphes
, ou encore en écologie pour étudier la robustesse des réseaux.

Aspects algorithmiques 
L'algorithme de Matula et Beck calcule l'ordre de dégénérescence en temps linéaire.
Le principe de l'algorithme est de retirer itérativement les nœuds de plus faible degré, en maintenant à jour une file de paquets indexés par leur degré courant.
Pour un graphe  dont l'ensemble des sommets est  et l'ensemble des liens , la procédure de Matula et Beck a une complexité temporelle en  et spatiale en .

On peut le décrire de la manière suivante :
 Initialiser la liste de sortie L à la liste vide.
 Calculer une valeur dv pour chaque sommet v de G, qui est le nombre de voisins de v qui n'est pas déjà dans L (initialement, il s'agit donc du degré des sommets dans G).
 Initialiser un tableau D tel que D[i]  contienne la liste des sommets v qui ne sont pas déjà dans L pour lesquels dv = i.
 Initialiser la valeur k à 0.
 Répéter n fois:
 Parcourir les cellules du tableau D[0], D[1], ... jusqu'à trouver un i pour lequel D[i] est non-vide.
 Mettre k à max(k,i).
 Sélectionner un sommet v de D[i], ajouter v en tête de L et le retirer de D[i].
 Pour chaque voisin w de v qui n'est pas déjà dans L, retirer une unité de dw et déplacer w de la cellule de D correspondant à la nouvelle valeur de dw.

À la fin de l'algorithme, tout sommet   aura au plus  liens vers les sommets de .
Les -cœurs de  sont les , sous-graphes induits  par les sommets , où  est le premier sommet de degré  au moment où il est ajouté à .

Propriétés 
Un graphe k-dégénéré a un nombre chromatique d'au plus k+1.
On peut le prouver par une récurrence simple sur le nombre de sommets du graphe.
Un algorithme de coloriage glouton sur un graphe qui parcourt les nœuds dans un ordre de dégénérescence permet de colorier les sommets avec au plus k+1 couleurs.
Par ailleurs, comme le nombre chromatique est une borne supérieure à la taille de la  clique maximum du graphe, celle-ci est au plus la dégénérescence du graphe +1.

La dégénérescence k d'un graphe est liée à son arboricité a par l'encadrement suivant: a ≤ k < 2a.
En effet, si on oriente les arêtes du graphe selon l'ordre de dégénérescence de manière que l'orientation aille des sommets d'indice les plus élevés vers ceux d'indices plus petits, on obtient un graphe orienté acyclique de degré sortant maximum k; 
les arêtes peuvent alors être partitionnées en k forêts en choisissant pour chaque lien sortant de chaque sommet de l'affecter à une des forêts;
par définition de l'arborescence, on a alors a ≤ k.

La dégénérescence peut aussi être liée à d'autres caractéristiques du graphe telle que la largeur arborescente.

On dit qu'un graphe est k-sommet-connexe s'il ne peut être partitionné par la suppression de moins de k sommets, ou, de manière équivalente, si toute paire de sommets est connectée par k  il existe est k  chaînes indépendantes reliant ces sommets.
Comme ces chaînes doivent relier les deux sommets de la paire par des liens distincts, un graphe k-sommet connexe doit être au moins k-dégénéré.
Des concepts basés sur la sommet-connexité ont été étudié dans le domaine de l'analyse de réseaux sociaux sous le nom de cohésion structurelle.

La conjecture d'Erdős-Burr dit que pour tout entier k, il existe une constante c telle que tout graphe k-dégénéré à n sommets ait son nombre de Ramsey majoré par c.n, autrement dit, le nombre de Ramsey croît linéairement avec le nombre de sommets du graphe. Cette conjecture a été démontrée par Choongbum Lee en 2017.

Voir également 
 Théorie des graphes
 Science des réseaux

Notes et références 

Invariant de graphe