我們先考慮最理想的情況:
就是一直按照2的次方累加:
所以理論上說這個遊戲的最大解是:131072
但是目前為止,我見過最**的是這樣的:
理論上的解不可能到達的原因在於:下個數字出現的位置是隨機的。
所以隨著空白格仔越來越少,某個格仔出現數字的概率就越來越大。雖然遊戲沒有標準的最優解,但是卻有標準的錯誤解,如果某一部操作失誤,也許就直接game over了。但是在遊戲初期,容錯率是很高的,比如你隨隨便便拍一拍鍵盤,最起碼也會出現乙個128,因為隨機出現的數字只有2和4,只要2與4共行或者共列就可以相互消除。
但是隨著遊戲進行,空白格仔越來越少,需要固定位置的最大幾個數字越來越多,這種容錯能力就越來越低。比如想要把現有的4,8,16,32,64幾個數字全部累積起來,其操作過程並不是唯一的,因為我們可以隨時借用其他數字來代替目標數字。比如借用新出現的2、4,或者借用新出現的2、4組成的8,或者是出了原本想要消除數字之外的其他數字。
可以如果想要把現有的2048,1024,512,256,128串起來,那麼操作過程可以說是幾乎唯一了。因為除了現有的數字我們不能再指望新出現的數字了。
這樣導致的直接問題,也是我想說的核心問題,就是側邊可以添入的最大值:
因為在遊戲後期,很多數字的位置都是不能移動的,只能藉由空白空間湊數字,所以就會出現這樣一種情況:
後文的圖都是用高大上的阿逗逼photo shop精心繪製的》_<
本來終於湊夠了乙個256可以向下填充,然後直接抵達4096,但是由於上一步的操作的限制,讓256出現在了512的上方,並且很混蛋的新出現的2又填充在了乙個很缺德的位置。所以下一步只能向上或者向下整體移動。(這才是遊戲進行過程中直接導致死亡的根本問題!!)
不過我們暫時不去考慮解決方法(後面再講),我們先假設情況沒有那麼糟糕,在上面兩行依然有數字可以讓我們進行左右操作。那麼現在的問題就是如何繼續進行。
一種可行的方法是填滿2048,1024,512上面的所有格仔,如下圖:
然後上移紅色部分讓兩個256相鄰再疊加。但是這種做法在某些情況是很危險的!
這種解決辦法僅適用操作後可以進行最終合併的情況,因為如果按照上圖操作之後,我們就可以直接得到4096了,但是如果不能進行最終合併,就會造成一種死棋般的地步,如下圖:
比如這種情況下,即使我們獲得了512,那麼這個512也是胎位不正的,而1024右邊的位置很有可能就出現乙個2或者4.
另一方面,我們看到上面三行的數字將完全錯開,形成乙個很相互累積的情況,這個圖只是我自己繪製的,真實情況往往是上面還充斥著很多16-64之間的數字,很難彼此融合。這樣基本就是宣判死刑了。
所以在前面那種情況下,我們的解決方法最好是將新出現綠色的2逐漸變大。
而這個2右出現在最右邊,此時我們有兩種方法讓他變大,一種是左策略,一種是右策略。如下圖:
但是不管是哪種策略,都有致命的缺點。先來看看右策略經常遇到的問題,如下圖:
好不容易快到頭了結果又是側面跑出來乙個2,這是右策略的致命傷。
再看看左策略的致命傷:
當我們好不容易快要成功時,無奈補足了最右的2可是旁邊的4也被迫補足。
所以一般來說,這種在最左或者最右向下插值不斷變大的情況往往受制於運氣,根據個人經驗,最好的可能性也只是讓綠色的2變為64,一般平均來看如果需要將綠色的位置補到32就是平均水平了。補到128就需要很大的運氣成分了。
這也就是說,僅用兩行空白構造的最大數字基本來說也就是侷限在32以下了,否則就需要大量重複遊戲期望碰到某次運氣爆棚。
這也是我目前嘗試過最好的情況了,再大一點要麼就需要極高的人品,要麼就需要大量的重複嘗試,遊戲本身就成了***,靠拼運氣,遊戲本身的意義也就不大了。
這種混蛋問題出現的根本原因,就在於當我們選擇了這種保持下面不動,上面持續增加的策略時,無法保證最上面一行最大的數字保留在該行的角落裡。
所以這個遊戲,到了8192基本就是正常人的極限中的極限了。
另一種經常遇到的問題就是:
有時會出現下面兩行或者三行完全被填死,下一步只能上下移動的局面,這種情況下百分之50就是判死刑了,除非向上整體移動後,新出現的數字出現在原有陣列較小的兩個數字下方才可以勉強突圍。
我們是誰:
mathemagician,中文「數學魔術師」,原指用數學設計魔術的魔術師和數學家。既取其用數學來變魔術的本義,也取像魔術一樣玩數學的意思。文章內容涵蓋網際網路,計算機,統計,演算法,nlp等前沿的數學及應用領域;也包括魔術思想,流程鑑
si stebbins stack中的數學與魔術(四)——如何快速得到乙個si stebbins stack
如果道具不能檢查,那就毀了它!(二)——一般道具篇
利息**(七)——萬物皆投資
約瑟夫問題與魔術(十)——魔術《完全控制》
每乙個魔術,都應該是一場直播的微電影!
理論上兩台主機可以建立多少tcp連線
如何標識乙個tcp連線 在確定最大連線數之前,先來看看系統如何標識乙個tcp連線。系統用乙個4四元組來唯一標識乙個tcp連線 client最大tcp連線數 client每次發起tcp連線請求時,除非繫結埠,通常會讓系統選取乙個空閒的本地埠 local port 該埠是獨佔的,不能和其他tcp連線共享...
理論上最漂亮的企業門戶
企業門戶能漂亮到什麼程度已經是個核心競爭力了,門戶產品功能再強大,介面不美也是個失敗的門戶產品。原因很簡單,假設乙個企業裡面有5萬名員工,每個員工每天要看門戶頁面十次,每看一次就潛意識的不舒服一次,那麼一天就總共不舒服50萬次,一年下來全公司所有員工總共不舒服一億次,多麼驚人的危害。但問題是每個企業...
從理論上初步了解敏捷開發
為什麼需要敏捷開發 在傳統的瀑布式開發中,需要等上一階段的任務完全完成後才能開始進行下乙個階段。好比你點了10道菜,廚師要等到10道菜都做好了才給你一起上,那作為消費者肯定是不樂意的。而在軟體開發中,要等到產品完全完成後才上線勢必會延誤市場時機。因此,軟體開發的模型不再使用瀑布模型了,更多的企業傾向...