De motoriek van een peuter

Waarom kan een computer wel een pot schaken winnen maar lopen robots nog steeds alsof ze in hun broek hebben gekakt?

Hans Moravec schreef: "it is comparatively easy to make computers exhibit adult level performance on intelligence tests or playing checkers, and difficult or impossible to give them the skills of a one-year-old when it comes to perception and mobility". Moravec’s Paradox. In 1997 versloeg schaakcomputer Deep Blue II Garri Kasparov, de op dat moment beste schaker ter wereld. Een ongekende prestatie. Vier jaar later loopt robot ASIMO nog steeds als een dronken peuter die net z'n luier heeft gevuld.

Het probleem van Moravec’s Paradox lijkt te liggen in het feit dat we behoorlijk belabberd zijn in het inschatten van de moeilijkheid van een taak. Moravec kan wel snoeven over het niet eens hebben van ‘the skills of a one-year-old when it comes to perception and mobility’, maar daarbij lijkt hij behoorlijk te onderschatten hoe complex de taken zijn die zo'n one-year-old allemaal uitvoert. Wat komt er kijken bij het zetten van een stap? We moeten diepte kunnen inschatten, zien waar we onze voet neerzetten, inschatten of dat vlak of scheef, zacht of hard is, we moeten onze balans van ons ene been naar ons andere been verplaatsen, de goede hoeveelheid kracht zetten en weer netjes uitkomen. Daar komen nogal wat systemen en berekeningen aan te pas. Neem daarentegen een potje schaken: met een simpel setje regels kan je alle mogelijke zetten relatief rap uitrekenen. Daarnaast heeft die one-year-old natuurlijk toch ook al heel wat data verwerkt in z’n jaar op aarde. Het kind is eigenlijk op elk moment bezig met proefjes doen: Kan ik dit vasthouden? Is dit lekker? Is deze tepel eetbaar? Vindt men het leuk als ik recht in hun mond nies? Daarnaast heeft het ook nog eens een aardige lading voorprogrammering in de vorm van genetica: dingen die we van generatie op generatie (vaak the hard way) hebben geleerd en die het kind nu al in z'n systeem voorgebakken heeft. Al met al: die one-year-old is lang niet het incompetente idiootje waar Moravec hem voor aan lijkt te zien.

Zo lijken de taken die computers erg goed doen toch ook wat gemeen te hebben: een relatief lage complexiteit. Ja, computers hebben ondertussen van mensen gewonnen met schaken, Go, en ze beginnen zelfs in complexere spellen succes te boeken. Maar al deze spellen hebben nog steeds een afgebakende speelruimte met afgebakende regeltjes. Game-tree complexity geeft een schatting van het aantal mogelijke toestanden aan: hoe hoger de game-tree complexity hoe meer mogelijke toestanden berekend zullen moeten worden. Zo heeft schaken een geschatte complexiteit van 10120, terwijl Go alweer op een geschatte 10172 mogelijke toestanden komt. En dat zijn spellen met een beperkt aantal vakjes op een bord, waar twee spelers om de beurt een zet doen. Als we naar een computerspel als Starcraft kijken zien we hoe de complexiteit ontploft: de beslissingen worden real-time gemaakt dus tijd is een factor, de hoeveel 'vakjes' is ongelooflijk veel groter en het aantal mogelijke toestanden vanuit de huidige toestand is bijna oneindig! Als we dan een stapje verder doen naar de echte wereld, en een peuter die een stap wil zetten wordt duidelijk hoe ongelooflijk complex zo'n berekening eigenlijk is.

Ik denk dat we naarmate we meer over onszelf te weten komen we steeds meer inzien hoe complex veel van onze dagelijkse functies eigenlijk zijn. En we komen er ook steeds meer achter dat we slimme truukjes en shortcuts hebben ontwikkeld om deze taken eenvoudiger te kunnen verwerken. Met dat groeiend begrip over hoe geniaal ons lijf problemen oplost, kunnen we weer slimmere algoritmes maken die dat nabootsen. We komen er wel. Kleine stapjes, net als een one-year-old.


Dit item is geschreven door Maarten van schrijverscollectief Kaf.