mirror of
https://github.com/Steffo99/turtle007.git
synced 2024-11-23 21:44:20 +00:00
1.7 KiB
1.7 KiB
2-random-mutation
Questo branch estende il progetto 2-evoluzione
.
In questa versione viene aggiunta l'aspetto della mutazione casuale nel modello: le caratteristiche migliori, come la velocità più alta o il metabolismo più basso, possono venire ottenute solo mediante mutazione in quanto non presenti nella popolazione originale.
Ambiente
Variabili globali
Sono state aggiunte al modello le seguenti variabili globali:
mutazioni
, contiene il numero di mutazioni che si sono verificate dall'inizio della simulazione;mutation-chance
, la probabilità che si verifichi una mutazione;max-speed-with-mutation
, la velocità massima ottenibile mediante mutazione.
Comportamento delle formiche
Il comportamento delle formiche è stato cambiato nei seguenti modi:
Modificato: t-hatch
let partners t-partners
if any? partners [
let partner item 0 sort-on [hunger] partners
let parents (turtle-set self partner)
ask parents [
set hunger hunger - reproduction-cost
]
hatch-ants 1 [
t-setup-ant
+ ifelse random 100 > mutation-chance [t-inherit parents]
+ [t-mutation
+ set mutazioni (mutazioni + 1)]
+ ]
set ant-hatches ant-hatches + 1
]
Aggiunto: t-mutation
+to t-mutation
+ set speed (random(max-speed-with-mutation) + 1)
+ set metabolism (random(max-metabolism) + 1)
+end
Dinamica del sistema
La dinamica del sistema rimane pressochè invariata rispetto alla precedente versione, seppur rendendo inaccessibili le caratteristiche migliori se non mediante mutazione. La presenza di mutazione, inoltre, evita una stagnazione in una situazione sub-ottimale.