Camminata casuale e tempo medio di risposta in un semplice grafico non orientato


10

Sia un semplice grafico non orientato su vertici e bordi.n msol=(V,E)nm

Sto cercando di determinare il tempo di esecuzione atteso di algoritmo di Wilson per la generazione di un albero di copertura casuale di . Qui, viene mostrato come , dove è il tempo medio di risposta : dove:O ( τ ) τ τ = v V π ( v ) H ( u , v ) ,solO(τ)τ

τ=ΣvVπ(v)H(u,v),
  • π è la distribuzione stazionaria ,π(v)=d(v)2m
  • è un vertice arbitrario eu
  • è iltempo dirisposta (tempo diaccessoAKA), ovvero il numero previsto di passaggi prima dellavisita delvertice v , a partire dal vertice u .H(u,v)vu

Qual è il limite superiore generale per il tempo medio di risposta? E qual è il grafico del caso peggiore che massimizza il tempo medio di risposta?sol


Per chiarire la mia domanda, non ho bisogno di calcoli o di una prova dettagliata (sebbene possano essere utili per altre persone che incontreranno questa domanda in futuro). Personalmente, una citazione sarebbe sufficiente.

L'articolo menziona un altro algoritmo di Broder che funziona nel tempo di copertura previsto (la prima volta che tutti i vertici sono stati visitati). Quindi si dice che significa che il tempo di colpire è sempre inferiore al tempo di copertura. Tuttavia, fornisce solo un limite asintotico di per la maggior parte dei grafici (ovvero i grafici di espansione ) per contrastarlo con Θ ( n log n ) di Broder per la maggior parte dei grafici (con una definizione un po 'più inclusiva della maggior parte ).Θ(n)Θ(nlogn)

Fornisce un esempio di un grafico in cui il tempo medio di risposta è e il tempo di copertura è Θ ( n 3 ) . Mentre questo è noto per essere il caso peggiore per quest'ultimo, non dice specificamente nulla sul caso peggiore del primo. Ciò significherebbe che il caso peggiore per l'algoritmo di Wilson potrebbe cadere tra O ( n 2 ) e O ( n 3 ) .Θ(n2)Θ(n3)O(n2)O(n3)

Sono a conoscenza di due implementazioni pubblicamente disponibili dell'algoritmo di Wilson. Uno è nella libreria dei grafici Boost , mentre il secondo è nello strumento grafico . La documentazione della prima non menziona il tempo di esecuzione, mentre la seconda afferma:

Il tempo di esecuzione tipico per i grafici casuali è .O(nlogn)

Il che non risponde alla domanda e in realtà sembra incoerente con il documento di Wilson. Ma lo riporto per ogni evenienza, per risparmiare tempo a chiunque abbia la stessa idea di consultare la documentazione di implementazione.

Inizialmente avevo sperato che il caso peggiore potesse essere raggiunto da un grafico costruito collegando un percorso a una cricca, a causa di Lovász , dove il tempo di colpire può essere alto quanto . Tuttavia, la probabilità di questo evento è di circa 1Ω(n3) quando si selezionano i vertici dalla distribuzione stazionaria. Conseguentemente restituendo unO(n2)legato per il tempo medio di colpire in questo grafico.1nO(n2)

Una carta da Brightwell e Winkler mostra che un sottogruppo di grafici lollipop massimizza il tempo di colpire previsto, raggiungendo . Anche il grafico di Lovász è un grafico lecca-lecca, ma in questo caso la dimensione della cricca è 24n3/27, anziché la metà. Tuttavia, è necessario fare attenzione a non confondere il tempo previsto di colpire con il tempo medio di colpire. Questo risultato, come il precedente, si riferisce al tempo di percussione previsto per due vertici specifici scelti in precedenza.23n


2
Grazie per aver individuato questo errore nella documentazione di Graph-Tool! In effetti per i tipici grafici casuali il tempo medio di risposta è (vedi ad es. Arxiv.org/abs/1003.1266 ), non O ( n log n ) . Questo sarà corretto nella prossima versione. (Nota anche che lo strumento grafico utilizza la Libreria dei grafici Boost sottostante, quindi non sono implementazioni veramente distinte.)O(n)O(nlogn)
Tiago Peixoto,

1
@Tiago sono felice di contribuire! Grazie per il tuo commento. Potresti anche essere interessato a menzionare il tempo previsto nel caso peggiore (per quanto improbabile), dal momento che ho aggiornato la mia risposta con una risposta di David Wilson.
Arekolek,

Risposte:


11

Ho deciso di chiedere a David Wilson stesso, subito dopo ho ricevuto una risposta:

nΘ(n3)n/3n/3H(X,y)XyH(X,y)XyX

C'è anche una prova di questo fatto nel libro di cui sopra, che va così:

n=2n1+n2n1vlvLvRvrvL-w1-wn2-vR

n1vL1n1w1n12w1w11n2n12n2

n1=n2=n/3O(n3)

Certo, mi sono perso nel punto in cui affermano:

w11n2

(n+1)354

Tuttavia, i commenti sulla prova informale sono ancora ben accetti.


3

In un recente articolo , abbiamo trovato un limite superiore di mn (nessuna grande O) sul numero atteso di "cicli saltati" dall'algoritmo di Wilson ed è strettamente legato alle costanti. Non risponde direttamente alla domanda sul tempo di esecuzione degli algoritmi di Wilson poiché la dimensione media dei cicli saltati non sembra ovvia. D'altra parte, non ho abbastanza "reputazione" per lasciare un commento ...

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.