Geen menselijke ontwerper had hier op kunnen komen, maar dit blijkt toch de meest efficiënte vorm voor een X-bandantenne te zijn. Bron: Wikimedia Commons/NASA

Evolutionair design: de blinde horlogemaker als ontwerper

Al voor de eerste menselijke techniek bestond, bestonden er in de natuur dingen die veel weg hebben van menselijke uitvindingen. Door gebruik te maken van het evolutionaire principe, kan software  nu zelfstandig producten ontwikkelen. Dit op basis van enkele verbluffend eenvoudige regels. Wat zijn de ontwikkelingen?

Hoe vindt evolutie plaats?
Darwiniaanse evolutie vereist enkele dingen. Er moet sprake  zijn van een systeem dat informatie bevat en overdraagt aan nakomelingen. Verder moet dit systeem zich kunnen vermenigvuldigen, moeten er bij elke generatie kleine afwijkingen ontstaan en er moet sprake zijn van een vorm van natuurlijke  selectie, waardoor bepaalde varianten meer nakomelingen krijgen dan andere.
Dit proces verloopt vrij langzaam, maar er kan na bijvoorbeeld een grote ramp een snelle spurt in de evolutiesnelheid plaatsvinden. Daarom zie je bijvoorbeeld na een uitstervingsgolf een waaier aan nieuwe soorten ontstaan. Vaak waren dit voor de uitstervingsgolf kleine,onopvallende soorten die nu de ruimte hebben tot reuzenformaat uit te groeien. Een mooi voorbeeld zijn uiteraard de zoogdieren na het uitsterven van alle dino’s behalve vogels.

Geen menselijke ontwerper had hier op kunnen komen, maar dit blijkt toch de meest efficiënte vorm voor een X-bandantenne te zijn. Bron: Wikimedia Commons/NASA
Geen menselijke ontwerper had hier op kunnen komen, maar dit blijkt toch de meest efficiënte vorm voor een X-bandantenne te zijn. Bron: Wikimedia Commons/NASA

Hoe kunnen we het evolutionaire proces nabootsen?
De natuurlijke evolutie verloopt naar menselijke normen extreem traag. Zelfs de snelste soortvorming die we kennen, die van de Londense metro-mug Culex molestus, duurde een eeuw, enkele honderden generaties. Gelukkig hebben we nu middelen om de evolutie veel sneller te laten verlopen: computers. Een softwaregeneratie duurt dan niet meer dan een fractie van een seconde. In de jaren vijftig werden al de eerste experimenten met evolutionaire algoritmes gedaan, maar pas rond de eeuwwisseling zijn computers krachtig genoeg geworden om deze algoritmes ook praktisch in te vullen en leukere toepassingen te bedenken.

Hoe werk je met evolutionaire algoritmen?
Evolutionaire algoritmen (EA) beginnen met een aantal door toeval gegenereerde willekeurige oplossingen, de kandidaatoplossingen. Elke nieuwe generatie kandidaatoplossingen zijn kopieën van de ouder-kandidaatoplossing, met een kleine mutatie. Net als in de natuur, moet je beginvoorwaarden instellen, die de”leefomgeving” van het genetische algoritme bepalen. Bijvoorbeeld: een ding dat stabiel staat en dat het gewicht van een volwassen persoon kan dragen. De fitness functie gaat uit van deze beginvoorwaarden en bepaalt hoe goed de kandidaatoplossingen het doen. Als aanvullende eis kan je bijvoorbeeld stellen dat de  hoeveelheid materiaal miniem moet zijn: stoelen die met het minste materiaal toch de volwassen persoon kunnen dragen, krijgen extra punten.

  1. Kies de meest geschikte individuen voor reproductie (de ouders).
  2. Stel nakomelingen samen door deze individuen met elkaar te kruisen. Hierbij vinden ook kleine mutaties plaats.
  3. Meet met de fitness functie hoe geschikt de nieuwe individuen zijn.
  4. Vervang de minst geschikte individuen door de  geschiktste nieuwe individuen.

Wat hebben we er aan?
Onze menselijk geest kent de nodige beperkingen. Veel mogelijkheden zien we domweg niet, vooringenomen als we door onze culturele bagage zijn. Computers worden hierdoor niet gehinderd. Weliswaar zijn ze gebonden aan de beperkingen die we opleggen, maar binnen deze randvoorwaarden verkennen ze de volledige oplossingsruimte. Vaak komen ze op bizarre  oplossingen, die toch blijken te werken.  Zoals de bekende CAD-specialist Autodesk met haar software doet.

Is er voor ons mensen dan helemaal niets meer te doen? Integendeel. Wij moeten heel precies de fitness functie opstellen. Omdat een genetisch algoritme werkelijk alle oplossingen gaat uitproberen krijgen we wellicht iets heel anders dan we nodig hebben. Denk aan de fabel over wensen en de fee. Wens je het verkeerde, omdat je de wens niet precies  genoeg geformuleerd hebt, dan gebeuren er onverwachte  dingen. Maar misschien is dat soms zo gek nog niet…

Meer informatie
Autodesk Dreamcatcher

3 gedachten over “Evolutionair design: de blinde horlogemaker als ontwerper”

  1. Darwiniaanse evolutie bestaat niet. De enige vorm die bestaat is micro evolutie, ofwel aanpassing. Intelligent design is hier meer van toepassing. Software is gemaakt door een hoger intelligent wezen, de mens. Dat heeft NIETS met evolutie te maken.

Laat een reactie achter