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

3.4 KiB

2-metabolismo

Questo progetto estende il progetto 2-base aggiungendo nuovi parametri alle formiche del sistema.

Ambiente

Ricomparsa del cibo

Se attivata tramite lo switch food-respawn, questa feature fa ricomparire il cibo all'interno dell'ambiente dopo food-r-* tick (con un offset di food-o-* tick).

to try-respawn-food-*
  if ticks mod food-r-* = food-o-* [
    add-food-*
  ]
end

L'asterisco indica il numero della pila di cibo, da 1 a 3.

Velocità delle formiche

Alle formiche è stato aggiunto il parametro speed.

ants-own [speed]

Esso è inizializzato a un numero intero casuale tra min-speed (1) e max-speed (2) al momento di creazione della formica, e rappresenta quante volte una formica può agire in un tick.

repeat speed [
    fd 1
    t-try-pick-up-food
    if t-try-drop-food [
        t-resupply
    ]
]

Metabolismo delle formiche

Alle formiche sono stati aggiunti i parametri metabolism e hunger.

ants-own [metabolism hunger]

Il parametro hunger rappresenta quanta "fame" ha una formica; alla creazione, le formiche partiranno con max-hunger (400) punti.

Ogni tick, l'hunger di ogni formica perde metabolism punti, che saranno ripristinati a max-hunger solo se la formica porterà una patch di cibo al formicaio.

Se una formica scende sotto 1 punto hunger, essa morirà, e un'altra sarà creata nel nido al suo posto con parametri diversi.

to t-consume-food
  set hunger hunger - metabolism
  if hunger <= 0 [
    t-die
  ]
end

to t-resupply
  set hunger max-hunger
end

to t-die
  set ant-deaths ant-deaths + 1
  set ants-to-respawn ants-to-respawn + 1
  die
end

to respawn-ants
  create-ants ants-to-respawn [t-setup-ant]
  set ants-to-respawn 0
end

Feedback del sistema

In aggiunta ai feedback precedenti, in questo progetto abbiamo nuovi feedback:

  • Negativo: Le formiche con metabolism troppo alto o speed troppo bassa per consegnare cibo al formicaio in tempo moriranno, lasciando il posto a nuove formiche con parametri diversi.
  • Positivo: La casualità dei parametri delle nuove formiche favorirà quelle con parametri più adeguati all'ambiente.

Dinamica del sistema

Le formiche continueranno a portare cibo al formicaio all'infinito; le meno adeguate di esse moriranno, mentre le più adeguate continueranno a vivere.

Con il progredire dei tick, ogni parametro avrà un valore che sarà prevalente nelle formiche: esso sarà il valore ideale del parametro nell'ambiente corrente.

Osservazioni

Con le impostazioni di default, il valore ideale del parametro speed sarà 2:

Invece, il valore ideale del parametro metabolism sarà 1:

Si ipotizza che qualsiasi siano i valori minimi e massimi di speed e metabolism, verranno favoriti valori più alti di speed e valori più bassi di metabolism.

Branches

Variazioni al modello sono disponibili nei branch di questo repository.

In particolare, si evidenzia il branch:

  • 2-evoluzione, una variante di questo modello a cui viene aggiunta la possibilità per le formiche di riprodursi e passare i loro valori di speed e metabolism ai figli.