基于人工神经网络的五子棋博弈(Details)

感兴趣的朋友可以在git上查看该项目: https://github.com/jimth001/my-Gobang-game-base-AI-algorithm.git

研 究 报 告

作品名称 基于神经网络的五子棋博弈系统

类 别 科技发明制作B 类

2016 年 3 月

1. 摘要

计算机博弈一直是人们很关注的研究方向。从以前的“深蓝”到如今的AlphaGo,计算机博弈取得了很多成就,有了很大进展。AlphaGo与李世乭的围棋之战引得了很多人对深度学习,对人工智能的关注。我对计算机博弈也很感兴趣,尤其是五子棋。现在网络上很多的五子棋游戏都是基于规则的,最大的漏洞就在于你如果赢了它一盘,按照同样的套路下即可赢它。基于上面几点,我想到了可以设计一个有学习性的五子棋博弈算法,改善这种情况,提高五子棋人机博弈的趣味性和多变性;同时我也希望该算法经过一定规模的训练能够达到较高的博弈水平。因此,我利用人工智能的相关知识和计算机博弈的知识设计了基于神经网络的五子棋博弈算法,并开发了可演示算法的演示系统以及算法的接口dll。

本作品的核心和难点在于神经网络的结构(包括网络拓扑结构,输入结构,输出结构)及学习算法。在经过查阅资料和大量实践之后,我确定了三层感知器的拓扑结构和96个实型特征向量的输入结构以及网络以单实型值输出。

算法以博弈树搜索及剪枝为整体架构,结合对棋局的特征提取及神经网络预测局势来完成AI的决策。。试验表明,它对于同一套路的棋局学习速度较快,可以在几盘对弈后有明显的表现提升。

在后面的实验中,AI初始表现不佳,对于如何进攻防守的学习较慢,为了增强它的初始“智能”,我对必胜局加入了规则判定以提升AI的初始表现。并利用低层搜索优化了高层搜索的剪枝效率。

现在,我已经设计了用于演示的JAVA程序,并提供了可用于训练的dll接口。演示程序可以通过人机对弈演示它的学习特性,若使用一个未经训练过的网络权值,在重复套路对弈的情况下,它的学习效果通常通过数盘即可显示出来。在经过大规模的训练后,该算法将有更加广泛的应用前景。

关键词:五子棋博弈;人工神经网络;强化学习;博弈树搜索;α-β剪枝

目录

  1. 摘 要…2

  2. 研究背景及意义…4

  3. 核心算法…4

    3.1. 神经网络结构及学习算法…4

    3.2. 博弈树搜索及α-β剪枝算法及其优化…5

    3.3. 特征提取…6

    3.4. 必胜局判断…7

  4. 演示系统…7

    4.1. 演示系统功能介绍…7

    4.2. 演示系统使用说明…7

  5. 训练接口…8

    5.1. Dll接口介绍…8

    5.2. Dll使用说明…9

  6. 作品总结…10

    6.1. 作品创新点及技术关键…10

    6.2. 作品的先进性,科学性…10

    6.3. 目前存在的问题…10

    6.4. 发展前景…11

  7. 参考文献…11

  8. 附件清单…11

2. 研究背景及意义

如今的大多数五子棋博弈程序都是完全基于规则的,即使搜索层数足够多,有不错的对战表现,但无法避免“定式定局”的情况(即采用相同走法对战得到相同结局)。我们希望避免这种情况并且能提高算法对弈水平。恰逢最近深度学习在计算机博弈上取得了很大成就,2015年

  • 12
    点赞
  • 79
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值