Questo articolo fa parte di una serie di approfondimenti sull’AI — il link conduce a un indice aggiornato.
Recentemente mi è stato chiesto il titolo per un intervento che devo fare prossimamente. Ho scelto quello dato al presente articolo, dove cerco di spiegare proprio questo concetto. L’esempio matematico mi pare che faciliti l’intento. Magari al lettore è richiesta un po’ di pazienza ma dovrebbe bastare qualche ricordo di scuola secondaria.
Del cerchio molti si ricorderanno. Di solito chiedendo a bruciapelo in classe cosa sia il cerchio, dopo qualche tentennamento viene fuori la definizione euclidea:
Definizione 1
Il luogo dei punti del piano equidistanti da un punto dato
Più raramente invece emerge l’equazione del cerchio:
Definizione 2
Due rappresentazioni diverse dello stesso concetto astratto. Così diverse che sorgono spontanee delle domande. Le due descrizioni sono equivalenti o vi è una gerarchia, dove una è superiore e comprensiva dell’altra? O forse è più corretto domandarsi se conoscere l’una o l’altra conduca a forme diverse dello stesso concetto? Detto altrimenti, una persona che abbia conosciuto il cerchio solo attraverso la formulazione euclidea e una solo attraverso l’equazione nel piano cartesiano “conoscono” lo stesso cerchio? Non esattamente perché rappresentazioni diverse fanno capo a dispositivi mentali diversi e possono generare collegamenti con concetti diversi.
La definizione euclidea attiva dispositivi di comprensione linguistica che invece non bastano per farsi una ragione della seconda, composta da simboli legati da regole matematiche oltre che da convenzioni speciali basate anche su alcuni assunti impliciti: le lettere rappresentano quantità variabili in gioco, ma e
sono in un certo senso più variabili di
, che rappresenta il raggio del cerchio e quindi lo pensiamo come parametro fisso. Tutto ciò si basa su un paradigma interpretativo che fa capo alla rappresentazione nel piano cartesiano, dove ogni punto è determinato da una coppia di coordinate, (
e
). Anche se sempre di cerchio si tratta, le due rappresentazioni non sono equivalenti perché coinvolgono funzioni cerebrali molto diverse, e possono anche generare collegamenti del tutto nuovi.
Osserviamo ad esempio il grafico generato dalla nostra equazione, dove alcuni segmenti sono disegnati in rosso per mettere in evidenza le due coordinate e il raggio. Se, a questo punto del ragionamento, fossimo in classe, inevitabilmente mi fermerei e chiederei se a qualcuno viene in mente qualcosa di nuovo o diverso guardando la figura. Cosa viene in mente al lettore?

Mi puoi fare un’illustrazione di un cerchio di raggio
In una biografia (Emilio Segré, Enrico Fermi, fisico. Una biografia scientifica, Zanichelli, 1987) si narra come per Fermi adolescente la scoperta che il cerchio potesse essere generato dal teorema di Pitagora fosse stata una rivelazione entusiasmante. La rappresentazione grafica cartesiana aiuta a decifrare la formula, in una sorta di videogioco mentale dove, lasciando ruotare il raggio , si produce una danza alternata delle coordinate
e
che disegna la circonferenza. Fermi si entusiasmò, anche noi, un po’ più in ritardo, ci siamo entusiasmati. Conoscere implica svelare mondi, svelare mondi inattesi genera emozione. Conoscenza e emozione si alimentano a vicenda perché le emozioni catalizzano potentemente la memoria.
Stiamo a malapena grattando la superficie del novero delle possibilità e non insistiamo oltre. Ci dovrebbe bastare per percepire l’essenziale dimensione della profondità della conoscenza, dimensione che ha perso valore nell’immaginario collettivo, inondato com’è di informazioni, a favore di una concezione orizzontale della conoscenza, sorta di oceano spesso un millimetro.
Ma allarghiamo ancora un po’ aggiungendo un’altra rappresentazione del cerchio:
Definizione 3
REPEAT 360 [ FORWARD 1 LEFT 1 ]
Un testo? No. Una formula matematica? Nemmeno. Un codice, una riga di software. Chi segue, anche da lontano, le mie peregrinazioni ha capito perfettamente. Per gli altri diciamo che questo è un minuscolo programma informatico, una sorta di M’illumino d’immenso del software, scritto in un linguaggio che con semplici istruzioni muove sullo schermo una tartaruga virtuale per tracciare figure. I comandi sono facilmente comprensibili:
Ripeti 360 volte questa cosa:
1) fai un piccolo passo in avanti
2) gira di un piccolo passo a sinistra
Il linguaggio si chiama logo ed è stato creato per promuovere il pensiero matematico nei bambini.

Non si tratta di un mero ausilio informatico o videogioco educativo. Logo è la lingua della Turtle Geometry (H. Abelson & A. diSessa, Turtle Geometry, MIT Press, 1986). Le geometrie sono tante — euclidea, cartesiana, proiettiva, differenziale, non euclidee, “della tartaruga” ecc. — tutte diverse e tutte vere. La Turtle Geometry è utilizzata anche in altri campi oltre a quello della formazione, come per il tracciamento di forme frattali, dove la geometria euclidea serve a poco.
Nella Turtle Geometry il cerchio si identifica esattamente con quella riga di codice. Si tratta di un cerchio approssimato, in quanto espresso mediante un computer digitale, nel quale non vi è posto per infinito e infinitesimo, ma proprio per questo ottimo per avvicinare il bambino all’astrazione. Qui le figure si costruiscono per via di differenze, spostamenti e deviazioni rispetto all’ultima posizione raggiunta. A un matematico vengono subito in mente la geometria differenziale e le equazioni differenziali, che non fanno altro che mettere in relazione fra loro variazioni di quantità anziché solo quantità: da qui il termine differenziale.
Spostarsi in questo modo nel piano significa procedere come col navigatore: da qui dove vado? A destra? A sinistra? Poi a quando il prossimo bivio? Non procedo dando ogni volta le coordinate (latitudine e longitudine) del prossimo punto. È una distinzione importante che ci verrà utile fra poco.
Detto tutto ciò, come se la cava l’intelligenza artificiale? Niente affatto male. Tutti i chatbot che abbiamo provato producono sostanzialmente lo stesso codice. Questa per esempio è la risposta di ChatGPT 4 [1]:
Mi disegni un cerchio solo con i comandi right e left del linguaggio Logo?
Certamente! In Turtle Geometry usando il linguaggio LOGO, puoi disegnare un cerchio utilizzando solo i comandi right e left per controllare la direzione della tartaruga. Un modo efficace per disegnare un cerchio è fare piccoli giri continui, creando effettivamente molti lati di un poligono che approssima un cerchio.
Ecco un esempio di come potresti scrivere il codice:
repeat 360 [ forward 1 right 1 ]
In questo esempio, il comando repeat 360 indica che il blocco di comandi tra le parentesi quadre verrà eseguito 360 volte. Ogni volta, la tartaruga va avanti di 1 unità con il comando forward 1 e poi gira di 1 grado a destra con il comando right 1. Complessivamente, questo crea un movimento circolare.
Lo sa! E lo sa per davvero, spiegando in modo sintetico ma chiaro il concetto di approssimazione alla forma ideale; corretta la matematica e corretto il codice.
Proviamo ad usare questo codice:

Benissimo! Ma siccome ci abbiamo fatto l’abitudine — a pensare male si fa peccato ma ci si dà — proviamo a ripetere la domanda, approfittando del tasto “Regenerate” che ChatGPT offre in calce ai suoi responsi…

Ecco la nuova risposta:
Certamente! Nella Turtle Geometry del linguaggio LOGO, per disegnare un cerchio utilizzando solo i comandi right (dx) e left (sx) è possibile creare un cerchio approssimato attraverso una sequenza di piccoli spostamenti lineari e rotazioni. Ecco un esempio di come potresti farlo:
repeat 360 [ forward 1 right 1 ]
Questo script fa muovere la tartaruga in avanti di una unità e poi ruotare di un grado a destra, ripetendo questi passi per 360 volte, che approssima un cerchio.
Tuttavia, se vuoi usare solo i comandi left e right, puoi alternare tra loro per ottenere lo stesso effetto, benché in questo contesto specifico sia più pratico usare un solo tipo di rotazione per mantenere la semplicità. Se vuoi insistere nell’utilizzare entrambi, ecco un modo un po’ artificiale per alternarli:
repeat 180 [ forward 1 right 1 forward 1 left 1 ]
Questo script alterna tra girare a destra e a sinistra ogni due passi, mantenendo la direzione generale e creando un cerchio. Tuttavia, nella pratica, un solo tipo di comando di rotazione è sufficiente per disegnare un cerchio.
Questo secondo responso è decisamente curioso. È diviso in due parti dove la prima è pressoché eguale alla risposta precedente — ci sono delle piccole differenze ma sono inessenziali; ad esempio le istruzioni scritte in minuscolo anziché in maiuscolo ma Logo è insensibile a questo. Piuttosto, la seconda nuova parte, che ho evidenziato, è invece decisamente allucinata. Infatti l’ultima riga di codice produce una linea verticale inclinata di un grado:
Niente a che vedere con un cerchio. Chi ci ha seguiti sin qui non dovrebbe ormai essere più stupito ma l’utente non avveduto che si fosse imbattuto nella prima risposta avrebbe tratto una sensazione decisamente positiva. Se invece avesse ottenuto la seconda forse qualche dubbio se lo farebbe venire. Il fatto è che le allucinazioni sono relativamente rare e questo genera in media un giudizio alterato da parte di utenti non preparati.
La macchina è sorprendente ma la fiducia cala. Siamo però sicuri che sia tutta colpa sua? Riscriviamo il quesito:
Mi disegni un cerchio solo con i comandi right e left del linguaggio Logo?
Il lettore vede un nesso fra la domanda e l’allucinazione?
Sì, un nesso c’è: al secondo tentativo il sistema ha tentato di aderire diversamente alla domanda, prendendo alla lettera la richiesta “con i comandi right e left”. E ci è riuscito ma perdendo di vista l’obiettivo. Come dire una risposta cretina ad una domanda imperfetta.
Questo esempio mostra chiaramente come l’AI non abbia alcuna idea del senso delle cose ma provi solo a quadrare i conti, cercando le continuazioni del discorso che paiono più prossime nello spazio semantico definito dal contesto. Non esistono al suo interno categorie inerenti alla verità dei concetti, alla qualità delle domande e via dicendo.
Volendo fare la controprova possiamo correggere il quesito in questo modo:
Mi disegni un cerchio solo con i comandi right e forward del linguaggio Logo?
Ebbene, nel limite di circa una ventina di ripetizioni non sono comparse allucinazioni ma piccole variazioni del fraseggio e dello stile di programmazione.
Si capisce qui quanto sia importante il modo con cui vengono poste le domande. La nostra domanda originale non era nettamente sbagliata, semmai imprecisa perché formulata dando per scontata una certa conoscenza implicita in comune fra noi e la macchina, ritenuta appunto (erroneamente) intelligente.
La congiunzione ‘e’ nell’espressione ‘right e left’ non voleva essere un AND logico ma voleva alludere alla richiesta di muoversi seguendo indicatori direzionali e non utilizzando ad esempio l’equazione del cerchio per calcolare le coordinate del prossimo punto da raggiungere — si ricorda il lettore dell’esempio del navigatore? Un interlocutore umano appena sapiente non avrebbe avuto difficoltà ad interpretare intelligentemente la domanda.
Conclusione
Poiché l’AI è sorprendentemente istruita e garbata nello scrivere ma totalmente stupida è cruciale porre le domande nel modo più preciso e diretto possibile.
Nasce così il prompting, l’arte di fare domande all’AI. E da qui il prompting engineering, insieme di metodi software per ridurre al massimo il rischio di allucinazioni e mantenere la macchina più focalizzata sulle nostre esigenze.
Al prompting dedicheremo uno dei prossimi articoli.
[1] In realtà ho fatto questi esperimenti con i seguenti chatbot oltre a ChatGPT 4: Claude 3.5, Copilot, DeepAI, Gemini e Mistral Large 2 (2407). Quest’ultimo è in realtà un modello open source europeo, precisamente francese, che utilizzo mediante un chatbot scritto da Alejandro Piad Morffis e che ho riadattato al mio computer.
Dedicheremo un articolo anche ai modelli open source.

“imprecisa perché formulata dando per scontata una certa conoscenza implicita in comune fra noi e la macchina”
Praticamente la base di quasi tutte le allucinazioni o risposte sbagliate.In termini “legali” un errore di descrizione della fattispecie o, in altri termini, del contesto.
Bellissimo esempio. Da replicare mettendo a confronto altri gerghi settoriali.
Grazie !
Grazie a lei per questo commento!
Veramente veramente ganzo, grazie e un abbraccio Gigi
Grazie Gigi!