《我的世界》搞數學研究,估算歐拉數誤差僅0.00766%!

在《我的世界》裡估算歐拉數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,那麼這些數字就是互質的。

作者表示:

好嘛,有哪位朋友挑戰一下下~