MakarovSuites
Italiano
EnglishDeutschРусскийУкраїнськаFrançaisEspañolItalianoPolski
Contatti e licenze

Math

Compleanni e collisioni

Le persone arrivano su un anello di giorni finché due ne condividono uno: in un anno di 365 è la 23ª persona, non la 183ª; su Marte la 32ª; in 65 536 secchi di hash la 302ª; estrazioni contro la curva esatta, i giorni scorsi trascinando da un anno a 2³², la regola della radice quadrata letta in diretta, e un compito sulla stanza marziana.

Compleanni e collisioni — Immagine reale dell’applicazione
Immagine reale dell’applicazione

Cosa succede

Un anello di giorni. Le persone arrivano una alla volta e accendono il giorno su cui cadono; la prima volta che qualcuno cade su un giorno acceso, l'anello divampa e l'estrazione è finita. In un anno di 365 giorni succede verso la 23ª persona, non la 183ª, perché la domanda non è se qualcuno condivide il tuo compleanno ma se due qualsiasi ne condividono uno, e tra 23 persone ci sono 253 coppie. La curva esatta è 1 − (1 − 1/m)(1 − 2/m)…(1 − (n − 1)/m): 50,7 % a 23, 99 % a 57. Estrazione dopo estrazione, il grafico riempie la frazione empirica sopra la curva. Trascina sull'anello e il numero di giorni scorre in scala logaritmica: un anno marziano di 687 giorni chiede 32 persone, una tabella hash di 65 536 secchi collide alla 302ª chiave, un hash a 32 bit verso la 77 000ª; la stanza che collide con la probabilità di una moneta segue √(2m ln 2), la radice quadrata dei giorni, non i giorni. Per questo un hash ha bisogno di molti più secchi che chiavi, e per questo l'attacco del compleanno è il modo più economico per rompere una firma corta.

Equazioni del modulo
Equazioni
collisione entro n:  P = 1 − (1 − 0/m)(1 − 1/m)…(1 − (n − 1)/m);  365 giorni: 22 persone 47.6 %, 23 persone 50.7 %, 57 persone 99 %;  la prima collisione attesa avviene alla persona numero 24.617
la stanza del testa o croce (il più piccolo n con P ≥ ½):  365 → 23, Marte 687 → 32 (52.0 %; 31 dà 49.7 %), 65 536 contenitori → 302, 2^32 → 77 164
la regola della radice quadrata:  n ≈ √(2m ln 2) = 22.5, 30.9, 301.4, 77 162.7 - la stanza cresce con la radice quadrata dei giorni, non con i giorni
esecuzioni:  un'estrazione per persona, giorno = floor(r·m), tramite lo xorshift condiviso;  seme 1 in 365 giorni: la persona numero 40 cade nel giorno 200, già occupato dalla numero 34;  semi 1…1000: 518 collidono entro 23, prima collisione media 24.05
hash:  la stessa aritmetica per chiavi in contenitori - un hash a 32-bit si aspetta di collidere dopo circa 77 000 chiavi

Altri esperimenti

Torna al catalogo
Un codice che si ripara da solo — Immagine reale dell’applicazione

Math

Un codice che si ripara da solo

Sedici bit in un quadrato, undici dei quali un messaggio: clicca su uno e le quattro spie di controllo compitano il suo indirizzo, e il blocco si rimette a posto. Due errori vengono rilevati ma non riparati; a tre, il blocco mente con sicurezza. Ogni affermazione è esaustiva: tutti i 32 768 errori singoli localizzati, tutti i 245 760 doppi rilevati, ogni tripla corretta male.

Bacini del metodo di Newton — Immagine reale dell’applicazione

Math

Bacini del metodo di Newton

Colora ogni punto di partenza secondo la radice raggiunta dal metodo di Newton: con due radici il confine è una retta, come dimostrò Cayley nel 1879, e con tre è un frattale che i tre bacini condividono. Trascina una radice e guarda muoversi le aree: una radice tirata verso l’esterno prende MENO della finestra, non di più.

Cammini aleatori e PageRank — Immagine reale dell’applicazione

Math

Cammini aleatori e PageRank

Seguire la massa di probabilità attraverso un grafico diretto e confrontare l'iterazione di potenza con una folla di camminatori casuali. Il teletrasporto può far convergere PageRank ad una distribuzione unica. Confronta un ciclo periodico con un grafo i cui nodi pendenti non patchati perdono massa.