Metodo probabilistico - valore atteso, alterazioni e derandomizzazione
In questa pagina 8
Il metodo probabilistico dimostra che un oggetto con certe proprietà esiste senza costruirlo: si sceglie un oggetto a caso e si mostra che la proprietà vale con probabilità positiva. La probabilità è solo uno strumento di conteggio (spazio uniforme, Spazi di probabilità discreti e uniformiIn uno spazio discreto la probabilità è determinata dalla densità discreta p(ω) = P({ω}), con somma 1, e P(A) è la somma di p(ω) sugli esiti di A; negli spazi uniformi (esiti equiprobabili) P(A) = |A| / |Ω|, casi favorevoli su casi possibili.Spazi di probabilità discreti e uniformi →); il risultato è deterministico. Con la derandomizzazione si ottiene poi anche un algoritmo. 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 →, 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 →, Union bound e verifica randomizzata - identità polinomiali e prodotti di matriciSpazi discreti richiamati; inclusione-esclusione (con le troncate di Bonferroni) e union bound Pr[unione] ≤ somma, valido senza indipendenza e stretto quando gli eventi sono rari (collisioni: C(n,2)/m). Principio delle decisioni differite: si fissa tutto tranne una scelta casuale e si limita la probabilità su quella. Lemma di Schwartz-Zippel: un polinomio non nullo di grado totale d, valutato in un punto di S^n scelto uniformemente, si annulla con prob ≤ d/|S| (induzione sul numero di variabili); test di identità polinomiale con errore unilaterale, ripetuto (d/|S|)^k. Freivalds: per verificare AB=C si controlla A(Br)=Cr con r in {0,1}^n in tempo O(n^2), errore ≤ 1/2 (stretto), 2^-k con k prove. Fingerprint: due stringhe di n bit si confrontano con a mod p per un primo casuale p ≤ M, errore ≤ n/π(M).Union bound e verifica randomizzata - identità polinomiali e prodotti di matrici →, 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à →.
I due principi
Lemma (principio del valore atteso). Se è una variabile aleatoria discreta con , allora e . Esistono quindi un esito con e uno con .
Dimostrazione. Se fosse con probabilità si avrebbe ; per l'altro verso è lo stesso. Se è intera, esiste un esito con .
Principio (conteggio). Se in uno spazio finito allora esiste un oggetto con . In particolare, se conta i "difetti" e , per Markov e quindi esiste un oggetto con zero difetti.
Taglio grande
Teorema (taglio). Ogni grafo con archi ha un taglio (partizione dei vertici in due insiemi) con almeno archi tra le due parti.
Dimostrazione. Ogni vertice va in o in con probabilità , indipendentemente. Un arco è tagliato se i suoi estremi cadono in parti diverse: probabilità (qualunque sia , va dall'altra parte con ). Per la linearità, , e per il lemma esiste un taglio con almeno archi.
Esempi. Per : , media (anche calcolata su tutte le assegnazioni) e taglio massimo . Per il grafo di Petersen ( vertici, archi): media , quindi esiste un taglio ; il massimo è (calcolo esaustivo su tagli).
MAX-SAT e il fattore
Una formula in forma normale congiuntiva ha clausole, ognuna disgiunzione di letterali (una variabile o la sua negazione). Si assegna a ogni variabile o con probabilità indipendentemente.
Teorema (MAX-SAT). Una clausola con letterali su variabili distinte è soddisfatta con probabilità (è falsa solo se ogni letterale è falso). Quindi in una formula con clausole di letterali esiste un'assegnazione che ne soddisfa almeno (arrotondato in su). Se tutte le clausole hanno almeno letterali e , la formula è soddisfacibile.
Dimostrazione. . Per la seconda parte: e, per il principio di conteggio, esiste un'assegnazione con clausole insoddisfatte.
Il è ottimo nel caso peggiore: le clausole che hanno tutte le combinazioni di segni su non sono simultaneamente soddisfacibili, e ogni assegnazione ne soddisfa esattamente (verificato su tutte le assegnazioni).
Lo stesso schema (indicatori e linearità su tutti gli oggetti possibili) dimostra che esiste un torneo su giocatori con almeno cammini hamiltoniani: Esercizio - Cammini hamiltoniani in un torneo casuale (lezioni MIT).
Limite inferiore dei numeri di Ramsey
Il numero di Ramsey è il minimo tale che in ogni colorazione degli archi di con due colori compare un monocromatico (cioè vertici con tutti i archi dello stesso colore).
Teorema. Se allora . In particolare per ogni .
Dimostrazione. Si colora ogni arco di in rosso o blu con probabilità , indipendentemente. Un fissato insieme di vertici è monocromatico con probabilità (tutto rosso o tutto blu). Sia il numero di monocromatici: per la linearità , quindi esiste una colorazione con . Con e : perché per vale e poi il denominatore cresce molto più in fretta.
Numeri. Il massimo per cui la condizione vale è per . Per , : il numero atteso di monocromatici è , e una simulazione su colorazioni casuali trova una colorazione senza monocromatici nel dei casi. Per , : e tra tutte le colorazioni il () non ha monocromatici.
È una dimostrazione di esistenza: nessuna costruzione esplicita nota raggiunge una crescita esponenziale paragonabile. Il limite superiore è di forma , quindi cresce esponenzialmente in .
Alterazione
Il caso in cui l'oggetto casuale ha pochi difetti: si toglie (altera) ciò che non va.
Teorema (insieme indipendente). Un grafo con vertici e archi, grado medio , contiene un insieme indipendente (nessun arco tra i suoi vertici) di almeno vertici.
Dimostrazione. Ogni vertice entra in con probabilità indipendentemente. Sia il numero di archi con entrambi gli estremi in . e (un arco sta in con probabilità ). Si rimuove un estremo per ogni arco rimasto in : restano almeno vertici e sono indipendenti. è massima in , dove vale . Per il lemma esiste un esito con .
Numeri (, , ). Il teorema garantisce ; il guadagno in funzione di è per . Su un grafo casuale con questi parametri la procedura con (togliendo un estremo solo per gli archi ancora presenti) dà vertici in media su prove (da a ; grafo e codice in Esercizio - Insiemi indipendenti con alterazione e lemma locale di Lovász per k-SAT): il limite è un minimo garantito, non una stima.
Variante più forte. Si ordinano i vertici con una permutazione casuale e si tengono quelli che precedono tutti i loro vicini. Un vertice di grado è il primo tra sé e i suoi vicini con probabilità , e l'insieme è indipendente (di due adiacenti ne può precedere solo uno). Quindi (disuguaglianza di Jensen). Sul grafo precedente: . Questo limite (di Caro-Wei), applicato al grafo complementare, dà il teorema di Turán sulle cricche: Esercizio - Teorema di Turán dal limite di Caro-Wei (lezioni MIT).
Alterazione per Ramsey. Dopo la colorazione casuale si toglie un vertice per ogni monocromatico: restano almeno vertici senza monocromatici, quindi per ogni . Per il valore massimo del secondo membro è (), contro il del teorema semplice e contro .
Derandomizzazione con le aspettative condizionate
Il metodo probabilistico dimostra l'esistenza; si può anche trovare l'oggetto in tempo polinomiale.
Metodo delle aspettative condizionate. Se è una funzione di scelte a caso e si calcola in tempo polinomiale, si fissano le variabili una alla volta scegliendo il valore che non fa diminuire l'attesa condizionale. Dato che , il massimo dei due è la media: l'attesa non scende mai e alla fine si ha un esito deterministico con .
Taglio. Con già piazzati, . Piazzare sul lato che taglia più archi verso i vicini già piazzati ( o archi) aumenta l'attesa di . L'algoritmo è l'euristica golosa: ogni vertice dal lato opposto alla maggioranza dei vicini già piazzati, taglio finale .
Esempio (Petersen, ordine dei vertici ). Numerazione: ciclo esterno -----, raggi da a , e il vertice interno adiacente a ; a parità () il vertice va nel lato . La tabella passo per passo è in Esercizio - Taglio grande e derandomizzazione sul grafo di Petersen. L'attesa condizionale dopo ogni vertice piazzato è (dal valore iniziale fino al taglio finale): non decresce mai e il taglio ottenuto è , cioè il massimo.
MAX-SAT. Con variabili già fissate, ogni clausola vale se ha un letterale vero, altrimenti con letterali liberi (e se non ne restano). Esempio. clausole su :
, , , , , , .
L'attesa iniziale è . Poiché , la formula è soddisfacibile. Il metodo procede così:
| variabile | attesa con vero | attesa con falso | scelta |
|---|---|---|---|
| vero | |||
| falso | |||
| vero | |||
| falso | |||
| vero |
Controllo del passo dopo : , , , sono già vere ( ciascuna); ha liberi: ; ha liberi: ; ha tre liberi: . Somma: . Alla fine soddisfa tutte e le clausole: l'attesa è salita da a .
from fractions import Fraction
def attesa(clausole, parziale):
"""Numero atteso di clausole soddisfatte se le variabili libere sono a caso."""
tot = Fraction(0)
for c in clausole: # c = lista di (variabile, segno)
liberi = 0
for v, s in c:
if v not in parziale:
liberi += 1
elif parziale[v] == (s > 0): # un letterale vero: clausola soddisfatta
tot += 1
break
else: # nessun letterale vero finora
tot += 1 - Fraction(1, 2 ** liberi) # 0 se non resta nessuna variabile libera
return tot
def derandomizza(clausole, variabili):
parziale = {}
for v in variabili: # per ogni variabile sceglie il valore
e1 = attesa(clausole, {**parziale, v: True}) # che non fa scendere l'attesa condizionale
e0 = attesa(clausole, {**parziale, v: False})
parziale[v] = e1 >= e0
return parzialeLemma locale di Lovász (solo enunciato)
L'union bound richiede , quindi funziona solo con pochi eventi cattivi. Se gli eventi sono "quasi indipendenti" se ne possono avere moltissimi.
Lemma locale di Lovász (forma simmetrica). Siano eventi "cattivi" con e ognuno indipendente da tutti gli altri tranne al più . Se allora : con probabilità positiva nessun evento cattivo accade.
Applicazione. Una formula -CNF in cui ogni clausola ha variabili distinte e ogni variabile compare in al più clausole è soddisfacibile se : l'evento "la clausola è falsa" ha probabilità e dipende al più dalle clausole che condividono una variabile con . Per basta (); per , . Il numero di clausole può essere qualunque, mentre l'union bound vale solo per .
Domande d'esame
- Dimostra che ogni grafo ha un taglio con almeno archi. Assegnazione casuale uniforme dei vertici; ogni arco è tagliato con probabilità ; per la linearità la media è e un esito la raggiunge.
- Una formula con clausole da letterali distinti: quante se ne soddisfano al minimo, e quando è soddisfacibile? Almeno ; se è soddisfacibile perché il numero atteso di clausole insoddisfatte è .
- Dimostra che per . Colorazione casuale di con : , quindi esiste una colorazione senza monocromatici.
- Come si derandomizza l'argomento del taglio? Si fissano i vertici in ordine; ognuno va dal lato che taglia più archi verso i già piazzati; l'attesa condizionale non scende mai, quindi il taglio finale è .
Versione ripasso
- Principi. Se esistono esiti con e con (altrimenti la media sarebbe diversa); per intera . Conteggio: esiste; se i difetti hanno , per Markov , quindi esiste un oggetto senza difetti (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 →, Spazi di probabilità discreti e uniformiIn uno spazio discreto la probabilità è determinata dalla densità discreta p(ω) = P({ω}), con somma 1, e P(A) è la somma di p(ω) sugli esiti di A; negli spazi uniformi (esiti equiprobabili) P(A) = |A| / |Ω|, casi favorevoli su casi possibili.Spazi di probabilità discreti e uniformi →).
- Taglio. Assegnazione uniforme dei vertici (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à →), ogni arco tagliato con probabilità , linearità: esiste un taglio . : media , massimo ; Petersen: media , massimo .
- MAX-SAT. Clausola con letterali distinti vera con ; con : . Con almeno letterali e la formula è soddisfacibile (insoddisfatte attese ). è ottimo: le clausole con tutti i segni su variabili ne soddisfano al massimo.
- Ramsey. Colorazione casuale di : un -insieme è monocromatico con ; . Con e : per ( per ). Massimo : per . Alterazione: togliere un vertice per ogni : ( per , , contro e ).
- Insieme indipendente. con probabilità per vertice, , ; togliere un estremo per arco: , massimo in : ( per , ; simulato in media). Variante con permutazione casuale: vertice tenuto con probabilità , (Jensen; nell'esempio).
- Aspettative condizionate. : si sceglie il valore migliore, l'attesa non scende, esito deterministico con . Taglio: , golosa sul lato con più archi verso i vicini piazzati (Petersen: attese ). MAX-SAT: clausola se già vera, con liberi; esempio con clausole: , assegnazione ; passo : contro .
- Lovász (solo enunciato). , ogni evento indipendente da tutti tranne , . -CNF con ogni variabile in al più clausole: ; : (); union bound solo per .
- Numeri da ricordare. Ramsey con , : (simulato: il delle colorazioni è senza monocromatici); , : ( delle colorazioni senza ). Guadagno per : . La procedura derandomizzata del taglio non perde mai: ogni vertice guadagna .
- Errori tipici. Dire "con probabilità positiva" senza specificare lo spazio; dimenticare che l'attesa intera dà ; confondere alterazione (si tolgono vertici dopo) con union bound; usare l'indipendenza degli archi di un grafo dove non c'è.
Esercizi su questo argomento
- Esercizio - Cammini hamiltoniani in un torneo casuale (lezioni MIT)
- Esercizio - Insiemi indipendenti con alterazione e lemma locale di Lovász per k-SAT
- Esercizio - Limiti inferiori dei numeri di Ramsey con il metodo probabilistico
- Esercizio - MAX-SAT con clausole miste e aspettative condizionate
- Esercizio - Taglio grande e derandomizzazione sul grafo di Petersen
- Esercizio - Teorema di Turán dal limite di Caro-Wei (lezioni MIT)
- Esercizio - triangoli, vertici isolati e cricche in un grafo casuale