塔珀自指公式可能是世界上最神奇的不等式之一, 是由杰夫·塔珀(Jeff Tupper)在撰写他所开发的GrafEq程序论文时候所发现的. 该自指公式最大的特点就是公式的二维点图与公式本身外观是一样.
神奇不等式现身塔珀自指公式是一个不等式, 如下表示:
这看起来还很复杂,但我们能够弄清楚这些符号是究竟含义。符号 ⌊ x ⌋ 代表向下取整,比如 ⌊ 3.2 ⌋=3。而 mod(a,b) 表示 a 除以 b 得到的余数, 如 mod(11,5)=1。现在取一个常数 k 等于:
k=960 939 379 918 958 884 971 672 962 127 852 754 715 004 339 660129 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
然后在 0≤x≤106 和 k≤y≤k 16 这个范围内会将满足此不等式的点用蓝色绘制出来,不满足的话就保持空白,这样许多组 x 和 y 的取值绘图后的结果将如下图所示:
非常有意思吧?出现了表示它本身的一个点图图像——当然只是取了 y 轴正半轴很小很小一块区域。我们还可以在 y 轴上下移动,就会看到塔珀自指公式能画出几乎所有的图形。比如数学最基础的算式 1 1=2,就是在 k 为下值时候出现在 y 轴 k≤y≤k 16 出现的:
k=3596885241211235301799390604472124986246273036006916367300002769785413807978373500903964431807567135453401389370106292445945414450427681485131578549859312107233051224237061204430549471393409704644479678722842672876077539316285189726329179204736156245558639290003081129459134708707909326566832572887653212571275122711026434902293574106566352702601247428272242391252992
再来是另一个著名的公式,大家都知道的勾股定理:
它相应的 k 值为:
k=21150481658288963618284789365260387207572068455939754769238269980719858577869764558538553037691853531611005573293045407364073594414585556069911379429086374416522529975321491465164162563830791749404961887405705244943502300113572549509642731968049297364068432424492233465146673114209282104160749172071650104053132354362230451980161058590320783702627544425852219970346015559869074978219836871540736
并且你要知道,不仅仅局限与数字或公式就是文字也是能在塔珀公式图形中找到相应的位图。如当 k 等于下面图形中数值的时候就会出现这样的文字。(注:我这里将这句话拆分成了 2 个片段,所以会在两个 k 值下得到两个图像)
由图片来找到相应的 k 值
反过来讲,如果手上已经有了一张 106×17 的小图片,能找到相应 k 值吗?如何找到呢?其实并不复杂,按照下面几个步骤就可以了:
自己动手来把玩
- 从小图片最左下角像素开始,如果空白记为 0,如果有着色记为 1。然后往上移动一行,按此规则进行算出相应的 0 或 1 。
- 第一列处理完后,往右移动再从第二列最底部往上开始照此计算。然后第三列、第四列、第五列,直到处理完整个 106×17 范围内的像素。
- 现在再按照整个顺序将这串 1802 位很长的 01 字符,从二进制转成十进制,并且乘上 17,得到就是 k 的值了。
下面这个网站(keelyhill.github.io/tuppers-formula)塔珀公式绘图的一个JS交互式实现。浏览器即可运行,可以点选像素绘制像素图生成参数值,也可以输入十进制或二进制参数值生成像素图。比如上面的勾股定理图像:
这么好玩的公式,你不想动手试下吗?
( - End - )
,