Tag: Vrije wil

  • Homo Sapiens Pacmanus

    PacMan dient natuurlijk slechts als een hulpmiddel om te denken over wat de mens is. Is het een erg goed model? Dat hangt er maar helemaal vanaf wat je precies wil modelleren. Het doel van een model kan vanalles zijn, in dit geval gaat het om een analoog model dat dient om iets over de mens te beschrijven dat op zichzelf al niet helemaal sluitend is. En dan druk ik me nog mild uit.

    Ik ben geen wetenschapper, geen filosoof en geen theoloog, psycholoog, socioloog of bioloog. Hooguit ben ik een amateur met interesse en een notie die ik probeer te verwoorden. Als iemand de moeite neemt me uit te leggen waar de gaten, inconsistenties of klinklare onzin in die notie dan ben ik daar dankbaar voor. Het is allerminst mijn doel enige waarheid te verkondigen of iemand ergens van te overtuigen.

    Met die disclaimer op zak, terug naar het model. De analogie tussen de mens en PacMan zit in een aantal zaken:

    • wij leven in een wereld, of universum, die/dat we ervaren als een gesloten systeem waarbinnen regels gelden die onveranderbaar zijn en waarbinnen objecten en materialen gemanipuleerd kunnen worden om die wereld vorm te geven.
    • wij ervaren een vrije wil, hoewel bewijsbaar is dat die ervaring op zichzelf het bestaan van een vrije wil niet aantoont.
    • onze waarneming van de werkelijkheid is volledig gebaseerd op de input van data. Het is theoretisch prima voorstelbaar dat onze waarneming zoals we die in ons brein registreren compleet los staat van enige werkelijkheid buiten ons.
    • als de data-input die wij registreren als waarneming van de werkelijkheid buiten ons afkomstig is van een bron die ons een niet bestaande werkelijkheid voorschotelt, bij PacMan “de computer”, dan hebben wij per definitie geen enkele mogelijkheid het bestaan van die bron waar te nemen.

    Dat laatste punt is een logische kwestie. Als onze waarneming van de wereld om ons heen, dat wat we de fysieke wereld noemen, gebaseerd is op iets anders dan de fysieke werkelijkheid dan is die bron zelf dus geen onderdeel van de fysieke wereld die wij waarnemen. Als iets geen deel is van de wereld die wij waarnemen, kunnen we die dus niet waarnemen. Konden we die immers wel waarnemen, dan was ze deel van de fysieke werkelijkheid. Voor een dergelijke bron hebben we wel een term: metafysica.

    De filosoof Immanuel Kant beargumenteert in zijn Kritik der eigen Vernunft, de kritiek van de zuiver rede, op nogal overtuigende wijze dat de metafysica zich bezig houdt met zaken die ofwel niet bestaan, ofwel niet relevant zijn. Hij doet dat zeer gedetailleerd en grondig, maar een vrij grof korte samenvatting komt ongeveer neer op: als een verschijnsel metafysisch is, en niet fysisch, dan kunnen wij het niet waarnemen. Alles wat enige invloed heeft op de fysische wereld kunnen wij waarnemen, al was het maar indirect door die invloed waar te nemen. Daaruit volgt dat een zuiver metafysisch verschijnsel ofwel niet bestaat, ofwel voor ons geen enkele relevantie heeft.

    Maar Kant doet nog meer. Hij brengt een filosofische scheiding aan tussen de werkelijkheid zoals die echt is, dat hij het Ding an sich noemt en de werkelijkheid zoals we die waarnemen, het Ding für mich. Het Ding an sich kunnen we nooit kennen omdat kennis over de wereld om ons heen via de zintuigen en de vooraf aanwezige categorieën in onze geest tot ons komt. Kant wijst metafysische werkelijkheden dus beargumenteerd af en stelt dat metafysische kennis over de werkelijkheid van fenomenen, dus kennis over het Ding an sich, onmogelijk is.

    Overigens komt dit denken niet uit de lucht vallen bij Kant. Zekere overeenkomsten zijn voor katholieken bijvoorbeeld te herkennen uit de leer van de transsubstantiatie waarbij een onderscheid wordt gemaakt tussen de essentie van brood en vlees versus de accidenten van brood en vlees. In de leer van de transsubstantiatie wordt aangeduid hoe we kunnen begrijpen dat het brood in de Eucharistie verandert in het lichaam van Christus, en dus in vlees, terwijl we op geen enkele manier het verschil kunnen waarnemen. Thomas van Aquino zou dat uitleggen als dat de essentie verandert (de “brood-heid” verandert in “vlees-heid”) terwijl de accidenten (de brood-smaak, -geur, -textuur, etc) hetzelfde blijven. Kant, zou hij katholiek zijn geweest, had het wellicht uitgelegd als dat het Ding für mich wel hetzelfde blijft, maar het Ding an sich verandert.

    Valt hier aan te ontkomen? Kant weerspreken is zacht gezegd nogal pretentieus, zo lijkt het. Schopenhauer doet dat toch. Nu valt vrij probleemloos aan te tonen dat Schopenhauer pretentieuze trekjes had, maar dat mag de pret niet drukken. In Die Welt als Wille und Vorstellung, De wereld als wil en voorstelling, geeft Schopenhauer

    Schopenhauer volgt dus in beginsel de verdeling van Kant in de wereld der dingen zoals ze zijn en de wereld der dingen zoals wij ze waarnemen. Het Ding für mich komt bij Schopenhauer terecht in de Wereld als Voorstelling. Vervolgens maakt hij echter een fascinerende denksprong. De wereld van het Ding an sich, dus de wereld van de dingen zoals ze zijn, plaats hij in de Wereld van de Wil. Dat zou een taalspelletje kunnen zijn, als hij niet vervolgens aantoont dat we de Wil wel degelijk kunnen waarnemen. Het is de illusie van de vrije wil, die wij ervaren als we ons lichaam bewegen, die onze directe waarneming van de Wil oplevert. Vanuit dat startpunt vormt Schopenhauer een weg naar de kenbaarheid van de “echte” werkelijkheid.

    Schopenhauer heeft daar vervolgens overigens geen al te vrolijk verhaal bij. De Wil, waarvan we dus slechts een klein deeltje in onszelf waarnemen en die we ervaren alsof deze vrij is en als het ware ons eigendom, beheerst alles. Om de analogie met PacMan er weer bij te pakken: niet alleen is PacMan gebonden aan de wil van de speler, ook al ervaart PacMan wellicht een vrije wil. Nee, de hele wereld van PacMan is uiteindelijk onderworpen aan de wil van de speler, of zo van de speler en de programmeur wellicht. PacMan kan daar een vermoeden van hebben zodra hij zich realiseert dat hij zelf een Wil gehoorzaamt, op dezelfde wijze als mensen zich in het denken van Schopenhauer het bestaan van de Wil kunnen realiseren als ze zich realiseren dat hun lichaam een Wil gehoorzaamt.

    Waarom is het niet zo vrolijk? Schopenhauer ziet de Wil als iets dat blind is en richtingloos, en dat de mens daarom doet lijden. De analogie met PacMan is niet 100% maar laat zich wel raden.

    Hoewel Schopenhauer hiermee met een filosofie over de werkelijkheid komt die ons meer toegang geeft tot de wereld zoals deze is dan Kant, kan je daar nog steeds niet zoveel mee. Dat komt met de volgende stap die Schopenhauer zet in zijn denken: de kunst

    Schopenhauer betoogt dat we als mens kunnen ontsnappen aan de wereld zoals we die ervaren en directer toegang krijgen tot de wereld zoals die is. De argumentatie daarvoor is uitgebreid en zal ik niet trachten samen te vatten, maar wel moet nog op een specifieke kunstvorm worden gewezen.

    Schopenhauer ziet de waarde van kunst met name in de specifieke vorm van afbeelden die nadere toegang geeft tot de werkelijkheid zoals die echt is dan de directe waarneming van die werkelijkheid. Maar er is één kunstvorm die geen enkele afbeelding van enige werkelijkheid geeft, muziek.

    Juist doordat muziek geen afbeelding van de werkelijkheid is, geeft het volgens Schopenhauer de hoogste vorm van toegang tot de werkelijkheid zoals die is, tot de Wil.

  • PacMan programmeert PacMan

    Ik ben eerder ingegaan op een beeld van een werkelijkheid waarin PacMan, het gele happertje uit het Atari-spelletje van decennia geleden, zelfbewustzijn heeft. Het roept de vraag op wat “echt” is in de wereld van PacMan, maar ik ga liever eerst een nog wat vreemder kant op. Ik legde ook de gedachte voor dat PacMan op één of andere manier in staat zou zijn de computer te programmeren waarop het spel draait. Dit heeft een aantal vreemde implicaties. Immers, dat wat PacMan programmeert op “zijn” computer wordt daarmee werkelijkheid in “zijn” echte, reële wereld. Geprogrammeerd IS echt.

    De vraag die natuurlijk gesteld moet worden is hoe PacMan de computer zou programmeren waarop het spel draait. Die vraagt valt te splitsen in twee delen. Enerzijds is dat de programmeertaal waarmee PacMan programmeert, ofwel de taal die de computer verstaat en vertaalt naar het spel. Anderzijds is van belang welke interface PacMan gebruikt. Hoe worden de gedachtes van onze gele vriend omgezet naar computer-instructies? Om dat beeld goed te laten werken zullen we met heel praktische zaken rekening moeten houden. Zoals het feit dat PacMan geen handen heeft en dus geen toetsenbord kan bedienen.

    De programmeertaal voor PacMan is probleemloos. We weten dat het spel PacMan oorspronkelijk werd geprogrammeerd op een Z80 processor, aangevuld met wat ondersteunende electronica. Dat betekent automatisch dat als PacMan zelf wil gaan programmeren, dat in de machinecode van de Z80 zal moeten. Het bekent echter niet dat PacMan zelf machinecode moet kunnen schrijven. Voor programmeurs is het gebruik van machinecode grotendeels volledig in onbruik geraakt. De moderne programmeur gebruikt een hogere programmeertaal, die door een programma, de compiler, wordt vertaald naar machinecode. Ook als je geen programmeur bent, is een eenvoudig programma in een dergelijke hogere taal nog redelijk te snappen, terwijl machinecode vrijwel kansloos zal zijn.

    Ter illustratie twee korte stukjes code, de ene in de programmeertaal Pascal en de andere in machinecode voor de Z80. Het verschil in begrijpelijkheid moge evident zijn.

    In Pascal:

    program SomVanTweeGetallen;

    uses crt;

    var
    getal1, getal2, som: Integer;

    begin
    clrscr;
    Write(‘Voer het eerste getal in: ‘);
    ReadLn(getal1);
    Write(‘Voer het tweede getal in: ‘);
    ReadLn(getal2);

    som := getal1 + getal2;

    WriteLn(‘De som van ‘, getal1, ‘ en ‘, getal2, ‘ is: ‘, som);
    ReadLn; // Wacht op invoer voor afsluiten
    end.

    In Z80 machinecode wordt dit:

    CD 52 52 CD 66 52 47 CD 52 52 CD 66 52 4F 78 81 FE 0A DA 70 52 21 78 52 CD 89 52 C3 7A 52 C6 30 CD 86 52 C3 7A 52 D6 30 C9 DB 00 DB 00 CB 7F 28 F9 E6 7F C9 5F 0E 02 CD 38 00 C9 7E FE 00 C8 CD 86 52 23 C3 93 52 53 6F 6D 20 3E 20 39 21 00 C3 A6 52

    Een programmeertaal als Pascal heeft een hoger abstractieniveau dan machinecode, en is ook expressiever. Abstractie slaat op het vermogen om met simpele taal-elementen complexe ideeën weer te geven en daardoor de complexiteit te verbergen, en expressiviteit zegt iets over het vermogen in een taal kort, helder en nauwkeurig ideeën uit te drukken.

    Zoals de meeste programmeurs zal ook PacMan waarschijnlijk weinig tot geen kennis hebben van de computer, van machinecode of van de compiler. Sterker, dit zijn allemaal elementen die geen deel uit maken van zijn werkelijkheid! Het neemt niet weg dat als PacMan zijn eigen computer kan programmeren, dat gebeurt via een programmeertaal, of korter gezegd, via taal.

    Dan is er nog het probleem van de interface. Hoe krijgt PacMan zijn ideeën omgezet in taal, en hoe wordt die taal weer omgezet in machinecode?

    Hier moet ik het vaag houden, om twee redenen. Ten eerste, omdat het voor dit moment niet geheel relevant is. Maar ten tweede, omdat het op het moment dat het wel relevant wordt een vraag is die alleen indirect te beantwoorden lijkt. De gedachtensprong die daarvoor nodig is ga ik pas maken als we PacMan achter ons hebben gelaten.

    Wel stel ik voor dit moment vast dat in het spel PacMan geen toetsenbord te vinden is, en PacMan geen handen heeft om een toetsenbord mee te bedienen. PacMan is niets meer dan een hoofd met een mond. Het lijkt me dan ook niet volledig onredelijk te veronderstellen dat PacMan programmeert door zich uit te spreken.

    Wat houden we nu over uit dit beeld over PacMan? Een levende, zelfbewuste entiteit die weliswaar geen eigen wil heeft vanuit onze optiek en al evenmin emoties, intelligentie of zelfbewustzijn, maar die dat zelf wel zo ervaart en die we daarom toch zo beschouwen voorlopig. Deze entiteit heeft geen begrip, nee zelfs geen weet van het feit dat hij slechts een virtueel wezen is in een virtuele wereld die geprogrammeerd is op een computer. Toch, zo nemen we even aan, is hij in staat die computer te programmeren. Hiertoe gebruikt hij taal, die voldoende abstractie kent en expressief genoeg is, om zijn ideeën over zijn wereld in uit te drukken. Hoe deze taal door een compiler wordt vertaald naar machinecode voor de computer waarin de wereld van PacMan bestaat weet PacMan niet, hij weet niet eens van het bestaan van die computer.

  • De wereld van PacMan

    Het is geen al te origineel beeld, maar probeer het toch even je in te leven: stel je voor dat jij PacMan bent. Je weet wel, dat gele figuurtje dat door een van de oudste computerspellen door een doolhof rent om punten te eten. Je wordt achtervolgd door vier spookjes en als ze bij je komen ben je dood. Maar als je een grote punt eet, worden de spookjes tijdelijk blauw en kan jij de spookjes eten. Mijn generatie speelde het spel in speelhallen, bij de frietboer, en op de Atari thuis.

    Maar laten we nu eens wat vragen stellen over jouw wereld, als PacMan. Zijn de spookjes “echt”? Ben jijzelf “echt”? En wat neem je precies waar van de computer waarin je bestaat? En van de speler die jou bestuurt? Ervaar je dat je bestuurt wordt, of voelt het als een vrije wil?

    Arthur Schopenhauer zou je kunnen uitleggen dat de ervaring van een vrije wil allerminst betekent dat je echt een vrije wil hebt. Omgekeerd kan je dan ook concluderen dat hoewel wij donders goed weten dat PacMan geen vrije wil heeft, hij doet immers gewoon wat de speler beslist, PacMan best kan ervaren dat hij een vrije wil heeft. Daarmee hebben we een vrij smalle, maar ook best rationeel houdbare, basis om te stellen dat la condition PacMaine en la condition humaine helemaal niet zoveel verschillen.

    Valt daar iets tegenin te brengen? Vanzelfsprekend. PacMan kan niet waarnemen, heeft geen zelfbewustzijn, mist intelligentie. En dat hebben mensen allemaal wel. Maar is dat wel zo? Wie het spel wel eens gespeeld heeft moet toch hebben gezien dat PacMan reageert op zijn omgeving, emoties zoals angst en verdriet toont, en inspeelt op de acties van de spookjes. Dat is behoorlijk menselijk. Ja, maar, dat is de speler! Dat is niet PacMan zelf!

    Fair punt. Net zo fair als het punt van Arthur Schopenhauer dat wij mensen niet doen wat we zelf willen, maar slechts handelen naar de onderliggende wereldwil. Je zou kunnen zeggen, de speler. En daarmee wordt het toch een beetje lastiger om te beweren dat PacMan en de mens elkaar enorm ontlopen.

    Je zou nu in de verleiding kunnen komen om allerlei parallellen te gaan benoemen. Is de speler in mijn beeld misschien God? En de spookjes, zijn zij de mensvijandige natuur? Leuk en aardig, maar niet zo interessant. Het gaat er niet om een model te verzinnen dat parallellen kan benoemen zonder iets te verklaren of met een nieuwe conclusie te komen.

    Nee, ik wil nog een stapje verder zetten. Probeer je eens voor te stellen dat we abstraheren van de speler. PacMan heeft geen weet van een speler, voor PacMan heeft de speler geen relevantie. En ook het bestaan van een computer, van een wereld buiten die computer, van het bestaan van wat wij materie zouden noemen zelfs, heeft PacMan geen weet.

    En stel je nu eens voor dat PacMan, op welke manier dan ook, leert programmeren. Het spel PacMan werd oorspronkelijk geschreven op een Z80 processor, een behoorlijk krachtige 8-bits processor. Het spel beschikte in de originele versie over een kleurenscherm, een vrij beperkt intern geheugen en wat aanvullende electronica. Dat betekent dat er restricties zijn aan wat je kan programmeren. Zo zou je het doolhof anders kunnen maken, de spookjes ander gedrag kunnen geven, maar ook een compleet nieuwe wereld kunnen programmeren voor PacMan.

    Maar je kan op de hardware die voor PacMan beschikbaar is niet zoiets maken als pakweg Fortnite. Een open wereld vol karakters met ieder een eigen speler, met vele NPC‘s, gebouwen, grondstoffen, bouwmogelijkheden en alles in 3D, dat kan de electronica van PacMan gewoon niet aan.

    Let op, wellicht ben je in je denken, al lezende, overgestapt naar denken over een programmeur, een mens, een speler desnoods. Maar wat ik zei was, stel je nu eens voor dat PacMan leert programmeren.

    Hoe zou een wereld voor PacMan er uit zien als hij zelf zou kunnen programmeren? Geen idee, want ik weet niet wat PacMan denkt. Maar het gaat me om het concept. Hoe programmeert PacMan? Daar kom ik nog op. Maar voor dit moment is het goed om een aantal zaken vast te stellen:

    1. Ook als programmeur is PacMan niet almachtig of onbeperkt in zijn mogelijkheden. De hardware waar hij op programmeert, de materiële wereld dus die voor PacMan zelf niet bestaat of niet van reële betekenis is, legt beperkingen op aan wat geprogrammeerd kan worden. Dat wat wij de fysieke wereld noemen is voor PacMan juist de wereld buiten zijn fysieke wereld. Je zou het de metafysica van PacMan kunnen noemen. Onbekend en onbereikbaar voor PacMan maar desalniettemin van fundamentele betekenis voor de mogelijkheden voor PacMan om zijn fysieke wereld te programmeren.
    2. Hoewel PacMan een vrije wil kan ervaren, heeft hij die niet. Zoals wij een onvrije wil hebben, naar de wijze van Schopenhauer, heeft PacMan een speler, die zijn wil vormt en hem stuurt.
    3. PacMan begint in een bestaande wereld die hem gegeven is, met een realiteit waarin grondstoffen schaars zijn en spoken zijn leven bedreigen. Hij heeft emoties en intelligentie in die wereld die hij vooral nodig heeft om zijn leven te redden. Het programmeren van die wereld zal onder die omstandigheden vooralsnog bijzaak zijn.

    Ik hoop dat dit beeld aanvaardbaar is. Het is mogelijk, en zelfs vrij eenvoudig, om gaten in dit beeld te schieten. Er is inderdaad van alles op aan te merken, maar dat is niet relevant. Ik poneer immers geen stelling, verkondig geen overtuiging en voer geen discussie. Het gaat er niet om of ik gelijk heb, het gaat er om een fundamentele gedachte te verwoorden die ik later zal uitwerken, als ik de vraag beantwoord hoe programmeert PacMan de wereld van PacMan?