# Graphe cordal

En théorie des graphes, on dit qu'un graphe est cordal si chacun de ses cycles de quatre sommets ou plus possède une corde, c'est-à-dire une arête reliant deux sommets non adjacents du cycle. Une définition équivalente est que tout cycle sans corde possède au plus trois sommets. Les graphes cordaux, aussi appelés graphes triangulés, sont un sous-ensemble des graphes parfaits.
On parle aussi de graphe triangulé.

## Définition

Un graphe est cordal s'il ne contient pas de cycle induit de longueur 4 ou plus$^,$. Un cycle induit de longueur quatre ou plus est appelé un trou. Le terme «graphe triangulé» est aussi utilisé car chaque cycle doit être un triangle.

## Caractérisations
### Élimination parfaite

Un ordonnancement d'élimination parfaite d'un graphe est un ordonnancement des sommets du graphe tel que, pour tout sommet $v$, l'ensemble formé par $v$ et ses voisins qui se trouvent après lui forment une clique. Un graphe est cordal si et seulement s'il possède un ordonnancement d'élimination parfaite (Fulkerson et Gross 1965).

### Graphes d'intersection de sous-arbres

Une autre caractérisation des graphes cordaux faite par Gavril 1974, utilise les arbres et leurs sous-arbres.
À partir d'une collection de sous-arbres d'un arbre $A$, il est possible de définir un graphe sous-arbre qui est un graphe d'intersection avec un sommet par sous-arbre. Les arêtes relient les sous-arbres qui ont au moins un nœud en commun dans l'arbre $A$. Comme Gavril l'a montré, les graphes sous-arbre sont exactement les graphes cordaux. Cette représentation forme une décomposition arborescente du graphe, où la hauteur du graphe vaut la taille de la plus grande clique du graphe moins un; la décomposition arborescente de n'importe quel graphe $G$ peut être vue de cette manière comme une représentation de $G$ comme un sous-graphe d'un graphe cordal.

### Séparateurs

Les graphes dont tous les séparateurs minimaux sont des cliques sont les graphes cordaux.

## Relations avec d'autres classes
### Sous-classes

Les graphes d'intervalles sont les graphes d'intersection de sous-arbres de graphes chemin ; ainsi, ils sont une sous-famille des graphes cordaux.
Les graphes scindés (ou « séparés », split graphs en anglais) sont exactement les graphes à la fois cordaux et complémentaires de graphes cordaux. Bender, Richmond et Wormald 1985 ont montré, en notant $F(n)$ le nombre de graphes scindés à $n$ sommets et $C(n)$ le nombre de graphes cordaux à $n$ sommets, que $F(n)/C(n)$ tendait vers 1 lorsque $n$ tendait vers l'infini.
Les graphes trivialement parfaits sont exactement les graphes qui sont à la fois des graphes cordaux et des cographes.

### Sur-classes

Les graphes cordaux sont une sous-classe des graphes sans trou pair et des graphes sans trou impair, puisque les graphes cordaux sont par définition les graphes sans trou (un trou étant un cycle de longueur au moins 4).

## Aspects algorithmiques
### Reconnaissance des graphes cordaux

Rose, Lueker et Tarjan 1976 (voir aussi Habib et al. 2000) montrent qu'un ordonnancement d'élimination parfaite d'un graphe cordal peut être trouvé de manière efficace en utilisant un algorithme appelée parcours en largeur lexicographique. Cet algorithme maintient une partition des sommets du graphe sous forme d'une séquence d'ensembles. Au début, cette séquence est un seul ensemble avec tous les sommets. L'algorithme va ensuite choisir de manière répétée un sommet $v$ de l'ensemble le plus jeune dans la séquence qui contient les sommets pas encore choisis, et sépare chaque ensemble $S$ de la séquence en deux sous-ensembles, l'un contenant les voisins de $v$ dans $S$ et l'autre les sommets non-voisins. Quand cette séparation a été faite pour tous les sommets, la séquence est composée d'ensembles ne contenant qu'un seul sommet. Ces sommets se retrouvent dans l'ordre inverse de l'ordonnancement d'élimination parfaite.
Comme la recherche lexicographique en largeur d'abord et le fait de tester si un ordonnancement est un ordonnancement d'élimination parfaite peuvent être effectués en temps linéaire, il est possible de savoir si un graphe est cordal en temps linéaire.
L'ensemble de tous les ordonnancements d'élimination parfaite d'un graphe cordal peut être modélisé comme les mots de base d'un antimatroïde (en) ; Chandran et al. 2003 ont utilisé cette connexion avec les antimatroïdes dans un algorithme listant efficacement tous les ordonnancements d'élimination parfaite d'un graphe cordal donné.

### Cliques maximales et coloration de graphes

Une application de l'ordonnancement d'élimination parfaite est la recherche d'une clique maximum d'un graphe cordal en temps polynomial. Le problème similaire, mais pour un graphe quelconque, est NP-complet. De manière générale, le nombre de cliques maximales dans un graphe cordal croît linéairement, tandis que cette croissance peut être exponentielle dans des graphes non cordaux. Pour lister toutes les cliques maximales d'un graphe cordal, il suffit de trouver un ordonnancement d'élimination parfaite, de créer une clique pour chaque sommet $v$ avec les voisins de $v$ venant après $v$ dans l'ordonnancement d'élimination parfaite, et de tester pour chacune des cliques ainsi formées si est maximale.
La plus grande clique maximale est une clique maximum et, comme les graphes cordaux sont des graphes parfaits, la taille de la clique est le nombre chromatique du graphe cordal. Un graphe cordal est parfaitement ordonnable : une coloration optimale peut être obtenue par application d'un algorithme de coloration gloutonne aux sommets dans l'ordre inverse de celui de l'ordonnancement d'élimination parfaite (Maffray 2003).