CN107433032A - 棋局数据处理方法和装置 - Google Patents

棋局数据处理方法和装置 Download PDF

Info

Publication number
CN107433032A
CN107433032A CN201610356234.9A CN201610356234A CN107433032A CN 107433032 A CN107433032 A CN 107433032A CN 201610356234 A CN201610356234 A CN 201610356234A CN 107433032 A CN107433032 A CN 107433032A
Authority
CN
China
Prior art keywords
chess
manual
sample
weights
chess manual
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201610356234.9A
Other languages
English (en)
Inventor
王威
邓连花
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Burson Marsteller Network Game Development (shenzhen) Co Ltd
Original Assignee
Burson Marsteller Network Game Development (shenzhen) Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Burson Marsteller Network Game Development (shenzhen) Co Ltd filed Critical Burson Marsteller Network Game Development (shenzhen) Co Ltd
Priority to CN201610356234.9A priority Critical patent/CN107433032A/zh
Publication of CN107433032A publication Critical patent/CN107433032A/zh
Pending legal-status Critical Current

Links

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F3/00Board games; Raffle games
    • A63F3/00643Electric board games; Electric features of board games
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/45Controlling the progress of the video game

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • General Engineering & Computer Science (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明涉及一种棋局数据处理方法和装置,该棋局数据处理方法包括:获取当前棋谱;根据所述当前棋谱模拟出下一步棋对应的多个模拟棋谱;从样本棋谱库内获取多个所述模拟棋谱对应的权值;根据所述权值的大小从多个所述模拟棋谱内择一作为所述当前棋谱对应的下一步棋并执行。本发明通过从样本棋谱库中获取模拟棋谱的权值,并根据权值的大小执行下一步棋,无需对下一步棋以及后续所有的棋进行计算,仅需模拟当前棋谱的下一步棋并根据权值选择下一步棋,有效减小了下一步棋的运算量,减小对服务器资源的消耗,提高了服务器运行效率。

Description

棋局数据处理方法和装置
技术领域
本发明涉及数据处理技术领域,特别是涉及棋局数据处理方法和装置。
背景技术
随着计算机技术和网络技术的不断发展,越来越多的游戏被安装在电子计算机中,提供人机对战,供人们娱乐。尤其是棋类游戏,不仅可以娱乐,还有益于儿童的智力成长。
棋类游戏在进行过程中,由于其包含的变化太多,计算机需要经过大量计算才能得出较优的一步棋,传统的人机对战通常采用递归算法进行地毯式的运算,通过模拟下一步棋的所有走法,返回所有走法,然后在每一种走法的基础上,继续模拟第二步的所有走法,直到运算出某一种走法一定能够获胜,或者某一种走法可能看起来能产生最优秀的结果。这种算法的计算速度慢,且需要消耗较多内存资源。
而在棋类联网对战游戏中,服务器往往需要同时进行多局的人机对战,这样,每一局对战都会消耗较多的计算机资源,同时进行的多局对战将造成计算机负荷较大,造成服务器运行效率底下。
发明内容
基于此,有必要针对上述棋局算法速度慢,消耗资源大的技术问题,提供一种棋局数据处理方法和装置。
一种棋局数据处理方法,包括以下步骤:
获取当前棋谱;
根据所述当前棋谱模拟出下一步棋对应的多个模拟棋谱;
从样本棋谱库内获取多个所述模拟棋谱对应的权值;
根据所述权值的大小从多个所述模拟棋谱内择一作为所述当前棋谱对应的下一步棋并执行。
一种棋局数据处理装置,包括:
当前棋谱获取模块,用于获取当前棋谱;
模拟棋谱生成模块,用于根据所述当前棋谱模拟出下一步棋对应的多个模拟棋谱;
权值获取模块,用于从样本棋谱库内获取多个所述模拟棋谱对应的权值;
执行模块,用于根据所述权值的大小从多个所述模拟棋谱内择一作为所述当前棋谱对应的下一步棋并执行。
上述棋局数据处理方法和装置,通过从样本棋谱库中获取模拟棋谱的权值,并根据权值的大小执行下一步棋,无需对下一步棋以及后续所有的棋进行计算,仅需模拟当前棋谱的下一步棋并根据权值选择下一步棋,有效减小了下一步棋的运算量,减小对服务器资源的消耗,提高了服务器运行效率。
附图说明
图1A为一实施例的棋局数据处理方法的流程示意图;
图1B为一实施例的获取多个模拟棋谱对应的权值的流程示意图;
图1C为一实施例的从多个模拟棋谱内择一作为当前棋谱对应的下一步棋并执行的流程示意图;
图1D为另一实施例的棋局数据处理方法的部分流程示意图;
图1E为一实施例的获取样本棋谱的流程示意图;
图2A为一具体实施例的棋局数据处理方法的流程示意图;
图2B为一具体实施例的选择模拟棋谱的流程示意图;
图3A为一实施例的棋局数据处理装置的功能模块图;
图3B为一实施例的权值获取模块的功能模块图;
图3C为一实施例的执行模块的功能模块图;
图3D为另一实施例的棋局数据处理装置的功能模块图;
图3E为一实施例的样本棋谱获取模块的功能模块图;
图4为一实施例的棋盘局面旋转以及镜像后获得的棋盘局面示意图;
图5为一实施例的棋盘局面示意图;
图6为一实施例的样本棋谱的生成及记录的流程示意图。
具体实施方式
为了便于理解本发明,下面将参照相关附图对本发明进行更全面的描述。附图中给出了本发明的较佳实施例。但是,本发明可以以许多不同的形式来实现,并不限于本文所描述的实施例。相反地,提供这些实施例的目的是使对本发明的公开内容的理解更加透彻全面。
如图1A所示,在一个实施例中,提供了一种棋局数据处理方法,包括以下步骤:
步骤120,获取当前棋谱。
具体地,当前棋谱为当前棋盘局面对应的棋谱,该棋谱记录了当前棋盘局面的棋子分布情况,包括棋盘上第一方棋子的位置、第二方棋子的位置以及未落子的位置,棋谱通过数值或者编码表示棋盘上第一方棋子的位置、第二方棋子的位置以及未落子的位置。本步骤中,解析当前棋盘局面,获取当前棋盘局面对应的当前棋谱。
一个实施例是,当前棋谱可以是棋盘局面处于任一阶段时的棋谱,例如,棋盘开局、中局或收官阶段,且当前棋谱仅记录了当前棋盘局面的第一方棋子的位置、第二方棋子的位置和未落子位置,并未包含落子顺序。
步骤140,根据当前棋谱模拟出下一步棋对应的多个模拟棋谱。
具体地,模拟棋谱为当前棋谱的下一步棋对应的棋谱,即以当前棋盘局面为基础,在剩余的未落子的位置任意落一子形成的下一步的棋盘局面对应的棋谱为模拟棋谱。本实施例中,当前棋盘局面可落子的位置有多个,下一步棋可能存在多种走法,本步骤中,将所有的走法都模拟,并相应生成多个模拟棋谱。
步骤160,从样本棋谱库内获取多个模拟棋谱对应的权值。
本实施例中,样本棋谱库存储在数据库中,样本棋谱库包含了多个棋谱的权值。本步骤从样本棋谱库中查找与模拟棋谱对应的权值,并获取该权值。具体地,样本棋谱库为预设的样本棋谱库,可以是通过接收输入指令获取的,也可以是通过多次下棋形成的棋谱生成的。
步骤180,根据权值的大小从多个模拟棋谱内择一作为当前棋谱对应的下一步棋并执行。
具体地,权值可以是数值也可以是其他能够量化的码值,多个权值具有同一属性,能够用于比较大小。本步骤中,根据权值的大小,从多个模拟棋谱中选择其中一个,作为最优的下一步棋,并以该模拟棋谱执行下一步棋,即根据该模拟棋谱落子。
由于无需对下一步棋以及后续所有的棋进行计算,仅需模拟当前棋谱的下一步棋并根据权值选择下一步棋,且由于样本棋谱库存储在数据库中,因此,在查找权值时无需计算模拟棋谱的胜率,直接根据所查找到的权值进行决策,使得下一步棋的决策的运算量更小,有效减小了下一步棋的运算量,减小对服务器资源的消耗,提高了服务器运行效率。
如图1B所示,在一个实施例中,步骤160包括:
步骤162,检测样本棋谱库内是否存在与模拟棋谱相同的样本棋谱。
具体地,样本棋谱库内包含了多个样本棋谱,样本棋谱记录了各棋盘局面的棋子分布情况。本实施例中,将模拟棋谱与样本棋谱库内的样本棋谱对比,对比是否存在与模拟棋谱相同的样本棋谱。
步骤164,当样本棋谱库内存在与模拟棋谱相同的样本棋谱时,根据样本棋谱获取模拟棋谱对应的权值。
具体地,每一样本棋谱对应一权值,当存在与模拟棋谱相同的样本棋谱时,获取该样本棋谱对应的权值,则该权值与模拟棋谱对应。
由于样本棋谱以及权值存储于数据库中,因此,在获取权值时,只需查找数据库即可获得与模拟棋谱对应的权值,进而执行下一步棋,相应的查找的计算量较小,有效减小了下一步棋的运算量。
在其他实施例中,当样本棋谱库内不存在与模拟棋谱相同的样本棋谱时,通过递归算法计算当前棋谱对应的下一步棋的棋谱并执行。递归算法可以为基本算法、最小-最大搜索算法或alpha-beta裁剪的算法等,应该理解的是递归算法为现有算法,本实施例中不再累赘叙述。
这样,当未检测到样本棋谱库内存在与模拟棋谱相同的样本棋谱时,则通过递归算法,模拟当前棋谱的下一步棋,选择最优的一步棋执行,执行完成下一步棋后,则返回至步骤120。
如图1C所示,在一个实施例中,步骤180包括:
步骤182,比较多个模拟棋谱对应的权值的大小。
本实施例中,权值可以是数值也可以是其他能够量化的码值,多个权值具有同一属性,能够用于比较大小。本实施例中,比较每一模拟棋谱对应的权值的大小。
步骤184,以最大的权值对应的模拟棋谱作为当前棋谱对应的下一步棋执行。
具体地,比较多个权值的大小,权值越大,则对应的模拟棋谱的优先级越高,本实施例中,获取最大的权值,根据最大的权值对应的模拟棋谱执行下一步棋。
在本实施例中,在选择下一步棋的走法时,由于比较权值的大小的计算量较小,相应地获取下一步棋的走法的运算量也较小。
如图1D所示,在一个实施例中,步骤120之前包括:
步骤102,获取样本棋谱。
本实施例中,通过多盘棋局获取多个样本棋谱,具体地,每一盘棋局包括多个棋谱,每一棋谱记录了该棋局每一步棋对应的棋盘局面,通过多盘棋局获取到的多个样本棋谱,每一样本棋谱对应一棋局的其中一步的棋盘局面,每一样本棋谱记录了对应的棋盘局面,即记录了每一棋盘局面对应的棋子位置和未落子的位置。
一个实施例是,从不同棋局获得的样本棋谱可以是相同的,也可以是不相同的。
步骤104,获取样本棋谱对应的胜率。
本实施例中,从不同棋局获取到样本棋谱后,获取该样本棋谱的胜率。具体地,每一棋局结束后,产生胜负关系,在获取样本棋谱时,检测该样本棋谱在对应棋局中是否属于胜利方,如属于胜利方,则作相应标记,如多个棋局中均包含该样本棋谱,计算该样本棋谱最终在多个棋局中胜利的比率,从而获得该样本棋谱对应的胜率。
步骤106,根据样本棋谱的胜率生成对应的权值,权值与样本棋谱的胜率正相关。
本实施例中,根据样本棋谱的胜率生成权值,该权值与样本棋谱的胜率正相关,即样本棋谱的胜率越大,则权值越大,这样,根据权值执行下一步棋时,获胜的几率也就越大。
步骤108,存储多个样本棋谱及对应的权值,生成样本棋谱库。
具体地,将生成的多个样本棋谱以及与样本棋谱对应的权值存储到数据库中,生成样本棋谱库,即样本棋谱库存储了多个样本棋谱以及对应的权值。
如图1E所示,在一个实施例中,步骤102包括:
步骤102A,解析棋盘局面,获取棋盘内第一方棋子的位置、第二方棋子的位置以及空白的位置。
具体地,棋盘局面可以是任一棋局的任一步棋对应的局面,本步骤通过解析该棋盘局面,获得该棋盘内的第一方棋子的位置、第二方棋子的位置以及空白的位置,一个实施例是,本步骤仅获取第一方棋子的位置、第二方棋子的位置以及空白的位置,而并不获取落子顺序,这样,使得获取的数据量更小,有利于存储,减小存储量,并提高了后续查找的效率。
步骤102B,将第一方棋子的位置、第二方棋子的位置以及空白的位置编译为三进制码,并编码压缩生成样本棋谱。
具体地,以三进制码表示棋盘内的第一方棋子的位置、第二方棋子的位置以及空白的位置,并编码获得三进制码对应的棋谱,将三进制码对应的棋谱再次压缩,生成样本棋谱。
一个实施例是:解析棋盘局面,获取棋盘内第一方棋子的位置、第二方棋子的位置以及空白的位置,将第一方棋子的位置、第二方棋子的位置以及空白的位置编译为三进制码,生成三进制棋谱;将每行的三个相邻的三进制码转换为一个二十七进制码,将三进制棋谱转换为二十七进制棋谱;将二十七进制棋谱中连续为零的数位压缩成相应数量的数值表示,生成样本棋谱。
通过将棋谱编码压缩,使得生成的样本棋谱数据量更小,减小了样本棋谱库的存储量,并提高了样本棋谱的查找效率。
在一个实施例中,如图4所示,解析棋盘局面,获取棋盘内第一方棋子的位置、第二方棋子的位置以及空白的位置,并以将该棋盘依次旋转90°、180°和270°获得另外三个不同方向的棋盘局面,并将该棋盘局面以及旋转后获得的三个棋盘局面分别以棋盘的某一边镜像获得另外四个棋盘局面,从而获得总共八个棋盘局面,而这八个棋盘局面实际为同一个棋盘局面,是由一个棋盘局面从不同的落子角度获得的。随后分别对这八个棋盘局面进行编码获得八个样本棋谱,应该理解的是,由于八个棋盘局面并不记录落子顺序,因此,最终获得的八个样本棋谱其实际对应的是一个棋盘局面。这样,使得一个棋盘局面对应八个样本棋谱,能够使得样本棋谱数量更多,使得模拟棋谱更容易找到匹配的样本棋谱,提高了查找效率。
下面是一个具体实施例:
在本实施例中,服务器首先进行多盘棋局的“学习”,通过多盘棋局获取到样本棋谱,具体地,服务器进行了多盘的人机对战,或机机对战,且服务器在这多盘的棋局中采用了棋局数据处理方法进行运算下棋,服务器通过解析多盘的棋局,获取每一棋局内每一步对应的棋谱,将该棋谱编码压缩生成样本棋谱。
具体地,如图5所示,是一个实施例中的摆放型棋局的棋盘局面,采用传统的编码方式对每一棋子所在位置对应的横坐标以及纵坐标进行记录,并根据落子顺序生成的棋谱为:
8H7G7H6H8F7I8GE88I8J5G9K10L9J10J9H9I10K11K12L10I11I9G9F10G11G10H10F。
该棋谱总共是67个字符。而在本实施例中,首先获取棋盘局面中第一方棋子的位置、第二方棋子的位置以及空白的位置,空白位置即未落子的位置,将第一方棋子的位置、第二方棋子的位置以及空白的位置编译为三进制码,即以0表示空白的位置,以1表示第一方棋子的位置,以2表示第二方棋子的位置,则图5中的棋盘局面表示为以下三进制数据矩阵,即三进制棋谱:
000-000-000-000-000
000-000-000-000-000
000-000-000-000-000
000-000-000-002-000
000-000-202-010-000
000-002-111-121-000
000-002-121-220-000
000-021-111-200-000
000-000-212-000-000
000-000-020-000-000
000-000-100-000-000
000-000-000-000-000
000-000-000-000-000
000-000-000-000-000
000-000-000-000-000
对上述三进制数据矩阵压缩,将每行的三个相邻的三进制码转换为一个二十七进制码,例如,本实施例中,二十七进制码包括0与二十六个英文字母,二十七进制码与三个三进制码的对应关系如下表所示:
000->0 100->i 200->r
001->a 101->j 201->s
002->b 102->k 202->t
010->c 110->l 210->u
011->d 111->m 211->v
012->e 112->n 212->w
020->f 120->o 220->x
021->g 121->p 221->y
022->h 122->q 222->z
根据上表的二十七进制码与三个三进制码的对应关系将三进制数据矩阵压缩为二十七进制数据矩阵,如第5行压缩过程为:
000-000-202-010-000 0-0-t-c-0
而整个的二十七进制数据矩阵,即二十七进制棋谱为:
0-0-0-0-0
0-0-0-0-0
0-0-0-0-0
0-0-0-b-0
0-0-t-c-0
0-b-m-p-0
0-b-p-x-0
0-g-m-r-0
0-0-w-0-0
0-0-f-0-0
0-0-i-0-0
0-0-0-0-0
0-0-0-0-0
0-0-0-0-0
0-0-0-0-0
将上述的二十七进制棋谱中连续为零的数位压缩成相应数量的数值表示,生成样本棋谱,例如,从第一行第一位至第四行第四位之前,总共是18个0,则相应的用18表示这些0,其他连续为0的位数也相应压缩成相应数量的数值,那么,压缩生成的样本棋谱为:
18b3tc2bmp2bpx2gmr3w4f4i22。
上述样本棋谱总共22的字符,较传统的编码方式的棋谱数据量更小,减小了样本棋谱库的存储量,并提高了样本棋谱的查找效率。
而随着棋局接近收官阶段,0的数位减少,则相应的样本棋谱的数据长度将随之增加,但由于接近收官阶段,棋盘上可落子的位置也更少了,因此对应的模拟的模拟棋谱数量也就少,则相应的运算量也减少。
在棋局结束后,将棋局的样本棋谱存储到数据库中,生成样本棋谱库,存储到数据库中,然后使用checksum,hashbyte等函数,作为查询的索引进行查询。
值得一提的是,本实施例中,生成样本棋谱时并未获取落子顺序,获取的仅是棋盘上棋子的位置和未落子的位置,因此数据量更小。获取多个棋局的样本棋谱时,由于样本棋谱并未记录落子顺序,因此,将会获得的多个相同的样本棋谱。
具体地,对结束的棋局中的每一步的棋盘局面进行解析,并记录该棋盘局面的每一步,生成与样本棋谱对应的权值。
如图6所示,本实施例中,获得结束的棋局中的每一步的棋盘局面,检测该棋盘局面对应的一步棋是否为胜利方执行的,如是,则记录这一步棋为好棋,否则记录这一步棋为坏棋,对这一步棋的棋盘局面编码生成样本棋谱,记录该样本棋谱,直至棋局结束。在多盘棋局结束后,获取相同的样本棋谱的数量,并以记录了好棋的样本棋谱的数量与相同的样本棋谱的数量之比计算得出该样本棋谱对应的胜率,以该胜率生成与样本棋谱对应的权值。
权值与胜率正相关,权值还与对弈时间、对弈双方水平以及输入的预设权重相关。例如,对弈时间越久远,在其他条件相同的情况下,权值越小,而对弈时间越接近当前棋局,则权值越大;对弈双方水平越高,在其他条件相同的情况下,则权值越大;而输入的预设权重则与此步棋是否存在重大缺陷相关,权值适应调整。
本实施例中,在当前棋局进行时,如图2A所示,下棋步骤包括:
步骤202,获取当前棋盘局面的当前棋谱。
步骤204,根据当前棋谱模拟下一步棋对应的多个模拟棋谱。
如图2B所示,当前棋谱对应有多个模拟棋谱。
步骤206,检测样本棋谱库内是否存在与模拟棋谱相同的样本棋谱,若是执行步骤210,否则执行步骤208。
步骤208,通过递归算法计算当前棋谱对应的下一步棋的棋谱并执行,随后返回步骤202。
步骤210,根据样本棋谱获取模拟棋谱对应的胜率。
在本实施例中,权值等于胜率,如图2B所示,每一模拟棋谱对应一个胜率。
步骤212,比较多个模拟棋谱对应的胜率的大小。
步骤214,以最大的胜率对应的模拟棋谱作为当前棋谱对应的下一步棋并执行。
如图2B所示,本实施例中,胜率最大为第二个模拟棋谱,即模拟棋谱2,其胜率为99%。因此,本实施例中以第二个模拟棋谱为作为当前棋谱的下一步棋执行,随后返回步骤202。
如图3A所示,在一个实施例中,提供了一种棋局数据处理装置,包括:
当前棋谱获取模块310,用于获取当前棋谱。
模拟棋谱生成模块320,用于根据当前棋谱模拟出下一步棋对应的多个模拟棋谱。
权值获取模块330,用于从样本棋谱库内获取多个模拟棋谱对应的权值。
执行模块340,用于根据权值的大小从多个模拟棋谱内择一作为当前棋谱对应的下一步棋并执行。
如图3B所示,在一个实施例中,权值获取模块330包括:
相同棋谱检测子模块331,用于检测样本棋谱库内是否存在与模拟棋谱相同的样本棋谱。
权值获取子模块332,用于当样本棋谱库内存在与模拟棋谱相同的样本棋谱时,根据样本棋谱获取所述模拟棋谱对应的权值。
如图3C所示,在一个实施例中,执行模块340包括:
权值比较子模块341,用于比较多个模拟棋谱对应的权值的大小。
最大权值执行子模块342,用于以最大的权值对应的模拟棋谱作为当前棋谱对应的下一步棋执行。
如图3D所示,在一个实施例中,棋局数据处理装置还包括:
样本棋谱获取模块350,用于获取样本棋谱。
胜率获取模块360,用于获取样本棋谱对应的胜率。
权值生成获取模块370,用于根据样本棋谱的胜率生成对应的权值,权值与样本棋谱的胜率正相关。
样本库生成模块380,用于存储多个样本棋谱及对应的权值,生成样本棋谱库。
如图3E所示,在一个实施例中,样本棋谱获取模块350包括:
位置获取子模块351,用于解析棋盘局面,获取棋盘内第一方棋子的位置、第二方棋子的位置以及空白的位置。
样本编码生成子模块352,用于将第一方棋子的位置、第二方棋子的位置以及空白的位置编译为三进制码,并编码压缩生成样本棋谱。
应该说明的是,上述系统实施例中,所包括的各个模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能模块的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
另外,本领域普通技术人员可以理解实现上述各实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,相应的程序可以存储于可读取存储介质中。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

Claims (10)

1.一种棋局数据处理方法,其特征在于,包括:
获取当前棋谱;
根据所述当前棋谱模拟出下一步棋对应的多个模拟棋谱;
从样本棋谱库内获取多个所述模拟棋谱对应的权值;
根据所述权值的大小从多个所述模拟棋谱内择一作为所述当前棋谱对应的下一步棋并执行。
2.根据权利要求1所述的棋局数据处理方法,其特征在于,所述从样本棋谱库内获取多个所述模拟棋谱对应的权值的步骤包括:
检测所述样本棋谱库内是否存在与所述模拟棋谱相同的样本棋谱;
当所述样本棋谱库内存在与所述模拟棋谱相同的样本棋谱时,根据所述样本棋谱获取所述模拟棋谱对应的权值。
3.根据权利要求1所述的棋局数据处理方法,其特征在于,所述根据所述权值的大小从多个所述模拟棋谱内择一作为所述当前棋谱对应的下一步棋并执行的步骤包括:
比较多个所述模拟棋谱对应的权值的大小;
以最大的权值对应的所述模拟棋谱作为所述当前棋谱对应的下一步棋执行。
4.根据权利要求1所述的棋局数据处理方法,其特征在于,所述获取当前棋谱的步骤之前包括:
获取样本棋谱;
获取所述样本棋谱对应的胜率;
根据所述样本棋谱的胜率生成对应的权值,所述权值与所述样本棋谱的胜率正相关;
存储多个所述样本棋谱及对应的权值,生成样本棋谱库。
5.根据权利要求4所述的棋局数据处理方法,其特征在于,所述获取样本棋谱的步骤包括:
解析棋盘局面,获取棋盘内第一方棋子的位置、第二方棋子的位置以及空白的位置;
将第一方棋子的位置、第二方棋子的位置以及空白的位置编译为三进制码,并编码压缩生成样本棋谱。
6.一种棋局数据处理装置,其特征在于,包括:
当前棋谱获取模块,用于获取当前棋谱;
模拟棋谱生成模块,用于根据所述当前棋谱模拟出下一步棋对应的多个模拟棋谱;
权值获取模块,用于从样本棋谱库内获取多个所述模拟棋谱对应的权值;
执行模块,用于根据所述权值的大小从多个所述模拟棋谱内择一作为所述当前棋谱对应的下一步棋并执行。
7.根据权利要求6所述的棋局数据处理装置,其特征在于,所述权值获取模块包括:
相同棋谱检测子模块,用于检测所述样本棋谱库内是否存在与所述模拟棋谱相同的样本棋谱;
权值获取子模块,用于当所述样本棋谱库内存在与所述模拟棋谱相同的样本棋谱时,根据所述样本棋谱获取所述模拟棋谱对应的权值。
8.根据权利要求6所述的棋局数据处理装置,其特征在于,所述执行模块包括:
权值比较子模块,用于比较多个所述模拟棋谱对应的权值的大小;
最大权值执行子模块,用于以最大的权值对应的所述模拟棋谱作为所述当前棋谱对应的下一步棋执行。
9.根据权利要求6所述的棋局数据处理装置,其特征在于,还包括:
样本棋谱获取模块,用于获取样本棋谱;
胜率获取模块,用于获取所述样本棋谱对应的胜率;
权值生成获取模块,用于根据所述样本棋谱的胜率生成对应的权值,所述权值与所述样本棋谱的胜率正相关;
样本库生成模块,用于存储多个所述样本棋谱及对应的权值,生成样本棋谱库。
10.根据权利要求9所述的棋局数据处理装置,其特征在于,所述样本棋谱获取模块包括:
位置获取子模块,用于解析棋盘局面,获取棋盘内第一方棋子的位置、第二方棋子的位置以及空白的位置;
样本编码生成子模块,用于将第一方棋子的位置、第二方棋子的位置以及空白的位置编译为三进制码,并编码压缩生成样本棋谱。
CN201610356234.9A 2016-05-25 2016-05-25 棋局数据处理方法和装置 Pending CN107433032A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610356234.9A CN107433032A (zh) 2016-05-25 2016-05-25 棋局数据处理方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610356234.9A CN107433032A (zh) 2016-05-25 2016-05-25 棋局数据处理方法和装置

Publications (1)

Publication Number Publication Date
CN107433032A true CN107433032A (zh) 2017-12-05

Family

ID=60454283

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610356234.9A Pending CN107433032A (zh) 2016-05-25 2016-05-25 棋局数据处理方法和装置

Country Status (1)

Country Link
CN (1) CN107433032A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113946604A (zh) * 2021-10-26 2022-01-18 网易有道信息技术(江苏)有限公司 分阶段围棋教学方法、装置、电子设备及存储介质
CN114372176A (zh) * 2022-03-22 2022-04-19 北京航空航天大学杭州创新研究院 棋谱纠正方法及设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI250421B (en) * 2003-11-28 2006-03-01 Sohare Information Co Ltd Method of playing chess with an artificial intelligent device
CN101571892A (zh) * 2009-04-27 2009-11-04 姚斯宇 一种围棋人机对弈软件中围棋落子点的选择方法
CN104915532A (zh) * 2014-03-12 2015-09-16 博雅网络游戏开发(深圳)有限公司 电子牌游戏数据处理方法和系统
CN105302963A (zh) * 2015-10-30 2016-02-03 沈阳航空航天大学 一种机器博弈优化方法
WO2016068558A1 (ko) * 2014-10-27 2016-05-06 허철구 대국형 게임을 위한 훈수 시스템 및 훈수 방법

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI250421B (en) * 2003-11-28 2006-03-01 Sohare Information Co Ltd Method of playing chess with an artificial intelligent device
CN101571892A (zh) * 2009-04-27 2009-11-04 姚斯宇 一种围棋人机对弈软件中围棋落子点的选择方法
CN104915532A (zh) * 2014-03-12 2015-09-16 博雅网络游戏开发(深圳)有限公司 电子牌游戏数据处理方法和系统
WO2016068558A1 (ko) * 2014-10-27 2016-05-06 허철구 대국형 게임을 위한 훈수 시스템 및 훈수 방법
CN105302963A (zh) * 2015-10-30 2016-02-03 沈阳航空航天大学 一种机器博弈优化方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113946604A (zh) * 2021-10-26 2022-01-18 网易有道信息技术(江苏)有限公司 分阶段围棋教学方法、装置、电子设备及存储介质
CN113946604B (zh) * 2021-10-26 2023-01-20 网易有道信息技术(江苏)有限公司 分阶段围棋教学方法、装置、电子设备及存储介质
CN114372176A (zh) * 2022-03-22 2022-04-19 北京航空航天大学杭州创新研究院 棋谱纠正方法及设备
CN114372176B (zh) * 2022-03-22 2022-06-24 北京航空航天大学杭州创新研究院 棋谱纠正方法及设备

Similar Documents

Publication Publication Date Title
CN104866578B (zh) 一种不完整物联网数据混合填充方法
CN108573399A (zh) 基于转移概率网络的商户推荐方法及其系统
CN107704563A (zh) 一种问句推荐方法及系统
CN104348490B (zh) 一种基于效果优选的组合数据压缩方法
Aliabadi et al. Storing sparse messages in networks of neural cliques
CN107391549A (zh) 基于人工智能的新闻召回方法、装置、设备及存储介质
CN109165720A (zh) 神经网络模型压缩方法、装置和计算机设备
CN106960358A (zh) 一种基于农村电子商务大数据深度学习的金融欺诈行为量化检测系统
CN112819604A (zh) 基于融合神经网络特征挖掘的个人信用评估方法与系统
CN112138403B (zh) 交互行为的识别方法和装置、存储介质及电子设备
CN105931046A (zh) 一种可疑交易节点集合侦测方法及装置
CN110097172A (zh) 一种基于winograd卷积运算的卷积神经网络数据处理方法及装置
CN106650022A (zh) 复杂电子设备故障预测的方法
CN113361698A (zh) 神经网络模型的处理方法和装置、数据处理方法和装置
CN109874018A (zh) 基于神经网络的图像编码方法、系统、终端及存储介质
CN107433032A (zh) 棋局数据处理方法和装置
Ashlock et al. Fingerprinting: Visualization and automatic analysis of prisoner's dilemma strategies
CN111861231A (zh) 一种基于决策树的飞行训练特情智能生成方法
CN113724061A (zh) 基于客户分群的消费金融产品信用评分方法及装置
CN110399344A (zh) 选取重复图像的方法及装置
CN104077272B (zh) 一种字典压缩的方法和装置
CN113230650A (zh) 一种数据处理方法、装置及计算机可读存储介质
CN107944045A (zh) 基于t分布哈希的图像检索方法及系统
CN114417161A (zh) 基于异构图的虚拟物品时序推荐方法、装置、介质及设备
CN117648585B (zh) 基于任务相似度的智能决策模型泛化方法和装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20171205