Biliardi come macchine di Turing

Il biliardo di Turing Premetto che ho solo dato una rapida occhiata a questo post. Ma il risultato è incredibile. Definiamo un biliardo come una superficie bidimensionale senza attrito al cui interno si trova una particella puntiforme che si muove con velocità costante, e ogni volta che tocca un punto del contorno della superficie rimbalza con un angolo simmetrico a quello con cui l’ha colpita. Fin qui nulla di strano. Eva Miranda e Isaac Ramos hanno dimostrato che è possibile codificare una macchina di Turing con un biliardo il cui contorno è formato solo da segmenti e archi di parabola. Il risultato pratico è che anche un sistema passivo (una volta data direzione e punto di partenza è tutto definito) in uno spazio bidimensionale continuo ha sufficiente potenza elaborativa per compiere qualunque operazione calcolabile. (Immagino che vi siate ricordati che anche Life di Conway è Turing-completo; ma quello è un sistema bidimensionale discreto). Un corollario notevole è che anche un sistema totalmente deterministico come il nostro biliardo può avere un comportamento indecidibile (cioè non è detto sapere se il percorso del nostro punto si ripeterà prima o poi, oppure no) per un motivo puramente logico, senza dovere mettere in campo l’impossibilità quantistica di fare una misura perfetta. Il nostro universo è insomma sempre meno possibile da comprendere, anche solo in linea teorica…

Una ricetta per interagire con i chatbot

Sono passati tre anni da quando il primo ChatGPT “serio” è stato reso pubblico, eppure sembra passato chissà quanto tempo. SOno usciti non so quanti libri che dicono che ci insegneranno a usarli in maniera perfetta: la mia sensazione è che la maggior parte di essi siano stati scritti usando un LLM, a giudicare dal loro stile. Ho invece trovato molto utile questo rapido tutorial di Alberto Romero, che lui dice poter essere letto in dieci minuti e messo in pratica in una giornata. Quello che mi è piaciuto è il suo approccio pragmatico – quello che in inglese si dice no-nonsense – e soprattutto il fatto che mi ha aiutato a focalizzare qualcosa che facevo già intuitivamente e mi ha dato qualche spunto in più. Provo quindi a raccontarvelo, aggiungendo le mie considerazioni personali. Il tutorial è diviso in quattro parti: la seconda e la terza sono più tecniche, anche se non dovete aspettarvi delle formule precotte ma sempre solo delle idee da mettere in pratica: la prima e la quarta sono più speculativve e quindi le migliori almeno dal punto di vista di uno come me che è più interessato al perché che al come.

Punto 1: Tenere presente con cosa si ha a che fare. Romero ci consiglia di vedere un LLM come uno strumento alieno, qualcosa di ben distinto sia da un motore di ricerca che da un essere umano. Un motore di ricerca trova (quando va bene, aggiungo io) qualcosa che c’è già; nell’interazione con un essere umano diamo implicitamente per scontata una quantità di nozioni di mutua conoscenza, che ci aiuta a imparare nuove cose. Un LLM non è nulla di tutto questo: il suo funzionamento è statistico, il che significa che non trova nulla di nuovo (nel senso che siamo noi a dare un significato a quello che emette) e che non è nemmeno capace di copiare quello che ha in pancia. Da qui il suo “essere alieno”, o meglio il fatto che non dobbiamo trattarlo secondo i nostri vecchi schemi. Il suo motto è “tutto è parzialmente chatgptabile”: l’enfasi è sul “tutto”, ma anche e soprattutto sul “parzialmente”. Come riassunto, L’AI è brava a:

  • Scrivere in pochi minuti una bozza che ci richiederebbe delle ore;
  • Completare dei nostri abbozzi di idea (presumendo che qualcun altro li abbia già avuti);
  • Riformattare, nel senso di cambiare la forma di un documento in un modo qualunque;
  • Farci da assistente, ma solo se conosciamo già l’argomento (non è un controsenso: uno può avere un’idea generale di un tema, ma non voler perdere tempo con i particolari, che il chatbot troverà per noi);
  • Scrivere codice per problemi ben definiti (valgono le stesse considerazioni scritte qui sopra).

Quello su cui invece l’AI non è brava è:

  • Tutto ciò che richiede delle competenze che non possiamo verificare;
  • Capire quando sta sbagliando (a parte che molti chatbot si ostinano a dire di aver ragione…);
  • La conoscenza sottintesa, cioè quello che non possiamo scrivere esplicitamente perché sarebbe troppo lungo da spiegare;
  • Ragionamenti innovativi o scoperte genuine (di nuovo, magari noi possiamo sfruttare il suo output per fare un ragionamento innovativo, ma è l’equivalente di prendere delle frasi a caso e vedere cosa ci viene in mente);
  • Consistenza a lungo termine: dopo un po’ si dimentica del contesto e parte per la tangente.

Punto 2: Non affannatevi a cercare il prompt perfetto. I prompt continueranno a essere necessari per interagire con le IA, ma più che studiare il prompt perfetto – che tanto non esiste – limitatevi a scrivere qualcosa di specifico per il compito da da fare. Il prompt non deve essere generico: anzi deve dare tutto il contesto necessario, dato che come detto sopra non possiamo assumere una conoscenza sottintesa. Specificate tutto quello che date per scontato, insomma: non è detto che lo sia – nel senso che statisticamente lo abbia trovato normalmente nel suo materiale di addestramento – per un LLM.

Punto 3: Esercitatevi sugli usi che vi servono di più. Qui il punto è che dovete imparare a riconoscere quali sono i punti deboli dell’IA rispetto alle vostre necessità, perché sono quelli su cui poi lavorerete dopo che avete ottenuto il primo risultato. Ecco alcuni degli esempi di Romero. (a) L’acceleratore di ricerca: dare in pasto un testo e fare domande specifiche, non “riassumimelo” ma “quali sono i tre punti principali del testo e come sono supportati dall’evidenza”, aggiungendo magari “io sono esperto in X e Y”. (b) Il generatore di bozze: questo è specialmente utile se avete la sindrome del foglio bianco, e permette poi di sfruttare una fissa dei chatbot: gli elenchi puntati, che si possono poi riordinare a piacere. (c) L’amico immaginario, a cui descrivere un problema che ci blocca, chiedendogli di essere onesto e non accondiscendente (funziona meglio con Gemini e Claude, rispetto a ChatGPT); in questo caso conviene chiedere di dare più opzioni, per evitare di avere la solita risposta con sicumera. (d) Chiedere una spiegazione a livelli diversi: evitare il “spiegamelo come se fossi un bambino di cinque anni” o “spiegami questo argomento”, ma come sempre specificare cosa sappiamo. (e) Trasformare formati, tipo da elenco puntato a prosa, da note prese in riunione ad action point, da un testo lungo a uno più breve; funziona meglio con testi scritti da noi, come sempre, perché possiamo verificarli meglio.

Punto 4: Imparare cosa non si può fare con gli strumenti IA. Abbiamo già visto alcune cose per cui l’IA non funziona. Non fidatevi delle sue affermazioni senza verificarle; un chatbot è felicissimo di darvi citazioni di libri e articoli che non esistono, o dicono tutt’altro (mi è capitato con Perplexity). Non usatelo per nulla di critico che non siete in grado di valutare: l’IA serve per accelerare un lavoro che sapreste fare, non per farne uno che non conoscete. Non dategli nulla di privato: io personalmente non mi fiderei neppure dei sistemi che dicono che non usano i vostri input per l’addestramento. Non ostinatevi a cambiare prompt se non vi arriva una risposta utile: o dovete aggiungere contesto, oppure è un compito per cui l’IA non funziona. Infine, va vene trattare il chatbot come un interlocutore, ma non esagerate col pensarlo un essere umano come noi.

Se avete saltato tutto il testo e siete arrivati a quest’ultimo capoverso, ecco un megariassunto in due punti: non antropomorfizzate i chatbot, e usateli per cose che siete in grado poi di verificare. Se vi attenete a questi due punti, andrà tutto bene.

Quizzino della domenica: Indovina il numero II

783 – logica

Ricordate il quizzino della scorsa settimana? Bisognava scoprire un numero tra 1 e 216 in ventun domande di risposta sì/no, sapendo che al massimo una risposta data era falsa. Bene: riuscite a farcela in 18 sole domande?

interrogativi ed esclamativi
(trovate un aiutino sul mio sito, alla pagina https://xmau.com/quizzini/p783.html; la risposta verrà postata lì il prossimo mercoledì. Problema da Tanya Khovanova; immagine di GDJ, da OpenClipArt.)

La formula più bella del mondo (libro)

copertina Se chiedete a un matematico quale sia la formula più bella del mondo, vi risponderà quasi sicuramente quella di Eulero e + 1 = 0: più che altro questa formula ormai vive di vita propria e nessuno fa il minimo sforzo di provare a sceglierne un’altra. (Però sarebbe bello rispondere “1 + 2 + 3 + 4 + … = −1/12”, non trovate?)
Ad ogni buon conto, Paolo Gangemi e Francesco C. Ugolini hanno preso questa formula, l’hanno vivisezionata e preso le cinque costanti numeriche ivi presenti per vedere come appaiono in matematica ma soprattutto al di fuori di essa. Soprattutto lo zero e l’uno hanno indubbiamente una vita propria in tantissimi campi umanistici, ma se si fa un po’ di attenzione si scopre che anche le altre tre costanti non si trovano solo in matematica ma anche altrove. Sì, anche l’unità immaginaria, che ha colpito la fantasia di tanti letterati, da Robert Musil a Evgenij Zamjatin, proprio perché è un numero ma è anche altro. Come immagino abbiate capito, la matematica è solo una scusa per un testo che è fondamentalmente umanistico, anche se in appendice c’è una derivazione formale della formula, partendo dagli sviluppi in serie infinita delle funzioni seno e coseno. Il libro è consigliato a chi vuole evitare di avere una visione troppo settoriale della conoscenza, insomma!

Paolo Gangemi e Francesco C. Ugolini, La formula più bella del mondo : Quando su Eulero si posò la mano di Dio, Bollati Boringhieri 2025, pag. 144, € 18, ISBN 9788833943978 – come Affiliato Amazon, se acquistate il libro dal link Bezos mi dà qualche centesimo dei suoi utili
Voto: 5/5

Superminimi assorbiti

Il post di oggi è parecchio tecnico, e quindi comincio con una lunga spiegazione per chi non è un lavoratore dipendente. I contratti collettivi di lavoro (CCNL) stabiliscono i minimi tabellari: in pratica se tu sei un lavoeratore inquadrato in un certo livello (e hai un lavoro a tempo pieno) il tuo stipendio deve essere almeno pari a quanto indicato nel contratto. Questo è il cosiddetto “minimo tabellare”. Le aziende possono poi decidere nella loro infinita bontà di dare più soldi del minimo per premiare i lavoratori che a loro parere fanno più di quanto richiesto: questo viene chiamato “superminimo”. Il superminimo a sua volta può essere definito “non assorbibile”: in questo caso, nel caso di un aumento del minimo tabellare, il lavoratore continuerà a ricevere uno stipendio pari al nuovo minimo più il suo superminimo. In caso contrario l’aumento si dice “assorbibile”; il minimo tabellare aumenta ma lo stipendio no, perché l’aumento dei minimi viene scalato dal superminimo.

Fino al 2018 la mia azienda non ha mai assorbito gli aumenti dovuti ai CCNL. Lo ha fatto allora per la prima volta (per una miseria, tra l’altro: 50 euro lordi in tre anni…) e c’è tutta una sfilza di cause davanti al giudice del lavoro che sta perdendo, perché la giurisprudenza ha affermato che era invalsa una prassi che non poteva essere eliminata in quel modo. Nel contratto 2021 venne aggiunta una clausola a latere dove le aziende del settore si impegnavano a non assorbire l’aumento (ma parecchie l’hanno fatto lo stesso: a quanto pare lo potevano fare, perché la contrattazione individuale prevale). In questo contratto non hanno voluto aggiungere una simile clausola. Ieri è arrivata una lettera formale ai sindacati in cui l’azienda afferma

con la presente – tenuto anche conto di quanto allo stato affermato dalla giurisprudenza – comunichiamo la formale disdetta di tutti gli eventuali usi aziendali e/o prassi in tema di non assorbibilità dei superminimi e, in generale, di tutti i trattamenti individuali a qualsiasi titolo riconosciuti senza una espressa e formale indicazione di non assorbibilità.

La disdetta avrà corso dal primo febbraio, quindi la tranche di aumento di gennaio sarà comunque erogata. Per il futuro, chissà: l’azienda si lascia le mani libere per decidere a chi assorbire un aumento e a chi no. Il mio pensiero, oltre alla considerazione che l’unico tipo di aumento di merito che dovrebbe essere assorbibile è quello dato per anticipare un rinnovo di contratto che va per le lunghe, è che la cosa mi pare un’idiozia. In pratica si vole penalizzare i lavoratori migliori che non vedranno un euro di aumento: potete immaginare con che voglia continueranno a lavorare. Il tutto poi capita nello stesso momento in cui sono stati nominati 23 nuovi dirigenti. Contenti loro…

PS: a scanso di equivoci, il mio superminimo è tutto non assorbibile, perché deriva da un accordo di armonizzazione quando c’è stata una razionalizzazione delle società del gruppo. Insomma non sto parlando pro domo mea.

confer

State usando sin troppo i chatbot, ma non vi piace che i vostri inconfessabili segreti siano in qualche modo visibili a chi non vorreste? Confer potrebbe essere la vostra scelta. Come racconta ArsTechnica, questo chatbot è stato creato da “Moxie Marlinspike”, lo pseudonimo usato dallo sviluppatore che ha creato Signal, e nasce esplicitamente per fare in modo che i dati trasferiti siano illeggibili da chiunque non sia voi. Per farlo, genera una passkey sul vostro dispositivo, che vi permette appunto di crittografare tutti i dati in transito. Il chatbot è rigorosamente testuale, non sperate insomma di fargli disegnare qualcosa: al limite vi darà un prompt da usare con altri chatbot.

Funziona? Ho fatto qualche prova e come chatbot non è poi così male. Il fatto è che non sono riuscito a farlo funzionare sul pc (non ho un gestore di passkey che permetta la crittazione dei dati) e anche sul telefono l’ho messo su Vivaldi con l’autenticazione biometrica e le passkey di Google, ma non sono riuscito a riaprirlo con firefox. Può darsi che io ormai sia troppo anzyano per capire come funzionano gli autenticatori, però diciamo che c’è ancora parecchio da fare prima di avere un prodotto usabile in generale…

I numeri di Heesch

cornici di rettangoliConsiderate un rettangolo 1×2, come quello giallo al centro della figura qui a fianco. È possibile circondarlo completamente, senza lasciare spazi vuoti, con cinque rettangoli uguali, quelli rossi. La figura ottenuta può a sua volta essere circondata da nove rettangoli (blu), e ancora da tredici rettangoli (verdi), e così via all’infinito. Ma se avessimo avuto un cerchio al posto del rettangolo non saremmo mai riusciti a completare nemmeno una corona. E il problema non è tanto dovuto al fatto che il cerchio sia una figura curva: se per esempio togliamo due quadratini piccoli da un lato lungo del rettangolo di partenza, il problema è comunque impossibile.

figura con numero di Heesch 1

figura di Cmglee, https://en.wikipedia.org/wiki/File:Heesch_number_1_parts.svg

Bene: come spiega Wikipedia, queste due figure hanno numero di Heesch rispettivamente infinito e zero. Più precisamente, il numero di Heesch di una forma bidimensionale è il massimo numero di anelli circolari (o corone), costituite dalla stessa forma, che si possono costruire attorno ad essa, senza sovrapposizioni e senza spazi vuoti. Il problema di Heesch consiste nel chiedersi se esistono forme geometriche ch hanno un numero di Heesch qualunque tra 0 e infinito. Heinrich Heesch ideò il problema quando nel 1968 scoprì una forma (mostrata in nero nella figura di destra) che all’inizio pare poter tassellare il piano come i quadrati, ma che si blocca subito: il numero di Heesch corrispondente è 1. Si è poi scoperto che nel 1928 Walther Lietzmann aveva già trovato una figura con numero di Heesch 1, che assomiglia ai puntatori di Google Maps :-)

Nella voce di Wikipedia potete trovare esempi di figure con numero di Heesch da 1 a 6, il massimo che si è scoperto finora. Qui mostro solo il più piccolo polimino con numero di Heesch 2, che può far capire come il problema non sia affatto facile da risolvere: chi si immaginava che una figura così arrivasse ad avere due corone?

Il più piccolo polimino con numero di Heesch 2

figura di Cmglee, https://en.wikipedia.org/wiki/File:Heesch_number_2_minimal_polyomino.svg