2048游戏最高分2048最高能打多大的数字

2048理论上最高能玩到多少分? - 推酷
2048理论上最高能玩到多少分?
这篇文章也是基于知乎的一个
。因为前天蛋疼写了个99行蛋疼版2048,所以一时兴起在知乎上搜了搜2048,结果发现了这个
。看了看,票数最高的两个答案都是错的,所以自己推导了一下。
2048的玩法就不赘述了,先来看看相关的规则,因为是Gabriele Cirulli让这个游戏火起来的,以他的
为准(Gabriele Cirulli的版本的地址:
记分规则:在
中的167行:
self.score += merged.
分数就是 累加游戏过程中新合成方块的数值 。
新方块出现的规则:在
var value = Math.random() & 0.9 ? 2 : 4;
新方块的取值集为{2, 4},其中4出现的概率是0.1。
熟悉了规则,先来看一个比较普遍的问题:一般情况下,合成一个不太大的数值,能得到的最高分是多少?
不妨以2048为例子,2048肯定是由两个1024合成的,所以如前所述,在合成2048的这一步,积分是2048,同样1024也是由合成得到的,所以在得到两个1024的这两步,积分是8,以此类推,在&4的情况下,每一步分解的逆过程都会积2048分。因为我们探讨的是理论最高分,当然希望尽可能多的合成新方块,所以不希望4是直接生成的,应该都是由2合成。假设运气足够好,玩的过程中出现的新方块都是2,那么基于以上推导,从2一路合成到2048,理论上的最高分为:
\[2048\times \left( {{\log }_{2}}\left( 2048 \right)-{{\log }_{2}}\left( 2 \right) \right)={{2}^{11}}\times \left( 11-1 \right)=\text{20480}\]
对于任意从2开始合成的\({{2}^{N}}\)这个公式可以推广为:
\[{{2}^{N}}\times \left( N-1 \right)\]
有了一般情况的得分计算为基础,来看极限情况: 理论上最高分是多少?
要回答这个问题首先要来看2048理论上能达到最终布局是怎么样的,假设能达到的最大的数值为\({{2}^{N}}\),那么在最后一步合成\({{2}^{N}}\)时一定是占两格的两个\({{2}^{N-1}}\),那么对这两个\({{2}^{N-1}}\)做最小的展开,也就是保持一个不变,另一个展开为两个\({{2}^{N-2}}\)……如下所示:
\[{{2}^{N}}\xleftarrow{\text{merge}}{{2}^{N-1}},{{2}^{N-1}}\xleftarrow{\text{merge}}{{2}^{N-1}},{{2}^{N-2}},{{2}^{N-2}}\xleftarrow{\text{merge}}\cdots \xleftarrow{\text{merge}}{{2}^{N-1}},{{2}^{N-2}},\cdots 16,8,4,4\]
所以依次类推如果要合成\({{2}^{N}}\),则需要一直展开一个相邻的方块序列直到游戏能产生的方块值,其中序列长度由要展开的级数的初始值决定,比如要展开到\({{2}^{N-M}}\),则需要的序列长度是\(M+1\),因为游戏一共16个格子,所以\(M+1=16\),则\(M=15\)。考虑到需要最大值,所以认为在这样一个序列中,游戏产生的方块是两个4,那么\({{2}^{N-M}}={{2}^{N-15}}={{2}^{2}}=4\),则\(N=17\),所以游戏能达到的方块最大值是\({{2}^{17}}=\text{131072}\)。同样道理,当一个131072已经产生之后,还剩下15个格子,那么这种情况下能产生的最大值为65536,依此类推,14个格子能合成的最大值是32768,……所以理论上最大值的情况一定是前15个格子的值依次为\({{2}^{17}},{{2}^{16}},{{2}^{15}},\cdots ,{{2}^{4}},{{2}^{3}}\),也就是\(36,32768,\cdots ,16,8\)。
而最后一个格子是2或者4都无所谓,因为不计分。这种布局的一个例子如下(图用我自己写的
因为最后一个4或者2是游戏产生的,所以不计入积分,所以所有的积分都来源于从8到个数字。回想在第一问里得到的从2开始合成\({{2}^{N}}\)的公式,那么似乎最高分应该是N=3,4,5,...,16,17对应的积分的总和,也就是\[\sum\limits_{K=3}^{17}{{{2}^{K}}\times \left( K-1 \right)}=\text{3932160}\]
然而,答案并非如此,原因就是上面我关于合成数值的最小格子数占用的分析,当65536合成之后,从2开始合成一个数值需要的最少格子数超过了可用格子数了。比如我们考虑要合成两个65536的情况,也就是第一次合成出131072的情况,如下图:
这是合成出131072必经的一步,注意最左上角的4,这个4显然不可能是由2合成的,而是游戏直接生成,因为对于131072,从4开始合成最少需要的格子数是16,所以只有在需要合成的值是65536或者以下时,我们才有可能从2开始合成出所有的数值,也就是说对于2048这个游戏,只有当\(N\le 16\)时\({{2}^{N}}\times \left( N-1 \right)\)才成立。所以当131072出现时和出现后,计算最终分数的关键就在于算出最少必须产生多少个值为4的方块,那么最后就得从3932160的分数里减去多少个4。
那么什么时候需要游戏必须产生4呢,我们再回到前面关于产生一个数值需要序列长度的推导:前面得出的结论是要展开到\({{2}^{N-M}}\),则需要的序列长度是\(M+1\),因为我们希望合成次数尽量最大化,所以要展开到\({{2}^{N-M}}=2={{2}^{1}}\),则需要的格子数目为\(M+1=N\),所以在\({{2}^{17}}=131072\)出现前,任何数字都不会需要16个以上的格子,所以也就不需要4的出现。而当需要合成131072时,需要17个格子,而整个游戏只有16个,所以就不能从2开始合成了,于是这是第一次需要4的情况。当131072已经出现后,可用格子的最大数目是15了,这时候合成\({{2}^{16}}=65536\)也需要一次4了。当65536合成之后,可用格子最大数目变为14,这时候32768的合成也需要产生一个值为4的方块了……于是依次类推,当16合成之后(也用到了新产生的值为4的方块),为了合成8,最后一次由游戏产生了4,也就是下图:
所以从8到131072,一共15个数字在最后合成的过程中需要4的出现,也就是说理论上能达到的最高分数是:\[\text{}\times \text{15=3932100}\]
当然了,这个毕竟是理论最高分,实际操作起来,几乎是无法达到的,通过不断的悔棋和坚强的毅力达到我前面提过的最终局面也许并不难,但是2和4出现的比率是9:1这点是无法通过悔棋改变。不妨大概估算一下,对于\({{2}^{N}}\)可以算出需要\({{2}^{N-1}}\)个值为2的方块,那么对于最终局面,如果不考虑格子数目对生成4的限制,则一共需要:
\[\sum\limits_{K=3}^{17}{{{2}^{K-1}}}={{2}^{17}}-{{2}^{2}}=\text{131068}\]
这么多值为2的方块,减去最后15个必须的值为4的方块,并考虑由于10%的4会生成,并且一个4等价于2个2,所以实际游戏当中玩到最终局面平均生成的方块数目为:
\[\left( \times 2 \right)\div 1.1\approx \text{119125}\]
则值为4的方块平均数目约为11915,所以少产生的分数为:
\[\text{11912}\text{.5}\times 4\approx \text{47650}\]
也就是说如果玩到了理论上方块值最大的情况,平均分大约会是
\[50=\text{3884450}\]
考虑到4出现的过程服从泊松分布,而在数目这么大的情况下可以用高斯分布来近似,如果很不严格地忽略掉4出现得涨落对总方块数目的影响,则有
\[\sigma {{N}_{4}}\approx \sqrt{11915}\approx \text{109}\]
所以大部分分数会落在以下范围:
\[3884450\pm 3\times 109\times 4=3884450\pm 1308\]
我大概在网上搜了一下,发现玩到最终局面的大都分为两种情况,一种是和我预测的一致在3884450左右的分数,还有一种是在386????附近,是因为Practice mode积分方法不同?版本不同?还是什么别的原因,就不太清楚了。
已发表评论数()
请填写推刊名
描述不能大于100个字符!
权限设置: 公开
仅自己可见
正文不准确
标题不准确
排版有问题
主题不准确
没有分页内容
图片无法显示
视频无法显示
与原文不一致2048理论上最高能玩到多少分? - 文章 - 伯乐在线
& 2048理论上最高能玩到多少分?
这篇文章也是基于知乎的一个。因为前天蛋疼写了个,所以一时兴起在知乎上搜了搜2048,结果发现了这个。看了看,票数最高的两个答案都是错的,所以自己推导了一下。2048的玩法就不赘述了,先来看看相关的规则,因为是Gabriele Cirulli让这个游戏火起来的,以他的为准(Gabriele Cirulli的版本的地址:)。
记分规则:在中的167行:
self.score += merged.
self.score += merged.value;
分数就是累加游戏过程中新合成方块的数值。
新方块出现的规则:在的71行:
var value = Math.random() & 0.9 ? 2 : 4;
var value = Math.random() < 0.9 ? 2 : 4;
新方块的取值集为{2, 4},其中4出现的概率是0.1。
熟悉了规则,先来看一个比较普遍的问题:一般情况下,合成一个不太大的数值,能得到的最高分是多少?
不妨以2048为例子,2048肯定是由两个1024合成的,所以如前所述,在合成2048的这一步,积分是2048,同样1024也是由合成得到的,所以在得到两个1024的这两步,积分是8,以此类推,在&4的情况下,每一步分解的逆过程都会积2048分。因为我们探讨的是理论最高分,当然希望尽可能多的合成新方块,所以不希望4是直接生成的,应该都是由2合成。假设运气足够好,玩的过程中出现的新方块都是2,那么基于以上推导,从2一路合成到2048,理论上的最高分为:
\(2048\times \left( {{\log }_{2}}\left( 2048 \right)-{{\log }_{2}}\left( 2 \right) \right)={{2}^{11}}\times \left( 11-1 \right)=\text{20480}\)
对于任意从2开始合成的\({{2}^{N}}\)这个公式可以推广为:
\({{2}^{N}}\times \left( N-1 \right)\)
有了一般情况的得分计算为基础,来看极限情况:理论上最高分是多少?
要回答这个问题首先要来看2048理论上能达到最终布局是怎么样的,假设能达到的最大的数值为\({{2}^{N}}\),那么在最后一步合成\({{2}^{N}}\)时一定是占两格的两个\({{2}^{N-1}}\),那么对这两个\({{2}^{N-1}}\)做最小的展开,也就是保持一个不变,另一个展开为两个\({{2}^{N-2}}\)……如下所示:
\({{2}^{N}}\xleftarrow{\text{merge}}{{2}^{N-1}},{{2}^{N-1}}\xleftarrow{\text{merge}}{{2}^{N-1}},{{2}^{N-2}},{{2}^{N-2}}\xleftarrow{\text{merge}}\cdots \xleftarrow{\text{merge}}{{2}^{N-1}},{{2}^{N-2}},\cdots 16,8,4,4\)
所以依次类推如果要合成\({{2}^{N}}\),则需要一直展开一个相邻的方块序列直到游戏能产生的方块值,其中序列长度由要展开的级数的初始值决定,比如要展开到\({{2}^{N-M}}\),则需要的序列长度是\(M+1\),因为游戏一共16个格子,所以\(M+1=16\),则\(M=15\)。考虑到需要最大值,所以认为在这样一个序列中,游戏产生的方块是两个4,那么\({{2}^{N-M}}={{2}^{N-15}}={{2}^{2}}=4\),则\(N=17\),所以游戏能达到的方块最大值是\({{2}^{17}}=\text{131072}\)。
同样道理,当一个131072已经产生之后,还剩下15个格子,那么这种情况下能产生的最大值为65536,依此类推,14个格子能合成的最大值是32768,……
所以理论上最大值的情况一定是前15个格子的值依次为 \({{2}^{17}},{{2}^{16}},{{2}^{15}},\cdots ,{{2}^{4}},{{2}^{3}}\),也就是\(36,32768,\cdots ,16,8\)。
而最后一个格子是2或者4都无所谓,因为不计分。这种布局的一个例子如下(图用我自己写的画的):
因为最后一个4或者2是游戏产生的,所以不计入积分,所以所有的积分都来源于从8到个数字。回想在第一问里得到的从2开始合成\({{2}^{N}}\)的公式,那么似乎最高分应该是N=3,4,5,&#对应的积分的总和,也就是
\(\sum\limits_{K=3}^{17}{{{2}^{K}}\times \left( K-1 \right)}=\text{3932160}\)
然而,答案并非如此,原因就是上面我关于合成数值的最小格子数占用的分析,当65536合成之后,从2开始合成一个数值需要的最少格子数超过了可用格子数了。比如我们考虑要合成两个65536的情况,也就是第一次合成出131072的情况,如下图:
这是合成出131072必经的一步,注意最左上角的4,这个4显然不可能是由2合成的,而是游戏直接生成,因为对于131072,从4开始合成最少需要的格子数是16,所以只有在需要合成的值是65536或者以下时,我们才有可能从2开始合成出所有的数值,也就是说对于2048这个游戏,只有当\(N\le 16\)时\({{2}^{N}}\times \left( N-1 \right)\)才成立。所以当131072出现时和出现后,计算最终分数的关键就在于算出最少必须产生多少个值为4的方块,那么最后就得从3932160的分数里减去多少个4。
那么什么时候需要游戏必须产生4呢,我们再回到前面关于产生一个数值需要序列长度的推导:前面得出的结论是要展开到\({{2}^{N-M}}\),则需要的序列长度是\(M+1\),因为我们希望合成次数尽量最大化,所以要展开到\({{2}^{N-M}}=2={{2}^{1}}\),则需要的格子数目为\(M+1=N\),所以在\({{2}^{17}}=131072\)出现前,任何数字都不会需要16个以上的格子,所以也就不需要4的出现。而当需要合成131072时,需要17个格子,而整个游戏只有16个,所以就不能从2开始合成了,于是这是第一次需要4的情况。
当131072已经出现后,可用格子的最大数目是15了,这时候合成\({{2}^{16}}=65536\)也需要一次4了。当65536合成之后,可用格子最大数目变为14,这时候32768的合成也需要产生一个值为4的方块了……于是依次类推,当16合成之后(也用到了新产生的值为4的方块),为了合成8,最后一次由游戏产生了4,也就是下图:
所以从8到131072,一共15个数字在最后合成的过程中需要4的出现,也就是说理论上能达到的最高分数是:
\(\text{}\times \text{15=3932100}\)
当然了,这个毕竟是理论最高分,实际操作起来,几乎是无法达到的,通过不断的悔棋和坚强的毅力达到我前面提过的最终局面也许并不难,但是2和4出现的比率是9:1这点是无法通过悔棋改变。不妨大概估算一下,对于 \(\){{2}^{N}}\(\)可以算出需要\({{2}^{N-1}}\)个值为2的方块,那么对于最终局面,如果不考虑格子数目对生成4的限制,则一共需要:
\(\sum\limits_{K=3}^{17}{{{2}^{K-1}}}={{2}^{17}}-{{2}^{2}}=\text{131068}\)
这么多值为2的方块,减去最后15个必须的值为4的方块,并考虑由于10%的4会生成,并且一个4等价于2个2,所以实际游戏当中玩到最终局面平均生成的方块数目为:
\(\left( \times 2 \right)\div 1.1\approx \text{119125}\)
则值为4的方块平均数目约为11915,所以少产生的分数为:
\(\text{11912}\text{.5}\times 4\approx \text{47650}\)
也就是说如果玩到了理论上方块值最大的情况,平均分大约会是
\(50=\text{3884450}\)
考虑到4出现的过程服从泊松分布,而在数目这么大的情况下可以用高斯分布来近似,如果很不严格地忽略掉4出现得涨落对总方块数目的影响,则有
\(\sigma {{N}_{4}}\approx \sqrt{11915}\approx \text{109}\)
所以大部分分数会落在以下范围:
\(3884450\pm 3\times 109\times 4=3884450\pm 1308\)
我大概在网上搜了一下,发现玩到最终局面的大都分为两种情况,一种是和我预测的一致在3884450左右的分数,还有一种是在386????附近,是因为Practice mode积分方法不同?版本不同?还是什么别的原因,就不太清楚了。
可能感兴趣的话题
131072,断断续续玩了几个月玩出来的,现在正在补尾巴,目前进度6+...等爷玩到最后,就知道最高分是多少了
关于伯乐在线博客
在这个信息爆炸的时代,人们已然被大量、快速并且简短的信息所包围。然而,我们相信:过多“快餐”式的阅读只会令人“虚胖”,缺乏实质的内涵。伯乐在线内容团队正试图以我们微薄的力量,把优秀的原创文章和译文分享给读者,为“快餐”添加一些“营养”元素。
新浪微博:
推荐微信号
(加好友请注明来意)
– 好的话题、有启发的回复、值得信赖的圈子
– 分享和发现有价值的内容与观点
– 为IT单身男女服务的征婚传播平台
– 优秀的工具资源导航
– 翻译传播优秀的外文文章
– 国内外的精选文章
– UI,网页,交互和用户体验
– 专注iOS技术分享
– 专注Android技术分享
– JavaScript, HTML5, CSS
– 专注Java技术分享
– 专注Python技术分享
& 2016 伯乐在线[][][][][][][][][][][][]
最新文章热门文章
[][][][][][][][][][][][]
[][][][][][][][][][][][]
游戏资料: 新手必看:
06-0405-0805-0404-25
今日推荐有奖活动
二次元手游《少女咖啡枪》全平台上线!携手萌妹一起拯救这个陷入危机的末世吧。
二次元3D萌娘机战手游《元气战姬学院》开启渠道不计费首测
助威赛事晒图赢京东豪礼《新剑与魔法》3v3中韩将演巅峰对决
全CG电影手游《最终幻想 觉醒》震撼来袭 转微博海量京东卡等你拿!
日期名称状态下载号
12-01内测12-02封测12-02内测12-02内测12-03内测12-06公测12-06公测12-06内测12-08内测12-08内测12-08内测
12345678910
日期名称号
11-2811-2511-2511-2411-2411-2411-2411-2411-23
京公网安备 86 京ICP证140355号 京网文【-109号程序员需要的逻辑思维(33)
2048大家都玩过,也有很多人考虑过,最高到底能玩到多大的数字。
也有的人会问,最高能玩到多大的分数,但是这个明显要复杂很多。
有个在线的2048做的还不错,手机电脑都可以玩,
而且只要打开,后面就再也不需要网络了,火车上面玩很方便
我的成绩:
这个游戏我还录了一个视频,
我的手机里面还安装了一个可以悔一步的版本的2048
可以悔一步的版本,比不能悔的版本要简单很多。
比如说,当只有一个空格的时候,很多时候,出现2就会game over,出现4就可以继续玩。
这样,利用悔一步的功能,可以不断尝试,直到出现4再继续玩。
当然,有的版本是game over之后就不能悔一步了
那就比这个版本稍微难一些,但是还是比不能悔的版本要简单一些。
我的成绩:
下面讨论2048问题的简化版
简化一:假设系统只会给出2,不会给出4
简化二:假设16个格子没有位置的限制,任何2个格子只要数相等就可以合并。
重定义操作:每次操作,可以同时合并若干对数,比如将2,2,4,4,8合并成4,8,8,
如果没有可以合并的数,就不合并,算一次不做任何改变的操作。
每次操作都会产生1个新的2
问题:这样的游戏最多可以玩出多大的数字?
首先列出2的幂,2,4,8,16,32,64,128,256,512,96,,,131072
下面我将证明,永远不可能玩到131072
定义一个全局状态:所有格子的数的和S
很明显,刚开始的时候S是4,每合并1次,S的值就会加2
假设某个时候出现了131072,那么S至少为131072
那么一定有某个时候,S=131070,表示成二进制是11 1111 0
这个数,要想表示成2的幂的和,至少需要16个数即从2到65536这16个数。
而这个时候,没有多余的空格了,所以说,不可能玩到131072。
而且,65536是可以达到的。
下面讨论真正的2048,到底能玩到多大的数字。
真正的2048,是有可能出现4的,所以说,
2048永远不可能玩到262144,但是有没有可能玩到131072就不好说了。
网上有个视频玩出了131072,
如果能玩到下图的样子(网上这个视频就是这样),那么自然能玩到131072
而且要玩到131072的话,必须先玩到这个状态,具体位置可以不一样,
但是一定是这16个数按照大小顺序形成哈密顿圈。
但是,这个状态是否一定能达到,不好说。
因为2048的16个格子有严格的位置关系,而且每次操作都必须往某个方向滑,不能不滑。
我为了研究131072到底能不能达到,开始努力寻找一些模式。
然而我意识到只能悔一步的版本无法满足我的要求,于是我开始玩第三种版本——无限悔棋版
其实,可以悔一步的版本和可以悔任意多步的版本,在理论上是效果一样的。
当我们考虑2048最多可以玩到多大的数字的时候,是这么想的:
每次出现的是2还是4是随机的,出现的位置也是随机的。
我们只需要考虑在所有情况中,对我们最有利的那一种即可。
也就是说,可以这样考虑,每次出现的是2还是4是由我们来定,每次出现的位置也由我们来定,这样的情况下最多可以玩到多大的数字。
不难发现,无论是可以悔一步的版本的2048,还是可以悔任意多步的,都和这个模型的等价的。
在玩无限悔棋版2048的时候,我发现了一些规律,感觉131072应该确实可以玩出来。
具体细节:
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:76495次
积分:5361
积分:5361
排名:第3742名
原创:427篇
评论:50条
文章:42篇
阅读:6994
文章:153篇
阅读:32708
文章:156篇
阅读:32039
(78)(101)(42)(143)(67)

我要回帖

更多关于 2048游戏最高分 的文章

 

随机推荐