计算机围棋网

标题: 请大家参与计算机围棋程序设计协议(CGPP)1.0的制订 [打印本页]

作者: fsfool    时间: 2008-4-25 10:54     标题: 请大家参与计算机围棋程序设计协议(CGPP)1.0的制订

题注:
统一计算机围棋程序设计的一些动词,名词以及有关围棋博弈的语义学解释,是对计算机围棋事业的发展怎么形容都不过分的最基础,最重要的事情,根据我的体会,现将计算机围棋程序设计协议(CGPP)1.0版本的一个讨论发起稿贴在这里,以便汇集各方意见,最中荟萃出CGPP1.0,这对于我国计算机围棋的发展毫无疑问将起到重要的推动作用.

免责声明:
我将在本协议中尊循以下国际惯例.
1:不进行数据结构,程序框架,等等各个方面的限制性协议;
2:注重统一各种名词,动词,过程名的国际上的语义学解释适当考虑某个游戏的某个民族的惯例.
3:所谓"道可道,非常道,名可名,非常名"我深知统一名的难度,但请高学前辈睿智新秀加入,使这个充满歧义,难以互相理解的计算机围棋博弈的名空间清晰起来.


CGPP1.0 的第一块砖如下:

统一有关局面上棋子分块的名词:
0.stone - 石头,局面上孤立的单个棋子;
1.string - 串,局面上直接连接的石头的集合;
2.worm - 蠕虫,局面上直接连接或者以"尖"的方式连接,尖点两侧为空点的石头的集合,是串的超集;
3.dragon - 龙,局面上满足一定条件的石头,串,蠕虫,的集合;
4.group - 群,局面上满足一定条件的石头,串,蠕虫,龙,以及满足一定条件但不属于前述任何属主的地域点的集合;
5.moyo - 模样,局面上满足一定条件的石头,串,蠕虫,龙,群,以及满足一定条件但不属于前述任何属主的地域点的集合;

好了,这六个层次应该够用了,刚好暗合人类大脑皮层的六层结构,再划分多了人类就难以理解了.

敬请大家踊跃发贴,尽早发布CGPP1.0

[ 本帖最后由 fsfool 于 2008-4-26 01:09 编辑 ]
作者: babituo    时间: 2008-4-25 12:58     标题: 好提议

希望这样的提议不会无形中限制新思路。
作者: fsfool    时间: 2008-4-25 14:23

1.并不规定程序设计的体系结构;
2.不做任何底层数据结构的规定;
3.只是在语义层面提出一个必须具备的最小语义的定义,并不限制在满足最小语义的情况下进行语义的扩充;
4.不对程序使用的语言进行任何规定;
5.不对使用的算法进行任何规定;
所以不会对编程者的新思路带来任何新的限制,仅仅只是限制了编程者在一词多义和多词一义的各自为政的解释,避免了不必要的争论,也对交流和阅读源码带来极大的好处!

[ 本帖最后由 fsfool 于 2008-4-25 14:25 编辑 ]
作者: fsfool    时间: 2008-4-25 14:31     标题: CGPP1.0 的第一块砖如下:

统一有关局面上棋子分块的名词:
0.stone - 石头,局面上孤立的单个棋子;
1.string - 串,局面上直接连接的石头的集合;
2.worm - 蠕虫,局面上直接连接或者以"尖"的方式连接,尖点两侧为空点的石头的集合,是串的超集;
3.dragon - 龙,局面上满足一定条件的石头,串,蠕虫,的集合;
4.group - 群,局面上满足一定条件的石头,串,蠕虫,龙,以及满足一定条件但不属于前述任何属主的地域点的集合;
5.moyo- 模样,局面上满足一定条件的石头,串,蠕虫,龙,群,以及满足一定条件但不属于前述任何属主的地域点的集合;

好了,这六个层次应该够用了,刚好暗合人类大脑皮层的六层结构,再划分多了人类就难以理解了.

[ 本帖最后由 fsfool 于 2008-4-26 01:10 编辑 ]
作者: fsfool    时间: 2008-4-25 14:57     标题: CGPP1.0 的第二块砖如下:

棋盘上战斗单元的活跃度表示:

liberties0 - 0层自由度,也就是中国所谓"气"的概念;
liberties1 - 1层自由度;
liberties2 - 2层自由度;
liberties3 - 3层自由度;
liberties4 - 4层自由度;
liberties5- 5层自由度;

6层气够了,同样是因为人类大脑皮层是6层的缘故.


这里西方人将中国的围棋盘上棋子的0层气译为liberties,是自由的意思,并非此老外不懂中国的气在这里是指棋盘上的棋子得以存活的气息,其实将中国围棋盘上棋子的气翻译为liberties实在是高明的意译。中国人比较实在,认为没气了才是真的憋死了,只要有口气就能挣扎着活下去,并不太重视作为人应有的权利.可老外则认为不自由毋宁死,所以就将死活的理性标准提到了自由的高度,可这样一来就有了意外的收获,衍生出一序气和二序气直到多序气的概念,但将气息硬排出一个序来也没有语义学上的支持,所以这才最后决定使用liberties来翻译气的概念,这样各个序的气就可以理解成不同范围的自由度了,因此这里liberties应该翻译为自由度而不是气,是一个包含气的更为宽泛的概念,对应气的英文是breath,是个不可数名词,0序的自由度才对应气的概念。所以紧气就是在石头的0序自由度的空点上落子,好像也没有必要再使用breath在程序里了。只是按照伟大的c/c++传统,我认为应该将气定义为liberties0,然后liberties1,liberties2,liberties3,liberties4等等分别称为不同程度的自由度,比如叫一层自由度,二层自由度等等,这样在语义上似乎要完备一些也更符合习惯一些。
作者: babituo    时间: 2008-4-25 17:04     标题: 我是这样分析的

1.点位:
1.1空点位:棋盘上的空交叉点位;
1.2实点位:一个点位上放置了一方的棋子,这个点位变成实点位。
2.串:
2.1空串:连续的两两相连的空点位的集合;
2.2实串:连续的两两相连的同颜色实点位的集合。
3.块:同颜色的不可分割的实串组成的集合。
4.群:联系紧密的同颜色的实串以及被他们所完全控制的空串所组成的集合。
我非常不习惯“石头”、“蠕虫“,“龙”等文化味的命名。
我习惯我这种“数学味“的命名,我甚至把棋盘抽象为“点位空间”,我正在发展“点位空间博弈”的数学化的理论,很类似数学形态学的做法。
等我的程序成功了,我再来详细介绍我的理论和模型,我相信会不俗的。
作者: fsfool    时间: 2008-4-25 21:41

不错,但程序是用英文写的,标准必须使用英文词汇,中文只能用来做注释和说明,所以欢迎你给出不同的方案,但请随附上对应选择的英文词汇,可以使用中文做详细的说明,就象我上面的第2块砖那样,这样才便于交流,不至于各说各话.
最后发布协议时我会充分考虑本话题所有的帖子的意见的,只要是充分而且必要的,都会收入CGPP1.0,所有提供砖头构建本协议的作者,一经采用,即作为CGPP1.0的作者之一在协议发布时同时公布.
作者: fsfool    时间: 2008-4-26 17:06     标题: CGPP1.0 的第3块砖如下:

棋类博弈的基本术语,构成博弈的基本概念:
0.games,game - 博弈,博弈空间构造及其环境;
1.player - 博弈方,参与博弈的玩家,即在棋盘上作色的主体;
2.turn - 轮手,指一个在各博弈方之间传递的变化的颜色,类似一个令牌;
3.move - 棋步,广义博弈论里对棋盘上的格子的颜色做出一次改变的动作;
4.square - 方格,已经研究清楚,所有的棋盘类游戏都是方格作色游戏,这是棋盘博弈的最基本概念,棋子等概念泛化为square的一个域,是一个颜色值的概念,并不基本,因此不在此列出;
5.board - 棋盘,square的集合;

真是奇怪了,又是6个基本概念,多一个剩余,少一个不足,人脑有...

[ 本帖最后由 fsfool 于 2008-4-26 17:11 编辑 ]
作者: babituo    时间: 2008-5-6 16:40     标题: 感觉这个事情现在做起来还是蛮困难的

GNUGO的文档中目前是术语比较齐全的了,但这套术语本身和GNUgo的整体分析架构又是密切相关的。虽然都是围棋,不同分析架构中会产生不同的概念,或者相同字面也可能表达不同的含义。比如,我的“群”的概念,就和GNUgo中的不同,GNUgo并没有明显地区别块和群,我认为用gragon1和dragon2来区分块合群也是不恰当的。因为他们主要是在索引方式上的区别,实际上是用两个结构共同来表达一个混同的“块群”概念。
而我的定义是比较精确的,和我考虑要用他们来承担具体的职责有关,我的设计会更严格地执行oo的规范,当然不是为了oo而oo.而是,一个OO的模型将能更清楚地分清不同对象的职责,而有利于模型的演进,我们不可能一蹴而就,迭代演进是不可避免的。
不如,我们一起先把GNUgo的OO模型规范出来。
作者: fsfool    时间: 2008-5-6 18:44     标题: CGPP1.0 的第4块砖如下:

CGPP1.0 的目的是统一编制围棋程序的过程的必要术语的语义,而建立OO模型是设计程序的过程中具体采用的设计思路,设计思路可以千变万化,不可能也没有必要统一,但不论设计思路如何变化,一些基本的概念是不变的,CGPP1.0 的目的就是找出一个不变的最小集合,然后在施行的过程中这个集合再逐步扩大,也就是CGPP1.0本身的迭代演进过程,这个过程必须是在大家都参与进来的境况下才可以完成,因为唯如此才可能形成协议,这是一个缓慢的过程.
你上面提到的群的概念,CGPP1.0的第一块砖就已经采纳了,而且在之上还增加了一个模样的概念,这些名词可能与gnugo雷同,但协议本身不可能完全依据gnugo来设计,因为gnugo 是一点一点叠代的产物,并没有一个协议,所以将来只有在gnugo的新的版本才可能完全符合CGPP1.0,关键看使用协议的人有多少,如果中国人先推出并使用,gnugo就不得不在将来的版本中向CGPP1.0靠拢了.
所以如果你有兴趣,可以考虑参与本协议的制定工作,比于将一些围棋术语参考gnugo的词汇定下来.
我之所以要大量使用gnugo的词汇,是因为这个程序在国际上使用最为广泛,一些语义已经被大家接受,这样的协议最容易成为标准.
要点是将gnugo 中互相交错,一词多义,多义一词的地方改掉.
举个例子:

gnugo中对"局面"这一语义就使用了两个词语:state ,position,这是因为不同版本语义叠代的缘故,但显然使用state更科学更通用,所以应该统一使用state来表示博弈过程中棋盘上的某个局面.

CGPP1.0 的第4块砖如下:
state - 博弈过程中棋盘上的某个局面,博弈空间状态图中的一个结点.

[ 本帖最后由 fsfool 于 2008-5-6 18:49 编辑 ]
作者: babituo    时间: 2008-5-6 23:44     标题: 单是这样罗列是不够的

每个词汇放到上下文中,才会体会到区别.
单是罗列一个词汇表实现不了统一语义的作用.
比如,很明显的,师傅就没有察觉到我的"群概念"和你列举的"群"有不同,也没有仔细看,Group在GNUgo的程序中并没有实体对应,不象Dragon,实际上,在文档中这两个词是混用的.我这个初学者都能发现这些细节问题,象你这样有经验的高手就不应该忽视了.
我觉得,词汇表要通过建模来慢慢积累才有实用价值.

还有,师傅肯定也了解,很多国际标准协议,本身就是一个抽象的对象模型.比如,IEC61850.

[ 本帖最后由 babituo 于 2008-5-6 23:51 编辑 ]
作者: fsfool    时间: 2008-5-7 10:46

1.Group在GNUgo的程序中当然并没有实体对应,我没有忽略,CGPP1.0里增加一个实体的"群"和"模样"是给需要对局面分块更多层次的程序员预留的,所以我才说"人脑有6层",意思是还可以预留更多的实体层,但CGPP1.0认为6层够了.CGPP1.0是关于围棋程序编制中的词汇的语义的协议,有利于源代码的交流和规范化,有利于团队和计算机围棋人之间的交流,很多词汇来自最有影响力的开源软件,但CGPP1.0的目的正是要将象gnugo中的一词多义和多义一词的混淆的词汇的语义一致化,所以你应该这样理解:如果gnugo中的词汇的语义与CGPP1.0一致了,就是合乎标准的,如果不一致,就期待它的下一个版本向CGPP1.0靠拢;
2.你的"群概念"和CGPP1.0的"群"概念当然有不同的地方,我仔细看过了,与上面同样的道理,既然我们在制定标准,就没有你的我的词汇,应该以CGPP1.0的语义为标准;
3.gnugo的源码这几天我也通读了一遍,整体来说没有什么复杂的或者是高技术含量的地方,唯一值得去探讨的地方是新的搜索算法而已,其余的都是老一套的人工智能专家系统的搞法 - 对人类棋手知识的模拟而已.
4.我在这个论坛花的时间也不少了,有点感慨想说给坛友,姑妄听之吧:
好像这个论坛CG人很关心一个论点是谁原创的,是谁提出来的等等,而很少谈技术上的本质问题.这有两种可能,一是有些人仅仅只将这里当作汇取别人思想的一个手段,二是可能太主观,不能实在的面对技术问题;
其实论坛上所有人都应该对一些早就是公开的技术进行没有任何隐蔽的讨论,更不要时时在意我的你的他的,这些都是公开的算法,包括"香草"算法,其作者也只是在论文中宣称"将MC UCT 开创性的用于计算机围棋软件"中而已,并不认为自己发明了什么新的算法.如果一个人发明了一个全新的有用的算法,公开之前那是需要保密的,因为这是要名垂清史的事情!但是将一些别人的东西当作自己的东西混扯还做神秘状就教人觉得有点不舒服了.
5.另外我讲你用rose对gnugo 建模这个工作是有意义的,但似乎方向和方法都错了.
首先,rose的目的是开发OO系统,如果要使用rose来对既有的系统进行分析,一般是使用其逆向工程功能对OO系统进行逆向分析,可得出对象模型.
但你现在使用rose对一个非OO语言编程的gnugo来进行分析,恐怕就得首先读通源代码,再用手动的方式逆向分析了,这样一来这种rose工具的使用方法有何意义?既然要通读源代码,那我就用源码的模块结构画出架构图,模块结构系统图,流程图就好了,就算是我要用rose,也在上述传统分析的基础上再使用rose建模,重新自动生成c++代码岂不更简单,为何要在这样一个中间环节不合适的使用rose ?
退一步,就算你觉得gnugo的编程思想是OO的,你就喜欢使用rose来分析对一个非OO语言编程的gnugo来进行分析,那也得首先使用rose对gnugo的对象进行建模才可能进行其他图的分析呀,你上来就画活动图,且不说你活动图中的大量错误,就这个方向和方法都错了,所以你不于先画出流程图来得更适合你.
作者: babituo    时间: 2008-5-7 12:54     标题: 保留意见

师傅心直口快,我很敬佩。不过,说到保守和自封,我的理解和你倒是正好相反。
我之所以称你师傅,是因为你公布了一些我不知道的概念和想法,这些概念和想法是你公布在这里的,我为了指称这些概念和想法,我自然会说这些概念和想法是师傅您的。并没有刻意强调您的原创地位。我对自己和其他人也一样是这样想的,我对别人也会和我一样这样想也是相信的,直到遇到你这个说法。
至于技术内容的本质,我是最关心的,这里的大虾们并不保守,他们公布的已经够多的了,只是我能自己有点愚钝和懒惰,不想自己去找,总想一呼百应地有人来指点我。大虾们都有自己的事要忙,偶尔回复简单一点也是可以理解的。反倒是我自己公布的还不够多,主要考虑我是初学者,我的东西太幼稚,丢人现眼到不怕,就怕拿出来伤了大家的眼球。这不,师傅您刚刚不就提出了对我的批评吗?
再有,师傅提出的这个协议工程,我认为GNUgo就是现成的,不需要花太多时间挖掘了,我估计,大虾们对“挂名这个协议的原创着“兴趣也不大。
反倒是以此为基础进行OO模型的重构,是个实质的技术活,师傅没兴趣也就算了。

[ 本帖最后由 babituo 于 2008-5-7 13:05 编辑 ]
作者: flyingrobot    时间: 2008-5-8 22:49     标题: 中文语汇标准很必要

是不是“协议”我现在感觉不到,至少很有必要认真地定义一下基本概念和用语。

中国传统思维重思辨,不重逻辑,其中之一就是不注重概念的界定。
我浏览了一些文档和帖子,有两个感觉(不一定对啊,这种讨论不是在写论文,说话随意些)

1)对某些概念的粗糙“定义”,比如串,群之类,其实反映了对围棋的棋形和局面实质性理解的缺失(职业九段无需会定义,但他告诉你这种对“型”的精妙的感觉是其造诣高低的重要因素。——没有职九的水平却想“下”出职九的棋,靠什么?(坛子上一个朋友提醒计算机的长处就是“算”,和这个话题是有关系的)

举个例子:在我传到坛子上的两个人-机棋谱,都有典型的机器打勺子的例子。我感觉问题都是出现在棋块的关联性处置上。所谓的棋块与棋块之间的关系(或叫联系或影响方式)其实是非常多的,除非你一一分解清楚,漏掉哪一种,哪一种就会留下来成为漏洞。

2)在中文中竟然还没有英文清楚,这真是大笑话。什么dragon,难听之极的名字,这是西方人丑化兼误解中国的龙图腾,真要叫龙,就应该用 long ,至于worm“蠕虫”,这种比喻还是太幼稚了。

[ 本帖最后由 flyingrobot 于 2008-5-8 22:57 编辑 ]
作者: fsfool    时间: 2008-7-26 00:08     标题: 谢谢对CGPP1.0的肯定

楼上的帖子我仔细看了,谢谢对CGPP1.0的肯定,但有些事情还是想再说明一下:

1、CGPP1.0 是一个计算机围棋基本词汇的语义协议,所以其概念的定义只能是高层的、相对抽象的,只要与这个领域的基本概念意义对应就好了,精细的定义让它们在协议的制定过程中自然完成;

2、我仔细推敲过gnugo的一些概念,觉得比中国传统思维中的围棋概念要精细,生动得多,更重要的是作为程序的基本词汇,对应到数据结构时更容易理解,也更容易定义其属性,便于编制围棋程序。下面我将举几个例子:

例一:为何CGPP1.0要大量采用gnugo内的基本词汇,道理我在上面的帖子里讲了不少,也还因为我与他们中的主要作者都交流过,我觉得他们是很有科学精神的,而且几乎每一个基本词汇都是严格思考过的。比如gnugo将围棋子定义为“石头”是经过深刻的思考的,这是因为:首先,不论是国际象棋、中国象棋、跳棋等,在大多数人都印象里,棋子(piece)的概念是一个单个的人工制造的特殊符号,能在棋盘上移动(move),更重要的一个棋子的本子概念不是这些,而是:棋子是棋盘上一个独立的战斗单位,它要么存在于棋盘上,要么被从棋盘上除去,其占据棋盘的位置的大小以及在棋盘上运动的步态在博弈过程中是不变的。以此,因为围棋子并不是棋盘上的一个最小的独立战斗单位,而且其在博弈过程中占据棋盘的大小在不断变化,而且同生共死的又是连接在一块的棋子,所以细究起来围棋的这一粒一粒的博弈之物的确与人类大脑中的棋子的惯常概念有太大的差别,而且它本身又是不具名的无差异的,反倒是棋盘上的联系较紧密的一个棋群在博弈中基本上是一个同生共死的独立作战的单位,到符合棋子的基本概念,但总不能将这个千变万化的棋群叫做棋子吧?那样又与人脑对棋子的形象惯性思维差距太大!想到最后,觉得那不就是一堆拿来改变围棋盘上的交叉的状态的石头吗,就叫石头到没有了许多争论和烦恼,这就是gnugo里stone的来历。
再说如果将博弈看成一个染色游戏,棋子本身也是一个可有可无的概念,所以gnugo将棋子piece的概念从基本概念中删除了。

例二:既然去掉了围棋里piece的词汇,那么如何对棋盘上的棋群做一个分类和定义呢,一个明显的做法是延续上面的分析,将棋盘上绝对同生共死的作为一个类,这就是“串”的概念了,那是直接相连的上绝对同生共死一块棋,但用“链”的概念连接的一块棋是与串有差别的,一个被认为是围起了不可入侵之地域的一块棋又要比链的概念松散一些,如是,一方面是如何给局面上的棋子分块,另一方面还要依据某种特征给这些块分类,既然是不同的类就得给出不同的名字,有说都叫块的,比如分别叫“块”和“串”,这好像更符合围棋爱好者的习惯,但是“某块”和“某串”,毕竟是个静态的概念,难以描述实际的战斗单位在棋盘上不断游走,变化的实际博弈过程,如是才有了“蠕虫”和“龙”的概念,这是在是较好的描述了围棋在盘上的黑白之物在博弈过程中产生、变化、壮大或者消亡的过程,这绝没有一点丑化大中华图腾的意思。相反,gnugo1.0的设计者告诉我,其实“蠕虫”和“龙”的概念都是来自中国:首先出现的概念是“龙”,那是因为中国人自古就将围棋盘上比较大的棋群称为“龙”,有“杀龙”,“大龙不死”“双头蛇”等等概念,至于“蠕虫”那产生在“龙之后”,国人望子成龙,是与怕子成虫的心理成对应的,如是当初我就建议不如将“串”改为“蠕虫”,他们不但是接受了这个建议,而且后来好像还发展出一个“腔”的概念,那是希望将围棋博弈看成一种格子染色游戏后自然产生的概念,意在建立各种非围棋博弈。后来我去了一家公司搞操作系统,一些非常底层的东西,就若干年再没有接触这个东西了,你们要是细看gnugo的源码就会发现,至今“串”和“蠕虫”两个词在其文档中还是混用的,那是他们太懒,对这些完善文档的工作又不屑细作,所以这么多年了竟然没有全改过来。

例三:所以说“蠕虫”和“龙”的概念在围棋博弈里实在是很美很奇妙的创造性概念,就像gnugo的‘O’ 'X' '.'符号系统一样是很精妙实用的东西,要在理解的前提下改进和发扬,而不是简单拒绝。
比如“自由度”等等基本术语都是很好的概念,我在本论坛的其他地方都有详细说明,就不再罗嗦了。

[ 本帖最后由 fsfool 于 2008-7-26 00:29 编辑 ]
作者: fsfool    时间: 2008-7-27 17:07     标题: CGPP1.0 的第5块、第6块砖的讨论稿。

这是搜集到的可能会在程序中使用的词汇的语义,最终应该定下一种词汇表示:

味道 (aji)
在后面的对局中棋手能够利用的潜势;例如,一块棋如果连接松散、有断点、或者坏形就称作“味恶”

味消 (aji keshi)
过早或不必要的先手使味道消失,加强了对方

活 (alive)
指一块棋子永远不会被提掉,因为有两个眼;参见活棋

业余棋手 (amateur)
拥有业余段位的棋手,通常指从三十级至一级,然后从一段(初段)至六段或七段;与专业棋手相对

挂角 (approach move)
下于对方已经占据的角的附近的一着

数子法 (area counting)
确定获胜者的一种数棋方法;中国规则的数子法中,每个包围的空交叉点算一目,每个占据的交叉点算一目(如果贴目,也加入);与数目相对。数棋方法的选择基本不影响对弈的结果。
叫吃 (atari)
一棋子或一块棋已被杀得只剩一口气,再多下一着就会被提掉的情况

靠 (attachment)
在紧邻对方棋子的水平或竖直方向落子

围棋 (baduk 或 paduk)
围棋在韩国的名称

双关 (bamboo joint)
两对平行相邻的棋子中间只隔一路的连接

根基 (base)
沿边或角的区域,一块棋在此至少能做出一个眼
曲四 (bent four)
一块棋有 L 形的四个交叉点,除了在角上之外都是活形

盘角曲四 (bent four in the corner)
在棋盘角部的曲四形状;这是死形,因为盘面上所有的劫材都走掉之后,就能够成功击败它

大眼 (big eye)
一块棋内部不能分成两个眼的几个交叉点

扳 (block)
防止对方沿直线继续延长的一手棋

棋盒 (bowls)
盛放围棋棋子的木制或塑料容器

气 (breath)
气 (liberty) 的另外一种说法,经常用来描述中国规则

读秒 (byo-yomi)
超时;擂台赛上超过基本时限的棋手进入读秒;读秒和时限规则各不相同,但是通常情况下,或者给与棋手每着落子的最大秒数,或者要求在给定的时间内走出指定的着数;读秒超时的棋手将被判负

提 (capture)
杀掉最后一口气,拿掉一个棋子或者紧密相连的一片棋子

中国规则 (Chinese rules)
在中国遵循的一套规则,包括数目、大劫规则、合法自杀着法,以及让子棋自由选择位置等

夹 (clamp)
在对方棋子的相对两边落子的着法,杀气使其剩两口气

贴目 (compensation) 也称作贴目 (komi)
在公平的对局中,给白方添加的目数,用来抵消黑方的先行之利;贴目通常为 5.5 目,应氏规则为 7.5 目

连接 (connection)
一或多个棋子与其他棋块的相连,或者相连的潜势

围角 (corner enclosure)
落于角部并相隔一至二路的两子,松散地围住角部,其中一子落于三四处

计算 (counting)
指终盘时确定胜负,或在对局中估算胜负

扭断 (crosscut)
两对双方的棋子斜十字分割开来成为四块

断 (cut)
将相对的棋子分割开来

断点 (cutting point)
棋手能落子将相对的一块棋分割成两块的一个交叉点

气 (dame)
气 (liberty) 的日本说法 (发音作 DAH-MAY),也用来指公共空点

气短 (dame-zumari)
气短的日本说法

段位 (dan)
棋手的等级,包括业余的一段(初段)至七段,以及专业一段到九段(最高段位)

死棋 (dead group)
不能做出两个眼的被包围的一片棋子

尖 (diagonal play)
同色棋子斜向相距一路的着法

双挂 (double approach moves)
对同一个角的两个挂角,通常一子落于星位上

双劫 (double ko)
同一块棋中的两个劫;如果双劫中牵涉到对方的被包围的一块棋,此形势可能成为双活

两活 (dual life)
双活的另外一种说法

围角 (enclosure)
参见围角 (corner enclosure)

残局 (endgame)
对局的最后阶段,收官阶段

交换 (exchange)
对局中的棋子和区域的对换

拆 (extension)
在友邻的棋子或立的合适距离上落子,构成根基或者潜在的实空

眼 (eye)
一块棋所包围的交叉点或者目;一块有两个或两个以上眼的棋不会被提掉

假眼 (false eye)
一块棋所围的交叉点,该点最终会为了防止棋子被提掉而填上

三五 (5-3 point)
从边线数三线和五线的交叉点,开局常用着法之一

四五 (5-4 point)
从边线数四线和五线的交叉点,开局常用着法之一

先手 (forcing move)
必须应的着法,否则将导致不利

四四 (4-4 point)
从边线数两条四线的交叉点,星位之一,是开局的常用着法

结构 (framework)
参见“实空结构”

交换 (furikawari)
“交换”或“对换”的日本说法

布局 (fuseki)
全盘面开局的方式,区别于指局部的定式

枷 (geta)
松散包围一子或一块棋使无法逃脱的提子技术

后手 (gote)
对方无须应的着法,对照先手

块 (group)
在某一区域属于一个棋手的两个或多个棋子。其中的部分或全部棋子可能紧密相连;如果对方不能轻易地将相隔几路的不相邻棋子断开,那么这些不相邻的棋子也可以被认为是同一块棋中的一部分

让子 (handicap)
不同级别的棋手对弈时,黑方在开局前放置的棋子,通常不超过九枚;让子通常以标准方式放置于星位上;棋手之间仅仅相差一个等级时,下手执黑,不给白方贴目为让

让子点 (handicap point)
星位的另外一种说法

尖顶 (hane)
当双方棋子相接时,再落一子与友邻棋子斜向相对,与对方棋子相邻

钳 (hasami)
钳 (pincer) 的日本说法

重 (heavy)
指棋子过于集中,成无效率形,易于成为攻击的目标,对照“轻”

高位 (high)
指落子于四线或四线以上(从边线数起)的着法,通常是试图取势而不是确保实空,对照“ 低位”

星 (hoshi)
星位的日本说法

围棋 (igo)
围棋的日本说法

势 (influence)
强子所产生的子力,尤其指四线或四线以上的棋子

应氏规则 (Ing rules)
一种规则,通常称作 SST 规则,由应昌期制订,试图规范一套最简单且逻辑上最完整的围棋规则。该规则类似于中国规则,但是贴目为 7.5 目,劫争被分为"应劫"和"损劫",有两种不同的处理方法,被认为是对大劫规则的一种改进

打入 (invasion)
在对方的实地结构中落子;也指在对方已经先行的角中落子

无忧角 (iron pillar)
两子的构形,一子邻星位,另一子在其下面的三线处

日本规则 (Japanese rules)
在日本和很多其他地方使用的围棋规则,基于数目方式

定式 (joseki)
局部中好手的固定模式;大部分定式是在开局阶段于角内及其周围的着法

跳 (jump)
在相距友邻棋子很近处落子;“一步跳”距先前的落子两路,而“两步跳”相距三路

门番 (kadoban)
用来决定两个棋手之间的让子程度的对局或者系列对局

挂角 (kakari)
挂角 (approach move) 的日本说法

消 (keshi)
侵消的日本说法

小飞 (knight's move)
棋子着法,跟己方棋子的距离相当于国际象棋中马的走法

先手得利 (kikashi)
先手的日本说法

杀[一块棋] (kill [a group])
防止被包围的棋子做成两个眼

劫 (ko)
提掉一子后禁止马上提回的一种局部形势

贴目 (komi)
又称为贴目 (compensation)

小目 (komoku)
三四的日本说法

尖 (kosumi)
尖 (diagonal) 的日本说法

劫材 (ko threat)
在对方提劫后,棋手的一个使对方不得不应的落着。在对方应着后,棋手可以借机将劫提回。有时双方在一个劫结束前会找很多的劫材,劫材多的一方将赢得该劫

级 (kyu)
从初学者到段以下的等级,或 30 级至 1 级,参照“段”

征 (ladder)
一种提子技术,强迫有两口气的一子或者一块棋走之字形直至棋盘的边界而被提

征子 (ladder breaker)
在征的路径上接应被征之棋的棋子

气 (liberty)
一棋子或一块棋在水平或竖直方向上相邻的交叉点

轻 (light)
指棋形富有弹性,可以放弃而不会招致严重的损失;对照“重”

活棋 (living group)
因为有两个眼而不会被杀的一块棋

低位 (low)
指位于二线或三线(从棋盘边线数起)的着法,通常用来确保实空;对照“高位”

见合 (miai)
价值相当的两处,如果一方走一处,对方只能走另外一处(发音作 MEE-AYE)

中盘 (middle game)
对局中在开局和残局之间的阶段;棋手在此阶段大规模地争夺实地和棋子的死活

模仿棋 (mimic go)
一种不常见的对弈方式,棋手在盘面斜对角方向上用完全相同的着法来模拟对手,有时时间很长

目外 (mokuhazushi)
三五的日本说法

模样 (moyo)
实地结构的日本说法

公共空点 (neutral point)
在使用数子方式而不是数目方式时,双方棋子之间都不能占为实地的目;公共空点将在终盘放弃下子权前由双方交替填充

猜先 (nigiri)
在公平对局中决定先行的方法;资深棋手放一把白子于棋盘上,另一棋手猜其数目是奇还是偶;如果猜者正确则执黑,错则执白

二连星 (niren-sei)
开局中在棋盘同一边占据两个四四

布局 (opening)
对局的早期阶段,此时双方棋手落子于边和角的潜在实地处;参照“定式”和“布局”

放弃走子权 (pass)
相当于不走着;当双方棋手相继放弃下子权时对局结束

觑 (peep)
落子于对方断点相邻处,迫使对方粘


钳 (pincer)
从两个方向上威胁对方棋子的落子着法

交叉点 (point)
围棋盘上线的交叉处,双方棋手在此交替落子

提通 (ponnuki)
四子提掉一子所形成的形状

势 (power)
势 (influence) 的另外一种说法

死子 (prisoner)
提掉的子,使用数子法时对于提子者相当于一目

刺 (probe)
在另外一处,通常是相邻处,决定如何行棋之前,试探对方如何应手的着法

专业棋手 (professional)
专业围棋组织的成员,特指中国、日本、韩国的组织;专业段位中最高的是九段,专业一段强于业余棋手

长 (push)
接触对方棋子时延伸;有时双方棋手会沿同方向长若干步,出现相邻平行线

侵消 (reducing move)
一种着法,用于压缩对方实地结构的潜在规模;这种着法不易受到攻击,因为并未(像打入那样)深入对方实地

脱先 (reverse sente)
消除对方的先手对局

延 (run)
给一块棋加子向盘面中央延伸

腾挪 (sabaki)
发展的日本说法,“腾挪”意指安定棋块或治理局部的方法

三连星 (sanren-sei)
棋手沿一边占据三个星位的开局方法

三三 (san-san)
三三 (3-3 point) 的日本称呼

双活 (seki)
双方的棋子都不能做成两个眼,却不被提掉,因为任何一方都不能填上另一方的倒数第二口气,否则会使自己陷入被叫吃

对杀 (semeai)
牵涉两块棋的战斗,任何一方都没有两个眼,最终提掉一方的棋子或者双活

先手 (sente)
迫使对方必须应的着法,因此保持着主动权;此术语也指在对局中先行

安定[一块棋] (settle [a group])
通过建立根基进行防卫

形 (shape)
指棋子阵势的整体效率,可以是好形或者恶形

征 (shicho)
征 (ladder) 的日本说法

闭 (shimari)
围角的日本说法

劫活 (shinogi)
杀掉入劫弱棋做成两眼

初段 (shodan)
一段的另外一种说法,相当于武术中的黑带

肩侵 (shoulder hit)
落于四线的着法,一路之隔斜对对方的三线棋子

气短 (shortage of liberties)
一棋子或一块棋没有足够的气来走出某一特定着法。例如,一块棋不能叫吃对方的棋子,因为这会使自己也陷入被叫吃

托 (slide)
在对方棋子下路拆,通常下在四线棋子下面的第二路

杀棋 (snapback)
能够立即提子的落子

SST 规则 (SST rules)
参见应氏规则

星位 (star point)
棋盘上九个黑色的大点,通常在让子时棋子放置在此处

棋子 (stone)
围棋棋子;最好的棋子使用页岩(黑子)和贝壳(白子)做成,次好的是玻璃,最便宜的棋子是由塑料制成

自杀着手 (suicide)
不提掉对方棋子反而把自己一块棋的最后一口气杀掉的着法

大劫 (superko)
现广泛应用的现代规则,禁止同一棋手走出导致跟先前出现过的盘面形势一样的着法

围 (surround)
包围,用于完成提子,或者阻止一块棋延向中腹或与其它棋连通

高目 (takamoku)
四五的日本说法

实地 (territory)
盘面上属于一棋手的由棋子包围的目数

数目法 (territory counting)
一种确定获胜者的数棋方式。在日韩和大部分其他国家所使用的数目法中,每一被围交叉点计作一目,每一提掉的死子计作一目(如果贴目,也加入);请参照数子法。数棋方法的选择基本不影响对弈的结果。

实地结构 (territorial framework)
盘面上由一个棋手松散建构的一个区域

妙手 (tesuji)
高明的着法

厚 (thickness)
缺陷很少的棋的特性

薄 (thinness)
易受攻击的棋的特性

三四 (3-4 point)
从边线数的三线和四线的交叉点,是开局常见着法之一

三三 (3-3 point)
从边线数的三线交叉点,是常见开局着法之一

点眼 (throw-in)
落子于对方棋中(即使会马上被提掉)用来杀气的战术

转换 (trade)
棋子或实空的交换

三劫循环 (triple ko)
一种少见的局势,三个劫同时打,三劫循环会无休止地循环;以前判为和局,现在通常被大劫规则所消除

靠 (tsuke)
靠 (attachment) 的日本说法

净活或净死
不依赖于劫争结果的一块棋的死活形式

急所 (vital point)
做活或者杀棋的要点

俗手 (vulgar move)
不高明的着法,看上去有利于己方,其实对对方也同样有利

立 (wall)
一块棋组成一条线,或者类似于一条线的形状

分投 (wariuchi)
打入一个开阔的区域,向两个方向都能拆二

渡过 (watari)
连接两块棋的低路着法

弱棋 (weak)
容易受到攻击的一棋子或一块棋子,例如无根基的一块棋子

围棋 (weiqi 或 wei-ch'i)
围棋的中国说法
作者: fsfool    时间: 2008-8-6 18:11     标题: CGPP1.0规定了一个柔性代码风格

CGPP1.0于2008年8月6日规定:今后围棋程序的源代码主要使用c/c++编制,代码风格完全采用魔笛丝公司的柔性代码风格规范1.0




欢迎光临 电脑围棋论坛 (http://www.computergo.net/forum/)