Il primo passo supponiamo che il grafico abbia un numero pari di vertici. Nella seconda fase, estenderemo la costruzione, in modo che se k è pari, mostreremo come trasformare il grafico in un numero dispari di vertici.
La soluzione è un perfezionamento dell'idea suggerita nell'altra risposta.
Prima parte
Reclamo: dato un grafico -regolare G con numero pari di vertici, si può calcolare un grafico H che è ( k + 1 ) -regolare, e H è hamiltoniano se G è hamiltoniano.KsolH( k + 1 )Hsol
Ksolsol1sol2v ∈ V( G )v1v2k + 2vv'v''v1v'v2v''. Sia denotare questo componente per .C( v )v
Ripeti l'operazione per tutti i vertici di e lascia che indichi il grafico risultante.solH
Chiaramente, il grafico è regolare. Sosteniamo che è hamiltoniano se e solo se è hamiltoniano.Hk + 1Hsol
Una direzione è chiara. Dato un ciclo Hambiltonian in , possiamo tradurlo in un ciclo in . Infatti, ogni volta che il ciclo visita un vertice , lo interpretiamo come spostandosi da a (o viceversa) mentre visitiamo tutti i vertici in . Come tale, questo si traduce in un ciclo hamiltoniano in . (Nota che è qui che stiamo usando il fatto che il numero originale di vertici è pari - se il ciclo è dispari, questo si interrompe.)solHvv1v2C( v )H
Per quanto riguarda l'altra direzione, si consideri un ciclo hamiltoniano in . Deve essere che sia visitato da una parte del ciclo che inizia in , visita tutti i vertici di e parte da (o dall'opzione simmetrica). In effetti, il ciclo hamiltoniano non può entrare e uscire dalla stessa . Come tale, un ciclo hamiltoniano in come interpretazione naturale come un ciclo hamiltoniano in . QED.HC( v ) C ( v ) v 2 v i H Gv1C( v )v2vioHsol
Seconda parte
Come indicato di seguito da Tsuyoshi ogni grafico a 3 regolari ha un numero pari di vertici. Come tale, il problema è difficile per un grafico a regioni con un numero pari di vertici. Vale a dire, la riduzione di cui sopra mostra che il problema è difficile per qualsiasi grafico regolare, sebbene il grafico risultante abbia un numero pari di vertici.k3K
Osserviamo che ciò implica che il seguente problema è NP-difficile.
Problema A: Decidere se un grafico k-regolare con un numero pari di vertici ha un ciclo hamiltoniano che attraversa un bordo specifico .esole
Tuttavia, se anche a viene fornita un'istanza , possiamo ridurla al problema desiderato. In effetti, sostituiamo il bordo con una cricca di vertici, come prima di eliminare un bordo nella cricca e collegare i suoi due punti finali ai punti finali di( G , e ) e k + 1 eK( G , e )ek + 1e e rimuovere dal grafico. Chiaramente, per il nuovo grafico H :eH
- è k -regolare.HK
- è hamiltoniano se G è hamiltoniano con un ciclo usando e .Hsole
- ha | V ( G ) | + k + 1 vertici => H ha un numero dispari di vertici.H| V(G)|+k+1H
Si noti che un grafico -regolare, per k dispari, deve avere un numero pari di vertici (basta contare i bordi), pertanto non ci sono grafici k -regolari con numero dispari di vertici, con k che è dispari.kkkk
Risultato
È NP-difficile decidere se un grafico regolare ha un ciclo hamiltoniano per k ≥ 3 . Il problema rimane NP-Hard anche se il grafico ha un numero dispari di vertici.kk≥3
Certo, è sempre possibile che abbia fatto uno stupido errore ...
Esercizio
Se vogliamo passare da un grafico -regolare a un grafico che è (diciamo) 2 k -regolare, allora il grafico risultante dall'applicazione ripetuta della riduzione sopra risulta ripetutamente in un grafico con una dimensione che dipende esponenzialmente da k . Mostra che, dato un grafico k -regolare G , e i > 2 , si può costruire un grafico H che è ( k + i ) -regolare e la sua dimensione è polinomiale in k , i e n , dove n è il numero di vertici di G . Inoltre,k2kkkGi>2H(k+i)k,innsol è hamiltoniano se e solo se H è hamiltoniano.solH
(Sto pubblicando questo come un esercizio, non una domanda, poiché so come risolverlo.)