http://blog.sina.com.cn/ppcaothello[订阅]
个人资料
评论
读取中...
图片幻灯
友情链接
访客
读取中...
好友
读取中...
博文
2007-08-02(2007-08-02 22:00)
KillerKing重写了UI。
Einstein写了EXE形式的AI,加入了一些计算pattern的估价函数,和WZebra对战情况依然不乐观。
Isaac研究EXE之间交互,无果。

作出一些决定(2007-08-02 11:45)
platform和UI写的有点混乱,重写。
具体写法待定。

2007-08-01(2007-08-01 22:00)
platform被KillerKing和Isaac合作调试至基本无bug
解决了双AI对战时不显示棋盘的问题
Einstein改进了AI的搜索剪枝部分,但还是由于估价函数的选取过于随意,出现了神奇的事情:一个搜索2步的AI草割了一个能搜7步的AI……
 
2007-07-31(2007-07-31 22:00)
platform和UI基本成形,但还存在若干bug:
  • 某玩家连续走两步之后会出错
  • 双AI对战是不会显示棋局

Einstein和Isaac写出了两个很暴力的AI类,搜索深度在5步左右
因为估价函数的选取过于简单,这两个AI的“智商”都十分低下。
KillerKing主要在调试platform和UI。

下一步需要研究一下如何选取一个稍好的估价函数。

2007-07-30(2007-07-30 22:00)
今天开会讨论,决定了程序的大体框架:
  1. platform 加载两个AI玩家(人类玩家也是广义的AI类),通过AI类的接口模拟双方的对战,并把局面传给UI输出。
  2. UI 能够显示当前局面,并能得到鼠标在棋盘上的操作。
  3. AI类 有两个接口,一个otherMove(int , int)用来告诉AI对方的决策,另一个myMove(int & , int &)用来返回AI的决策。类内部实现搜索等博弈算法。
  4. Human类 有和AI类两个相同的接口,处理和UI的交互。

也讨论了一些细节问题:双AI对战时AI间内存共享问题。结论是不能搞内存共享。Hash表如何开,没有结论。

最后决定先写一些暴力的搜索算法观察一下效果。
概述(2007-07-30 16:00)
团队成员(按ID字典序):Einstein, Isaac, KillerKing

预期目标:
  • 写出一个Othello游戏的程序,支持人和AI队战。
  • AI是程序的主体部分,我们争取做到让AI能够战胜我们能找到的所有人,以及一些其它AI程序。

需要用到的知识:
  • 博弈搜索及剪枝技巧(AI的主要算法)
  • 机器学习(用在估价函数的设计)
  • 数据检索技术(用在开局库,残局库)
  • 图形界面的设计
开篇(2007-07-30 12:00)
某三人在PPCA2006搞Othello AI,把日志扔在这里...