import {Component} from 'preact' import Section from "../components/Elements/Section"; import Panel from "../components/Elements/Panel"; import Example from "../components/Elements/Example"; import Code from "../components/Rendering/Code"; const r = String.raw; export default function(props) { return (

Apprendimento ed evoluzione in sistemi artificiali

NetLogo è un software di modellazione sistemi multiagente.

Si può scaricare o usare da browser.

Il suo codice sorgente è disponibile su GitHub, e ha una pagina di documentazione.

L'utente di NetLogo, che vive nel contesto globale e dà ordini agli altri agenti.

Entità che possono muoversi per il mondo.

Sono più o meno come le Turtle di Computercraft!

Possono essere di una breed (razza) specifica, definite con:

{r`breed [ ]`} Le breed sono praticamente sottoclassi di turtle.

I quadratini del mondo. Possono essere di vari colori e avere varie proprietà.

...possiamo dire che questi siano i blocchi di Minecraft?

Collegamenti tra due turtle.

L'observer viene creato automaticamente all'apertura della simulazione.

Nuove turtle possono essere create con il comando:

{r`- `}

Dove prefisso varia in base al contesto attuale:

Contesto Prefisso
Observer {r`create`}
Turtle {r`hatch`}
Patch {r`sprout`}

All'inizio del codice:

{`globals [var1 var2 var3]`} Sono a tutti gli effetti variabili globali.

Aggiungi proprietà a tutte le turtle:

{`turtles-own [var1 var2 var3]`}

Aggiungi proprietà alle turtle di un breed:

{`-own [var1 var2 var3]`}

Aggiungi proprietà alle patch:

{r`patches-own [var1 var2 var3]`}

Aggiungi proprietà ai link:

{r`links-own [var1 var2 var3]`}

Si possono creare con:

{r`let `}

Si può impostare il valore di una variabile con:

{r`set `}

Per cambiare contesto:

{r` ask [ ] `}

Nel caso ci siano più bersagli, verranno eseguiti uno

Funzioni che non restituiscono nulla:

{r` to end `}

Con argomenti:

{r` to [var1 var2 var3] end `}

Funzioni che restituiscono un valore:

{r` to-report [var1 var2 var3] report end `}

Muoviti di 10 unità:

{r` forward 10 back 10 `}

Nota che la velocità massima delle tartarughe è di 1 unità/tick, quindi muoversi di 10 unità richiederà 10 tick.

Ruota di 10 gradi:

{r` left 10 right 10 `}
) }