鱼C论坛

 找回密码
 立即注册
查看: 6682|回复: 46

[技术交流] python小练习(076):带AI的2048小游戏

[复制链接]
发表于 2017-3-6 16:02:08 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 jerryxjr1220 于 2017-3-7 08:43 编辑

之前的小练习编写过一个2048小游戏,今天在原来游戏的基础上添加AI(人工智能),让计算机自己可以判断怎么移动。

思路:
2048小游戏每一步其实都有最优策略,即“使每一步的空白格尽可能多,而格子中的数字尽可能大”,在最优决策的前提下,可以让计算机模拟走2~3步,(2步是4*4的16种情况,3步是4*4*4的64种情况,模拟再多没有意义,因为每一步产生的随机数会不同),然后根据所有的结果,判断哪一步是最优策略,然后就走这一步。每一步都依次循环。
  1. ******************** 2 0 4 8 ********************
  2. Total Step: 322
  3. Last step: d
  4.   ---------------------------------------------  
  5.   |          |          |          |          |
  6.   |   4      |   64     |   2      |   8      |
  7.   |          |          |          |          |
  8.   ---------- + -------- + -------- + ----------  
  9.   |          |          |          |          |
  10.   |   2      |   16     |   512    |   16     |
  11.   |          |          |          |          |
  12.   ---------- + -------- + -------- + ----------  
  13.   |          |          |          |          |
  14.   |   2      |   64     |   32     |   4      |
  15.   |          |          |          |          |
  16.   ---------- + -------- + -------- + ----------  
  17.   |          |          |          |          |
  18.   |   2      |   256    |   2      |   4      |
  19.   |          |          |          |          |
  20.   ---------------------------------------------  
复制代码


电脑自己玩的结果(我目前是模拟了2步,16种情况,取最优解),基本上每局至少可以取到512,还有不少看运气成分。

用pyinstaller打包了exe文件,可以直接运行。
2048.part1.rar (1.8 MB, 下载次数: 93) 2048.part2.rar (1.8 MB, 下载次数: 21) 2048.part3.rar (1.8 MB, 下载次数: 18) 2048.part4.rar (1.8 MB, 下载次数: 17) 2048.part5.rar (1.8 MB, 下载次数: 17) 2048.part6.rar (1.8 MB, 下载次数: 17) 2048.part7.rar (1.8 MB, 下载次数: 17) 2048.part8.rar (849.57 KB, 下载次数: 24)
全自动化版本源代码:
游客,如果您要查看本帖隐藏内容请回复


手动控制AI版本:按“I”由计算机自动走一步。
游客,如果您要查看本帖隐藏内容请回复

本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2017-3-6 16:35:46 | 显示全部楼层
程序还有优化的空间,目前我使用的策略是:
剩余空格>最大值>最大值的数量。
当最大值比较小的时候完全是没问题的(比如小于512),但是当大于512以后,每一步就必须要非常小心,不然就可能前功尽弃。
还有就是当2个1024相遇,下一步就绝对是组合,不用再考虑剩余空格了,这一点也必须要优化。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-3-6 17:00:14 | 显示全部楼层
来看看
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-3-6 19:11:10 | 显示全部楼层
大神就喜欢AI
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-3-6 19:39:53 | 显示全部楼层
谢谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-3-6 19:40:37 | 显示全部楼层
你真是 非人哉
太厉害了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-3-6 20:40:53 From FishC Mobile | 显示全部楼层
厉害了~()~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-3-6 21:27:45 From FishC Mobile | 显示全部楼层
...公子 发表于 2017-3-6 19:11
大神就喜欢AI

单做游戏的话,没啥意思,要玩就要玩点有技术含量的啊
其实象棋或者围棋(AlphaGo)的AI设计思路都是一样的,整体的AI系统就是由"遍历系统"(搜索所有可行解),"模拟系统"(模拟所有可行解取得所有局面),"局面评估系统"(评估所有局面找到最优解,现在谷歌用的是深度神经网络系统)构成的。
如果我们也有一套可靠的系统,加上牛逼的硬件系统(普通电脑的运算能力不足以支持这么复杂的系统),那么开发我们自己的AlphaGo也是可行的。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-3-6 21:43:54 | 显示全部楼层
好厉害,学习学习
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-3-6 22:54:51 | 显示全部楼层
了解,复杂AI和简单AI原理上都差不多,但是复杂AI的实现还是很麻烦的,不但是硬件的性能,软件的算法、优化等等都很麻烦。菜鸡表示还在膜拜中!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-5-2 20:54:30 | 显示全部楼层
默默献上膝盖
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-5-27 18:13:36 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

头像被屏蔽
发表于 2017-6-26 09:50:55 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-11-23 22:01:25 | 显示全部楼层
学习一下
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-11-24 11:58:12 | 显示全部楼层
1111111111
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-12-8 15:04:40 | 显示全部楼层
急切需要学习
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-12-10 12:08:50 | 显示全部楼层
哈哈
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-12-11 11:04:20 | 显示全部楼层
回复
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-12-11 16:46:33 | 显示全部楼层
厉害了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-12-28 22:45:56 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-3-29 16:15

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表