Saranno passati quindici anni…

Dal blog è possibile inviarmi un messaggio, come ho detto qualche volta. Stamattina me ne è arrivato uno da un improbabile indirizzo Dr. Lydia Williams (che non penso sia la portiera della nazionale australiana di calcio) con testo

Hi there,

I have spotted a broken link on your website.

Is this the right place to report it?

Best,
Lydia

Quindici anni fa, quando i blog erano di moda, mi era capitato di ricevere un messaggio di questo tipo, che nasce evidentemente per cercare un’interazione: di link 404 da me ce ne sono a bizzeffe, ma se uno fosse davvero così gentile da segnalarmeli, a parte che presumibilmente mi scriverebbe in italiano e non in inglese, mi direbbe anche qual è il link che non funziona. Mi stupisco che ci sia ancora qualcuno che lo faccia.

Matematici a fumetti (libro)

copertina Questo libretto nasce da un progetto della SUPSI (trovate tutto, anche il fumetto, sul loro sito): la matematica Silvia Sbaragli, con la collaborazione del disegnatore Andrea De Carli, ha immaginato che la ragazzina Ellie, con ben poca voglia di studiare matematica, usi l’ultima invenzione di suo zio Angelo e incontri i grandi matematici del passato. Le storie sono però una scusa per introdurre concetti mamematici: l’ultima vignetta di ciascun incontro spiega infatti come funziona quello che è appena stato raccontato.
A me lo stile dei disegni non piace molto, ma ho apprezzato il metaumorismo che spunta qua e là, e spero che il libro possa piacere ai veri destinatari, cioè le ragazze (più che i ragazzi, secondo me)

Silvia Sbaragli e Andrea De Carli, Matematici a fumetti, Dedalo 2021, pag. 64, € 17, ISBN 9788822057068 – come Affiliato Amazon, se acquistate il libro dal link Bezos mi dà qualche centesimo dei suoi utili
Voto: 4/5

Errore HTTP 418

L’altro giorno ho aperto un sito e mi è arrivato un messaggio di errore “418 I’m a teapot”. Sono andato a cercare informazioni, e ho scoperto che quel codice di errore era stato ideato come pesce d’aprile nel 1998 (RFC 2324, Hyper Text Coffee Pot Control Protocol), con il significato “Il server si rifiuta di fare il caffè perché è una teiera”. Attenzione: se il server è una macchinetta del caffè che può erogare caffè e tè ma ha finito il caffè l’errore sarebbe diverso (503, server non disponibile). Il codice di errore è stato usato così tanto che l’RFC 9110 ha deciso di riservare quel codice, per evitare problemi futuri.

Ah, non confondete questo messaggio di errore con HTTP 451, “Unavailable For Legal Reasons”, che è stato definito apposta con quel numero…

Astronomia e politica

I mesi del calendario islamico cominciano quando si può vedere la prima falce di luna, il che mi fa pensare che in Arabia il cielo serale fosse praticamente sempre sereno. Immaginavo che ormai si verifichi direttamente quando c’è la luna nuova astronomica; ma le cose non sono così semplici, a quanto sembre. Ieri in Arabia Saudita è cominciato il Ramadan: ho fatto gli auguri al mio amico Yagoub che mi ha risposto che comincerà oggi: più precisamente “Qui in Europa hanno detto che scientificamente è nata la luna ma impossibile vederla quindi Ramadan sarà domani.” E in effetti anche in Egitto il Ramadan comincia oggi.
Il problema non è chiaramente la vista da falco dei sauditi: tra l’altro la luna nuova di febbraio 2026 è coincisa con un’eclissi solare, e il sole era a 12 gradi di altezza, il che significa che al tramonto di luna se ne poteva vedere davvero poca. Evidentemente, come dice Yagoub, è tutta una questione di politica, un po’ quando la Pasqua cattolica e ortodossa sarebbero teoricamente lo stesso giorno ma quella cattolica va avanti di una settimana “perché il plenilunio è arrivato dopo il tramonto del sabato, anche se prima di mezzanotte”.

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…

Ancora sulle dimostrazioni a conoscenza zero

Ultima puntata, almeno per il futuro prevedibile, sulle dimostrazioni a conoscenza zero. Stavolta il punto di vista è però un po’ diverso: spiegherò cosa c’è filosoficamente dietro a questo tipo di dimostrazioni, basandomi essenzialmente su questo vecchio post di Matthew Green.

Per prima cosa, il concetto nacque una quarantina d’anni fa, come spinoff degli studi sui sistemi di dimostrazione interattiva, dove un Dimostratore deve convincere un Verificatore che una certa affermazione matematica è vera. Il Verificatore ha a disposizione molte meno risorse computazionali del Dimostratore, altrimenti il problema non si porrebbe nemmeno. Fino alla metà degli anni ’80 del secolo scorso gli studi erano orientato sul vedere se il Verificatore poteva avere fiducia del Dimostratore, oppure quest’ultimo poteva fregarlo: Shafi Goldwasser, Silvio Micali e Charles Rackoff hanno pensato invece di rovesciare il punto di vista, chiedendosi “e se fosse il Verificatore quello di cui non ci fidiamo?” L’esempio che fa Green è quello delle password Unix. Il server salva una versione codificata (hash) della password più alcuni caratteri casuali (il salt); quando l’utente si collega manda la password, il sistema ricalcola l’hash e se coincide con quello salvato fa entrare l’utente, perché sa che l’utente conosce la password. Questo però significa che se il server è compromesso allora il cracker vede la password in chiaro: non esattamente una bella idea. Si può fare di meglio? La risposta è stata “(statisticamente) sì: posso avere una probabilità alta a piacere che il Verificatore riesca solo a sapere il bit di informazione “l’affermazione è vera”.

L’esempio fatto è diverso da quello delle due porte fatto la scorsa settimana, e rende forse più l’idea di come vanno le cose: poi il raccontino, pensato originariamente da Micali, è anche divertente. Io ho un grafo molto grande, e vorrei che i vertici fossero colorati con solo tre colori in modo che due vertici adiacenti non abbiano mai lo stesso colore. Questo mi può per esempio servire per una rete di trasmissione radio: due celle troppo vicine non possono usare le stesse frequenze, perché altrimenti i segnali interferirebbero. Il problema è computazionalmente pesante, NP completo: Google ha dirottato un bel po’ delle sue TPU dai chatbot per risolverlo, e adesso mi dice che ha la soluzione e mi chiede i soldi. Siamo però in un vicolo cieco: io non pago se non sono sicuro che la soluzione ci sia davvero, e Google non me la vuole mostrare finché non pago. Che fare? Basta avere un capannone abbastanza grande; pennarelli di tre colori; tanta, tanta carta. E un bel po’ di cappelli, come omaggio ai problemi di logica. Io disegno il mio grafo (diciamo con 1000 archi che uniscono i vertici) su un enorme foglio di carta ed esco; gli amici di Google scelgono a caso un associazione tra i colori dei pennarelli e la colorazione del grafo, e poi mettono un cappello sopra ogni vertice. Quando sono rientrato, scelgo un arco qualunque che connette due vertici. Google toglie i cappelli che coprono i due vertici: se i colori sono identici sono certo che mi aveva preso in giro e non aveva la soluzione, se invece sono diversi potrebbe avere ragione. Certo, avrebbe ancora una probabilità dell’ordine del 99,9% di avere solo avuto fortuna, visto che non posso sapere cosa c’è dietro tutti gli altri archi. Però Google mi dice che posso rifare l’esperimento quante volte voglio. Ogni volta si partirà da un’associazione casuale dei colori, quindi non posso sperare di costruirmi man mano una mappa; in compenso posso sempre scegliere l’arco che voglio. A furia di moltiplicare fattori 0,999 (il 99,9%), la probabilità che sia solo questione di fortuna può essere resa piccola a piacere. C’è persino un gioco interattivo, se volete divertirvi.

La definizione di un protocollo a conoscenza zero, secondo gli autori, deve soddisfare tre proprietà:

  1. Completezza: se il Dimostratore ha effettivamente una dimostrazione, deve convincere il Verificatore con una probabilità prossima a piacere al 100%.
  2. Validità: il Dimostratore può convincere il Verificatore solo se effettivamente ha una dimostrazione.
  3. Conoscenza zero Il Verificatore non avrà nessuna idea di quale possa essere la soluzione.

L’esperimento visto soddisfa sicuramente i primi due punti. Per il terzo, l’equivalente del video editato nell’esempio della settimana scorsa, le cose si fanno più fantascientifiche. Supponiamo che Google non sia in realtà riuscita a trovare una colorazione. In compenso uno dei loro progetti segreti è il prototipo di una macchina del tempo. Essa funziona perfettamente: l’unico problema è che al momento permette di tornare indietro solo di 314,15926… secondi. Avere poco più di cinque minuti è però sufficiente: se si acccorgono che sto scegliendo un arco i cui vertici hanno lo stesso colore, mandano un segnale e un tecnico torna indietro nel tempo, cambiando la colorazione ma lasciandola sempre casuale: il tutto fino a che non si ha uno schema dove i vertici hanno colori diversi. Il tutto senza che io mi possa accorgere di niente, ovviamente. Cosa significa tutto questo? Che se per assurdo io avessi una strategia che “estrae” informazione dopo avere osservato i due colori, estrarrei la stessa informazione anche nel caso che la macchina del tempo fosse stata messa in funzione. Ma in questo secondo caso la soluzione al mio problema non esiste: quindi l’assunto di partenza è falso e io non posso estrarre informazione.

Nell’ambito informatico, tutto questo si ottiene mediante uno “schema d’impegno” (commitment scheme). Il ruolo della macchina del tempo è banalmente il rilanciare il programma corrispondente al Dimostratore più volte. La morale di tutto ciò è che viviamo in un mondo difficile, dove non ci si può mai fidare di nessuno, ma per fortuna la matematica ci aiuta a ritrovare questa fiducia!

La sanità lombarda non riesce a parlare a sé stessa

Come sapete se leggete il mio blog, è un paio d’anni che Regione Lombardia chiama le persone che hanno fatto una prenotazione per verificare se ci vanno davvero. Fin qui nulla di male, ormai mi sono salvato in rubrica il numero e so già che dire.

È però successo che avevo prenotato una visita per Jacopo da effettuarsi il 26 febbraio, ma poi abbiamo scelto di farne una a pagamento. Così l’altro ieri sono entrato nel fascicolo sanitario e ho revocato la visita. Tutto semplice, pochi clic, un minimo di verifiche e via. Peccato che mi abbia appena chiamato il numero verde per confermare la visita. Io dico “guardi che l’ho già revocata”, l’addetta va a video, mi chiede per sicurezza la data di nascita del pargolo e dice “sì, in effetti è stata revocata”.

Ma è davvero tanto difficile fare un controllo prima di dare la lista delle chiamate?

Inps, parlare con te è un’esperienza

Ho due figli minorenni e quindi ho diritto all’assegno unico (di valore minimo, visto il mio ISEE, ma non è questo il punto). L’ho regolarmente ricevuto fino a che qualche mese fa decisi inopinatamente di spostare l’accredito sul mio conto Revolut, che poi è quello che uso per dare la paghetta ai figli. Tutto bene? No. Un mese fa mi accorgo che i soldi non mi arrivano più. Entro nel sito, leggo più attentamente, e scopro che poiché il conto Revolut ha un IBAN non italiano devo allegare un certificato di titolarità del conto. Ci sta, penso: quindi scrivo allegando il certificato e già che ci sono il documento di identità rinnovato. Dopo qualche giorno mi arriva la risposta: ho inviato la tessera sanitaria anziché la carta d’identità. Cretino io, rispondo stavolta con la carta d’identità. Da qua comincia il teatro dell’assurdo.

Risposta (sempre dopo qualche giorno): «Buongiorno, abbiamo acquisito la documentazione allegata ed avviato la procedura per la verifica della titolarità dell’IBAN. Tuttavia da verifiche effettuate nella domanda di AUU è presente un IBAN diverso. Pertanto si invita ad inserire il nuovo IBAN in domanda modificando le modalità di pagamento.»

Controrisposta mia: «Non riesco a capire. Fino all’anno scorso avevo un IBAN, poi ho chiesto di cambiarlo. Per forza adesso è diverso. Volevate documentazione ulteriore perché questo IBAN non è italiano, e ve l’ho mandata. Che altro serve?»

Ultima risposta: «Buongiorno, abbiamo acquisito la documentazione ed avviato la procedura per la verifica della titolarità dell’IBAN. A seguito della verifica si procederà allo sblocco dei pagamenti. Cordiali saluti »

Ora, io sono un imbecille, e questo dovrebbe essere chiaro. Ma non è che dall’altra parte siano messi molto meglio…