# Tuppers Formel

Tuppers Formel ist eine von dem Kanadier Jeff Tupper aufgestellte Ungleichung, die aus einer gegebenen Zahl (einem sogenannten Parameter) ein Muster von 17×106 Pixeln erzeugt. Abhängig von dem Parameter können alle möglichen Pixelmuster der Größe 17×106 erzeugt werden. Insbesondere kann man mittels passendem Parameter die Formel selbst als Pixelmuster darstellen. Die manchmal verwendete Bezeichnung „Tuppers selbstreferentielle Formel“ ist jedoch aus fachlicher Sicht falsch.

## Veröffentlichung und Aussage

Jeff Tupper von der University of Toronto veröffentlichte die Formel im Jahr 2001 bei der SIGGRAPH, einer Konferenz für Computergrafik.
Die Formel lautet im Original:
    ${\frac {1}{2}}<\left\lfloor {\bmod {\left(\left\lfloor {\frac {y}{17}}\right\rfloor 2^{-17\lfloor x\rfloor -{\bmod {}\lfloor y\rfloor ,17)},2\right)}}\right\rfloor$
Diese Ungleichung soll laut Tupper für alle Wertepaare $(x,y)$ innerhalb eines Pixelfeldes der Größe 17×106 ausgewertet werden. Die Position dieses Pixelfeldes hängt von einem Parameter $k$ ab, der den Startpunkt der $y$-Werte im Koordinatensystem festlegt. Die Koordinaten des Pixelfelds werden beschränkt durch $0\leq x<106$ und $k\leq y<k+17$. Konstruktionsbedingt sollte $k$ ein natürliches Vielfaches von 17 sein.
Die Abrundungsfunktion (Gaußklammer) reduziert die reellen Variablen $x$ und $y$ auf ihren ganzzahligen Teil. Da zudem die ganze rechte Seite der Ungleichung in Gaußklammern steht, wird sich dort stets eine ganze Zahl ergeben. Somit ist die Ungleichung immer dann erfüllt, wenn die rechte Seite einen positiven Wert annimmt. Färbt man für einen festen Parameter $k$ alle Pixel $(x,y)$ eines 17×106-Pixelfelds, die die Ungleichung erfüllen, erhält man ein Pixelmuster. Interpretiert man die Formel als Dekodierer, so kann man sagen, dass der Parameter $k$ die komplette Bildinformation des Pixelfeldes enthält. Da es $17\cdot 106=1802$ Pixel im Pixelfeld gibt, gibt es theoretisch $2^{1802}\approx 2{,}858\cdot 10^{542}$ mögliche Pixelmuster. Diese befinden sich tatsächlich alle im Koordinatensystem, auffindbar über ein geeignetes $k$.
Die Lokalisation der einzelnen Pixelfelder im Koordinatensystem ist nicht zufällig. Das unterste Feld liegt auf der Höhe $0\leq y<17$, mit $k=0$. In diesem Ausschnitt ist das resultierende Pixelfeld leer. Setzt man hingegen $k=17$, so befindet sich ein einzelnes Pixel in der linken unteren bzw. rechten oberen Ecke, je nach Ausrichtung der Achsen. Jedes weitere Feld ist auffindbar, indem die Pixel des Feldes von unten links nach oben, bzw. von oben rechts nach unten in binärer Schreibweise ($0$ für Bedingung nicht erfüllt und $1$ für Bedingung erfüllt) aufgeschrieben, die Zahl in das Dezimalsystem umgewandelt und mit 17 multipliziert wird.

## Darstellung

Demgemäß ist ein möglicher Weg zur Darstellung eines Werts für $k$ mittels der Formel folgender:
* Wähle ein natürliches Vielfaches von 17 als $k$.
* Erzeuge ein Pixelfeld mit 106 Pixeln Breite und 17 Pixeln Höhe.
* Wähle die Achsen so, dass das Pixel links unten die Koordinate $(0,k)$ erhält, und der Pixel oben rechts die Koordinate $(105,k+16)$.
* Prüfe für jedes Pixel im Feld das Zutreffen der Ungleichung: Nimm seine Koordinate $(x,y)$ (durch die Achsen ergibt sich $0\leq x\leq 105$ und $k\leq y\leq k+16$) und prüfe die Ungleichung. Ist sie erfüllt, färbe das Pixel ein, andernfalls nicht.

## Beispiele und vermeintliche Selbstreferentialität

Es gibt einen Wert für $k$, der zu einem Pixelmuster führt, dessen Form gut als die mathematischen Zeichen der Formel selbst gelesen werden kann (siehe Grafik). Da Tupper selbst diesen Wert angab und mit der Formel präsentierte, ist er am bekanntesten und hat zu der oft verwendeten Bezeichnung „Tuppers selbstreferentielle Formel“ geführt. Jedoch wäre die Formel selbst dann nicht als selbstreferentiell zu bezeichnen, wenn dieser $k$-Wert und die Formel als festgefügte Einheit betrachtet werden würden. Bedingung für Selbstreferentialität ist, dass etwas auf sich selbst Bezug nimmt. Die Formel an sich (auch in Verbindung mit dem entsprechenden $k$-Wert, s. u.) tut dies jedoch nicht. Das in diesem Fall entstehende Pixelbild ist lesbar, hat aus mathematischer (also aus der für die Formel geltenden) Sicht jedoch keinen über das Pixelmuster hinausgehenden Gehalt und fließt auch nicht in den Entstehungsprozess des Musters ein oder stellt den Entstehungsprozess dar. Beides wäre nötig, um die Formel als selbstreferentiell bezeichnen zu können.
Um zur ursprünglichen Formel im Koordinatensystem zu gelangen, wurde der Wert für $k$ von Tupper mit
    960 939 379 918 958 884 971 672 962 127 852 754 715 004 339 660 129 306 651 505 519 271 702 802 395 266 424 689 642 842 174 350 718 121 267 153 782 770 623 355 993 237 280 874 144 307 891 325 963 941 337 723 487 857 735 749 823 926 629 715 517 173 716 995 165 232 890 538 221 612 403 238 855 866 184 013 235 585 136 048 828 693 337 902 491 454 229 288 667 081 096 184 496 091 705 183 454 067 827 731 551 705 405 381 627 380 967 602 565 625 016 981 482 083 418 783 163 849 115 590 225 610 003 652 351 370 343 874 461 848 378 737 238 198 224 849 863 465 033 159 410 054 974 700 593 138 339 226 497 249 461 751 545 728 366 702 369 745 461 014 655 997 933 798 537 483 143 786 841 806 593 422 227 898 388 722 980 000 748 404 719
angegeben. Dieser erzeugt bei üblicher Achsenausrichtung ($y$-Achse nach oben und $x$-Achse nach rechts) jedoch ein punktgespiegeltes Abbild von sich selbst. Die nicht gespiegelte Variante findet man bei
    004 858 450 636 189 713 423 582 095 962 494 202 044 581 400 587 983 244 549 483 093 085 061 934 704 708 809 928 450 644 769 865 524 364 849 997 247 024 915 119 110 411 605 739 177 407 856 919 754 326 571 855 442 057 210 445 735 883 681 829 823 754 139 634 338 225 199 452 191 651 284 348 332 905 131 193 199 953 502 413 758 765 239 264 874 613 394 906 870 130 562 295 813 219 481 113 685 339 535 565 290 850 023 875 092 856 892 694 555 974 281 546 386 510 730 049 106 723 058 933 586 052 544 096 664 351 265 349 363 643 957 125 565 695 936 815 184 334 857 605 266 940 161 251 266 951 421 550 539 554 519 153 785 457 525 756 590 740 540 157 929 001 765 967 965 480 064 427 829 131 488 548 259 914 721 248 506 352 686 630 476 300
für $k$. Ein stilisiertes Logo von Wikipedia findet sich beispielsweise bei
    255 953 791 972 924 990 661 370 909 067 266 714 667 432 752 223 029 927 796 475 868 890 692 855 670 245 876 073 408
für $k$.