致力于电脑围棋程序的开发
 34 1234
发新话题
打印

[原创]电脑围棋UML建模学习-GNU GO生成着手用例阐释

[原创]电脑围棋UML建模学习-GNU GO生成着手用例阐释



图1。do-gnmove顶层活动

图2.生成正常对局着手活动

请问斑竹:AfterMatch move 是什么着手?是什么含义?

[ 本帖最后由 babituo 于 2008-1-25 12:56 编辑 ]

TOP

填单官甚至填空用的。早年的程序在这个地方出错的机会最多,据说有1/4以上的棋可以在最后一手翻盘,呵。
执一以为天下式

TOP

图3.查找棋盘信息活动图


图3.查找棋盘信息活动图


图4.有棋子处理内部活动图

图5.无棋子处理内部活动图

[ 本帖最后由 babituo 于 2008-1-26 15:58 编辑 ]

TOP

请斑竹继续对我的模型进行评审

好让我发现问题及时更正,我会坚持分析到把每个函数展开到底。
我觉得,这会是一个如何把结构化程序向面向对象程序反向迁移的绝佳例子。
希望斑竹多指导配合,我们合作把这个例子完成,成果我们共享。

TOP

IQ最初设想的一部分工作就是完成楼主所说的迁移,不过在实现过程中发现,GNUGo本身*几乎*就是一个面向对象的程序。现在的IQ,和C代码的GNUGo,在模型构造上几乎没有差别。IQ的这部分工作,目前已经开放在论坛上了,如果这还算得上什么成果的话,所有有兴趣的朋友都可以共享。

[ 本帖最后由 iie 于 2008-1-28 10:02 编辑 ]
执一以为天下式

TOP

IQ的设计文档开放了吗?

根据斑主的意思,我直接学习IQ的文档资料可能会更节省时间.
寻找中...

TOP

是这个吗?

http://www.computergo.net/forum/ ... 1716&extra=page%3D3
感觉这个有点太简单了,应该不是这个,还有哪个呢?类似我这里所做的学习成果,在哪里有呢?请斑竹给个链接。

不过,每个人的学习习惯和学习成果的表达方式可能都不一样。我也许在重复斑竹以前的学习过程,在斑竹看来是做重复劳动,对我来说,却是第一次学习,并且希望得到在关键的算法思路上的比较深入细致的认识(不一定要全面),把详细的学习成果公布出来,一来可以方便得到象斑竹一样的前辈的指点,另一方面给其他爱好者提供更多的参考。

我当然不希望要占斑竹太多的时间,也想尽量缩短自己的学习时间,如果斑竹有更好的办法,不妨直接给个指引,感激ing......。

还是那句话:我一定能为CG做点什么。

[ 本帖最后由 babituo 于 2008-1-28 11:32 编辑 ]

TOP

找了一阵子斑竹的专贴

了解了斑竹前辈所做的工作和平台推动引擎开发的卓识,非常认同。

我也认识到,让CG挑战人类高段棋手,不是那么容易的,我看斑竹坚持这么多年下来依然热情不减,就明白我也不是随便就选择了这个题目的。我不否认,对我来说,这个目标现在可能只是梦想或幻想,这也正是我选择这个题目的原因所在,也许只有这个才能激励我象斑竹一样坚持不懈下去。
受益了。

关于GNU引擎的着手生成的详细思想的UML表达,看来还是需要我继续挖掘和整理了。
还是希望斑竹有时间就指点一下,斑竹的豁达共享精神也是值得我学习的。

[ 本帖最后由 babituo 于 2008-1-28 13:39 编辑 ]

TOP

中间转研究MC去了,所以这个放下了

现在MC法算是搞明白一些了,看看回头这个还要不要继续?
对于GNUgo,要搞明白的东西要比MC多多了。
或者请fsfool一起来研究代码?你一边出读码报告,我一边出模型?单看文档是不够的,程序注释可能更有用。

TOP

babituo所做的工作对学习gnugo的代码的初学者是非常有意义的,实际上gnugo的代码是非常简单的,基本上一个流程图就可以解决了,当然如果使用rose感觉上有点杀鸡用牛刀,不过如果要开发包括大厅服务器,服务器,分离的客户端图形界面,以及可替换的围棋引擎,以及大厅的客户端,这样的这个系统可能使用rose就是一个明智的选择.建模型之前,一样必须有一个词汇的统一列表,否则非乱不可.
英人见印僧整日呆坐于蒲团之上,状若白痴,乃指之曰:"a fool!,afool!"如是国人音译为"佛",就是白痴的意思了.

TOP

 34 1234
发新话题
最近访问的版块