Percorso semplice su dag con bordi all'indietro


10

Qual è la complessità del seguente problema ( P? NP-hard?):

Ingresso: un grafo aciclico diretto , un insieme di archi all'indietro , e due nodi distinti e .D=(V,E)s tEV×Vst

Domanda: Let denota il grafico formato aggiungendo a i bordi da . Esiste un semplice percorso da a in che utilizza almeno un bordo all'indietro?D E s t GG=(V,EE)DEstG

Nota: 0) Un percorso semplice è un percorso in cui non si ripete nessun vertice, Un bordo all'indietro è un bordo che contraddice l'ordine parziale implicito dal DAG. 1) il problema è semplice se si richiede al percorso semplice di utilizzare esattamente un bordo all'indietro (o un numero costante) mediante una banale riduzione al problema del percorso disgiunto, che ammette una semplice soluzione PTime nei DAG ( Perl e Shiloach, JACM'78 ) 2) il problema del percorso disgiunto è NP-completo nei grafici generali ( Fortune et al., TCS'80 ).


1
Questo sicuramente non è ottimale, ma è sufficiente per dimostrare che il tuo problema è in P (a meno che non abbia frainteso qualcosa): lascia che siano i bordi di ; applica un algoritmo di percorso più breve da to al grafico per . In altre parole, continua ad aggiungere un bordo scelto da al grafico fino a trovare un percorso da a . E s t G i = ( V , E 'i j = 1 { e j } ) i = 1 , 2 , . . . , m E G = ( V , E ) s te1,...,emEstGi=(V,Ej=1i{ej})i=1,2,...,mEG=(V,E)st
Marzio De Biasi,

1
Marzio: ma se il percorso che trovi utilizza solo i bordi in e nessuno in ? Potrebbe esistere ancora un percorso diverso che include anche un bordo di . E E EEE
David Eppstein,

La cosa molto fastidiosa del tuo problema è che il seguente problema correlato è facilmente considerato NP-difficile: dato un grafico e due coppie di vertici (s, t), (s ', t'), per determinare se ci sono vertici disgiunti percorsi da s a t e da s 'a t', anche quando t = s ', e persino su grafici che rappresentano l'unione di due DAG. Tuttavia, questo non sembra aiutare per la domanda che fai.
a3nm,

1
Il problema dei percorsi disgiunti è W [1] -hard anche sui DAG, ed è un compito da casa dimostrare che NP-Hard nei DAG. L'algoritmo di Shiloach è per due problemi di percorsi disgiunti, e in qualche modo simile funziona per k problema di percorsi disgiunti nei DAG ma richiede tempo n ^ k. Ma almeno ammette un algoritmo XP per il tuo problema.
Saeed,
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.