P R E S E N TA Z I O N E F O R M A L E D E L L AVO RO E F F E T T U ATO C O N B R A I N FA R M SCIENZE DELLA FORMAZIONE PRIMARIA A.A 2013 -2014 ROBOTICA EVOLUTIVA La robotica è una scienza che si occupa di studiare e sviluppare metodologie che permettano a un robot o ad un agente di eseguire i compiti specifici. Gli agenti intelligenti e robot sono studiati dall’intelligenza artificiale, ovvero quel settore dell’informatica che riproduce in un computer quei tipi di comportamento che, quando sono assunti dagli esseri umani, vengono considerati frutto della loro intelligenza. Il robot è … un agente artificiale attivo il cui ambiente è il mondo reale e che possiede dei sensori che rispondono all’ambiente stesso. Nell’uomo invece, questi sensori sono rappresentati dai sensi. Altri componenti del robot sono gli attuatori, i quali consentono il movimento nell’ambiente. Questi sono nell’uomo i muscoli. Il nome robot deriva dal ceco « robota », lavoro forzato, nome dato dallo scrittore Karel Capek. Il nostro lavoro viene svolto in un ambiente virtuale, perciò non si tratta di robot fisici ma virtuali. COS’È UN AGENTE ? Un agente è costituito da un programma software ed eventualmente da un supporto hardware, che: - Interagisce con l’ambiente circostante ed è reattivo agli stimoli di tale ambiente; - È capace di prendere decisioni, e di agire in modo autonomo, con il fine di raggiungere un obiettivo; - È in grado di comunicare con altri agenti, è quindi capace di avere interazione sociale. L’agente può agire in diversi ambienti: - Un ambiente fisico, reale o artificiale (Robot) ; - Un ambiente software (Agente software ) ; - Un ambiente virtuale ( Agente artificiale ). Abbiamo realizzato un progetto usando il software « Brain Farm » che permette di poter progettare, partendo da un livello di esperienza informatica limitato, un cervello artificiale capace di controllare un robot. Dopo aver creato un robot di partenza abbiamo effettuato cinque diversi esperimenti in ciascuno dei quali è stato cambiato un parametro del robot di volta in volta. BRAIN FARM: COME SI USA? I nostri esperimenti sono stati effettuati seguendo dei passaggi ben precisi. È stato necessario definire inizialmente il corpo del robot scegliendone uno tra i quattro disponibili. La nostra scelta è ricaduta sul modello di robot « MaxRobot » . Per ognuno dei cinque esperimenti abbiamo impostato la rete, ovvero gli input e gli output della mente del robot. In un passo successivo abbiamo selezionato il tipo di addestramento della rete ; il terzo step ha previsto la scelta dell’ambiente nel quale è stato possibile inserire degli ostacoli ( muri, cilindri ). Infine abbiamo caricato il progetto e proceduto all’addestramento e quindi all’ evoluzione della rete. LA NOSTRA IPOTESI DI LAVORO Abbiamo ipotizzato che cambiando i parametri in ogni esperimento si potesse arrivare a registrare diversi tipi di comportamento del robot. Inoltre abbiamo ipotizzato che aumentando o diminuendo il numero di neuroni nella mente del robot potesse migliorare o peggiorare la sua prestazione. LA NOSTRA MODALITA’ DI LAVORO Abbiamo adottato una modalità di lavoro di gruppo di tipo COLLABORATIVO, ovvero ognuno di noi ha contribuito a realizzare ogni singola parte del lavoro complessivo. In questo modo abbiamo ottenuto i risultati necessari grazie ai quali abbiamo avuto modo di confermare l’ ipotesi da noi prestabilita. IMPOSTAZIONE DELL’ESPERIMENTO 1 Nel primo esperimento abbiamo realizzato i seguenti passaggi: 1) Prima fase : Corpo e cervello Nome: Maxrobot Neuroni output: 2 Neuroni interni: 1 Sensori infrarossi: 3 2) Seconda fase : Modalità di addestramento Ground sensors: 0 Evoluzione ( parametri di evoluzione ) Camera sensors: 3 Abilità: esplorazione Genitori: 2 Figli: 2 Generazioni: 50 Lunghezza della vita: 100 Mutazione genetica: bassa Popolazione = (n° genitori) x (n° figli) = 4 Nell’immagine di fianco è possibile visualizzare la rete neurale composta da un solo neurone del primo robot. 3) Terza fase : Ambiente 2 cilindri 4) Quarta fase : Progetta e avvia l’esperimento Nell’immagine di fianco è rappresentato l’ambiente virtuale. ESPERIMENTO 1 I risultati raggiunti nel primo esperimento sono i seguenti: 0,46875 26,25,00 15 15,25 18,05 22,25 21,25 22,05 18,05 25,75 31,75 0,927083333 27,75 20,25 20,05 26,05,00 29 27 25,25,00 24 0,59375 19,25 16 24,25,00 18,25 21,25 1,01041666 7 19,05 19,25 24,25,00 23 0,88541666 7 21,05 31,75 27,05,00 27,75 28,75 19 25 0,92708333 3 IMPOSTAZIONE DELL’ESPERIMENTO 2 Nel secondo esperimento abbiamo realizzato i seguenti passaggi: 1) Prima fase : Corpo e cervello Nome: Maxrobot Neuroni output: 2 Neuroni interni: 2 Sensori infrarossi: 3 2) Seconda fase : Modalità di addestramento Evoluzione ( parametri di evoluzione ) Ground sensors: 0 Abilità: esplorazione Camera sensors: 3 Genitori: 2 Figli: 2 Generazioni: 50 Lunghezza della vita: 100 Mutazione genetica: bassa Popolazione = (n° genitori) x (n° figli) = 4 Nell’immagine di fianco è rappresentata la rete neuronale del robot del secondo esperimento. 3) Terza fase : Ambiente 2 cilindri 4) Quarta fase : Progetta e avvia l’esperimento ESPERIMENTO 2 I risultati raggiunti nel secondo esperimento sono i seguenti: 0,385416667 13,25 0,760416667 23,25 22,25 23 18,25 19,25 19 21,05 19,05 26,75 27,75 27,25,00 29,05,00 25,75 0,71875 18 21,05 14,05 22,25 0,677083333 15,25 19,25 14 13,05 26,05,00 22,25 19,05 17,25 18,25 12,05 1,010416667 26,75 0,760416667 30 17,05 22 20 IMPOSTAZIONI DELL’ESPERIMENTO 3 Nel terzo esperimento abbiamo realizzato i seguenti passaggi: 1) Prima fase : Corpo e cervello Nome: Maxrobot Neuroni output: 2 Neuroni interni: 1 Sensori infrarossi: 3 2) Seconda fase : Modalità di addestramento Ground sensors: 0 Evoluzione ( parametri di evoluzione ) Camera sensors: 3 Abilità: esplorazione Genitori: 2 Figli: 2 Generazioni: 50 Lunghezza della vita: 100 Mutazione genetica: MEDIA Popolazione = (n° genitori) x (n° figli) = 4 3) Terza fase : Ambiente 2 cilindri 4) Quarta fase : Progetta e avvia l’esperimento Nell’immagine di fianco è possibile visualizzare la rete neurale composta da un solo neurone del terzo robot. ESPERIMENTO 3 I risultati raggiunti nel terzo esperimento sono i seguenti: 20,5 17,75 27,75 18,25 29,25 17,75 19,5 8,25 20,25 17 10 20,5 29,5 26 13,25 12,25 12,25 16 18,25 15 13,75 17,5 12,25 7 9,25 19,5 23,25 16,5 13,75 24,25 18,25 20,75 18,75 25,25 22,25 23,25 23 30,5 19,5 IMPOSTAZIONE DELL’ESPERIMENTO 4 Nel quarto esperimento abbiamo realizzato i seguenti passaggi: 1) Prima fase : Corpo e cervello Nome: Maxrobot Neuroni output: 2 Neuroni interni: 3 Sensori infrarossi: 3 2) Seconda fase : Modalità di addestramento Ground sensors: 0 Evoluzione ( parametri di evoluzione ) Camera sensors: 3 Abilità: esplorazione Genitori: 2 Figli: 2 Generazioni: 50 Lunghezza della vita: 100 Mutazione genetica: bassa Popolazione = (n° genitori) x (n° figli) = 4 3) Terza fase : Ambiente 2 cilindri 4) Quarta fase : Progetta e avvia l’esperimento Nell’immagine di fianco è possibile visualizzare la rete neurale composta da tre neuroni del quarto robot. ESPERIMENTO 4 I risultati raggiunti nel quarto esperimento sono i seguenti: 24,75 20,25 29,05,00 25,25,00 28,25,00 1,010416667 19,25 31,25,00 33,05,00 26,25,00 06,25 28,25,00 24,05,00 31,75 22,25 18,05 18 16 30,25,00 0,71875 26,05,00 30,05,00 16 23,05 20,25 20 27,75 23,25 31,25,00 27 22,25 27 28 28,05,00 20,05 25 28 29,75 25,25,00 IMPOSTAZIONE DELL’ESPERIMENTO 5 Nel quinto esperimento abbiamo realizzato i seguenti passaggi: 1) Prima fase : Corpo e cervello Nome: Maxrobot Neuroni output: 2 Neuroni interni: 1 Sensori infrarossi: 3 Ground sensors: 0 2) Seconda fase : Modalità di addestramento Evoluzione ( parametri di evoluzione ) Camera sensors: 3 Abilità: esplorazione Genitori: 2 Figli: 2 Generazioni: 50 Lunghezza della vita: 100 Mutazione genetica: ALTA Popolazione = (n° genitori) x (n° figli) = 4 3) Terza fase : Ambiente 2 cilindri 4) Quarta fase : Progetta e avvia l’esperimento Nell’immagine di fianco è possibile visualizzare la rete neurale composta da un solo neurone del quinto robot. ESPERIMENTO 5 I risultati raggiunti nel quinto esperimento sono i seguenti: 9 19 11,25 8,05 9,05 20,25 16,05 13,05 23 0,802083333 22,05 23,05 20,05 25,25,00 20 0,885416667 19 24,05,00 23,05 27 17,05 22,05 22 0,84375 20 28 20,05 0,927083333 25,75 23,25 22 16 28,25,00 18 23,25 0,885416667 22 20 CONFRONTIAMO I RISULTATI … Conclusioni… Grazie all’utilizzo di questo software, abbiamo potuto praticamente sperimentare come la robotica evolutiva sia basata sul principio della selezione naturale secondo il quale vengono scelti solo i genomi più efficienti per creare di volta in volta le generazioni successive.