Friday 23 June 2017

黑白棋 (一种棋类游戏)的简史

在1980年代,电脑并不普及,在黑白棋界里,最强的仍然是棋手(人类)。
到了1990年代初,电脑的速度以几何级数增长,写出来的黑白棋程式虽然仍然有点笨拙,但由于计算深度(电脑的速度快)和尾局的准确性,所以已经很强。1990年代初最有名的程式就是Thor,在那时候是最强的程式(还是DOS模式年代),棋力能比得上世界级棋手,在这个时期的程式都是人工地加入行动力、位置策略、偶数重要性等等,但又因为这些策略是直接编写在程式里,那程式的棋力很依赖程式员本人的棋力,程式下起来比较像人类的下法。而且程式里遗留了人类棋手的弱点、策略的不完整性等等的问题。
到了1994、1995年,黑白棋程式的编写方法有了突破性的发展,首先是有了一个称为IOS的网站(GGS的前身),让不同的程式同时连上去互相对局,突破了以往那种闭门造车的日子,在同期Michael Buro做出了能由程式自我学习的Logistello,在差不多的时间,大家都学起来,用相似的方法来编写程式。程式员不再把人工的策略和下棋方法等死硬地写在程式里,而是由程式自我学习,程式会记录好、坏的形状(patterns),根据实战的结果自动调整策略,又会把不同的开局棋谱根据实战的过程来评分、保存,有些程式能保存几十万步的开局棋谱。
就是因为Logistello在根本方法的改进、先进的算法、编写方面的高效率和准确性等等,一直在黑白棋界保持为世界程式冠军。在1993年~1997年的25场比赛中,Logistello有18场获得冠军、6场获得亚军。1997年8月,Logistello击败了1996年的世界冠军村上健(Takeshi Murakami),从此黑白棋程式把人类棋手远远甩在后面。直到Michael在1998年1月宣布Logistello退休为止。主要突破点在于它们把算法改善为多线程执行(multithreading)。
棋具
棋子:黑白棋棋子每颗由黑白两色组成,一面白,一面黑,共64个(包括棋盘中央的4个)。棋子呈圆饼形。
棋盘:黑白棋棋盘由64格的正方格组成,游戏进行时棋子要下在格内。棋盘可分为“角”、“边”以及“中腹”。现今的棋盘多以8x8较为普遍。
棋钟:正式的比赛中可以使用棋钟对选手的时间进行限制。非正式的对局中一般不使用棋钟。
游戏规则
黑白棋的棋盘是一个有8*8方格的棋盘。下棋时将棋下在空格中间,而不是像围棋一样下在交叉点上。开始时在棋盘正中有两白两黑四个棋子交叉放置,黑棋总是先下子。下子的方法
把自己颜色的棋子放在棋盘的空格上,而当自己放下的棋子在横、竖、斜八个方向内有一个自己的棋子,则被夹在中间的全部翻转会成为自己的棋子。并且,只有在可以翻转棋子的地方才可以下子。
棋规
1.棋局开始时黑棋位于e4和d5,白棋位于d4和e5,如图1-3所示。
2.黑方先行,双方交替下棋。
3.一步合法的棋步包括:在一个空格新落下一个棋子,并且翻转对手一个或多个棋子。
4.新落下的棋子与棋盘上已有的同色棋子间,对方被夹住的所有棋子都要翻转过来。可以是横着夹,竖着夹,或是斜着夹。夹住的位置上必须全部是对手的棋子,不能有空格。
5.一步棋可以在数个方向上翻棋,任何被夹住的棋子都必须被翻转过来,棋手无权选择不去翻某个棋子。
6.除非至少翻转了对手的一个棋子,否则就不能落子。如果一方没有合法棋步,也就是说不管他下到哪里,都不能至少翻转对手的一个棋子,那他这一轮只能弃权,而由他的对手继续落子直到他有合法棋步可下。
7.如果一方至少有一步合法棋步可下,他就必须落子,不得弃权。
8.棋局持续下去,直到棋盘填满或者双方都无合法棋步可下。


No comments:

Post a Comment