Ambiti della ricerca e prime applicazioni
A partire dalla metà degli anni ’60, lo sviluppo della tecnologia dei circuiti integrati consentì il nascere di quella che viene definita la terza generazione dei computer. Con queste nuove macchine si rese possibile anche un salto qualitativo dei programmi ed una ricerca dell’IA applicata soprattutto alla comprensione del linguaggio umano, al calcolo simbolico ed alla rappresentazione semantica. Uno dei primi programmi di IA ad avere successo fu Eliza, inventato nel 1964 da Joseph Weizenbaum, allora giovane ricercatore del MIT. Eliza era in grado di sostenere una conversazione in inglese su “copioni” prestabiliti di diverso argomento. La sua notorietà fu dovuta anche al “ruolo” di psicanalista che Weizenbaum fece assumere ad Eliza, talmente realistico da far credere agli utilizzatori di essere davanti a un vero dottore.
Uno psichiatra, Kenneth Colby, realizzò poco dopo un programma simile ad Eliza che chiamò Parry, in grado di simulare il comportamento linguistico di un paranoico. Furono persino organizzate sedute di dialogo tra Parry ed Eliza, a detta di molti psichiatri estremamente realistiche.
a) L’analisi del linguaggio naturale nell’IA
Uno dei limiti caratteristici nel modo di procedere formale del computer è quello che la macchina ignora il significato dei simboli che va manipolando..
Il primo programma dotato di un modulo per la comprensione semantica del linguaggio umano fu Shrdlu sviluppato da T. Winograd fra il 1968 e il 1970. Composto da un analizzatore sintattico, da un modulo semantico e da un risolutore di problemi, Shrdlu era in grado di comprendere il linguaggio naturale e di spostare, tramite un braccio articolato, un gruppo di oggetti geometrici diversi per forma, misura e colore. La procedura di risposta ai comandi impartiti prevedeva una prima fase di riconoscimento della plausibilità sintattica della frase.
Quindi il computer passava all’interpretazione semantica ed infine alla fase operativa di constatazione circa l’effettiva esistenza degli oggetti e la possibilità di eseguire i movimenti indicati dall’operatore. Shrdlu, insomma, attuava la percezione del mondo esterno tramite la propria rappresentazione di alcuni oggetti fisici. Le ricerche sull’elaborazione del linguaggio naturale costituiscono uno dei settori di punta dell’intelligenza artificiale e sono oggetto di una ulteriore disciplina che si chiama linguistica computazionale.
L’elaborazione automatica del linguaggio naturale prende le mosse dalla teoria linguistica di Noam Chomsky, una delle personalità scientifiche più rilevanti del Novecento. Secondo Chomsky la capacità che ogni essere umano ha di capire e produrre frasi e discorsi nella sua lingua è dovuta ad un insieme di conoscenze presenti nella sua mente: definiamo questo insieme di conoscenze implicite competenza linguistica. Tale competenza è almeno in parte inconsapevole, visto che la maggior parte delle persone sono in grado di produrre e capire le frasi corrette, così come di individuare immediatamente gli usi scorretti della loro lingua, pur senza sapere il modo in cui questo avviene. Tutte queste capacità derivano dalla presenza nella mente di un insieme di regole ben precise, che sono simili alle regole di un sistema formale. Uno dei formalismi per la rappresentazione delle conoscenze più diffusi nella IA sono le cosiddette reti semantiche. La prima formulazione del concetto di rete semantica si deve a Ross Quillian, che nel 1968 costruì un modello dell’organizzazione dei significati delle parole nella memoria e della capacità di associare concetti. Secondo Quillian i concetti (o significati delle parole, che per quanto ci concerne possono essere considerati la stessa cosa) nella nostra mente sono organizzati in una struttura reticolare. Solo che in questa rete esistono due tipi di nodi: i nodi tipo e i nodi occorrenza. I nodi tipo corrispondono ai significati delle singole parole. Da ogni nodo tipo si dipartono una serie di collegamenti o archi che terminano nei nodi occorrenza; questi ultimi hanno la funzione di descrivere il significato della parola in questione. Tale descrizione, come avviene nei dizionari, si basa sull’uso di altre parole che sono il contenuto dei nodi occorrenza.
Le reti semantiche hanno due limiti: in primo luogo ogni singolo concetto è considerato come un elemento a se stante e sebbene gli archi che collegano un nodo ad un altro forniscano una rappresentazione articolata del significato, questa articolazione è comunque troppo limitata per esprimere compiutamente tutte le varie sfumature di un concetto. In secondo luogo la specificazione del significato di un concetto è estremamente rigida: ogni concetto infatti viene descritto mediante una serie di componenti obbligatori, un po’ come avviene nelle definizioni di un dizionario.
Dunque questo modo di rappresentare la conoscenza è inadeguato per rendere conto del modo assai rapido con cui un essere umano è in grado di accedere alle conoscenze immagazzinate nella sua memoria e di utilizzarle per ragionare, comprendere un discorso in lingua naturale o riconoscere gli oggetti e le situazioni che gli si presentano.
b) I moderni bots
Ultimamente stanno avendo una notevole diffusione i bots, programmi che si trovano in rete (soprattutto nelle chat, in cui si dialoga in tempo reale con altri utenti connessi) e che simulano dialoghi spesso semplici con esseri umani ma sovente hanno un ‘nickname’ cioè un nome virtuale indistinguibile da quello degli utenti reali. Sono spesso utilizzati per gestire canali di conversazione o fare da arbitri in giochi interattivi. Sul sito del film di Steven Spielberg, A. I. Artificial Intelligence1, si può chattare con Chatbot e Alice, due bot dell’ultima generazione che sanno conversare in tempo reale in inglese con notevole proprietà di linguaggio e sono in apparenza indistinguibile da utenti in carne e ossa. Il film è tratto da un soggetto di Stanley Kubrick che, tra l’altro, nel suo film 2001: Odissea nello Spazio dava voce al computer intelligente dall’inquietante occhio rosso Hal 9000 in grado di conversare amabilmente in linguaggio naturale e di esprimere giudizi su opere d’arte e governare da solo l’astronave Discovery. Hal batteva a scacchi il protagonista Dave Bowman ma anche nella realtà Deep blue, un computer progettato nei laboratori di ricerca della IBM, riuscì a battere nel 1997 al secondo tentativo Gary Kasparov, campione del mondo di scacchi. Deep Blue è una cosiddetta macchina parallela, cioè con molteplici processori che lavorano tutti insieme: ogni singolo processore esegue una parte dei calcoli necessaria a risolvere un problema, raggiungendo così potenze di calcolo elevatissime. Infatti per ogni turno un giocatore di scacchi dispone in media di 35 alternative. Per valutare tutte le possibili conseguenze di una sola mossa occorre verificare 35 x 35 = 1225 possibilità. Questo significa che per valutare le conseguenze dopo due mosse bisogna analizzare più di un milione di possibilità.
c) I sistemi esperti
Una delle più importanti applicazioni dell’intelligenza artificiale soprattutto a livello commerciale è rappresentata dalla creazione dei sistemi esperti. In estrema sintesi, si intende per sistema esperto un programma che è in grado di risolvere problemi complessi che rientrano in un particolare dominio, con una efficienza paragonabile a quella di uno specialista umano di quel settore. Ad esempio un sistema esperto potrebbe essere capace di fare diagnosi mediche esaminando le cartelle cliniche (opportunamente formalizzate) di un paziente; o potrebbe valutare tutti i fattori di rischio e le prospettive di guadagno di un determinato investimento finanziario.
Di norma tutti i sistemi esperti hanno i seguenti componenti: una base di conoscenza specialistica su un determinato dominio, che rappresenta il sapere necessario ad affrontare e risolvere problemi in quel campo. Un motore inferenziale che sia in grado di dedurre, a partire dalla base di conoscenza, le conclusioni che costituiscono la soluzione a un dato problema che rientra nel dominio. Il motore inferenziale è il vero cuore del programma; funziona applicando alla base di conoscenza una serie di procedure euristiche che, analizzando i diversi percorsi possibili mediante un processo di ‘prova ed errori’, ne individuano il più adatto. Di contro, in ogni campo specialistico, un esperto umano è in grado di escludere immediatamente e a priori una serie di opzioni che sono manifestamente improduttive per la soluzione del problema dato. Infine abbiamo una interfaccia utente che è in grado di far interagire con il programma ponendo domande e leggendo le risposte.
Le prime applicazioni dell’IA ai sistemi esperti possono essere fatte risalire agli anni ’60, l’ambiente di ricerca è quello delle università statunitensi. Fu Dendral, il primo classico esempio di ‘generate and test’, ovvero di procedura euristica, destinato alla ricerca nel settore chimico. Da Dendral in poi i sistemi esperti si orientarono in modo particolare alla soluzione di problemi medici ed in questo settore una vera e propria pietra miliare fu Mycin progettato nel 1972.
d) Le reti neurali
Sin dalla nascita dell’IA, le ricerche di impostazione connessionista hanno cercato di emulare il comportamento delle cellule neuronali facendo ricorso alle cosiddette reti neurali.
Nel 1958 Rosenblatt propose un modello di neurone capace di apprendere mediante esempi; Percepton era una sorta di robot “tartaruga” in grado di muoversi in un ambiente evitando gli ostacoli e individuando le fonti di energia per il suo sostentamento.
Una rete neurale è una struttura formata da un certo numero di unità collegate tra loro da connessioni; attraverso le connessioni un’unità influenza fisicamente le altre unità con cui è collegata. E’ costituita inoltre da un insieme di nodi; per ogni nodo vi sono dei collegamenti di input (da cui arrivano segnali) e dei collegamenti di output (attraverso cui la rete emette segnali). I nodi possono assumere due stati: stato di riposo e stato di attivazione. Quando un nodo è in stato di attivazione esso invia dei segnali ai nodi con cui è collegato. I collegamenti tra i nodi di una rete neurale sono di due tipi: collegamenti eccitatori e collegamenti inibitori. Ogni collegamento tra un nodo della rete e un altro, inoltre, è dotato di un peso che assegna diversi valori ai segnali che li attraversano. Ogni nodo diventa attivo e dunque manda un segnale ai nodi ad esso connessi solo se i messaggi che gli arrivano lo portano oltre una certa soglia di attivazione (misurata mediante una scala numerica).
Le reti neurali hanno diverse interessanti proprietà: innanzitutto, a differenza dei computer digitali, funzionano in “modalità parallela”, nel senso che in ogni istante molti nodi cambiano il loro stato simultaneamente. Inoltre sanno apprendere, cioè possono imparare a svolgere dei compiti senza bisogno di essere programmate esplicitamente.
Su un sito internet ho sperimentato l’efficacia di una rete neurale giocando a “Twenty Questions”2, un programma che migliora le proprie prestazioni apprendendo dalle partite precedenti. Il gioco consiste in questo: il giocatore sceglie una “cosa” (oggetto, animale, minerale o altro) da far indovinare al computer che, con al massimo 20 domande a cui il giocatore deve dare risposte veritiere, si propone di indovinare di che sostantivo si tratta. Il gioco dà risultati sorprendenti: spesso il computer indovina con meno di 20 domande.
e) Artificial Life
Un’evoluzione nell’ambito dell’IA è rappresentata dagli studi sulla Vita Artificiale. Il suo obiettivo è simulare il comportamento di organismi ed ecosistemi reali attraverso il computer.
La data ufficiale di nascita di questa disciplina, a cavallo tra biologia, genetica e informatica, risale al 1987 ed esattamente a una conferenza tenutasi in New Messico in cui il biologo Christopher Langton riunì circa 160 studiosi provenienti da diverse aree scientifiche.
Così come l’IA studia i principi e la natura dell’intelligenza cercando di riprodurne alcune caratteristiche mediante i computer, la vita artificiale cerca di rispondere a domande sui processi che caratterizzano un organismo vivente (o una popolazione di organismi), e di capire come si siano svolti i processi evolutivi che da forme di vita semplici hanno portato all’evoluzione di forme di vita sempre più complesse e intelligenti, mediante simulazioni realizzate al computer.
Allo stato attuale, comunque, la maggior parte delle ricerche in questa disciplina è rivolta allo studio di processi biologici elementari (assimilabili a quelli dei virus o degli esseri monocellulari) o alla simulazione del comportamento di esseri più complessi ma comunque assai in basso nella scala evolutiva, come gli insetti.
Come nell’IA, anche in questo settore esistono una posizione ‘forte’ e una ‘debole’: i sostenitori della prima ritengono che sia possibile creare esseri artificiali ‘vivi’ al pari di quelli organici; i secondi, invece, sostengono che le forme di vita artificiali non possono e non potranno mai dirsi viventi in senso pieno.
I più noti enti artificiali sono gli automi cellulari, inizialmente studiati da John Von Neumann e Alan Turing. Un automa cellulare è una macchina software autodiretta che di norma ‘vive’ in ambienti simulati bidimensionali, è dotata di alcuni semplici comportamenti simili a basilari processi vitali (mangiare, spostarsi alla ricerca di cibo, difendersi da altri automi) ed è in grado di autoreplicarsi. Uno degli esempi più interessanti di automa cellulare è costituito dall’ambiente artificiale conosciuto come “Life – il gioco della vita”, ideato dal grande matematico John Horton Conway nel 1960. L’ambiente del gioco è una scacchiera bidimensionale e gli organismi che vivono nell’ ambiente sono rappresentati da celle piene, mentre quelle vuote sono considerate non occupate da organismi viventi oppure celle morte. Questi organismi si evolvono in base a tre semplici regole:
– ogni cella con nessuna o una sola cella adiacenti piene muore (morte per isolamento)
– ogni cella con quattro o più celle adiacenti piene muore (morte per sovraffollamento)
– ogni cella morta con tre celle adiacenti piene torna in vita alla generazione successiva (regola di nascita)
Il sistema si evolve da solo in maniera spesso sorprendente e questa evoluzione genera forme di vita sempre più complesse.
Note
Comments are closed