今天在油管上看到了一個(gè)在MC中用1000只雞計(jì)算π的近似值的視頻。
一開(kāi)始我以為會(huì)涉及到某些MC的復(fù)雜機(jī)制,再加上視頻也不算長(zhǎng),好奇之下就點(diǎn)開(kāi)看了看。
up主的想法是這樣的:游戲中的雞會(huì)隨機(jī)走來(lái)走去,而雞過(guò)一段時(shí)間就會(huì)下蛋。這樣一來(lái),一段時(shí)間后不同區(qū)域內(nèi)的雞蛋的數(shù)量的比值就近似面積的比值。
如果在一個(gè)正方形區(qū)域內(nèi)放入很多雞,分別在正方形內(nèi)切圓(和正方形的各個(gè)邊都想切的圓)區(qū)域內(nèi)和區(qū)域外收集這些雞在一定時(shí)間內(nèi)下的蛋,內(nèi)切圓區(qū)域的雞蛋數(shù)量與整個(gè)方形區(qū)域的雞蛋數(shù)量的比值近似于π:4。
于是他用1000只雞在場(chǎng)地里進(jìn)行了試驗(yàn)。在一段時(shí)間后,他數(shù)了一下不同區(qū)域的雞蛋的總數(shù),得到的π的近似值是3.31。不怎么精確,但差的也不算太多。
有幾秒鐘的時(shí)間里我覺(jué)得up主的做法是個(gè)好主意。之后我的頭腦中有了一個(gè)“嗯?等等…”的聲音——那種隱隱覺(jué)得哪里不對(duì)又暫時(shí)沒(méi)發(fā)現(xiàn)的聲音。
我又仔細(xì)想了想,發(fā)現(xiàn)用這些雞多此一舉,至少在游戲中是這樣,因?yàn)橛螒虻幕緲?gòu)成是方塊。
既然基本構(gòu)成是方塊,實(shí)驗(yàn)場(chǎng)地建好以后直接數(shù)一下內(nèi)接圓的方塊數(shù)量就可以了,用雞做什么呢?
另外這個(gè)up主得出的近似值誤差這么大,主要原因應(yīng)該也是他得到的近似值本來(lái)就是他的實(shí)驗(yàn)場(chǎng)地里的構(gòu)成內(nèi)切圓的方塊數(shù)量和方形區(qū)域整體方塊數(shù)量的比值。
之所以是“應(yīng)該”,是因?yàn)槲也⒉恢浪膱?chǎng)地的具體形狀,沒(méi)法判斷這個(gè)3.31是不是更接近于他的場(chǎng)地里圓和方形的方塊數(shù)之比。
另外他也提到雞有時(shí)候會(huì)聚在一起。自從1.9版本開(kāi)始,生物聚在一起會(huì)互相推搡,聚在一起的雞很可能在持續(xù)干擾彼此的行動(dòng)。另外允許雞走來(lái)走去有必要嗎?直接擠在一起更合適才對(duì)。雖說(shuō)游戲中在這么大的場(chǎng)地里的“擠在一起”本身也不太容易得到足夠均勻的擁擠。
另外游戲中有π嗎?或者說(shuō)游戲里的π是什么?
在游戲里什么是圓也是個(gè)問(wèn)題。這其實(shí)顯而易見(jiàn),因?yàn)檫@是方塊的世界。
小的“圓”和大的“圓”并不是同一個(gè)形狀。一個(gè)需要在4x4區(qū)域作出的“圓”就是一個(gè)方形,而一個(gè)在16x16區(qū)域作出的“圓”明顯圓很多。
或許可以考慮在越大的范圍內(nèi)作出的“圓”就越接近于圓,而圓是否存在于游戲中取決于世界是否是無(wú)限的。如果世界無(wú)限,圓就不能在游戲中作出,反之則能。
如果圓存在于世界中而世界是無(wú)限的,則會(huì)有矛盾:圓存在因此就有對(duì)應(yīng)的能作出的圓,這個(gè)圓的大小是確定的。然而世界無(wú)限,就可以做出一個(gè)更大的“圓”,而這個(gè)更大的圓會(huì)更接近于圓,因此矛盾。
MC的世界是無(wú)限的嗎?早期版本里這個(gè)答案是否定的。早期的世界有過(guò)各種形式的邊界。后來(lái)的這些沒(méi)有邊界的版本真的是無(wú)限的嗎?
或者還有一個(gè)簡(jiǎn)單的想法就是直接認(rèn)為方就是圓??上挠螒蛑械乃俣葋?lái)看,對(duì)角線是比邊長(zhǎng)長(zhǎng)的。一個(gè)例子就是長(zhǎng)距離奔跑時(shí)側(cè)著跑會(huì)更快到達(dá)。既然這樣,方塊就不是圓了。
也許游戲中的π不體現(xiàn)在形狀中,而是在別處?比如動(dòng)物的移動(dòng)或者一些其他的游戲機(jī)制之中?