KeyTo9_Fans 发表于 2023-4-25 10:18:27

4列俄罗斯方块的最佳策略

10列的俄罗斯方块由于局面数过多而无法精确求解最佳策略,本贴规定容器宽度只有4列,从而最大限度地减少局面数,方便精确求解最佳策略

假设容器无限高,一开始是空的

7种方块(横条、正方形、7形、反7形、z形、s形、土形)出现的概率均为1/7,并且会无穷无尽地出现

方块可以平移、旋转,不可翻转

方块不可平移到位置冲突的地方

如果方块旋转后发生位置冲突,允许自动平移到最近的、且距离不超过2的不发生冲突的位置(如果旋转后在2以内的范围均冲突,则此处不允许旋转)

下载这个附件,解压后就可以玩这个游戏了:



这个游戏是键盘操作,支持的按键有:

上下左右:平移
空格键:逆时针旋转90度
退格键:顺时针旋转90度
回车键:放置方块

游戏界面如下:



由于有“容器无限高”的假设,因此上面这个游戏永远都不会Game Over

当视野内的堆叠高度>30时,视野会自动上移10格;当视野内的堆叠高度≤10时,视野会自动下移10格(如果已经到达容器底部,则视野不再下移)

本贴要讨论的问题如下:

问题1:

在允许查看下一个方块是什么的设定下,是否存在无限清空容器的策略?

问题2:

如果问题1的答案为“是”,那么当放置的方块数趋于无穷大时,(清空容器的次数/放置的方块数)的最大值是多少?

如果问题1的答案为“否”,那么后续的方块至少需要允许查看多少个,才存在无限清空容器的策略呢?

KeyTo9_Fans 发表于 2025-1-13 00:13:07

问题1的答案应该是:“是”

虽然一开始玩得不好,视野高度最高去到了390,我都怀疑不存在无限清空容器的策略了

但是玩多了之后,就会越玩越好,最终还是把这390行方块清空了

目前已经放置了54889个方块,一共清空了32次,如下图所示:



接下来可以求解一下 “当放置的方块数趋于无穷大时,(清空容器的次数/放置的方块数)的最大值是多少” 了

hujunhua 发表于 2025-1-13 02:02:46

提示下载的文件有木马:lol

KeyTo9_Fans 发表于 2025-1-14 01:27:24

接着2楼的进度继续玩,现在已经清空容器100次了,如下图所示:



也就是说,继续玩之后,只使用了 71754 - 54990 = 16764 个方块,就清空了 100 - 32 = 68 次容器

因此问题2【清空容器的次数 / 放置的方块数】的最大值大约是 68 / 16764 = 0.0040563

#####

现在我已经玩得很熟练了,我打算重开一局,看看能否把【清空容器的次数 / 放置的方块数】的值再提高一点
页: [1]
查看完整版本: 4列俄罗斯方块的最佳策略