intelligènza artificiale (IA) Disciplina che studia se e in che modo si possano riprodurre i processi mentali più complessi mediante l'uso di un computer. Tale ricerca si sviluppa secondo due percorsi complementari: da un lato l'i. artificiale cerca di avvicinare il funzionamento dei computer alle capacità dell'intelligenza umana, dall'altro usa le simulazioni informatiche per fare ipotesi sui meccanismi utilizzati dalla mente umana.
Il sistema prevede: l’acquisizione e l’elaborazione di dati e informazioni (sia provenienti dall’esterno, sia contenuti nel sistema in modo opportunamente organizzato) sulla base di opportuni modelli; un ambiente hardware e software idoneo a garantire l’esecuzione delle elaborazioni e l’interazione con l’esterno; un modello di obiettivi e vincoli del sistema, in grado eventualmente di adattarsi all’ambiente circostante. L’i. artificiale è caratterizzata dall’interesse per gli aspetti di: percezione dell’ambiente, per es. attraverso l’elaborazione di segnali provenienti da sensori di vario tipo per estrarre gli elementi utili alle decisioni o alla comprensione; interazione con l’ambiente, per es. attraverso interfacce uomo-macchina basate su meccanismi di comprensione del linguaggio naturale, dei manoscritti, di segnali vocali o di immagini; apprendimento, con conseguente modifica del comportamento nel tempo; rappresentazione della conoscenza, sia per una efficace interazione con l’ambiente, sia per facilitare l’analisi, sia per un’efficace soluzione dei problemi di decisione; risoluzione di problemi, anche di tipo non strutturato e tale da richiedere l’elaborazione di informazioni in forma simbolica; realizzazione di processi decisionali ovvero traduzione di decisioni aggregate in decisioni operative e, in particolari ambiti, attuazione delle decisioni.
Il tentativo di simulare le funzioni umane è stato presente fin dagli inizi dell’informatica. Nel 1956 J. McCarthy organizzò a Dartmouth un convegno, nel corso del quale fu coniato il termine i. artificiale nel senso usato oggi, che segna la nascita di questa disciplina come settore autonomo; durante il convegno vennero presentati alcuni programmi capaci di comportamenti intelligenti, quale per es. il logic theorist, in grado di dimostrare teoremi di logica matematica. In una prima fase di evoluzione l’i. artificiale si è rivolta alla soluzione di problemi di tipo logico, relativamente ben formalizzati, registrando significativi successi; nel 1957 apparve il programma General problem solver, destinato a emulare il comportamento umano nella soluzione di problemi di tipo generale; nel 1959 H. Gelertner presentò un programma per la dimostrazione di teoremi di geometria e, subito dopo, uno per l’integrazione simbolica.
In una seconda fase, sull’onda del successo, si è cercato di espandere la gamma di problemi cui l’i. artificiale potesse dare risposta, muovendosi verso l’emulazione del sistema di percezione umano e verso l’interazione con l’ambiente, registrando viceversa un sostanziale insuccesso. In effetti ci si rese presto conto che per i problemi di gestione efficace di informazioni incomplete e incerte mancavano i modelli concettuali che potessero supportare l’attività di sistemi automatizzati.
In una terza fase il settore si è articolato in indirizzi specifici che, con forti interazioni con altri settori, hanno cercato di affrontare alcuni problemi delimitati, registrando alcuni interessanti successi e contribuendo comunque all’approfondimento dei complessi problemi che stanno dietro a molte attività umane, solo apparentemente semplici.
Numerosi sono i filoni di ricerca significativi: risoluzione di problemi, settore tradizionale dell’i. artificiale con forti interazioni con la ricerca operativa, la teoria degli algoritmi, l’ottimizzazione e la matematica applicata; logica, con lo sviluppo di strumenti metodologici adatti al trattamento di problemi di decisione in ambiti specifici; rappresentazione della conoscenza, con lo sviluppo di metodologie di progetto e di gestione di basi di conoscenza, reti semantiche, sistemi di primitive per la rappresentazione di ambienti specifici e strutture logiche in grado di conservare la coerenza logica a fronte di interventi di vario tipo; sistemi esperti, con la generazione, la verifica e la gestione di sistemi basati su regole, in grado di suggerire soluzioni ragionevoli nei più diversi settori applicativi, dalla diagnostica medica alla prospezione del suolo, dalla gestione di sistemi ad alto rischio, come aviogetti o centrali nucleari, alla scelta della configurazione di reti e sistemi di servizio; linguaggio, con un significativo approfondimento dei meccanismi del linguaggio; apprendimento, con lo sviluppo di sistemi in grado di gestire l’induzione di concetti e regole da esempi, di modificare e selezionare regole di comportamento; robotica e visione, con lo sviluppo di sistemi in grado di riconoscere scene e dedurne i comportamenti più opportuni in termini di movimenti di un sistema automatizzato.
Accanto a questi filoni di ricerca si è sviluppata una rilevante attività di sviluppo software. Da citare in particolare i pacchetti per lo sviluppo di sistemi esperti, programmi informatici che incorporano una grande quantità di conoscenza su un problema specifico - per es. la diagnosi di un particolare gruppo di malattie o la gestione degli investimenti finanziari - e sono in grado di aiutare gli uomini nelle decisioni più complesse. A differenza dei software classici, che hanno bisogno di ricevere in entrata tutte le variabili rilevanti per risolvere un problema e che a parità di dati iniziali forniscono sempre il medesimo risultato, questi sistemi possono dedurre, con procedimenti probabilistici, i dati mancanti e possono anche imparare dall'esperienza: la loro efficienza, cioè, migliora dopo ogni utilizzo. Spesso questi sistemi si basano sulle cosiddette reti neurali.
Oggi l’i. artificiale è presente in vario modo integrata nei sistemi a microprocessore di controllo e gestione in una varietà di prodotti e sistemi in commercio, sia specialistici, sia di largo consumo.
Approfondimento di Andrea Carobene
Si chiama intelligenza artificiale (IA) quel settore dell'informatica che studia la possibilità di costruire computer che siano in grado di riprodurre il funzionamento di alcune capacità della mente umana o, nel caso della cosiddetta intelligenza artificiale forte, dell'intero pensiero umano. Questa locuzione è anche utilizzata per indicare quella branca della filosofia che si pone il problema se sia davvero possibile riprodurre il pensiero umano.
Il sogno di costruire una macchina o un calcolatore che sia in grado di pensare come l'uomo risale a diversi secoli fa, quando iniziarono ad apparire le prime macchine, come la cd. pascalina, realizzata da B. Pascal nel 17° sec., in grado di eseguire addizioni e sottrazioni. Poiché solo l'uomo è capace di effettuare operazioni di questo tipo, almeno oltre un certo grado di complessità, ci si chiese se con una metodologia simile non si sarebbe potuto un giorno costruire delle macchine capaci di produrre veri e propri pensieri. Secondo le ipotesi meccanicistiche, se l'uomo è una macchina pensante, per quanto complessa, in linea di principio dovrebbe essere possibile riprodurre quegli stessi meccanismi del pensiero con un elaboratore. Questo obiettivo non è però stato ancora raggiunto e, secondo diverse correnti di pensiero, non potrà mai essere costruita una macchina capace veramente di pensare o, ancora di più, in grado di esprimere una forma di autocoscienza.
Tra i problemi cruciali ancora da risolvere vi è anche quello di definire il pensiero umano e di stabilire che cosa caratterizzi l'intelligenza; tuttavia questo aspetto è ancora oggetto di discussione, tanto da un punto di vista filosofico, quanto da un punto di vista fisiologico, non essendo ancora noti i meccanismi precisi che conducono alla costruzione di pensieri, alla memorizzazione dei ricordi e alla formazione dell'autocoscienza.
Il pensiero umano è una realtà estremamente complessa, sicuramente non riconducibile a schemi semplici, ed è per questo che storicamente i ricercatori che, in epoca contemporanea, si sono dedicati all'IA hanno deciso di lavorare restringendo i loro obiettivi. Inizialmente, infatti, si è affrontato il problema della riproduzione dei ragionamenti di tipo logico-formale, ossia quelli che possono essere descritti e sviluppati all'interno di un sistema preciso e definito di regole e che consentono in qualunque momento di determinare, in un numero finito di passaggi, se una conclusione deriva dalle premesse iniziali in maniera corretta e se è stata ottenuta applicando le 'regole di grammatica' stabilite.
Un tipico esempio di questo tipo di ragionamento è il gioco degli scacchi, uno dei terreni preferiti di sperimentazione dell'IA. Qui hanno fatto epoca le sfide tra i più grandi campioni del mondo e potenti elaboratori, come la partita giocata nel 1996 tra il supercalcolatore IBM Deep Blue e l'allora campione mondiale G. Kasparov (n. 1963). La sfida fu vinta per 4 a 2 da quest'ultimo, ma nel 1997 Deep Blue si aggiudicò la rivincita per 3,5 a 2,5. Giocare a scacchi richiede insieme fantasia e ragionamento, ma in ogni caso ogni partita si svolge all'interno di un preciso quadro di regole certe e definite, descrivibili in linguaggio matematico e che si riferiscono a un numero finito di variabili. Così i computer possono elaborare milioni e milioni di situazioni possibili, opponendo la forza bruta della loro velocità di calcolo all'intuizione dei migliori giocatori.
Analogamente, oggi si utilizzano i calcolatori anche per dimostrare teoremi matematici, così come avvenne nel 1976 per il teorema dei quattro colori (data una superficie piana divisa in regioni connesse, come una carta geografica, sono sufficienti quattro colori per colorare ogni regione in modo che regioni adiacenti non abbiano lo stesso colore), dimostrazioni che avvengono comunque sempre all'interno di un sistema definito di regole formali.
I successi dell'IA nel campo del ragionamento formale costituiscono però solo un aspetto dei compiti che questa disciplina si è assunta. Oggi l'IA è utilizzata per realizzare macchine capaci di espletare compiti tipicamente umani, come per esempio il riconoscimento di un volto, la capacità di trascrivere un discorso parlato o un foglio scritto a mano libera. Ma l'IA si occupa anche di creare programmi per risolvere problemi, come quelli gestionali o logistici di una grande azienda. In tutti questi casi il computer deve affrontare situazioni non dominabili perfettamente, caratterizzate da una molteplicità di variabili a cui si associano valori di verità non più binari, e quindi non associabili a una logica di vero-falso, ma più sfumati e che trasformano le certezze in possibilità. Computer attrezzati a risolvere problemi di questo tipo devono non solo essere in grado di apprendere dall'esperienza, ma essere anche capaci di elaborare contemporaneamente diverse ipotesi. Per questo sfruttano spesso l'architettura delle reti neurali, sistemi informatici che simulano la struttura stessa del cervello, in cui la computazione è eseguita da più unità che lavorano in parallelo senza un programma predefinito.
Attualmente l'IA si sta muovendo verso l'elaborazione di macchine capaci di svolgere in modo molto efficiente compiti limitati. Vi sono così, per esempio, robot in grado di esplorare terreni sconosciuti apprendendo dall'esperienza. L'IA è quindi una branca dell'informatica in piena evoluzione, capace di realizzare macchine sempre più efficienti. Fino a oggi, però, nessun calcolatore è mai riuscito a superare il test di Turing (che prende il nome dal logico A.M. Turing che lo ideò) che afferma che una macchina 'pensa' quando un osservatore umano che interagisca con essa attraverso una tastiera e uno schermo non è in grado di capire se le risposte che riceve provengono da un'altra persona o da un calcolatore. Un obiettivo che tuttavia appare oggi ancora lontano.
Abstract di approfondimento da Intelligenza artificiale di Marco Somalvico, Francesco Amigoni e Viola Schiaffonati (Enciclopedia della Scienza e della Tecnica)
Le applicazioni dei sistemi di intelligenza artificiale sono innumerevoli e una loro completa catalogazione risulta molto difficile a causa della quantità ed eterogeneità dei settori interessati. Come emerge dalle applicazioni sommariamente tratteggiate nel seguito, la concezione al momento dominante nello sviluppo dei sistemi di intelligenza artificiale è quella dell’agire razionalmente, che individua una visione più ampia e più complessa di intelligenza legata non soltanto alle capacità intellettuali ma anche all’abilità nell’interagire con il mondo. In questa direzione, l’enfasi è posta sempre più sull’efficienza dei risultati dei sistemi di intelligenza artificiale piuttosto che sulla loro generalità. Ciò comporta spesso lo sviluppo di sistemi con competenze molto specifiche in contesti applicativi ben delimitati, invece che di sistemi con generiche caratteristiche di intelligenza applicabili a diversi contesti. Un’imprecisa, incompleta, ma utile approssimazione tassonomica prevede le seguenti aree di applicazione per i sistemi di intelligenza artificiale.
È l’area che maggiormente interessa la produzione industriale e la logistica, anche se sistemi di pianificazione autonoma sono utilizzati in altre applicazioni, per esempio, a bordo di sonde spaziali. I sistemi che operano in quest’area sono in grado di ricevere un obiettivo di alto livello, di generare un piano composto da una sequenza di operazioni semplici per raggiungere l’obiettivo assegnato e, infine, di monitorare l’esecuzione del piano.
Sono una delle aree tradizionali dell’intelligenza artificiale da un punto di vista metodologico. Lo studio dei giochi ha determinato lo sviluppo e la messa a punto di numerose tecniche, soprattutto quelle della ricerca nello spazio degli stati. Nel 1997, per la prima volta nella storia, un programma sviluppato dalla IBM (Deep Blue) ha sconfitto il campione del mondo di scacchi Garry Kasparov con il punteggio di 3,5 a 2,5.
È un campo, nell’ambito del controllo di sistemi complessi, nel quale alcuni sistemi di intelligenza artificiale si sono dimostrati molto efficaci, come nel caso del controllo di automobili e di sonde spaziali.
Si tratta di due aree classiche dell’intelligenza artificiale da un punto di vista metodologico e comportano spesso ricerche di natura teorica. In passato, la ricerca nella prima di queste aree era volta a scoprire e provare nuovi teoremi nell’aritmetica, nella geometria, nella logica e nella meccanica. Di recente, invece, i ricercatori si sono interessati prevalentemente allo sviluppo di tecniche inferenziali generali che, da un dato insieme di fatti, consentano di dedurre fatti nuovi o loro proprietà e relazioni. Ciò influisce sul progetto di diversi sistemi di intelligenza artificiale quali, per esempio, i sistemi esperti e i sistemi domanda e risposta. La programmazione automatica ha come obiettivo la costruzione di sistemi che, partendo da specifiche ad alto livello delle funzioni che un programma deve eseguire, siano in grado di generare automaticamente il programma stesso, corretto ed efficiente. I risultati ottenuti, sebbene non ancora concretamente utilizzabili nella costruzione di sistemi reali, fanno prevedere un notevole impatto sulle tecniche di produzione di software.
L'area della robotica intelligente (cioè quella di interesse per l’intelligenza artificiale) si articola nelle sottoaree della manipolazione e della navigazione. In generale, le aree di ricerca della manipolazione e della navigazione si estendono a un contesto multidisciplinare che va oltre il contributo fornito dall’intelligenza artificiale per comprendere anche la meccanica, la sistemistica e l’elettronica. L’obiettivo è la realizzazione di macchine autonome, capaci di sostituirsi all’uomo nell’esecuzione di attività manuali, ripetitive, pesanti e nocive. La manipolazione e la navigazione si occupano dei problemi geometrici e di movimento connessi alla realizzazione di robot intelligenti e hanno raggiunto da tempo risultati concreti e rilevanti anche dal punto di vista applicativo. L’area di ricerca della visione artificiale riguarda il problema dell’elaborazione dell’informazione raccolta dai sensori visivi, per esempio da telecamere, al fine di riconoscere e classificare forme, oggetti e scene bidimensionali e tridimensionali. I risultati teorici e sperimentali della visione artificiale sono assai brillanti e significative applicazioni sono attualmente disponibili sul mercato. Uno fra i principali risultati ottenuti in questi ambiti è la vettura autonoma Stanley, sviluppata dalla Stanford University, che nell’ottobre del 2005 è stata in grado, viaggiando senza alcun intervento umano, di percorrere 132 miglia nel deserto del Mohave (California) in poco meno di 7 ore nell’ambito della competizione DARPA Grand Challenge.
I problemi affrontati in quest’area di ricerca sono estremamente complessi, perché riguardano alcuni dei meccanismi meno noti e più sfuggenti del comportamento umano. La comunicazione, infatti, presenta ancora molti problemi irrisolti, sia dal punto di vista linguistico, sia da quello psicologico; la realizzazione di funzioni per la comprensione e per la generazione di espressioni linguistiche per mezzo dell’elaboratore non ha ancora raggiunto risultati tecnologicamente assestati. Vi sono parecchi sistemi funzionanti che consentono di risolvere in modo soddisfacente solo problemi limitati, quali dialogare con banche dati, impartire ordini a un robot, consultare sistemi esperti, tradurre approssimativamente semplici frasi da una lingua a un’altra. Collegata all’elaborazione del linguaggio naturale è l’area dell’elaborazione del linguaggio vocale: il riconoscimento e la sintesi del linguaggio vocale dell’uomo richiedono l’elaborazione di informazioni complesse di natura fonetica, morfologica, sintattica, semantica e pragmatica e rappresentano un obiettivo molto ambizioso. I risultati delle ricerche teoriche e sperimentali svolte hanno permesso di costruire sistemi dotati di capacità limitate di riconoscimento e comprensione (parole pronunciate in modo staccato, vocabolario limitato), nonché sistemi di sintesi in grado di produrre artificialmente il linguaggio parlato, leggendo un testo scritto. Il potenziale applicativo di tali ricerche è senz’altro molto rilevante.
Il mondo industriale si riconosce intorno all’ingegneria della conoscenza, espressione che individua gli aspetti ingegneristici dell’intelligenza artificiale e che ha per anni posto in primo piano la tecnologia dei sistemi esperti impiegata, per esempio, in compiti di diagnosi. I sistemi esperti hanno rivoluzionato l’approccio all’impiego dell’elaboratore, non richiedendo più, al fine di risolvere problemi applicativi, di programmare algoritmi per la macchina algoritmica ma esigendo solamente di rappresentare la conoscenza che la macchina algoritmica utilizza per costruire inferenzialmente la soluzione dei problemi applicativi (purché questi siano inerenti alla conoscenza posseduta dal sistema esperto). L’interesse per i sistemi esperti è stato accresciuto dall’opportunità di modellare la conoscenza e non di meccanizzare gli algoritmi risolutivi, rendendo possibile l’interazione con la macchina direttamente a coloro che possiedono la conoscenza stessa. A partire da diverse ricerche precedenti, comprese quelle sulla rappresentazione della conoscenza, negli ultimi anni lo studio delle ontologie, ovvero delle descrizioni formali di domini specifici, ha raggiunto un buon grado di maturità e promette di aprire nuovi settori applicativi, soprattutto legati al web.
In conclusione, ribadiamo che gli ambiti di applicazione dell’intelligenza artificiale non si esauriscono in quelli che abbiamo citato poiché la disciplina è in continua espansione, muovendosi su un territorio di frontiera della ricerca, e poiché interessa anche altri contesti, quali l’elaborazione dei segnali, l’analisi dei dati, l’intrattenimento e la medicina, che contribuiscono a caratterizzarla come una disciplina dinamica, aperta e ricca di promettenti prospettive.