电脑围棋领域的研究概述

五子棋交流


#1 电脑围棋领域的研究概述 作者:江南新绿 发表时间:2007-12-11 23:12:13

http://cache.baidu.com/c?word=%CF%F3%C6%E5%3B%B5%C4%3B%BC%C6%CB%E3&url=http%3A//blog%2Ecsdn%2Enet/pppjjj/archive/2005/03/16/321426%2Easpx&p=9736835f85cc41ff57efd63d50&user=baidu

1. 围棋棋子的类型简单,只有1种,而国际象棋则有6种;但围棋的棋盘为19x19,要远远大于国际象棋8x8棋盘。

2. 棋盘的大小以及着手的相对自由,使得围棋棋局的平均手数大约为300步,大于国际象棋均80步。

3. 着手的相对自由,使得每步棋着的选择(分支因子)可以高达平均200个,而国际象棋中由于棋子走步的限制平均只有40个选择;随着棋局的进展,国际象棋棋子减少,使得分支因子降低,而围棋中则没有这种优势。分支因子还影响棋局的各个阶段(布局、中盘和官子)。在国际象棋中, 开局有许多著名体系,通常深达10步之多;而在围棋中,布局种类非常之多,而深度很少有超过3手的。当然,在边角上围棋也有定式可循,但定式的选择仍要考虑周围棋子的配置等等,需要一定的技巧。

4. 围棋与国际象棋棋局都有两种终了的方式:认输和自然终局,国际象棋的终局比较容易判别,就是将死,而在围棋中终局是由双方同时认可的,但初学者又很难判别是否已经没棋可下,所以他们下出的棋局往往比高手之间的要长,围棋程序也会犯同样的毛病。如果按照日本的比目法计算胜负,则多余的着手会因为填在己方的空里或变成对方的提子而减少目数。

5. 围棋和国际象棋的棋子都有一定的威胁度,就国际象棋而言,棋子的威胁度仅是它所能走到的格子,而在围棋中,棋子着下后就不再移动(仅当提子时例外),但可以对棋盘上其他的棋子产生影响,如引征可以改变某块棋的征子关系。

6. 国际象棋的棋局随棋子的移动立即发生变化,而在围棋中,这种变化并不显著,从而需要大容量的记忆分析棋局。即使是一个初学者也可以看出60步以后的征子结果,这是一个很深但很窄的算路。只有最后当棋子被提掉的时候,棋盘的物理状态才发生显著变化。在围棋中,价值30目的棋经常作为交换被提掉,而最终胜负却可能只有2目。

7. 在国际象棋和围棋的棋局中,棋手通常要考虑全局策略和局部战斗两个因素。在国际象棋中,由于存留棋盘上的棋子的数量和质量与棋局形势基本相关,所以在电脑国际象棋中基本并不把全局策略考虑在内。而在围棋中,局部战役的得失与全局的胜败并不完全相关,在开局时,棋手要考虑棋势而不是实地。所以大多数围棋程序都包含一个棋势的估价算法,但除了实战解决无法评价这类算法本身。

8. 综上所述,国际象棋的编程可以通过优秀的评估函数和修剪搜索树解决,而这样的方法在围棋中则行不通,因为后者的分支因子太大,又没有合适的评估函数用于修剪。

9. 人类棋手在国际象棋和围棋中的思维也是不同的。初学者都只能看几步,但在围棋中,类似征子之类的棋形,初学者可以不费力气地一目了然,因为这一连串的着手都是打将。在典型的国际象棋棋局中,专家可以计算出10步左右,但每步只有几种变化而已,在围棋中,每步的变化就非常之多,其中也可能有很深的如征子手段,这样用广度搜索和深度搜索都是无法很好把握的。

10.地平线效应,即在深度搜索取得一个评估之后,如果再深算几步,该评估就会被修正,例如在弃子的战术中。地平线效应在国际象棋领域只在大师级水平中才出现,而在围棋中,即使在初级棋手对局中也有,例如征子。

11. 国际象棋在70年代早期被用来作为人类思维的研究对象,Chase和Simon于1973年表明专家棋手使用的是棋子分级思维;而Reitman1976年的研究结果则表明归于围棋棋手正相反,使用的是棋子交叉思维。确定棋子的联络与分割,是决定棋子死活的关键,Reitman的研究表明,只有到终局,棋子间的关系才能澄清,这一研究结果显示了在围棋编程中使用分级理论产生评价函数可能带来的问题。

12. 在国际象棋和围棋