Bits die de wereld eenvoudiger maken

Computers..

Van de Homo universalis wordt vaak beweerd dat hij tegenwoordig is uitgestorven. Hetzelfde gaat in ieder geval niet op voor de universele machine. Die is springlevend. ‘Universele machine’ is namelijk een ander woord voor ‘computer’.

Zo’n drie decennia terug waren computers nog vooral groot, log, mysterieus en ver weg. Tegenwoordig hebben ze een plek gevonden in praktisch ieder huishouden en kantoor, en staan ze ook nog eens allemaal met elkaar in verbinding via internet. We nemen ze op schoot in de trein, wisselen er informatie mee uit over de hele wereld en dragen ze in de vorm van allerlei handige apparaatjes overal met ons mee.

Ongeveer zeventig jaar geleden bedacht de Britse wiskundige Alan Turing een denkbeeldig apparaat, bestaande uit een lees- en schrijfkop, heen en weer bewegend over een oneindige rij symbolen. De machines konden in verschillende toestanden verkeren. Bij een auto bijvoorbeeld zou je onderscheid kunnen maken tussen toestanden als ‘eerste versnelling’ en ‘tweede versnelling’ om vervolgens de mogelijke overgangen daartussen te beschrijven, afhankelijk van de invoer (‘de versnellingspook wordt vooruit bewogen’).

Turing paste deze denktrant toe op de (met potlood en papier) rekenende mens. De lees- en schrijfkop leest telkens een enkel symbool uit de rij in, en raadpleegt dan een van tevoren vastgelegd voorschrift. Domweg het voorschrift volgend vervangt de kop het symbool door een nieuw symbool, beweegt hoogstens een stap naar links of rechts in de reeks en gaat ten slotte zelf over in een nieuwe toestand. Op dat moment kan het hele verhaal weer van voren af aan beginnen, totdat de kop in de ‘eindtoestand’ belandt en het resultaat, een nieuwe rij symbolen, kan worden afgelezen.

Het is goed voorstelbaar dat je zo een machine zou kunnen maken die iets simpels kan zoals twee getallen bij elkaar optellen. Bijvoorbeeld door reeksen sterretjes aan elkaar te laten schuiven (zodat *+* veranderd wordt in **). Of je zou een machine kunnen maken die de letters in een woord omdraait (‘sterretje’ wordt ‘ejterrets’). In feite is er een apparaat denkbaar dat alle berekeningen kan uitvoeren die we op enige manier denkbaar achten: de Universele Turingmachine.

Deze machine zien we in het dagelijks leven terug in de ontelbare computers. Voor de kracht van het idee maakt het daarbij niet uit dat we een door stroom aangedreven printplaat vol met microscopisch bewerkte plaatjes silicium gebruiken (zie ook bètacanon aflevering ‘transistor’). Het had ook een door stoom aangedreven raderwerk van reusachtige proporties mogen zijn.

Wat hoe dan ook noodzakelijk blijft, is dat de mens aan de gebruikte symbolen en bewerkingen een betekenis moet geven. Hoe koppelen we symbolen aan fysieke gebeurtenissen, en hoe interpreteren we die vervolgens? Een heel simpel symbool als een bit (‘1’ of ‘0’) kan bijvoorbeeld een lichtpunt op een beeldscherm zijn, wat wij vervolgens weer interpreteren als het puntje op een letter i.

Met het bit als atoom van informatie heeft de computer intussen briefpost, bureaublad en boekhoudpapier, kaartenbakken, krant en radio, fotografie en film, telefonie en televisie, en natuurlijk ook muziek doordrongen. Al deze dingen kunnen nu met één apparaat worden gemaakt. Zo beschouwd is de wereld er dankzij deze universele machine een stuk simpeler op geworden.

We kunnen de computer ook gebruiken om onszelf en de werkelijkheid om ons heen na te bootsen. Wetenschappers willen graag weten hoe die werkelijkheid in elkaar zit, en hun numerieke simulaties van melkwegstelsels en microscopische structuren in levende cellen leiden tot meer begrip, en nieuwe vragen.

Maar ook kunstenaars zijn de computer gaan zien als gereedschap en medium om op hun manier te spelen met de werkelijkheid. En dagelijks delen hordes mensen via computers en wereldwijde netwerken allerlei fictieve varianten van de werkelijkheid, om daar hun fantasie in uit te leven.

De vraag is natuurlijk hoe je met symbolen en instructiereeksen (‘algoritmes’, ook hierover verscheen eerder een aflevering van de canon) dit alles voor elkaar krijgt. Het kan in elk geval enorm helpen als je programmeert op een manier die simpel, helder en mooi is. Dit heet elegant programmeren. Een prominent voorstander hiervan was de Nederlandse informatica-pionier Edsger Dijkstra die daarvoor in 1972 de Turing Award, de ‘Nobelprijs voor de Informatica’ kreeg. Een algoritme met deze eigenschap is als een bevroren gedachte waarin de symbolen en bewerkingen met een tijdloze vanzelfsprekendheid perfect in elkaar grijpen.

Daarmee ontstaat een opvallende paradox. We weten dus precies wat een computer is – maar wat een computer allemaal kan zijn wordt nog elke dag verder ontdekt. De enige echte begrenzingen lijken het menselijk voorstellingsvermogen en vernuft.

Meer over

Wilt u belangrijke informatie delen met de Volkskrant?

Tip hier onze journalisten


Op alle verhalen van de Volkskrant rust uiteraard copyright. Linken kan altijd, eventueel met de intro van het stuk erboven.
Wil je tekst overnemen of een video(fragment), foto of illustratie gebruiken, mail dan naar copyright @volkskrant.nl.
© 2020 DPG Media B.V. - alle rechten voorbehouden