È intuitivo vedere che trovare un percorso hamiltoniano non è in P mentre lo è trovare il percorso di Eulero?


8

Non sono sicuro di vederlo. Da quello che ho capito, bordi e vertici sono complementari l'uno per l'altro ed è abbastanza sorprendente che questa differenza esista.

C'è un modo buono / veloce / facile per vedere che in effetti trovare un sentiero hamiltoniano dovrebbe essere molto più difficile che trovare un percorso di Eulero?


1
Non sappiamo se Hamiltonian Path sia o meno in P.
Raffaello

Risposte:


12

Forse la seguente prospettiva aiuta:

Quando stai cercando di costruire un percorso euleriano, puoi procedere quasi avidamente. Devi solo iniziare il percorso da qualche parte e provare a camminare il più a lungo possibile. Se rilevi un cerchio, ne eliminerai i bordi (ma registrerai che questo cerchio è stato costruito). In questo modo decomponi il grafico in cerchi, che può essere facilmente combinato con un tour euleriano. Il punto è che nessuna delle tue decisioni "come attraversare il grafico" può effettivamente essere sbagliata. Avrai sempre successo e non rimarrai mai bloccato.

La situazione con i percorsi hamiltoniani è diversa. Ancora una volta, potresti voler costruire un percorso camminando lungo i bordi del grafico. Ma questa volta puoi davvero prendere decisioni sbagliate . Ciò significa che non è possibile continuare il percorso, ma non tutti i vertici sono stati visitati. Quello che puoi fare è tornare indietro. Ciò significa che ripristini alcune delle tue vecchie decisioni e prosegui su un percorso diverso. In sostanza, tutti gli algoritmi noti per il problema generale si basano in un modo o nell'altro sul back-tracking o sulla sperimentazione di un ampio set di soluzioni. Questo, tuttavia, è caratteristico per problemi NP-completi.

Quindi linea di fondo (semplificata): il percorso euleriano non richiede alcun back-tracking, ma il percorso Hamiltoniano lo fa.

(Si noti che potrebbe essere che P = NP e in questo caso esisterebbe un algoritmo di percorso Hamiltoniano intelligente .)


1
La mia risposta è più di una risposta istintiva. Questo è probabilmente più qualcosa che l'OP sta cercando.
Juho,

1
no, non sappiamo se HamPath richiede backtracking!
Kaveh,

2
@Kaveh: lo so. Ecco perché ho scritto "... tutti gli algoritmi noti per il problema generale ...". E ho anche detto linea di fondo semplificata . Ad ogni modo, ho riformulato leggermente l'ultima affermazione.
A.Schulz,

5

Un altro dettaglio che può aiutare il tuo intuito è che esiste un ciclo di Eulero se e solo se ogni vertice ha un grado pari. Un teorema simile esiste per i percorsi di Eulero. Ciò deriva da una dimostrazione abbastanza semplice: in pratica, ogni volta che visiti un vertice, devi quindi lasciarlo, quindi ogni "visita" ne prende due dal grado del vertice. Questo non spiega perché il percorso hamiltoniano sia difficile (cosa che, ovviamente, non sappiamo nemmeno realmente), ma aiuta a spiegare perché trovare un percorso di Eulero sia facile.

Victor Adamchik dà una spiegazione OK della prova. La maggior parte dei libri di matematica / teoria dei grafi probabilmente avrà anche una prova che potresti trovare più facile.

Le altre risposte danno una buona intuizione sul perché una prova così semplice non sembra funzionare per i cicli di Hamilton.


2

"È intuitivo vedere che trovare un percorso hamiltoniano non è in P mentre lo è trovare il percorso di Eulero?"

I presupposti nella tua domanda non sono corretti.

Si noti che non sappiamo cheHun'mPun'th non è dentro P! Qualcuno un giorno potrebbe trovare una caratterizzazione molto intelligente diHun'mPun'th (simile alla caratterizzazione di EulerPun'th come avere gradi pari) che lo metterebbe dentro P.

Molte persone credono che non ci siaPma non è dimostrato. Gli argomenti (non la prova!) Per cui è improbabile che ci sianoP è lo stesso degli argomenti per PNP e molti di loro non parlano molto Hun'mPun'th stesso diverso dal fatto che lo sia NP-complete.

Ora potresti chiederti perché Hun'mPun'th è NP-complete ma non possiamo dimostrarlo EulerPun'th è NP-complete? Perché qualcuno ha trovato una sua caratterizzazione che è dentroP e quindi la risposta sarebbe simile al perché lo crediamo PNP quindi è improbabile (ma non provato!) quello EulerPun'th è NP-complete.


0

Ecco un modo rapido per vederlo. Il problema HAM-PATH èNP-completo, quindi attualmente non lo facciamo se può essere risolto in tempo polinomiale o no. Almeno nessuno ha escogitato un simile algoritmo. D'altra parte, il problema del percorso euleriano è evidentementePpoiché abbiamo algoritmi temporali polinomiali per esso. UnNP-completo problema come HAM-PATH finora ha resistito agli attacchi, quindi questo è un modo immediato di vedere o credere che sia più difficile di un problema in P, diciamo trovare un percorso euleriano.

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.