在《我的世界》裏估算歐拉數 e,誤差僅約 0.00766%!
兩位數學博士 " 跨界 " 整了個大大大活兒——
用《我的世界》搞數學研究,通過遊戲機制成功估算各種數學常數的值。
√ 2、π、歐拉數 e、阿佩裏常數 ζ ( 3 ) ,難度逐級遞增,但都是他們的實驗對象。
對于阿佩裏常數 ζ ( 3 ) ,用這兩位作者的話說,一般人可能見都沒見過,但也能用《我的世界》近似算出值來,而且誤差僅約爲 0.4%。
實驗結合遊戲機制用到了各種方法,比如近似 π 值時,使用了蒙特卡洛積分法,借助遊戲中的僵屍疣豬獸殺死史萊姆來完成。
兩位作者分别是來自自霍林斯大學、美國羅諾克大學的助理教授。
論文中,他們不僅介紹了每個常數的數學曆史背景,詳細說明了如何在《我的世界》中設計實驗來近似計算這些值,甚至還提出了具體的改進建議,爲大夥兒留下了 " 課後作業 " 來挑戰。
作者強調這些實驗的目的不是爲了獲得最精确的近似值,而是爲了激發大家從這項研究中找到靈感,用有趣的方式探讨複雜的數學問題。
希望本文能夠展示一小部分數學與《我的世界》結合的可能性,并激勵人們以有趣和引人入勝的方式探索複雜的數學主題。雖然我們選擇使用《我的世界》來近似無理數,但我們相信還有許多其它環境适合進行此類實驗。
所以,究竟是如何做到的?
在估算數學常數前,先來淺淺了解一下《我的世界》中将被用作 " 實驗道具 " 的材料。
漏鬥(Hopper):
如果一個玩家 / 動物 / 怪物站在漏鬥上方被殺死,那麽漏鬥會收集該生物掉落的物品。因此,漏鬥可以用來記錄生物被殺死的位置。
除收集物品外,漏鬥還具有另一個特性,它們可以以每秒 2.5 個物品的恒定速率釋放物品。漏鬥釋放物品的能力可以開啓或關閉。
由于漏鬥以恒定速率釋放物品,它們可以用作計時器。例如,如果一個漏鬥釋放了 25 個物品,那麽我們知道漏鬥釋放物品的時間在 10 秒到 10.4 秒之間。
當然《我的世界》中有制作更精确計時器的方法,但對于該實驗來說,漏鬥計時器夠用。
投擲器(dropper):
投擲器是一個可以投擲物品的方塊,可同時容納 9 種不同物品。
當被激活時,投擲器會随機選擇其中的一個物品進行投擲。因此,投擲器可以用作随機化工具。例如,如果投擲器中有 5 種不同的物品,那麽特定物品被投擲出去的概率是 1/5。
偵測器(observer):
偵測器是一個方塊更新檢測器,可以檢測到它面對的方塊狀态是否發生變化。
一個方塊可能發生的變化包括作物生長、冰融化、火勢蔓延……這些變化是随機發生的,因此可以通過偵測器檢測這些變化來創建一個随機化工具。
接下來就可以玩 " 數學遊戲 " 啦~
PS:題目難度由簡入難
√ 2
早在 2000 多年前,畢達哥拉斯學派用反證法證明了√ 2 不能寫作兩整數之比,√ 2 也成爲了人們發現的第一個無理數。
現在,√ 2 也是該研究第一個要用《我的世界》估算的數學常數。
方法利用了45 ° -45 ° -90 ° 直角三角形的邊長比是 1 : 1 : √ 2。
這樣的三角形在《我的世界》中很容易制作,因爲《我的世界》中,放置任何方塊都必須放在網格上。
要近似計算√ 2 的值,可以簡單地分别測量玩家以恒定速度沿着一條直角邊和斜邊行走所需的時間,斜邊長度是直角邊的√ 2 倍,行走時間比率也應該近似爲√ 2。
如前所述,漏鬥以恒定速率釋放物品,可以計算玩家行走期間所釋放的物品數量,以此來計時。
實驗中,沿着斜邊行走完,漏鬥釋放了 57 個物品,沿着一條直角邊行走完,漏鬥釋放了 41 個物品。
所以得出:
√ 2 保留到小數點後四位是√ 2=1.4142,所以近似值誤差爲 1.70%。
作者還表示這種方法還可以改進:
一個很明顯的改進方法是構建一個更大的三角形,近似值将更準确。或者可以讓行走速度變慢,玩家可以在出發前喝下緩慢藥水。
以此類推可以估算√ 5 的值,但√ 7 不行,7 不能表示爲兩個完全平方數的和。
這引出了一個問題:哪些數字可以表示爲兩個平方數的和?
作者認爲對于幾何學老師來說,可以使用這樣的實驗向幾何學生介紹基本的數論。
下一個要估算的數學常數是——
1768 年約翰 · 海因裏希 · 朗伯(Johann Heinrich Lambert)證明 π 是無理數。1882 年費迪南德 · 馮 · 林德曼(Carl Louis Ferdinand von Lindemann)首次證明 π 是超越數。
希臘數學家阿基米德通過在圓内外構建正多邊形,爲 π 的值找到了上下界。當使用 96 邊形時,阿基米德發現 3.1408< π <3.1429。
計算機的發展帶來了計算 π 值的不同方法。蒙特卡洛方法就是其中一類,通過評估多次随機試驗的結果來近似值。
蒙特卡洛方法中的一種,蒙特卡洛積分,通過繪制一個内切于正方形的單位圓,然後在正方形内均勻随機地散布點。
由于圓的面積是 π,正方形的面積是 4,圓内點的數量與總點數的比将大緻等于 π/4。
《我的世界》中同樣可以重現蒙特卡洛積分法,近似計算 π 值。
《我的世界》中的每個方塊都放置在網格上,所以無法制作一個完美的圓形。然而,網上有許多工具可以在《我的世界》中近似劃定一個圓的邊界。
作者使用了一個《我的世界》圓形生成器,做了一個半徑爲 11 的近似圓形:
接下來的問題是找一種在《我的世界》中生成随機點的方法。
爲此,作者利用了一種叫做" 史萊姆 "的生物的行爲。使用史萊姆是因爲與其他生物不同,當附近沒有玩家時史萊姆會繼續移動,并且它們會随機改變方向。
而大多數其他生物有向東南方向行走的傾向,所以它們會聚集在正方形的東南角。
接着作者們讓另一種生物——僵屍疣豬獸(zoglin),殺死史萊姆,使用漏鬥跟蹤史萊姆是否在圓内被殺死。
在實驗中,共有 619 個史萊姆被殺死,其中 508 個是在圓内被殺死的。
所以得到了近似值:
近似誤差爲 4.49%。
因爲蒙特卡洛方法通常收斂較慢,所以作者表示對這個相對較大的誤差并不驚訝。
如果童鞋們自己想嘗試的話,改進方法:增大圓的大小和增加被殺死的史萊姆數量。
在這種蒙特卡洛方法中,圓的大小通常不會影響近似值的準确性,但由于在《我的世界》中無法制作完美的圓形,增大圓的大小将提高近似值的準确性。
同樣,用來近似計算 π 值的方法,也可以用來近似計算其它定積分的值。
例如,假設你想使用《我的世界》進行蒙特卡洛積分以近似計算積分:
通過作者創建的 Desmos 頁面的幫助,可以繪制出 y=f ( x ) 曲線與 x 軸之間的區域。
回想一下,定積分∫ₐᵇ f ( x ) dx 的值是由曲線 y=f ( x ) 與 x 軸在 x=a 到 x=b 之間圍成的區域的淨面積。
因此,在《我的世界》中近似計算定積分的一個方法是,首先找出在 x 軸上方區域和 x 軸下方區域死亡的史萊姆數量之間的差異。
将這個差異乘以總面積再除以死亡的史萊姆總數,就可以得到定積分值的近似值。在《我的世界》中,可以用下面這個函數近似曲線 y=f ( x ) :
這裏⌊ x ⌉将 x 四舍五入到最近的整數。
作者們表示這可能是一個有趣的實驗,适用于正在學習積分微積分的學生。
歐拉數 e
接下來繼續上難度——歐拉數 e,歐拉數 e 的值保留到小數點後五位是e=2.71828。
大家可能記得 e 是自然對數的底數,也是複合利息公式的一部分。它被定義爲以下極限:
雖然以 e 爲底的對數計算早在 1618 年就已經開始,但那時并沒有使用 e 這個符号。
所謂的 e" 發現 " 最早是由雅各布 · 伯努利(Jacob Bernoulli)在1638 年研究連續複利時偶然發得出的,他嘗試計算上述極限,利用二項式定理證明了 e 的值在 2 和 3 之間,但當時 e 還沒有一個具體的名字或更精确的近似值。
歐拉(Euler)最終将對數與 e 這個數聯系起來,他計算了上述極限,并用符号 e 表示其值,1737 年證明了 e 是無理數。到了 1873 年,查爾斯 · 埃爾米特(Charles Hermite)進一步證明了 e 是超越數。
話說回來,在《我的世界》中近似 e 的值,要了解歐拉 1748 年提出的 e 的表達式:
現在考慮函數f ( x ) =e ᕽ,這個函數可以用它的麥克勞林級數表示爲:
注意,當 x= − 1 時,得到到 1/e 的交錯級數展開式:
我們将看到,這個表達式的第 n 個部分和是一個特定計數問題的解。
現在描述這個問題,令:
定義: [ n ] 的排列是 [ n ] 中元素的一個确定順序的排列。
[ n ] 的排列可以看作數字 1 到 n 的線性排序。例如, [ 3 ] 的排列包括 123、132、213、231、312 和 321。 [ n ] 的排列總數是:
這個乘積傳統上用 n! 表示。
定義:一個錯位排列是沒有固定點的 [ n ] 的排列。
換句話說,如果 ω 是 [ n ] 的一個排列,那麽那麽當且僅當
ω 是一個錯位排列。
例如,考慮 [ 6 ] 的以下排列:ω =324165。這不是一個錯位排列,因爲數字 2 在第二個位置,即 ω ₂ =2。
然而,排列 ν =431562 是一個錯位排列,因爲:
我們用 D ( n ) 表示 [ n ] 的錯位排列數,可以證明:
比較等式(2)和(3),可以看到
給出了等式(2)的第 n 個部分和。
因此,可以看到 1/e 近似等于随機排列是錯位排列的概率。特别地:
了解了這些過後,在《我的世界》中如何近似計算?
兩位作者制造了一台機器,這台機器能:
生成一個排列;
檢查該排列是否爲錯排。
一旦機器被制造出來,就讓它運行多次,生成足夠大的樣本。
如前所述,投擲器可以用作随機器。由于投擲器最多可以容納 9 種不同的物品,所以可以利用其随機彈出機制來創建 [ 9 ] 的排列。
投擲器中的每個格子對應 [ 9 ] 中的一個數字。彈出的物品的順序可以被視爲一個排列。而且在《我的世界》中是有方法可以自動檢查投擲器彈出了哪個物品。
具體如何操作這裏就不多贅述了。
因此,可以制造一台機器來檢查所生成的排列是否爲錯排。這是通過檢查與某個數字對應的格子是否在那個位置被彈出來實現的。
如果 9 個格子中的每一個都被彈出到了與它們編号不對應的位置,那麽這個排列就是一個錯排。
作者在實驗生成的排列中,錯排比例大約是 1/e。也就是說:
共生成了 647 個排列,其中 238 個是錯排。所以 e 的近似值:
近似誤差大約是 0.00766%,準确度非常高了。
作者表示如果讓機器無限運行,1/e 的近似誤差将小于:
兩位作者同樣再次鼓勵大家自己嘗試一下,或許還能搞個新定義:
如果一個排列 ω 的條目交替上升和下降,那麽稱這個排列爲交錯排列,即 ω 1< ω 2> ω 3< … . 例如,排列 1423 是交錯的,但排列 1342 不是,因爲 ω 2 ≯ ω 3。如果讓 An 表示 [ n ] 的交錯排列數,那麽安德烈定理(Andr é ’ s Theorem)表明:
這意味着你可以使用《我的世界》來近似計算sec ( 1 ) +tan ( 1 ) 的值。
布置完 " 課後作業 ",兩位助理教授還特意留下這麽一句話:
如果你完成了這個實驗,請聯系作者并告訴我們你的結果。
還沒完,還有一個數學常數,而且可能是你以前未曾見過的。
用作者的話說,即使你遇到過它,可能也不知道它有一個名字——
阿佩裏常數 ζ ( 3 )
ζ ( 3 ) ,被定義爲正立方數倒數的和,即:
之所以被記爲ζ ( 3 ) ,是因爲它是在 s=3 時黎曼 ζ 函數(Riemann zeta function)的值。
一般來說,黎曼 ζ 函數定義爲:
歐拉證明了黎曼 ζ 函數的以下乘積公式:
阿佩裏常數的值保留到小數點後五位是 ζ ( 3 ) = 1.20205。
1979 年,羅傑 · 阿佩裏(Roger Ap é ry)證明了 ζ ( 3 ) 是無理數。這個數字是否是超越數目前仍然是一個未解決的問題。
阿佩裏常數有各種級數和積分的表示形式。其中一些表示形式非常複雜。
然而,作者表示阿佩裏常數的值可以通過概率方法确定,阿佩裏常數的倒數是随機選取的任意三個正整數互質的概率。
爲什麽:
要使三個正整數互質,就不能有任何質數同時整除這三個數。例如,6、9、21 不是互質的,因爲它們都可以被 3 整除。對于一個質數 p,p 整除一個随機整數的概率是 1/p。因此,p 同時整除這三個數字的概率是 1/p ³。
這意味着至少有一個數字不被 p 整除的概率是:
讓 P ₃表示三個随機選定的正整數互質的概率,由此得出:
比較等式(4)和(5),可以看出:
OK,那在《我的世界》中如何近似計算阿佩裏常數。
作者們反複生成了三個随機數的集合,稱爲三元組,并手動檢查這些數字是否互質。互質的三元組的比例将大約等于 ζ ( 3 ) 的倒數。
如前文所述,《我的世界》中偵測器能夠檢測到它面對的方塊狀态的變化。
而《我的世界》中許多方塊會在随機間隔改變狀态。通常,每 0.05 秒,遊戲随機選擇一個 16 × 16 × 16 的立方體中的 3 個方塊來改變狀态。如果選定的方塊有改變狀态的能力,它們将以一定的預定概率改變狀态。
爲了生成一個随機數三元組,作者安排了三個偵測器,每個偵測器面對自己的竹子植物,還使用了一個漏鬥計時器來記錄每個竹子植物改變狀态所需的時間。
belike:
需要注意的是,生成的随機數并不遵循均勻分布,而是遵循負二項分布。
在實驗中,作者收集了 70 個随機數三元組,發現 58 個三元組是互質的。
于是得到 ζ ( 3 ) 的近似值:
近似誤差約爲 0.4%。
作者補充道,這種方法生成的數字範圍在最小 3 和最大 838 之間,在獲取廣泛多樣的數字方面比預期做得更好。
最後來看 " 課後作業 "。
回想一下,三個随機選取的正整數互質的概率是 ζ ( 3 ) ⁻ ¹。
一般來說,Pm,即随機均勻選擇的 m 個正整數互質的概率,是 ζ ( m ) ⁻ ¹。
這意味着你可以使用上述方法來近似各種 m 值的 ζ ( m ) 。特别是,你可以近似 π 的任何偶數次幂的值,因爲 ζ ( 2k ) 總是 π 的 2k 次方的有理倍數。
例如,由于 ζ ( 2 ) = π² /6,因此:
這意味着可以通過生成一對數字并檢查它們是否互質來近似 π² 的值。
對于那些尋求挑戰的人,還可嘗試通過在《我的世界》中制造一個機器來自動化檢查過程,該機器可以找到兩個正整數的最大公約數。如果最大公約數是 1,那麽這些數字就是互質的。
作者表示:
制造這台機器可能會很困難,但并非不可能在《我的世界》中完成。
好嘛,有哪位朋友挑戰一下下~
論文鏈接:https://arxiv.org/abs/2411.18464