Perché il problema di spanning tree con limite di k NP-complete?


12

Il problema dell'albero di spanning limitato a è dove hai un grafico non orientato G ( V , E ) e devi decidere se ha un albero di spanning in modo tale che ogni vertice abbia un grado al massimo di k .kG(V,E)k

Mi rendo conto che per il caso , questo è il problema del percorso hamiltoniano. Tuttavia, ho problemi con i casi in cui k > 2 . Ho provato a pensarci, nel senso che puoi aggiungere più nodi su uno spanning tree esistente dove k = 2 e forse dato che la base è NP completa, l'aggiunta di cose renderà anche NP completa, ma questo non sembra giusto. Sto studiando da solo CS e sto avendo problemi con la teoria, quindi qualsiasi aiuto sarà apprezzato!k=2k>2k=2

Risposte:


9

La domanda è stata posta in precedenza su StackOverflow , dove è stata anche fornita una risposta. L'idea è di collegare ciascun vertice a nuovi vertici. Il nuovo grafico ha un albero di spanning al limite k se il grafico originale ha un percorso hamiltoniano.k2k

(k+1)k1


1

La mia comprensione è che se si dispone di un algoritmo in grado di risolvere il problema dello spanning tree con limiti del k con qualsiasi k, è possibile utilizzare tale algoritmo per risolvere un caso speciale con k = 2, che è essenzialmente un percorso hamiltoniano. Quindi, se il tuo algoritmo può raggiungere il tempo polinomiale, allora può essere usato per risolvere il percorso di Hamilton in tempo polinomiale, il che equivale a risolvere eventuali problemi np-completi in tempo polinomiale. Quindi il problema dell'albero di spanning limitato a k deve essere np-complete. Nota che questa è un'idea generale, non una prova completa.

Nota anche che essere np-complete non significa che non ci siano algoritmi temporali polinomiali in grado di risolvere il problema. Nessuno lo ha ancora dimostrato. Significa solo che tutti i problemi np-complete sono ugualmente difficili e se uno può essere risolto in tempo polinomiale, allora tutti possono essere risolti in tempo polinomiale.

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.