cursus Inleiding Adaptieve Systemen Opleiding Kunstmatige Intelligentie 2020-21

Opdracht 4 (aanvullend): Een cellulaire automaat voor steen-papier-schaar

Beschrijving

Eén van de laatste slides over zelf-organisatie en emergentie toont een screenshot van een cellulaire automaat waarin elke cel steen-papier-schaar speelt met zijn buren. Een vergelijkbare cellulaire automaat zie je hier in werking.

Een cellulaire automaat voor steen-papier-schaar werkt als volgt. Kies N kleuren en nummer die: 1 < 2 < 3 < ... < N. Aan het begin krijgt elke cel een willekeurige kleur. Na initialisatie laat je de cellulaire automaat lopen. In één slag wordt elke cel éénmaal ge-update, als volgt. Heeft een cel C een aantal van tenminste K buren die die precies één hoger zijn, dan neemt C die hogere kleur aan. We zeggen dan dat C promoveert. In alle andere gevallen promoveert C niet. Kleuren lopen rond, dus 1 < 2 < 3 < ... < N < 1 < 2 < 3 < ... Cellen mogen asynchroon ge-update worden, dat is geen probleem. K > 1 is een parameter die in te stellen is met een slider.

Voorwaarden

  1. Zorg ervoor dat je het aantal kleuren kunt instellen met een slider.
  2. Zorg ervoor dat je, op elk moment in de simulatie, cellen met de muis kunt sprayen met een random kleur. De spray-straal moet in te stellen zijn met een slider.
  3. Zorg ervoor dat je cellen met de muis kunt sprayen als dood (permanent inactief). Dode cellen worden zwart en doen niet meer mee in het update-proces.
  4. Voor omgeving kun je Moore of Von Neumann-omgeving nemen. Schrijf je app zo dat daar makkelijk tussen gekozen kan worden.
  5. Maak buttons “small world”, “medium world”, “large world”, waarmee in één keer de canvas-grootte, patch size en het aantal verschillende kleuren kan worden ingesteld. Kies voor elk van de drie buttons verstandige waarden.
  6. Het is toegestaan de opgave met z'n tweeën te maken, echter beiden moeten ingeschreven staan als herkansers voor de aanvullende programeeropdracht. De docent is niet verantwoordelijk voor het koppelen van herkansers.
  7. De Netlogo documentatie-tab bevat je naam (namen), studentnummer(s), en een clausule waarin verklaard wordt, met naam en voornaam, dat je de opgave zelf danwel alleen met z'n tweeën hebt gemaakt. Als de opgave met z'n tweeën is gemaakt, dan moet in de informatietab ook duidelijk staan wie wat heeft gedaan.
  8. Submit op de gebruikelijk manier.
  9. Is niet aan alle voorwaarden voldaan, dan wordt de inlevering als niet-ontvankelijk aangemerkt.
  10. Succes!


*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.


Laatst gewijzigd op maandag 05 juli 2021, om 00:43 uur ——— translate to ru, ro, or en ——— Auteur(s): Gerard Vreeswijk