• Nenhum resultado encontrado

S UBSEQUENCE

5.2 NP-complétude du sous-problème APS( CROSSING , PLAIN )

Nous démontrons dans cette section que le sous-problème APS(CROSSING,PLAIN) est NP-complet.

Ce résultat répond au dernier cas ouvert posé dans [57], et complète la table de complexité du problème APS en considérant les niveaux classiques de complexité, i.e.PLAIN,CHAIN,NESTEDetCROSSING(cf.

Table 5.1).

Pour ce faire, nous proposons une transformation polynomiale du problème NP-complet EXACT

3-CNF-SAT[53] vers le sous-problème APS(CROSSING, PLAIN).

EXACT3-CNF-SAT

DONNÉES: Un ensembleVndenvariables et un ensemble Cqdeqclauses (chacune composée de trois littéraux) surVn.

QUESTION: Existe-il un ensemble de valeurs pourVnsatisfaisant toutes les clauses deCq?

Il est facile de vérifier que le sous-problème APS(CROSSING, PLAIN) est dans la classe NP. Le reste de cette section est consacré à prouver que ce sous-problème est également NP-dur. SoientVn = {x1, x2, ...xn}un ensemble fini denvariables etCq ={c1, c2, . . . , cq}un ensemble de qclauses. Sans perte de généralité, nous supposons que les littéraux de chaque clause sont ordonnés de gauche à droite, i.e. sici = (xj ∨xk∨xl)alorsj < k < l. Nous commençons par définir formellement la construction des séquencesSetT:

S=Ssx1A Sxs1 Sxs2A Sxs2. . . SxsnA SsxnSc1 Sc2. . . Scq Sex1 Sxe2. . . Sxen T =Txs1 Txs2. . . Txsn Tc1 Tc2. . . Tcq Txe1 Txe2. . . Txen

Nous détaillons maintenant les sous-séquences composantS etT. Soientγm (resp.γm) le nombre d’occurrences du littéralxm(resp.xm) dansCqetkm = max(γm, γm). Pour chaque variablexm ∈ Vn, avec1≤m≤n, nous construisons les mots:

• Sxsm=ACkm;

• Sxsm=CkmA;

• Txsm =ACkmA.

oùCkm est un mot dekmbasesC consécutives. De plus, pour chaque clauseci deCq, avec1≤i≤q, nous construisons les motsSci =U GGGAetTci =U GA. Finalement, pour chaque variablexm ∈ Vn, avec1≤m≤n, nous construisons les motsSxem =U U AetTxem =U A.

Une fois les deux séquences définies, nous définissons les structures d’arcs correspondantes (cf.

Figure 5.1). Par la suite, on note S[i] la ieme` base de la séquence S et, pour tout 1 ≤ m ≤ n, on

CHAPITRE 5 — Le problème ARC-PRESERVING SUBSEQUENCE 67

note lm = |Ssxm|. Pour tout 1 ≤ m ≤ n, nous construisons les deux arcs suivant: (Sxsm[1],Sxem[1]) et (Sxsm[lm],Sxem[2]). Pour chaque clauseci deCq, avec 1 ≤ i ≤ q, et pour tout 1 ≤ m ≤ n, si lek`eme (k ∈ {1,2,3}) littéral de ci est xm (resp. xm) alors nous construisons un arc entre une base libre C quelconque deSxsm(resp.Sxsm) et lakeme` baseGdeSci(notons que ceci est rendu possible du fait de la définition deSxsm,SxsmetSci).

En tout, l’instance ainsi construite est composée de3q+2narcs. Nous appelons APS-CP-construction, toute construction de ce type. Par la suite, nous distinguerons les arcs entre une baseAet une baseU, que l’on nommeraAU-arcs, des arcs entre une baseCet une baseG, que l’on nommeraCG-arcs. Une illustration d’une APS-CP-construction est donnée en Figure 5.1. Clairement, notre construction peut être effectuée en temps polynomial. De plus, le résultat d’une telle construction est bien une instance du sous-problème APS(CROSSING, PLAIN), puisqueQ =∅(aucun arc n’est ajouté à(T, Q)) et P est un ensemble d’arcs respectant le niveauCROSSING(puisqu’il n’existe pas deux arcsa1,a2deP tels quea1

précèdea2oua2précèdea1).

Figure 5.1 – Exemple d’une APS-CP-construction avecCq= (x2∨x3∨x4)∧(x1∨x2∨x3)∧(x2∨x3∨x4).

Nous commençons par prouver un lemme sur la canonicité d’une APS-CP-construction que nous utiliserons pour prouver la NP-complétude du sous-problème APS(CROSSING, PLAIN).

Lemme 5.1. Soient (S, P) et(T, Q) deux séquences arc-annotées obtenues à partir d’une APS-CP- construction. Si(T, Q)peut être obtenue à partir de(S, P)en supprimant certaines des bases deSainsi que les éventuels arcs incidents à ces bases, alors pour tout1≤i≤qet1≤m≤n:

1. la séquenceTciest obtenue à partir deSci en supprimant deux de ses trois basesG;

2. la séquenceTxem est obtenue à partir deSxemen supprimant une de ses deux basesU;

3. la séquence Txsm est obtenue à partir deSxsmASxsm en supprimant soit toutes les bases de Sxsm, soit toutes celles deSxsm.

Preuve. Soient(S, P)et(T, Q)deux séquences arc-annotées obtenues à partir d’une APS-CP-construct- ion.

(1) Par construction, la première baseU apparaissant dansS (resp.T) estSc1[1](resp.Tc1[1]). Par conséquent, la baseTc1[1]ne peut être obtenue qu’à partir de la baseSc1[1]ou d’une baseUdeSsituée aprèsSc1[1]. De plus, le nombre de basesAapparaissant après la baseSc1[1]dansSest égal au nombre de basesAapparaissant après la base Tc1[1]dansT. Par conséquent, lai`emebaseAapparaissant après Sc1[1] dans S doit être appariée à la ieme` base A apparaissant après Tc1[1]: ∀1 ≤ i ≤ q, Tci[3] est appariée àSci[5].

68 CHAPITRE 5 — Le problème ARC-PRESERVINGSUBSEQUENCE

De ce fait, la baseTcq[3]est appariée à la baseScq[5]. Étant donné qu’il y a autant de basesU entre les basesSc1[1]etScq[5]qu’il y en a entre les basesTc1[1]etTcq[3], pour tout1≤i≤q, la baseTci[1]

doit être appariée à la baseSci[1]. On en conclut donc que pour tout1 ≤ i ≤ q, la séquence Tci est obtenue en supprimant deux des trois basesGdeSci.

(2) En reprenant l’argument, développé dans (1), concernant les bases A apparaissant après les basesSc1[1]etTc1[1], on en conclut que si(T, Q)peut être obtenue à partir de(S, P), alors pour tout 1 ≤ m ≤ n la baseTxem[2] est appariée à la baseSxem[3]. Par conséquent, pour tout 1 ≤ m ≤ n, la séquenceTxemest obtenue à partir deSxem, et plus précisémentTxem[1]est appariée àSexm[1]ou àSxem[2].

(3) Par définition, étant donné queQ=∅, pour tout arc deP, au moins une base marquée doit être supprimée. Nous venons de préciser que pour tout1≤m≤n,Txem[1]est appariée àSxem[1]ou àSxem[2].

Donc, étant donné que, par construction, il y a un arc entreSexm[1]etSxsm[1](resp.Sxem[2]etSxsm[lm]), pour tout1≤m≤n, soitSsxm[1], soitSxsm[lm]doit être supprimée. Notons que tous ces arcs connectent une baseAapparaissant avant la baseSc1[1]à une baseU apparaissant après la baseScq[5].

Par conséquent, pour tout 1 ≤ m ≤ nune base A apparaissant avant la base Sc1[1] dans S est supprimée. Au départ, il y avait3nbasesAapparaissant avant la baseSc1[1]dansSet2napparaissant avant la baseTc1[1]dansT. Donc, le nombre de basesAnon supprimées dansSet apparaissant avant la baseSc1[1]est égal au nombre de basesAapparaissant avant la baseTc1[1]dansT. Étant donné que, pour tout1≤m≤n, une baseAdeSxsmou deSxsm est supprimée, on en conclut que pour tout1≤m≤n, la séquenceTxsmest obtenue à partir deSxsmASxsm, soit en supprimantSxsm, soit en supprimantSsxm.

Il nous reste à prouver que notre construction est une transformation polynomiale du problème EXACT3-CNF-SATvers le sous-problème APS(CROSSING, PLAIN).

Lemme 5.2. Soient I une instance du problème EXACT 3-CNF-SAT avecn variables et q clauses, etI0 = ((S, P); (T, Q))une instance du problème APS(CROSSING,PLAIN) obtenue à la suite d’une APS-CP-construction à partir deI. Il existe un ensemble de valeurs pour lesnvariables satisfaisant les q clauses deI si et seulement si(T, Q) est une sous-séquence commune arc-préservante de(S, P) et (T, Q).

Preuve. (⇒)Supposons que nous avons un ensembleVde valeurs pour lesnvariables satisfaisant lesq clauses deI. Par définition, pour chaque clause il existe au moins un littéral la satisfaisant. Par la suite, ji représentera, pour tout 1 ≤ i ≤ q, le plus petit indice des littéraux de ci (i.e. 1, 2 ou 3) qui, par leurs valeurs, satisfontci. Soient(S, P)et(T, Q)deux séquences arc-annotées obtenues à la suite d’une APS-CP-construction à partir deI. Nous recherchons un ensemble Bde bases à supprimer de S afin d’obtenirT. Pour chaque variablexm ∈ Vavec1≤m≤n, nous définissonsBcomme suit:

• sixm=V raialorsBcontient chaque base de la séquenceSxsm et la baseSxem[1];

• sixm=F auxalorsBcontient chaque base de la séquenceSxsm et la baseSxem[2];

• siji = 1alorsBcontient les basesSci[3]etSci[4];

• siji = 2alorsBcontient les basesSci[2]etSci[4];

• siji = 3alorsBcontient les basesSci[2]etSci[3].

Étant donné qu’une variable ne peut avoir qu’une unique valeur (V rai ou F aux), pour tout 1 ≤ m≤nsoit chaque base deSxsmet la baseSxem[1], soit chaque base deSxsmet la baseSxem[2]appartient àB. Par conséquent, Bcontient au moins une base de chaqueAU-arc deP.

Pour tout 1 ≤ i ≤ q, deux des trois bases Gde Sci sont dans B. Donc,B contient au moins une base de deux tiers desCG-arcs de P. De plus,Sci[ji+ 1] est la base Gn’appartenant pas àB. Nous

CHAPITRE 5 — Le problème ARC-PRESERVING SUBSEQUENCE 69

supposons, par la suite, que leji`emelittéral de la clauseciestxm, avec1 ≤m ≤n. Par construction, il existe un arc entre une baseCdeSxsm et la baseSci[ji+ 1]dansP.

Par définition, siV est un ensemble de valeurs pour lesnvariables satisfaisant lesq clauses deI,V satisfait ci et doncxm = V rai. Nous avons précisé, dans la définition deBque sixm = V rai alors chaque base de Sxsm est dans B. Donc, la baseC de Sxsm marquée avecSci[ji + 1]par un CG-arc de P appartient à B. Un résultat similaire peut être obtenu si leji`eme littéral de la clause ci est xm. Par conséquent,Bcontient au moins une base de chaqueCG-arc deP.

SiS0est la séquence obtenue à partir deSen supprimant toutes les bases deBainsi que les éventuels arcs incidents à ces bases alors il n’y a pas d’arc dansS0(i.e. pas deAU-arcs, ni deCG-arcs). D’après la définition deB, la séquenceS0est donc obtenue à partir deSen supprimant, pour tout1≤i≤qet pour tout1 ≤m≤n, toutes les bases deSxsm ou deSxsm, deux basesGdeSciet la base Sxem[1]ouSxem[2].

On peut vérifier que la séquenceS0obtenue est similaire àT.

(⇐)Soit I une instance du problème EXACT 3-CNF-SAT avecnvariables etqclauses. SoitI0 = ((S, P); (T, Q)) une instance du problème APS(CROSSING,PLAIN) obtenue à partir d’une APS-CP- construction deI telle que(T, Q)est une sous-séquence commune arc-préservante de(S, P)et(T, Q).

NotonsBl’ensemble des bases deSà supprimer pour obtenirT. Par le Lemme 5.1, pour tout1≤m≤n, soit toutes les bases deSxsm, soit toutes les bases deSxsmappartiennent àB. Pour tout1≤m≤n, nous définissons l’ensembleVde valeurs pour lesnvariables comme suit:

• si toutes les bases deSsxmappartiennent àBalorsxm =V rai;

• si toutes les bases deSsxmappartiennent àBalorsxm =F aux.

Maintenant, nous allons prouver que pour tout 1 ≤ i ≤ q la clause ci est satisfaite parV. Par le Lemme 5.1, pour tout1 ≤i ≤qil existe une base Gde Sci (disons laji+ 1eme` ) qui n’appartient pas àB. Par construction, il existe unCG-arc deP entreSci[ji+ 1]et une baseCdeSxsm (resp.Sxsm) si le ji`emelittéral deciestxm(resp.xm).

Supposons, sans perte de généralité, que le ji`eme littéral de ci est xm. Étant donné que Q = ∅, au moins une base marquée par tout arc de P appartient àB. Donc, la base C de Sxsm marquée avec Sci[ji + 1] par un CG-arc de P appartient àB (étant donné que par hypothèseSci[ji + 1] 6∈ B). Par conséquent, d’après le Lemme 5.1, toutes les bases deSxs

m appartiennent àB. D’après la définition de l’ensembleV,xm=V raiet doncciest satisfaite. Une conclusion similaire peut être obtenue si leji`eme littéral deciestxm. La preuve du lemme en découle.

Nous venons donc de prouver le théorème suivant.

Théorème 5.1. Le sous-problème APS(CROSSING,PLAIN) est NP-complet.