De formule die alles plot

Wie op de middelbare school zit, of niet al te lang geleden gezeten heeft, heeft vast wel eens een formule geplot in een grafische rekenmachine. Bijvoorbeeld: f(x) = x2, waar je dan een plaatje van een dalparabool uit krijgt. Of een andere functie, zoals g(x) = 4x3, die een soort slangenvorm produceert. Maar wist je dat er ook een formule is, die eruitziet als zichzelf als hij geplot wordt?

De ‘everything formula’, zo werd de formule gedoopt door het YouTubekanaal Numberphile. Laten we er eens naar kijken!

Met een formule die zichzelf plot bedoel ik dat de functie die jij intypt in je rekenmachine, er ook zo uitkomt op het plotschermpje. In het geval van f(x) = x2 – als dat een ‘everything formula’ zou zijn – zou je dus geen dalparabool zien, maar weer de tekst ‘f(x) = x2’. Laat ik het voor je schetsen. Hieronder heb ik een ‘schermpje’ van een rekenmachine getekend, met erboven onze functie: f(x) = x2. In het rood heb ik de output getekend zoals je die waarschijnlijk kent: als een dalparabool op je scherm. Als de formule nu zichzelf zou plotten, zou je niet de rode dalparabool zien, maar de blauwe tekst op je scherm – maar dan uiteraard in meer gepixelde vorm.

formule

Nu weten we dat f(x) = x2 zichzelf niet echt plot – je zult toch echt de rode output zien, en niet de blauwe – maar er is een formule die dit wel kan. Die formule heet ‘Tupper’s self referential formula’.

De formule ziet er als volgt uit:

\( \frac{1}{2} < \left\lfloor \mbox{mod} \left( \left\lfloor \frac{y}{17} \right\rfloor 2^{-17 \lfloor x  \rfloor – \mbox{mod}(\lfloor y \rfloor, 17)} , 2 \right) \right\rfloor \).

Als je dit zou invullen in je rekenmachine, zou de grafiek dus zichzelf laten zien! Er zitten wel wat haken en ogen aan het verhaal: de formule laat weliswaar zichzelf zien, maar binnen een bepaald domein. In plaats van, bijvoorbeeld tussen een waarde van 3 en 10 op de y-as, bevindt de plot zich tussen waarden k en k+17. De x-as loopt van 0 tot 106. Wat is nu deze k? Dat is een enorm groot getal, te lang om hier zelfs uit te typen! In de video van Numberphile hieronder wordt de waarde van k wel getoond.

Het domein waarin de formule zichzelf plot, bevindt zich dus bijzonder hoog langs de y-as. Maar hoe dan ook, voor deze waarde van k plot deze formule dus zichzelf! Dat is nog niet eens alles wat deze formule doet: hij vertelt eigenlijk, binnen een willekeurig raster van 106×17 pixels, welke pixel wel en niet ingekleurd moet worden. Je kunt er dus eigenlijk alles mee plotten, zolang je maar weet welke waarde voor k je nodig hebt.

Deze k-waarde kun je zelf bepalen (en je kunt dus eigenlijk ook je eigen plotje maken!), en dat doe je als volgt: binnen een raster van 106×17 begin je linksonder, en je werkt van beneden naar boven, van links naar rechts. Als je de pixel ingekleurd wil hebben, vul je in je raster een 1 in. Wil je de pixel niet inkleuren, dan een 0. Vervolgens doe je dit voor alle pixels in je raster, en zo krijg je een binair getal. Vervolgens kun je dit binaire getal omzetten naar ons tientallige getallensysteem, en dat vermenigvuldigen met 17 en dan heb je de waarde van k die je zocht!  Numberphile gaat ook met dit idee aan de slag, en ze laten je verschillende plots zien van de formule, voor verschillende k-waarden. Zo vinden ze bijvoorbeeld de waarde van k waarvoor de helft van het raster wordt opgegeten door pacman, en die waar alle ‘mod’ functies zijn veranderd in smilies.

De video van Numberphile met meer uitleg over deze bijzondere formule vind je hieronder: