Sembra che il problema è in . Ecco un algoritmo.NL
In primo luogo, indeterminatamente indovinare un percorso da a t . Se indovini in modo errato, rifiuta . Chiamare questo algoritmo A .stA
Si consideri il seguente algoritmo non deterministico , che determina se esistono almeno due percorsi. Dato un grafico e s , t , per tutte le coppie di bordi distinti e , f , indovina un percorso da s a t che include e ma non f , quindi indovina un percorso da s a t che include f ma non e . Se le ipotesi sono corrette, accetta . Se non si verifica alcuna accettazione per tutte le scelte di e ed f , rifiutare . Nota BBs,te,fstefstfeefB è implementabile in uno spazio log non deterministico.
Ora, l'insieme è l'insieme di grafici s - t con almeno due percorsi da s a t . Poiché N L = c o N L , il complemento di B è anche in N L , vale a dire, possiamo determinare se s e t hanno meno di due percorsi, nello spazio log non deterministico.L(B)ststNL=coNLBNLst
L'algoritmo finale è: "Esegui Se A accetta, esegui il complemento di B e invia la sua risposta."AAB
Non conosco un riferimento.
AGGIORNAMENTO: Se vuoi davvero un riferimento, dai un'occhiata al primo paragrafo della Sezione 3 di questo documento . Ma questo è probabilmente solo uno dei tanti riferimenti che citano questa conseguenza. Sarebbe più ragionevole chiamare il risultato "folklore" piuttosto che citare un articolo che sembra menzionarlo.
AGGIORNAMENTO 2: Supponiamo che tu voglia determinare se esiste un percorso semplice univoco. In tal caso, l'algoritmo non deve cambiare: se esiste un percorso, esiste un percorso semplice. Credo che la seguente modifica lavorerà per l'algoritmo B .AB
Vogliamo riscrivere l'algoritmo modo che accetti se ci sono almeno due percorsi semplici.B
PstePstePPP. (Questo algoritmo viene utilizzato per il problema "secondi percorsi più brevi".)
NLNLePePste
NLi=1,…,nistNL=coNL
Ecco uno schizzo dell'oracolo del percorso.
kstk=1,…,nNL=coNL
u:=sx:=1j:=k
vu
vtj−1NL=coNLstj−1
Se non è presente alcun percorso, passare al vicino successivo. Se hai esaurito tutti i vicini, respingi .
x=i(u,v)istxju:=vv≠t
x<itii
iiPst