applications of evolutionary algorithms giuseppe nicosia dep. of mathematics and computer science...

13
Applications of Evolutionary Algorithms Giuseppe Nicosia Giuseppe Nicosia Dep. of Mathematics and Dep. of Mathematics and Computer Science Computer Science University of Catania University of Catania

Upload: chiara-perri

Post on 01-May-2015

213 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Applications of Evolutionary Algorithms Giuseppe Nicosia Dep. of Mathematics and Computer Science University of Catania

Applications of Evolutionary Algorithms

Giuseppe NicosiaGiuseppe Nicosia

Dep. of Mathematics and Computer ScienceDep. of Mathematics and Computer Science

University of CataniaUniversity of Catania

Page 2: Applications of Evolutionary Algorithms Giuseppe Nicosia Dep. of Mathematics and Computer Science University of Catania

Robotica Evolutiva

Page 3: Applications of Evolutionary Algorithms Giuseppe Nicosia Dep. of Mathematics and Computer Science University of Catania

L'evoluzione di un'abilità di navigazione usando un robot fisico

E’ possibile [Floreano e Mondada, 1994] E’ possibile [Floreano e Mondada, 1994] addestrare delle reti neurali per il controllo di un addestrare delle reti neurali per il controllo di un robot autonomorobot autonomo che deve svolgere un compito di che deve svolgere un compito di navigazione ed evitando gli ostacoli. navigazione ed evitando gli ostacoli.

Per questo esperimento Floreano e Mondada si Per questo esperimento Floreano e Mondada si sono serviti di un sono serviti di un micro-robotmicro-robot di fabbricazione di fabbricazione svizzera chiamato svizzera chiamato Khepera Khepera (www.k-team.com).(www.k-team.com).

Page 4: Applications of Evolutionary Algorithms Giuseppe Nicosia Dep. of Mathematics and Computer Science University of Catania

Robot Khepera

Il robot (Mondada, Franzi e Ienne 1993) possiede Il robot (Mondada, Franzi e Ienne 1993) possiede una forma circolare con un diametro di 55 mm, una forma circolare con un diametro di 55 mm, un'altezza di 30 mm ed un peso di 70 g; esso si un'altezza di 30 mm ed un peso di 70 g; esso si poggia su poggia su due ruotedue ruote che hanno due piccoli che hanno due piccoli supporti di Teflon. Le ruote, controllate da supporti di Teflon. Le ruote, controllate da due due motori DCmotori DC, possono muoversi in entrambe le , possono muoversi in entrambe le direzioni. Il robot dispone di direzioni. Il robot dispone di 8 sensori di 8 sensori di prossimità all'infrarossoprossimità all'infrarosso (sei posizionati sulla (sei posizionati sulla parte frontale del robot e due nella parte parte frontale del robot e due nella parte posteriore). posteriore).

Page 5: Applications of Evolutionary Algorithms Giuseppe Nicosia Dep. of Mathematics and Computer Science University of Catania

Robot Khepera 2

Il microprocessore motorola 68331 con 256 Il microprocessore motorola 68331 con 256 Kbytes di RAM e di 512 Kbytes di ROM elabora Kbytes di RAM e di 512 Kbytes di ROM elabora tutte le routine input-output e può comunicare con tutte le routine input-output e può comunicare con un computer attraverso uno speciale cavo con un computer attraverso uno speciale cavo con contatti rotanti. Questa configurazione permette contatti rotanti. Questa configurazione permette di sfruttare le capacità di memoria del computer di sfruttare le capacità di memoria del computer esterno che può essere usato per registrare e esterno che può essere usato per registrare e analizzare il comportamento del robot e nel analizzare il comportamento del robot e nel contempo per fornire energia elettrica al robot contempo per fornire energia elettrica al robot evitando tutti i problemi di ricarica delle batterie.evitando tutti i problemi di ricarica delle batterie.

Page 6: Applications of Evolutionary Algorithms Giuseppe Nicosia Dep. of Mathematics and Computer Science University of Catania

AmbienteL'ambiente in cui il robot agisce è costituito da uno L'ambiente in cui il robot agisce è costituito da uno spazio piano delimitato da mura di forma spazio piano delimitato da mura di forma irregolareirregolare. Le dimensioni esterne di tale spazio . Le dimensioni esterne di tale spazio sono approssimativamente sono approssimativamente 80 x 50 cm80 x 50 cm..

Le muraLe mura sono state sono state realizzate con del realizzate con del polistirolo celeste e il polistirolo celeste e il pavimento con un pavimento con un cartoncino grigio. cartoncino grigio. Una Una lampadina di lampadina di 60 watt60 watt è stata usata è stata usata per illuminare per illuminare costantemente costantemente l'ambiente.l'ambiente.

Page 7: Applications of Evolutionary Algorithms Giuseppe Nicosia Dep. of Mathematics and Computer Science University of Catania

Obiettivo

L'obiettivo degli autori è quello di L'obiettivo degli autori è quello di sviluppare un sviluppare un sistema di controllo per Kheperasistema di controllo per Khepera in grado di in grado di evitare ostacolievitare ostacoli mantendo la mantendo la traiettoria più traiettoria più lineare possibilelineare possibile e la e la velocità più alta possibilevelocità più alta possibile. . L'addestramento evolutivo è stato realizzato L'addestramento evolutivo è stato realizzato implementando un implementando un algoritmo genetico standardalgoritmo genetico standard (Goldberg 1989) con generazioni composte da (Goldberg 1989) con generazioni composte da 80 80 individuiindividui ognuno dei quali può compiere ognuno dei quali può compiere 80 80 azioniazioni. .

Page 8: Applications of Evolutionary Algorithms Giuseppe Nicosia Dep. of Mathematics and Computer Science University of Catania

Architettura della rete neurale

L'architettura della rete neurale è fissaL'architettura della rete neurale è fissa ed è ed è formata da formata da un solo strato di pesi sinapticiun solo strato di pesi sinaptici che che connettono gli otto sensori di Khepera con due connettono gli otto sensori di Khepera con due unità di uscita. Le unità di uscita, direttamente unità di uscita. Le unità di uscita, direttamente collegate ai due motori di Khepera, hanno una collegate ai due motori di Khepera, hanno una soglia di attivazione adattivasoglia di attivazione adattiva, una , una funzione di funzione di attivazione sigmoideattivazione sigmoide e e connessioni ricorrenticonnessioni ricorrenti. I . I pesi sinaptici e le soglie sono stati codificati nel pesi sinaptici e le soglie sono stati codificati nel genotipo come genotipo come numeri realinumeri reali. .

Page 9: Applications of Evolutionary Algorithms Giuseppe Nicosia Dep. of Mathematics and Computer Science University of Catania

L’Algoritmo Genetico

Ogni azione motoria dura 300 ms. Ogni azione motoria dura 300 ms. La riproduzione degli individui è sessuata e di La riproduzione degli individui è sessuata e di conseguenza sono stati usati entrambi gli operatori conseguenza sono stati usati entrambi gli operatori genetici, genetici, mutazionimutazioni e e crossovercrossover. . Il criterio di criterio di fitnessfitness utilizzato (utilizzato (FF) è una funzione della velocità ) è una funzione della velocità di rotazione delle due ruote e dei valori di di rotazione delle due ruote e dei valori di attivazione dei sensori di prossimità con attività attivazione dei sensori di prossimità con attività massima (massima (II):):

  

F = V * (1 - sqrt ( DV ) ) * ( 1 - I )F = V * (1 - sqrt ( DV ) ) * ( 1 - I )

Page 10: Applications of Evolutionary Algorithms Giuseppe Nicosia Dep. of Mathematics and Computer Science University of Catania

Fitness function

F = V * (1 - sqrt ( DV ) ) * ( 1 - IF = V * (1 - sqrt ( DV ) ) * ( 1 - I ) )

F ha tre componenti: F ha tre componenti:

la prima è massimizzata dalla velocità (V), la prima è massimizzata dalla velocità (V),

la seconda dal la seconda dal movimento in direzione rettilineamovimento in direzione rettilinea ((DV indica la differenza di rotazione delle ruoteDV indica la differenza di rotazione delle ruote) e ) e la terza dall'la terza dall'evitamento di ostacolievitamento di ostacoli ( (I è tanto più I è tanto più grande quanto più il robot è vicino a un ostacologrande quanto più il robot è vicino a un ostacolo). ).

Page 11: Applications of Evolutionary Algorithms Giuseppe Nicosia Dep. of Mathematics and Computer Science University of Catania

Evoluzione nell’ambiente reale

E’ importante notare che E’ importante notare che l'intero processo l'intero processo evolutivo viene realizzato interamente sul robot evolutivo viene realizzato interamente sul robot realereale. .

Ciò significa che Ciò significa che ogni rete di ogni generazioneogni rete di ogni generazione viene valutata lasciando il robot agire viene valutata lasciando il robot agire nell'ambiente reale per 80 passinell'ambiente reale per 80 passi (il «sistema (il «sistema nervoso» di ogni individuo viene sequenzialmente nervoso» di ogni individuo viene sequenzialmente «iniettato» nel medesimo robot fisico) .«iniettato» nel medesimo robot fisico) .

Page 12: Applications of Evolutionary Algorithms Giuseppe Nicosia Dep. of Mathematics and Computer Science University of Catania

Risultati

In meno di 100 generazioniIn meno di 100 generazioni, , Khepera evolve la Khepera evolve la capacità di muoversi evitando gli ostacolicapacità di muoversi evitando gli ostacoli (next (next slide). Comunque, già in prossimità della slide). Comunque, già in prossimità della 5050aa generazionegenerazione, i migliori individui esibiscono un , i migliori individui esibiscono un comportamento quasi ottimale. comportamento quasi ottimale.

Gli ostacoli vengono evitati aggirandoli Gli ostacoli vengono evitati aggirandoli dolcemente senza urtare con le mura o incastrarsi dolcemente senza urtare con le mura o incastrarsi negli angoli negli angoli ( Floreano e Mondada 1994).( Floreano e Mondada 1994).

Ciascuna delle tre simulazioni richiede circa 60 Ciascuna delle tre simulazioni richiede circa 60 ore.ore.

Page 13: Applications of Evolutionary Algorithms Giuseppe Nicosia Dep. of Mathematics and Computer Science University of Catania

Fitness del migliore individuo di ogni generazione

Il grafico mostra i Il grafico mostra i valori medivalori medi e lo e lo scarto quadratico medioscarto quadratico medio di di tre simulazionitre simulazioni (cioè di tre processi evolutivi condotti (cioè di tre processi evolutivi condotti partendo da generazioni iniziali casualmente diverse).partendo da generazioni iniziali casualmente diverse).