Un problème d'optimisation continue qui se réduit à TSP

11

Supposons que je me donne un ensemble fini de points dans le plan, et a demandé de tracer une courbe C ( P ) deux fois différenciable à travers les p i , de sorte que son périmètre soit aussi petit que possible. En supposant que p i = ( x i , y i ) et x i < x i + 1 , je peux formaliser ce problème comme suit:p1,p2,..pnC(P)pipi=(xi,yi)xi<xi+1

Problème 1 (édité en réponse aux commentaires de Suresh) Déterminer les fonctions x ( t ) , y ( t ) d'un paramètre t tel que l'arclength L = [ t C2x(t),y(t)t est minimisé, avecx(0)=x1,x(1)=xnet pour toutti:x(ti)=xi, on ay(ti)=yi).L=[t0,1]x2+y2dtx(0)=x1,x(1)=xnti:x(ti)=xiy(ti)=yi)

Comment puis-je prouver (ou peut-être réfuter) que le problème 1 est NP-difficile?

Pourquoi je soupçonne la dureté NP Supposons que l' hypothèse soit relâchée. De toute évidence, la fonction de la longueur d'arc minimale est la visite du voyageur de commerce du p iC2pi . Peut-être que la contrainte ne fait que rendre le problème beaucoup plus difficile?C2

Le contexte Une variante de ce problème a été publiée sur MSE . Il n'a pas reçu de réponse là-bas et le MO . Étant donné qu'il n'est pas trivial de résoudre le problème, je veux établir à quel point il est difficile.

PKG
la source
1
La contrainte que semble rendre le problème beaucoup plus facile. En particulier, si vous supprimez maintenant la contrainte C 2 , pourquoi ce problème n'est-il pas résolu de manière triviale car vous connectez les points par des lignes droites? xi<xi+1C2
Suresh
1
Ce n'est pas une fonction. Si vous "bouclez" de à p 2 , sous la contrainte que x 1 < x 2 < x 3 , votre courbe coupera deux fois une ligne verticale. p3p2x1<x2<x3
Suresh
1
Ce n'est pas clair, vous devez indiquer ce que vous entendez par «déterminer» ici. Ce n'est pas une terminologie standard. Ce n'est même pas un problème de décision, donc l'utilisation du terme NP-dur n'a pas de sens.
Kaveh
1
@Suresh, pouvez-vous développer la partie sortie? Je suppose que vous voulez dire sortir le nom d'une malédiction à partir d'un ensemble énumérable de courbes. Notez que dans ce cas, il n'est pas clair que la courbe optimale proviendra toujours de cette classe. D'un autre côté, si nous voulons trouver le meilleur ou le bon entre ceux-ci (ou une approximation jusqu'à un paramètre donné de la courbe optimale), alors la classe des courbes paramétriques doit être spécifiée, sinon la question est incomplète et ne peut pas être répondu.
Kaveh
1
L'entrée / sortie n'est plus un objet fini, par exemple si vous avez vraiment affaire à des nombres / fonctions réels, votre problème est de type supérieur. Chaque objets infinis sont donnés par une série infinie d'approximations à l'objet prévu. La page du réseau de l'ACC contient plus de liens si vous êtes intéressé.
Kaveh

Réponses:

12

L'exigence de différentiabilité ne change pas la nature du problème: exiger (continuité) ou C (différentiabilité infinie) donne la même borne inférieure pour la longueur et le même ordre de points, et équivaut à résoudre le problème du voyageur de commerce .C0C

Si vous avez une solution au TSP, vous avez une courbe qui passe par tous les points. Inversement, supposons que vous ayez une courbe C 0 de longueur finie qui passe par tous les points, et que p σ ( 1 ) , , p σ ( n ) soit l'ordre dans lequel elle parcourt les points et t 1 , , t n les paramètres correspondants (si la courbe traverse un point plusieurs fois, choisissez l'une des valeurs possibles de t ). Ensuite, la courbe construite à partir de n segments [C0C0pσ(1),,pσ(n)t1,,tntn[pσ(1),pσ(2)],,[pσ(n1),pσ(n)],[pσ(n),pσ(1)] is shorter, because for each segment a straight line is shorter than any other curve that connects the point. Thus for every ordering of the points, the best curve is a TSP solution, and the TSP solution provides the best ordering of the points.

Let's now show that requiring the curve to be C (or Ck for any k) doesn't change the best ordering of points. For any TSP solution of total length and any ϵ>0, we can round every corner, i.e. build a C curve that traverses the points in the same order and has a length of at most +ϵ (the explicit construction relies on algebraic functions and e1/t2 to define bump functions and from those smooth connections between curve segments such as e11/x2(xe1/(1x)2) which connects with y=0 at x=0 and with y=x at x=1; it is tedious to make these explicit, but they are computable); hence, the lower bound for a C curve is the same as for a collection of segments (note that the lower bound is not reached in general).

Gilles 'SO- stop being evil'
la source
This is exactly the argument I was looking for , for a long time! Can you give a reference for the tedious construction?
PKG
1
This is not entirely rigorous, especially since in the plane you can get an arbitrarily good approximation to TSP in polynomial time.
Suresh
I thought you could approximate TSP only to within a factor of 2 in poly time?
PKG
@PKG The construction probably has a name, but I'm afraid my calculus classes were too long ago for me to remember it. I've just remembered the basic connection is called a bump function.
Gilles 'SO- stop being evil'
1
It's not a mistake per se. Your reduction is approximate - upto some error term ϵ. This matters, because the reduction might be expensive (i.e exponential in 1/ϵ). So the reduction is not exact. @PKG you can approximate TSP to factor 3/2 in general metric spaces and arbitrarily close (to within 1+ϵ) in the plane or any Euclidean space.
Suresh