• Aucun résultat trouvé

Suppression de sommet

Dans le document Représentations dynamiques de graphes (Page 157-160)

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.

Dans le document Représentations dynamiques de graphes (Page 157-160)