• Aucun résultat trouvé

Algorithmes exponentiels pour la résolution exacte et approchée de problèmes NP-difficiles

N/A
N/A
Protected

Academic year: 2021

Partager "Algorithmes exponentiels pour la résolution exacte et approchée de problèmes NP-difficiles"

Copied!
241
0
0

Texte intégral

(1)

Nattribuépar labibliothèque

Thèse

Pour l'obtention du titre de

DOCTEUR EN INFORMATIQUE

(Arrêté du 7août 2006)

Algorithmes exponentiels

pour la résolution exacte et approchée

de problèmes NP-diciles

Présentée etsoutenue publiquementle 26novembre 2009 par :

Nicolas BOURGEOIS

JURY

Directeur de thèse : VangelisTh. PASCHOS

Professeur,Université Paris-Dauphine

Rapporteurs: Henning FERNAU

Professeur,Universität Trier, Allemagne

Fedor FOMIN

Professeur, Universitetet i Bergen, Norvège

Surageants: GiorgioAUSIELLO

Professeur, Università diRoma "La Sapienza", Italie

PhilippeBAPTSISTE

Chargéde Recherches (CNRS), Ecole Polytechnique

BrunoESCOFFIER

(2)
(3)
(4)

L'orientation et le style des recherches sont marqués par le caractère des

hommesetnonpasdesseulssavants,carlesunsnesontjamaisrigoureusement

séparables des autres.Malgré tout, ladiérence demeure fondamentale, entre

l'inuence que le milieu exerce de lui-mêmesur la science, en passant par la

spontanéitédessavants,etcellequeleschefspolitiquesexerceraients'ils

s'arro-geraientledroitdexeràlasciencesesobjectifs,puissesméthodes,nalement

sesrésultats...L'abandonoulasubordinationdelarecherchethéoriqueserait

non seulement fatal au progrès de la technique (on ne sait jamais à l'avance

quelle théorie aboutira à une application) mais aussi lapremière étape d'une

abdicationde lacommunautéscientique, aliénantson autonomie.

raymond aron, préface de Le savant et le politique, 1959 1

Why has this happened? It is partly because, rather than assessing the

research itself, those who distribute the money and positions now evaluate

scientists by performance indicators (it is much easier to totup some gures

thantothinkseriouslyaboutwhatapersonhasachieved).Managersare

stea-lingpower from scientists and building an accountability culturethat aims

at ever more perfect administrative control of institutional and professional

life. The result is an audit society , in which each indicator is invested

with a specious accuracy and becomes an end in itself. But bureaucrats are

not wholly responsible for these changes - we scientists have enthusiastically

colluded. What began assomeone else's measure has become our (own) goal.

Although there are good reasons for publishing papers where they are more

likely to be read, when we give the journal priority over the science we turn

ourselvesinto philistinesinour own world.

peter lawrence, The Politics of Publication,Nature, Mars2003

Unlimited competition leads to a huge waste of labor, and to that

crip-plingofthe socialconsciousness ofindividualswhichI mentionedbefore.This

cripplingof individualsI considerthe worstevilof capitalism.Ourwhole

edu-cationalsystem suers fromthis evil.An exaggerated competitiveattitude is

inculcatedintothe student,who is trainedtoworship acquisitivesuccess as a

preparationfor his future career.

albert einstein, Why socialism?,Monthly review, 1949

(5)

Introduction and state of the art 8

1 Quelques outils pour bien commencer 9

1.1 Notions élémentaires de complexité . . . 9

1.2 L'approximation polynomiale . . . 10

1.3 Unepetite zoologiedes problèmes de graphes . . . 12

2 Quel besoin d'algorithmes exponentiels? 19 2.1 L'illusiontechnologique . . . 19

2.2 Tenir comptede lataillecritique des problèmes . . . 20

3 Techniques de résolution exacte 23 3.1 Méthodes combinatoires . . . 23

3.1.1 Lesapproches de forcebrute . . . 23

3.1.2 La programmationdynamique . . . 24

3.1.3 Transforméede Möbius etInclusion-Exclusion . . . 26

3.2 Algorithmesde branchement . . . 29

3.2.1 Brancher et réduire: principes de base . . . 29

3.2.2 La mémorisation . . . 32

3.2.3 Lesbranchements multiples . . . 33

3.2.4 Mesurer pour Conquérir . . . 35

3.3 Autres approches . . . 38

3.3.1 Trier et Chercher . . . 38

3.3.2 L'utilisationde la largeurarborescente . . . 38

3.3.3 Améliorationitérative . . . 39

3.4 Meilleursalgorithmes pour quelques problèmes . . . 41

3.5 Complexité paramétrique. . . 42

4 Au-delà des algorithmes exacts 45 4.1 Résultatsnégatifs et problèmes ouverts . . . 45

4.2 L'approximation superpolynomiale :un objet neuf . . . 46

(6)

4.3.1 Prétraitement glouton . . . 48

4.3.2 Division etrecomposition . . . 49

4.3.3 Relaxer l'algorithme de branchement . . . 50

4.3.4 Utiliserlehasard . . . 52

4.3.5 Dénir des réductions entre lesproblèmes . . . 53

5 Présentation générale des résultats 55 5.1 Algorithmesexacts . . . 55

5.2 Approximation exponentielle . . . 59

I Moderately exponential exact algorithms 65 6 maximum independent set 67 6.1 Introduction . . . 67

6.2 Graphsof average degree atmost 3 . . . 69

6.2.1 Simplereduction rules and smallseparators . . . 69

6.2.2 The branching of the algorithm . . . 73

6.3 A generalbottom-up method . . . 89

6.4 Renedcase analysisfor graphs of average degree 4 . . . 93

6.5 Finalimprovements and algorithmingeneral graphs. . . 98

7 min independent dominating set 103 7.1 Introduction . . . 103

7.2 Generalrecurrence . . . 105

7.3 Branching onmarked vertices . . . 107

7.4 Branching onvertices of minimum degree . . . 109

8 Dominating clique problems 113 8.1 Introduction . . . 113

8.2 existing dominating clique . . . 115

8.2.1 A tight

O

(2

2n/5

)

branching algorithm . . . 116

8.2.2 Improvement of EDC . . . 117

8.2.3 Memorization :trading space for time. . . 118

8.3 maximum dominating clique . . . 119

8.4 minimum dominating clique . . . 120

8.5 Dense and sparse graphs . . . 123

8.5.1 Graphsof xed maximal orminimaldegree . . . 123

(7)

9 A bottom-up method for max quasi independent set 129

9.1 Introduction . . . 129

9.1.1 Related work . . . 130

9.2 Bottom-upAlgorithms . . . 130

9.2.1 Denitionand examples . . . 130

9.2.2 Generalrecurrence . . . 131

9.2.3 A straightforward use of polynomialityongraphs of degree

2

. . . . 134

9.2.4 Bottom-upmethodsfor graphs of bounded maximum degree . . . . 135

9.2.5 Mixingresults from subsections 9.2.3and 9.2.4 together. . . 136

9.3 Applicationtomax quasi independent set . . . 137

II Moderately exponential approximation algorithms 139 10 maximum independent set and related problems 141 10.1 Introduction . . . 141

10.2 Simpleapproximationresults for maximum independent set . . . 145

10.2.1 Generating asmall numberof candidate solutions . . . 145

10.2.2 Approximatingby pruningthe searchtree . . . 145

10.3 Maximum induced subgraph problems with property

π

. . . 147

10.4 Approximation of minimum vertex cover . . . 148

10.4.1 Improvingrunning timefor minimum vertex cover . . . 150

10.4.2 A parameterized approximation algorithm . . . 153

10.5 Randomizedalgorithms. . . 153

10.5.1 maximum independent set . . . 154

10.5.2 minimum vertex cover . . . 160

10.6 Particularclasses of graphs. . . 162

10.7 max set packing, max clique and max bipartite subgraph. . . 165

10.7.1 max set packing . . . 165

10.7.2 max clique . . . 166

10.7.3 max bipartite subgraph . . . 167

10.8 Conclusion . . . 167

11 min set cover 171 11.1 Introduction . . . 171

11.2 Approximation with standard ratio . . . 174

11.2.1 Approximatelypruningthe search tree . . . 174

11.2.2 A greedy approach . . . 177

11.2.3 Approximationwithin ratio better than

f

. . . 178

(8)

11.5 Approximation with dierentialratio . . . 184

11.5.1 Generating candidate solutions . . . 185

11.5.2 A branch-and-bound-likealgorithm . . . 185

11.5.3 Combininggreedy and exhaustive approaches . . . 188

12 minimum coloring 191 12.1 Introduction . . . 191

12.2 Approximation of minimum coloring . . . 193

12.2.1 Splittingthe input graph . . . 193

12.2.2 Excavating independent sets . . . 194

12.3 Approximation of max unused colors . . . 196

13 Dominating induced subgraph problems 201 13.1 Introduction . . . 201

13.2 Approximation of min independent dominating set . . . 203

13.3 Dominatingclique problems . . . 207

14 Max edge-coloring problem 211 14.1 Introduction . . . 211

14.2 Notationand Preliminaries . . . 213

14.3 Moderately exponential approximation algorithmsfor trees . . . 214

14.3.1 An exponential to

algorithm . . . 215

14.3.2 An exponential to

m

algorithm . . . 217

14.4 Concludingremarks . . . 219

15 Network design problems 221 15.1 Introduction . . . 221

15.2 Close Approximation . . . 222

15.2.1 minimum steiner tree. . . 222

15.2.2 Bounded traveling salesman problems . . . 223

15.2.3 Metric TSP . . . 225

15.3 Improvement ofpolynomialresults . . . 226

Bibliographie 227

(9)

Quelques outils pour bien commencer

1.1 Notions élémentaires de complexité

Dans la mesureoù il est toujours possible de résoudre un problème de taillenie par

un examenexhaustifdes diérentes solutionspotentielles,lanotionde complexitésous sa

formemodernen'a émergéquevers lan desannées1960.Undes travauxpionniersen ce

domainefut l'article de Jack Edmonds [Edm65],qui pour la première fois distinguait les

algorithmesselonuncritèred'ecacité 1

.Lecritèreretenu,quiallaitmarquerdurablement

la discipline, était celui de la polynomialité : peut-on ou non obtenir une réponse en un

temps qui soitau pire des cas borné par un polynome en lataillede l'instance?

Simultanément, Alan Cobham [Cob64]formulait une première dénition de la classe

P,justiantl'intérêtdecelle-citantpardesargumentsdestructuremathématiquequepar

lapossibilitéd'implémenter eectivement des algorithmespolynomiauxsur des instances

de tailleraisonnable. 2

La théorie de la complexité se formalisa et s'enrichit avec la dénition par [Coo71]

de la classe NP des problèmes qui peuvent être résolus en temps polynomial par une

machine non déterministe; classe qu'on peut intuitivement comprendre comme celle des

problèmesdontonpuissevérierentempspolynomiallavaliditéd'unesolution.Parmiles

1

Notons que dans le travail d'Edmonds c'est bien la notion d'implémentation pratique qui prime

(For practical purposes the dierence between algebraic and exponential order is more crucial than the

dierence between [computable and not computable]...) et qu'il se défend bien de vouloir donner dès

l'abord àcettedivisionle caractèrehiératique qu'ellen'allait pasmanquerpourtantderevêtirdans les

décenniesquisuivirent:Itwouldbeunfortunateforanyrigidcriterion toinhibit thepracticaldevelopment

of algorithmswhich areeither notknown orknownnot toconformnicelytothe criterion...

2

For several reasons the class P seems a natural one to consider. For one thing, if we formalize

the denition relative to various general classes of computing machines we seem always to end upwith

the same well-denedclass of functions. Thus wecan give amathematical characterization of P having

somecondenceitcharacterizes correctlyour informally denedclass. Thisclass thenturnsouttohave

several natural closure properties, being closed in particular under explicit transformation, composition

(10)

problèmes NP,Stephen A. Cook distingua en particulier les problèmes NP-complets, à

savoirceuxvériantlapropriétésuivante:s'ilexisteunalgorithmepolynomialpermettant

de résoudreunproblème NP-complet,alorsP=NP.Laquestiondel'identitédeces deux

classesétaitposée,etdemeureaujourd'huiencoreundesproblèmesouvertsparmilesplus

célèbres etlesplus féconds en mathématiques.

Faute de pouvoir conrmer ou inrmer l'hypothèse P

6=

NP, commença alors un évreuxtravaildeclassicationdes problèmesentre lesdeux classes,s'appuyant

principa-lementsur deux éléments:d'unepart, lapreuvedirectede NP-Complétudedu problème

sat (satisfabilité d'une formule booléenne) donnée par [Coo71], d'autre part le concept

de réduction polynomialedéveloppépar [Kar72] :

Dénition(Réduction polynomiale):Soientdeuxproblèmes

Π

1

et

Π

2

,onditque

Π

1

se réduit polynomialement à

Π

2

, si et seulement si il existe une fonction

f

calculable en temps polynomialtelle que toute instance

I

de

Π

1

admetune solutionsiet seulement si l'instance

f (I)

admet une solutionpour leproblème

Π

2

.

Pour démontrer qu'un problème est NP-complet, ilsut donc de prouverqu'un

pro-blème de cette classe s'y réduit.

Par la suite, la classication s'est étoée d'un grand nombre de catégories transversales

ouintermédiaire,dont nous retiendronsseulement quelques unes qui nous serontutiles :

 PSPACEest laclasse des problèmespouvant êtrerésolus avec un espacede calcul

polynomial.

 SUBEXP(resp. EXP) est laclasse des problèmes pour lesquels ilexiste un

algo-rithmefonctionnant en temps sous-exponentiel(resp. exponentiel)

Ce point de vue strictement asymptotique (dont nous examinerons ultérieurement les

limites) a amené leschercheurs àemployerdes notations àmême de simplierl'analyse.

On écrira ainsi :



f (n) = O(g(n))

⇐⇒ ∃c > 0, f(n) ≤ cg(n) ⇐⇒ g(n) = Ω(f(n))



f (n) = O

(g(n))

⇐⇒ ∃c ∈ R, f(n) = O(g(n)n

c

)

Cette dernière notationprend son sens à partirdu moment oùl'on s'intéresse à un

algo-rithmeexponentiel,dans lamesureoùn'importe quelarrondide labased'exponentiation

eace asymptotiquement lapartie polynomiale de la complexité:

1.999

n

n

7

= O(2

n

)

.

1.2 L'approximation polynomiale

FaceauxproblèmesNP,ilnerestaitauchercheurdésireuxderesterdanslecadre

poly-nomial qu'àse rabattre, soit sur des algorithmes stochastiques, soitsur des heuristiques.

Néanmoins, même dans ce dernier cas, cela ne signie pas nécessairement abandonner

(11)

algorithmes à temps d'exécution polynomial déterminant des solutions admissibles les

plus proches possiblesde l'optimal.

La dénition de proximitéla plus employée est lerapportstandard. Sur une instance

donnée

I

,ondénitlaperformancede l'algorithme

ρ(I)

commelerapportentre lavaleur de la fonction objectif

f

appliquée à la solution produite

S

I

et à l'optimal

opt(I)

; le rapportstandard est simplementlapireperformancesur touteslesinstances. Ainsi,pour

un problème de maximisation:

ρ = inf

I

f (S

I

)

f (opt(I))

Considérons par exemple le problème de couverture minimaledes arêtes d'un graphe

parunsous-ensembledesommets(minimum vertexcover).Produisonsdefaçon

glou-tonneun couplage maximalpourl'inclusion

M

. Parmaximalité,l'ensembledes sommets du couplage constitue une couverture des arêtes de taille

2

|M|

; par ailleurs, l'optimum doit nécessairement couvrir en particulier les arêtes du couplage, et donc contenir au

moins

|M|

éléments. Par conséquent, minimum vertex cover est approximable en temps polynomial avec un rapportstandard

2

.

A

b

a

B

c

D

d

C

E

e

G

F

Fig. 1.1 Lecouplage

{A, . . . , E, a, . . . , e}

réalise iciune approximation de rapport

5/3

.

Cette dénition posant toutefois quelques problèmes comme la non-préservation du

rapport par certaines fonctions élémentaires ne modiant pas la nature du problème

(comme le passage au complémentaire), la notion de rapport diérentiel fut formalisée

par [DP96]. Ce nouveau rapport mesure cette fois non la qualité intrinsèque de la

(12)

opposé. 3

. Formellement,pour un problème de maximisationtoujours :

ρ

0

= inf

I

f (S

I

)

− f(w(I))

f (opt(I))

− f(w(I))

1.3 Une petite zoologie des problèmes de graphes

Dans ce travail,nous serons essentiellement amenésànous intéresser àdes problèmes

de théorie des graphes. Cette discipline est particulièrement féconde en problèmes à la

fois simples à énoncer et structurellement diciles à résoudre, c'est-à-dire pour lesquels

il existe des résultats négatifs aussi bien en termes de résolution exacte que

d'approxi-mabilité 4

. C'est en particulier par un petit tour d'horizon des problèmes de graphes les

plus paradigmatiques que l'on se convaincra le mieux de la nécessité de sortir du cadre

strictementpolynomial.

Dans tout ce qui suit, nous employons les notations suivantes. Si

G(V, E)

est un graphe,

V

estl'ensemblede sessommetset

E

⊂ V

2

celuide sesarêtes.Parcommoditéon

emploiera, saufmentioncontraire, lesnotations classiques

n =

|V |

et

m =

|E|

. Pour tout sous-ensemble

W

⊂ V

,onnotera

G[W ]

legrapheinduit par

W

sur

G

et

E(W ) = E

∩ W

2

l'ensemble des arêtes de

G[W ]

. Si

v

est un sommet, on notera

N(v)

son voisinage et

N[v] = N(v)

∪ v

son voisinage fermé. On écrira indiéremment

d(v) = deg(v) =

|N(v)|

sondegré,et

d

W

(v)

son degrédanslesous-grapheinduitparW.Levoisinage(fermé)d'un ensemble sera écrit

N[W ] =

S

v∈W

N[v]

, tandis que son voisinage pointé (ou strict) est dénipar

N(W ) = N[W ]

\ W

.Onnotera

∆(G)

ledegrémaximum d'ungraphe,

δ(G)

son degré minimum et

d(G) = 2m/n

son degrémoyen,

G

pouvant êtreomis s'il n'ya aucune ambiguïté.

maximum independent set

Étant donné un graphe

G(V, E)

, on cherche un sous-graphe totalement déconnecté (égalementappeléensemblestable) de taillemaximale.

Le problème du stable maximumest l'un des plus ancienset les mieux étudiésparmi

les problèmes de théorie des graphes; et ce en particulier parce que c'est l'un de ceux

pour lesquels les résultats négatifs sont les plus forts. Il est naturellement NP-complet,

et inapproximableen temps polynomialavec un ratio

n

1

−

[Hås96].

Parpassage augraphecomplémentaire,ce problème est équivalentauproblème de la

clique maximale(maximum clique ),danslequel l'objectifest deproduireleplusgrand

sous-graphe complet. Enn, il a la même complexité que son problème dual, celui de la

3

Si le problème initial sepropose de résoudre min

f

sous une série de contraintes

C

, le pire est la solutiondemax

f

souscesmêmescontraintes.Ainsi,maximumindependent set estl'opposéde min independentdominating set,et réciproquement,commeonleverraauchapitresuivant.

4

(13)

3

4

5

6

8

7

1

2

Fig. 1.2  {2,5,6,8} est un stable maximum et {1,3,4,7} une couverture minimum des

arêtes

couverture minimale des arêtes par des sommets(minimum vertex cover ); en eet,

le complémentaire d'un ensemble stable est un sous-ensemble qui par dénition couvre

toutes les arêtes. minimum vertex cover est toutefois 2-approximable, mais ne peut

être approché avec un rapport meilleurque

1.1666

.

Une généralisation possible du problème du stable est la recherche de sous graphes

peu denses. Ainsi est-on amenéà introduire lanotion de quasi-stable :

max quasi independent set

Étantdonnéun graphe

G(V, E)

,trouverun sous-graphede taillemaximale

G

0

(V

0

, E

0

)

telque

|E

0

| ≤ f(|V

0

|)

,où

f

est une fonction croissante.

Un tel ensemble est appelé un quasi-stable et

f

est la fonction de densité maximale qui luiest associée;de façonsimilaire,ondénit une quasi-cliquecommeun sous-graphe

dont le nombre d'arêtes est supérieur à une fonction de densité minimale. Les résultats

d'inapproximabilitédustables'ytransfèrentimmédiatement.Lavariantelaplusrépandue

est celleoù

f

est uneconstante(nedépendantquedes paramètresde l'instance),onparle alors de problèmedu

k

-stable.

minimum dominating set

Étantdonnéungraphe

G(V, E)

,oncherche un sous-ensemble

D

de tailleminimaletel que

N[D] = V

.

Le problème de dominationest un cas particulier d'un problème d'optimisation

clas-sique qui n'appartient pas à la théoriedes graphes, à savoir lacouverture d'un ensemble

(14)

3

4

5

6

8

7

1

2

Fig. 1.3 {2,3,6,7,8} est un quasi-stablemaximum pour

f (x) = x/5

des voisinagesfermés :

S = {N[v], v ∈ V }

.A cetitre, ilest approximableavec unrapport

log

|V |

[Joh74]. En revanche, [RS97] a établi qu'il existait une constante

c

telle que ce problème ne soitpas

c log

|V |

approximable.

1

5

2

6

3

8

7

4

Fig. 1.4 {1,5} est un ensembledominant minimal

Ce problème admet de multiples variantes, pour peu qu'on modie la famille des

ensembles dominants. Citons en particulier deux problèmes auxquels nous consacrerons

une attention particulière, le problème de la clique dominante et le problème du stable

dominant:

min independent dominating set

Étantdonnéun graphe

G(V, E)

,oncherche un sous-ensemble

S

de tailleminimaletel que

G[S]

est stable et

N[S] = V

.

(15)

Notons que l'existence n'est ici pas un problème, puisque dans le cas d'un ensemble

stable,ladominationest équivalenteàlamaximalitépourlarelationd'inclusion.Ce

pro-blème peut ainsi être reformulécomme larecherche d'un stablemaximal pour l'inclusion

de tailleminimale. Il s'agit là d'un problème particulièrement résistant [Kan94, DIP99],

puisqu'il n'est pas approximableavec un ratio

|V |

1−

, même dans lesgraphes bipartis.

3

4

5

6

8

7

1

2

Fig. 1.5 {1,4,7}est un stable dominant minimal

dominating clique

Étant donné un graphe

G(V, E)

, on cherche un sous-graphe complet (une clique)

K

telque

N[K] = V

.

L'existence d'une telle clique est en soi un problème de décision NP-complet; s'il

en existe au moins une, trouver celle de taille maximale et celle de taille minimale sont

égalementdeux problèmesNP-completsdistincts, mêmesionselimiteàcertainesclasses

de graphes [KS93].

Les problèmes présentés jusqu'ici ont en commun de consister en la recherche d'un

sous-graphevériant certaines propriétésdonnées; une catégoried'importancehistorique

tout aussi considérable est la recherche de partitionsdu grapheen sous-graphesvériant

ces mêmes propriétés.

minimum coloring

Étantdonnéungraphe

G(V, E)

,onchercheunepartitionde

V

enunnombreminimum de stables.Ce nombre

χ(G)

estappelénombrechromatique du grapheetlapartitionune coloration minimale.

Le théorème des quatre couleurs a grandement popularisé cette question, en même

(16)

re-3

4

5

6

8

7

1

2

Fig. 1.6 {1,3,5}est une clique dominantemaximale

3

4

5

6

8

7

1

2

3

4

5

6

8

7

1

2

Fig.1.7 Le nombre chromatique est 3,le nombre domatique2

mum. En eet, minimum coloring n'est pas approximable avec un rapport

|V |

1/7

−

[FK96],voire

|V |

1

−

sous certaines hypothèses de complexité 5

[BGS98].

Le problème complémentaire de lapartitionminimaleen cliques admetlesmêmes

ré-sultatsnégatifs.Onpeutenndénirunepartitionen sous-graphesdominants(domatic

number), dontl'optimum est inapproximable avec un ratio

(1

− ) log |V |

. minimum steiner tree

Étant donné un graphe

G(V, E)

, une fonction de pondération

w : E

→ R

+

et un sous-ensemble de terminaux

S

⊂ V

, trouver un graphe partiel connexe

G

0

(W, F )

tel que

S

⊂ W

et

P

e

∈F

w(e)

. 5

(17)

Un graphe connexe de poids minimal est nécessairement un arbre. Par rapport à

ceux précédemment cités, ce problème est relativement bien approximable : il est

poly-nomialquand

S = V

etadmet un rapport

1 + log 3/2

dans le cas général.Il est toutefois APX-complet, c'est-à-dire qu'on ne peut espérer produire d'algorithmes polynomiaux

garantissant un rapport

1 + 

pour tout

 > 0

.

Enn,pour conclurecerapidetourd'horizon,évoquonslesproblèmesdecheminement

avec leplus célèbre etle plus ancien d'entre eux.

traveling salesman problem

Étantdonné un graphecomplet

G(V, E)

etune fonctionde pondération

w : E

→ R

+

, trouverune permutation

σ

sur

V

telle que

P

w(σ(i), σ(i + 1))

soitminimale.

Lalittératureàcesujetestimmense,notammentconcernantlesdiérentesrestrictions

qu'on peut faire porter à la fonction de pondération. Toutefois, dans cette formulation

la plus générale, ce problème est un véritable camouet inigé à la théorie de la

com-plexité. En eet, le problème est structurellement inapproximable en temps polynomial

pour quelque ratio que ce soit, puisque garantir un rapport

r

xé se réduit à résoudre de façon exacte un autre problème NP-complet, le circuit hamiltonien (hamiltonian

cycle) :

Étant donné un graphe

G(V, E)

, on cherche une permutation

σ

sur

V

telle que pour tout

i

∈ V

,

(σ(i), σ(i + 1))

∈ E

.

1

2

3

5

4

6

8

7

(18)
(19)

Quel besoin d'algorithmes

exponentiels ?

Ainsique nousvenonsde leconstater, nombreux sontlesproblèmes fondamentauxde

lathéoriedesgraphes quinon seulementsontNP-complets,maiségalementpourlesquels

il est impossible d'espérer trouver un algorithme garantissant un rapport d'expression

raisonnableen un temps d'exécutionpolynomial.Dansune approche toute empirique,de

nombreuses heuristiques ont été publiées, obtenant parfois de très honorables résultats

expérimentaux, par exemple pour le problème du voyageur du commerce. Néanmoins,

si nous désirons diposer de garanties de performance, qu'il s'agisse de résolution exacte

ou même d'une approximation sous un bon rapport (constant, par exemple), il devient

nécessaire d'aller explorer lesterritoires situés au-delàde lapolynomialité.

Maisjusqu'où peut-onaller?Pardénition,un problèmenide décisioncomme

d'op-timisationpeut être résolu par un algorithme de force brute qui examinesuccessivement

tous les candidats potentiels. Dès lors, on peut s'interroger sur la nécessité de consacrer

un temps de recherche considérable à la dénition et à l'analyse d'algorithmes, certes

plus ecaces, mais de toute façonde complexitéexponentielle. En réalité, d'un point de

vue pratique, nous allons voir qu'il existe une distinction critique, entre des algoritmes

exponentielsréellement ecaces etd'autres tout simplement impossiblesà implémenter.

2.1 L'illusion technologique

On a parfois tendance à considérer que le progrès technologique est le principal

ar-gument en faveur du développementdes algorithmes exponentiels. Le raisonnementest à

première vue d'une grande simplicité : en eet, l'apparition d'ordinateurs toujours plus

puissants permettrait aujourd'hui oudemaind'implémenter enn des algorithmes exacts

mêmepourlesproblèmesNP-complets,labarrièredupolynomialnereétantainsiqu'une

(20)

et par làmême amenéeà être tôt ou tard dépassée.

Or, c'est plutôt le contraire qu'on constate. Le meilleur argument en faveur du

dé-veloppement d'algorithmes exponentiels ecaces réside précisément dans l'insusante

croissancedenosmoyenstechnologiques,dansl'incapacitéquasi-structurelledanslaquelle

noussommesdepouvoirespérerqu'un jourlapuissancede calculde nosordinateursnous

permette de rendre ecace les stratégies de force brute

Considérons un problème paradigmatiquede lathéoriedes graphes, maximum

inde-pendent set . Une résolution exacte du problème par examen successif des

2

|V |

sous-graphes n'est en l'état actuel possible en un temps raisonnable que sur des instances de

taille

|V | ∼ 50

. A l'inverse, si nous avons recours par exemple à l'agorithme développé par [FGK06], dont la complexité est asymptotiquement bornée par

2

0.288

|V |

, nous

pou-vons nous intéresser à des graphes de taille

175

. Si l'on se réfère à la loi empirique (très grossière, mais seul l'ordre de grandeur ici nous importe) qui estime que la capacité de

calculd'unprocesseur doubleapproximativementtouslesdix-huitmois,onconstate qu'il

faudrait attendre près de deux siècles pour qu'un algorithmetrivialpuisse enn résoudre

une instance de taille

175

- peut-être un siècle seulement si on tient compte des autres progrès. Onvoitbiencombienilest illusoiredepenserquemisersur lesprogrès

technolo-giquesplutôtquesur l'améliorationdes algorithmesde recherche puisseêtreune stratégie

raisonnable.

2.2 Tenir compte de la taille critique des problèmes

N'oublionspasquelefaitquelesalgorithmesexponentielssoientpardénition

asymp-totiquementpluscoûteuxn'empêchepasqu'ilspuissentêtreplusecacessurdesinstances

de taillemoyenne : onpréfèreraainsi traiterun graphe d'unecentaine de noeuds avec un

algorithme de complexité

1.1

n

plutôt qu'avec un autreen

n

3

. Taillede l'instance

n

3

1.1

n

n = 30

27000

18

n = 50

125000

118

n = 100

10

6

13781

n = 200

8

× 10

6

2

× 10

8

Cetteconstatationn'estpasneuveenthéoriedelacomplexité.Parmilesclassications

intermédiaires entre les classes P et NP, la classe des problèmes admettant un schéma

d'approximation polynomial (PTAS) est à ce sujet particulièrement révélatrice. Ces

al-gorithmes garantissentn'importe quelrapportd'approximation

1 + 

, maisgénéralement auprix d'une complexité

O(n

k/

)

: ce qui les rend potentiellement moins compétitifs que

bien des algorithmes exponentiels 1

.

1

CettecritiqueamotivéladénitiondelaclasseFPTAS,polynomialenonseulementenlataillede

(21)

D'une façon générale, il est bonde s'interroger sur la taillecritique du problème an

de xer une frontière raisonnable entre algorithmes ecaces et algorithmes impossibles

à implémenter. Dans la mesure où, on l'a vu, les capacités matérielles des ordinateurs

peuvent actuellementêtre considérées, sinon commestationnaires, du moins comme

évo-luanttrèslentementàl'échelledeladicultédesproblèmesconsidérés,lavaliditéd'untel

classementade bonnechancede demeurerpérenne;àtoutlemoinspeut-onconsidérer la

réactivitédelacommunautémathématiquecommeayantuntempscritiquebieninférieur

à celui de l'évolution de l'environnementtechnologique.

Il est certes évident que pour les problèmes où la taille de l'instance peut être

aug-mentée à dessein, par exemple en cryptanalyse, aucunalgorithme exponentiel ne saurait

être considéré comme ecace. Pour de nombreuses applicationsen sciences du vivant où

lataillecritique du problème s'exprimeen centaines de milliersde n÷uds, la

polynomia-litéreste une frontière des plus raisonnables. Enréalité, c'est même laquestion du degré

maximum du polynome qui devient critique; en eet, un algorithme en

n

4

ou même en

n

3

devient vite fortpénible à implémenter.

En revanche, pour beaucoup de problèmes d'optimisation pratique, où le nombre

moyen d'éléments à traiter avoisine plutôt quelques centaines, la frontière serait

plu-tôt à xer autour de la notion de résolution en temps inférieur à

c

n

, pour une certaine

constante

c

dépendant de la taille critique. A titre d'exemple, le tableau ci-dessous in-diqueenfonctiondelataillede l'instance,lalimiteraisonnabledelabased'unalgorithme

exponentiel.

Taille de l'instance Algorithmeexponentielecace

n

∼ 10

32

n

n

∼ 50

2

n

n

∼ 100

1.42

n

n

∼ 200

1.19

n

n

∼ 1000

1.04

n

Nous remarquons immédiatement la chose suivante : dans la mesure où, pour une

taille d'instance donnée, il existe une borne supérieure très dicile à franchir pour la

base de l'exponentiation,l'utilisationd'algorithmesexacts, même exponentiels, risque de

ne pas sure à obtenir des résultats satisfaisants pour bien des problèmes. Une telle

constatationfaitpartiedesmotivationsquimenéàintroduireleconcept d'approximation

exponentielle. 2

Une autre remarque s'impose : nous parlons ici d'implémentation pratique, or les

performances des algorithmes sont toujours évaluées de façon asymptotique. Il est de

2

A noter toutefois (pour nuancer ce propos) qu'à ce jour, il existe peu de résultats négatifs - nous

en présenterons les principaux dans un chapitre ultérieur - concernant l'impossibilité de résoudre un

problèmeen temps

c

n

ou moins,pourune constante

c

donnée,et qu'il esttout àfait loisibledepenser queleslimitationsdes algorithmesexactssontsimplementduesau développementsommetoute encore

(22)

fait fréquent en théorie de la complexité qu'un algorithme considéré comme rapide, car

polynomial, dissimule en pratique une constantemultiplicative astronomiquequi le rend

inutilisable 3

. En passant à l'échelle exponentielle, on pourrait craindre que l'évaluation

asymptotique ne cache cette fois un polynome de degré considérable. En réalité, comme

lesalgorithmes considéréssont en généralfortsimples(la réellediculté résidedans leur

analyse), la contribution polynomiale à la complexité est souvent linéaire, ou au pire

bornée par le temps d'exécution de l'algorithme polynomial qui sert à vérier la validité

d'unesolution.Ainsi,lesalgorithmesdebranchementquenousallonsétudiertoutaulong

de ce papiercommeayant une complexité

O

n

)

,pour un

γ

xé,ont dans bien des cas 4

une complexité

(n + ∆

2

n

.

3

L'exemple emblématique enest le théorèmefondamental de Robertson et Seymour[RS04], dont la

preuverecourt àun algorithmede temps d'exécution asymptotiquement borné par

O(n

3

)

, mais qui se

révèletotalementimpossibleàimplémenter.

4

Avouonscependantquecen'estpassystématique.Ainsi,danslechapitreconsacréàl'approximation

exponentielledelacolorationminimale,nousprésentonsunalgorithmegarantissantunrapportdiérentiel

1 + 

pourun temps de calcul

O

(2

n

)

en espace polynomial. Il n'y apas de miracle: ce résultatn'est

possiblequeparcequelanotation

O

dissimuleunfacteurmultiplicatif en

n

k/

(23)

Techniques de résolution exacte

3.1 Méthodes combinatoires

3.1.1 Les approches de force brute

Laméthode laplusélémentairepour aborder larésolution exacte d'unproblème

NP-completconsisteàeectueruneétudeexhaustivedetouslescandidats,àvérierentemps

pardénitionpolynomiallerespectdescontraintesetàretenirl'optimum.Cetteméthode

mobilise un espace de stockage polynomial puisqu'il n'est pas question de conserver

da-vantage en mémoire à un temps donné que lemeilleur candidat examiné jusque là, mais

naturellement requiertun temps de calcul considérable.Ainsi :

 si la solution recherchée est un sous-graphe du graphe initial, comme pour le

pro-blèmedustablemaximalouencoredel'ensembledominantminimal,lecoûttotalest

T (n) = O

(2

n

)

, avec

n =

|V |

.De même, si nous désirons trouver un sous-ensemble d'arêtes (ainsi dans le cas des problèmes de type edge deletion,dont le but est

de trouver lenombre minimumd'arêtes àsupprimer pour quele graphevérie une

propriété donnée), la complexitéest

T (m) = O

(2

m

)

, avec

m =

|E|

.

 si nous souhaitons eectuer une partition du graphe en sous-ensembles disjoints

(nombre chromatique, nombre domatique), le coût d'une approche exhaustive est

donnée par lenombre de Bell

B

n

= e

n log n(1+o(1))

.

 lorqu'ils'agitd'ordonnerlessommetsdugraphe,commedanslecasdu voyageur de

commerceoudu circuithamiltonien,lacomplexitéest simplementégaleaunombre

de permutations du graphe

n!

.

Pour autant, des remarques parfois très simples sur la structure de l'ensemble des

candidats permettent de réduire déjà considérablement la complexité d'une attaque en

forcebrute.Prenonsparexemplelecasduproblèmedecouplagemaximalpourl'inclusion

de taille minimale (minimum maximal matching). Plutôt que de lister tous les

sous-ensembles d'arêtes du graphe, ce qui engendrerait une complexité

2

m

(24)

2

4

6

3

7

5

8

1

Fig.3.1 Nombre minimum d'arêtes àsupprimer pour obtenirun graphebiparti.

à ceux de cardinalité au plus

n/2

, soit

T (n, m) = C

m

n/2

≤ 2

n log n

.

Un résultat moins trivial en ce domaine est la borne en

3

|V |/3

avancée par [MM65]

sur le nombre de stables maximaux d'un graphe. [JPY88a] ayant établi une possibilité

de leslister au prix d'un facteur multiplicatif polynomial,cela induit immédiatementun

algorithmeen

T (n) = O

(3

n/3

)

pourlesproblèmesdestablemaximal,de stabledominant

minimalou encorede clique dominante.

3.1.2 La programmation dynamique

Unedémarche intuitivepourconcevoirdes algorithmesexponentielsplus ecaces que

les approches en force brute est de s'inspirer des méthodes polynomiales; une de celles

quiproduisittrès tôtdesrésultatsen cesensfutlaprogrammationdynamique.Introduite

par Bellmannàpartir de 1949, ellerepose sur deux idées simples: réduireun problème a

une série de problèmes plus petits, etgarderen mémoireles résultatsdes sous-problèmes

an de ne pas répéter inutilementdes calculs.

L'exemple d'utilisationparadigmatiqueest celui de larecherche du plus courtchemin

(shortest path).Une approche exhaustive requerrait de l'ordre de

n!

opérations, pour examinertouslescheminspossibles.Pourautant,ilapparaîtquel'informationseraitdans

ce cas exagérément redondante, puisque chaque sous-chemin de taille

t

serait recalculé pour tous leschemins qui lecontiennent, soitun nombre de foisexponentielen

n

− t

.

La programmation dynamique permet d'éviter cet écueil; l'algorithme [Flo62] de

Floyd-Warshall en est un exemple particulièrement simple et élégant. L'idée est

d'exa-miner les sous-chemins potentiels en introduisant progressivement les sommets

intermé-diaires. Notons

P

k

(i, j)

la taille du plus court chemin entre

i

et

j

dont les sommets in-ternes sonttous inclusdans lesous-ensemble

{1, . . . , k}

.En particulier,

P

0

(i, j) = w(i, j)

(25)

et

P

1

(i, j) = max (w(i, j), w(i, 1) + w(1, j))

.

P

k+1

(i, j) = min (P

k

(i, j), P

k

(i, k + 1) + P

k

(l, k + 1)))

En compilant les fonctions

P

k

par ordre croissant, on est amené à créer un tableau de taille

|V |

3

, chaque case pouvant être remplie en temps constant à partir des éléments

précédemment calculés. On trouve ainsi en temps

O(n

3

)

le plus court chemin

P

n

(i, j)

entre chaque couple de sommets.

Exemple : le voyageur de commerce

traveling salesman problem : Étant donné un graphe complet

G(V, E)

et une fonction de pondération

w : E

→ R

+

, trouver une permutation

σ

∈ S

V

sur

V

telle que

P

w(σ(i), σ(i + 1))

soit minimale.

Une démarche similaire à celle employée pour le résolution polynomialedu problème

de plus court chemin a permis à M. Held and R. M. Karp de formuler l'un des premiers

algorithmesexponentielsnon triviaux,quià ce jourreste leplus rapide pour leproblème

du voyageur de commerce, à ceci près qu'il requiertun espace de calcul exponentiel 1

.

Théorème 3.1 [MK62 ] Le problème du voyageur de commerce peut être résolu grâce à

la programmation dynamique en temps et espace de calcul

O

(2

|V |

)

Preuve. A dessein de simplier l'équation de récurrence, l'on se ramène de façon

élémentaireauproblèmequiconsisteàtrouverunchemin hamiltoniende poids minimum

entre deux sommets xés. Pour tout

W

⊂ V

arbitrairement ordonné et tout sommet

i

∈ U

,ondénit

P (U, i)

commelecheminhamiltoniendans

U

leplus rapideentre

1

et

i

:

P (U, i) = Argmin

σ∈S

U

X

j∈U\{i}

w(σ(j), σ(j + 1))

L'idée de la récurrence est la suivante : l'un des sommets de

U

est nécessairement l'avant-dernier du parcours optimal,etpar conséquent calculer

P (U, i)

revient àrésoudre

P (U

\ {i}, j)

pour chaque élément

j

dans

U

.

P (U, i) = min

j

∈U

(P (U

\ {i}, j) + w(e

ij

))

Là encore, on compile les fonctions

i

7→ P (U, i)

par ordre croissant de cardinalité de

U

, mais cette fois le tableau a pour taille

|2

V

| × |V | = O

(2

|V |

)

. Chaque appel récursif

pouvantêtre eectuéen tempspolynomial,y comprisletempsde parcours delatable, la

complexitéglobaleen temps eten espacede l'agorithmeest asymptotiquementégaleà la

tailledu tableau, soit

O

(2

n

)

.



1

Laméthode Inclusion-Exclusionprésentéeau chapitresuivantpermettantde garantirun tempsde

calcul

O

(2

n

)

(26)

I

a

3 2

b

4 5

c

3 4

O

9

3

5

Fig.3.2Onexamined'abordtous lessous-graphesdetaille

k

,ainsionconnaîtlavaleur du pluscourt cheminhamiltoniensur chaquegrapheamputéd'unsommetàl'étape

k + 1

3.1.3 Transformée de Möbius et Inclusion-Exclusion

En dépit de sa grande simplicité, la programmationdynamique est longtemps restée

la méthode la plus rapide pour la résolution de problèmes aussi paradigmatiques que le

voyageurdecommerceoulacoloration.Cesproblèmesonteneetencommunlapropriété

denepasavoirdestructurelocaleévidenteàexploiter(contrairement,parexemple,àceux

dontlebut est de produireun sous-graphevériant unepropriété donnée). Ce n'estdonc

pas de la théorie des graphes mais plutôt de l'analyse combinatoire, et plus précisément

de méthodes de calcul rapide de fonctions sur des ensembles structurés, qu'est issue la

méthode moderne ayant permis de dépasser, presque soixante ans après, les idées de

Bellmann.

Premier outil : la Transformée de Möbius

Nous le verrons plus loin, nombre de problèmes de graphes peuvent être ramenés à

produire toutesles valeurs d'une fonction de type:

e

f (Z) =

X

S

⊂Z

f (S)

Lafonction

f

e

estappeléetransforméedeMöbiusdelafonction

f : 2

V

−→ R

.Anousautres

informaticiens, la question qui nous intéresse est : quel est le temps de calcul nécessaire

à obtenir les valeurs de

f

e

pour toute partie de

V

? Trivialement, une borne inférieure à cette complexitéest

Ω(2

|V |

)

,à savoir letemps nécessaire à ne serait-ceque les énumérer.

(27)

pour un temps de calcul asymptotiquement égal à:

T (V ) =

X

Z

⊂V

X

S

⊂Z

O(1) =

X

Z

⊂V

O(2

|Z|

) = O(3

|V |

)

Onvoitqu'ilyauneextrêmeredondancedescalculsdesommespartielles,ce quirappelle

laproblématiqueàlaquelle laprogrammationdynamiqueavaitsufaireface.Cettefois,la

réponses'appellealgorithme deYates [Yat], etn'estrien deplus qu'unerécurrencehabile

permettant de stocker les bonnes valeurs sans avoir à les recalculer un grand nombre

de fois. Considérons la fonction récursive

f

i

dénie de la façon suivante (on suppose les sommets numérotés de

1

à

n

et l'on note

[A]

la fonction qui vaut

1

si

A

est vrai et

0

sinon :

f

0

(Y ) = f (Y )

f

i

(Y ) = f

i

−1

(Y ) + [i

∈ Y ]f

i

−1

(Y

\ {i})

Par récurrence, onvoitque :

f

i

(Y ) =

X

S⊂Y,{j∈S,j>i}={j∈Y,j>i}

f (S)

et en particulier que

f

n

(Y ) = e

f (Y )

. Par conséquent :

Lemme 3.1 [BHK] Latransforméede Möbiusd'unefonction peut être calculée entemps

O

(2

n

)

Second outil : le principe d'Inclusion-Exclusion.

Tout part d'une formulebien classique de combinatoire:

n

[

i=1

V

i

=

n

X

i=1

|V

i

| −

X

i,j

≤n

|V

i

∩ V

j

| + . . . + (−1)

n+1

n

\

i=1

V

i

Au-delà de laseule norme,cetteformulepeut en faitêtre généralisée pour toutefonction

de pondération

w : 2

V

→ R

quis'écrit

w(X) =

P

i

∈X

w(i)

:

w

n

\

i=1

V

i

!

=

X

X

⊂V

(

−1)

|X|

w

\

i

∈X

V

i

!

Cette égalité peut s'interpréter de la façon suivante. Considérons les éléments qui

n'ap-partiennent à aucun

V

i

, c'est à dire comptant pour le terme de gauche. Ils apparaissent également une unique fois chacun dans le terme de droite, pour

X =

. En revanche, s'ils appartiennent à, disons,

V

1

, . . . , V

k

, ils apparaissent pour chaque sous-ensemble de

(28)

1, . . . , k

, et donc dans un nombre égal d'ensembles de cardinalité paire et impaire, leur contributionauterme de droite est donc nulle.

Quel rapport avec la théorie de la complexité? L'idée principale est d'interpréter le

terme de gauche comme l'énoncé d'un problème de théorie des graphes, et le terme de

droite comme une transformée de Möbius que nous pourrons donc calculer à l'aide de

l'algorithme de Yates.

Exemple : le nombre chromatique

minimumcoloring:Étantdonnéun graphe

G(V, E)

,oncherche unepartition de

V

en un nombre minimumde stables,c'est-à dire d'ensembles dont legraphe induitnecontientaucune arête.Cenombre

χ(G)

estappelénombrechromatique du grapheet lapartition une colorationminimale.

Théorème 3.2 [BHK]Leproblèmedu nombrechromatique peut être résolu entemps (et

en espace) de calcul

O

(2

n

)

.

Preuve. Tous les outils sont à notre disposition, reste simplement à identier les

ensembles intéressants en reformulant le problème. Déterminer si

χ(G) = k

revient à chercher une couverture des sommets du graphe par une sous-famille à

k

éléments de l'ensemble

F

des stables.

Considérons

V

i

⊂ F

k

l'ensembledes famillesde

k

stables dont laréunion ne recouvre pas l'élément

i

. Avec cette dénition,

T

n

i=1

V

i

6= ∅

signie tout simplementqu'ilexiste au moins une famillede

k

stables qui couvre tous les éléments du graphe, c'est-à-dire, une

k

-coloration.

Parconséquent,le problèmedu nombre chromatique se ramèneàcalculerla

transfor-mée de Möbius de lafonction

f : X

7→ (−1)

|X|

T

i

∈X

V

i

,ce qui correspond ausigne près au nombre de familles de

k

stables d'intersection vide avec

X

, c'est-à-dire à la

k

-ième puissance du nombre de stables disjointsde

X

:

f (X) = (

−1)

|X|

|S ∈ F, S ∩ X = ∅|

k

Cette fonction se calculant en temps polynomial sur chaque ensembleune fois la famille

des stables énumérée, le temps de calcul pour la colorationest borné par

O

(2

n

)

grâce à

l'algorithme de Yates.



Plus que la programmation dynamique, longtemps resté une sorte d'objet non

iden-tié, marginal, dans le domaine de la résolution exacte, domaine largement dominé par

des spécialistes de théorie des graphes, et ayant donc une vision très géométrique des

problèmes,la découverte du principed'inclusion-exclusion,ajeté unponten directionde

(29)

algébriques(calculmatriciel,calculde polynomes)pour concevoir des algorithmes

modé-rément exponentiels pour de larges catégories de problèmes; nous examinerons d'autres

de ces résultats dans la partie consacrée à l' état de l'art. Pour le moment,introduisons

laseconde grandecatégorie de techniques : leparadigme Brancher etRéduire.

3.2 Algorithmes de branchement

3.2.1 Brancher et réduire : principes de base

Lesalgorithmes de branchementreposentsur une idée similaireà cellede la

program-mation dynamique: réduire une instance donnée àplusieurs sous-instances plus simples,

et procéder récursivement jusqu'à obtenir un graphe sur lequel la résolution exacte peut

s'eectuer en temps polynomial. Simplement, au lieu de résoudre un ensemble déni a

priori de sous-problèmes, on ne s'intéresse qu'à ceux induits au fur et à mesure par la

récurrence. L'inconvénient est qu'on risque d'eectuer plusieurs fois les mêmes calculs,

les deux principaux avantages sont d'une part que l'on se contente d'un espace

polyno-mial,d'autre part que si la structure du problème s'y prête (en particulier, si l'arbre de

la récurrence a un degré faible,autrement dit que le nombre de sous-instances à chaque

branchement est limité),le nombre de cas à considérer peut être nettement plus faible.

Prenons un exemple simple, celui du stable maximum. Une idée très intuitive est

d'eectuer un branchement sur un sommet

v

du graphe. Soit ce sommet appartient à l'optimal,et par conséquent ses voisins en sont exclus, soit il n'y appartient pas. Ce qui

se traduitpar une relation de récurrence :

α(V ) = max

{α(V \ {v}), α(V \ N[v]) + 1}

Ilestfaciledevoirqueleproblèmedustablemaximumestpolynomialsurungraphede

degrémaximum

2

.Parconséquent, sinous avons pris soindechoisir

v

dedegrémaximum

,notre temps de calcul vérie

T (n)

≤ T (n − 1) + T (n − (∆ + 1)) ≤ T (n − 1) + T (n − 4)

Par récurrence, on obtient que

T (n) = c

n

, où

c

est la solution de

c

−1

+ c

−4

= 1

, soit

T (n) = O

(1.381

n

)

.

D'unefaçongénérale,sionobtientunerelationderécurrencedetype

T (n)

P

i

≤p

T (n

α

i

)

, l'algorithmea une complexité

O

(c

n

)

, avec

c

solutionde

1 =

X

i

≤p

x

−α

i

(3.1)

La méthode Brancher etRéduirefait également appel,d'où son nom, àdes règles

(30)

par-d'eectuer un branchement, etdonc avec un accroissement polynomial de la complexité.

Par exemple, dans le problème de la couverture d'un ensemble (min set cover), tout

sous-ensemble couvrant inclus dans un autre sous-ensemble couvrant peut être retiré des

candidats sans perte d'information. Dans le cas du stable maximum, tout sommet isolé

ou de degré 1 peut être ajouté à la solution optimale et ses voisins retirés. L'intérêt de

ces règles de réduction est loinde n'être qu'esthétique : il s'agit d'assurer des situations

de branchement lesmoins mauvaises possibles.

A

B

C

D

E

F

G

H

I

Fig. 3.3  Exemple de réduction dans le cas du stable maximum. Si A est ajouté à la

solution,B,CetDsontdisqualiés.Dèslors,unerèglederéductionnouspermetd'ajouter

E,G,H etI sans branchement supplémentaire.

L'algorithme élémentaire de complexité

O

(1.38

n

)

présenté plus haut est loin d'être

le plus rapide; sans même parler des résultats non encore publiés [Rob01, BEPvR09],

l'algorithme de branchement de [FGK06] a un temps de calcul asymptotiquemnt borné

par

1.22

n

. D'un point de vue pédagogique (ou esthétique), le principal souci posé par

les algorithmes de branchement est qu'il est généralement possible de les améliorer à la

marge au prix d'une étude de cas toujours plus poussée, c'es-à-dire d'un choix de

bran-chements toujours plus complexe. Par conséquent, il est peu de problèmes pour lesquels

le meilleur algorithme de branchement peut être présenté en quelques lignes; parmi les

rares exceptions setrouve leproblème de clique dominantemaximale.

Exemple : la clique dominante maximale

maximum dominating clique : Étant donné un graphe

G(V, E)

, on cherche un sous-graphecomplet (une clique)

K

de taillemaximale telque

N[K] = V

.

(31)

égalementdeux problèmesNP-completsdistincts, mêmesionselimiteàcertainesclasses

de graphes [KS93].

Théorème 3.3 [BCEP09] Il est possible de construire la clique dominante de taille

maximale(oudeprouverqu'iln'enexistepas)avecuntempsdecalculbornépar

O

(2

2|V |/5

)

et en espace polynomial.

Preuve. Remarquons qu'une fois xé un point

v

de l'optimum, les seuls candidats à être dans la solution sont les éléments de son voisinage

N(v)

et les seuls sommets à dominer sont ceux du complémentaire

V

\ N[v]

. Pour exploiter cette propriété, nous sommesamenésàgénéraliserlégèrementleproblème.Étantdonnéunepartitiondugraphe

V = S

∪ D ∪ A ∪ F

, oncherche une clique

K

telle que :



S

⊂ K ⊂ V \ (D ∪ F )

.Lessommetsde

S

sontd'oresetdéjàsélectionnés etceux de

D

commeceux de

F

sont disqualiés.



D, A

⊂ N[S]

. Les sommetsde

D

et

A

sontdéjà dominés. 

A

S

s

∈S

N[s]

. Les sommetsde

A

peuvent fairepartie de l'optimum.

Ce problème est trivialdès lorsque

A

est vide;si àce moment

F

est videégalement,

S

est l'optimum, dans le cas contraire il n'existe pas de clique dominante. L'algorithme va donc oeuvrer à réduireprogressivement lataillede l'ensemble

A

.

Le coeur de l'algorithme est, faitassez rare, une règle de branchement unique.

Consi-dérons un sommetdisponible,

u

∈ A

. Si tous les élémentsde l'optimum sont ses voisins, alorsnous devons l'ajouter,par maximalité.Cette remarquepeutêtre interprétée comme

un branchement sur le complémentaire du voisinge de

u

:

opt(S, D, A, F) =

max

u∈A\N

A

(w)

{opt (S ∪ {u}, D ∪ (A \ N

A

[u])

∪ N

F

(u), N

A

(u), F

\ N

F

(u))

}

On choisit toujours

w

de degré maximalsur

A

et, à égalité,minimalsur

F

. On minimise ainsilenombredebranchesetl'onmaximiselaréductionopéréedanschacune decelles-ci.

S'ajoutent par ailleursquelques règles de réduction très simples, quipermettent d'aner

lesbornes sur la relationde récurrence.

 S'ilexiste un sommetde

F

sans voisin dans

A

,leproblème n'apas de solution.Par conséquent

min

u

∈F

d

A

(u)

≥ 1

.

 S'ilexiste

u

∈ A\N[w]

sansvoisindans

F

,onpeutsanspertedegénéralitéconsidérer qu'unefoislesautresvoisinsde

w

écartés,onchoisiratoujours

w

prioritairementà

u

:

opt(S, D, A, F) =

u

0

∈A\N

A

(w)

max

u

0

6=u

{opt (S ∪ {u

0

} , D ∪ (A \ N

A

[u

0

])

∪ N

F

(u

0

) , N

A

(u

0

) , F

\ N

F

(u

0

))

}

Ces règles induisent une récurrence sur le temps de calcul

T (p)

maximum nécessaire à trouver la clique dominante maximale sur une instance vériant

|A| ≤ p ≤ n

. Posons

α =

|A \ N[w]|

,

(32)

La borne

T (n) = O

(2

2p/5

)

satisfait cette inéquationde récurrence.



Les algorithmes de typeBrancher et Réduire sont certainementles plus répandus

en théoriedes graphes, sibien ques'estdéveloppée une série detechniques additionnelles

visant, soit à les améliorer,soit à en améliorerl'analyse. Nous allons examiner

successi-vement trois d'entre elles : la mémorisation,les arbres de branchements multiples et les

mesures alternatives(paradigme Mesurer pour Conquérir).

3.2.2 La mémorisation

Latechniqueappeléecommunémentmémorisationn'estriend'autrequ'une

combinai-son desdeux approchesprécédentes, àsavoirlaprogrammationdynamiqueetle

branche-mentrécursif.Toutpartd'uneconstatationsimple:dansunalgorithmedetypeBrancher

etRéduire, un sous-problèmesera en généralrecalculé d'autant plus de fois qu'ilest de

taillefaible,etdonc invoquédans un nombre d'autant plus grand de problèmes

intermé-diaires.Ainsi,unsous-ensembledetaille

k

estinclusdansses

2

n

−k

surensemblespotentiels.

Parailleurs,tantque

k

demeuresusammentpetit,lenombredesous-ensemblesdetaille

k

, et donc le temps nécessaire pour tous les énumérer, est une fonction croissante de

k

. D'où l'idée de procéder en deux temps :

1. Résoudre de façon exhaustive, selon une méthode de programmation dynamique,

lessous-problèmes de tailleinférieureà un

k

donné.

2. Eectuer un algorithme de branchementsur legraphe initial,en s'arrêtant dès que

leproblème atteintune tailleinférieureà

k

.

3. Récupérer dans letableauréalisé en première étapela valeur de l'optimal.

La complexitéd'une telle approche sera bornée en temps et en espace par

T

0

(n) = O

(S(n, k) + T (n

− k))

S(n, k)

représente le nombre de sous-problèmes de tailleau plus

k

dans une instance de taille

n

, et

T (n)

la complexitéde l'algorithme récursif. Le premier terme croissant en fonction de

k

tandis que le second décroît, le temps total au pire des cas s'obtient en égalisant lesdeux termes.

Si nous examinons par exemple le problème de domination par un ensemble stable

(min independent dominating set ), nous remarquons que chaque sommet devant

être couvert par l'un de ses voisins ou par lui-même:

opt(V) = min

u

i

∈N[v]

(opt(V

\ N[u

i

]))

(3.2)

Pour peu que nous ayons branché sur un sommet de degré minimum, nous en déduisons

que

T (n)

≤ (δ + 1)T (n − (δ + 1))

, ce qui induit

T (n)

≤ 3

n/3

= 1.45

n

.

(33)

de taille au plus

k = n/10

, avec un temps de calcul

C

n/10

n

= O(1.39

n

)

, nous aurions pu interrompre l'algorithme dès que

n

0

≤ 9n/10

. Dès lors, le temps et l'espace de calcul

nécessaire auraient été

T (n) = 3

3n/10

= 1.40

n

.

3.2.3 Les branchements multiples

Unedicultéàlaquelledoiventfréquemmentfairefacelesalgorithmesdetype

Bran-cher et Réduire est la suivante : en général,une situation de branchement pire que les

autres - ainsi, dans l'exemple mentionné plus haut de la clique dominante maximale, un

graphe dans lequel tous les sommets candidats ont un anti-degré

α =

|A \ N[v]| = 4

-est identiée, qui sert de borne à l'analyse de lacomplexité, alors même qu'ilest certain

qu'elle ne peut se produire à chaque étape. Dans ces conditions, une façon d'améliorer

l'analyse est de déterminer une borne sur le nombre, et par conséquent sur l'impact de

ces situations désagréablesen termede complexité.

Commençons par une remarque élémentaire, toujours à propos du problème de

do-minationpar un ensemble stable. Nous nous rappelons quel'algorithme de branchement

élémentairerésuméparlarelationderécurrence(3.2)sélectionneunsommetdedegré

mi-nimum

u

et, partantdu principequ'ildoit êtredominépar un élémentde

N[u]

,construit récursivementlessous-graphesobtenusen ajoutantchacundesvoisinsàl'optimal.Lapire

des situationscorrespond naturellementau fait que tous les sommets ont lemême degré

δ

, auquel cas larécurrence induitepar donne

T (n)

≤ (δ + 1)T (n − (δ + 1))

.

Toutefois, si les règles de branchement comme de réduction ne font que supprimer

des sommets (et donc fairedécroître strictement le degré de leurs voisins), lenombre de

graphes étudiés dans lequel il n'est pas possible de choisir un sommetde degré minimal

dont au moins un voisin est de degré strictement supérieur est limité à

, et a donc un impact polynomial sur la complexité totale

2

. Par conséquent, on peut supposer que

T (n)

≤ δT (n − (δ + 1)) + T (n − (δ + 2))

, etdonc

T (n)

≤ 1.40

n

: le gain de cette simple

remarque est équivalent(et cumulable) avec celui de lamémorisation.

Ce genre de remarque peut être généralisée par l'adoption, non de branchements

simples mais, d'arbres de branchements, une méthode formalisée sous le terme

d'ana-lyse amortie en particulier par [CKX03]. Un arbre de branchements, ou branchement

multiple,consisteàremarquer qu'àchaquefoisqu'un certainbranchement (généralement

désagréable)esteectué,legrapherésultantpossèdecertainespropriétésquiassurentune

sériede branchementsplus intéressantsdanslaphase suivante. Ainsipeut-onaméliorerla

borne surletempsde calculauprixd'un surcoûtdans l'analysequipeut êtreexponentiel

en la taillede l'arbre étudié.

(34)

n

n-4

A

n-1

non A

n-5

B

n-6

non B

Fig. 3.4Un arbre de branchement très simple. QuandA est éliminé,l'instance est peu

réduitemaislenouveaugraphepossèdeunepropriétéquiautoriseunsecondbranchement

plus intéressant. Lacomplexitéest donnée par les feuilles:

T (n)

≤ T (n − 4) + T (n − 5) +

T (n

− 6)

.

Exemple : le stable maximum sur un graphe cubique

maximum independent set - 3 : Étant donné un graphe

G(V, E)

de degré maximal

≤ 3

, on cherche un sous-ensemble

S

de taille maximale dont le graphe induit

G[S]

ne contient aucune arête.

Comme beaucoup de problèmes de théorie des graphes, le stable maximum est

po-lynomial sur les graphes de degré maximum

2

, mais reste NP-complet même si l'on se restreintauxgraphes dedegré

3

.Pourrésoudre ecacementce problème,[F



06]aeul'idée

de s'intéresser dans un premier temps au problème du stable max sur un graphe

quel-conque,en essayantd'obtenir un résultatparamétré 3

.Typiquement,sinous prouvons

qu'unstablemaxpeutêtretrouvéentemps

γ

m

−n

,c'estinutiledans lecadregénéral,mais

cela signie quesur un graphe cubiquela complexitéest bornée par

γ

n/2

.

Proposition 3.1 [BEP08] On peut résoudre le problème du stable maximum en temps

O

(1.2175)

m

−n

.

Corollaire 3.1 On peutrésoudreleproblèmedu stablemaximumentemps

O

(1.1034)

n

4 .

3

Nousnousbornonspourl'instantàunedénitionintuitive:unalgorithmeestditparamétrépar

λ

si sacomplexité estasymptotiquementbornée(àunfacteurpolynomialprès)parune fonctionde

λ

.Nous auronstout loisirdeformalisercettenotiondanslechapitreconsacréàlarésolutionparamétrée

4

En réalité, l'algorithme nal proposé dans cet article recourt àune analyse decas nettement plus

poussée,pourobteniruntempsdecalcul

O

(1.0977

n

)

Figure

Fig. 1.1  Le couplage {A, . . . , E, a, . . . , e} réalise ici une approximation de rapport 5/3 .
Fig. 1.2  {2,5,6,8} est un stable maximum et {1,3,4,7} une couverture minimum des
Fig. 1.3  {2,3,6,7,8} est un quasi-stable maximum pour f (x) = x/5
Fig. 1.5  {1,4,7} est un stable dominant minimal
+7

Références

Documents relatifs

L’espace ∆ 0 γ n’est en fait pas assez grand pour contenir les γ-symboles d’op´erateurs γ-diffusifs (au sens strict) et ceux de leurs inverses. En d’autres termes,

Comme il est parfois plus ad´equat de calculer le gradient d’une fonction plutˆot que son op´erateur proximal (op´erateur de d´egradation de grande taille, op´erateur proximal

MAX-SAT est un problème NP-complet et contrairement à SAT il le reste même lorsque les clauses ne contiennent que deux littéraux [130].De plus, dans l’optique de la recherche

[5] S Bourguignon, J Ninin, H Carfantan, and M Mongeau, “Exact reso- lution of sparse approximation problems via mixed-integer program- ming,” submitted to IEEE Trans. Signal

Dans cette communication, nous proposons un descriptif de notre démarche méthodologique qui permet de simuler différentes politiques d’affectation des ressources

Nous pr´ esentons dans cet article un algorithme g´ en´ erique hybride permettant de combiner des m´ ethodes compl` etes (programma- tion par contraintes) et incompl` etes

Pour discrétiser le problème de contact unilatéral, deux for- mulations sont testées: une avec la méthode de pénalisation et I'autre avec une méthode mixte basée sur

Alors qu’auparavant seuls les coûts étaient pris en compte (coûts de pro- duction, coûts de fonctionnement d’une flotte de véhicules), la performance d’une solution à un