Un problema di ottimizzazione continua che si riduce a TSP


11

Supponiamo che io sono dato un insieme finito di punti nel piano e ha chiesto di tracciare una curva C ( P ) doppiamente differenziata attraverso le p i , in modo che il suo perimetro sia il più piccolo possibile. Supponendo che p i = ( x i , y i ) e x i < x i + 1 , posso formalizzare questo problema come:p1,p2,..pnC(P)piopi=(xi,yi)xi<xi+1

Problema 1 (modificato in risposta ai commenti di Suresh) Determina le funzioni x ( t ) , y ( t ) di un parametro t tale che la lunghezza d'onda L = [ t 0 , 1 ] C2x(t),y(t)t è ridotto a icona, conx(0)=x1,x(1)=xne per tuttoti:x(ti)=xi, abbiamoy(ti)=yi).L=[t0,1]x2+y2dtx(0)=x1,x(1)=xnti:x(ti)=xiy(ti)=yi)

Come posso dimostrare (o forse rifiutare) che il Problema 1 è NP-difficile?

Perché sospetto che la durezza NP supponga che l' assunzione di sia rilassata. Evidentemente, la funzione di minima lunghezza di un arco è il tour del commesso viaggiatore della p i s'. Forse il vincolo C 2 rende il problema molto più difficile?C2pioC2

Contesto Una variante di questo problema è stata pubblicata su MSE . Non ha ricevuto risposta né lì né su MO . Dato che non è banale risolvere il problema, voglio stabilire quanto sia difficile.


1
Il vincolo che sembra rendere il problema molto più semplice. In particolare, se ora si elimina il vincolo C 2 , perché questo problema non è banalmente risolto perché si collegano i punti con linee rette? Xio<Xio+1C2
Suresh,

1
Questa non è una funzione. Se si "gira" da a p 2 , con il vincolo che x 1 < x 2 < x 3 , la curva intersecherà due volte una linea verticale. p3p2X1<X2<X3
Suresh,

1
Non è chiaro, devi indicare cosa intendi per "determinare" qui. Non è una terminologia standard. Non è nemmeno un problema decisionale, quindi usare il termine NP-hard non ha senso.
Kaveh,

1
@Suresh, puoi espandere la parte di output? Immagino che tu intenda emettere il nome di una maledizione da un insieme numeroso di curve. Si noti che in quel caso, non è chiaro che la curva ottimale sarà sempre di quella classe. D'altra parte, se intendiamo trovare la migliore o una buona tra quelle (o un'approssimazione fino ad un determinato parametro alla curva ottimale), allora la classe di curve parametriche dovrebbe essere specificata, altrimenti la domanda è incompleta e non può essere risposta.
Kaveh,

1
L'input / output non è più un oggetto finito, ad esempio se si ha veramente a che fare con numeri / funzioni reali, il problema è di tipo superiore. Ogni infinito oggetto è dato da una serie infinita di approssimazioni all'oggetto desiderato. La pagina della rete CCA contiene più collegamenti se sei interessato.
Kaveh,

Risposte:


12

Il requisito di differenziabilità non cambia la natura del problema: richiedere (continuità) o C (infinita differenziabilità) fornisce lo stesso limite inferiore per la lunghezza e lo stesso ordine di punti ed equivale a risolvere il problema del commesso viaggiatore .C0C

Se hai una soluzione per il TSP, hai una curva che attraversa tutti i punti. Al contrario, supponiamo di avere una curva C 0 di lunghezza finita che attraversa tutti i punti e che p σ ( 1 ) , ... , p σ ( n ) sia l'ordine in cui attraversa i punti e t 1 , ... , t n i parametri corrispondenti (se la curva attraversa un punto più di una volta, selezionare uno qualsiasi dei possibili valori di t ). Quindi la curva costruita da n segmenti [C0C0pσ(1),,pσ(n)t1,,tntn[pσ(1),pσ(2)],,[pσ(n1),pσ(n)],[pσ(n),pσ(1)]è più corto, perché per ogni segmento una linea retta è più corta di qualsiasi altra curva che collega il punto. Pertanto, per ogni ordinamento dei punti, la curva migliore è una soluzione TSP e la soluzione TSP fornisce il miglior ordinamento dei punti.

Mostriamo ora che richiedere che la curva sia (o C k per qualsiasi k ) non modifica il miglior ordinamento dei punti. Per qualsiasi soluzione TSP di lunghezza totale ed ogni ε > 0 , possiamo dietro ogni angolo, cioè costruire un C curva che attraversa i punti nello stesso ordine e ha una lunghezza di al massimo + ε (la costruzione esplicita si basa su funzioni algebriche ed e - 1 / t 2 per definire le funzioni di rilievo e da quelle connessioni lisce tra segmenti di curva comeCCkkϵ>0C+ϵe1/t2 che si collega con y = 0 in x = 0 e con y = x in x = 1 ; è noioso renderli espliciti, ma sono calcolabili); quindi, il limite inferiore per un C curva è la stessa per un insieme di segmenti (nota che il limite inferiore non viene raggiunto in generale).e11/x2(xe1/(1x)2)y=0x=0y=xx=1C


Questo è esattamente l'argomento che stavo cercando da molto tempo! Puoi darci un riferimento per la noiosa costruzione?
PKG

1
Questo non è del tutto rigoroso, soprattutto perché sul piano è possibile ottenere un'approssimazione arbitrariamente buona a TSP in tempo polinomiale.
Suresh,

Pensavo che potessi approssimare il TSP solo entro un fattore 2 in poly time?
PKG

@PKG La costruzione probabilmente ha un nome, ma temo che le mie classi di calcolo fossero troppo tempo fa per me da ricordare. Ho appena ricordato che la connessione di base si chiama funzione bump.
Gilles 'SO- smetti di essere malvagio' il

1
Non è un errore di per sé. La riduzione è approssimativa, fino a un termine di errore . Questo è importante, perché la riduzione potrebbe essere costosa (cioè esponenziale in 1 / ϵ ). Quindi la riduzione non è esatta. @PKG puoi approssimare TSP al fattore 3/2 negli spazi metrici generali e chiudere arbitrariamente (entro 1 + ϵ ) nel piano o in qualsiasi spazio euclideo. ϵ1/ϵ1+ϵ
Suresh,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.