BSc KICursus Natuur & Berekening 2025-26

Opdracht 1: Pinguins

Inleiding

Een pinguin-kolonie is een groep (.. pinguins) die er voordeel bij heeft om bij elkaar te blijven. Laten we veronderstellen dat pinguins bij elkaar blijven voor de warmte. Een pinguin blijft warm als deze voldoende dicht in de buurt van andere (voldoende warme) pinguins vertoeft. In andere gevallen (typisch maar niet noodzakelijk aan de rand van een groep) koelt de pinguin af. (De foto is van http://www.latoro.com.)

Globale omschrijving

Simuleer de dynamiek van een kleine pinguin-kolonie met behulp van flocking technieken. Het is de uitdaging om met enkele eenvoudige flocking-regels geloofwaardig gedrag te simuleren.

Toelichting

Randvoorwaarden

Hier staat wat moet.* Bij afwijking van randvoorwaarden worden punten in mindering gebracht. Het voldoen aan de randvoorwaarden levert i.i.g. het cijfer zes op.

  1. Dynamiek. De dynamiek van de kolonie wordt geïmplementeerd met een flocking techniek. Welke onderdelen van flocking je toepast is aan jou.
  2. Ondergrond. De kolonie bevindt zich op een zwarte torus.
  3. Perspectief. Van bovenaf wordt de groep bekeken.
  4. Pinguins. Pinguins bezitten een vorm die speciaal voor de opdracht door jou wordt ontworpen met de Turtle shapes editor . Pinguins kunnen verkleuren van blauw (koud) naar rood (warm). De oriëntatie (richting) van een pinguin moet zichtbaar zijn, bijvoorbeeld d.m.v. een snavel en/of poten.
  5. Dynamiek. De dynamiek is voldoende geloofwaardig en komt meer bepaald in voldoende mate overeen met de twee boven omschreven mechanismen. Het is toegestaan al het gedrag met alleen schuifelen of lopen te implementeren.

Extra

Extra punten kunnen worden verdient door het aanbrengen van één of meer van de volgende features, tot een maximum van tien punten. Niet noodzakelijk in volgorde van belang:

  1. Verplaatsingsgedrag. Intelligente en functionele afwisseling van schuifelen en lopen.
  2. Volgen. Extra knoppen om als externe observator één turtle te volgen (“follow”), te bekijken (“watch”), alsook een knop om het perspectief te resetten. Het is mogelijk de lichaamstemperatuur van één turtle te volgen.
  3. Parameters. Verschillende parameters zijn via sliders in te stellen. Verschillende parameter-instellingen zorgen voor ander gedrag. Zorg in dit geval dat alle sliders goed gedocumenteerd zijn.
  4. Ander gedrag. Implementatie van relevant ander gedrag, zoals bijvoorbeeld verscherpt of aggresief bewaken van persoonlijk integriteitsgebied bij overschrijden van een minimale afstand, bv. door het implementeren van pikgedrag. (Daarbij hoort wellicht het implementeren van vluchtgedrag.)

Aanwijzingen

  1. Flocking. Het is aan jou welke flocking mechanismen (separation, alignment, coherence, etc.) je inbouwt. Veel mechanismen zijn hier eigenlijk overbodig. Minder is beter! Je mag ook een eigen mechanisme bedenken.
  2. Roteren. Houd er rekening mee dat in een realistische simulatie pinguins slechts een gering aantal graden per tijdseenheid kunnen draaien. Om te bepalen in welke richting een pinguin bij lopen moet draaien om zijn doel beter aan te kijken is de volgende Netlogo procedure wellicht handig.
    ; Target is de turtle of patch waarnaar toe moet worden gedraaid (of van moet worden afgekeerd).
    ; De uitkomst van deze procedure is een boolean die aangeeft of de turtle naar rechts moet draaien.
    to-report better-turn-right [ target ]
      let relative-target-heading ( towards target - heading ) mod 360
      report 0 < relative-target-heading and relative-target-heading < 180
    end
    
  3. Centrum van de groep. Koude pinguins willen typisch naar het centrum van de groep lopen. Hiervoor kan het predikaat mean (“gemiddelde”) handig zijn.
  4. De drang om te lopen. Het is duidelijk dat de drang om te lopen naar andere pinguins groot is voor koude pinguins, en klein voor warme pinguins. Het is echter aan jou om een goed verband te definiëren. Dit kan lineair zijn, sigmoïde, of discreet. Je kunt ook denken aan drempelwaarden: boven de x graden is er dan geen incentive om te lopen.
  5. Temperatuurregeling. Het is duidelijk dat de temperatuur zal stijgen als een pinguin veel soortgenoten om zich heen heeft en anders zal dalen. Hoe de temperatuurregeling precies werkt is aan jou.
  6. Inertia. Let er op dat pinguins bij het naar binnen lopen van de groep niet te snel opwarmen, anders worden ze er door separatiegedrag van anderen er meteen weer uitgewerkt.


*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 woensdag 13 november 2024, om 15:02 uur Auteur(s): Gerard Vreeswijk Translate to en, ru, or tr