TESINA PER L’ESAME DI TEORIA E TECNICHE DEI NUOVI MEDIA di Alessio Sammartino INTRODUZIONE L’espressione intelligenza artificiale è stata coniata da John McCarthy, per intendere la trasposizione su calcolatore elettronico di tutto l’insieme degli aspetti che caratterizzano l’intelletto umano. Punto di partenza dell’intelligenza artificiale è la convinzione dei ricercatori che qualsiasi attività cerebrale possa essere interpretata come un calcolo; l’operazione base di questo calcolo è la deduzione.1 1 Cfr. http://www.primonet.it/rubriche/vertigo/filehtml/intell.htm L’intelligenza artificiale mosse i primi passi dopo la seconda Guerra Mondiale e nel ’65 già esistevano programmi in grado di risolvere problemi di calcolo e di giocare a scacchi. Nella seconda metà degli anni Sessanta e durante gli anni Settanta si sono delineate le varie correnti e sono emersi i vari scopi degli studiosi interessati a questo campo. Durante un celebre seminario, svoltosi al Dartmouth College di Hanover, i ricercatori si schierarono su due fronti: quello i cui principali esponenti furono John McCarthy (della Stanford University) e Marvin Minsky (del Massachusetts Institute of Technology) e che fu definita intelligenza artificiale “hard” e quello i cui principali esponenti furono A. Newell e H. Simon (della Carnagie-Mellon University) e che fu definita intelligenza artificiale “soft”. Secondo quest’ultima impostazione, i programmi intelligenti servono solo a verificare teorie sul modo in cui gli esseri umani potrebbero eseguire operazioni cognitive. Secondo l’impostazione hard, invece, l’intelligenza artificiale è un campo di ricerca che ha come scopo quello di creare macchine pensanti in senso pieno e non che imitino soltanto il pensiero umano. Le tecnologie di cui stiamo parlando riguardano sia il software (i programmi intelligenti cui abbiamo accennato), sia l’hardware con la creazione di reti neurali somiglianti al nostro cervello e di varie periferiche che hanno lo scopo di far riconoscere alle macchine l’ambiente esterno e di interagire con esso come gli esseri umani. SOFTWARE Per quanto riguarda il software, i primi programmi degli anni Sessanta erano tesi ad ottenere dai calcolatori delle risposte simili a quelle che darebbe un essere umano posto dinanzi agli stessi problemi. Nei 2 decenni successivi la ricerca si è evoluta nella direzione di un’acquisizione effettiva del comportamento (innanzitutto linguistico) umano. Due dei partecipanti al seminario di Dartmouth, Allen Newell e Herbert Simon ebbero un primo successo con un programma chiamato Logic Theorist: si trattava di un “dimostratore di teoremi” nell’ambito della logica simbolica. Il programma conteneva un insieme di assiomi, teoremi già dimostrati e regole. Il Logic Theorist dimostrava teoremi per mezzo di procedure che, secondo i suoi inventori, sono le stesse del cervello umano: 1) Sostituzione di un tipo di espressione con un’altra 2) Procedimento a ritroso da qualcosa di già dimostrato a qualcosa da dimostrare 3) Sillogismi2 I due scienziati su ricordati e Cliff Shaw della Rand Corporation realizzarono anche un altro prodotto sorprendente: il General Problem Solver: si trattava di un programma che doveva risolvere problemi richiedenti intelligenza partendo da descrizioni della situazione iniziale e del risultato desiderato. Il software possedeva un gran numero di informazioni riguardanti le varie combinazioni di operatori a disposizione per raggiungere il fine ed infatti questo procedimento era chiamato “analisi mezzi-fini”. In pratica partendo dal risultato proposto, il General Problem Solver controllava se oltre agli operatori a disposizione fossero necessari dei prerequisiti; in caso affermativo creava tanti sotto-obiettivi finchè non giungeva a quello che fosse più vicino alla situazione di partenza e che non richiedesse prerequisiti. In ogni caso si era ancora lontani dai risultati prefissi in quanto sussistevano due ordini di problemi: 1) Enorme quantità d’informazioni che devono essere immesse 2 cfr. http://www.unive.it/%7ecired/crossing/varagno.htm 3 2) Limitato ruolo attivo svolto dal programma3 La tendenza attuale della ricerca è quella di creare dei sistemi cosiddetti “esperti” cioè dei sistemi che contengono in sé tutte le conoscenze riguardanti un settore specifico in modo da poter sostituire esperti umani in materia. Fanno parte di un sistema esperto: 1) La base di conoscenza (insieme di fatti, concetti e regole facenti parte della specifica disciplina) 2) Il motore inferenziale (quella parte del programma in grado di imitare l’approccio alla risoluzione del problema di un esperto) 3) La componente esplicativa (spiega all’utente il perché di una determinata soluzione) 4) L’interfaccia utente (permette all’utente di dialogare con il sistema attraverso un linguaggio il più possibile simile a quello naturale) 5) Il modulo di acquisizione della conoscenza (l’oggetto che assiste all’inserimento della conoscenza nella base di conoscenza). In un programma convenzionale, la conoscenza è indissolubilmente legata alle procedure con cui essa viene elaborata; la novità dei sistemi esperti è proprio quella che essi tengono ben distinta la base di conoscenza dalle istruzioni e sono quindi in grado di dare giustificazioni riguardo le conclusioni raggiunte4. I programmi di intelligenza artificiale sono scritti con appositi linguaggi detti logici. «Il Lisp è il linguaggio nato con il concetto di intelligenza artificiale ed è il più usato»5; non esiste uno standard universalmente riconosciuto e quindi si possono trovare programmi scritti in diversi “dialetti”. Fu inventato da John McCarthy e diede subito ottimi risultati. 3 4 ivi ivi 4 Il Prolog è l’unico linguaggio che può tenere testa al Lisp e fu creato dal francese A. Colmeraurer nel 1972. Fu capostipite di una nuova famiglia di linguaggi (cosiddetti logici) con cui il programmatore si limita a descrivere il problema alla macchina, la quale lo risolve con procedimenti di carattere deduttivo. Agli inizi degli anni Ottanta fu ufficialmente adottato dai Giapponesi per i computer della quinta generazione.6 Per risolvere problemi “intelligenti” non bastano i due valori convenzionali di verità-falsità (0-1) che usano i computer nelle loro funzioni classiche; infatti nella realtà quotidiana vi sono situazioni sfumate per cui i sistemi esperti adottano la cosiddetta “fuzzy logic” che prevede anche un’intersezione più o meno marcata fra i due insiemi di verità e falsità.7 HARDWARE Le reti neurali sono strutture create a somiglianza del cervello umano che, sempre più precisamente, col passare del tempo saranno in grado di riconoscere forme complesse come il parlato, lo scritto e le forme. Saranno in grado di farlo apprendendo autonomamente come riconoscere queste forme complesse anziché funzionare grazie alla programmazione 5 http://www.primonet.it/rubriche/vertigo/filehtml/intell.htm cfr. ivi 7 cfr. ivi 6 5 di una persona. Le reti neurali sono costituite da una serie di neuroni e da connessioni che sostituiscono le nostre sinapsi. Il fatto che siano “addestrate” e non programmate, rende le reti in grado di lavorare anche con informazioni incomplete o, addirittura, parzialmente errate. Il limite principale delle reti sta nel limitato numero di neuroni, come per il cervello umano; solo che il nostro organo ne ha un numero talmente elevato da manifestare questo limite molto tardi. Il principio in base al quale la rete apprende è quello per cui impara dai propri errori. I metodi di apprendimento si dividono in supervisionato e non supervisionato. Quello principale è quello supervisionato che si contraddistingue per la presenza di una sorta di “insegnante” che di volta in volta comunica alla rete qual è la prestazione desiderata. Dopo “l’insegnamento” la rete si modifica di conseguenza e dopo molte prove (migliaia) riesce da sola a fornire la risposta giusta per un determinato problema. Un esempio è quello della back-propagation per cui la rete calcola ad ogni prova la differenza fra la risposta data e quella stabilita dall’insegnamento; a seconda dell’entità dell’errore modificherà la risposta successiva. Con il metodo non supervisionato, invece, la rete neurale impara scoprendo regolarità negli stimoli senza che le venga spiegato dall’esterno quali siano queste regolarità.8 La rete non dà risultati completamente giusti o sbagliati ma risponde secondo la fuzzy logic; quindi se gli viene fornito uno stimolo simile ad un altro per il quale ha già imparato la risposta, darà un output uguale o simile a quello per lo stimolo già conosciuto. Questa capacità è uno dei vantaggi più importanti rispetto ai sistemi tradizionali. Le principali reti neurali utilizzate oggi sono la Multilayer Perceptron con back propagation come metodo di apprendimento, le Reti di Hopfield e le Reti di Kohonen. I neuroni del primo tipo sono organizzati a strati: uno di input, uno di output, ed altri strati intermedi. Lo strato di input trasmette gli impulsi allo strato successivo e ad ogni passaggio avvengono delle modifiche delle 8 cfr. http://www.logikos.it/teorema/reti.htm 6 informazioni fino ad arrivare allo strato di output. Problemi diversi vengono risolti da reti diverse: maggiore è la complessità e maggiore è il numero dei neuroni necessari. Le reti di Hopfield non sono suddivise in strati e tutti i neuroni sono collegati fra di loro (reti fully-connected). “La funzione principale delle Reti di Hopfield è quella di riconoscere pattern molto rumorosi come pattern che sono stati "immagazzinati nella sua memoria" cioè già classificati: ad un pattern rumoroso viene associato in output un pattern perfetto”9. Gli input vengono mostrati contemporaneamente a tutti i neuroni ed il valore di ognuno di essi influenza quello di tutti gli altri. Una volta immessi gli input inizia la fase di apprendimento, durante la quale la rete cerca di raggiungere compromessi fra i valori di neuroni fino a quando questi non variano più ed allora si sarà raggiunto il miglior compromesso che sarà anche l’output della rete. Le reti di Kohonen nascono dallo studio della corteccia cerebrale umana e permettono di classificare oggetti senza bisogno di supervisione esterna e tengono conto sia delle connessioni sinottiche fra neuroni che dell’influenza che ogni neurone ha sul vicino. Esse sono costituite da una serie di neuroni che servono solo a recepire l’output e da un singolo strato bidimensionale in cui i neuroni sono posti come su una griglia su di un piano e questi neuroni calcolano l’output. Ogni neurone di input è collegato a tutti i neuroni della griglia.10 Un altro ramo di sviluppo dell’hardware che riguarda l’intelligenza artificiale è quello della Robotica. A differenza dei sistemi esperti e delle reti neurali che cercano di riprodurre il pensiero razionale dell’uomo, la robotica pone come proprio obbiettivo quello di riprodurre la capacità dell’uomo di riconoscere l’ambiente che lo circonda e di agire al suo interno con disinvoltura. 9 ivi 10 ivi 7 Gli esseri umani danno per scontato che il riconoscimento di oggetti ed il movimento in base alle informazioni provenienti dal mondo esterno siano operazioni banali, ma questo dipende soltanto dal fatto che millenni di evoluzione necessaria alla sopravvivenza della nostra specie ci hanno resi molto capaci. I computer più potenti, che compiono milioni di operazioni al secondo possono risolvere problemi e fare calcoli a velocità per noi incredibili ma uno di questi computer non sarebbe in grado di rifare un letto!11 Per chiarirsi le idee basti confrontare i processi visivi dell’occhio umano con quelli sviluppati per consentire a robot industriali di “vedere”: ai robot occorrerebbe la capacità del supercomputer più potente del mondo (un miliardo di calcoli al secondo) per ottenere gli stessi risultati alla stessa velocità della retina umana.12 Oltre a lavorare per dare ai robot capacità sensoriali rivolte verso l’esterno, alcuni scienziati stanno cercando di creare computer in grado di riconoscere le emozioni umane. Grazie ad alcuni sensori collegati agli umani, questi computer saranno in grado di comprendere le emozioni causate dal loro operare e reagire di conseguenza, modificando le loro azioni se riceveranno input di non gradimento o viceversa. Si sta lavorando a computer “indossabili”, che stando sempre a contatto con una persona, imparano a conoscerla ed a stabilire un feed-back. Allo stato attuale esistono già dei prototipi funzionanti di occhiali che riconoscono delle emozioni dai movimenti dei muscoli facciali.13 Forse l’approccio più promettente alla robotica è quello che parte “dal basso”: si cerca di imitare i sistemi nervosi degli animali partendo da quelli più elementari per creare poi sistemi via via più complessi. In questo modo i progressi dovrebbero essere più veloci ed infatti i migliori robot di oggi sono controllati da computer che simulano il sistema nervoso di un insetto.14 11 vedi http://www.primonet.it/rubriche/vertigo/filehtml/intell.htm vedi HANS MORAVEC, il robot universale in L. CAPUCCI (a cura di), Il corpo tecnologico, Baskerville, Bologna, 1994 pagg. 99-112 13 vedi http://www.mediamente.rai.it/home/bibliote/intervis/p/picard.htm 14 vedi HANS MORAVEC, il robot universale in L. CAPUCCI (a cura di), Il corpo tecnologico, Baskerville, Bologna, 1994 pagg. 99-112 12 8 Ci sono scienziati (come H. Moravec) che fanno previsioni su come ed in quali tempi questo tipo di approccio si evolverà: a partire dal 2010 circa, ci dovrebbero essere i primi robot universali con movimenti limitati e controllati da rigidi programmi, ma in grado di interagire con l’uomo e l’ambiente fisico in cui si muoveranno. Passando per stadi intermedi, queste macchine acquisiranno sempre più capacità e saranno coniugate a programmi di intelligenza artificiale simili a quelli descritti sopra ma più complessi e che gireranno su computer molto più veloci. Questa unione li renderà molto simili agli esseri umani e col passare dei decenni le loro capacità saranno di gran lunga superiori a quelle degli uomini fino a diventare esseri decisamente sovrumani che noi non riusciremo più neanche a comprendere.15 PROBLEMATICHE Lo sviluppo dell’intelligenza artificiale può portare all’instaurarsi di vari scenari futuri, ad un mondo che adesso è difficile immaginare. Quello che ha portato l’uomo verso questo tipo di studi è l’evoluzione del bisogno di risparmiarsi il sovrappiù di fatiche derivanti dalle società complesse. Si è iniziato con l’addomesticare gli animali e si è continuato con la creazione di macchine mano a mano più sofisticate che potessero svolgere i compiti più sgraditi. Cosa succederà quando finalmente avremo creato la macchina perfetta in grado di svolgere come noi e meglio di noi questi compiti? E quando questa macchina potrà fare qualunque cosa meglio di noi e fare cose che noi neppure sogniamo? 15 ivi 9 Moravec16 suggerisce di non considerare i futuri robot come qualcosa di totalmente esterno a noi ma come dei nostri “figli”, o perlomeno “figli delle nostre menti”. Egli è certo che questi nostri discendenti saranno nettamente superiori a noi e faranno fatica a comunicare al nostro livello elementare. Però, aggiunge, noi non saremmo tagliati fuori, in quanto vi sarà la possibilità di trasporre la nostra essenza in un corpo meccanico immortale e con capacità fisiche e di pensiero migliaia o forse milioni di volte superiori. Marvin Minsky, del M.I.T, abbracciando in più parti la visione di Moravec, si chiede perché noi dovremmo rassegnarci a convivere con i difetti e la scarsa durata del nostro corpo biologico.17Quando sarà possibile sostituirlo con uno meccanico potremmo decidere se essere immortali, quanti, quali e che tipo di figli avere. Si potrà programmare quante persone dovranno popolare la terra e quali specie e culture sarà meglio che lo facciano.18 Eppure alle fredde riflessioni di Minsky forse bisognerebbe opporre qualche quesito anche se, probabilmente, per ora non vi possono essere risposte. Innanzitutto se noi creassimo degli esseri del tutto simili a noi e quindi, in pratica, delle persone, per svolgere i nostri lavori, metteremmo in atto una forma di schiavismo. Questo problema può essere aggirato con l’argomentazione per cui anche noi aderiremo alle capacità dei nostri discendenti meccanici, non ci saranno differenze e forse non ci sarà neanche bisogno di svolgere determinati lavori, o perlomeno questi non costeranno fatica a nessuno. Però non vedo perché si debba escludere che i nostri potenziali “figli” possano non essere poi tanto benevoli nei nostri confronti e comportarsi come ogni specie superiore ha fatto dovendo condividere lo stesso spazio di una inferiore, cioè distruggendo quest’ultima. Non saremmo forse degli esseri inutili? 16 ivi M. MINSKY, Saranno i robot a ereditare la Terra? In «Le Scienze» n. 316, dicembre 1994, pag.97 18 ivi 17 10 Inoltre chi e su quale base dovrebbe decidere chi popolerà il mondo? Oppure tutti saranno in grado di creare esseri a loro piacimento generando così invece che una dittatura solo il caos? Sono d’accordo che forse non si possa rispondere ad argomentazioni scientifiche con temi quali l’anima od altre entità non definite che fanno parte dell’essere umano. Tuttavia scienziati come Minsky dovrebbero almeno spiegarci perché dovremmo rinunciare ad una serie di piaceri ed emozioni che solo la natura biologica dell’uomo ci permette di provare, quali l’attrazione fisica, la gioia di procreare etc,,,,, Oppure si sostiene che progettare un figlio possa dare le stesse sensazioni (ammesso che il corpo meccanico ci permetta di averne) di generarne uno? Non voglio di certo insinuare che bisognerebbe frenare il progresso, soprattutto quando questo può migliorare la qualità della vita.So che gli scienziati di tutto il mondo si pongono problemi etici di questo tipo ma non posso fare a meno di provare una certa ansia quando leggo articoli come quello di Minsky19 in cui aleggia un quasi disprezzo per ciò che siamo. 19 ivi 11 FONTI Cartacee: -P. L. CAPUCCI (a cura di), Il corpo tecnologico, Baskerville, Bologna 1994 - M. MINSKY, Saranno i robot a ereditare la terra?, in «Le scienze» (edizione italiana di «Scientific American») n. 316, dicembre 1994, pp. 97-102 Telematiche http://www.primonet.it/rubriche/vertigo/filehtml/intell.html http://www.unive.it/%7ecired/crossing/varagno.htm http://www.mediamente.rai.it/home/bibliote/intervis/c/cordesch. htm http://www.comune.modena.it/scuole/smscarlo/ferri.htm http://www.unipa.it/%7egui-pa/int_artificiale/int_artificiale.htm http://www.criad.unibo.it/%7egalarico/calcolo/artifici.htm http://www.mediamente.rai.it/home/bibliote/intervis/f/faggin2.ht m http://www.mediamente.rai.it/home/bibliote/intervis/p/picard.ht m http://paradiso.itd.ge.cnr.it/td/td1/nascita2fr.htm http://www.logikos.it/teorema/modevo.htm http://www.logikos.it/teorema/reti.htm 12 . 13 14