|
||||||
DOCUMENTS
elab.immagini
galileo
realtà virtuale
vrml
biomeccanica
esapodi
formula1
intelligenza
Papers
meccanica
sistemi
robotica
Le radici dell'Artificial Life possono essere rinvenute negli automi cellulari di John Von Neumann e Arthur W. Burks. Nelle parole di Burks, che fu il continuatore della sua opera, Von Neuman si chiedeva:
"Quale tipo di organizzazione logica è sufficiente ad un automa per riprodurre se stesso? Questa domanda non è precisa ed ammette sia una risposta banale che una interessante. Von Neuman aveva in mente il fenomeno naturale dell'autoriproduzione quando la pose, ma non tentò di simulare l'autoriproduzione di un sistema naturale a livello genetico e biochimico. Egli voleva astrarre dal problema naturale dell'autoriproduzione la sua forma logica."(Burks, 1970).
Il formalismo che permise la realizzazione di un tale sistema, fu proposto da un suo collega, Stan Ulam, con il nome di Automa Cellulare (Ulam, 1962). Un automa cellulare è semplicemente un sistema che può avere un numero finito di stati ed il cui stato è determinato dallo stato di altri automi che lo circondano. Il comportamento degli automi cellulari diventa interessante proprio perché formano una rete di interazioni, il cui comportamento globale, nel tempo, non è prevedibile; anche se le leggi che governano i passaggi di stato per ogni singolo automa sono semplici e ben determinate. Lo stato di ogni automa di questa rete, in ogni istante di tempo, è determinato dallo stato posseduto, nell'istante precedente, dagli automi che lo circondano. Con gli automi cellulari, Von Neumann impostò un sistema capace di autoreplicarsi e stabilì che, qualunque sistema capace di fare ciò, doveva fare uso delle informazioni contenute nella sua descrizione in due modi fondamentalmente differenti: sia interpretando, che non interpretando. Interpretate le informazioni dovevano tradursi in azioni da compiere per realizzare il replicante, non interpretate dovevano essere soltanto copiate, perché sarebbero state l'analoga descrizione per il replicante. Quando, in seguito, si scoprì la struttura ed il funzionamento del DNA emerse che erano proprio i modi in cui la cellula fa uso delle informazioni contenute in esso durante i suoi processi di trascrizione e traduzione da una parte e replicazione dall'altra.
Fino agli anni ottanta possiamo dire che l'unico filone di ricerca sull'artificial life è stato questo degli automi cellulari. In seguito si è avuto quell'interesse convergente in questo campo da vari ambiti cui abbiamo fatto cenno sopra. Proprio per unificare gli sforzi e fare il punto della situazione, nel settembre del 1987 si è tenuta a Santa Fe la prima conferenza sull'Artificial Life (che è considerata l'atto di nascita ufficiale di questa nuova scienza), organizzata da Chris Langton del Santa Fe Institute. Ad essa parteciparono non solo scienziati che, con vari approcci, lavoravano alla costruzione di robot, o scienziati cognitivi, ma anche filosofi, chimici e biologi. In seguito si è tentato di definire meglio le competenze dell' Artificial Life e di formalizzarne i confini e gli ambiti. Si sono avute altre conferenze negli Stati Uniti ed in Europa, oltre a sempre più frequenti pubblicazioni.
Oggi possiamo distinguere due grossi filoni che si intrecciano tra loro: quello della robotica e quello delle simulazioni.
Un altro tipo di distinzione che si può fare, che è in realtà molto più profonda e destinata ad approfondirsi, è tra gli approcci che potremmo definire top-down, quali quelli della tradizione cognitiva o dell'Intelligenza Artificiale, e quelli bottom-up nel quale troviamo connessionismo (in particolare il filone degli agenti situati) e automi cellulari.
Vi sono, ovviamente, anche molti tentativi di integrare le due strategie. Riguardo alla prima distinzione Rodney Brooks (che è il più autorevole ricecatore nel campo della robotica) insiste sulla difficoltà di trasportare apprendimenti e tecniche dalle simulazioni al mondo reale (Brooks, 1992), ma fa riferimento soprattutto a ricerche che utilizzano il classico procedimento dell'Intelligenza artificiale. Al contrario suggerisce tecniche che utilizzano gli algoritmi genetici perché si abbiano apprendimenti trasferibili dal simulato al reale. Un automa deve apprendere ad agire in un ambiente e, in linea di principio, non fa molta differenza se questo ambiente è reale o simulato. L'ambiente simulato, però, non deve essere stato progettato in modo da rendere il più semplice possibile "la vita" all'automa. Questa semplificazione (come fa notare Brooks, 92; pagg. 4-5) spesso finisce per rendere ancora più difficile operare in tale ambiente. Ciò è legato al fatto che quello che è riportato dai sensori, nella vita reale, è sempre molto incerto. Quell'imprecisione che, a prima vista, sembrerebbe un problema, in realtà porta ad apprendimenti più flessibili in partenza; fa si che non si creino conflitti di precedenza artificiali come in alcune simulazioni e soprattutto porta in maniera più naturale a prendere il punto di vista del robot, invece di fornirgli la propria visione dell'ambiente. Questa è appunto la posizione fondamentale del filone che va sotto il nome di agenti situati e che vedremo più approfonditamente in seguito perché è quella che più ci interessa.
Per quanto riguarda l'apprendimento, possiamo distinguere un apprendimento genetico ed uno individuale, proprio come negli esseri viventi reali.
In genere oggi si tende ad utilizzare o l'uno o l'altro, ma con un uso integrato di entrambe le forme di apprendimento si potrà fare, tra l'altro, ulteriore chiarezza su una questione che nel passato ha riempito molte pagine: quanta parte del comportamento di un organismo è attribuibile al suo patrimonio genetico e quanto all'apprendimento nella sua vita. La questione ormai ha raggiunto un sufficiente grado di chiarezza con il riconoscimento del contributo integrato di entrambe le componenti, ma si ripropone ogni volta la proporzione e, soprattutto, la natura delle predisposizioni genetiche quando si parla di comportamenti o di attività mentali.
Nelle simulazioni che si fanno in questo campo, si utilizzano in genere alternativamente strategie che possiamo considerare ispirate all'apprendimento in vita (tramite backpropagation principalmente, ma anche con l'apprendimento competitivo, con la regola di Hopfield, o comunque apprendimenti basati sulla modifica dei valori delle connessioni tra neuroni); oppure all'apprendimento su base genetica, che si compie di generazione in generazione (algoritmi genetici).
Ultimamente si sta diffondendo enormemente soprattutto l'uso di questa ultima strategia. Ciò è logico, se si considera, al di là di un'analisi più circostanziata, che, in questa fase iniziale, potrebbe essere una buona strategia, quella di lasciare sviluppare le specie più adatte ai vari scopi che si propongono i diversi ricercatori. E' comunque auspicabile che si arrivi presto all'utilizzo complementare di ambedue la strategie come fa notare Parisi (1989) :
"vi è un intreccio costante fin dalla embriogenesi del sistema nervoso tra «conoscenze» provenienti dall'esterno e «conoscenze» contenute nel codice genetico, e non si può ignorare il ruolo di nessuna di queste due fonti di conoscenza se si vuole capire in che luogo si sviluppa, funziona, apprende e raggiunga certe prestazioni il cervello di un certo individuo o di una certa specie."(pag.19-20)
Gli algoritmi genetici consistono fondamentalmente in varie tecniche, che portano alla selezione degli algoritmi che danno (in base ad un determinato criterio) i risultati migliori ed alla ricombinazione casuale di alcune loro porzioni e/o alla mutazione di alcune loro parti.
In genere si parte con una certa popolazione di automi che hanno leggere differenze tra loro e si fanno agire in un ambiente per un certo numero di cicli. In seguito quelli che si saranno comportati meglio avranno la possibilità di riprodursi. Cioè si prenderà, ad esempio, il venti per cento della popolazione che si è comportato nel modo migliore e da questi, con mutazioni casuali e ricombinazioni, si otterrà anche il restante ottanta per cento di automi; con questa nuova popolazione si farà un altra sessione di cicli, al termine dei quali, si ripeterà lo stesso procedimento. All'interno di questo schema generale, le effettive realizzazioni degli algoritmi possono essere molto diverse: da programmi in vari linguaggi, a valori di connessioni di reti neurali.
L'apprendimento ontogenetico, invece, può utilizzare varie strategie per la modifica delle connessioni, sia con un supervisore sia senza.
Negli apprendimenti supervisionati, lo sperimentatore (o una memoria di tipo statico), in caso di risposta diversa da quella ritenuta più opportuna, fornisce la risposta desiderata, mentre nelle strategie di apprendimento non supervisionato, è la rete stessa che propone le risposte e modifica le connessioni.
Anche se abbiamo diversi tipi di reti che possono apprendere (che si rifanno a tutte le principali teorie dell'apprendimento comportamentiste: dalla legge dell'effetto di Thorndike, a quella della contiguità temporale di Guthrie), quelle che effettivamente si sono rivelate adatte, a far apprendere ad un automa senza supervisore un certo compito, sono quelle basate sulla backpropagation e sull'apprendimento competitivo.
Bisogna considerare che, in questi primi tentativi di realizzare automi in grado di modificare il proprio comportamento in modo da ottimizzare un certo risultato, l'importanza che hanno i metodi di apprendimento effettivamente utilizzati è molto relativa. Infatti possiamo ottenere risultati piuttosto simili, sia utilizzando una strategia "filogenetica", come gli algoritmi genetici, che una "ontogenetica", come la modifica delle connessioni in base al risultato delle azioni. Quello che effettivamente si sta sperimentando, non sono tanto queste teorie "parziali" dall'apprendimento, quanto proprio la strategia globale di organizzazione del proprio comportamento da parte di questi sistemi.
Anche tecniche non basate sulle reti neurali, ma su classificatori che rientrerebbero più propriamente nel campo dell'intelligenza artificiale, sono utilizzati in questo modo con risultati paragonabili a quelli delle altre tecniche (Brooker, 1988; Brooker et al., 1989; Dorigo, 1993; Holland, 1986; Wilson, 1987).
Il settore di ricerca che si occupa della realizzazione di agenti artificiali, accoppiati con l'ambiente fisico in cui sono situati, è quello che riguarda direttamente i nostri scopi. Questo settore nasce con intenti pratici, quali quelli di realizzare automi capaci di apprendere dei compiti e di muoversi efficacemente in un ambiente reale, superando le difficoltà incontrate inizialmente dalla robotica con indirizzo simbolico.
Quello che caratterizza questo settore, è appunto l'accento posto sulla necessità che il sistema sviluppi una propria implicita rappresentazione dell'ambiente, piuttosto che fornire ad esso il modello dell'ambiente che lo sperimentatore ritiene più opportuno. Molti lavori sono però principalmente di interesse teorico, volti allo studio dei problemi che devono essere affrontati da un agente che posto in un determinato ambiente abbia come obiettivo la sopravvivenza, definito da Wilson (1987) Animat Problem . Questo campo è particolarmente adatto alle reti neurali, che hanno appunto questa capacità di adattarsi con gradualità e di sopportare eventi imprevisti, fornendo risposte che non erano state esplicitamente introdotte. Come ricorda Hinton (1987):
"uno degli scopi principali della ricerca sulle reti neurali è scoprire delle procedure di apprendimento efficienti che consentano alle reti di costruirsi complesse rappresentazioni interne del loro ambiente."
Nonostante ciò gran parte delle ricerche utilizzano sistemi a classificatori con gli algoritmi genetici, sistemi quindi che rientrerebbero più propriamente nel campo dell'intelligenza artificiale. Questo a riprova del fatto che il campo è caratterizzato più da un atteggiamento, da una strategia comune che dalle tecniche utilizzate.
Agree & Chapman (1987) hanno realizzato un programma che apprende a giocare ad un comune videogioco, come se avesse una strategia, senza che gliene sia stata fornita alcuna e senza che gli sia stata fornita una esplicita rappresentazione dell'ambiente.
Gli Autori partono dalla constatazione che, anche se molte delle nostre azioni sono pianificate, la maggior parte dei nostri comportamenti è una diretta reazione alla situazione ambientale. Inoltre, molte risposte alle sollecitazioni ambientali, devono essere date in tempi troppo rapidi perché si possa analizzare quale risposta darebbe i risultati migliori. La realtà è troppo imprevedibile, complessa, immediata perché la pianificazione possa avere un posto così centrale quale quello attribuitogli da modelli dell'attività. Ritengono invece, che la maggior parte dell'attività, derivi da un meccanismo di risposta immediato alla situazione presente. Questo meccanismo, fa tesoro delle regolarità riscontrate nel suo interagire con l'ambiente, così da dar luogo a comportamenti complessi ed apparentemente pianificati, senza aver bisogno di esplicite rappresentazioni del mondo. Il meccanismo di cui parlano Agree & Chapman, può essere paragonato al livello fisico del significato, nel modello che abbiamo esposto in precedenza.
Per mettere alla prova la validità di queste valutazioni, avevano necessità di un ambiente più semplice di quello reale, ma comunque abbastanza complesso e imprevedibile. Hanno trovato queste caratteristiche in un videogioco che si svolge in un ambiente bidimensionale e discretizzato; in cui cioè le posizioni possibili non sono continue, ma, come in una scacchiera, si salta da una posizione all'altra. Il gioco originale consiste nel muovere un pinguino, inseguito da api che lo uccidono se si avvicinano abbastanza. Sia il pinguino che le api possono modificare l'ambiente muovendo dei blocchi di ghiaccio che sono distribuiti su tutto lo schermo e vengono a costituire un labirinto. Muovendo i blocchi, possono anche colpirsi vicendevolmente, eliminandosi.
Agree & Chapman hanno fornito il pinguino di un algoritmo di apprendimento che lo rende sempre più capace di muoversi efficacemente in questo ambiente, senza fornirgli alcuna esplicita rappresentazione dell'ambiente, né delle strategie, piani, o una valutazione combinatoria delle conseguenze delle proprie azioni. Il meccanismo su cui è basato il comportamento e l'apprendimento del pinguino è un'applicazione dei loro principi: delle routines che prevedono la messa in atto di un determinato comportamento (fuga, spinta di un blocco ecc.) nel momento in cui esso si trova in una data situazione (ad esempio: "quando stai per essere catturato, scappa"). La sua valutazione della situazione è basata sugli aspetti indicativo-funzionali dell'ambiente. Invece di prendere nota in modo fisso di una certa fetta dell'ambiente, individua di volta in volta alcune entità indicativo-funzionali, cioè degli oggetti individuati per la loro funzione in un particolare istante (il blocco che sto spingendo, il passaggio attraverso il quale sto correndo) ed in base a queste applica le sue routines. In questo modo l'automa non ha necessità di conoscere gran parte dell'ambiente, ma è "attento" solo a ciò che lo circonda ed a qualche altro punto dello schermo importante, in un determinato momento, per quello che vi sta accadendo e per l'attività in cui è implicato. "Le entità e gli aspetti dell'ambiente sono valutati funzionalmente, relativamente agli scopi dell'automa" (Agree & Chapman, 1987 pag. 270). Indicando in questo modo gli oggetti, un'azione che, perseguendo un determinato scopo, risulta utile con un oggetto, può essere applicata ad un altro oggetto che, in un altro momento, si trovi nella stessa situazione funzionale.
Un altro interessante lavoro che persegue la strategia di non fornire all'automa alcuna rappresentazione, ma fare il modo che ne sviluppi una sua è basato sui sistemi a classificatori sviluppati da Holland (1975; 1986):
"L'interazione diretta con l'ambiente e l'apprendimento diretto delle associazioni tra pattern sensoriali in ingresso e azioni utili in uscita può essere un primo passo verso la creazione di simboli grounded nel mondo reale, cioè di simboli che trovano un riscontro fisico nelle percezioni che l'agente ha del mondo esterno [...] L'approccio che ho seguito è di dotare l'Animat della capacità di apprendere una serie di comportamenti elementari e di imparare a coordinarli."(Dorigo, 1993 pagg. 401-402).
I sistemi a classificatori sono progettati in modo da fornire l'automa di una base di conoscenza, che gli permetta di sopravvivere in un dato ambiente, modificando il proprio comportamento in base alle conseguenze delle proprie azioni. Le azioni sono valutate da un algoritmo (funzione di valutazione), che fornisce premi e punizioni a seconda della coerenza delle conseguenze con gli obiettivi. In base alle risposte che richiedono, le varie situazioni producono delle classi di equivalenza di stati ambientali (alla stessa classe appartengono le situazioni che, dato uno o più obiettivi, richiedono la stessa risposta). Senza entrare nei dettagli tecnici di questi sistemi, è interessante, per i nostri scopi, che Dorigo si proponga di rendere concreti i significati utilizzati dal suo automa, direttamente ancorati al fisico:
"mi sono posto come obiettivo di lungo termine quello di progettare un sistema che superasse alcune delle difficoltà finora incontrate dai sistemi tradizionali di intelligenza artificiale basati su una rappresentazione simbolica della conoscenza. A tal fine ho sviluppato il sistema ALEXIS (A LEarning Classifier SYStem)[...], un sistema di apprendimento automatico basato su sistemi a classificatori ed algoritmi genetici, che presenta i seguenti aspetti innovativi rispetto ai sistemi precedentemente proposti [...] :
i) utilizzo di un'architettura di riferimento di derivazione naturale (cioè il modello di Tinbergen di gerarchia degli istinti [...]);
ii) utilizzo di un singolo sistema a classificatori per ogni comportamento di base (definito dal progettista) da apprendere;
iii) utilizzo di un sistema a classificatori per ogni comportamento di coordinamento da apprendere" (Dorigo, 1993; pag. 410).
L'Animat si muove in un ambiente bidimensionale, ha tre tipi di sensori: di luce, di calore e di colore. I sensori di luce e di calore sono sensibili alla posizione della fonte di luce o di calore, ma non all'intensità. Sono quattro per ogni tipo, collocati ai quattro lati dell'Animat.
Sono stati fatti quattro esperimenti: nel primo l'Animat doveva imparare a seguire una luce; nel secondo oltre a seguire la luce doveva imparare a cambiare colore a seconda dello sfondo; nel terzo oltre a seguire la luce doveva evitare delle fonti di calore; nell'ultimo doveva imparare a mantenere la stessa distanza da due fonti di calore che si muovono in modo indipendente.
Nel primo esperimento si è voluta valutare la capacità di apprendere un singolo comportamento e si è visto che dopo 800-1000 cicli raggiungeva stabilmente una buona prestazione. L'Autore ha anche valutato se l'Animat fosse in grado di costruirsi un proprio modello dell'ambiente sia confrontando la prestazione nel caso che la sorgente luminosa si muovesse in modo regolare con il caso in cui si muoveva casualmente; sia osservando se (facendo muovere la luce in modo regolare, ma ad una velocità maggiore della sua così che non potesse stargli dietro) sviluppava la capacità di muoversi lungo delle scorciatoie. L'Animat sviluppava quest'ultima capacità, ma la prestazione, nel caso di movimento regolare, non era significativamente migliore di quella osservata nel caso in cui essa era irregolare. Nel complesso non si può concludere, dunque, che abbia sviluppato un vero e proprio modello interno del mondo, ma, come osserva Dorigo, ciò è ragionevole data la natura stimolo-risposta del compito.
Anche i compiti in cui doveva apprendere a coordinare due comportamenti contraddittori (in uno seguire la luce ed evitare le fonti di calore, nell'altro mantenere la stessa distanza da due luci) sono stati appresi efficacemente.
Nel primo caso sviluppa due strategie per aggirare il problema, o si ferma ad aspettare che la luce si allontani dalla sorgente di calore, oppure aggira quest'ultima. Nel secondo tempo impara a muoversi ad una distanza intermedia tra le due luci.