La storia dell'intelligenza artificiale
L'intelligenza artificiale è una disciplina di studio abbastanza recente, i primi studi risalgono alla metà del XX secolo, ma ha origini molto antiche. I primi passi furono compiuti dai filosofi dell'antica Grecia.
Il sillogismo di Aristotele
Nel IV secolo a.C. il filosofo greco Aristotele spiegò il ragionamento logico deduttivo tramite il sillogismo. E' nelle prime pagine di qualsiasi corso di filosofia. A partire dalle premesse si deduce una conclusione logica.
Esempio. Gli uomini sono animali, gli animali sono mortali ( premesse ), quindi gli uomini sono mortali ( conclusione ).
Aristotele non stava cercando di automatizzare il ragionamento ma i principi di base c'erano tutti.
Il sistema deduttivo di Aristotele stimolò l'interesse di molti matematici e filosofi, come Gottfried Leibniz e George Boole.
Dal linguaggio proposizionale a quello dei predicati
Nel XIX secolo Boole tentò di costruire un sistema deduttivo basato sulla logica proposizionale per indagare sulla natura del ragionamento.
Pochi decenni più tardi Frege rifece il tentativo usando, per la prima volta nella storia, un sistema basato sulla logica dei predicati. I concetti erano espressi in un linguaggio ( Begriffsschrift ).
Questi due approcci influenzarono gran parte degli studi del XX secolo.
Nota. Nell'Ottocento ci furono anche dei tentativi concreti di costruzione delle macchine intelligenti ma la tecnologia meccanica dell'Ottocento, basata ancora sulla meccanica, era inadeguata. Ciò nonostante, molti spunti del XIX secolo possiamo ancora oggi trovarli nell'architettura dei moderni computer.
La nascita dell'intelligenza artificiale
Con la realizzazione dei primi elaboratori elettronici, nella metà del Novecento, nacque l'intelligenza artificiale moderna. L'uomo si rese conto che il sogno di costruire una macchina "pensante" stava per diventare possibile.
Nel 1950 Alan Turing pubblicò uno dei primi articoli sull'intelligenza artificiale. Nel suo articolo Turing introdusse anche un metodo per verificare il grado di intelligenza di una macchina. Questo metodo è ancora oggi noto come Test di Turing.
La disciplina si stava però separando dalla matematica ed era necessario trovare un nome specifico per distinguerla dalla nascente informatica.
All'inizio ebbe molti nomi ( es. programmazione euristica ) ma poi prevalse il termine "intelligenza artificiale", forse perché più suggestivo degli altri. Il termine Artificial Intelligence ( A.I. ) venne usato per la prima volta nel 1956 da John McCarthy durante una conferenza a Dartmouth.
Advice taker. Nel 1958 John McCarthy utilizzò il calcolo dei predicati per formalizzare un linguaggio di rappresentazione della conoscenza conosciuto come Advice Taker.
In questi anni nacquero anche altre discipline particolarmente vicine allo studio dell'intelligenza artificiale, seppure in altri contesti di studio, come la psicologia cognitiva, la cibernetica e la linguistica computazionale.
Negli anni '50 del Novecento comparvero i primi programmi informatici in grado di risolvere problemi complessi. Si trattava prevalentemente di giochi ( puzzle, scacchi e dama ) oppure di algoritmi per dimostrare i teoremi della geometria piana.
Le prime pubblicazioni più importanti a riguardo portano la firma di Claude Shannon, Samuel, John McCarthy, Allen Newell, Cliff Shaw e Herbert Simon.
Logic Theorist. Uno dei primi programmi intelligenti fu realizzato da Newell, Shaw e Simon nel 1957. Si trattava di un algoritmo per dimostrare automaticamente i teoremi matematici nella logica proposizionale.
In questi anni nacque anche il Lisp ( List Processor ), il primo linguaggio di programmazione ideato per sviluppare sistemi intelligenti. E' stato ideato da John McCarthy nel 1958.
I problem solver
I primi programmi A.I. erano dei problem solver, ossia dei SW in grado di svolgere con efficacia il proprio compito ma si trattava prevalentemente di problemi semplici ( problemi giocattolo ).
Inoltre, questi software erano efficaci a svolgere alcune operazioni ma assolutamente non erano in grado di interpretare la complessità di un ambiente reale, né di risolvere problemi generali al di fuori del loro campo di conoscenza.
Non basta la velocità computazionale dei computer per parlare di intelligenza
Inizialmente si pensava che bastasse la capacità dei computer di analizzare numerose combinazioni al secondo per risolvere qualsiasi tipo problema.
- il programma analizza tutte le combinazioni del problema
- trova tutte le soluzioni
- seleziona la soluzione migliore.
In realtà, non è così facile. L'esplosione combinatoria dei problemi è enorme.
Sarebbe impossibile risolverli in questo modo.
Nota. I problemi delle attività normali di una persona ( percezione, comprensione, interpretazione, ragionamento di buon senso ) richiedono uno sforzo enorme, persino superiore alle attività più specializzate. Non a caso i sistemi esperti sono già una realtà da molti anni mentre i sistemi di guida automatica dei veicoli tramite l'intelligenza artificiale sono ancora sperimentali.
Le reti neurali
Con l'intelligenza artificiale nacquero anche i primi studi sulla realizzazione di una rete simile a quella dei neuroni biologici. Negli anni '50 Warren McCulloch e Walter Pitts progettarono una rete neurale artificiale utilizzando delle porte logiche.
Questa idea fu sviluppata negli anni '60 da Frank Rosenblatt. Le reti neurali mostrarono di avere un grande potenziale nelle operazioni di apprendimento. Nella rete di Rosenblatt i nodi ( percettroni ) si modificavano per riconoscere delle forme geometriche.
Dopo un avvio promettente queste ricerche si interruppero. Furono riprese negli anni '80 con lo sviluppo delle prime reti neurali non lineari. Più di recente, sono state sviluppate anche reti neurali basate sulla fuzzy logic ( logica non booleana ).
I sistemi esperti
Negli anni '70 fecero la prima comparsa i sistemi esperti. A differenza dei primi problem solver, i sistemi esperti integrano una base di conoscenza ( knowledge base ) su un determinato dominio della conoscenza.
Non si trattava più di semplici informazioni ma di conoscenza. Oltre alla knowledge base questi sistemi integravano anche un motore inferenziale per elaborare i dati tramite il calcolo probabilistico e le euristiche.
La base di conoscenza e il motore inferenziale consentirono ai sistemi esperti di svolgere operazioni più complesse e formulare delle diagnosi.
Nota. I primi sistemi esperti furono utilizzati nella ricerca scientifica e in campo medico.
L'intelligenza artificiale contemporanea
Negli anni '80 e '90 i computer registrarono una notevole crescita sia nella capacità di memoria che nella potenza di calcolo computazionale. Questo consentì di sviluppare programmi sempre più complessi nel settore A.I. e superare alcune barriere degli anni precedenti.
La nuova intelligenza artificiale venne applicata per risolvere problemi ancora più complessi, come l'interpretazione del linguaggio naturale, il riconoscimento visivo delle immagini e la rappresentazione generale della realtà.
La miniaturizzazione dei chip e i progressi nella robotica ampliarono le applicazioni pratiche dell'intelligenza artificiale.
La vittoria a scacchi di Deep Blue contro Kasparov. Negli anni '90 l'intelligenza artificiale era ancora una materia di studio ai confini del fattibile. Gli unici campi di applicazione dell'AI erano i sistemi automatizzati robotici nei processi produttivi. Nelle aziende di servizio era praticamente inutile. Nel 1996 il supercomputer Deep Blue dell'IBM vinse la prima partita a scacchi contro il campione mondiale russo Garry Kasparov. Questo evento conquistò un'enorme visibilità sui mass media, mostrando al mondo che l'intelligenza artificiale poteva sostituirsi all'uomo nel prendere le decisioni e risolvere anche problemi molto complessi.
Dall'automazione alla AI debole
Nel corso degli anni '90 si passò dall'automazione alla IA debole. Gli algoritmi di intelligenza artificiale furono in grado di risolvere i primi problemi complessi, simulando la logica di ragionamento dell'uomo. Erano gli anni in cui il problem solving cominciava ad entrare negli ambienti lavorativi e aziendali. I sistemi esperti si diffusero in molti ambiti professionali e settori economici.
Robot e softbot. I robot e i softbot sono due esempi di AI debole. I robot sono usati per compiere azioni fisiche. I softbot, invece, sono agenti razionali che operano in un ambiente virtuale ( es. internet ).
Dalla AI debole alla AI forte
Per IA forte si intende un agente razionale in grado di svolgere le stesse operazioni dell'uomo e risolvere i problemi in modo autonomo, con un livello di intelligenza pari o superiore a quella umana.
Nota. Secondo alcune opinioni, nella IA forte l'agente razionale dovrebbe aver maturato la capacità di avere sensazioni, di essere un essere senziente e consapevole. Può sembrare fantascienza ma, a pensarci bene, molti comportamenti umani sono frutto di processi mentali, più o meno consapevoli. Non è quindi impossibile immaginare che un giorno questa "scintilla" scocchi anche in un sistema complesso di calcolo.