L'algorithme de Christofides est un algorithme d'approximation pour le problème du voyageur de commerce, dans le cas métrique, et que l'inégalité triangulaire est respectée. L'analyse de cet algorithme est due à Nicos Christofides and Anatoliy I. Serdyukov, qui l'ont découvert indépendamment en 1976....
Problème du voyageur de commerce métrique
Le problème du voyageur de commerce (dans sa version optimisationAu sens de problème d'optimisation par contraste avec le problème de décision associé.) est le problème suivant : étant donné un ensemble de villes reliées entre elles par des routes, trouver l'itinéraire le plus court passant par chaque ville une et une seule fois. En termes de graphe, on cherche le cycle hamiltonien le plus court. C'est un problème d'optimisation NP-difficile classiquePrésent notamment dans la liste des 21 problèmes NP-complets de Karp : . .
Plusieurs cas particuliers ont été étudiés, notamment le cas dit « métrique » où les arêtes respectent l'inégalité triangulaire c'est-à-dire que pour tout triplet de sommet , on a .
Algorithme Dans le cas général, cet algorithme est en fait une heuristique, cependant dans le cas métrique, on peut montrer que la solution est au plus 3/2 fois plus longue que l'optimal. On dit que le facteur d'approximation est de 3/2.
L'algorithme résout deux sous-problèmes considérés «faciles», car appartenant à la classe P : le problème de l'arbre couvrant de poids minimalPour lequel on peut utiliser par exemple les algorithmes polynomiaux de Prim, Kruskal ou Borůvka. et celui du couplage de poids minimumPar exemple avec l'algorithme d'Edmonds pour les couplages..
Pseudo-code En pseudo-codeAdapté de . : Calculer un arbre couvrant de poids minimal de ; Soit l'ensemble des sommets de degré impair dans , calculer un couplage parfait de poids minimum dans le sous-graphe induit par les sommets de ; On définit un multigraphe à partir des arêtes issues de et ; Trouver un cycle eulérien dans (H est eulérien car il est connexe et tous les sommets sont de degré pair) ; Transformer le cycle eulérien en un cycle hamiltonien en supprimant les éventuels passages en double sur certains sommets.
Exemple
160px Étant donné un graphe dont les poids respectent l'inégalité triangulaire.160px Calculer un arbre couvrant de poids minimum .160px Calculer l'ensemble des sommets de degrés impairs dans .160px Considérer le graphe induit par ().160px Calculer un couplage de poids minimum dans .160px Faire l'union du couplage et de l'arbre couvrant ().160px Calculer le tour eulérien sur : (A-B-C-A-D-E-A).160px Enlever les sommets qui apparaissent deux fois : (A-B-C-D-E-A). Ce cycle est la sortie de l'algorithme.
Facteur d'approximation dans le cas métrique Soit le cycle hamiltonien de poids minimum, et son poids.
L'arbre couvrant de poids minimum est de poids inférieur ou égal au poids de U (c'est-à-dire ), car en enlevant une arête au cycle on obtient un arbre couvrant.
Le couplage trouvé par l’algorithme est de poids inférieur ou égal à . En effet, si on considère le cycle hamiltonien de poids minimum sur le sous graphe induit par les sommets de degré impair, on a un poids inférieur ou égal à du fait de l'inégalité triangulaire, et en prenant une arête sur deux de ce cycle (qui est de longueur paire puisque constitué d'un nombre pair de sommets) on obtient un couplage qui est de poids inférieur à la moitié du poids du cycle (si ce n'est pas le cas on peut prendre le complémentaire).
D'où un poids final majoré par : noter que la transformation du cycle eulérien en cycle hamiltonien ne peut pas faire croître le poids grâce à l'inégalité triangulaire.
Complexité de l'algorithme
L'algorithme a une complexité cubique.
Variantes
Pour le problème du chemin hamiltonien (Path TSP), qui est la variante du problème du voyageur de commerce où un départ et une arrivée sont imposées, des variantes de l'algorithme de Christofides sont utilisées pour obtenir de bonnes approximations.
Contexte et historique
Le problème dans le cas métrique est APX-difficile, même avec des poids 1 ou 2Voir . Dans le cas des poids 1-2, l'article montre aussi que l'on peut obtenir une meilleure approximation : 7/8., ce qui empêche l'existence d'un schéma d'approximation en temps polynomial. Le facteur de 3/2 est en fait le meilleur facteur connuLe problème du voyageur de commerce métrique (Minimum metric traveling salesperson) sur le Compendium of NP optimization problems..
Dans son article, Christofides a amélioré le facteur d'approximation du problème de 2 à 3/2. Il a en fait affiné l'algorithme précédent qui consistait à construire un arbre couvrant minimal et à le parcourirUne description précise et un survey sur le TSP peuvent être trouvés dans ..
Depuis les années de 2010, une nouvelle approche basée sur l'algorithme, appelée best-of-many, a permis de faire avancer certains cas particuliers et se révèle plus efficace dans la pratique. Elle consiste schématiquement à utiliser l'algorithme de Christofides, sur plusieurs instances définies à partir d'une solution à la relaxation de Held et KarpVoir l'article Problème du voyageur de commerce..
Notes et références
Bibliographie
Liens externes
Le problème du voyageur de commerce métrique (Minimum metric traveling salesperson) sur le Compendium of NP optimization problems.
Christofides