Soumission - LAMSADE - Université Paris

publicité
Approximation exponentielle, méthode générale par élagage
d’arbre de branchement.
Bruno Escoffier1 , Vangelis Paschos1,2 , Émeric Tourniaire1
1
Université Paris Dauphine
Paris, France
{escoffier,paschos,emeric.tourniaire}@lamsade.dauphine.fr
2
Institut Universitaire de France
Mots-clés : approximation exponentielle, élagage
1
Introduction
Dans le domaine de l’optimisation combinatoire, une méthode usuelle pour résoudre des
problèmes NP-difficiles ([11],[12]) consiste à en obtenir des approximations en temps polynomial
([2]). Ce travail s’insère dans la problématique de l’approximation modérément exponentielle,
qui vise à remédier à la forte inapproximabilité de certains de ces problèmes au-delà de certains
ratios 1 . Ce domaine a été déjà étudié et a permis d’obtenir des résultats spécifiques pour
certains problèmes (MAX SAT dans [7], STABLE MAXIMUM dans [6], SET COVER dans
[5]).
Une méthode générale de partage a également été présentée dans [6], qui permet d’obtenir
des approximations en temps exponentiels, à laquelle nous comparons nos résultats.
L’objet de ce travail est de présenter une nouvelle technique générale d’approximation et
d’obtention de schémas modérément exponentiels d’approximation, pour des problèmes résolubles par branchement. Nous en faisons ensuite une analyse en complexité dans le pire des
cas, et nous présentons des exemples d’application.
2
2.1
Présentation de la méthode
Branchement classique
Pour résoudre un problème d’optimisation, une méthode classique consiste à brancher sur
des éléments de solution pour faire une recherche exhaustive ([9]). En terme de réduction,
cela revient à réduire le problème à deux (ou plus) sous-problèmes de taille inférieure. S’il est
possible de résoudre en temps polynomial un problème de taille bornée (et c’est souvent le
cas), un algorithme naïf de branchement aura une complexité qui dépend de la diminution de
taille qu’on peut espérer obtenir sur les sous-instances.
Un exemple classique est celui du stable maximum : un sommet sera soit dans la solution
(et ses voisins en seront alors exclus), soit en sera lui-même exclu. Cette règle permet donc de
réduire une instance de taille n à deux instances de taille n − 1, ce qui conduit à un algorithme
de complexité O∗ (2n ) 2 . Une analyse légèrement plus poussée permet d’exclure les sommets de
degré 2 ou moins. On réduit alors une instance de taille n en deux instances de tailles n − 1 et
n − 4, permettant d’obtenir une complexité de seulement O∗ (1.38n ).
1. Le ratio d’approximation est défini comme le pire rapport possible entre la solution réalisée et la solution
optimale.
2. Équivalent à O(γ n p(n)), où p est une fonction polynomiale.
Pour montrer la généralité de ces branchements, considérons simplement que tout problème
d’optimisation (minimisation ou maximisation) dans lequel la solution est un sous-ensemble
de l’instance (satisfaisant une propriété vérifiable en temps polynomial) possède un tel branchement.
2.2
Règle de diminution
Notre méthode utilise également une règle de diminution. Celle-ci consiste à retirer une partie
de l’instance, réduisant strictement sa taille, tout en contrôlant la diminution de la qualité de
la solution.
Dans le cas du stable maximum, cela revient simplement à effacer un sommet de l’instance.
S’il faisait partie d’un stable maximum, la solution peut être altérée, mais diminue d’au plus
un. La taille de l’instance, décroit d’exactement un.
De telles règles de diminutions sont courantes sur les problèmes combinatoires.
2.3
Méthode d’élagage
La méthode que nous proposons consiste à construire l’arbre de branchement de l’algorithme
exact, mais en substituant parfois à un branchement la règle de diminution. Nous contrôlons
au fur et à mesure du déroulement de l’algorithme la perte de qualité de la solution en ajustant
le nombre de diminutions utilisées dans chaque branche de l’arbre. Concrètement, le nombre de
diminutions est proportionnel à l’augmentation effective de la taille de la solution dans chaque
branche, et dépend également du ratio d’approximation souhaité.
Notre méthode a ainsi l’avantage de profiter des meilleurs algorithmes de branchement sur le
problème qu’on cherche à approcher. Si le meilleur algorithme exact pour un problème donné
consiste en un algorithme de branchement, notre méthode donne des algorithmes strictement
plus rapides pour des ratios différents de 1 (ce que nous appelons un schéma exponentiel
d’approximation).
3
3.1
Analyse des résultats et applications
Cohérence et complexité de la méthode
Nous avons formalisé les règles de branchement et de diminution de manière aussi générique
que possible, et nous montrons qu’une large variété de problèmes admet de telles règles, permettant l’application de notre méthode. Celle-ci permet alors d’obtenir un ratio d’approximation
voulu quelconque, avec une complexité meilleure que l’algorithme de branchement exact.
Pour contrôler le nombre de diminution que l’on peut utiliser, il nous est nécessaire de
comptabiliser l’augmentation progressive (au cours du branchement) de la taille de la solution.
Nous avons adapté la définition de la règle de branchement pour tenir compte de ce point.
Nous avons également décliné les définitions pour le cas d’un problème de minimisation ou de
maximisation (les définitions diffèrent, les résultats sont très similaires).
Dès lors qu’au moins un branchement augmente nécessairement la taille de la solution, et
que les deux règles de branchement existent, nous montrons qu’il est possible de garantir un
ratio d’approximation quelconque plus rapidement que ce que fait l’algorithme de branchement
exhaustif. La complexité de notre algorithme est en O∗ (γ n ) , où γ se calcule comme solution
d’une équation algébrique.
3.2
Comparaison par rapport aux méthodes de partage
La méthode de partage est une autre méthode pour obtenir des algorithmes d’approximation
en temps exponentiel. Elle consiste à résoudre le problème uniquement sur une instance réduite,
et s’applique à des problèmes de maximisation où les solutions doivent vérifier une propriété
héritable 3 . Lorsque la méthode de partage s’applique, nous montrons que la méthode d’élagage
s’applique aussi, mais donne généralement de moins bons résultats. En revanche, la méthode
d’élagage s’applique dans des situations plus variées, et peut parfois être améliorée, comme
nous le montrons sur l’exemple de Max SAT.
3.3
FEEDBACK VERTEX SET
Le problème FEEDBACK VERTEX SET consiste à retirer un petit nombre de sommets d’un
graphe de telle sorte que le graphe induit soit sans cycle (cas non-orienté) ou sans circuit (cas
orienté). Un algorithme existe pour fournir une approximation de ratio 2 en temps polynomial
([3]), et des algorithmes exacts existent également de complexités respectives O∗ (1.7347n ) (cas
non orienté, [10]) et O∗ (1.9977n ) (cas orienté, [13]). C’est un problème pour lequel la méthode
de partage ne peut pas s’appliquer.
Pour appliquer notre méthode d’élagage, nous n’avons pas pu tirer avantage facilement des
algorithmes exacts existants, car ce ne sont pas des algorithmes de branchement. Toutefois, la
méthode s’applique directement en utilisant un branchement naïf (« chaque sommet est soit
exclu ; soit conservé à condition qu’il ne crée pas de cycle avec les autres sommets conservés »).
Cela nous a permis d’obtenir des résultats d’approximation satisfaisants (en particulier dans le
cas orienté, cf figure 1) : la zone grisée représente l’amélioration de notre méthode sur l’existant.
[3]
γ
[3]
γ
[13]
1.99
[10]
1.73
1
1
1.5
2
ρ
(a) Graphes non orientés
1
1
1.5
2
ρ
(b) Graphes orientés
FIG. 1 – Approcher FVS avec un ratio ρ, en temps O∗ (γ n )
3.4
MAX SAT
Le problème de MAX SAT consiste, étant données n variables et m clauses disjonctives, à
attribuer des valeurs de vérité aux variables pour satisfaire autant de clauses que possible. Nous
en considérons la complexité du point de vue du nombre de clauses. Le meilleur algorithme
exact pour ce problème est une étude de cas réalisée par Chen et Kanj avec une complexité
O∗ (1.3247m ) ([4]). Un algorithme polynomial approché très performant permet d’obtenir un
ratio constant d’environ 0, 8 ([1]). L’approximation modérément exponentielle de MAX SAT a
aussi été étudiée dans [7], et utilise la meilleure approximation polynomiale connue.
De plus, la méthode de partage peut être réalisée sur le problème de Max SAT, rendant la
méthode d’élagage moins performante. Cependant, nous avons pu améliorer cette dernière :
plutôt que simplement retirer une clause de l’instance, notre règle de diminution consiste à
trouver deux clauses partageant deux littéraux opposés, à retirer ces deux clauses ensemble.
Nous savons qu’au moins une des deux sera satisfaite, ce qui nous permet d’utiliser plus fréquemment la règle de diminution. Nous avons dû, dans cette analyse, reprendre et analyser
l’étude de cas de [4] pour en déduire le nombre minimal de clauses satisfaites dans chaque cas.
3. Tout sous-ensemble d’une solution est également une solution.
Nous avons enfin comparé les différentes récurrences obtenues, et prouvé que le pire cas est
toujours réalisé dans le même cas, quel que soit le ratio d’approximation demandé.
La méthode d’élagage que nous proposons est la meilleure méthode d’approximation connue
pour MAX SAT pour des ratios proches de 1. 4
3.5
Autres exemples
Notre méthode s’applique également à d’autres problèmes, et donne en particulier des résultats qui sont les meilleures approximations connues. Nous les avons explicités pour le problème
de la COUPE MAXIMALE dans des graphes à degré borné, et pour le problème de la kCOUVERTURE MAXIMALE.
4
Conclusion
Nous avons proposé une méthode systématique pour concevoir des schémas d’approximation
modérément exponentiels pour un grand nombre de problèmes d’optimisation admettant des
algorithmes exacts de branchement.
Références
[1] T. Asano and D. P. Williamson. Improved approximation algorithms for max sat. J. Algorithms, 42(1) :173–202, 2002.
[2] G. Ausiello, P. Crescenzi, G. Gambosi, V. Kann, A. Marchetti-Spaccamela, and M. Protasi.
Complexity and approximation. Combinatorial optimization problems and their approximability properties. Springer-Verlag, Berlin, 1999.
[3] A. Becker and D. Geiger. Optimization of Pearl’s method of conditioning and greedy-like
approximation algorithms for the vertex feedback set problem. Artificial Intelligence, 83 (1) :
167–188, 1996.
[4] J. Chen and I. A. Kanj. Improved exact algorithms for max sat. Discrete Appl. Math.,
142 :17–27, 2004.
[5] N. Bourgeois, B. Escoffier, and V. Th. Paschos. Efficient approximation of min set cover
by moderately exponential algorithms. Theoret. Comput. Sci., 410(21-23) :2184–2195, 2009.
[6] N. Bourgeois, B. Escoffier, and V. Th. Paschos. Approximation of max independent set,
min vertex cover and related problems by moderately exponential algorithms. Discrete
Appl. Math, 159 (17) : 1954–1970, 2011.
[7] E. Dantsin, M. Gavrilovich, E. A. Hirsch, and B. Konev. max sat approximation beyond
the limits of polynomial-time approximation. Ann. Pure and Appl. Logic, 113 :81–94, 2001.
[8] B. Escoffier, V.Th. Paschos and E. Tourniaire. Approximating Max Sat by moderately
exponential and parameterized algorithms. In Proc. TAMC’12, to appear in Lecture Notes
in Computer Science. Springer-Verlag, 2012.
[9] F. V. Fomin and D. Kratsch Exact Exponential Algorithms. Springer, 2011.
[10] Fomin, Fedor, Villanger and Yngve Finding induced subgraphs via minimal triangulations
STACS, 2010.
[11] M. R. Garey and D. S. Johnson. Computers and intractability. A guide to the theory of
NP-completeness. W. H. Freeman, San Francisco, 1979.
[12] R. Karp Reducibility Among Combinatorial problems. Complexity of Computer Computations, 85–103, 1972.
[13] I. Razgon. Computing minimum directed feedback vertex set in O∗ (1.9977n ). Proceedings
of the 10th Italian Conference on Theoretical Computer Science 70–81, 2007.
4. Ce travail a fait partie d’une publication, voir [8].
Téléchargement