Geweldig nutteloze AI

9 december 2008 om 21:52

Ook ben ik in het dagelijks leven weinig meer met AI bezig, als iemand die is afgestudeerd in Kunstmatige Intelligentie, ben ik nog steeds wel geïnteresseerd in dingen die met mijn voormalig vakgebied te maken hebben.

Een van de leuke dingen van AI is dat naast dat een hoop technieken uit het veld heel nuttige toepassingen hebben, je er ook geweldig leuke, nutteloze dingen mee kan doen (zoals bijvoorbeeld mijn Markov Tweet Generator). Zo kwam ik deze week twee hele verschillende, maar wel even nutteloze toepassingen van Genetisch Algoritmes tegen.

Genetisch Algoritme?

Een genetisch algoritme is heel nuttig als je wel kan meten of een oplossing voor een probleem goed is (de zogenaamde fitness), maar als je niet weet hoe die oplossing er uit zou moeten zien. De oplossingen moeten beschreven kunnen worden met een aantal eigenschappen die kunnen varieren.

Je begint met een populatie van oplossingen, test de ‘fitness’ van je populatie en met de beste oplossingen ga je verder. Hoe beter een oplossing, hoe groter de kans dat ze gekozen worden voor de volgende ronde. De gekozen oplossingen kruis je met elkaar en er is een (kleine) kans op een willekeurige mutatie. Met de nieuwgevormde populatie ga je weer verder en dat zo vaak als nodig.

Tijd voor een voorbeeld

Ok, genoeg droge uitleg. Nu een voorbeeld dat het meteen een stuk duidelijker zal maken: een flash applicatie, waar ik van de week tegen aanliep:

Elke ronde worden er 20 nieuwe autootjes gegenereerd om een parcours af te leggen. In dit voorbeeld is de fitness functie de afgelegde afstand van gegenereerde autootjes. De eigenschappen zijn de grootte en positie van de 4 cirkels en de lengte en veerkracht van de 8 veren tussen de cirkels. De zwarte lijn in de grafiek toont de ‘beste’ fitness van een populatie, de groene lijn de gemiddelde fitness.

Geweldig nutteloos, maar een goed voorbeeld van hoe genetische algortimes werken.

De Mona Lisa schilderen

Je kan genetische algoritmes ook gebruiken om de Mona Lisa te schilderen.

De oplossing van Roger Alsing mist een paar eigenschappen om helemaal te voldoen aan het standaard patroon van een genetisch algoritme. Zo gaat hij niet uit van een populatie, maar van één individu. Maar zijn aanpak laat goed zien hoe je door kleine mutaties, uiteindelijk grote resultaten kunt boeken.

Edit: Je kan dit algoritme inmiddels ook in levende lijve zien. Als je wilt, zelfs met je eigen plaatjes.

Meer?

Altijd als ik dit soort voorbeelden online tegenkom begint het bij mij ook te kriebelen. Hou deze blog in de gaten. Je weet maar nooit of ik binnenkort ook met zoiets nutteloos op de proppen kom!

Voor meer van dit soort nutteloze AI toepassingen, hou ik me altijd aanbevolen.

Een reactie op “Geweldig nutteloze AI”

  1. Wat onwijs lachen. idd wel ff nadenken over een algemeen nut.

    Kunnen we niet eens nadenken over een genetisch algoritme dat de beste reclameinkomsten op een website gaat opzoeken.

Plaats een reactie