• Aucun résultat trouvé

Chapitre 2. L’approximation polynomiale

2.4. Degrés d’approximation

βΠ(I)−λA(I)

βΠ(I) optΠ= max

λA(I)−βΠ(I)

λA(I) optΠ= min ηΠA(I) = 1−δΠA(I) = A(I)−βΠ(I)|

Π(I)−βΠ(I)|

Pour les deux rapports, l’erreur est toujours à valeur dans l’intervalle[0,1].

Avec ces algorithmes approchés et l’évaluation de leur comportement sur diffé-rents problèmes, ont naturellement émergé des classes d’approximation qui regroupent les problèmes deNPOselon leur degré d’approximabilité : c’est ce que nous propo-sons d’évoquer à présent.

2.4. Degrés d’approximation

Par la suite,R désignera un rapport d’approximation, classique ou différentiel.

Notons cependant que la hiérarchie et le sens des classes définies ci-après sont indé-pendants de l’évaluation choisie, rapport ou toute autre mesure de la performance des algorithmes.

2.4.1. Approximation à rapport constantr0

Un problèmeΠest dansAPX[R](la classe des problèmes approximables à rapport constant) s’il existe un algorithme polynomial approchéApourΠet une constanter0

dans]0,1]tels queRAΠ>r0. Par convention, on noteAPXl’ensemble des problèmes approximables à rapport constant pour le rapport classique etAPX[δ]l’ensemble des problèmes approximables à rapport constant pour le rapport différentiel. C’est à l’in-térieur de ces deux classes que se situera l’essentiel de notre travail.

EXEMPLE2.2.– Nous présentons un algorithme qui fait la preuve de l’appartenance du problème de plus petit majorant, notéMinSubsetSum, à la classeAPX; ce pro-blème, est défini pour un nombrend’entiersaiet un entierbdonnés tels que

Xn i=1

ai>b

par :I= ((ai)i=1,...,n, b),Sol(I) ={J ⊆ {1, . . . , n}:P

i∈Jai>b}, m(I, J) =X

i∈J

ai

Le but est de minimiser la somme des élémentsaipour que celle-ci soit au moins égale àb.

De manière évidente, la pire solution consiste à choisir tout l’ensemble et est de valeur ωMinSubsetSum(I) = Pn

i=1ai. Ce problème est très proche du problème de sac-à-dos traité dans l’exemple 2.1 : il en est en quelque sorte le « dual » (pour autant que l’on puisse parler de dualité dans un monde discret), dans le cas particulier où les vecteursai etci coïncident. Il s’agit toujours d’un problème deNPO, toujours pas cependant d’un problème de NPO-PB (les données numériques pouvant de nouveau être rendues arbitrairement grandes).

On peut, sans perte de généralité, toujours supposer queai < bpour touti 6n.

Effectivement, supposons que ce ne soit pas le cas et considérons l’ensembleJ0 = {i: ai >b}des majorants deb, ainsi que l’instanceI0 déduite deIen omettant les éléments deJ0, soitI0 = ((ai)i /∈J0, b); siI0 est vide, ou siP

i /∈J0 < b, alors Iest polynomiale (il n’y a qu’à choisir le plus petitaipour avoir l’optimum) et sinon, on peut se limiter aux solutions réalisablesJ0 = argmin{m(I0, J) : min{ai: i∈J0}}

oùJ est une solution réalisable quelconque deI0, et donc à l’instanceI0. Or, celle-ci vérifie bien cette foisai< bpour touti= 1, . . . , n.

´E

J← {1, . . . ,n};

∃j∈J:P

i∈Jai−aj>b J←J\ {j}

Figure 2.1. L’algorithme !

L’algorithme"#$ %& est de complexitéO(n2); nous allons montrer qu’il garantit un rapport d’approximation classique constant de 2, c.-à-d., que toute solution don-née par l’algorithme sur toute instance de MinSubsetSum ne sera jamais plus que deux fois plus grand que la valeur de l’optimum. Nous allons maintenant démontrer que l’algorithme "#$ %& est une 2-approximation classique pour MinSubsetSum.

NotonsJ la solution proposée par l’algorithme ; d’après la remarque précédente, on a|J|>2. Par ailleurs, on a par construction, pour toutj ∈J, l’inégalité :

X

i∈J

ai< b+aj [2.1]

Qui donne en sommant les inégalités [2.1] pour toutj∈J:

|J|X

i∈J

ai−X

i∈J

ai<|J|b [2.2]

Sachant queJ contient au moins deux éléments, nous déduisons de l’inégalité [2.2]

le résultat :λSOLMIN(I) = P

i∈Jai 6 (|J|/|J| −1)b 6 (|J|/|J| −1)β 6 2β, c’est-à-direλ/β62, oùβest la valeur de la solution optimale pour MinSubsetSum.

2.4.2. Approximation àr,raussi proche de 1 que l’on veut

Un schéma d’approximation pour un problèmeΠ est une famille d’algorithmes polynomiaux d’approximation Sr = (Ar)06r<1 qui vérifie∀r ∈ [0,1[,RAΠr > r.

Un problème Π est dans la classe PTAS[R] s’il admet un schéma d’approxima-tion Sr dont la complexitéC vérifie∀I, ∀r,C(Ar(I)) = pr(|I|)(le degré depr

dépend der). La famille(Ar)06r<1constitue alors un schéma d’approximation po-lynomial. Les classes PTAS et PTAS[δ] regroupent respectivement les problèmes qui admettent un schéma d’approximation polynomial pour les rapports classique et différentiel. Par ailleurs, un problème Π est dans la classe FPTAS[R] s’il admet un schéma d’approximation polynomial(Ar)06r<1 de complexitéCvérifiant∀I et

∀r,C(Ar(I)) = p(|I|,1/(1−r))(p est polynomial en |I| et en1/(1−r)). La famille (Ar)06r<1 constitue alors un schéma d’approximation complètement poly-nomial. Les classesFPTASetFPTAS[δ]désignent respectivement les classes des problèmes qui admettent un schéma d’approximation complètement polynomial pour les rapports classique et différentiel.

EXEMPLE2.3.– Nous allons présenter ici un résultat issu des travaux de [SAH 75]

concernant le problème du sac-à-dos. Toutefois, afin de faciliter la compréhension de la preuve, nous ne l’appliquerons non pas au sac-à-dos mais au MinSubsetSum déjà abordé lors de l’exemple précédent. Nous allons mettre en évidence pour ce blème un schéma d’approximation polynomial classique : cela signifie que le pro-blème pourra être approché aussi bien que l’on veut, mais au dépend de la complexité puisque pour approcher l’optimum àprès, l’algorithme aura un déroulement d’une complexité de l’ordre den1/.

L’algorithme "% renvoie bien une solution réalisable : pour le cas particu-lierJ0=∅, il ajoutera un objet parmi la famille complète d’objets{1, . . . , n}jusqu’à obtention d’une solution réalisable (au pireJ0 = {1, . . . , n}), sinon l’instance n’est pas réalisable ! De plus, sa complexité en temps est d’ordreO(n1/)(nombre de sous-ensembles de taille au plusd1/e) puisque la boucle « pour tout » est prédominante ; notons que cette complexité « explose » lorsquetend arbitrairement vers zéro, ce qui rend cette résolution non utilisable en pratique.

Nous montrons maintenant que l’algorithme" % est une1 +-approximation classique pour MinSubsetSum. SoitJune solution optimale pour une instanceI =

´E optimale : puisqu’il teste, notamment, la solution J, la valeur de la solution ren-voyée vérifieraλ(I)6P

i∈Jai=β(I)! Aussi supposons-nous dorénavant|J|>

d1/e; trions alors les indices deJpar poids décroissants et notons parJ0lesp= d1/e premiers indices. Focalisons-nous maintenant sur l’itération où l’algorithme teste J0 et retourne la solutionJ0; puisque par construction J0 ⊂ J, l’algorithme retournera une solution réalisable ; par ailleurs, il existej ∈J\J0(le dernier élément pris) tel que :

Finalement, grace aux inégalités [2.3] et [2.4], nous déduisons :

λ(I) 6 X

En réalité, ces problèmes de sac-à-dos et de plus petit minorant s’approchent en-core mieux que cela puisqu’ils admettent un schéma complètement polynomial, c’est-à-dire qu’il existe une famille d’algorithmes qui non seulement permet d’approcher

l’optimum àprès, mais de surcroît permet de le faire en temps polynomial en(1/); c’est ce que propose de montrer l’exemple suivant pour le problème de sac-à-dos.

EXEMPLE2.4.– Nous allons présenter un schéma d’approximation complètement po-lynomial pour le problème de sac-à-dos pour lequel nous avions, dans l’exemple 2.1, proposé une résolution en temps pseudo-polynomial. Cet exemple provient des tra-vaux de [IBA 75]. Le procédé utilisé est dicté par la technique d’échelonnage et d’ar-rondi1qui consiste à ramener les poids des éléments d’une instance à des grandeurs d’ordre polynomial : l’application de seuils sur les données numériques permet ainsi de ramener la complexité d’un algorithme d’un temps pseudo-polynomiale à un temps polynomial.

Partant d’une instanceI= ((ai, ci)i=1,...,n, b)de sac-à-dos, on construit l’instance I0 = ((a0i, ci)i=1,...,n, b)en opérant sur les poids la transformation suivante :a0i = bain/(amax)c. Une solution optimaleS0∗deI0obtenue par le biais de l’algorithme de l’exemple 2.1 se construit enO(n2a0maxlogcmax) = O((n3logcmax)/); or, ce temps est polynomial relativement aux données deIet à la quantité1/.

Considérons alors cette solutionJ0∗optimale pourI0comme solution approchée de l’instanceI; puisque les deux instances ont mêmes contraintes,J0∗est réalisable pour les deux instances. Formellement, notre démarche revient à dérouler l’algorithme 2.4.

Nous démontrons que l’algorithme SCHEMACOMPLET est une1 + -approxi-mation classique pourMaxKS. SoitJune solution optimale pour une instanceIde MaxKS ; cette solution est réalisable pour l’instanceI0et en posantt=amax/n, on a :

1. Traduction des termes rounding and scaling technics voir [GAR 79].

Par ailleurs, l’objeti0 de valeuramax est réalisable ; ainsiβ(I) = P

i∈Sai >

amax, autrement dit (en multipliant les membres de l’inégalité par) :

nt=amax6β(I) [2.6]

Finalement, en regroupant les inégalités [2.5] et [2.6], on obtient le résultat : λ(I) =P

i∈J0∗ai>tβ(I0)>β(I)−nt≥(1−)β(I).

PSfrag replacements

NPO APX PTAS

FPTAS PO

Figure 2.4. Classes d’approximabilité (sous l’hypothèseP6= NP)

La figure 2.4 illustre les différentes classes vues jusqu’ici et leurs inclusions mu-tuelles (sous l’hypothèseP6= NP). La classeNPO\APXcontient des problèmes qui sont approximables à rapport dépendant d’un ou plusieurs paramètres de leurs ins-tances (par exemple, le degré du graphe ou son ordre2s’il s’agit de problèmes définis dans les graphes, etc.).