1
Fork 0
mirror of https://github.com/Steffo99/turtle007.git synced 2024-11-24 05:54:19 +00:00
apprevol-2020-turtle007/README.md

54 lines
1.7 KiB
Markdown
Raw Permalink Normal View History

# `2-random-mutation`
2020-05-05 15:16:55 +00:00
Questo branch estende il progetto [`2-evoluzione`](https://github.com/Steffo99/turtle007/tree/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.
2020-05-05 15:16:55 +00:00
2020-05-18 18:00:17 +00:00
## Ambiente
2020-05-05 15:16:55 +00:00
2020-06-08 14:25:20 +00:00
### Variabili globali
2020-05-05 15:16:55 +00:00
2020-06-08 14:25:20 +00:00
Sono state aggiunte al modello le seguenti variabili globali:
2020-05-05 15:16:55 +00:00
- `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.
2020-06-08 15:17:24 +00:00
### Comportamento delle formiche
Il comportamento delle formiche è stato cambiato nei seguenti modi:
#### Modificato: `t-hatch`
2020-06-08 15:17:24 +00:00
```diff
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
2020-06-08 15:17:24 +00:00
]
hatch-ants 1 [
t-setup-ant
+ ifelse random 100 > mutation-chance [t-inherit parents]
+ [t-mutation
+ set mutazioni (mutazioni + 1)]
2020-06-08 15:17:24 +00:00
+ ]
set ant-hatches ant-hatches + 1
]
2020-06-08 15:17:24 +00:00
```
#### Aggiunto: `t-mutation`
2020-06-08 15:17:24 +00:00
```diff
+to t-mutation
+ set speed (random(max-speed-with-mutation) + 1)
+ set metabolism (random(max-metabolism) + 1)
2020-06-08 15:17:24 +00:00
+end
```
2020-05-18 18:00:17 +00:00
## 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.