mirror of
https://github.com/Steffo99/turtle007.git
synced 2024-11-21 20:44:20 +00:00
Integra README nel file NetLogo
This commit is contained in:
parent
d4b1ab7410
commit
35eed557aa
1 changed files with 101 additions and 18 deletions
119
Progetto.nlogo
119
Progetto.nlogo
|
@ -1140,41 +1140,124 @@ partner-radius
|
|||
Number
|
||||
|
||||
@#$#@#$#@
|
||||
## WHAT IS IT?
|
||||
# `2-evoluzione`
|
||||
|
||||
(a general understanding of what the model is trying to show or explain)
|
||||
Questo progetto estende il progetto [`2-metabolismo`](https://github.com/Steffo99/turtle007/tree/2-metabolismo). In questa versione vengono aggiunti i parametri riproduttivi e i meccanismi di scelta del partner, che portano ad un’evoluzione del formicaio nel suo complesso.
|
||||
|
||||
## HOW IT WORKS
|
||||
## Ambiente
|
||||
|
||||
(what rules the agents use to create the overall behavior of the model)
|
||||
### Variabili globali
|
||||
|
||||
## HOW TO USE IT
|
||||
Sono state aggiunte al modello le seguenti variabili globali:
|
||||
|
||||
(how to use the model, including a description of each of the items in the Interface tab)
|
||||
- `reproduction-hunger`, la quantità di `hunger` al di sopra della quale una formica può tentare di riprodursi;
|
||||
- `reproduction-cost`, la quantità di `hunger` che sarà sottratta alle formiche dopo essersi riprodotte;
|
||||
- `partner-radius`, la distanza massima a cui una formica può scegliere il suo partner.
|
||||
|
||||
## THINGS TO NOTICE
|
||||
### Comportamento delle formiche
|
||||
|
||||
(suggested things for the user to notice while running the model)
|
||||
Il comportamento delle formiche è stato cambiato nei seguenti modi:
|
||||
|
||||
## THINGS TO TRY
|
||||
#### Modificato: `t-die`
|
||||
|
||||
(suggested things for the user to try to do (move sliders, switches, etc.) with the model)
|
||||
```
|
||||
to t-die
|
||||
set ant-deaths ant-deaths + 1
|
||||
set ants-to-respawn ants-to-respawn + 1
|
||||
; Die interrompe la funzione!
|
||||
die
|
||||
end
|
||||
```
|
||||
|
||||
## EXTENDING THE MODEL
|
||||
Dopo che sono morte, le formiche non respawnano più.
|
||||
|
||||
(suggested things to add or change in the Code tab to make the model more complicated, detailed, accurate, etc.)
|
||||
#### Modificato: `t-consume-food`
|
||||
|
||||
## NETLOGO FEATURES
|
||||
```
|
||||
to t-consume-food
|
||||
set hunger hunger - metabolism
|
||||
if hunger <= 0 [
|
||||
t-die
|
||||
]
|
||||
if hunger >= reproduction-hunger [
|
||||
t-hatch
|
||||
]
|
||||
end
|
||||
```
|
||||
|
||||
(interesting or unusual features of NetLogo that the model uses, particularly in the Code tab; or where workarounds were needed for missing features)
|
||||
Se le formiche hanno abbastanza cibo per riprodursi, chiameranno la procedura `t-hatch` descritta in seguito.
|
||||
|
||||
## RELATED MODELS
|
||||
#### Aggiunto: `t-partners`
|
||||
|
||||
(models in the NetLogo Models Library and elsewhere which are of related interest)
|
||||
```
|
||||
to-report t-partners
|
||||
report other turtles in-radius partner-radius with [hunger >= reproduction-hunger]
|
||||
end
|
||||
```
|
||||
|
||||
## CREDITS AND REFERENCES
|
||||
Nella scelta dei partner, le formiche considerano solo le altre formiche entro `partner-radius` patch di distanza aventi abbastanza `hunger` per riprodursi.
|
||||
|
||||
(a reference to the model's URL on the web if it has one, as well as any other necessary credits, citations, and links)
|
||||
> Nota: La funzione `in-radius` rallenta significativamente il modello all'aumentare delle formiche presenti dall'interno di esso.
|
||||
>
|
||||
> È possibile realizzare una versione più efficiente utilizzando:
|
||||
> ```
|
||||
> to-report t-partners
|
||||
> report other turtles-here with [hunger >= reproduction-hunger]
|
||||
> end
|
||||
> ```
|
||||
>
|
||||
> Ciò però sacrifica la possibilità di decidere il raggio a cui le formiche si possono riprodurre, limitandolo al valore "0" (ovvero, la patch stessa in cui si trova attualmente la formica).
|
||||
|
||||
#### Aggiunto: `t-hatch`
|
||||
|
||||
```
|
||||
to 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
|
||||
t-inherit parents
|
||||
]
|
||||
set ant-hatches ant-hatches + 1
|
||||
]
|
||||
end
|
||||
```
|
||||
|
||||
Se le formiche trovano almeno un partner con cui riprodursi, scelgono il partner con il valore di `hunger` più alto e creano una nuova formica, che eredita i valori di `speed` e `metabolism` dei genitori con `t-inherit` (descritta sotto).
|
||||
|
||||
### Aggiunto: `t-inherit`
|
||||
|
||||
```
|
||||
to t-inherit [parents]
|
||||
let top-speed max [speed] of parents
|
||||
let bottom-speed min [speed] of parents
|
||||
set speed (bottom-speed + random (top-speed - bottom-speed + 1))
|
||||
|
||||
let top-metabolism max [metabolism] of parents
|
||||
let bottom-metabolism min [metabolism] of parents
|
||||
set metabolism (bottom-metabolism + random (top-metabolism - bottom-metabolism + 1))
|
||||
end
|
||||
```
|
||||
|
||||
Le nuove formiche nate prendono come `speed` e `metabolism` un valore casuale tra i valori dei rispettivi parametri posseduti dai genitori.
|
||||
|
||||
## Feedback del sistema
|
||||
|
||||
In aggiunta ai feedback precedenti, in questo progetto abbiamo nuovi feedback:
|
||||
|
||||
- <span style="background-color: lightgreen; color: darkgreen;">**Positivo**: Le formiche con più `hunger` (praticamente la funzione *fitness* del modello), hanno più possibilità di riprodursi e passare i loro parametri ai figli.</span>
|
||||
- <span style="background-color: lightcoral; color: darkred;">**Negativo**: Il `reproduction-cost` fa diminuire l'`hunger` dei genitori, rendendo più probabile la loro morte (e quindi sostituzione).</spaw>
|
||||
|
||||
## Dinamica del sistema
|
||||
|
||||
Le formiche con i parametri migliori si riprodurranno più spesso, e passeranno i loro parametri ai loro figli.
|
||||
|
||||
*Il sistema tende all’ottimo*: dopo un certo numero di ticks (~2100 con la configurazione predefinita), le uniche formiche restanti nel sistema saranno quelle con valori ideali per le variabili `speed` e `metabolism`; tutte le altre si saranno **estinte**.
|
||||
@#$#@#$#@
|
||||
default
|
||||
true
|
||||
|
|
Loading…
Reference in a new issue