Esercizio - Limiti inferiori dei numeri di Ramsey con il metodo probabilistico
Teoria: Metodo probabilistico - valore atteso, alterazioni e derandomizzazioneMetodo probabilistico: se un oggetto casuale ha una proprietà con probabilità positiva (o una variabile ha media mu, quindi qualche esito la raggiunge) allora l'oggetto esiste; taglio di almeno |E|/2, MAX-SAT con 7/8, limite inferiore di Ramsey R(k,k) > 2^(k/2), alterazioni (insiemi indipendenti, Ramsey), derandomizzazione con le aspettative condizionate, lemma locale di Lovász solo enunciato.Metodo probabilistico - valore atteso, alterazioni e derandomizzazione → (limite inferiore di Ramsey, alterazione), Calcolo combinatorio per la probabilitàNegli spazi uniformi bisogna contare: principio di moltiplicazione, disposizioni con ripetizione n^k, disposizioni semplici n!/(n−k)!, permutazioni n!, combinazioni (n su k); estrazioni con e senza reinserimento e distribuzione ipergeometrica.Calcolo combinatorio per la probabilità →.
Testo. Il numero di Ramsey è il minimo tale che ogni colorazione degli archi di con due colori contiene un monocromatico.
- Dimostrare che se allora .
- Per calcolare il massimo per cui la condizione vale, e confrontarlo con .
- Dimostrare che soddisfa la condizione per ogni .
- Con l'alterazione (si toglie un vertice per ogni monocromatico) si ottiene . Calcolare per il valore migliore.
- Per , contare tutte le colorazioni di senza monocromatico; per , stimare con una simulazione la frazione di colorazioni senza monocromatico. Confrontare con l'attesa.
Soluzione
1. Dimostrazione. Si colora ogni arco di in rosso o blu con probabilità , indipendentemente. Fissato un insieme di vertici, i suoi archi sono tutti rossi con probabilità e tutti blu con la stessa probabilità, quindi è monocromatico con probabilità (i due eventi sono disgiunti). Sia il numero di -insiemi monocromatici: per la linearità . Se ogni colorazione avesse la media sarebbe : esiste quindi una colorazione con , cioè senza monocromatici, e .
2. Tabella. Il massimo con e il valore di in quel punto:
| massimo | ||||||||
Esempi: : ma , quindi . : ; . Il massimo è molto più grande di (a è contro ).
3. va bene. Con e : Questo vale per , per , per , ed è decrescente: . Quindi per ogni e . (Verifica diretta con numeri esatti per .)
4. Alterazione. Dopo la colorazione casuale con vertici si toglie un vertice da ogni monocromatico: restano almeno vertici, senza monocromatici. In media ; esiste una scelta con almeno vertici rimasti, quindi . Il massimo su :
| ottimo | ||||||||
Per l'alterazione non aiuta (stesso valore del metodo semplice: ); per guadagna sul massimo del punto 2. Per : contro , contro della formula .
5. Conteggi esatti e simulazione.
- , : delle colorazioni, () non hanno monocromatici. L'attesa garantisce soltanto una frazione (Markov): il valore vero è più grande.
- , : colorazioni casuali hanno in media monocromatici (attesa ) e il ne ha zero (Markov garantisce ). Per piccolo il limite probabilistico è debole (si sa che per costruzioni esplicite): il suo interesse è la crescita esponenziale in .
Codice di verifica
import itertools, math, random
from math import comb
for k in range(3, 11):
nmax = max(n for n in range(k, 500) if comb(n, k) < 2 ** (comb(k, 2) - 1))
alt = max((n - comb(n, k) / 2 ** (comb(k, 2) - 1), n) for n in range(k, 500))
print(k, nmax, round(comb(nmax, k) / 2 ** (comb(k, 2) - 1), 4), math.isqrt(2 ** k),
alt[1], round(alt[0], 2), math.ceil(alt[0]))
def mono(n, k, col):
return sum(len({col[x] for x in itertools.combinations(S, 2)}) == 1
for S in itertools.combinations(range(n), k))
archi = list(itertools.combinations(range(6), 2))
buone = sum(mono(6, 4, {e: (m >> i) & 1 for i, e in enumerate(archi)}) == 0 for m in range(1 << 15))
print(buone, buone / (1 << 15))
random.seed(3)
n, k, T = 11, 5, 3000
sub = [list(itertools.combinations(S, 2)) for S in itertools.combinations(range(n), k)]
tot = zero = 0
for _ in range(T):
col = {e: random.getrandbits(1) for e in itertools.combinations(range(n), 2)}
c = sum(len({col[x] for x in pr}) == 1 for pr in sub)
tot += c
zero += c == 0
print(tot / T, zero / T, comb(n, k) / 2 ** 9)Risultato: otto righe k nmax E[X] floor n_alt n-E[X] ceil come nelle tabelle (per : 10 100 0.984 32 127 115.11 116), poi 22484 0.6862, poi 0.8717 0.6147 0.9023.
Versione ripasso
- Dimostrazione. Colorazione casuale di ; un -insieme è monocromatico con probabilità ; esiste una colorazione con (Metodo probabilistico - valore atteso, alterazioni e derandomizzazioneMetodo probabilistico: se un oggetto casuale ha una proprietà con probabilità positiva (o una variabile ha media mu, quindi qualche esito la raggiunge) allora l'oggetto esiste; taglio di almeno |E|/2, MAX-SAT con 7/8, limite inferiore di Ramsey R(k,k) > 2^(k/2), alterazioni (insiemi indipendenti, Ramsey), derandomizzazione con le aspettative condizionate, lemma locale di Lovász solo enunciato.Metodo probabilistico - valore atteso, alterazioni e derandomizzazione →).
- Massimo (): ; : ; : . Esempi: , , ; , .
- . , quindi : (), (), poi decrescente (rapporto ).
- Alterazione. Si toglie un vertice per ogni monocromatico: ; ottimo , valori ( contro e per ); per nessun guadagno.
- Conteggi. , : delle colorazioni senza monocromatico (Markov garantisce ); , : media monocromatici (attesa ), senza (Markov ).
- Errori tipici. Dimenticare il fattore (rosso o blu) in ; confondere con ; sbagliare l'arrotondamento nell'alterazione (serve il soffitto di ).