Introduction to Complex Systems

Prof. Dirk Brockmann, Winter Term 2021

Practical Problem 10: Stripes

In this problem, we will investigate an mechanism for pattern formation that is known as local excitation and long-range inhibition.

This is going to be a patches only simulation.

The idea is that every patch has a patch variable $u$ that can change over time based on the patches interaction with other patches in some radius. The variable $u$ is in the range from -1 to +1.

For the details on the model see the explorable Keith Haring's Mexican Hat. Read the description of the explorable carefully and identify which parameters you need for an implementation in netlogo.

Set up a netlogo patch system of size $64\times 64$.


Write a simulation in which each patch $n$ updates its internal variable $u _ n$ based on the sum of the values of $u_m$ of all other patches in some radius $R _ 1$ and $R _ 2$ as described in detail in the documentation of the explorable.

Color the patches in gray-scale from black to white according to their $u$-value.

In order to implement the sigmoid function you can define a reporter function which is a netlogo function that takes a value and returns a values:

to-report sigmoid[h]
    report (1 - exp( - beta * h)) / (1 + exp( - beta * h)) 

you can call the function sigmoid just like any other function by saying sigmoid x.


To compute the the sum of the u in the respective radii in the ask patches look you can do

let x sum [u] of patches in-radius R1
let y sum [u] of patches in-radius R2
let h 2 * x - y