Deel dit artikel

computerprogrammeurs kunnen niet alle mogelijke menselijke foutjes voorzien; zelfs een verkeerde muisklik of toetsaanslag kan soms verregaande gevolgen hebben. dat soort ontwerpfouten en vergetelheden wordt vroeg of laat wel opgespoord, maar vaak zit het systeem zo complex in elkaar dat moeilijk te achterhalen valt in welke stap het precies fout is gelopen. artificieel intelligente software kan een grote hulp zijn, maar slaagt er niet altijd in om causale patronen bloot te leggen en werkt soms zelfs averechts. in ieder geval vergt omgaan met nieuwe technologie een leerproces dat ook steeds nieuwe fouten voortbrengt. regelmatige updates zijn dus essentieel.

Een nieuwe update voor het systeem is beschikbaar

Adhemar Bultheel

Er was een pauselijke bul nodig om in 1482 een afrondingsfout recht te zetten. Julius Caesar had als benadering voor de duur van een jaar 365,25 dagen van de Egyptenaren overgenomen, wat met een schrikkeljaar om de vier jaar een geheel aantal dagen per jaar toeliet. Maar in feite is een zonnejaar ongeveer 365,2421875 dagen. Als gevolg was ten tijde van paus Gregorius in 1582 het begin van de lente een dikke week opgeschoven, en daarom werden tien dagen geschrapt en voerde de paus de Gregoriaanse kalender in met nog steeds een schrikkeljaar om de 4 jaar behalve honderdvouden. Daardoor telde een jaar gemiddeld 365,2425 dagen. Maar dan nog loopt de klok 0,3 dagen voor na duizend jaar; daarom zijn veelvouden van 400 dan weer wel een schrikkeljaar.

Zo zie je maar dat een kleine afrondingsfout op termijn grote gevolgen kan hebben. Zolang er mensen achter het stuur zitten zullen de afwijkingen vroeg of laat wel rechtgezet worden, maar het wordt gevaarlijker als een computer blijft doortellen en afronden zonder nadenken. Een voorbeeld daarvan is de Vancouver Stock Exchange Index, ingevoerd in 1982. Die index werd zo’n 3000 keer per dag berekend, en daarbij werd het laatste cijfer van de berekening weggelaten. Daardoor werd telkens naar beneden afgerond, met als gevolg dat de index tegen eind 1983was gezakt tot bijna de helft, terwijl er geen aanwijsbaar probleem op de markt was. Het duurt even voor dat soort fouten opgemerkt wordt omdat de kleine foutjes onder de alarmdrempel vallen. Dat is trouwens een principe waarmee internetcriminelen rijk proberen te worden: door ‘verwaarloosbaar’ kleine bedragen af te romen van heel veel bankrekeningen.

In het meedogenloze alles-of-nietsuniversum van computers wordt alle informatie intern met nullen en eentjes voorgesteld

Wat beide voorbeelden leren is dat men correct moet afronden. Als men tot op een eenheid wil rekenen, dan zal men alles onder 0,5 moeten afronden naar beneden en alles erboven naar de volgende eenheid. De 0,5 zelf kan men bijvoorbeeld naar boven afronden als het vorige cijfer even is en naar beneden als het oneven is. Iets dergelijks geldt natuurlijk ook voor het laatste cijfer als men een groter aantal cijfers na de komma meeneemt. Het voorbeeld van de kalender toont ook aan dat dit er best zo veel mogelijk zijn. Het zal niet zo belangrijk zijn als je om de inhoud van je glas wijn te berekenen het getal π vervangt door 3,14, maar als dat niet nauwkeuriger gebeurt in de berekening van gps-coördinaten, dan kan jouw zelfrijdende auto weleens in het ravijn belanden.

Niemand kan echter exact π vangen met eindig veel cijfers, ook een computer niet. Onze digitale computers werken niet met decimale cijfers: in hun meedogenloze alles-of-nietsuniversum wordt alle informatie intern met bits, nullen en eentjes, voorgesteld. Alle informatie betekent zowel de instructies die uitgevoerd moeten worden als de gegevens waarop die instructies toegepast worden en de geheugenadressen waarop de volgende instructie staat of waar de data te vinden zijn die verwerkt moeten worden. De bits worden gegroepeerd in woorden van 4, 8, 16, 32 of 64 bits, en verwerkt door processoren die in een paar klokcycli een instructie kunnen uitvoeren, waarbij de klok tegenwoordig tot 5 miljard cycli per seconde (5 GHz) haalt. Hier ligt een groot verschil met onze eerste twee voorbeelden. In het kalenderprobleem duurde het vele jaren alvorens men zich realiseerde dat er iets misliep en dan was er paus Gregorius die ingreep op het systeem. In het voorbeeld van de Stock Exchange zag men na een jaar dat er iets ontspoorde en kon men dat zonder al te veel schade corrigeren. Als men echter moderne computers hun gang laat gaan, en er gaat iets mis, dan gebeurt dat razendsnel. Hoewel deze systemen dikwijls het adjectief smart meekrijgen, kunnen ze onze ‘little grey cells’ (nog) niet echt evenaren, en beseffen ze niet altijd dat het de verkeerde kant opgaat. Extern ingrijpen voor het te laat is, is onmogelijk geworden omdat ze ons te snel af zijn.

Het vervolg van dit artikel lees je in de papieren versie van Karakter 72. De volledige tekst verschijnt later online.
Deel dit artikel
Gerelateerde artikelen