# Storia dell'IA

L'espressione intelligenza artificiale (Artificial Intelligence) è stata coniata nel 1956 dal matematico americano John McCarthy, in seguito ad uno storico seminario interdisciplinare svoltosi nel New Hampshire. Secondo le parole di Marvin Minsky, uno dei "pionieri" della I.A., lo scopo di questa nuova disciplina sarebbe stato quello di "far fare alle macchine delle cose che richiederebbero l'intelligenza se fossero fatte dagli uomini".

## I primi passi

In tal senso la storia ha inizio nel XVII sec. quando Blaise Pascal (scienziato, scrittore e filosofo francese) inventa la cosiddetta "Pascalina" per aiutare il padre, incaricato dall'amministrazione fiscale della Normandia di eseguire un difficile lavoro di calcolo. La macchina era capace di eseguire automaticamente addizione e sottrazione; questa "macchina aritmetica" fu la capostipite dei calcolatori ad ingranaggi. In età vittoriana Charles Babbage creò macchine calcolatrici a rotelle: "The difference engine" (la macchina alle differenze) riusciva a fare calcoli differenziali ed arrivò a progettarne una intelligente, programmata con schede perforate che tuttavia, per problemi tecnici, non riuscì mai a funzionare. Le schede perforate, cartoncini forati a secondo della necessità, furono ampiamente usate per esempio per il funzionamento dei telai Jacquard, di pianole meccaniche, quindi dei primi calcolatori. Hermann Hollerith (statistico U.S.A. di origine tedesca) ideò le schede perforate applicate a calcolatrici attorno al 1885; questo sistema fu usato per la prima volta per i calcoli relativi all'11° censimento U.S.A., nel 1891. Il sistema meccanografico adottato da Hollerith riscosse tale successo da indurlo a fondare la Tabulating Machine corporation. In seguito i calcolatori furono molto usati dai militari per regolare il tiro della loro artiglieria.

## La rivoluzione informatica

Se la teoria dell'IA evolve indipendentemente dai progressi scientifici, le sue applicazioni sono fortemente legate agli avanzamenti della tecnologia informatica. Infatti, solo nella seconda metà del XX sec. è possibile disporre di dispositivi di calcolo e linguaggi di programmazione abbastanza potenti da permettere sperimentazioni sull'intelligenza.
La struttura dei calcolatori viene stravolta con la sostituzione dei "relè", usati per i primi calcolatori elettromeccanici, con le "valvole" o tubi elettronici. Nel 1946 nasce ENIAC (Electronic Numerical Integrator And Calculator), concepito come calcolatore moderno nel '45 da John von Neumann; era capace di un'elaborazione a lotti (batch) dell'ordine di migliaia di informazioni al minuto. La programmazione avveniva comunque tramite schede.
La seconda generazione di computer si ha nei '60, "The time sharing", sistemi basati sulla divisione di tempo e quindi più veloci; più terminali, soprattutto telescriventi, sono collegati ad un calcolatore centrale. L'innovazione in questo periodo sta nel passaggio dalle valvole ai transistor. A quell'epoca i programmi erano fortemente condizionati dai limiti dei linguaggi di programmazione, oltre che dai limiti di velocità e memoria degli elaboratori. Il punto di svolta si ha proprio tra gli anni '50 e '60, con linguaggi di manipolazione simbolica tali l'ILP, il LISP e il POP. Nei primi anni '70 inizia la microelettronica su circuiti stampati. Di questo periodo i Very large scale integration (VLSI), i primi minicomputer, i PDP 11, più piccoli, collegabili a distanza, con un costo che all'epoca si aggirava sui 100 milioni di vecchie lire. Si inizia a parlare di "informatica distribuita", tramite cavi telefonici, sia per le telescriventi ma soprattutto per i computer intelligenti, essendo l'elaborazione indipendente dai grossi computer centrali.

## Il punto di svolta

Uno dei punti di svolta della materia si ha con un famoso articolo di Alan Turing sulla rivista Mind nel 1950. Nell'articolo viene indicata la possibilità di creare un programma al fine di far comportare un computer in maniera intelligente. Quindi la progettazione di macchine intelligenti dipende fortemente dalle possibilità di rappresentazione simbolica del problema.
In quell'anno, Arthur Samuel presenta il primo programma capace di giocare a Dama, un risultato molto importante perché dimostra la possibilità di superare i limiti tecnici (il programma era scritto in Assembly e girava su un IBM 704) per realizzare sistemi capaci di risolvere problemi tradizionalmente legati all'intelligenza umana. Per di più, l'abilità di gioco viene appresa dal programma scontrandosi con avversari umani. Nel 1956, alla conferenza di Dartmouth (la stessa conferenza a cui l'IA deve il suo nome), viene mostrato un programma che segna un'altra importante tappa dello sviluppo dell'IA. Il programma LT di Allen Newell, J. Clifford Shaw e Herb Simon rappresenta il primo dimostratore automatico di teoremi.
La linea seguita dalla giovane IA si basa quindi sulla ricerca di un automatismo nella creazione di un'intelligenza meccanica. L'approccio segue essenzialmente un'euristica di ricerca basata su tentativi ed errori oltre che investigare su tecniche di apprendimento efficaci.

## Verso l'IA moderna

Secondo le parole di Minsky, dopo il 1962 l'IA cambia le sue priorità: viene data minore importanza all'apprendimento, mentre si pone l'accento sulla rappresentazione della conoscenza e sul problema ad essa connesso del superamento del formalismo finora a disposizione e liberarsi dalle costrizioni dei vecchi sistemi.
"Il problema della ricerca efficace con euristiche rimane un presupposto soggiacente, ma non è più il problema a quale pensare, per quanto siamo immersi in sotto-problemi più sofisticati, ossia la rappresentazione e modifica di piani" (Minsky, 1968).
I punti cardine di questa ricerca sono gli studi di Minsky sulla rappresentazione distribuita della conoscenza, quella che viene chiamata la "società delle menti", e il lavoro di John McCarthy sulla rappresentazione dichiarativa della conoscenza. Quest'ultima viene espressa formalmente mediante estensioni della logica dei predicati e può quindi essere manipolata facilmente. Con i suoi studi sul "ragionamento non monotono" e "di default", McCarty contribuisce a porre gran parte delle basi teoriche dell'IA.
Il punto di vista psicologico non viene assolutamente trascurato. Ad esempio il programma EPAM (Feigenbaum e Feldman, 1963) esplora la relazione tra memoria associativa e l'atto di dimenticare. Alla Carnegie Mellon University vengono sperimentati programmi per riprodurre i passi del ragionamento, inclusi eventuali errori.
L'elaborazione del linguaggio naturale sembra essere un campo destinato a un rapido sviluppo. La traduzione diretta di testi porta però a insuccessi iniziali che influenzeranno per molti anni l'attribuzione di fonti a tale campo. Malgrado questo, viene dimostrato abbastanza presto che si possono ottenere buoni risultati in contesti limitati.

## IA moderna

Durante gli anni novanta vi fu una progressiva espansione del settore legato all'intelligenza artificiale. L'avvento di personal computer sempre più potenti permise di implementare algoritmi di intelligenza artificiale senza dover utilizzare hardware dedicato e approfonditi studi su sistemi come gli automi cellulari e le reti neurali permisero di ottenere risultati pratici interessanti in settori dove lo sviluppo di algoritmi deterministici è molto difficoltoso se non impossibile. Per esempio praticamente tutti i sistemi di riconoscimento della scrittura comprendono un modulo a rete neurale più o meno sviluppato.