找回密码
 立即注册→加入我们

QQ登录

只需一步,快速开始

搜索
热搜: 下载 VB C 实现 编写
查看: 1980|回复: 1

【人工智能】怎么教人工智能去玩一个游戏

[复制链接]
发表于 2018-2-6 00:36:49 | 显示全部楼层 |阅读模式

欢迎访问技术宅的结界,请注册或者登录吧。

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

×
首先思考一个比较基础的算法题,如何走出一个迷宫?

首先想到,使用栈存储迷宫的信息,然后不断使用这个栈进行迷宫的探索,最终找到出路,或是发现迷宫无法走通。

进一步想到A*之类的寻路算法。

确实这是一个简单高效的设计,能让电脑以最短最快地完成迷宫游戏。

但如果迷宫有怪物呢?是不是设计一个躲避怪物的机制?

那如果是个FPS游戏呢?要设计出如何瞄准,如何扔雷的算法吗,那是不是还需要加上一个配合小队一起进攻的算法?

这里有一个魔性的QWOP游戏,玩家要控制跑步选手的大腿小腿进行配合,最终到达终点,大家可以去体验下,非常难

QQ图片20180205232637.png

如果为这个游戏写一个算法,又该怎么写,判断大小腿的位置和速度吗? 面对这些难以判断的游戏,有一种比较投机的做法。

随机。

是的,随机。回到迷宫的问题来。我们的角色实际上有上下左右四种操作,那我们随机一百次操作,然后角色就会进行随机的移动。只要随机模拟够多次,角色一定能走出迷宫。不过一直重复模拟并不是个好办法。

我们使用遗传算法对随机结果进行筛选,具体这么操作

1.模拟一百组操作。
2.记录每组走出的长度。
3.找到最接近出口的20%操作序列。
4.对这些操作序列随机进行交换,并且引入突变。
5.进行新的一轮模拟。

经过几百到上万次的模拟之后,这些操作序列就开始呈现出一定的智能了。

依据这种方式最终就能收敛出一个局部最优解,这种方式不仅仅在走迷宫上有效,同样可以应用到QWOP游戏或者FPS游戏中。

至于神经网络,实际上是对模拟出的操作序列进行了深化,并非输入直接对应输出,而是有一些中间层,让操作更容易适应不同情况。

附上几个相关视频


使用人工智能通过关超级玛丽



使用人工智能进行行走,抓握等高难度动作
回复

使用道具 举报

发表于 2018-3-20 13:37:46 | 显示全部楼层
嗯,其实神经网络大概不能算人工智能的一个子集。
回复 赞! 靠!

使用道具 举报

本版积分规则

QQ|Archiver|小黑屋|技术宅的结界 ( 滇ICP备16008837号 )|网站地图

GMT+8, 2024-12-22 09:34 , Processed in 0.034348 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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