一种吃子复盘学习方法、装置、电子设备及存储介质与流程

专利2024-04-13  8



1.本技术涉及复盘学习技术领域,尤其涉及一种吃子复盘学习方法、装置、电子设备及存储介质。


背景技术:

2.目前,市面上围棋吃子类的产品有很多,其主要的目的是在9路或13路棋盘上,用户和人工智能(artificial intelligence,ai)交替下棋,首先吃掉对方若干棋子的一方获胜,类似这样的游戏和游戏变种有很多。用户需要通过吃子复盘学习提升围棋技艺,但是,在吃子复盘的学习中,用户往往存在“哪些棋子下错了?”、“下错的棋子应该下到哪?”“后续棋局该怎么走?”等相关问题,需要在老师的指导下方可进行有效的复盘学习,学习的自主性会受到影响。


技术实现要素:

3.有鉴于此,本技术的目的在于提出一种吃子复盘学习方法、装置、电子设备及存储介质用以解决上述技术问题。
4.本公开示例性实施例提供了一种吃子复盘学习方法,包括:
5.获取用户经过人机交互对弈后的对局数据,并根据所述对局数据确定用户在该次对弈中的多个用户落子点;
6.对于每一个所述用户落子点,确定该用户落子点对应的至少一个推荐落子点;根据该用户落子点及其对应的所述推荐落子点,确定该用户落子点的推荐值;
7.将全部所述推荐值中满足预定条件的所述用户落子点确定为坏手点;
8.对于每个所述坏手点,确定该坏手点对应的每个所述推荐落子点的胜率值,将所述胜率值中最高的确定为最高胜率值,并将所述最高胜率值对应的所述推荐落子点确定为目标落子点;根据所述目标落子点,生成复盘演示数据,并将所述复盘演示数据向用户展示。
9.在一些示例性实施例中,所述确定该用户落子点对应的至少一个推荐落子点,具体包括:
10.确定该用户落子点落子之前的棋盘布局数据;
11.将所述棋盘布局数据输入预先训练的策略网络模型,得到所述策略网络模型输出的至少一个所述推荐落子点;
12.其中,至少一个所述推荐落子点中的一个与所述用户落子点相同。
13.在一些示例性实施例中,所述策略网络模型的输出还包括每个所述推荐落子点对应的推荐度;所述用户落子点的推荐度等于与所述用户落子点相同的所述推荐落子点的推荐度;
14.所述推荐值的计算过程为:
15.推荐值=用户落子点的推荐度/比所述用户落子点推荐度高的推荐落子点的推荐
度总和。
16.在一些示例性实施例中,所述对于每个所述坏手点,确定该坏手点对应的每个所述推荐落子点的胜率值,并将最高胜率值对应的所述推荐落子点确定为目标落子点,包括:
17.利用预先训练的估值网络模型和快速走子网络模型,依据快速搜索方式搜索每个所述推荐落子点的胜率值;
18.依据全部所述胜率值为每个所述推荐落子点进行排序,将所述胜率值中最高的确定为最高胜率值,并将所述最高胜率值对应的所述推荐落子点确定为目标落子点。
19.在一些示例性实施例中,根据所述目标落子点,生成复盘演示数据,并将所述复盘演示数据向用户展示,包括:
20.确定该目标落子点的棋盘布局数据;
21.将该目标落子点的棋盘布局数据输入预先训练的策略网络模型,得到所述策略网络模型输出的至少一个下一步推荐落子点;
22.利用预先训练的估值网络模型和快速走子网络模型,依据快速搜索方式搜索每个所述下一步推荐落子点的胜率值;
23.依据全部所述胜率值为每个所述下一步推荐落子点进行排序,将所述胜率值中最高的确定为最高胜率值,并将所述最高胜率值对应的所述推荐落子点确定为下一步目标落子点;
24.基于所述下一步目标落子点,重新确定所述棋盘布局数据;
25.响应于确定符合落子结束条件,生成复盘演示数据,并将所述复盘演示数据向用户展示。
26.在一些示例性实施例中,所述快速搜索方式为mcts搜索。
27.在一些示例性实施例中,所述mcts搜索的结束条件包括:
28.搜索时间超出5s;
29.或者,
30.最高胜率值比次高胜率值高出50%;
31.其中,所述次高胜率值为与所述最高胜率值最接近的胜率值。
32.基于同一发明构思,本公开示例性实施例还提供了一种吃子复盘学习装置,包括:
33.获取模块,获取用户经过人机交互对弈后的对局数据,并根据所述对局数据确定用户在该次对弈中的多个用户落子点;
34.计算模块,对于每一个所述用户落子点,确定该用户落子点对应的至少一个推荐落子点;根据该用户落子点及其对应的所述推荐落子点,确定该用户落子点的推荐值;
35.坏手点模块,将全部所述推荐值中满足预定条件的所述用户落子点确定为坏手点;
36.展示模块,对于每个所述坏手点,确定该坏手点对应的每个所述推荐落子点的胜率值,并将最高胜率值对应的所述推荐落子点确定为目标落子点;根据所述目标落子点,生成复盘演示数据,并将所述复盘演示数据向用户展示。
37.基于同一发明构思,本公开示例性实施例还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如上任意一项所述的方法。
38.基于同一发明构思,本公开示例性实施例还提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,其特征在于,所述计算机指令用于使计算机执行如上任一所述方法。
39.从上面所述可以看出,本技术提供了一种吃子复盘学习方法、装置、电子设备及存储介质,先行对人机对弈用户落子点中的坏手点进行筛选,并推荐与所述坏手点对应的胜率高的目标落子点,及生成基于该目标落子点的复盘演示数据,供用户学习;摆脱了复盘学习过程中对于老师指导的依赖,提高用户自主学习的能动性。
附图说明
40.为了更清楚地说明本技术或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
41.图1为本公开示例性实施例的应用场景示意图;
42.图2为本公开示例性实施例的吃子复盘学习方法的流程示意图;
43.图3为本公开示例性实施例的推荐落子点的选定过程流程示意图;
44.图4为本公开示例性实施例的推荐落子点的选定过程另一个流程示意图;
45.图5为本公开示例性实施例的目标落子点的选定过程流程示意图;
46.图6为本公开示例性实施例的复盘演示数据生成过程的流程示意图;
47.图7为本公开示例性实施例的吃子复盘学习装置的结构示意图;
48.图8为本公开示例性实施例的电子设备结构示意图。
具体实施方式
49.下面将参考若干示例性实施方式来描述本技术的原理和精神。应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本公开,而并非以任何方式限制本技术的范围。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
50.根据本公开的实施方式,提出了一种文本处理模型的训练方法、文本处理方法及相关设备。
51.在本文中,需要理解的是,附图中的任何元素数量均用于示例而非限制,以及任何命名都仅用于区分,而不具有任何限制含义。
52.为了方便理解,下面对本公开实施例中涉及的名词进行解释:
53.神经网络(artificial neural networks,anns):根据生物神经网络的原理和实际应用的需要建造实用的人工神经网络模型,设计相应的学习算法,模拟人脑的某种智能活动,然后在技术上实现出来用以解决实际问题。
54.策略网络模型(policynet,策略网络):是利用神经网络进行训练(学习)之后,能够基于当前的棋盘进行下一步落子点的筛选和确定。
55.估值网络模型(valuenet,估值网络):是利用神经网络经过大量的样本训练(学习)后得到的能够基于棋盘当前的状态预测下一步的各种落子的胜率值的神经网络模型。
具有神经网络的特点,有一定的自学习的能力。
56.快速走子网络模型(fastnet,快速走子网络):是利用神经网络进行训练(学习)后得到的能够基于棋盘当前的状态进行后续快速交替落子的神经网络模型。
57.蒙特卡洛树搜索(monte carlo tree search,mcts):也称作mcts搜索,是一种基于树数据结构,在搜索空间巨大的情况下仍然比较有效的启发式的搜索算法。
58.复盘:复盘,围棋术语,也称“复局”,指对局完毕后,复演该盘棋的记录,以检查对局中招法的优劣与得失关键。一般用以自学,或请高手给予指导分析。如按照棋谱排演,类如复盘,称“打谱”或“研阅棋谱”。
59.坏手点:棋盘中对于错误的落子点为坏手点。
60.用户落子点:为人机对弈过程中用户方的落子位置。
61.ai落子点:为人机对弈过程中ai方的落子位置。
62.下面参考本公开的若干代表性实施方式,详细阐释本技术的原理和精神。
63.发明概述
64.围棋相关的复盘学习指的是每次博弈结束以后,双方棋手把刚才的对局再重复一遍,这样可以有效地加深对这盘对弈棋局的印象,也可以找出双方攻守的漏洞,以提高自身棋艺水平。但是,当复盘学习时,因用户往往并不知道“哪些棋子下错了?”、“下错的棋子应该下到哪?”、“后续棋局该怎么走?”,即,不知道“哪些棋子是坏手点?”、“坏手点对应的胜率高的目标落子点在哪?”、“基于该目标落子点的后续棋局走势如何?”,而现有的ai不具有对复盘棋局指出坏手点并演示与该坏手点对应的目标落子点的后续若干步棋局走势的功能,需要老师进行相关指导,即相关的复盘学习需要老师的协助,尤其是对于初级学员,在复盘学习时对老师的依赖程度较高,学习的自主性自然会受到影响。
65.针对于上述现有技术存在的问题,本公开提供了一种吃子复盘学习方法、装置、电子设备及存储介质,该方法中首先会对经过人机交互对弈后的对局数据中的多个用户落子点进行坏手点的筛选;之后,经计算分析得到与该坏手点对应的目标落子点,并基于该目标落子点生成可以展示后续棋局走势的复盘演示数据以供用户学习研究。即本方法对应的装置能对于人机对弈中的用户落子点具有指出坏手点、与所述坏手点对应的胜率高的目标落子点及显示基于该目标落子点的后续棋局走势等相关功能,摆脱对于老师指导的依赖,提高用户自主学习的能动性。
66.在介绍了本公开的基本原理之后,下面具体介绍本公开的各种非限制性实施方式。
67.应用场景总览
68.参考图1,其为本公开实施例提供的吃子复盘学习方法的一个应用场景示意图。该应用场景包括终端设备101、服务器102、和数据存储系统103。其中,终端设备101、服务器102以及数据存储系统103之间均可通过有线或无线的通信网络连接。终端设备101包括但不限于桌面计算机、移动电话、移动电脑、平板电脑、媒体播放器、智能可穿戴设备、个人数字助理(personal digital assistant,pda)或其它能够实现上述功能的电子设备等。服务器102和数据存储系统103均可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、cdn、以及大数据和人工智能平台等基础云
计算服务的云服务器。
69.服务器102用于向终端设备101的用户提供吃子复盘学习服务,终端设备101中安装有与服务器102通信的客户端。
70.首先,服务器102将经过人机交互对弈后的对局数据通过通信网络发送至终端设备101的客户端上,在客户端对应的显示界面上进行显示。同时,服务器102基于该对局数据确定用户在该次对弈中的多个用户落子点,并确定每一个用户落子点对应的至少一个推荐落子点;通过计算得到用户落子点的推荐值,将满足预设条件的推荐值对应的用户落子点定义为坏手点,并将该坏手点发送至终端设备101的客户端上,在客户端对应的显示界面上进行显示。
71.然后,服务器102将与一坏手点对应的具有最高胜率值的推荐落子点作为目标落子点,并基于该目标落子点,生成复盘演示数据,存储于数据存储系统103,并将该复盘演示数据通过通信网络发送至终端设备101的客户端上,通过显示界面进行显示。
72.重复上述过程,实现对所有坏手点对应的目标落子点进行复盘演示的过程,进而完成用户吃子复盘学习任务。
73.下面结合图1的应用场景,来描述根据本公开示例性实施方式的吃子复盘学习方法、装置、电子设备及存储介质。需要注意的是,上述应用场景仅是为了便于理解本公开的精神和原理而示出,本公开的实施方式在此方面不受任何限制。相反,本公开的实施方式可以应用于适用的任何场景。
74.示例性方法
75.本技术的一些实施例中提供了一种吃子复盘学习方法,如图2所示,包括:
76.s201、获取用户经过人机交互对弈后的对局数据,并根据所述对局数据确定用户在该次对弈中的多个用户落子点;
77.s202、对于每一个所述用户落子点,确定该用户落子点对应的至少一个推荐落子点;根据该用户落子点及其对应的所述推荐落子点,确定该用户落子点的推荐值;
78.s203、将全部所述推荐值中满足预定条件的所述用户落子点确定为坏手点;
79.s204、对于每个所述坏手点,确定该坏手点对应的每个所述推荐落子点的胜率值,将所述胜率值中最高的确定为最高胜率值,并将所述最高胜率值对应的所述推荐落子点确定为目标落子点;根据所述目标落子点,生成复盘演示数据,并将所述复盘演示数据向用户展示。
80.重复步骤s204,实现对于所有坏手点对应的目标落子点生成复盘演示数据,以供用户学习。
81.其中,对局数据为人机交互对弈后的完整棋局数据,所述对局数据中包括ai落子点和用户落子点。
82.其中,步骤s201至步骤s203为对对局数据中的用户落子点进行筛选,找出坏手点的过程,可以看作是对对局数据的浅层分析;步骤s204为找出所述坏手点对应的目标落子点并生成基于该目标落子点的复盘演示数据的过程,可以看作是对对局数据的深层分析。该浅层分析及深层分析均借助预先训练的神经网络模型进行。
83.其中,所述复盘演示数据可供用户研究学习,以增进棋艺。该复盘演示数据可以是基于该目标落子点的下完整个棋局的全盘演示数据,也可以是基于该目标落子点的后续几
步的复盘演示数据,无论是全盘演示数据还是后续几步的复盘演示数据,只要能体现棋局的后续走势即可,以便用户学习研究,在此不做限定。当复盘演示数据为基于该目标落子点的后续几步的复盘演示数据时,为体现棋局的后续走势,一般为包括该目标落子点在内的后续至少5步的复盘演示数据,即,ai利用神经网络模型自行对弈走至少5步,以体现棋局后续走势。
84.具体实施时,于步骤中先获取经过人机交互对弈后的对局数据,获取的对局数据可以在客户端对应的显示界面上进行显示,且可以对于确定的多个用户落子点进行凸出显示。之后,按照对弈过程的先后顺序,ai会将用户每一步落子前的棋盘数据输入预先训练好的神经网络模型进行计算;神经网路模型会针对该棋盘数据输出至少一个推荐落子点,该用户落子点的推荐度与推荐落子点的推荐度比较得出推荐值,对于推荐值较低的可以定义为坏手点,对于坏手点的确定可以在如下两种方式中则一采用:(1)将低于预设推荐值的所有用户落子点定义为坏手点;(2)可以按照推荐值由大到小/由小到大排序,该排序中的后几名/前几名定义为坏手点,例如,按照推荐值由大到小排序,该排序中的后五名为坏手点;再例如,按照推荐值由小到大排序,该排序中的前五名为坏手点。
85.之后,神经网络模型会对每个坏手点对应的每个推荐落子点的胜率进行估算,并将所述最高胜率值对应的所述推荐落子点确定为目标落子点;神经网络模型基于该目标落子点生成复盘演示数据,向用户进行展示,以供用户学习研究。
86.当然,在具体实施过程中,神经网络模型可以基于每个坏手点对应的目标落子点生成可以体现后续棋局走势的复盘演示数据;也可以针对用户选定的一个或多个坏手点对应的目标落子点生成复盘演示数据。当神经网络模型要基于多个坏手点对应的目标落子点生成复盘演示数据时,在没有用户约定的情况下,神经网络模型会按照多个坏手点在对弈过程中的先后顺序逐一对其对应的复盘演示数据进行显示;在有用户约定的情况下,遵从用户约定的顺序进行相应的复盘演示数据的显示。在此不做限定。
87.本实施例的吃子复盘学习方法,先行对人机对弈用户落子点中的坏手点进行筛选,并推荐与所述坏手点对应的胜率高的目标落子点,及生成基于该目标落子点的复盘演示数据,以供用户学习研究,摆脱了复盘学习过程中对于老师指导的依赖,提高学员自主学习的能动性。
88.在一些示例性实施例中,如图3所示,所述对于每一个所述用户落子点,确定该用户落子点对应的至少一个推荐落子点,包括:
89.s301、确定该用户落子点落子之前的棋盘布局数据;
90.s302、将所述棋盘布局数据输入预先训练的策略网络模型,得到所述策略网络模型输出的至少一个所述推荐落子点。
91.其中,所述策略网络模型的输出还包括用户落子点的推荐度与每个所述推荐落子点对应的推荐度;以形成用户落子点与相应推荐落子点之间的推荐度比较,并判断该用户落子点是否为坏手点。
92.其中,对局数据为人机交互对弈后的完整棋局数据,用户会基于该完整的棋局数据作为吃子复盘学习的基础;棋盘布局数据为部分棋局数据,具体为用户每一个落子前的部分棋局数据,即该棋盘布局数据不包括该用户落子点;也就是说,针对一次人机交互对弈,复盘学习时,对局数据为一个,棋盘布局数据为多个。具体地,当用户先出棋时,则用户
第一步出棋之前没有棋盘布局数据,因此,棋盘布局数据的个数可以较用户落子点的个数少一个;当ai先出棋时,棋盘布局数据的个数可以为与用户落子点的个数相同。
93.具体实施时,推荐落子点的选定过程包括:
94.基于推送的每一用户落子点落子之前的棋盘布局数据,利用预先训练的策略网络模型按照预定搜索广度在蒙特卡洛树上进行搜索(即mcts),达到mcts搜索的结束条件(如搜索时间超出5s)后,搜索结束,策略网络模型的输出为棋盘大小的矩阵,矩阵中的每个落子点的值代表下一步落子落在棋盘上相应位置的推荐度,矩阵中体现的所有推荐度数值的总和为1。策略网络模型会对该多个落子点位的推荐度进行排名,并继而推出推荐度排名靠前的至少一落子点为推荐落子点。其中,预定搜索广度可以根据实际需要进行设定,例如,(analysiswiderootnoise)[0,1],数值越接近0搜索广度越窄;数值越接近1,搜索广度越宽。预定搜索广度增加,能够使得搜索的范围加大,使得搜索时ucb(upper confidence bound)值给予的蒙特卡洛树上的各个节点的访问次数的权重增大,进而增加蒙特卡洛树中访问次数较少的节点被访问的机会。
[0095]
本实施例中,将对局数据中的每个用户落子点对应的棋盘布局数据进行分析,以获得与该用户落子点对应的至少一个推荐落子点,为后续进行坏手点分析做准备。
[0096]
在一些示例性实施例中,如图4所示,所述对于每一个所述用户落子点,确定该用户落子点对应的至少一个推荐落子点,具体包括:
[0097]
s401、对于所述对局数据中的每个用户落子点按照对弈的先后顺序进行标号;
[0098]
s402、确定预设标号范围内的每一用户落子点落子之前的棋盘布局数据;
[0099]
s403、将所述棋盘布局数据输入预先训练的策略网络模型,得到所述策略网络模型输出的至少一个所述推荐落子点。
[0100]
其中,所述策略网络模型的输出还包括用户落子点的推荐度与每个所述推荐落子点对应的推荐度;以形成用户落子点与相应推荐落子点之间的推荐度比较,并判断该用户落子点是否为坏手点。
[0101]
其中,预设标号范围可以为用户输入或ai根据用户的水平设置,以满足不同水平用户的需求。如果用户是初级学员,因初级学员水平有限,可能在前几步或后几步都会出错,该标号范围可以设置的宽泛一些;如果用户是资深学员,其前几步或后几步基本不会出错,则该标号范围可以设置的窄一些。例如,一个对局数据中共有38个用户落子点,将该38个用户落子点按照对弈出场顺序的先后进行标号,标号记为1-38,用户输入标号范围10-30,则ai只对于标号为10-30的用户落子点对应的棋盘布局数据进行分析,后续的坏手点的筛选则也是基于该预设标号范围10-30内的用户落子点进行。
[0102]
具体实施时,推荐落子点的选定过程包括:
[0103]
基于推送的预设标号范围内的每一用户落子点落子之前的棋盘布局数据,利用预先训练的策略网络模型按照预定搜索广度在蒙特卡洛树上进行搜索(即mcts),达到mcts搜索的结束条件(如搜索时间超出5s)后,搜索结束,策略网络模型的输出为棋盘大小的矩阵,矩阵中的每个值代表下一步落子落在棋盘上相应位置的推荐度,矩阵中体现的所有推荐度数值的总和为1。策略网络模型会对该多个落子点位的推荐度进行排名,并继而推出推荐度排名靠前的至少一落子点为推荐落子点。其中,预定搜索广度可以根据实际需要进行设定,例如,(analysiswiderootnoise)[0,1],数值越接近0搜索广度越窄;数值越接近1,搜索广
度越宽。预定搜索广度增加,能够使得搜索的范围加大,使得搜索时ucb(upper confidence bound)值给予的蒙特卡洛树上的各个节点的访问次数的权重增大,进而增加蒙特卡洛树中访问次数较少的节点被访问的机会。
[0104]
本实施例中,将对局数据中的多个用户落子点按照对弈先后顺序进行标号,并可进一步限定是对于预设标号范围内的用户落子点对应的棋盘布局数据进行分析,以获得该标号范围内的坏手点。该标号范围的设定即限定了ai中的神经网络只对于相关标号范围内的用户落子点的推荐落子点进行计算,无需再对所有的用户落子点的推荐落子点进行计算,减少神经网络的运算次数,提高复盘学习的针对性,继而提高复盘学习的效率。
[0105]
在一些示例性实施例中,所述推荐值的计算过程可以采用如下两种方式:
[0106]
方式一为:
[0107]
推荐值=用户落子点的推荐度/比所述用户落子点推荐度高的推荐落子点的推荐度总和。
[0108]
具体实施时,基于一用户落子点落子之前的棋盘布局数据,策略网络模型的输出为棋盘大小的矩阵,矩阵中的每个值代表下一步落子落在棋盘上相应位置的推荐度,矩阵中体现的所有推荐度数值的总和为1;且,用户落子点也必然在该矩阵中,其相应的推荐度也会在矩阵中体现;策略网络模型会对该多个落子点位的推荐度进行排名,并继而推出推荐度排名靠前的几个落子点为推荐落子点。其中,用户落子点对应的所述推荐落子点至少为5个。以策略网络模型对每个用户落子点输出推荐度排名前5的推荐落子点为例,用户落子点记为t1,5个推荐落子点分别为t2、t3、t4、t5、t6,各个推荐落子点的推荐度为t1=5%,t2=5%,t3=5%,t4=8%,t5=7%,t6=10%。
[0109]
则该用户落子点的推荐值的计算过程为:
[0110]
推荐值=5%/(8%+7%+10%)=0.2。
[0111]
该推荐值的计算过程即为用户落子点与多个推荐落子点的比较过程,较只与一个最佳的推荐落子点比较准确度高,更具有说服力。
[0112]
方式二为:
[0113]
推荐值=用户落子点的推荐度/推荐度最高的落子点的推荐度。
[0114]
具体实施时,基于一用户落子点落子之前的棋盘布局数据,策略网络模型的输出为棋盘大小的矩阵,矩阵中的每个值代表下一步落子落在棋盘上相应位置的推荐度,矩阵中体现的所有推荐度数值的总和为1。策略网络模型会对该多个落子点位的推荐度进行排名,并继而推出一推荐度最高的落子点为推荐落子点。再将用户落子点的推荐度与推荐度最高的落子点的推荐度进行比较。例如,用户落子点记为t1,推荐度最高的落子点记为t2,t1、t2的推荐度为t1=5%,t2=10%。
[0115]
则该用户落子点的推荐值的计算过程为:
[0116]
推荐值=5%/(10%)=0.5。
[0117]
该推荐值的计算过程即为用户落子点与一个推荐度最高的落子点的比较过程,较与多个推荐落子点比较准确性会有所下降,但是计算过程也会加快。
[0118]
在一些示例性实施例中,如图5所示,所述对于每个所述坏手点,确定该坏手点对应的每个所述推荐落子点的胜率值,并将最高胜率值对应的所述推荐落子点确定为目标落子点,包括:
[0119]
s501、利用预先训练的估值网络模型和快速走子网络模型,依据快速搜索方式搜索每个所述推荐落子点的胜率值;
[0120]
s502、依据全部所述胜率值为每个所述推荐落子点进行排序,将所述胜率值中最高的确定为最高胜率值,并将所述最高胜率值对应的所述推荐落子点确定为目标落子点。
[0121]
其中,所述快速搜索方式为mcts搜索。
[0122]
具体实施时,目标落子点的选定过程包括:
[0123]
基于推送的每一推荐落子点的棋盘布局数据,估值网络模型会根据策略网络模型给出的该推荐落子点的推荐度,初始化一个权重值,依据该权重值对应的搜索广度进行mcts搜索,并利用快速走子网络模型进行黑白棋自对弈整个棋局,根据自对弈结果更新权重值,达到mcts搜索的结束条件后,搜索结束,根据最新的权重值确定该推荐落子点的胜率值。重复上述过程,得到所有推荐落子点的胜率值。之后,依据全部所述胜率值为每个所述推荐落子点进行排序,将最高胜率值对应的所述推荐落子点确定为目标落子点。
[0124]
以一个坏手点对应5个推荐落子点为例,针对这5个推荐落子点,估值网络模型会根据策略网络模型给出的该5个推荐落子点的推荐度,初始化5个权重值,分别记为v1、v2、v3、v4、v5,推荐度高的对应的权重值也高,推荐度低的对应的权重值也低,该权重值对应推荐落子点的搜索广度。然后,按照设定的搜索广度进行mcts搜索,mcts搜索需要使用到估值网络模型和快速走子网络模型。具体地,基于每一个推荐落子点,快速走子网络模型会自行进行快速黑白棋交替落子下完一盘棋局(以黑棋代表用户方,白棋代表ai方为例),如果该棋局的结果为代表用户方的黑棋输了,则该推荐落子点的权重值会降低;如果该棋局的结果为代表用户方的黑棋赢了,则该推荐落子点的权重值会增加。即在搜索一轮后,5个推荐落子点的权重值更新为v1’、v2’、v3’、v4’、v5’,并继而更新对应搜索分支的搜索广度。循环上述过程,达到mcts搜索的结束条件后,搜索结束,根据最新的5个权重值,确定相应推荐落子点的胜率值。之后,依据全部所述胜率值为每个所述推荐落子点进行排序,将最高胜率值对应的所述推荐落子点确定为目标落子点。
[0125]
其中,所述mcts搜索的结束条件包括:
[0126]
i)搜索时间超出5s;或者,ii)最高胜率值比次高胜率值高出50%;其中,所述次高胜率值为与所述最高胜率值最接近的胜率值。
[0127]
在具体实施时,只要能达到其中一种结束条件,mcts搜索结束。
[0128]
在一些示例性实施例中,如图6所示,根据所述目标落子点,生成复盘演示数据,并将所述复盘演示数据向用户展示,包括:
[0129]
s601、确定该目标落子点的棋盘布局数据;
[0130]
s602、将该目标落子点的棋盘布局数据输入预先训练的策略网络模型,得到所述策略网络模型输出的至少一个下一步推荐落子点;
[0131]
s603、利用预先训练的估值网络模型和快速走子网络模型,依据快速搜索方式搜索每个所述下一步推荐落子点的胜率值;
[0132]
s604、依据全部所述胜率值为每个所述下一步推荐落子点进行排序,将所述胜率值中最高的确定为最高胜率值,并将所述最高胜率值对应的所述推荐落子点确定为下一步目标落子点;
[0133]
s605、基于所述下一步目标落子点,重新确定所述棋盘布局数据;
[0134]
s606、响应于确定符合落子结束条件,生成复盘演示数据,并将所述复盘演示数据向用户展示。
[0135]
循环进行上述步骤s601-s605,ai即可执行自对弈交替落子过程,再进入步骤s606,生成复盘演示数据,并将所述复盘演示数据向用户展示。
[0136]
其中,所述mcts搜索的结束条件包括:
[0137]
i)搜索时间超出5s;或者,ii)最高胜率值比次高胜率值高出50%;其中,所述次高胜率值为与所述最高胜率值最接近的胜率值。
[0138]
在具体实施时,只要能达到其中一种结束条件,mcts搜索结束。
[0139]
其中,所述落子结束条件为预先设定的复盘演示数据的步数,例如,棋盘布局数据为path0,目标落子点为b1,则目前的棋谱为path0+b1,并设定复盘演示数据的步数为5步,使用policynet、valuenet和fastnet联合分析得到下一步目标落子点w2,则当前棋谱更新为path0+b1+w2。循环上述步骤,黑白棋交替落子,最终形成path0+b1+w2+b3+w4+b5样式的棋谱。b1+w2+b3+w4+b5就是针对目标落子点b1的5步棋局走势,path0+b1+w2+b3+w4+b5即为针对目标落子点b1的复盘演示数据。根据上述过程,还可以对其他坏手点对应的目标落子点生成相应的复盘演示数据,以供用户自主学习研究。
[0140]
基于同一发明构思,与上述任意实施例方法相对应的,本技术还提供了一种吃子复盘学习装置。
[0141]
参考图7,所述吃子复盘学习装置,包括:
[0142]
获取模块701,获取用户经过人机交互对弈后的对局数据,并根据所述对局数据确定用户在该次对弈中的多个用户落子点;
[0143]
计算模块702,对于每一个所述用户落子点,确定该用户落子点对应的至少一个推荐落子点;根据该用户落子点及其对应的所述推荐落子点,确定该用户落子点的推荐值;
[0144]
坏手点模块703,将全部所述推荐值中满足预定条件的所述用户落子点确定为坏手点;
[0145]
展示模块704,对于每个所述坏手点,确定该坏手点对应的每个所述推荐落子点的胜率值,并将最高胜率值对应的所述推荐落子点确定为目标落子点;根据所述目标落子点,生成复盘演示数据,并将所述复盘演示数据向用户展示。
[0146]
在一些可选的实施方式中,所述计算模块具体被配置为确定该用户落子点落子之前的棋盘布局数据;将所述棋盘布局数据输入预先训练的策略网络模型,得到所述策略网络模型输出的至少一个所述推荐落子点;
[0147]
其中,至少一个所述推荐落子点中的一个与所述用户落子点相同。
[0148]
其中,所述策略网络模型的输出还包括每个所述推荐落子点对应的推荐度;所述用户落子点的推荐度等于与所述用户落子点相同的所述推荐落子点的推荐度;
[0149]
所述推荐值的计算过程为:
[0150]
推荐值=用户落子点的推荐度/比所述用户落子点推荐度高的推荐落子点的推荐度总和。
[0151]
在一些可选的实施方式中,所述展示模块被配置为利用预先训练的估值网络模型和快速走子网络模型,依据快速搜索方式搜索每个所述推荐落子点的胜率值;依据全部所述胜率值为每个所述推荐落子点进行排序,将所述胜率值中最高的确定为最高胜率值,并
将所述最高胜率值对应的所述推荐落子点确定为目标落子点。
[0152]
在一些可选的实施方式中,所述展示模块进一步被配置为确定该目标落子点的棋盘布局数据;
[0153]
将该目标落子点的棋盘布局数据输入预先训练的策略网络模型,得到所述策略网络模型输出的至少一个下一步推荐落子点;
[0154]
利用预先训练的估值网络模型和快速走子网络模型,依据快速搜索方式搜索每个所述下一步推荐落子点的胜率值;
[0155]
依据全部所述胜率值为每个所述下一步推荐落子点进行排序,将所述胜率值中最高的确定为最高胜率值,并将所述最高胜率值对应的所述推荐落子点确定为下一步目标落子点;
[0156]
基于所述下一步目标落子点,重新确定所述棋盘布局数据;
[0157]
响应于确定符合落子结束条件,生成复盘演示数据,并将所述复盘演示数据向用户展示。
[0158]
其中,所述快速搜索方式为mcts搜索。
[0159]
进一步地,所述mcts搜索的结束条件包括:
[0160]
搜索时间超出5s;
[0161]
或者,
[0162]
最高胜率值比次高胜率值高出50%;
[0163]
其中,所述次高胜率值为与所述最高胜率值最接近的胜率值。
[0164]
基于同一发明构思,与上述任意实施例方法相对应的,本技术还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上任意一实施例所述的吃子复盘学习方法。
[0165]
图8示出了本实施例所提供的一种更为具体的电子设备硬件结构示意图,该设备可以包括:处理器1010、存储器1020、输入/输出接口1030、通信接口1040和总线1050。其特征在于处理器1010、存储器1020、输入/输出接口1030和通信接口1040通过总线1050实现彼此之间在设备内部的通信连接。
[0166]
处理器1010可以采用通用的cpu(central processing unit,中央处理器)、微处理器、应用专用集成电路(application specific integrated circuit,asic)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本说明书实施例所提供的技术方案。
[0167]
存储器1020可以采用rom(read only memory,只读存储器)、ram(random access memory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器1020可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器1020中,并由处理器1010来调用执行。
[0168]
输入/输出接口1030用于连接输入/输出模块,以实现信息输入及输出。输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其特征在于输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。
[0169]
通信接口1040用于连接通信模块(图中未示出),以实现本设备与其他设备的通信
交互。其特征在于通信模块可以通过有线方式(例如usb、网线等)实现通信,也可以通过无线方式(例如移动网络、wifi、蓝牙等)实现通信。
[0170]
总线1050包括一通路,在设备的各个组件(例如处理器1010、存储器1020、输入/输出接口1030和通信接口1040)之间传输信息。
[0171]
需要说明的是,尽管上述设备仅示出了处理器1010、存储器1020、输入/输出接口1030、通信接口1040以及总线1050,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本说明书实施例方案所必需的组件,而不必包含图中所示的全部组件。
[0172]
上述实施例的电子设备用于实现前述任一实施例中相应的吃子复盘学习方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
[0173]
示例性程序产品
[0174]
基于同一发明构思,与上述任意实施例方法相对应的,本公开还提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行如上任一实施例所述的吃子复盘学习方法。
[0175]
上述非暂态计算机可读存储介质可以是计算机能够存取的任何可用介质或数据存储设备,包括但不限于磁性存储器(例如软盘、硬盘、磁带、磁光盘(mo)等)、光学存储器(例如cd、dvd、bd、hvd等)、以及半导体存储器(例如rom、eprom、eeprom、非易失性存储器(nand flash)、固态硬盘(ssd))等。
[0176]
上述实施例的存储介质存储的计算机指令用于使所述计算机执行如上示例性方法部分中任一实施例所述的吃子复盘学习方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
[0177]
本领域技术技术人员知道,本发明的实施方式可以实现为一种系统、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式,本文一般称为“电路”、“模块”或“系统”。此外,在一些实施例中,本发明还可以实现为在一个或多个计算机可读介质中的计算机程序产品的形式,该计算机可读介质中包含计算机可读的程序代码。
[0178]
可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是,但不限于,电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举示例)例如可以包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
[0179]
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
[0180]
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、电线、光缆、rf等等,或者上述的任意合适的组合。
[0181]
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如java、smalltalk、c++,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络(包括局域网(lan)或广域网(wan))连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
[0182]
应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合都可以由计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,这些计算机程序指令通过计算机或其它可编程数据处理装置执行,产生了实现流程图和/或框图中的方框中规定的功能/操作的装置。
[0183]
也可以把这些计算机程序指令存储在能使得计算机或其它可编程数据处理装置以特定方式工作的计算机可读介质中,这样,存储在计算机可读介质中的指令就产生出一个包括实现流程图和/或框图中的方框中规定的功能/操作的指令装置的产品。
[0184]
也可以把计算机程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机或其它可编程装置上执行的指令能够提供实现流程图和/或框图中的方框中规定的功能/操作的过程。
[0185]
此外,尽管在附图中以特定顺序描述了本发明方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。相反,流程图中描绘的步骤可以改变执行顺序。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
[0186]
申请文件中提及的动词“包括”、“包含”及其词形变化的使用不排除除了申请文件中记载的那些元素或步骤之外的元素或步骤的存在。元素前的冠词“一”或“一个”不排除多个这种元素的存在。
[0187]
虽然已经参考若干具体实施方式描述了本发明的精神和原理,但是应该理解,本发明并不限于所公开的具体实施方式,对各方面的划分也不意味着这些方面中的特征不能组合以进行受益,这种划分仅是为了表述的方便。本发明旨在涵盖所附权利要求的精神和范围内所包括的各种修改和等同布置。所附权利要求的范围符合最宽泛的解释,从而包含所有这样的修改及等同结构和功能。
[0188]
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本技术的范围(包括权利要求)被限于这些例子;在本技术的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本技术实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。
[0189]
另外,为简化说明和讨论,并且为了不会使本技术实施例难以理解,在所提供的附
图中可以示出或可以不示出与集成电路(ic)芯片和其它部件的公知的电源/接地连接。此外,可以以框图的形式示出装置,以便避免使本技术实施例难以理解,并且这也考虑了以下事实,即关于这些框图装置的实施方式的细节是高度取决于将要实施本技术实施例的平台的(即,这些细节应当完全处于本领域技术人员的理解范围内)。在阐述了具体细节(例如,电路)以描述本技术的示例性实施例的情况下,对本领域技术人员来说显而易见的是,可以在没有这些具体细节的情况下或者这些具体细节有变化的情况下实施本技术实施例。因此,这些描述应被认为是说明性的而不是限制性的。
[0190]
尽管已经结合了本技术的具体实施例对本技术进行了描述,但是根据前面的描述,这些实施例的很多替换、修改和变型对本领域普通技术人员来说将是显而易见的。例如,其它存储器架构(例如,动态ram(dram))可以使用所讨论的实施例。
[0191]
本技术实施例旨在涵盖落入所附权利要求的宽泛范围之内的所有这样的替换、修改和变型。因此,凡在本技术实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本技术的保护范围之内。

技术特征:
1.一种吃子复盘学习方法,包括:获取用户经过人机交互对弈后的对局数据,并根据所述对局数据确定用户在该次对弈中的多个用户落子点;对于每一个所述用户落子点,确定该用户落子点对应的至少一个推荐落子点;根据该用户落子点及其对应的所述推荐落子点,确定该用户落子点的推荐值;将全部所述推荐值中满足预定条件的所述用户落子点确定为坏手点;对于每个所述坏手点,确定该坏手点对应的每个所述推荐落子点的胜率值,将所述胜率值中最高的确定为最高胜率值,并将所述最高胜率值对应的所述推荐落子点确定为目标落子点;根据所述目标落子点,生成复盘演示数据,并将所述复盘演示数据向用户展示。2.根据权利要求1所述的方法,其中,所述确定该用户落子点对应的至少一个推荐落子点,具体包括:确定该用户落子点落子之前的棋盘布局数据;将所述棋盘布局数据输入预先训练的策略网络模型,得到所述策略网络模型输出的至少一个所述推荐落子点。3.根据权利要求1或2所述的方法,其中,所述策略网络模型的输出还包括用户落子点的推荐度与每个所述推荐落子点对应的推荐度;所述推荐值的计算过程为:推荐值=用户落子点的推荐度/比所述用户落子点推荐度高的推荐落子点的推荐度总和。4.根据权利要求1所述的方法,其中,所述对于每个所述坏手点,确定该坏手点对应的每个所述推荐落子点的胜率值,并将最高胜率值对应的所述推荐落子点确定为目标落子点,包括:利用预先训练的估值网络模型和快速走子网络模型,依据快速搜索方式搜索每个所述推荐落子点的胜率值;依据全部所述胜率值为每个所述推荐落子点进行排序,将所述胜率值中最高的确定为最高胜率值,并将所述最高胜率值对应的所述推荐落子点确定为目标落子点。5.根据权利要求1所述的方法,其中,根据所述目标落子点,生成复盘演示数据,并将所述复盘演示数据向用户展示,包括:确定该目标落子点的棋盘布局数据;将该目标落子点的棋盘布局数据输入预先训练的策略网络模型,得到所述策略网络模型输出的至少一个下一步推荐落子点;利用预先训练的估值网络模型和快速走子网络模型,依据快速搜索方式搜索每个所述下一步推荐落子点的胜率值;依据全部所述胜率值为每个所述下一步推荐落子点进行排序,将所述胜率值中最高的确定为最高胜率值,并将所述最高胜率值对应的所述推荐落子点确定为下一步目标落子点;基于所述下一步目标落子点,重新确定所述棋盘布局数据;响应于确定符合落子结束条件,生成复盘演示数据,并将所述复盘演示数据向用户展示。
6.根据权利要求4或5所述的方法,其中,所述快速搜索方式为mcts搜索。7.根据权利要求6所述的方法,其中,所述mcts搜索的结束条件包括:搜索时间超出5s;或者,最高胜率值比次高胜率值高出50%;其中,所述次高胜率值为与所述最高胜率值最接近的胜率值。8.一种吃子复盘学习装置,包括:获取模块,获取用户经过人机交互对弈后的对局数据,并根据所述对局数据确定用户在该次对弈中的多个用户落子点;计算模块,对于每一个所述用户落子点,确定该用户落子点对应的至少一个推荐落子点;根据该用户落子点及其对应的所述推荐落子点,确定该用户落子点的推荐值;坏手点模块,将全部所述推荐值中满足预定条件的所述用户落子点确定为坏手点;展示模块,对于每个所述坏手点,确定该坏手点对应的每个所述推荐落子点的胜率值,并将最高胜率值对应的所述推荐落子点确定为目标落子点;根据所述目标落子点,生成复盘演示数据,并将所述复盘演示数据向用户展示。9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至7任意一项所述的方法。10.一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,其特征在于,所述计算机指令用于使计算机执行权利要求1至7任一所述方法。

技术总结
本公开提供一种吃子复盘学习方法、装置、电子设备及存储介质,该方法包括:获取用户经过人机交互对弈后的对局数据,并根据所述对局数据确定用户在该次对弈中的多个用户落子点;对于每一个所述用户落子点,确定该用户落子点对应的至少一个推荐落子点;根据该用户落子点及其对应的所述推荐落子点,确定该用户落子点的推荐值;将全部所述推荐值中满足预定条件的所述用户落子点确定为坏手点;对于每个所述坏手点,确定该坏手点对应的目标落子点;根据所述目标落子点,生成复盘演示数据,并将所述复盘演示数据向用户展示。本公开摆脱了复盘学习过程中对于老师指导的依赖,提高用户自主学习的能动性。的能动性。的能动性。


技术研发人员:王玉龙 高圣州 李蒙 孙艳庆 林秀桃 段亦涛 陈虎 倪洪生
受保护的技术使用者:网易有道信息技术(江苏)有限公司
技术研发日:2021.10.28
技术公布日:2022/1/28
转载请注明原文地址:https://doc.8miu.com/read-1808370.html

最新回复(0)