• Aucun résultat trouvé

Arbres orient´es

Dans le document Identification de sommets dans les graphes (Page 66-69)

2.3 Aspects algorithmiques

2.3.2 Arbres orient´es

2.3.2.1 G´en´eralit´es sur les arbres

Un arbreest un graphe `ansommets etn−1 arˆetes n’admettant aucun cycle. Un arbre admet n´ecessairement au moins deux sommets de degr´e 1, qui sont appel´es des feuilles. L’unique voisin d’une feuille v est appel´e le p`eredev.

Un arbre orient´e est quant `a lui un graphe orient´eG tel que, si l’on fait abstraction des orientation des arcs, le graphe non orient´e obtenuGe est un arbre. Les arbres font partie des structures les plus simples en th´eorie des graphes. Un tr`es grand nombre de probl`emes combinatoires NP-complets en g´en´eral sont polynomiaux sur les arbres. C’est par exemple le cas de la domination [56] ou du transversal.

Une caract´eristique importante de la classe des arbres est que celle-ci peut ˆetre obtenue par ajouts successifs de feuilles `a un arbre. Plus pr´ecis´ement, pour tout arbre, il existe une fac¸on de num´eroter les sommets de l’arbrev1,. . .,vnde sorte `a ce que pour touti ≤n, on ait

|N(vi)∩{v1,. . .,vi−1}|=1.

La technique de preuve standard sur les arbres consiste alors `a raison-ner localement sur les feuilles de l’arbre, de traiter puis couper celles-ci et de propager l’information par r´ecurrence sur l’arbre plus petit obtenu.

C’est ce que Mitchell, Cockayne, et Hedetniemi pr´esentent par exemple `a la fin des ann´ees 1970 dans leur article, intitul´eLinear algorithms on recursive representations of trees[142].

On peut voir le fait qu’un grand nombre de probl`emes combinatoires NP-complets en g´en´eral soient polynomiaux sur les arbres comme une cons´equence d’un r´esultat plus r´ecent d’Arnborg, Lagergren, et Seese [5], bas´e sur une approche utilisant la logique monadique du second ordre. Ne souhaitant pas rentrer dans les d´etails de cette approche et de la logique monadique du second ordre, on renvoie le lecteur au livre de Courcelle et Engelfriet sur le sujet [60]. Un des r´esultats forts de cette approche pourrait ˆetre formul´e ainsi. Il existe un certain langage (au sens de la th´eorie des langages), appel´eMSOL, tel que le r´esultat suivant s’applique :

Th´eor`eme 26(Probl`emes faciles sur les arbres). SoitPun probl`eme combina-toire tel quePpuisse ˆetre exprim´e dans le langageMSOL. AlorsPest polynomial lorsque restreint `a la classe des arbres.

Lorsque l’on utilise ce th´eor`eme, le fait que le probl`eme de domination, de transversal, ou mˆeme de code identifiant, soit polynomial dans les arbres

est imm´ediat, car il est tr`es facile d’exprimer ces probl`emes dans le langage MSOL (voir par exemple ma th`ese pour le cas des codes identifiants [146, Chapitre 2, page 39]).

Un des inconv´enients de l’approche du Th´eor`eme 26 est que l’algo-rithme polynomial associ´e est, en g´en´eral, inutilisable en pratique. En effet, la complexit´e de cet algorithme est de l’ordre deO(f(k)g(n)), avec :

– nla taille de l’arbre

– kla taille de la formule logique exprimant le probl`emeP dans le lan-gageMSOL

– f une fonction affreuse; typiquement une tour d’exponentielle (c’est-`a-dire une exponentielle d’exponentielles d’exponentielles etc., voir par exemple l’article de Frick et Grohe [82])

– gun polyn ˆome (tr`es souvent de degr´e 1)

Si, en th´eorie, la complexit´e d’un tel algorithme est polynomiale en la taille de l’arbre, en pratique, la constante multiplicative cach´ee O(f(k)) a une valeur telle qu’elle annule l’int´erˆet pratique de l’algorithme.

Ainsi, si cette approche a le m´erite de pouvoir nous assurer qu’un probl`eme donn´e est polynomial dans les arbres, elle ne rend toutefois pas caduque la recherche d’un algorithme polynomial explicite ayant une com-plexit´e ne cachant aucune constante multiplicativemonstrueuse. 2.3.2.2 Codes identifiants dans les arbres

Peter Slater annonc¸ait ainsi `a la communaut´e en 2001 disposer d’un al-gorithme explicite polynomial pour le probl`eme ID CODE DANSA, avecA la classe des arbres. Nous avons alors d´ecid´e, avec Ir`ene Charon, Antoine Lobstein et Olivier Hudry d’une part (tous de T´el´ecom ParisTech), et avec Sylvain Gravier et Michel Mollard d’autre part (Institut Fourier, Grenoble), de nous int´eresser au probl`eme ID CODE DANS A~, o `u A~ est la classe des arbres orient´es.

Dans le cas d’un graphe orient´eG = (V,A), on ´etend la notion de code identifiant comme suit. On dit qu’un sommet u couvre un sommet v si (u,v) ∈ A. La notion de couverture est donc dans ce cas asym´etrique, car l’on peut avoiruqui couvrevsans quevne couvreu. Deux sommetsuet v sont s´epar´es par wsi celui-ci couvre un seul des deux sommetsu,v. Un code identifiant de Gest alors un sous-ensemble de sommets C ⊆ V qui couvre tous les sommets et s´epare toutes les paires de sommets distincts deG.

On peut observer que le fait de consid´erer des graphes orient´es ne sim-plifie pas les choses par rapport au probl`eme de code identifiant. Charon,

Hudry et Lobstein ont montr´e [50] que le probl`eme restait NP-complet dans ce cas :

Th´eor`eme 27 (Complexit´e dans les graphes orient´es). Soit ~G la classe des graphes orient´es. Alors le probl`emeID CODE DANS~Gest NP-complet.

Nous donnons dans [43] la description d’un algorithme lin´eaire d´eterminant un code identifiant minimum dans un arbre orient´e.

Cet algorithme est bas´e sur des techniques classiques de r´ecursion dans les arbres, et a n´ecessit´e une classification des configurations possibles et des r`egles de r´eduction permettant de raisonner par induction. Les Fi-gures 2.10 et 2.11 ci-dessous illustrent l’ensemble des r`egles de r´eduction que nous avons ´etudi´ees. Selon la configuration des sommets de l’arbre, ces r`egles nous disent comment ´etiqueter les sommets de sorte `a propager l’information, et comment d´ecouper l’arbre pour obtenir un arbre plus petit sur lequel appliquer la r´ecursion.

Quoique ´el´ementaire, la preuve compl`ete de la validit´e de notre algo-rithme est relativement fastidieuse, car nous devons consid´erer un grand nombre de cas et de sous-cas (voir Figures2.10et2.11).

FIGURE 2.10 : Ensemble des r`egles de r´eduction ´etudi´ees dans le cas o `u l’arbre orient´e consid´er´e est petit (cas de base de la r´ecursion). Les sommets en noir sont dans le code, ceux en blanc ne sont pas dans le code. Les sommets gris ont un statut ind´etermin´e.

Peter Slater n’ayant finalement jamais publi´e son algorithme pour les arbres non orient´es, David Auger a publi´e un tel algorithme en 2010 [7].

FIGURE 2.11 : Ensemble des r`egles de r´eduction ´etudi´ees dans le cas o `u l’arbre orient´e consid´er´e est grand (cas g´en´eral de la r´ecursion). Les som-mets en noir sont dans le code, ceux en blanc ne sont pas dans le code. Les sommets gris ont un statut ind´etermin´e. Les doubles barres indiquent les points de coupe permettant de raisonner sur un arbre orient´e plus petit.

Tout comme notre algorithme pour les arbres orient´es, l’algorithme de Da-vid Auger utilise une r´ecursion, qui n´ecessite l’´etude d’une vingtaine de sous-cas.

Dans le document Identification de sommets dans les graphes (Page 66-69)