Archivi categoria: matematica_light

First Proof: quando il gioco si fa duro…

Un paio di settimane fa, nella mia rubrica su MaddMaths! (come? non la leggete? male!), scrissi che il progetto First Proof aveva preparato dieci lemmi mai pubblicati da dimostrare in una settimana, e che gli LLM erano riusciti a farcela solo in due casi. A quanto pare questo era il risultato che gli ideatori della gara erano riusciti a fare con le versioni “ufficiali” dei programmi. In realtà sia OpenAI che Google con il suo Aletheia dicono di aver risolto cinque (o sei, se si accetta una dimostrazione incompleta) problemi. E la cosa più interessante è che non sono gli stessi: insieme i due software hanno dimostrato otto dei dieci lemmi.

Come riporta Scientific American, non è chiaro se questi risultati dipendano dal fatto che internamente queste aziende hanno modelli più avanzati di quelli pubblicamente disponibili, oppure c’è stato un qualche aiutino da parte di matematici umani, anche se Google lo ha decisamente negato. La domanda non è affatto peregrina. Penso che ormai sia sdoganato il fatto che un’IA riesca a fare almeno in parte il lavoro di un dottorando – sì, devo ancora studiarmi i cicli di Claude che sono piaciuti così tanto a Knuth – anche sfruttando la loro capacità di trovare nella vastissima letteratura idee simili da portare avanti. In fin dei conti è ben noto questo racconto di Julia Robinson: “Lunedì – cercato di dimostrare teorema. Martedì – cercato di dimostrare teorema. Mercoledì – cercato di dimostrare teorema. Giovedì – cercato di dimostrare teorema. Venerdì – il teorema è falso”. Traduciamolo nel mondo degli LLM: essi possono produrre centinaia di “dimostrazioni” che si scopre poi essere false, perché assumono ipotesi non necessariamente vere. I sistemi di verifica automatica buttano via queste dimostrazioni errate e l’IA non si abbatte e ricomincia; diciamo però che se un essere umano vede quello che potrebbe essere un approccio interessante e spinge il sistema in quella direzione è molto più facile arrivare al risultato finale.

Per ovviare a questo problema, il gruppo dietro First Proof sta preparando una seconda gara, ma questa volta chiederà di poter far girare lui stesso i programmi, per essere certi che non ci sia aiuto esterno. Vedremo (a) se i produttori di questi sistemi accetteranno e (b) che succederà.

Ultimo aggiornamento: 2026-03-18 16:46

Number Builder

Come ha raccontato su Aperiodical, Christian Lawson-Perfect ha implementato un semplice gioco da fare con i numeri. In Number Builder si parte da 1 e bisogna raggiungere il numero indicato come obbiettivo usando le quattro operazioni per costruire man mano altri numeri ausiliari. Per esempio, si può arrivare a 42 in cinque passi con 1+1 = 2, 2+2 = 4, 4+2 = 6, 6+1 = 7, 6*7 = 42. (Non ho idea se si possa fare di meglio: ve lo lascio come esercizio, ma credo di no).
Essendo Christian un matematico, una volta arrivati alla soluzione viene mostrato il lavoro fatto… usando solo 1, le quattro operazioni e (tante) parentesi. Per i masochisti c’è poi anche la possibilità di avere un gioco a tempo. Buon divertimento!

Operazioni aritmetiche e scorciatoie

Lo Scientific American riporta la conclusione di due studi, che mostrano come quando occorre fare dei conti i maschi sono molto più propensi delle femmine a trovare una scorciatoia anziché mettersi a fare i conti secondo le formule che si imparano a scuola. Se per esempio vi venisse chiesto di calcolare 25×9 il suggerimento è di calcolare prima 25×4 = 100, poi raddoppiarlo e infine sommarci 25. Io a dire il vero ho moltiplicato 25×10 e ho tolto 25, ma in ogni caso non ho eseguito la moltiplicazione standard.

Questo potrebbe spiegare perché a scuola le ragazze sono più brave dei ragazzi – seguendo le procedure si arriva con meno errori alla risposta – ma poi abbiano risultati peggiori nei test come il SAT. Mi restano molti dubbi sul fatto che si possa insegnare a trovare le scorciatoie, e aggiungo un’evidenza aneddotica personale. Uno degli studi afferma che c’è una forte correlazione tra il trovare queste scorciatoie e riuscire a ruotare mentalmente oggetti tridimensionali: bene, io sono sempre stato un fan delle scorciatoie perché sono fondamentalmente pigro, ma l’unica volta in cui feci un test per il QI alle scuole medie andò tutto benissimo salvo per una prova: quella di trovare la figura che non era solo ruotata ma anche riflessa.

Voi che ne pensate?

Numeri primoriali e compositoriali

Ok, il fattoriale di un numero naturale \( n \) è il prodotto dei numeri da \( 1 \) a \( n \) e si indica con la notazione \( n! \). Questo immagino vi sia ben noto. Ma avete mai sentito parlare dei numeri primoriali? Dato un numero naturale \( n \), il suo primoriale \( n\# \) è il prodotto dei numeri primi da \( 1 \) a \( n \). Questo ovviamente significa che per esempio il primoriale di 12 è uguale a quello di 11 (e vale \( 2 \cdot 3 \cdot 5 \cdot 7 \cdot 11 = 2310 \)); in effetti c’è anche chi afferma che i primoriali sono solo quelli relativi ai numeri primi, e li rappresenta quindi con \( p_n\# \). In ogni caso, i primi primoriali distinti sono 2, 6, 30, 210, 2310, 30030, 510510, 9699690, 223092870, 6469693230, 200560490130, 7420738134810, 304250263527210, 13082761331670030, 614889782588491410.

Non esiste una funzione continua che estende i primoriali, a differenza della funzione Gamma per il fattoriale; la colpa, per così dire, sta nel fatto che la distribuzione dei primi è erratica. Se però prendiamo la funzione di Čebyšëv \( \vartheta(x)=\sum_{p\le x} \ln p \), cioè la somma dei logaritmi dei numeri primi inferiori a quello dato, sappiamo che \( \vartheta(n) \approx n \) e quindi \( n\# \approx e^{\vartheta(n)} \), per quello che può servire. La cosa buffa è che per \( n \lt 10^{11} \) abbiamo \( n\# \lt e^n \), ma sappiamo anche che ci sono sono infiniti intervalli di valori per cui invece \( n\# \gt e^n \). Quello che sappiamo al momento è che \(n\#\leq (2.763)^n\) e per \(>n \ge 563\) si ha che \( n\#\geq (2.22)^n \). Infine, se sommiamo gli inversi dei primoriali distinti otteniamo una costante:

\(\sum_{p\,\text{primo}} {1 \over p\#} = {1 \over 2} + {1 \over 6} + {1 \over 30} + \ldots = 0{.}7052301717918\ldots \),

e che questo numero è irrazionale (ma l’hanno dimostrato solo nel 2015… insomma non deve essere stato banale)

Ci sono poi i numeri compositoriali, che sono quello che manca ai primoriali per arrivare ai fattoriali: il prodotto di tutti i numeri composti da \( 1 \) a \( n \). Che io sappia, non esiste un simbolo per definirli: si scrive semplicemente \( n! \over n\# \) e chi si è visto si è visto. I primi compositoriali distinti sono 1, 4, 24, 192, 1728, 17280, 207360, 2903040, 43545600, 696729600, 12541132800, 250822656000, 5267275776000, 115880067072000, 2781121609728000, 69528040243200000, 180772904632320000.

Tutta questa pappardella mi è servita per dire che il numero \( 751882!/751882\# + 1 \) è primo: questo è il più grande numero “quasi compositoriale” conosciuto, con le sue 3765621 cifre. Nella pagina che ho linkato il denominatore è \( 751879\# \), ma per quanto detto sopra il valore è lo stesso, e in questo modo si vede meglio che il numero differisce di 1 da un compositoriale. In genere è difficile dimostrare la primalità di numeri di questo tipo, e per questo se ne conoscono di meno: per dire, quando è stata certificata la sua primalità era il 109-simo più grande numero primo conosciuto…

I dadi di Sicherman

Lanciate due dadi: è più facile che otteniate 7 rispetto a 2 o 12. Questo dovrebbe esservi noto. Probabilmente vi sarete anche messi a fare una volta i conti, trovando che i vari valori da 2 a 12 possono essere ottenuti così:
2: 1 modo (1+1)
3: 2 modi (1+2) (2+1)
4: 3 modi (1+3) (2+2) (3+1)
5: 4 modi (1+4) (2+3) (3+2) (4+1)
6: 5 modi (1+5) (2+4) (3+3) (4+2) (5+1)
7: 6 modi (1+6) (2+5) (3+4) (4+3) (5+2) (6+1)
8: 5 modi (2+6) (3+5) (4+4) (5+3) (6+2)
9: 4 modi (3+6) (4+5) (5+4) (6+3)
10: 3 modi (4+6) (5+5) (6+4)
11: 2 modi (5+6) (6+5)
12: 1 modo (6+6)

Vi siete mai chiesti se è possibile avere due dadi diversi da quelli standard, ma che danno la stessa distribuzione di risultati? Naturalmente ci aspettiamo che su ogni faccia dei dadi ci sia almeno un puntino, e che il numero di puntini sia sempre un intero. La risposta è affermativa, ma c’è un solo altro modo di costruirli, trovato da George Sicherman e reso noto da Martin Gardner nel 1978. I dadi hanno questi valori sulle facce: il primo (1, 2, 2, 3, 3, 4) e il secondo (1, 3, 4, 5, 6, 8). Si può verificare facilmente che le combinazioni possibili sono queste:
2: 1 modo (1+1)
3: 2 modi (2+1) (2+1)
4: 3 modi (1+3) (3+1) (3+1)
5: 4 modi (1+4) (2+3) (2+3) (4+1)
6: 5 modi (1+5) (2+4) (2+4) (3+3) (3+3)
7: 6 modi (1+6) (2+5) (2+5) (3+4) (3+4) (4+3)
8: 5 modi (2+6) (2+6) (3+5) (3+5) (4+4)
9: 4 modi (1+8) (3+6) (3+6) (4+5)
10: 3 modi (2+8) (2+8) (4+6)
11: 2 modi (3+8) (3+8)
12: 1 modo (4+8)

Come si possono trovare questi valori per i dadi? C’è un trucco molto interessante in matematica: quello di usare le funzioni generatrici. Una funzione generatrice è un modo per “impacchettare” una successione di interi nei coefficienti di un polinomio fittizio. La funzione generatrice per un dado è così \( x + x^2 + x^3 + x^4 + x^5 + x^6 \), che rispecchia per l’appunto il fatto che i valori da 1 a 6 (i coefficienti da \( x \) a \( x^6 \) sono tutti 1. L’equivalente di lanciare due dadi è moltiplicare questa funzione per sé stessa: se ci pensate un attimo, infatti, i fattori \( x^k \) sono ottenuti dalle moltiplicazioni \( x^h \cdot x^l \), dove \( h + l = k \); quindi è proprio la definizione di funzione generatrice. Abbiamo così che il lancio di due dadi corrisponde alla funzione generatrice \( (x + x^2 + x^3 + x^4 + x^5 + x^6)^2 \), che si fattorizza come \( (x(x+1)(x^2-x+1)(x^2+x+1))^2 \). Il trucco è ora quello di scrivere questo polinomio di dodicesimo grado come prodotto di due polinomi (i due dadi…) sapendo che ciascuno dei due polinomi deve avere un fattore \( x \) (altrimenti come otteniamo 2 = 1+1?), che i coefficienti siano tutti positivi (mica possiamo avere un numero negativo di facce con un certo numero di punti) e che la somma di tutti i coefficienti deve essere 6 (un dado ha sei facce). Per verificare la somma dei coefficienti basta calcolare il valore del polinomio per \( x = 1 \), ottenendo 1 per \(x\), 2 per \(x + 1\), 1 per \(x^2 – x +1 \) e 3 per \(x^2 + x +1 \). Abbiamo visto che i due fattori \(x\) stanno uno per polinomio; quindi anche i \(x^2 + x +1 \) devono essere separati o altrimenti un polinomio avrebbe somma dei coefficienti almeno 7. A questo punto anche i due \(x + 1\) devono essere separati per lo stesso motivo. Se separiamo anche i due \(x^2 – x +1 \) otteniamo i dadi di partenza; se invece li lasciamo insieme otteniamo i due polinomi \( x + 2x^2 + 2x^3 + x^4 \) e \( x + x^3 + x^4 + x^5 + x^6 + x^8 \) che sono effettivamente funzioni generatrici e corrispondono per l’appunto ai dadi di Sicherman.

Non so se siete riusciti ad arrivare fino in fondo alla dimostrazione teorica: confesso che dovendo scrivere il post ho finalmente capito come funzionano le funzioni generatrici. Non è mai troppo tardi… Fortunatamente non è necessario tutto l’armamentario teorico per verificare che i dadi funzionano, ma basta il conto pratico visto sopra.

Chissà, magari si possono comprare dei dadi di Sicherman per stupire i nostri amici quando giochiamo…

Ultimo aggiornamento: 2026-03-04 11:58

Addizione pitagorica

Sappiamo tutti che l’ipotenusa di un triangolo rettangolo di cateti 3 e 4 è lunga 5. Cosa succede se invece che scrivere \( \sqrt (3^2 + 4^2) = 5 \) decidessimo la formula 3 ⊕ 4 = 5? Avremmo definito una nuova operazione, che possiamo chiamare addizione pitagorica. Che proprietà ha questa operazione? Innanzitutto è commutativa, come la normale addizione: \( a \oplus b = b \oplus a \). È anche associativa: \( ( a \oplus b ) \oplus c = a \oplus (b \oplus c) \), e quindi possiamo scrivere \( a \oplus b \oplus c \) senza parentesi, il che tra l’altro ci dà la lunghezza della diagonale maggiore di un parallelepipedo. E ovviamente – non ve lo devo mica dimostrare, vero? – abbiamo che \( a \oplus b \lt a + b \), a meno che uno tra i due operandi sia nullo.

Ma ci sono anche altri usi dell’addizione pitagorica, tanto che molti linguaggi di programmazione la implementano come la funzione hypot (ipotenusa, senza grande fantasia). Per esempio, se dobbiamo convertire un numero in coordinate cartesiane \(a, b\) nell’equivalente in coordinate polari \(r, \theta \) applichiamo le formule \( r = x \oplus y; \theta = \textrm{atan2}(y,x) \). Un altro uso è quello per calcolare il valore efficace, detto anche media quadratica, di due valori, che è dato dalla loro somma pitagorica scalata di un fattore \( \tfrac{1}{\sqrt 2} \); più in generale la media quadratica di \( n \) valori ha come fattore di scala \( \tfrac{1}{\sqrt n} \).

Una curiosità è che nella maggior parte dei casi pratici di operazioni fatte al computer la radice quadrata serve solo per calcolare l’addizione pitagorica. Soprattutto con i primi calcolatori, quindi, si è cercato di trovare un algoritmo meno complesso computazionalmente, e già che si era lì di trovarlo “robusto”. Se i due operandi sono molto grandi, infatti, il calcolo naïf può portare a un overflow. Nel 1983 hanno così descritto un metodo iterativo che sostituisce man mano ai due numeri di partenza altri due numeri con la stessa somma pitagorica ma col secondo che diventa sempre più piccolo: quando arriva praticamente a zero, per definizione il primo numero è il risultato. Oggi ci sono metodi molto più semplici, anche perché possiamo permetterci il lusso di avere tabelle di lookup molto grandi che riducono enormemente il numero di operazioni necessarie; ma volete mettere il divertimento dei due ricercatori?

Ultimo aggiornamento: 2026-02-26 12:12

Quante molecole di emoglobina produciamo al secondo?

Lunedì ho ignominosamente ciccato una stima alla domanda del titolo, rispondendo “un miliardo”. A mia parzialissima discolpa, ho davvero tirato a indovinare, senza pensarci su: adesso provo a fare i conti spannometrici, come in ogni problema di Fermi che si rispetti, per vedere se vado un po’ meglio. I problemi di Fermi, se non lo sapeste già, sono quelli in cui bisogna dare una stima sensata della risposta senza andarla a cercare, usando magari in modo creativo tutte le reminescenze che vi vengono in mente.

Da dove parto? Da buon ex donatore di sangue, so che ci sono in media 4,5 milioni di globuli rossi per millimetro cubo di sangue, e che un globulo rosso vive una novantina di giorni. Inoltre il corpo umano ha circa 5 litri di sangue, che possiamo approssimare a 5 decimetri cubi. Arrotondando i numeri e usando la notazione esponenziale abbiamo 5·10^6·5·10^7 = 2,5·10^13 globuli rossi, diviso 100·10^5 = 2,5·10^6 globuli rossi prodotti per secondo. Questa è diciamo la parte facile, ed è una stima particolarmente corretta: qui per esempio dicono 2,4 milioni. Occhei, la fortuna del dilettante. Per quanto riguarda le molecole di emoglobina, mi trovo molto più a disagio e mi tocca arrampicarmi sugli specchi. Sempre come ex donatore so che la percentuale di emoglobina nel sangue è tra il 12 e il 18%, che arrotondo a 0,1 cioè un decimo. Abbiamo quindi circa 500 grammi di emoglobina nel sangue, che saranno come ordine di grandezza una mole: la molecola avrà un’ottantina di atomi, così ad occhio. Quindi il numero totale di molecole di emoglobina è il numero di Avogadro, 6·10^23, e quindi abbiamo circa 2·10^10 molecole di emoglobina per globulo rosso. Stavolta ho sbagliato per difetto di un fattore 100, banalmente perché una molecola di emoglobina è molto più grande di quello che pensavo: pesa circa 68.000 Dalton e non 500. Non si può avere sempre fortuna… In definitva il mio valore di 5·10^16 atomi è sbagliato rispetto alle stime tra 4,7 e 7·10^18 atomi, ma sicuramente molto più vicino alla realtà del valore che avevo tirato a indovinare.

Commenti? Per risolvere un problema di Fermi occorre avere conoscenze di tutti i tipi. Io avevo quelle empiriche da donatore di sangue, quelle delle misure standard come i circa 100.000 secondi in un giorno (sì, sono 86.400, ma qui si arrotonda), le reminescenze scolastiche come il numero di Avogadro ma mi mancavano quelle di chimica organica. Due ordini di grandezza di errore su un quintilione (americano: in italiano sarebbe un trilione) sono tanti o pochi? Decidete voi. Intanto mi porto a casa un valore di grandezza (una molecola complessa) che potrà servirmi in futuro per altri problemi di Fermi…

Un racconto sulle dimostrazioni a conoscenza zero

La scorsa settimana vi avevo promesso di dire qualcosa di più sulle dimostrazioni a conoscenza zero. Lo faccio ispirandomi a questo articolo di Jean-Jacques Quisquater e Louis Guillou, dal titolo (nella traduzione inglese fatta con Tom Berson) “How to Explain Zero-Knowledge Protocols to Your Children”. La mia non è ovviamente una traduzione, perché violerei il copyright, ma un racconto simile. Pronti?

Qualche mese fa mi è arrivata una lettera che aveva dell’incredibile. Pare che un mio bisnonno fosse un collaboratore di Houdini, e avesse collaborato con lui alla creazione di un gioco di prestigio che il grande mago non ebbe mai la possibilità di mettere in pratica per la sua morte inaspettata. Le ultime volontà che sussurrò al mio bisnonno furono di mantenere il segreto e confidarlo solo a un suo parente laureato in matematica. Il mio bisnonno cercò invano di convincere i suoi figli e poi i suoi nipoti a darsi alla matematica, senza alcun risultato. Prima di morire lasciò le istruzioni e una certa somma di denaro a uno studio legale, che finalmente cominciò a fare ricerche anche sui rami collaterali arrivando finalmente a trovare me. Ma qual era questo gioco di prestigio?
le stanze segrete
Si tratta di un esperimento di manipolazione del pensiero. Ci sono due stanze, come in figura, che vengono mostrate a chi vuole partecipare al gioco. Le stanze hanno solo una porta di ingresso, e c’è un corridoio a gomito che non permette di vedere quale viene aperta. Il mago entra nel corridoio, e quando il partecipante è pronto entra in una stanza. A questo punto il partecipante arriva e bussa a una porta… e il mago esce invariabilmente dall’altra. Il trucco è ingegnoso: le due stanze sono in realtà comunicanti, perché la parte arancione della parete che le divide è scorrevole. La parte davvero complicata è capire come farla scorrere. Le piastrelle ai lati della parete sono collegate a un insieme di ingranaggi, e c’è una (lunga) combinazione di pressioni sulle varie piastrelle che permette di azionare il meccanismo. La lettera che ho ricevuto conteneva un’altra busta chiusa con la combinazione da usare, che ho imparato a memoria prima di distruggere il foglio.

Come sfruttare questa conoscenza? Ho pensato di registrare una trasmissione televisiva dove dimostro la mia capacità non tanto di leggere nel pensiero ma di sapere attraversare i muri. Una troupe è venuta con me, ha filmato le stanze e poi siamo tutti usciti dalla struttura. A questo punto io sono entrato da solo; una volta dentro il conduttore ha lanciato una moneta e a seconda se fosse uscito testa o croce mi diceva “esci dalla porta di destra” oppure “esci dalla porta di sinistra”, cosa che potevo fare senza problemi. Abbiamo ripetuto la stessa scena quarantadue volte, tra una battuta e l’altra. Una volta, due, tre potevo essere stato fortunato: ma con quarantadue volte era chiaro che potevo davvero attraversare i muri, in un modo o nell’altro!

Tutto bene? Macché. Quelle stanza erano parte della Fondazione Houdini, e quindi chiunque poteva visitarle. Un network concorrente chiese la possibilità di accesso per mezza giornata, e filmò esattamente la stessa mia scena. Naturalmente per circa metà delle volte il mio alter ego non poté uscire dalla porta giusta, ma questo non era affatto un problema: in fase di postproduzione tagliarono tutti i tentativi infruttuosi e il giorno e l’ora stessa in cui il mio programma andò in onda trasmisero la loro versione, per dimostrare che era tutta una finta. Siamo andati in tribunale, e i giudici hanno visionato fotogramma per fotogramma le due registrazioni: non c’era nessuna possibilità di capire quale fosse reale. Addio ai miei sogni di gloria.

Questo racconto evidenzia le tre caratteristiche di base delle dimostrazioni a conoscenza zero. La prima è che, come avevo già detto la settimana scorsa, una dimostrazione a conoscenza zero non dà mai la certezza, ma solo una probabilità che possiamo rendere grande a piacere di essere vera. Questo può spaventare un matematico, abituato alla precisione totale: ma qui lavoriamo fuori dall’iperuranio e possiamo permetterci un po’ di sciatteria. La seconda caratteristica è forse la più sconcertante: la “prova della dimostrazione” non è a sua volta una dimostrazione! Infatti la troupe che ha girato le scene con me è convinta che io possa attraversare il muro tra le due stanze, non importa come, ma la presunta prova (il video con la mia performance) può essere ricreato anche senza conoscere il segreto del passaggio tra le due stanze, proprio come col filmato che avevo proposto la settimana scorsa. Infine la terza caratteristica è legata alla casualità. Quando entro in una stanza, nessuno sa quale sarà l’esito del lancio della moneta! Se non fosse così e una successione di esiti fosse definita a priori, il mio alter ego saprebbe già dove andare, e chiunque giuardasse il video – che stavolta non deve nemmeno essere editato – penserebbe che anche lui conosce il segreto. Insomma, se vogliamo essere convinti della dimostrazione a conoscenza zero dobbiamo per forza introdurre un elemento di casualità.

C’è altro? Sì. ma ne parlerò un’altra volta :-)

Ultimo aggiornamento: 2026-02-11 10:34