4.5 Les graphes de permutation
4.5.1 Suppression de sommet
Soit G′ = G − x le graphe r´esultant de la suppression d’un sommet x dans le graphe G. Comme la famille des graphes de permutation est h´er´editaire, G′ est toujours un graphe de
permutation et supprimer x se r´eduit `a mettre `a jour la M D-repr´esentation de G′ `a partir de celle de G. Il nous faut distinguer le cas o`u le p`ere p de x dans Tm(G) (s’il existe) est
Le cas d´eg´en´er´e. Dans [SS04], un algorithme est propos´e pour traiter la suppression de sommet dans un cographe dynamique. Avec une l´eg`ere modification (le cas 4(b) ci-dessous), Il s’applique aussi au cas des graphes de permutation quand un sommet x fils d’un noeud d´eg´en´er´e est supprim´e. G´en´eralisons donc l’algorithme de [SS04].
1. Si Tm(G) n’a qu’une feuille l
x, alors Tm(G′) est vide.
2. Si p a au moins trois fils, alors Tm(G′) s’obtient en retirant la feuille l
x de Tm(G).
3. Si p n’a que deux fils lx et l et si l est une feuille de Tm(G), alors Tm(G′) s’obtient `a
partir de Tm(G) en retirant l
x et en rempla¸cant p par l.
4. si p n’a que deux fils lx et q1 et si q1 est un noeud interne de Tm(G) :
(a) Si p est la racine de Tm(G), alors Tm(G′) est le sous-arbre de Tm(G) enracin´e
en q1.
(b) Si p n’est pas la racine de Tm(G). Soit q
2 le p`ere de p.
– Si q1et q2sont deux noeuds s´erie ou deux noeuds parall`eles, alors Tm(G′) s’ob-
tient en retirant de Tm(G) la feuille l
x et les noeuds p et q2, et en connectant
les fils de q2 `a q1.
– Sinon, Tm(G′) s’obtient en retirant la feuille l
x de Tm(G) et en rempla¸cant p
par q1.
Remplacer un noeud p par un noeud q dans l’arbre de d´ecomposition modulaire consiste `a faire deux op´erations : le p`ere de p devient le p`ere de q et p est supprim´e. Le noeud q garde ses fils. Ceci se fait en temps O(1). Remarquons que tous les cas, sauf le 4(b), peuvent ˆetre trait´es en temps constant. Le nombre d’op´erations dans le cas 4(b) est clairement born´e par O(n).
Finalement, pour obtenir M D(G′), il reste `a mettre `a jour (si besoin) l’ensemble RG
des r´ealiseurs de M D(G). Le seul cas `a traiter se produit lorsque le p`ere de p est un noeud premier. Alors q remplace p dans le r´ealiseur Rparent(p) du quotient de parent(p). Pour
prouver la correction de l’algorithme, il est facile de v´erifier que les relations d’adjacence entre toute paire de sommets de V \{x} sont pr´eserv´ees par les op´erations d´ecrites ci-dessus. Le cas premier. Si p est un noeud premier, alors la suppression de x peut cr´eer des modules dans le graphe quotient de p. Il s’ensuit que l’algorithme n’a que deux cas `a traiter :
1. Si Gp − x est un graphe premier, alors Tm(G′) s’obtient simplement en retirant la
feuille lx de Tm(G). De fa¸con similaire, retirer x du r´ealiseur Rp donne le r´ealiseur
du noeud premier modifi´e.
2. Sinon, M D(G′) s’obtient en rempla¸cant d’abord dans Tm(G) le noeud p par la racine
de Tm(G
p− x) et en rempla¸cant ensuite toutes les feuilles de Tm(Gp− x) par le fils
correspondant de p. RG′ est l’union de RG\ {Rp} et de l’ensemble des r´ealiseurs de
M D(GP − x).
Comme dans le cas d´eg´en´er´e, les adjacences des sommets autres que x sont pr´eserv´ees par ces op´erations. Par cons´equent, le probl`eme se r´eduit au calcul de M D(G′) lorsque G est
un graphe premier, avec G′ = G−x. Comme nous l’avons d´ej`a mentionn´e en section 1.3.2, en
utilisant les algorithmes de [BXHP05, BCdMR05], l’arbre de d´ecomposition modulaire d’un graphe de permutation peut ˆetre calcul´e en O(n) si le r´ealiseur est donn´e. Or, supprimer x du r´ealiseur de G fournit un r´ealiseur de G′. Ainsi nous pouvons utiliser les algorithmes de
[BXHP05, BCdMR05] pour nos besoins. Il est `a noter que les r´ealiseurs de tous les noeuds premiers de Tm(G
p− x) peuvent ˆetre extraits du r´ealiseur de G en temps O(n).
Th´eor`eme 4.15 La mise `a jour de la M D-repr´esentation d’un graphe de permutation apr`es la suppression d’un sommet coˆute un temps O(n).
La propri´et´e suivante nous sera utile par la suite.
D´efinition 4.7 Soit σ un ordre lin´eaire sur un ensemble X, soit S ⊆ X et soit a ∈ X \ S. On dit que S entoure a s’il existe un ´el´ement de S inf´erieur `a a et un ´el´ement de S sup´erieur `a a dans σ.
Lemme 4.10 Soit G = (V, E) un graphe de permutation premier et x un sommet. Les modules forts non triviaux de G′ = G − x peuvent ˆetre partitionn´es en deux familles (´eventuellement vides) totalement ordonn´ees par inclusion.
Preuve : Notons R = (π1, π2) un r´ealiseur de G et R′ un r´ealiseur de G′ obtenu en sup-
primant x dans R. D’apr`es le th´eor`eme 1.29 page 84, il est ´equivalent de montrer que les intervalles communs forts de R′ peuvent ˆetre divis´es en deux familles (´eventuellement
vides) totalement ordonn´ees par inclusion. Toujours d’apr`es le th´eor`eme 1.29, tout inter- valle commun de R est non trivial. Soit I un intervalle commun non trivial de R′. Comme I n’est pas un intervalle commun de R, alors I entoure x dans au moins un des deux ordres π1, π2 de R. En d’autres termes, I ∪ {x} est un intervalle de π1 (ou π2) et x n’est
pas une borne de cet intervalle. Comme les intervalles commun forts d’un r´ealiseur ne se chevauchent pas, ceux de R′ qui entourent x dans l’ordre π
1 de R (resp. dans π2) sont
totalement ordonn´ees par inclusion. Comme il y a au plus deux modules forts maximaux, la racine de Tm(G′) a au plus
deux fils qui ne sont pas des feuilles, et chaque noeud interne de Tm(G′) a au plus un fils
qui n’est pas une feuille. De plus, on peut montrer que tous les noeuds d´eg´en´er´es de Tm(G′)
ont au plus deux fils feuilles. Par cons´equent, le nombre de modules (pas n´ecessairement forts) de G′ est O(n), et il y a aussi O(n) intervalles communs dans le r´ealiseur de G′.
Cette structure tr`es particuli`ere au cas de la suppression d’un sommet dans le r´ealiseur d’un noeud premier permettrait de se passer des algorithmes de [BXHP05, BCdMR05] et de les remplacer, dans ce cas, par un significativement plus simple. Nous ne poursuivons pas cette piste.