La conferenza di Dartmouth e la nascita dell’intelligenza artificiale

La conferenza di Dartmouth fu un progetto di ricerca concepito per riunire studiosi interessati a capire come rendere le macchine capaci di comportamenti intelligenti. Il nome ufficiale dell’iniziativa era Dartmouth Summer Research Project on Artificial Intelligence
Tv

Il 31 agosto del 1955 John McCarthy, Marvin Minsky, Nathaniel Rochester e Claude Shannon presentarono una proposta alla Rockefeller Foundation. Il documento prevedeva originariamente un workshop di due mesi con dieci ricercatori, da svolgersi nell’estate del 1956 presso il Dartmouth College di Hanover, nel New Hampshire. Si trattava di qualcosa di nuovo ed ambizioso. Gli organizzatori ritenevano che ogni aspetto dell’apprendimento e ogni altra caratteristica dell’intelligenza potessero, in linea di principio, essere descritti punto per punto e con una precisione sufficiente da permettere a una macchina di simularli. Il programma comprendeva l’uso del linguaggio, la descrizione di concetti e astrazioni e la soluzione di problemi fino ad allora riguardanti gli esseri umani, nella speranza che le macchine potessero migliorare le proprie prestazioni. Si trattava, in pratica, dell’intelligenza artificiale come la conosciamo oggi.

McCarthy, Minsky, Rochester e Shannon: i quattro organizzatori

I quattro promotori provenivano da discipline e ambienti differenti. Questa diversità contribuì a dare alla nascente AI un carattere interdisciplinare. John McCarthy era un matematico e informatico statunitense, che nel 1956 insegnava a Dartmouth. Fu la figura più impegnata nell’organizzazione del progetto. Era interessato alla logica, al calcolo simbolico e all’uso dei computer per rappresentare ed elaborare concetti. Nella sua proposta del 1955 compare l’espressione “artificial intelligence”, scelta per designare il nuovo campo di ricerca. McCarthy era interessato a macchine che potessero rappresentare conoscenza, ragionare su di essa e persino utilizzare nozioni di senso comune, cosa per nulla scontata. Nel 1958 McCarthy avrebbe formulato il progetto dell’Advice Taker, un sistema che elaborava istruzioni in linguaggio naturale per risolvere problemi e prendere decisioni, rappresentando concetti e nozioni in forma formalizzata. Il suo contributo più duraturo fu però il LISP, destinato a diventare il linguaggio della ricerca sull’intelligenza artificiale simbolica. L’idea nacque nell’estate del 1956; l’implementazione pratica iniziò al MIT nell’autunno del 1958.

Marvin Minsky era matematico, informatico e studioso dei processi cognitivi. Aveva già lavorato sulle reti neurali artificiali e sui tentativi di riprodurre mediante circuiti elettronici alcuni aspetti del funzionamento del cervello. A Dartmouth portò una prospettiva diversa da quella puramente logica: la convinzione che fosse possibile studiare l’intelligenza costruendo modelli dei processi attraverso i quali un organismo percepisce, apprende e risolve problemi. Minsky sarebbe diventato successivamente una delle figure dominanti dell’intelligenza artificiale americana, soprattutto al MIT, dove collaborò con McCarthy alla nascita dell’Artificial Intelligence Project. La sua influenza fu enorme, ma la sua idea non coincideva con quella di McCarthy: Minsky era più interessato a modelli cognitivi, rappresentazioni della conoscenza, percezione e problemi del senso comune, mentre McCarthy rimase maggiormente legato alla logica formale. Da qui nacque una duratura contrapposizione tra approcci “simbolici” e approcci più vicini alla simulazione dei processi cognitivi, una costante nella storia dell’AI.

Nathaniel Rochester rappresentava la componente tecnica: l’ingegneria dei calcolatori. Rochester lavorava all’IBM ed era stato coinvolto nella progettazione dell’IBM 701 e successivamente dell’IBM 704. L’IBM 704, introdotto nel 1954, era una macchina molto evoluta: utilizzava una memoria a nuclei magnetici, aritmetica in virgola mobile e un sistema di programmazione più avanzato rispetto ai primi calcolatori. La presenza di Rochester collegava il dibattito sull’intelligenza artificiale alla tecnologia disponibile. L’AI doveva essere tradotta in programmi eseguiti su macchine reali.

Claude Shannon nel 1956 era già una celebrità scientifica. Nel 1948 aveva fondato la moderna teoria matematica dell’informazione, mostrando come informazione, comunicazione e calcolo si potessero trattare matematicamente. Shannon era interessato anche ai giochi e alla possibilità di programmare una macchina per giocare a scacchi, a cui aveva dedicato un celebre articolo nel 1950. Il gioco rappresentava per lui un ambiente ideale per studiare l’intelligenza artificiale perché aveva regole precise, molte possibili mosse e richiedeva una strategia.

Perché proprio Dartmouth?

La conferenza si svolse al Dartmouth College grazie a McCarthy, che nel 1956 era professore di matematica in quell’università. L’incontro fu pensato come un workshop estivo, durante il quale ricercatori provenienti da istituzioni diverse potessero incontrarsi e dedicarsi allo studio della nuova disciplina. L’AI avrebbe attraversato nei decenni successivi fasi di entusiasmo e delusione, spesso accompagnate da aumenti e riduzioni dei finanziamenti pubblici e privati. Il finanziamento arrivò dalla Rockefeller Foundation. Gli organizzatori avevano richiesto circa 14mila dollari, ma la Fondazione ne concesse circa settemila. La somma fu comunque sufficiente per realizzare il workshop.

Il progetto originale prevedeva due mesi e dieci ricercatori. Secondo le note di Ray Solomonoff, un matematico interessato al machine learning e agli algoritmi probabilistici, il workshop durò dal 18 giugno al 17 agosto 1956. Alcuni studiosi rimasero per settimane, altri arrivarono soltanto per pochi giorni e altri ancora per una singola discussione. La lista ricostruita dalle carte di Solomonoff comprende circa venti partecipanti oltre ad alcuni visitatori. Tra i nomi più importanti troviamo: John McCarthy; Marvin Minsky; Claude Shannon; Nathaniel Rochester; Ray Solomonoff; Trenchard More; Oliver Selfridge; Julian Bigelow; W. Ross Ashby; Warren McCulloch; Abraham Robinson; John Nash; Arthur Samuel; Herbert Simon; Allen Newell; Alex Bernstein; Tom Etter; David Sayre; Kenneth Shoulders.

Il programma

La scaletta elaborata dai quattro organizzatori comprendeva: la possibilità di programmare i computer per comportamenti intelligenti; l’uso del linguaggio; la formazione di concetti ed astrazioni; la soluzione di problemi; il miglioramento automatico delle prestazioni; l’apprendimento; la relazione tra intelligenza e manipolazione simbolica. L’obiettivo non era dunque costruire un singolo tipo di macchina. Era capire se fosse possibile formalizzare l’intelligenza.

Una macchina che può apprendere, ragionare e risolvere problemi

È il tema più importante per comprendere il senso della Conferenza. Quando gli organizzatori scrivevano che una macchina avrebbe potuto “apprendere”, non intendevano necessariamente che avrebbe sviluppato una coscienza o una vita mentale simile a quella umana. Per apprendimento intendevano la possibilità che un programma modificasse il proprio comportamento sulla base dell’esperienza, degli esempi o dei risultati precedenti. Un programma di gioco, per esempio, può registrare quali mosse hanno portato alla vittoria o alla sconfitta e modificare progressivamente il valore attribuito a ciascuna.

Per ragionamento si intendeva la capacità di applicare regole a informazioni disponibili, derivare conclusioni e scegliere tra alternative. Un programma logico può ricevere alcune premesse e utilizzare regole di inferenza per arrivare a una conclusione. Per risoluzione di problemi si intendeva la capacità di partire da una situazione iniziale e cercare una sequenza di operazioni che portasse a un obiettivo. Negli scacchi, per esempio, il programma poteva esplorare diverse mosse, valutarne le conseguenze e scegliere quella che sembrava migliore. È un’idea ancora valida.

I problemi tecnici: i computer del 1956 e dintorni.

La distanza tra l’idea di Dartmouth e la tecnologia disponibile era enorme. Nel 1956 i computer erano macchine gigantesche, costose, fragili e difficili da programmare, con una potenza di calcolo infinitamente inferiore rispetto a quella di uno smartphone di oggi. L’ENIAC, nato nel 1946 presso l’Università della Pennsylvania, era stato il primo grande calcolatore elettronico general-purpose. Utilizzava circa 18mila-19mila valvole termoioniche e poteva eseguire circa cinquemila addizioni al secondo, una velocità impressionante per l’epoca. La memoria interna era però estremamente limitata: manteneva soltanto venti numeri nei suoi accumulatori e la programmazione richiedeva una configurazione fisica della macchina. Era dunque potente rispetto ai calcolatori meccanici, ma inadeguato per un’intelligenza artificiale generale.

Più interessante era l’IBM 704 (vedi sopra), una macchina molto più avanzata. Il 704 disponeva di memoria a nuclei magnetici e poteva avere 4.096, 8.192 o 32.768 parole di 36 bit; disponeva inoltre di aritmetica in virgola mobile e di periferiche come lettori di schede e nastri magnetici. Eppure anche l’IBM 704 era gigantesco rispetto ai computer personali di oggi. Costava circa due milioni di dollari dell’epoca e pesava più di trentamila libbre, circa 13,5 tonnellate.

Questi computer potevano effettuare calcoli matematici e simulazioni numeriche, elaborare dati scientifici, gestire operazioni ripetitive e, con programmi dedicati, affrontare problemi logici o giochi relativamente semplici. Non potevano però elaborare miliardi di parole, immagini o documenti e non disponevano di una memoria paragonabile a quella di un computer di oggi.

Il problema non era quindi tanto la velocità, ma soprattutto la memoria. Un sistema intelligente deve poter accedere a molte informazioni e confrontarle continuamente. Gli organizzatori di Dartmouth riconoscevano che velocità e memoria dei computer di allora potevano essere insufficienti per simulare funzioni elevate del cervello, pur ritenendo che il principale ostacolo fosse l’incapacità di scrivere programmi abbastanza sofisticati.

Il Logic Theorist, il primo programma di AI

Uno dei risultati più importanti collegati a Dartmouth fu il Logic Theorist, sviluppato da Allen Newell, Herbert Simon e Cliff Shaw. Non fu inventato dopo la conferenza, perché era già stato sviluppato già nel 1955 e iniziò a funzionare nel 1956, durante il workshop. È generalmente considerato il primo vero programma di intelligenza artificiale, anche se esistono precedenti come il programma per giocare a dama elaborato da Christopher Strachey nel 1951. Il Logic Theorist riuscì a dimostrare 38 dei primi 52 teoremi del secondo capitolo dei Principia Mathematica di Alfred Whitehead e Bertrand Russell, trovando in alcuni casi dimostrazioni più brevi delle originali. Era ben lontano da ChatGPT: non “capiva” la matematica in senso umano, ma rappresentava simbolicamente proposizioni e regole logiche e cercava una sequenza di passaggi dalla situazione iniziale alla conclusione. E qui compare un’idea fondamentale dell’AI: l’intelligenza può essere modellata come ricerca nello spazio delle possibilità.

LISP, il linguaggio dell’ intelligenza artificiale

Se il Logic Theorist dimostrava che un computer poteva affrontare un problema intellettuale, rimaneva una domanda: come programmare macchine del genere? Nell’estate del 1956, ascoltando Newell, Simon e Shaw descrivere l’IPL (Information Processing Language), utilizzato per il Logic Theorist, McCarthy concepì un linguaggio più adatto alla gestione di simboli e liste. Il progetto divenne LISP, abbreviazione di LISt Processing. La differenza rispetto ai linguaggi numerici dell’epoca era enorme. FORTRAN, nato nel 1954, era progettato soprattutto per il calcolo scientifico mentre LISP permetteva invece di rappresentare strutture simboliche, liste, espressioni e funzioni. L’implementazione iniziò al MIT nel 1958 e LISP divenne uno strumento fondamentale della ricerca sull’intelligenza artificiale. LISP mostrava che il computer non doveva essere soltanto una macchina per calcolare numeri, ma anche per manipolare simboli e strutture di conoscenza.

Arthur Samuel e la macchina che imparava a giocare a dama

Un’altra strada era quella dell’apprendimento. Arthur Samuel, ricercatore IBM, lavorò fin dall’inizio degli anni Cinquanta un programma capace di giocare a dama. Il lavoro iniziò prima di Dartmouth, ma si sviluppò negli anni successivi e divenne uno degli esempi classici di machine learning, espressione inventata proprio da Samuel e destinata a diventare una delle parole chiave dell’AI contemporanea. Il programma non doveva conoscere in anticipo la strategia perfetta. Valutava le posizioni e utilizzava l’esperienza delle partite per modificare il peso dei diversi fattori, migliorando la propria strategia. Nel 1959 Samuel pubblicò i risultati: il programma poteva imparare a giocare meglio del suo stesso autore, migliorando sensibilmente dopo alcune ore di gioco.

Breve cronologia dei primi programmi per l’ AI

Nel 1951, Christopher Strachey realizzò il programma per giocare a dama, sviluppandolo nel corso di tutti gli anni Cinquanta e pubblicandone i risultati nel 1959. Tra il 1955 e il 1956, Newell, Simon e Shaw svilupparono il Logic Theorist, che venne eseguito e presentato nel contesto del progetto Dartmouth proprio nel 1956. Dal 1958 al 1959, McCarthy sviluppò e implementò LISP. Se intendiamo “primo programma di AI” nel senso storico più comune, il Logic Theorist è il primo. Se invece parliamo dei primi programmi capaci di apprendere giocando, pensiamo a quello di Samuel.

Il problema del senso comune

La prima AI scoprì presto un problema enorme: il senso comune. Per un essere umano molte conoscenze sono ovvie. Sappiamo, per esempio, che se lasciamo cadere un bicchiere può rompersi; che una persona non può essere contemporaneamente dentro e fuori da una stanza, e così via. Per un computer, però, nulla di tutto questo è “ovvio”. McCarthy comprese presto il problema e nel 1958 propose l’idea dell’Advice Taker, un programma che avrebbe dovuto rappresentare conoscenze generali e utilizzarle per dedurre conseguenze. L’obiettivo era avvicinarsi a un’intelligenza capace non soltanto di risolvere problemi matematici, ma di operare nel ragionamento quotidiano.

Qui l’AI di Dartmouth e quella contemporanea si incontrano: il problema non è soltanto sapere molte cose, ma sapere come utilizzarle nel contesto giusto. Dai programmi generali ai sistemi esperti. Negli anni Sessanta e Settanta cambiò l’approccio. Invece di costruire una macchina intelligente in senso generale ci si orientò verso una macchina competente in un settore specifico. Nacquero così i sistemi esperti. Il principio era semplice: raccogliere la conoscenza di specialisti umani, rappresentarla attraverso regole e costruire un motore capace di applicarle a casi concreti.

Uno dei primi esempi fu DENDRAL, sviluppato a Stanford a partire dalla metà degli anni 60. Il sistema aiutava i chimici a identificare molecole organiche analizzando dati spettrometrici. DENDRAL è considerato il primo vero sistema esperto e rappresentò una svolta: l’AI cominciava a essere concepita come tecnologia basata sulla conoscenza specializzata.

Pochi anni dopo arrivò MYCIN, anch’esso sviluppato a Stanford ma negli anni 70. MYCIN cercava di diagnosticare infezioni batteriche gravi, come meningite e batteriemia, e di suggerire trattamenti antibiotici. Funzionava attraverso regole “if-then” che rappresentavano conoscenze mediche specialistiche.

MYCIN mostrava che una macchina poteva, in un dominio ristretto, arrivare a conclusioni diagnostiche attraverso un processo simile al ragionamento di un medico. Ma mostrava anche il limite dei sistemi esperti: bisognava fornire alla macchina le regole. La conoscenza doveva essere estratta dagli esperti e codificata manualmente. Il problema del senso comune rimaneva.

Previous slide
Next slide
Previous slide
Next slide
Previous slide
Next slide