Ora daremo un'occhiata
alla messa a punto dell'algoritmo genetico del robot Robbie
questa interfaccia è un pochino complicata quindi andrò avanti
è divisa in due parti, c'è la parte dell'algoritmo
genetico
e c'è la parte che simula Robbie
nel suo ambiente. Facciamo partire l'algoritmo genetico.
Impostiamo la popolazione qui
la metterò a 60
Uno svanataggio di questa versione di NetLogo è
un po' lento per cui non posso impostare la stessa popolazione fatta
nella versione in C e aumentare questa
per renderla più veloce possibile
Ok quindi la popolazione è 60. Il tasso di mutamento
ricordate dopo che il cross over parentale per creare la discendenza, che è
mutata.
Questa è la probabilità di mutamento ad ogni
valore nella stringa c'è uno 0.05 di probabilità
che ogni valore si muterà, ovvero una media
di 12 mutamenti per stringa.
É alto ma lasciamo per ora, lo proveremo dopo
ok quindi ora lo rimandiamo da capo
ci vorrà un attimo perché
piano e vedrete
ogni individuo della popolazione è rappresentato qui.
Ho 60 individui nella popolazione, questa è la prima generazione dove
ogni cosa è casuale
ognuna di queste rappresenta una strategia casuale e
l'asse verticale qui rappresenta il fitness
riconoscete qui un fitness abbastanza basso
questo è il fitness più alto nella popolazione
l'asse orizzontale rappresenta quanto simili
sono queste individui al miglior in termini di
questa stringa che rappresenta la strategia
quanto simili sono le stringhe, ok quindi
o lo mandiamo di continuo per un certo numero di generazioni
e ho impostato il numero di generazioni a 50 quindi facciamolo andare
e qui ci dice
la migliore fitness ad ogni generazione e
ci dice anche la rappresentazione della strategia stessa in termini di
quali azioni sono nella strategia che non è utile
ora perché non possiamo bene interpretare
quanto vada bene una certa strategia guardando alla stringa
ma ora posso guardare la popolazione
che cambia nel tempo e potete vedere una curva
di miglior fitness del miglior individuo in ogni generazione qui
potete vedere che è abbastanza lento
ok, otteniamo una generazione 50
e va a -74
del migliore come miglior fitness
7.5
è il miglior fitness. Quindi ora possiamo farlo è possiamo
guardare al quale sia il miglior individuo
in un dato ambiente. Quindi imposto l'ambiente
ora quella schermata passa all'individuo
il migior individuo e
qui c'è come sta andando in questa particolare configurazione per
ogni contenitore
che questi puntini arancione, quindi quello che posso è il passo verso la migliore
strategia
allora qui si imposta
ad ogni passo questo individuo ci dice solo di mettere
ok, va bene, la fitness è 0 proviamo in un ambiente diverso
qui c'è una configurazione ancora diversa
qui c'è una diversa configurazione
alcune configurazioni dell'individuo
a dire il vero, va in un punto più alto della
media fitness 0, ma immagino che ancora non l'abbiamo trovato
ok prende la lattina, va in un posto e la raccoglie
ok ha un punteggio di 10 in questo giro
allora visualizziamo il toggle
che va indietro al nostro algoritmo genetico e
proviamo per altre 50 generazioni a partire
dalla popolazione che abbiamo ora. Ho premuto per sbaglio Setup
ho distrutto la popolazione avuta ora proviamolo ancora
nelle generazioni che è un diverso giro
parte con una diversa popolazione iniziale con stringhe casuali
quindi abbiamo una differente progressione
e ora saltiamo la generazione 50 nel video
ok ci siamo. La generazione 50 è un pochino meglio
della migliore fitness
è 18.5, guardiamo al migior individuo
quindi vediamo in questi passi ma non raccoglie
alcuna lattina.
Proviamo in un diverso ambiente, raccoglie una lattina.
Ah sta raccogliendo alcune lattine, andiamo indietro e
di nuovo, comunque mostra solo questo modello potete scaricarlo
dalla pagina del materiale del corso RobbieGA.nlogo
e potete farlo andare, fare alcuni esercizi
per i compiti in questa unità