首页 百科知识 模式的获取

模式的获取

时间:2022-10-01 百科知识 版权反馈
【摘要】:就如同人类学习围棋需要打谱一般,计算机学习围棋模式的过程也可以看作一个打谱的过程。所以,在定义模式的表示时要尤其谨慎,模式表示的好坏直接决定了所提取出的模式的质量。Listing12.1中为该过程的伪码,其中第5行extract_pattern除了需要抽取模式本身外,也要记录其他所需的信息及相关的统计信息。

12.1 模式的获取

就如同人类学习围棋需要打谱一般,计算机学习围棋模式的过程也可以看作一个打谱的过程。在计算机的这个打谱过程中,通过读入棋谱,然后将棋子一颗一颗摆放到棋盘上的对应位置,每摆放一颗棋子,便按照抽取的规则来获取我们所关注的模式,最后,通过适当的算法来对搜索到的大量模式的统计特性进行分析计算,由此来对所有已捕获模式的相关统计信息。通过这些统计信息,来在对弈过程中提供指导。

在自动获取模式的过程中,有以下几个非常重要的关键点是必须要确定的,这些都是与模式本身的特征紧密相关的。

①对于当前的一个需要抽取模式的局面,首先就需要让机器有一个视角;这就如同人看物体一样,需要让目光聚焦到某个点上,然后视线再由这个点发散出去,由此不断看清一个大范围内的物体。在模式的抽取中,我们把这样的一个视线的聚焦点称为锚点,在锚点的选择上,最自然的做法通常是选择当前局面下最后的落子点作为锚点;并且也就将这个点作为我们提取模式的中心点。我们这样处理,一方面是为了使得模式有个统一的格式,便于表示和使用;另一方面,也是因为模式所包含的点并不应当仅是有棋子的点,棋子周围的空点,尤其是边界信息等相关的内容更是必须关注的部分。

②当选取了锚点之后,便可以以该锚点为中心而划出一个范围,抓取出这个范围内的棋盘上的各个点的状态,包括空点及边角信息。范围的划定也是依需要而定,既可以是对所有模式采用一个固定大小的边界,也可以是根据实际情况来自然划分边界。当然,这也是各有优劣,在实际情况中,我们也需要对此进行适当取舍。

③通过对大量棋谱的每一步进行处理,并且将和每个模式相关的统计信息保存下来;最后,我们便可以采用相关的基于概率和统计的算法,或者合适的机器学习方法来对模式进行定量的分析,并对每个模式给出适当的评价信息,这个评价信息多是个分数,也可以是模式的作用或类别,比如某个模式和断或者尖属于一类等。

从这个抽取过程我们可以发现,该过程和模式的表示具有很大的相关性,模式的抽取就是按照模式表示需要包含的内容来进行抽取的。所以,在定义模式的表示时要尤其谨慎,模式表示的好坏直接决定了所提取出的模式的质量。

Listing12.1中为该过程的伪码,其中第5行extract_pattern除了需要抽取模式本身外,也要记录其他所需的信息及相关的统计信息。第6~11行的细节将在第12.2节提到。

Listing 12.1 模式抽取的伪码

img152

如图12.1所示,是分别针对在19×19盘面上的两手连续的棋(A为第46手和B为第47手)的3×3模式的抽取,在两个局面中,分别有一大一小两个方框,其中小方框是该模式的中心点,大方框是抽取模式时所圈定的范围,我们需要记录的就是落在大方框和小方框之间的位置的状态信息。

img153

图12.1 模式的抽取

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈