Opdracht 2: Celvorming
Inleiding
Ruimtelijke structuren, zoals cellen, kunnen zich spontaan vormen uit deeltjes, zoals moleculen of enzymen. Celvorming vindt plaats door natuurkundige processen zoals diffusie en adhesie of ruimtelijk adaptieve processen, zoals flocking. (Het hangt er een beetje vanaf volgens welk paradigma je één en ander bekijkt.)
Illustraties zijn te vinden op Youtube (“artificial life cell formation”, “artificial life and multiagent system”, “evolving artificial life”, “emergence of dynamic structure”) en in de figuur hieronder.
Globale omschrijving
Modelleer celvorming met een ruimtelijk organisatie algoritme.
Randvoorwaarden
Hier staat wat moet. Bij afwijking van randvoorwaarden worden punten in mindering gebracht.
- Deeltjes.
Er zijn precies drie soorten deeltjes: kern, membraan, en plasma. Elk deeltje kent een eigen aantrekkings- en afstotingsdynamiek.
- Vormen.
Alle deeltjes zijn rond.
- Kleuren.
Een kerndeeltje is standaard rood, een membraandeeltje is standaard groen, en een plasmadeeltje is standaard blauw.
- Startvoorwaarden.
Het aantal deeltjes en de verhouding tussen het aantal deeltjes mag voor aanvang van het proces vrij worden gekozen, maar blijft, met uitzondering van door de gebruiker geïnitieerde gebeurtenissen, constant nadat het proces is gestart.
Anders gezegd: tijdens een normaal verloop van het proces kunnen geen deeltjes “magisch” ontstaan of verdwijnen.
Extra
Extra punten kunnen worden verdient door het aanbrengen van de volgende features.
- Efficiëntie.
Door deeltjes op een slimme manier “om zich heen te laten kijken” kan het proces aanmerkelijk worden versneld.
- Gebeurtenissen.
Naast standaard celvorming kan de gebruiker gebeurtenissen initiëren, bijvoorbeeld een kern “splijten”, een kern verwijderen, een nieuwe cel laten onstaan, een bestaande cel laten verdwijnen, een groep cellen laten verdwijnen, extra membraancellen injecteren, extra materiaal (willekeurige cellen in een bepaalde verhouding) injecteren, bestaande membraancellen in een bepaalde regio laten verdwijnen.
- Variëteit.
Een grote variëteit aan te generen patronen zal worden gewaardeerd. Geef in dat geval dan wel duidelijk aan met welke parameterinstellingen (sliderinstellingen etc.) een (door jou te bepalen) standaardpatroon kan worden opgeroepen.
- Controle.
Het kunnen beheersen, controleren en voorspellen van patronen. Je kunt je algoritme misschien zo schrijven dat je bijvoorbeeld gegarandeerd, of tenminste met kans 1, een hexagonale betegeling kunt oproepen. Andere mogelijke desiderata: gegarandeerde celgrootte, gegarandeerde celvorm, gegarandeerde transitiesnelheid, gegarandeerde evenredige verspreiding van plasma.
Aanwijzingen
Geen.
Figuur
| Figuur 1. Stadia in celvorming. |
*Naast de algemene randvoorwaarden voor de programmeeropdrachten en de algemene randvoorwaarden voor de programmeeropdrachten die specifiek in Netlogo worden uitgevoerd. Zie de pagina met clausules.