Passeggiate aleatorie - rovina del giocatore, 2-SAT e grafi
In questa pagina 5
Le catene di Markov di Catene di Markov - matrice di transizione, classificazione degli stati e distribuzione stazionariaUna catena di Markov a tempo discreto e stati finiti è descritta da una matrice stocastica P: P(X_{n+1}=j | X_n=i)=P_ij, la legge al tempo n è π_0 P^n. Gli stati si classificano in classi comunicanti (irriducibilità), periodo (aperiodicità) e ricorrenza/transitorietà. Una distribuzione stazionaria soddisfa πP=π; per catene finite irriducibili esiste ed è unica, vale π_i=1/h_ii (h_ii = tempo medio di primo ritorno), e se la catena è anche aperiodica P^n converge a una matrice con tutte le righe uguali a π. Le catene reversibili (π_i P_ij = π_j P_ji) hanno stazionaria immediata.Catene di Markov - matrice di transizione, classificazione degli stati e distribuzione stazionaria → applicate a tre problemi: una passeggiata sulla retta con due barriere assorbenti (rovina del giocatore), un algoritmo randomizzato che è una passeggiata sullo spazio delle assegnazioni (2-SAT), e la passeggiata su un grafo (connettività, copertura, PageRank). Prerequisiti: Valore attesoIl valore atteso E[X] = Σ x p_X(x) è la media dei valori di X pesata con le loro probabilità (esiste se la serie converge assolutamente); per una funzione g vale E[g(X)] = Σ g(x) p_X(x) senza trovare la legge di g(X), ed E è lineare: E[aX + bY + c] = aE[X] + bE[Y] + c.Valore atteso →, Distribuzione geometricaGeo(p) è il numero della prova in cui arriva il primo successo in prove indipendenti: P(X = n) = (1−p)^(n−1) p per n ≥ 1, P(X > n) = (1−p)^n (lunga attesa), media 1/p, varianza (1−p)/p², ed è senza memoria.Distribuzione geometrica →, Disuguaglianze di Markov, Chebyshev e JensenMarkov: per X ≥ 0, P(X ≥ a) ≤ E[X]/a; Chebyshev: P(|X − μ| ≥ ε) ≤ Var(X)/ε²; Jensen: per φ convessa, φ(E[X]) ≤ E[φ(X)]. Stimano probabilità e medie conoscendo solo media e varianza.Disuguaglianze di Markov, Chebyshev e Jensen →, Grafi - definizioni e proprietàGrafo G=(V,E) diretto e non diretto, grafo semplice e pesato; incidenza, adiacenza, grado; cammini, cicli, sottografi, grafi connessi e componenti connesse; alberi liberi, foreste, spanning tree e spanning forest; proprietà con dimostrazioni (somma dei gradi = 2m, m <= n(n-1)/2, alberi m = n-1, connessi m >= n-1, foreste m <= n-1).Grafi - definizioni e proprietà →. Per la nozione di algoritmo Monte Carlo a errore unilaterale: Algoritmi randomizzati - Monte Carlo, Las Vegas e amplificazioneUn algoritmo randomizzato usa bit casuali indipendenti; la probabilità è sulle scelte dell'algoritmo, mai sull'input (garanzia per ogni input). Las Vegas: sempre corretto, tempo aleatorio (conta il tempo atteso). Monte Carlo: tempo fisso, risposta sbagliata con probabilità limitata; errore unilaterale (RP: accetta solo se x sta nel linguaggio, accetta con prob almeno 1/2) o bilaterale (BPP: giusto con prob almeno 2/3). ZPP = RP ∩ co-RP = Las Vegas con tempo atteso polinomiale. Amplificazione: unilaterale, k ripetizioni indipendenti, errore (1-p)^k ≤ e^(-pk), serve k ≥ ln(1/ε)/p; bilaterale, voto di maggioranza su k esecuzioni, errore binomiale esatto, esponenziale in k (Chernoff, e^(-k/18) per p=2/3) mentre Chebyshev dà solo 8/k. Las Vegas -> Monte Carlo: interrompere a c volte il tempo atteso (Markov, errore ≤ 1/c). Monte Carlo -> Las Vegas: solo se la risposta si verifica in fretta. Esempio: Miller-Rabin, errore ≤ 1/4 per esecuzione.Algoritmi randomizzati - Monte Carlo, Las Vegas e amplificazione →.
Rovina del giocatore
Problema. Un giocatore ha euro e punta euro a ogni partita: vince con probabilità (guadagna ), perde con . Si ferma quando raggiunge (vittoria) o (rovina). Sia la probabilità di raggiungere prima di partendo da , e il numero medio di partite.
Condizionando al primo passo (stati transitori, e assorbenti):
Soluzione, gioco equo . La prima equazione dice : gli incrementi sono costanti, quindi è lineare, e con , si ha . Per la durata si verifica che soddisfa la ricorrenza: , quindi ✓, con ; la soluzione è unica (sistema lineare con matrice invertibile, transitoria). Dunque .
Esempio. , : , partite. Con , : e partite.
Soluzione, . L'equazione ha equazione caratteristica con radici e (perché ). Quindi , e con , : Per la durata, una soluzione particolare di è (sostituendo: ✓); sommando la soluzione generale dell'omogenea e imponendo :
Esempio. , , : , e partite. Un piccolo vantaggio della banca ( contro ) abbatte la probabilità di vincere da a . Alla roulette (puntando sul rosso ) partendo da per arrivare a la probabilità è con partite in media, ma da a è .
Grafico interattivo: Rovina del giocatore con N = 20: probabilità di arrivare a 20 prima di 0 partendo da i, per p = 0,55 (in alto), gioco equo p = 0,5 (retta) e p = 0,45 (in basso)
Contro una banca infinita (, gioco equo): , cioè la rovina è certa, ma la durata : la rovina arriva quasi certamente, in tempo medio infinito. Questo è il comportamento della passeggiata simmetrica, che è ricorrente ma con tempo medio di ritorno infinito.
2-SAT con una passeggiata aleatoria
Problema. Una formula 2-CNF su variabili è un AND di clausole di due letterali (per esempio ). Si cerca un'assegnazione che le soddisfi tutte. Esiste un algoritmo deterministico lineare (componenti fortemente connesse), ma quello randomizzato è semplicissimo.
Algoritmo (passeggiata per 2-SAT).
- Si parte da un'assegnazione qualunque (per esempio tutte le variabili a ).
- Ripeti al più volte: se tutte le clausole sono soddisfatte, restituisci l'assegnazione; altrimenti scegli una clausola violata, scegli a caso uno dei suoi due letterali e cambia il valore della sua variabile.
- Se dopo passi non si è trovata un'assegnazione, rispondi "non soddisfacibile".
L'errore è unilaterale (Monte Carlo, vedi Algoritmi randomizzati - Monte Carlo, Las Vegas e amplificazioneUn algoritmo randomizzato usa bit casuali indipendenti; la probabilità è sulle scelte dell'algoritmo, mai sull'input (garanzia per ogni input). Las Vegas: sempre corretto, tempo aleatorio (conta il tempo atteso). Monte Carlo: tempo fisso, risposta sbagliata con probabilità limitata; errore unilaterale (RP: accetta solo se x sta nel linguaggio, accetta con prob almeno 1/2) o bilaterale (BPP: giusto con prob almeno 2/3). ZPP = RP ∩ co-RP = Las Vegas con tempo atteso polinomiale. Amplificazione: unilaterale, k ripetizioni indipendenti, errore (1-p)^k ≤ e^(-pk), serve k ≥ ln(1/ε)/p; bilaterale, voto di maggioranza su k esecuzioni, errore binomiale esatto, esponenziale in k (Chernoff, e^(-k/18) per p=2/3) mentre Chebyshev dà solo 8/k. Las Vegas -> Monte Carlo: interrompere a c volte il tempo atteso (Markov, errore ≤ 1/c). Monte Carlo -> Las Vegas: solo se la risposta si verifica in fretta. Esempio: Miller-Rabin, errore ≤ 1/4 per esecuzione.Algoritmi randomizzati - Monte Carlo, Las Vegas e amplificazione →): se la formula non è soddisfacibile non si trova mai nulla e la risposta è corretta; se lo è, si può sbagliare.
Esempio svolto (n = 3). Formula ; soddisfacibile con e (si verificano a mano: con la seconda clausola impone e la terza ; con la prima impone e la terza ). Partenza : la prima clausola è violata (). Si sceglie a caso tra e : sia , si ottiene . Ora la seconda clausola è violata (, ): si sceglie tra e , sia : , e tutte e tre le clausole sono soddisfatte. Trovata in passi. Con altre scelte il cammino è più lungo (per esempio se al secondo passo si sceglie si torna a ).
Analisi
Teorema. Se la formula è soddisfacibile, il numero atteso di passi per trovare un'assegnazione soddisfacente è al più , qualunque sia l'assegnazione iniziale. Quindi con passi la probabilità di errore è al più , e ripetendo blocchi indipendenti di passi è al più .
Dimostrazione. Si fissa un'assegnazione soddisfacente . Sia il numero di variabili in cui l'assegnazione corrente differisce da . Se si è trovata (l'algoritmo può fermarsi prima, su un'altra soluzione). Se e c'è una clausola violata da : soddisfa mentre no, quindi almeno una delle due variabili di differisce da (se entrambe coincidessero con , i due letterali avrebbero lo stesso valore che in e sarebbe violata anche da ). Cambiando una variabile scelta a caso tra le due: Per confronto (si accoppiano i due processi con lo stesso lancio di moneta) il tempo per arrivare a è al più quello della passeggiata simmetrica su con , che scende o sale con probabilità e in è riflessa (). Sia il tempo medio per arrivare a da : Si verifica che : per , , quindi ✓; in : e ✓. Il massimo di su è (in ). Dunque . Per la disuguaglianza di Markov (Disuguaglianze di Markov, Chebyshev e JensenMarkov: per X ≥ 0, P(X ≥ a) ≤ E[X]/a; Chebyshev: P(|X − μ| ≥ ε) ≤ Var(X)/ε²; Jensen: per φ convessa, φ(E[X]) ≤ E[φ(X)]. Stimano probabilità e medie conoscendo solo media e varianza.Disuguaglianze di Markov, Chebyshev e Jensen →), . Dopo ogni blocco di passi, qualunque sia l'assegnazione a cui si è arrivati, la stessa analisi dà fallimento ; i blocchi sono condizionalmente indipendenti, quindi blocchi falliscono con probabilità .
Esempio. Formula su variabili : la soluzione è unica, . Il tempo medio esatto per trovarla (prendendo la prima clausola violata) da distanza vale al massimo , sotto i limiti . Il dettaglio è in Esercizio - Algoritmo randomizzato per 2-SAT eseguito su un'istanza con quattro variabili.
Il caso 3-SAT
Con clausole di letterali una clausola violata ha almeno una variabile sbagliata su tre: la probabilità di avvicinarsi a è solo , quella di allontanarsi . La passeggiata ha deriva verso l'allontanamento e il tempo atteso di arrivo è esponenziale in (la ricorrenza ha soluzione dell'ordine di ). L'idea per migliorare è ripartire spesso: si riparte da un'assegnazione casuale uniforme ogni passi. La distanza iniziale da una soluzione è (ogni variabile è giusta con probabilità ). Da distanza si arriva a in passi se passi sono giusti e sbagliati (differenza ): la probabilità è almeno , calcolata per la passeggiata che scende con probabilità esattamente (la vera è più favorevole, per confronto). Sommando su con peso , la probabilità di successo di un tentativo vale , e numericamente a meno di un fattore polinomiale:
| 10 | 0,0163 | 0,0563 | 61 |
| 20 | 1619 | ||
| 30 | 35 617 | ||
| 50 |
Servono in media tentativi: un algoritmo di tempo per 3-SAT, molto meglio di (enunciato senza la dimostrazione completa della stima polinomiale; i valori della tabella sono calcolati con la formula esatta).
Passeggiata aleatoria su un grafo
Sia un grafo non orientato connesso con vertici e archi (Grafi - definizioni e proprietàGrafo G=(V,E) diretto e non diretto, grafo semplice e pesato; incidenza, adiacenza, grado; cammini, cicli, sottografi, grafi connessi e componenti connesse; alberi liberi, foreste, spanning tree e spanning forest; proprietà con dimostrazioni (somma dei gradi = 2m, m <= n(n-1)/2, alberi m = n-1, connessi m >= n-1, foreste m <= n-1).Grafi - definizioni e proprietà →). La passeggiata aleatoria sta in un vertice e passa a un vicino scelto uniformemente: se .
Teorema. La passeggiata su connesso è una catena irriducibile. Ha come unica distribuzione stazionaria e tempo medio di ritorno . È aperiodica se e solo se non è bipartito.
Dimostrazione. Si ha , quindi è una distribuzione. Per ogni arco : : bilancio dettagliato, quindi è stazionaria; l'unicità e seguono dal teorema fondamentale. Se è bipartito i cammini chiusi hanno lunghezza pari (periodo ); se contiene un ciclo dispari insieme ai cammini di andata e ritorno su un arco (lunghezza ) il vale .
Grafico interattivo: Grafo con triangolo {1,2,3} e coda 3-4-5: m = 5 archi, gradi 2, 2, 3, 2, 1; passeggiata con pi = (0,2; 0,2; 0,3; 0,2; 0,1)
Esempio. Nel grafo del disegno (triangolo con coda ) , , tempi di ritorno . Il nodo (foglia) si rivisita ogni passi, il nodo (il più connesso) ogni .
Tempi di raggiungimento e di copertura
Sia il tempo medio per andare da a () e il tempo di copertura: il massimo, sulle partenze, del tempo medio per visitare tutti i vertici.
Lemma. Per ogni arco vale .
Dimostrazione. Il tempo di ritorno in si scrive condizionando sul primo passo: . Moltiplicando per : . Ogni addendo è , quindi .
Teorema (copertura). .
Dimostrazione. Si prende un albero di copertura di (esiste perché è connesso) e la visita in profondità di che parte da e ritorna in : percorre ogni arco dell'albero una volta per verso, cioè passaggi tra vertici adiacenti, e visita tutti i vertici. La passeggiata aleatoria da , per visitare tutti i vertici, ha tempo medio al più (il tempo per toccare in ordine questi vertici), e per il lemma ciascun addendo è : totale .
(Con l'identità del tempo di pendolarismo , dove è la resistenza efficace tra e con archi da , si migliora a ; qui si è usata solo la dimostrazione elementare.)
Esempio (grafo del disegno). I tempi di raggiungimento di valgono , , (a mano, con : , , con per simmetria, quindi , , , , ). Il tempo di pendolarismo tra e è , uguale a perché . Il tempo di copertura esatto da è (sistema lineare sugli stati (insieme visitato, posizione)), molto sotto .
| grafo | o copertura | ordine di grandezza |
|---|---|---|
| cammino di vertici | ||
| completo | , copertura (collezionista di figurine, Linearità del valore atteso e variabili indicatriciLa linearità $E[X+Y]=E[X]+E[Y]$ vale sempre, anche senza indipendenza; con le variabili indicatrici ($E[I_A]=P(A)$) trasforma un conteggio in una somma di probabilità. Applicazioni: attesa del primo successo $1/p$, collezionista di figurine $nH_n$, punti fissi di una permutazione (media $1$), record (media $H_n$), inversioni ($n(n-1)/4$), attesa condizionata, identità di Wald $E[S_N]=E[N]E[X]$.Linearità del valore atteso e variabili indicatrici →) | |
| lollipop (clique di vertici e cammino di ) | dalla clique alla fine del cammino | (massimo possibile) |
Il caso del lollipop è il peggiore: per i tempi esatti sono , e , cioè , , , che tende a .
Connettività s-t in spazio logaritmico
Problema (UST-CONN). In un grafo non orientato con vertici, e sono nella stessa componente connessa?
Algoritmo. Fai una passeggiata aleatoria da di passi; se incontri rispondi "sì", altrimenti "no".
Se e non sono connessi la risposta è sempre corretta. Se lo sono, il tempo medio per raggiungere è al più il tempo di copertura della componente di , che ha vertici e archi: . Per Markov, la probabilità di non vedere in passi è . Memoria: servono solo il vertice corrente e un contatore fino a , cioè bit (per : passi, un contatore di bit). Un algoritmo deterministico con quella memoria è stato trovato solo molto più tardi; qui la randomizzazione dà uno strumento semplicissimo.
PageRank
Il navigatore casuale su un insieme di pagine: con probabilità (tipicamente ) segue un link uscente scelto a caso, con probabilità salta a una pagina uniforme. Se una pagina non ha link, si salta sempre. La matrice è dove è il numero di link uscenti. Tutte le entrate di sono : la catena è irriducibile e aperiodica per costruzione, quindi esiste un'unica distribuzione stazionaria, ottenibile come limite di da qualunque (iterazione di potenza). Il secondo autovalore di ha modulo , quindi l'errore decade come (con , circa iterazioni per sei cifre).
Esempio. Tre pagine, ; ; ; . Le equazioni sono , , . Dalla seconda e dalla terza: ; nella prima: , quindi , , . La pagina è la più importante perché riceve da (metà del suo peso) e da (tutto). Il caso con pagine è in Esercizio - PageRank di quattro pagine con teletrasporto e iterazione di potenza.
Codice: 2-SAT randomizzato e passeggiata su un grafo
import random
def two_sat(clauses, n, rng, max_steps=None):
"""clauses: lista di coppie di letterali (v, segno) con segno 1 = x_v, 0 = not x_v."""
x = [0] * n
max_steps = max_steps or 2 * n * n
sat = lambda c: any(x[v] == s for v, s in c)
for t in range(max_steps + 1):
violate = [c for c in clauses if not sat(c)]
if not violate:
return x, t
v, _ = rng.choice(rng.choice(violate)) # clausola violata, poi letterale a caso
x[v] ^= 1
return None, max_steps
def passeggiata(adj, start, passi, rng):
x, visti = start, {start}
for _ in range(passi):
x = rng.choice(adj[x]); visti.add(x)
return visti
rng = random.Random(1)
# (x0 | x1) & (~x0 | x2) & (~x1 | ~x2): variabili 0,1,2
f = [((0, 1), (1, 1)), ((0, 0), (2, 1)), ((1, 0), (2, 0))]
print(two_sat(f, 3, rng)) # un'assegnazione soddisfacente
adj = {1: [2, 3], 2: [1, 3], 3: [1, 2, 4], 4: [3, 5], 5: [4]}
tempi = []
for _ in range(20000):
x, visti, t = 1, {1}, 0
while len(visti) < 5:
x = rng.choice(adj[x]); visti.add(x); t += 1
tempi.append(t)
print(sum(tempi) / len(tempi)) # circa 229/12 = 19.08Domande d'esame
- Giocatore con euro, traguardo , gioco equo: probabilità di vittoria e partite attese. , .
- Dimostra che l'algoritmo randomizzato per 2-SAT con passi ha errore . Distanza da una soluzione fissata: si avvicina con probabilità ; ; Markov.
- Dimostra che sulla passeggiata su un grafo e calcola per il vertice del grafo con triangolo e coda. Bilancio dettagliato ; .
- Perché la connettività s-t si decide in spazio ? Copertura ma si memorizzano solo il vertice corrente e un contatore; Markov dà errore , solo unilaterale.
Versione ripasso
- Rovina del giocatore: con si guadagna , con si perde ; (, ), (). Gioco equo: incrementi di costanti, ; verificato nella ricorrenza (). Esempio , : e partite; , : e .
- Caso : equazione caratteristica con radici e ; ; soluzione particolare per la durata: . , , : e ; roulette , da a : , partite. Contro una banca infinita la rovina è certa con durata media infinita.
- 2-SAT randomizzato (errore unilaterale): si parte da un'assegnazione qualunque, finché c'è una clausola violata se ne sceglie una, un suo letterale a caso, si cambia il valore della variabile; al più passi, poi si risponde "non soddisfacibile". Esempio , : da con scelte si arriva a in passi.
- Analisi: = variabili diverse da una soluzione ; una clausola violata ha almeno una variabile sbagliata, quindi . Per confronto con la passeggiata simmetrica riflessa in : , , dà . Markov (Disuguaglianze di Markov, Chebyshev e JensenMarkov: per X ≥ 0, P(X ≥ a) ≤ E[X]/a; Chebyshev: P(|X − μ| ≥ ε) ≤ Var(X)/ε²; Jensen: per φ convessa, φ(E[X]) ≤ E[φ(X)]. Stimano probabilità e medie conoscendo solo media e varianza.Disuguaglianze di Markov, Chebyshev e Jensen →): ; blocchi indipendenti: . Esempio a quattro variabili: tempi esatti massimi per distanza , sotto .
- 3-SAT: si avvicina con probabilità , deriva contraria, tempo ; si riparte ogni passi da un'assegnazione uniforme (distanza iniziale ); successo per tentativo , tempo .
- Passeggiata su un grafo connesso: , (bilancio dettagliato: ), tempo di ritorno , aperiodica sse non bipartito. Lemma: , quindi per ogni arco. Copertura: visita dell'albero di copertura ( passaggi tra adiacenti), ; con il tempo di pendolarismo si ha . Cammino: ; completo: ; lollipop: (massimo possibile).
- Triangolo con coda (): , ritorni ; verso : , , ; pendolarismo - ; copertura da : (limite ).
- UST-CONN: passi da ; se non connessi risposta sempre corretta; se connessi e Markov dà errore ; memoria vertice corrente più contatore, bit (: passi, bit).
- PageRank: navigatore casualeCon probabilità alfa segue un link a caso, altrimenti salta a una pagina uniforme. , ; entrate : irriducibile e aperiodica, stazionaria unica, iterazione di potenza con errore . Tre pagine (; ; ), : . Teoria sulle catene: Catene di Markov - matrice di transizione, classificazione degli stati e distribuzione stazionariaUna catena di Markov a tempo discreto e stati finiti è descritta da una matrice stocastica P: P(X_{n+1}=j | X_n=i)=P_ij, la legge al tempo n è π_0 P^n. Gli stati si classificano in classi comunicanti (irriducibilità), periodo (aperiodicità) e ricorrenza/transitorietà. Una distribuzione stazionaria soddisfa πP=π; per catene finite irriducibili esiste ed è unica, vale π_i=1/h_ii (h_ii = tempo medio di primo ritorno), e se la catena è anche aperiodica P^n converge a una matrice con tutte le righe uguali a π. Le catene reversibili (π_i P_ij = π_j P_ji) hanno stazionaria immediata.Catene di Markov - matrice di transizione, classificazione degli stati e distribuzione stazionaria →, grafi: Grafi - definizioni e proprietàGrafo G=(V,E) diretto e non diretto, grafo semplice e pesato; incidenza, adiacenza, grado; cammini, cicli, sottografi, grafi connessi e componenti connesse; alberi liberi, foreste, spanning tree e spanning forest; proprietà con dimostrazioni (somma dei gradi = 2m, m <= n(n-1)/2, alberi m = n-1, connessi m >= n-1, foreste m <= n-1).Grafi - definizioni e proprietà →.
- Dimostrazione del lemma sui tempi di raggiungimento: il tempo di ritorno in è , quindi e, essendo ogni addendo , (per nell'esempio: ✓). Da qui la copertura: passaggi per l'albero di copertura, ciascuno .
- Rovina e martingale: nel gioco equo il capitale è una martingala, ; per si conserva con , . Giocatore da a alla roulette: in circa partite.
- Domande tipiche: giocatore con euro e traguardo : e partite; 2-SAT con passi, errore ; e ; perché s-t connettività sta in spazio .
- Errori tipici: dimenticare il fattore ; usare sul grafo; scambiare e ; confondere tempo atteso con limite di Markov a passi.
Esercizi su questo argomento
- Esercizio - Algoritmo randomizzato per 2-SAT eseguito su un'istanza con quattro variabili
- Esercizio - PageRank di quattro pagine con teletrasporto e iterazione di potenza
- Esercizio - Passeggiata aleatoria su un grafo con triangolo e coda - stazionaria, raggiungimento e copertura
- Esercizio - Rovina del giocatore alla roulette - probabilità di vittoria e durata attesa