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].