遊戲 2048 的理論最高分是多少?
如果到2048不繼續,那麼最高分是多少?如果繼續又是多少?
我來寫個帶推導過程的答案吧。2048的玩法就不贅述了,先來看看相關的規則,因為是Gabriele Cirulli讓這個遊戲火起來的,以他的源代碼為準(Gabriele Cirulli的版本的地址:2048)。
記分規則:在2048/game_manager.js at master · gabrielecirulli/2048 · GitHub中的167行:self.score += merged.value;
分數就是累加遊戲過程中新合成方塊的數值。
新方塊出現的規則:在2048/game_manager.js at master · gabrielecirulli/2048 · GitHub的71行:var value = Math.random() &< 0.9 ? 2 : 4;
新方塊的取值集為{2, 4},其中4出現的概率是0.1。
題主的第一問:如果到2048不繼續,那麼最高分是多少?
2048肯定是由兩個1024合成的,所以在合成2048的這一步,記分是2048,同樣1024也是由合成得到的,所以在得到兩個1024的這兩步,積分是1024*2=2048,以此類推,在&>4的情況下,每一步分解的逆過程都會積2048分。注意到題主問的是理論最高分,我們當然希望儘可能多的合成新方塊,所以不希望4是直接生成的,應該都是由2合成的。假設題主運氣足夠好,玩的過程中出現的新方塊都是2,那麼基於以上推導,從2一路合成到2048,理論上的最高分為:對於任意從2開始合成的這個公式可以推廣為:題主的第二問:如果繼續,那麼最高分是多少?
要回答這個問題首先要來看2048理論上能達到最終布局是怎麼樣的,假設能達到的最大的數值為,那麼在最後一步合成時一定是佔兩格的兩個,那麼對這兩個做最小的展開,也就是保持一個不變,另一個展開為兩個……如下所示:所以依次類推如果要合成,則需要一直展開一個相鄰的方塊序列直到遊戲能產生的方塊值,其中序列長度由要展開的級數的初始值決定,比如要展開到,則需要的序列長度是,因為遊戲一共16個格子,所以,則。考慮到需要最大值,所以認為在這樣一個序列中,遊戲產生的方塊是兩個4,那麼,則,所以遊戲能達到的方塊最大值是。同樣道理,當一個131072已經產生之後,還剩下15個格子,那麼這種情況下能產生的最大值為65536,依此類推,14個格子能合成的最大值是32768,……所以理論上最大值的情況一定是前15個格子的值依次為,也就是,而最後一個格子是2或者4。前面好多答主也貼過最後的局面,我這裡也貼一例(圖用我自己寫的蛋疼99行代碼Python版2048畫的):這個答案前面有幾位答主也提到過,然而,這個答案是不對的,原因就是上面我關於合成數值的最小格子數佔用的分析,當65536合成之後,從2開始合成一個數值需要的最少格子數超過了可用格子數了。比如我們考慮要合成兩個65536的情況,也就是第一次合成出131072的情況,如下圖:
這是合成出131072必經的一步,注意最左上角的4,這個4顯然不可能是由2合成的,而是遊戲直接生成,因為對於131072,從4開始合成最少需要的格子數是16,所以只有在需要合成的值是65536或者以下時,我們才有可能從2開始合成出所有的數值,也就是說對於2048這個遊戲,只有當時才成立。也有其他答主發現了這個問題,所以有答主說,多算了一個4,答案是3932160-4=3932156;另有答主說是3932152,也許考慮的是多算了兩個4的情況;然而這幾個分數都是無法得到的,關鍵就在於要產生多少個值為4的方塊,那麼最後就得從3932160的分數里減去多少個4。
那麼什麼時候需要遊戲必須產生4呢,我們再回到前面關於產生一個數值需要序列長度的推導:前面得出的結論是要展開到,則需要的序列長度是,因為我們希望合成次數盡量最大化,所以要展開到,則需要的格子數目為,所以在出現前,任何數字都不會需要16個以上的格子,所以也就不需要4的出現。而當需要合成131072時,需要17個格子,而整個遊戲只有16個,所以就不能從2開始合成了,於是這是第一次需要4的情況。當131072已經出現後,可用格子的最大數目是15了,這時候合成也需要一次4了。當65536合成之後,可用格子最大數目變為14,這時候32768的合成也需要產生一個值為4的方塊了……於是依次類推,當16合成之後(也用到了新產生的值為4的方塊),為了合成8,最後一次由遊戲產生了4,也就是下圖:
所以從8到131072,一共15個數字在最後合成的過程中需要4的出現,也就是說理論上能達到的最高分數是:這個答案前面一位答主應該也提到過,雖然沒有推導過程。當然了,這個畢竟是理論最高分,實際操作起來,幾乎是無法達到的,通過不斷的悔棋和堅強的毅力達到我前面提過的最終局面也許並不難,但是2和4出現的比率是9:1這點是無法通過悔棋改變。不妨大概估算一下,對於可以算出需要個值為2的方塊,那麼對於最終局面,如果不考慮格子數目對生成4的限制,則一共需要:這麼多值為2的方塊,減去最後15個必須的值為4的方塊,並考慮由於10%的4會生成,並且一個4等價於2個2,所以實際遊戲當中玩到最終局面平均生成的方塊數目為:則值為4的方塊平均數目約為11915,所以少產生的分數為:
也就是說如果玩到了理論上方塊值最大的情況,平均分大約會是考慮到4出現的過程是個服從泊松分布,而在數目這麼大的情況下可以用高斯分布來近似,如果很不嚴格地忽略掉4出現得漲落對總方塊數目的影響,則有所以大部分分數會落在以下範圍:我大概在網上搜了一下,發現玩到最終局面的大都分為兩種情況,一種是和我推導的一致在3884450左右的分數,還有一種是在386????附近,是因為Practice mode積分方法不同?版本不同?還是什麼別的原因,不太清楚了。excel編了一個,通過作弊方式得最高分,分數在右上角
理論最高分一定小於等於2^16。
因為一共只有16個格子。兩個格子只可以造出4,三個格子只能造出8,等等。至於有沒有方法一定能造出2^16,要看每次隨機生成新數的位置。如果我們能夠控制新的數出現在哪裡,那就可以造出2^16,如果是隨機出現的,那就不一定了,也許要看運氣了。=============================已經有人玩出2^16了,而且確實不能再玩下去了。我已經玩到131072,玩了4天
最新更新 。。
玩了差不多2個多星期吧應該是極限了吧在上圖這個情況下,右下角出4就可以玩出131072了。而隨機出的tile不可能出現8,所以131072是最高的tile。如下圖:玩出這個數的人:nmyi"s albums
這麼多吧?
理論上最大的數為 (2^14)*max(newNumber) 其中,max(newNumber)為出現的新一個方格的數字所可能達到的最大值
這個鏈接分析的挺好:Highest possible score for 2048 (Warning: Math) : 2048Max points possible = 3,932,156 Points.
看看Google play排行榜… 排在前頭的,清一色是…
2,147,683,647
這大概是可撤銷版本如果不重複刷4的極限吧?
最高分就是此圖,達到了分數好像也有些差值,不知道什麼原因,出4 2的話應該一樣的感覺。
與各位理論值少了十多萬,不知道哪裡出問題了
樓上玩到盡頭都很牛。一不留神給玩死了,對強迫症患者真是糾結啊。
玩了幾天了,還沒有結束
不能只考慮2的情況,應該考慮全是4的極限情況,才是理論值,我覺得是4^16
現在的最高分已經到281420了,之前那些理論最高分什麼的靠不住啊。。。這裡還有視頻重現:http://go2048.com/?replay=5226
理論最大值是2^17=131072,16個格子,前15個被所有那些「第一個2^n」佔用之後,剩下刷出一個4,這就是最極端的情況此時場上最大的數是2^16=65536,把它們全合起來就得到131072
剛玩的。
推薦閱讀:
※關於紅眼睛藍眼睛自殺問題,陶哲軒教授又問:旅者如何挽回自己說的話?
※鞋店損失了多少錢?
※扔骰子遊戲,將之前投的點數全部相加,恰好能在某一次後等於 2015 的概率是多少?
※火龍果,西瓜,蘋果,桃子,按規律下一個水果是什麼?
※一道頗有難度的邏輯題?