Salta al contenuto
Note per Studenti Esercizio - Limiti inferiori dei numeri di Ramsey con il metodo probabilistico

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 R(k,k)R(k,k) è il minimo nn tale che ogni colorazione degli archi di KnK_n con due colori contiene un KkK_k monocromatico.

  1. Dimostrare che se (nk)21−(k2)<1\binom nk2^{1-\binom k2}<1 allora R(k,k)>nR(k,k)>n.
  2. Per k=3,…,10k=3,\dots,10 calcolare il massimo nn per cui la condizione vale, e confrontarlo con ⌊2k/2⌋\lfloor2^{k/2}\rfloor.
  3. Dimostrare che ⌊2k/2⌋\lfloor2^{k/2}\rfloor soddisfa la condizione per ogni k≥3k\ge3.
  4. Con l'alterazione (si toglie un vertice per ogni KkK_k monocromatico) si ottiene R(k,k)>n−(nk)21−(k2)R(k,k)>n-\binom nk2^{1-\binom k2}. Calcolare per k=3,…,10k=3,\dots,10 il valore migliore.
  5. Per k=4k=4, n=6n=6 contare tutte le 2152^{15} colorazioni di K6K_6 senza K4K_4 monocromatico; per k=5k=5, n=11n=11 stimare con una simulazione la frazione di colorazioni senza K5K_5 monocromatico. Confrontare con l'attesa.

Soluzione

1. Dimostrazione. Si colora ogni arco di KnK_n in rosso o blu con probabilità 12\frac12, indipendentemente. Fissato un insieme SS di kk vertici, i suoi (k2)\binom k2 archi sono tutti rossi con probabilità 2−(k2)2^{-\binom k2} e tutti blu con la stessa probabilità, quindi SS è monocromatico con probabilità 2⋅2−(k2)=21−(k2)2\cdot2^{-\binom k2}=2^{1-\binom k2} (i due eventi sono disgiunti). Sia XX il numero di kk-insiemi monocromatici: per la linearità E[X]=(nk)21−(k2)<1E[X]=\binom nk2^{1-\binom k2}<1. Se ogni colorazione avesse X≥1X\ge1 la media sarebbe ≥1\ge1: esiste quindi una colorazione con X=0X=0, cioè senza KkK_k monocromatici, e R(k,k)>nR(k,k)>n.

2. Tabella. Il massimo nn con E[X]<1E[X]<1 e il valore di E[X]E[X] in quel punto:

kk 33 44 55 66 77 88 99 1010
nn massimo 33 66 1111 1717 2727 4242 6565 100100
E[X]E[X] 0,2500{,}250 0,4690{,}469 0,9020{,}902 0,7550{,}755 0,8470{,}847 0,8790{,}879 0,9300{,}930 0,9840{,}984
⌊2k/2⌋\lfloor2^{k/2}\rfloor 22 44 55 88 1111 1616 2222 3232

Esempi: k=4k=4: (64)/25=1532=0,469<1\binom64/2^5=\frac{15}{32}=0{,}469<1 ma (74)/32=3532>1\binom74/32=\frac{35}{32}>1, quindi n=6n=6. k=5k=5: (115)/29=462512=0,902\binom{11}5/2^9=\frac{462}{512}=0{,}902; (125)=792>512\binom{12}5=792>512. Il massimo nn è molto più grande di 2k/22^{k/2} (a k=10k=10 è 100100 contro 3232).

3. ⌊2k/2⌋\lfloor2^{k/2}\rfloor va bene. Con n=⌊2k/2⌋≤2k/2n=\lfloor2^{k/2}\rfloor\le2^{k/2} e (nk)≤nkk!≤2k2/2k!\binom nk\le\frac{n^k}{k!}\le\frac{2^{k^2/2}}{k!}: (nk)21−(k2)≤2k2/2⋅21−k(k−1)/2k!=2k/2+1k!.\binom nk2^{1-\binom k2}\le\frac{2^{k^2/2}\cdot2^{1-k(k-1)/2}}{k!}=\frac{2^{k/2+1}}{k!}. Questo vale 22,56=0,943\frac{2^{2{,}5}}6=0{,}943 per k=3k=3, 2324=0,333\frac{2^3}{24}=0{,}333 per k=4k=4, 0,0940{,}094 per k=5k=5, ed è decrescente: 2(k+1)/2+1(k+1)!/2k/2+1k!=2k+1<1\frac{2^{(k+1)/2+1}}{(k+1)!}\Big/\frac{2^{k/2+1}}{k!}=\frac{\sqrt2}{k+1}<1. Quindi <1<1 per ogni k≥3k\ge3 e R(k,k)>⌊2k/2⌋R(k,k)>\lfloor2^{k/2}\rfloor. (Verifica diretta con numeri esatti per k=3,…,79k=3,\dots,79.)

4. Alterazione. Dopo la colorazione casuale con nn vertici si toglie un vertice da ogni KkK_k monocromatico: restano almeno n−Xn-X vertici, senza KkK_k monocromatici. In media n−E[X]n-E[X]; esiste una scelta con almeno ⌈n−E[X]⌉\lceil n-E[X]\rceil vertici rimasti, quindi R(k,k)>⌈n−E[X]⌉R(k,k)>\lceil n-E[X]\rceil. Il massimo su nn:

kk 33 44 55 66 77 88 99 1010
nn ottimo 44 77 1313 2121 3333 5353 8282 127127
n−E[X]n-E[X] 3,003{,}00 5,915{,}91 10,4910{,}49 17,6917{,}69 28,9328{,}93 46,4046{,}40 73,4773{,}47 115,11115{,}11
R(k,k)>R(k,k)> 33 66 1111 1818 2929 4747 7474 116116

Per k≤5k\le5 l'alterazione non aiuta (stesso valore del metodo semplice: 3,6,113,6,11); per k≥6k\ge6 guadagna 1,2,5,9,161,2,5,9,16 sul massimo nn del punto 2. Per k=10k=10: 116116 contro 100100, contro 3232 della formula 2k/22^{k/2}.

5. Conteggi esatti e simulazione.

  • k=4k=4, n=6n=6: delle 215=32 7682^{15}=32\,768 colorazioni, 22 48422\,484 (68,6%68{,}6\%) non hanno K4K_4 monocromatici. L'attesa E[X]=0,469<1E[X]=0{,}469<1 garantisce soltanto una frazione ≥1−E[X]=53,1%\ge1-E[X]=53{,}1\% (Markov): il valore vero è più grande.
  • k=5k=5, n=11n=11: 30003000 colorazioni casuali hanno in media 0,870{,}87 K5K_5 monocromatici (attesa 0,9020{,}902) e il 61,5%61{,}5\% ne ha zero (Markov garantisce ≥1−0,902=9,8%\ge1-0{,}902=9{,}8\%). Per kk piccolo il limite probabilistico è debole (si sa che R(5,5)≥43R(5,5)\ge43 per costruzioni esplicite): il suo interesse è la crescita esponenziale in kk.

Codice di verifica

python
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 k=10k=10: 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 KnK_n; un kk-insieme è monocromatico con probabilità 2⋅2−(k2)2\cdot2^{-\binom k2}; E[X]=(nk)21−(k2)<1⇒E[X]=\binom nk2^{1-\binom k2}<1\Rightarrow esiste una colorazione con X=0⇒R(k,k)>nX=0\Rightarrow R(k,k)>n (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 nn (k=3,…,10k=3,\dots,10): 3,6,11,17,27,42,65,1003,6,11,17,27,42,65,100; E[X]E[X]: 0,250; 0,469; 0,902; 0,755; 0,847; 0,879; 0,930; 0,9840{,}250;\ 0{,}469;\ 0{,}902;\ 0{,}755;\ 0{,}847;\ 0{,}879;\ 0{,}930;\ 0{,}984; ⌊2k/2⌋\lfloor2^{k/2}\rfloor: 2,4,5,8,11,16,22,322,4,5,8,11,16,22,32. Esempi: k=4k=4, (64)/32=1532\binom64/32=\frac{15}{32}, (74)/32=3532>1\binom74/32=\frac{35}{32}>1; k=5k=5, 462512=0,902\frac{462}{512}=0{,}902.
  • ⌊2k/2⌋\lfloor2^{k/2}\rfloor. (nk)≤nkk!≤2k2/2k!\binom nk\le\frac{n^k}{k!}\le\frac{2^{k^2/2}}{k!}, quindi E[X]≤2k/2+1k!E[X]\le\frac{2^{k/2+1}}{k!}: 0,9430{,}943 (k=3k=3), 0,3330{,}333 (k=4k=4), poi decrescente (rapporto 2k+1<1\frac{\sqrt2}{k+1}<1).
  • Alterazione. Si toglie un vertice per ogni KkK_k monocromatico: R(k,k)>⌈n−E[X]⌉R(k,k)>\lceil n-E[X]\rceil; nn ottimo 4,7,13,21,33,53,82,1274,7,13,21,33,53,82,127, valori 3,6,11,18,29,47,74,1163,6,11,18,29,47,74,116 (116116 contro 100100 e 3232 per k=10k=10); per k≤5k\le5 nessun guadagno.
  • Conteggi. k=4k=4, n=6n=6: 22 484/32 768=68,6%22\,484/32\,768=68{,}6\% delle colorazioni senza K4K_4 monocromatico (Markov garantisce ≥53,1%\ge53{,}1\%); k=5k=5, n=11n=11: media 0,870{,}87 K5K_5 monocromatici (attesa 0,9020{,}902), 61,5%61{,}5\% senza (Markov ≥9,8%\ge9{,}8\%).
  • Errori tipici. Dimenticare il fattore 22 (rosso o blu) in 21−(k2)2^{1-\binom k2}; confondere E[X]<1E[X]<1 con P(X=0)>12P(X=0)>\frac12; sbagliare l'arrotondamento nell'alterazione (serve il soffitto di n−E[X]n-E[X]).

Teoria collegata