首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

phireby人机五子棋0.5,发布解决方案

2012-02-23 
phireby人机五子棋0.5,发布脸皮厚了点,勉强说发布,因为太简陋了...运行界面(GTK):phireby五子棋软件,主要

phireby人机五子棋0.5,发布
脸皮厚了点,勉强说发布,因为太简陋了...

运行界面(GTK):


phireby五子棋软件,主要是人工智能与博弈分析。界面与核心都已经实现,人工智能没有开发完整,暂时用的AlphaBeta,分析这块正在准备。下个版本中需要增加的是:模糊估值、随机估值、局部估值;非博弈树AI(模式识别、神经网络),所有算法将模糊化、随机化、局部化,不能再用博弈树,因为无法从根本上解决固定的走法之类的问题。还有棋谱。自学习(自我调整、自我修改)...

这个版本是简陋版,除了界面和AlphaBeta基本没有了,上面声明的所有功能都在下一个版本中。

==============================================

源码包:
7z csdn http://download.csdn.net/detail/clonne/3718665
tar.gz vdisk http://www.vdisk.cn/down/index/9028646A7662

phireby原来加5chess,后来改叫phireby,取名自蓝宝石+ 红宝石。
界面有两个,命令行界面与GTK界面,个人觉得命令行的要专业些...

编译方法:

命令行界面的直接make
GTK界面则make -f gtk_make

因为我是在ubuntu上编写的,所以没在window上测试,不过只要有gtk就可以。

还有,人工智能这块太专业,能实现的方法:穷举(博弈树)、模式、神经网络。
博弈树的太死了,即使再怎么出色,也难以改变穷举的本质,而穷举本身就...
模式本身就是一个领域,对我来说一窍不通...
神经网络,基本不懂...

所以特困扰,我需要实现的最核心的“电脑下棋”就出现了难题,还有一个“分析”目前连影子都没有,只存在我的脑海里。

而我现在能做的,也只是想着怎么把估值模糊化、随机化、局部化。我用黑石分析了几次,它都是从局部扩散到周围计算的,这肯定不是博弈树实现的。
但是基于我脆弱的数学基础,我目前对模糊化这个概念都不是完全清楚,只知道它可以改变单点、全局这样穷举的方式。而随机化又是一个大难题,如何随机、随机范围、哪些需要随机?我都没想好。而局部化则是迫切需要应用的方法。
我对博弈树+局面估值这种单点、穷举的计算已经不能忍受了,我觉得要让电脑“会下棋”,就不能用穷举。

还有自学习,这个又是一大领域,怎么分析、分析哪些、怎么调整、调整哪些、怎么修改、如何修改自身?
但是这个我觉得是个挑战,可以极大的锻炼我建立良好API接口的东西,我只能先从接口入手,提供所有算法的修改、扩展接口。
为了实现自我调整和修改,所有的算法也必须能够最大限度的配置,从简单的常数、变量、到范围、语句结构、运行顺序等。。。这肯定难度非常大。

[解决办法]
编译发现245个错误啊。。。。

热点排行