Il problema del percorso più lungo è più semplice del problema del percorso più lungo?


14

Il problema del percorso più lungo è NP-difficile. La dimostrazione (tipica?) Si basa su una riduzione del problema del percorso hamiltoniano (che è NP-completo). Nota che qui il percorso è considerato (nodo-) semplice. Cioè, nessun vertice può verificarsi più di una volta nel percorso. Ovviamente è quindi anche edge-simple (nessun bordo si verificherà più di una volta nel percorso).

Quindi cosa succederebbe se eliminassimo la necessità di trovare un percorso (nodo-) semplice e ci attenessimo alla ricerca di un percorso semplice (sentiero). A prima vista, poiché trovare un sentiero euleriano è molto più facile che trovare un sentiero hamiltoniano, si potrebbe sperare che trovare il sentiero più lungo sia più facile che trovare il sentiero più lungo. Tuttavia, non riesco a trovare alcun riferimento a dimostrazione di ciò, figuriamoci uno che fornisce un algoritmo.

Si noti che sono a conoscenza dell'argomento presentato qui: /programming/8368547/how-to-find-the-longest-heaviest-trail-in-an-undirected-weighted-graph Tuttavia, l'argomento sembra imperfetto nella sua forma attuale, in quanto mostra fondamentalmente che potresti risolvere il caso semplice del limite risolvendo il caso semplice del nodo su un grafico diverso (quindi la riduzione è sbagliata). Non è chiaro che la riduzione potrebbe essere facilmente modificata per funzionare anche nell'altro modo. (Tuttavia, mostra che almeno il problema dei percorsi più lunghi non è più difficile del problema dei percorsi più lunghi.)

Quindi ci sono risultati noti per trovare percorsi più lunghi (percorsi semplici)? Complessità (classe)? Algoritmo (efficiente)?


Questo non è esattamente lo stesso problema, ma dai un'occhiata al problema Estensione minima euileriana che è abbastanza simile.
RB

10
Forse non ho capito bene la domanda, ma il percorso hamiltoniano è NP completo anche su grafici cubici, poiché ogni attraversamento di un nodo richiede due bordi non c'è modo di riutilizzare un nodo due volte anche se rilassiamo la condizione dal nodo semplice percorsi per percorsi semplici; quindi il problema del percorso hamiltoniano rimane NP-completo.
Marzio De Biasi,

3
@Bangye: ok ma nei grafici cubi se un nodo viene attraversato una volta, allora devono essere usati 2 bordi ... e il nodo non può essere attraversato di nuovo (perché c'è solo un bordo non attraversato). Quindi nei grafici cubici i nodi non possono essere "ripetuti" (tranne l'ultimo bordo del sentiero che può essere incidente a un nodo già attraversato)
Marzio De Biasi

1
Ecco il riferimento: AA Bertossi, The edge hamiltonian path problem is NP-complete, Information Processing Letters, 13 (1981) 157-159.
Lamine,

1
@Lamina: grazie per il chiarimento. Non penso che tu debba cancellare i tuoi commenti perché sarebbe molto naturale inventare prima un'idea simile e vedere che non funziona è davvero utile.
Yota Otachi,

Risposte:


21

Dai commenti sopra: il problema del ciclo hamiltoniano rimane NP-completo anche nei grafici a griglia con grado massimo 3 [1], ma in questi grafici ogni attraversamento di un nodo richiede due bordi e al massimo un bordo rimane inutilizzato, quindi un nodo non può essere attraversato due volte da un sentiero euleriano.

Quindi a quanto pare c'è una riduzione immediata dal problema del ciclo hamiltoniano al tuo problema: dato un grafico a griglia con massimo grado 3 , basta chiedere una scia di lunghezza | V | .sol=(V,E)|V|

Ma tutti e tre i bordi del nodo alla fine del sentiero possono essere usati; per evitare questa situazione puoi scegliere il nodo in alto a sinistra del grafico a griglia (che ha il secondo grado) e aggiungere due nodi: V = V { u , u } e un nuovo bordo E = E { ( u , u ) , ( u , u ) } e chiedi una scia di lunghezza | V | = | V | +uV'=V{u',u"}E=E{(u,u'),(u,u")} : informalmente il bordo aggiunto costringe u , u ad essere i punti finali del percorso.|V'|=|V|+2u',u"

[1] Christos H Papadimitriou, Umesh V Vazirani, Su due problemi geometrici legati al problema del commesso viaggiatore, Journal of Algorithms, Volume 5, Numero 2, Giugno 1984, Pagine 231-246, ISSN 0196-6774


|E||V|

1
|E|O(1)|V|u',u"
Marzio De Biasi,
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.