双色2048游戏变种的最优算法是什么?如何获得更高游戏得分?
双色2048变种最优算法与最高得分问题
我开发了知名游戏2048的一个新变种,该变种存在2、3两类瓦片,需分开合并,难度远高于原版游戏。
我想了解游玩该游戏可获得最高得分的最优算法是什么。我此前基于蒙特卡洛方法开发了游玩bot:针对给定状态运行K次随机模拟至游戏结束,记录最终得分后选择平均最终得分最高的起始移动执行;我还发现若将模拟移动限制为向下、向左、向右3种,bot可获得更高得分。在K=1000的条件下运行该bot一周,我得到了3060的得分,最终棋盘状态如下:
3 2 3 2 2 6 32 6 32 24 96 64 3 128 192 3
该得分已高于所有人类玩家的得分,但我仍想了解如何进一步优化、该游戏可达到的最高得分是多少。
我是看到原版2048的相关问题后萌生了提出该问题的想法,其中热度第三的算法和我使用的算法一致,但我不确定该问题下提到的其他算法是否适配该变种,因为它们的启发式评估函数都是针对原版2048调校的。
2021年9月22日更新
我测试了带不同探索参数的蒙特卡洛树搜索算法(UCT),但最优得分仅为1800左右,表现较差,可能是我的实现存在问题。
我还测试了深度为3、返回当前得分的期望极小极大(Expectiminimax)算法,得到了2972的得分,接近我此前的最优结果;我尝试为空白单元格、同色相邻数字添加奖励规则,但未带来得分提升。请问该双色2048变种的最优算法应如何设计,可实现的最高得分是多少?
内容的提问来源于stack exchange,提问作者Dmitry Kamenetsky
相关产品推荐
相关产品推荐

