基于Alpha-beta剪枝算法的2048游戏策略的设计与实现开题报告
2020-02-20 08:00:50
1. 研究目的与意义(文献综述)
2048游戏是一单人游戏。游戏中的操作对象是网格中的带数字的“瓦片”方块。单次游戏中,玩家可以使用方向键使所有方块向目标方向移动并对齐,如果两个带有相同数字的方块在移动方向上碰撞,则它们会合并为一个方块,且新方块所带的数字变为两者之和。每次移动后,会有一个数值为2或4的新方块出现在空白位置。玩家的最终目标是努力合并出更大的数字,一般的2048游戏中合出2048即可,该游戏也正因此得名。
该游戏自2014年初由开发者cirulli开发并发布,因其简单操作方式和具有挑战性,十分受国内外玩家的欢迎。对于其中高分策略的研究十分有意义,随着游戏的火爆,对于该游戏策略的研究和实现也越来越多。通过近段时间在学术论文方向和相关开源项目中的了解和学习,我大致了解到以下三个实现方向。
(1) 基于简单估值函数。常见的是简单的对四个可选方向移动后的得分进行评价,由于得分越高的步骤意味着更大、更多的数字合并,故对于要求不高的简单ai而言已经够用了。但显然这种简单的估值是不具备足够稳定性的。比如在某个局势a下,虽然不同的决策方向很有可能存在相同的得分,但是在接下来的局面子树中,相差的结果可能是天壤之别。简而言之,简单的通过合并得分作为估值函数的策略是不稳定的。
2. 研究的基本内容与方案
基本内容:
本研究基于c 语言,实现2048游戏的策略,分别基于纯估值函数、基于minimax算法和基于alpha-beta剪枝算法及其改进算法设计,并比较其运行性能和稳定性。
(1)基于估值函数的策略。根据自身的游戏体验及相关攻略分享,分析出用于评估局面的估值项目并实现估值函数,利用估值函数评估当前格局下四种可能决策下子格局的局面估值,直接选择估值最高的策略。
3. 研究计划与安排
第一阶段(第1周—第3周):查阅有关的参考资料并完成开题报告;翻译英文资料(不少于5000汉字),并交予指导教师检查。
第二阶段(第4周—第8周):设计研究课题的问题模型,了解各个层次的策略算法的原理。重点掌握算法细节与alpha-beta剪枝算法的进一步优化手段。总结各种算法的优缺点以及使用范围。
第三阶段(第9周—第13周):根据模型与学习的算法细节,设计并实现2048游戏的三种不同层次的策略算法,验证minimax算法的稳定性和alpha-beta剪枝算法的性能。
4. 参考文献(12篇以上)
[1] ja#347;kowskiw. mastering 2048 with delayed temporal coherence learning, multistage weightpromotion, redundant encoding, and carousel shaping[j]. ieee transactions ongames, 2018, 10(1): 3-14.
[2] sutton r s, barto a g.reinforcement learning: an introduction[m]. mit press, 2018.
[3] osborne m j. an introductionto game theory[m]. 2005.