一种棋力调整方法、装置、设备及存储介质与流程

文档序号:26751873发布日期:2021-09-25 02:45阅读:135来源:国知局
一种棋力调整方法、装置、设备及存储介质与流程

1.本技术实施例涉及数据处理领域领域,涉及但不限于一种棋力调整方法、装置、设备及存储介质。


背景技术:

2.在相关技术中,在线人

机对弈棋艺是预先设定的机器人棋艺等级,按照多个等级来设置机器人棋艺水平;这样,用户只能机械的遵从系统设定的棋艺等级,体验感不佳。


技术实现要素:

3.本技术实施例提供一种棋力调整方法、装置、设备及存储介质。
4.本技术实施例的技术方案是这样实现的:
5.本技术实施例提供一种棋力调整方法,所述方法包括:
6.获取待调整棋局中对弈者和智能棋手之间的对弈数据;
7.在所述对弈数据中,确定所述对弈者的棋步与预设棋步之间的棋力差距;
8.基于所述棋力差距和所述待调整棋局的棋局信息,确定所述智能棋手对弈所述对弈者的目标棋力等级。如此,通过确定对弈者的棋步与预设棋局的棋力差距,结合棋局信息,能够自适应调整人工智能(artificial intelligence,ai)棋手的棋力;这样,动态调整ai棋手的棋力,能够使得棋局达到一个胜负平衡的状态,提升棋手体验感。
9.在一些实施例中,所述在所述对弈数据中,确定所述对弈者的棋步与预设棋步之间的棋力差距之前,所述方法还包括:基于所述对弈者的棋步所对弈的所述智能棋手的历史棋步,确定对弈所述历史棋步的至少一个历史推荐棋步;将所述至少一个历史推荐棋步,确定为所述预设棋步。如此,将该推荐棋步作为预设棋步,从而能够准确判断出对弈者的棋步与预设棋步有差距。
10.在一些实施例中,所述在所述对弈数据中,确定所述对弈者的棋步与预设棋步之间的棋力差距,包括确定所述对弈者的棋步在所述至少一个历史推荐棋步中的棋力排位;基于所述棋力排位,确定所述对弈者的棋步与所述预设棋步之间的棋力差距。如此,自适应地调整智能棋手的棋步,使得智能棋手输出的棋步与该对弈者的棋步棋力相当。
11.在一些实施例中,所述基于所述棋力差距和所述待调整棋局的棋局信息,确定所述智能棋手对弈所述对弈者的目标棋力等级,包括:基于所述对弈者的棋步,确定对弈所述对弈者的棋步的至少一个未来推荐棋步;基于所述棋力差距,在所述至少一个未来推荐棋步中确定所述智能棋手对弈所述对弈者的棋步的对弈棋步;基于所述待调整棋局中的每一对弈棋步和所述棋局信息,确定所述智能棋手对弈所述对弈者的目标棋力等级。如此,从整体上调整智能棋手的棋力,达到目标棋力等级,进而使得智能棋手的棋力等级稍高于对弈者,能够提高对弈者的对弈兴趣。
12.在一些实施例中,所述基于所述待调整棋局中的每一对弈棋步和所述棋局信息,确定所述智能棋手对弈所述对弈者的目标棋力等级,包括:基于所述每一对弈棋步,确定所
述智能棋手在所述待调整棋局中初始棋力等级;基于所述待调整棋局的对弈结果和所述棋局信息,对所述初始棋力等级进行调整,得到所述智能棋手对弈所述对弈者的目标棋力等级。如此,照棋局的对弈结果,对该初始棋力等级进行整体调整,进而能够使得在多盘棋局中对弈者和智能棋手达到胜负平衡的状态。
13.在一些实施例中,所述基于所述待调整棋局的对弈结果和所述棋局信息,对所述初始棋力等级进行调整,得到所述智能棋手对弈所述对弈者的目标棋力等级,包括:基于所述棋局信息,确定所述对弈者的每一棋步与所述预设棋步之间的棋力差距,得到棋力差距集合;基于所述棋力差距集合,确定所述对弈者的对弈棋力等级;基于所述对弈结果和所述对弈棋力等级,对所述初始棋力等级进行调整,得到所述智能棋手对弈所述对弈者的目标棋力等级。如此,通过分析对弈者的每一棋步和预设棋步的棋力差距,确定出对弈者的棋力等级;并基于该棋局的对弈结果和对弈者的棋力等级,进而能够设定较为合理的智能棋力的目标棋力等级。
14.在一些实施例中,所述基于所述对弈结果和所述对弈棋力等级,对所述初始棋力等级进行调整,得到所述智能棋手对弈所述对弈者的目标棋力等级,包括:确定所述初始棋力等级和所述对弈棋力等级之间的差值;基于所述对弈结果和所述差值,对所述初始棋力等级进行调整,得到所述目标棋力等级。如此,能够更加精准的从整体上调整智能棋手的棋力等级,使得智能棋手与对弈者旗鼓相当。
15.在一些实施例中,所述基于所述对弈结果和所述差值,对所述初始棋力等级进行调整,得到所述目标棋力等级等级,包括:在所述对弈结果为所述对弈者胜或对弈平局的情况下,基于所述差值,增大所述初始棋力等级,得到所述目标棋力等级;或,在所述对弈结果为所述智能棋手胜的情况下,基于所述差值,降低所述初始棋力等级,得到所述目标棋力等级。如此,通过从整体上对智能棋手的棋力进行调整,使得多局的胜负平衡,能够调动对弈者的兴趣。
16.在一些实施例中,所述基于所述棋力差距和所述待调整棋局的棋局信息,确定所述智能棋手对弈所述对弈者的目标棋力等级之后,所述方法还包括:在所述待调整棋局的下一棋局中,检测所述下一棋局的对弈者是否为所述待调整棋局中的对弈者;响应于所述下一棋局中的对弈者为所述待调整棋局中的对弈者,将所述目标棋力等级作为所述下一棋局的初始棋力等级。如此,在对弈者为同一棋手的情况下,通过将上一棋局中调整后的目标棋力等级作为下一棋局的初始棋力等级,能够为对弈者提供较好的对弈体验。
17.本技术实施例提供一种棋力调整装置,所述装置包括:
18.第一获取模块,用于获取待调整棋局中对弈者和智能棋手之间的对弈数据;
19.第一确定模块,用于在所述对弈数据中,确定所述对弈者的棋步与预设棋步之间的棋力差距;
20.第二确定模块,用于基于所述棋力差距和所述待调整棋局的棋局信息,确定所述智能棋手对弈所述对弈者的目标棋力等级。
21.对应地,本技术实施例提供一种计算机存储介质,所述计算机存储介质上存储有计算机可执行指令,该计算机可执行指令被执行后,能够实现上述所述的棋力调整方法。
22.本技术实施例提供一种电子设备,所述电子设备包括存储器和处理器,所述存储器上存储有计算机可执行指令,所述处理器运行所述存储器上的计算机可执行指令时能够
实现上述棋力调整方法。
附图说明
23.图1为本技术实施例提供的棋力调整方法的实现流程示意图;
24.图2为本技术实施例提供的棋力调整方法的另一实现流程示意图;
25.图3为本技术实施例提供的棋力调整方法的另一实现流程示意图;
26.图4为本技术实施例提供的ai棋局胜负平衡策略的实现流程示意图;
27.图5为本技术实施例提供的ai棋力自适应评估的实现流程示意图;
28.图6为本技术实施例提供的棋力调整装置的结构组成示意图;
29.图7为本技术实施例提供的电子设备的组成结构示意图。
具体实施方式
30.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对发明的具体技术方案做进一步详细描述。以下实施例用于说明本技术,但不用来限制本技术的范围。
31.在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
32.在以下的描述中,所涉及的术语“第一\第二\第三”仅仅是是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本技术实施例能够以除了在这里图示或描述的以外的顺序实施。
33.除非另有定义,本文所使用的所有的技术和科学术语与属于本技术的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本技术实施例的目的,不是旨在限制本技术。
34.对本技术实施例进行进一步详细说明之前,对本技术实施例中涉及的名词和术语进行说明,本技术实施例中涉及的名词和术语适用于如下的解释。
35.1)人工智能棋手:指在线人

机对弈的过程中,与作为棋手的参与人对弈的机器人棋手。该机器人棋手采用人工智能的方式写入一定等级的棋力。
36.2)棋手的棋力,是指该棋手下棋的本领,一定的棋力对应着一定的等级。
37.下面说明本技术实施例提供的棋力调整设备的示例性应用,其中,本技术实施例提供的设备可以实施为具有数据处理功能的笔记本电脑、对弈机器人、其他线上对弈棋艺平台,平板电脑,台式计算机,移动设备(例如,个人数字助理,专用消息设备,便携式游戏设备)等各种类型的电子设备。
38.下面,将说明棋力调整的设备实施为电子设备时示例性应用。
39.图1为本技术实施例提供的棋力调整方法的实现流程示意图,如图1所示,结合如图1所示步骤进行说明:
40.步骤s101,获取待调整棋局中对弈者和智能棋手之间的对弈数据。
41.在一些实施例中,待调整棋局可以是指当前正在对弈的棋局,也可以是任一棋局。
其中,对弈者可以是机器人棋手还可以是自然人棋手。智能棋手可以是采用人工智能的方式写入多种棋力等级的机器人或者任意能够与对弈者进行交互的设备等。对弈者和智能棋手之间的对弈数据包括:当前时刻对弈者所走的棋步,以及对弈者和智能棋手在本棋局中的历史时刻所走的棋步等。
42.步骤s102,在所述对弈数据中,确定所述对弈者的棋步与预设棋步之间的棋力差距。
43.在一些实施例中,预设棋步可以是包括至少一种棋步;预设棋步可以是智能棋手基于自身的历史棋步确定的多种棋步;比如,该对弈者的棋步为当前棋步,那么智能棋手基于该当前棋步多对弈的智能棋手的前一棋步,生成对弈该前一棋步的多种推荐棋步;该多种推荐棋步即为预设棋步。在预设棋步为至少一种棋步的情况下,对弈者的棋步与预设棋步之间的棋力差距,可以是对弈者的棋步与这至少一种棋步中最优棋步之间的差距,还可以是对弈者的棋步与这至少一种棋步中每一棋步之间的差距,还可以是对弈者的棋步与这至少一种棋步中最差棋步之间的差距,还可以是对弈者的棋步与这至少一种棋步中任一棋步之间的差距。
44.在一些可能的实现方式中,作为智能棋手的ai引擎,通过获取对弈者的棋步,得到多种对弈该棋步的推荐棋步,以便于确定对弈者的棋步与推荐棋步的棋力差距,即上述步骤s102可以通过以下步骤s121至124(图示未示出)实现:
45.步骤s121,基于所述对弈者的棋步所对弈的所述智能棋手的历史棋步,确定对弈所述历史棋步的至少一个历史推荐棋步。
46.在一些实施例中,该历史棋步,即为对弈者的棋步所对弈的一个棋步;比如,对弈者的棋步为当前棋步,那么该当前棋步所对弈的该智能棋手的棋步即为该历史棋步。在一个具体例子中,智能棋手为ai引擎,该ai引擎在输出一个棋步之后;基于自身输出的棋步,生成多种对弈该棋步的推荐棋步,即得到至少一个历史推荐棋步。
47.步骤s122,将所述至少一个历史推荐棋步,确定为所述预设棋步。
48.在一些可能的实现方式中,将该至少一个历史推荐棋步中的最优的历史推荐棋步作为预设棋步,或者是将该至少一个历史推荐棋步中的最后一个历史推荐棋步作为预设棋步,或者该至少一个历史推荐棋步中的每一历史推荐棋步均作为预设棋步。
49.上述步骤s121和122给出了一种确定预设棋步的方式,在该方式中,ai引擎基于对弈者的棋步,自动生成多种对弈该棋步的推荐棋步,将该推荐棋步作为预设棋步,从而能够准确判断出对弈者的棋步与预设棋步有差距。
50.步骤s123,确定所述对弈者的棋步在所述至少一个历史推荐棋步中的棋力排位。
51.在一些实施例中,ai引擎生成多个历史推荐棋步之后,首先给这多个历史推荐棋步按照棋力的从高到低进行排序;然后,确定该对弈者的棋步的棋力;最后,确定该对弈者的棋步的棋力在已排序的多个历史推荐棋步中的棋力排序。
52.步骤s124,基于所述棋力排位,确定所述对弈者的棋步与所述预设棋步之间的棋力差距。
53.在一些实施例中,该棋力排位,能够说明对弈者的棋步在这多个历史推荐棋步中优先级;比如,如果该棋力排位为第一,说明该对弈者的棋力非常高,已经完全超过了预设棋步中的多个历史推荐棋步;基于此,确定该对弈者与多个历史推荐棋步中的最优棋步之
间的棋力差距,为对弈者的棋步与预设棋步之间的棋力差距;如果该棋力排位为最后一位,说明该对弈者的棋力比较低,在这种情况下,可以是确定该对弈者的棋步与这多个历史推荐棋步中最后一个棋步之间的棋力差距,作为对弈者的棋步与预设棋步之间的棋力差距;还可以是确定该对弈者的棋步与多个历史推荐棋步中的最优棋步之间的棋力差距,为对弈者的棋步与预设棋步之间的棋力差距。在一些可能的实现方式中,可以是基于该棋力排位,确定对弈者的棋步与每一排在该对弈者的棋步的前面的历史推荐棋步之间的棋力差距。
54.在上述步骤s123和124中,通过确定对弈者的棋步在智能棋手的多个历史推荐棋步中的棋力排位,能够准确判断出对弈者的棋步与历史推荐棋步之间的棋力差距;进而便于基于该对弈者的每一棋步的棋力差距,自适应地调整智能棋手的棋步,使得智能棋手输出的棋步与该对弈者的棋步棋力相当。
55.步骤s103,基于所述棋力差距和所述待调整棋局的棋局信息,确定所述智能棋手对弈所述对弈者的目标棋力等级。
56.在一些实施例中,待调整棋局的棋局信息包括:该棋局的对弈结果以及该棋力在整个对弈过程中,对弈者和智能棋手分别胜出的棋步等数据。通过分析对弈者的棋步与智能棋手的历史推荐棋步之间的棋力差距,能够及时调整智能棋手对弈该棋步的棋力,从而智能棋手能够以稍高于对弈者棋力的方式输出对弈棋步。通过将每一步的棋力差距与该整个棋句的棋局信息进行结果,对该智能棋手对弈该对弈者的棋力进行整体调整,从而确定智能棋手对弈对弈者的目标棋力等级。
57.在本技术实施例中,首先,通过确定对弈者的棋步与预设棋局之间的棋力差距,能够及时调整智能棋手对弈该对弈者的棋步的棋力;然后,将对弈者每一步的棋力差距与整个待调整棋局的棋局信息相结合,整体调整该智能棋手的棋力等级;如此,按照对弈者的棋步动态调整智能棋手的棋力,能够使得棋局达到一个胜负平衡的状态,提升棋手体验感。
58.在一些实施例中,将智能棋手的棋力等级调整为目标棋力等级后,采用该目标棋力等级对智能棋手在下一棋局中进行初始化,即在下一棋局中,基于该目标棋力等级,动态调整智能棋手的棋步;即在步骤s103之后,还包括以下步骤:
59.第一步,在所述待调整棋局的下一棋局中,检测所述下一棋局的对弈者是否为所述待调整棋局中的对弈者。
60.这里,在下一棋局开始时,首先,判断该棋局中的对弈者是否与待调整棋局的对弈者为同一棋手;比如,通过分析对弈者的账号是否为同一账号,确定是否为同一棋手;或者通过人脸识别,确定是否为同一棋手。然后,基于判断结果,确定采用哪一棋力等级初始化该智能棋手。
61.第二步,响应于所述下一棋局中的对弈者为所述待调整棋局中的对弈者,将所述目标棋力等级作为所述下一棋局的初始棋力等级。
62.这里,如果下一棋局中的对弈者为待调整棋局中的对弈者,即下一棋局中的对弈者与待调整棋局中的对弈者为同一棋手,为快速实现对智能棋手的初始化,将待调整棋局中确定的目标棋力等级,作为该下一棋局中智能棋手的初始棋力等级。如此,在对弈者为同一棋手的情况下,通过将上一棋局中调整后的目标棋力等级作为下一棋局的初始棋力等级,能够为对弈者提供较好的对弈体验。
63.在一些实施例中,通过分析在待调整棋局中智能棋手每一步的走法,确定智能棋
手在整个棋局的目标棋力等级,即上述步骤s103可以通过图2所示的步骤实现,图2为本技术实施例提供的棋力调整方法的另一实现流程示意图,结合图2进行以下说明:
64.步骤s201,基于所述对弈者的棋步,确定对弈所述对弈者的棋步的至少一个未来推荐棋步。
65.在一些实施例中,智能棋手在棋盘上读取对弈者的棋步,基于该棋步,生成多种对弈该棋步的推荐走法,即至少一个未来推荐棋步。
66.步骤s202,基于所述棋力差距,在所述至少一个未来推荐棋步中确定所述智能棋手对弈所述对弈者的棋步的对弈棋步。
67.在一些实施例中,基于该棋力差距,在至少一个未来推荐棋步中选择与对弈者棋力相当的棋步,作为对弈棋步。比如,该棋力差距表明对弈者的棋步比历史推荐棋步中最差的棋步还要差很多,那么将该至少一个未来推荐棋步中棋力最差的棋步作为对弈棋步。或者,如果棋力差距表明对弈者的棋步比历史推荐棋步中最优的棋步还要高很多,那么将该至少一个未来推荐棋步中棋力最优的棋步作为对弈棋步。或者,如果棋力差距表明对弈者的棋步在历史推荐棋步的中间位置,那么在该至少一个未来推荐棋步中选择棋力稍大于该对弈者的棋步作为对弈棋步。
68.在其他实施例中,还可以通过分析前几个棋步,对弈者与智能棋手之间的对弈结果,来设定当前棋步是否需要高于或低于对弈者的棋力。比如,在一个棋局中,连续五步都是智能棋手的棋力高于对弈者的棋力,那么为提高对弈者的对弈兴趣,在第六步时,适当降低智能棋手的棋力,以使对弈者的棋力高于智能棋手。
69.步骤s203,基于所述待调整棋局中的每一对弈棋步和所述棋局信息,确定所述智能棋手对弈所述对弈者的目标棋力等级。
70.在一些实施例中,基于待调整棋局中的每一对弈棋步和棋局信息,能够确定该每一对弈棋步的棋力是否高于对弈者的棋力,从而整体调整智能棋手的当前棋力等级,以使该智能棋手达到目标棋力等级。比如,该棋力差距表明对弈者的棋步比历史推荐棋步中最差的棋步还要差很多,那么将该至少一个未来推荐棋步中棋力最差的棋步作为对弈棋步,同时结合整个棋局的棋局信息,适当降低智能棋手的棋力等级。如果棋力差距表明对弈者的棋步比历史推荐棋步中最优的棋步还要高很多,那么将该至少一个未来推荐棋步中棋力最优的棋步作为对弈棋步,同时结合整个棋局的棋局信息,适当升高智能棋手的棋力等级。
71.在本技术实施例中,通过结合棋局信息,分析整个棋局中每一对弈棋步与对弈者的棋步之间的胜负关系,从整体上调整智能棋手的棋力,达到目标棋力等级,进而使得智能棋手的棋力等级稍高于对弈者,能够提高对弈者的对弈兴趣。
72.在一些实施例中,通过整个棋局中智能棋手的对弈棋步,评估该智能棋手的当前初始棋力等级,并将对弈结果和棋局信息相结合,调整智能棋手在该棋局中的棋力,即上述步骤s203可以通过以下步骤s231和232(图示未示出)实现:
73.步骤s231,基于所述每一对弈棋步,确定所述智能棋手在所述待调整棋局中初始棋力等级。
74.在一些实施例中,通过统计每一对弈棋步的棋力,确定该智能棋手在该棋局中的当前棋力等级,即初始棋力等级。
75.步骤s232,基于所述待调整棋局的对弈结果和所述棋局信息,对所述初始棋力等
级进行调整,得到所述智能棋手对弈所述对弈者的目标棋力等级。
76.在一些实施例中,在待调整棋局结束时,获取该待调整棋局的对弈结果。将整个棋局中棋局信息包括的对弈者和智能棋手之间的每一棋步的胜负关系,与整个棋局的对弈结果相结合,从整体上调整智能棋手的棋力系数,即调整初始棋力等级,以达到稍高于对弈者棋力等级的目标棋力等级。如此,通过每一对弈棋步,评估待调整棋手在待调整棋局中的初始棋力等级;并按照棋局的对弈结果,对该初始棋力等级进行整体调整,进而能够使得在多盘棋局中对弈者和智能棋手达到胜负平衡的状态。
77.在一些可能的实现方式中,可以通过以下步骤从整体上调整智能棋手的棋力等级,从而使得智能棋手达到目标棋力等级:
78.第一步,基于所述棋局信息,确定所述对弈者的每一棋步与所述预设棋步之间的棋力差距,得到棋力差距集合。
79.这里,由于棋局信息中包括该待调整棋局中的每一棋步,这样,可以首先,获取棋局信息中对弈者的每一棋步,以及该棋步所对应的智能棋手的多个历史推荐棋步;然后,确定对弈者的每一棋步与多个历史推荐棋步中最优棋步之间的棋力差距,得到棋力差距集合。
80.第二步,基于所述棋力差距集合,确定所述对弈者的对弈棋力等级。
81.这里,通过该棋力差距集合,结合每一棋力差距所对应的最优棋步的棋力等级,可以从整体上确定对弈者在该棋局中的棋力等级,即对弈棋力等级。
82.第三步,基于所述对弈结果和所述对弈棋力等级,对所述初始棋力等级进行调整,得到所述智能棋手对弈所述对弈者的目标棋力等级。
83.这里,基于对弈结果,确定是增大还是降低智能棋手的初始棋力等级,而且基于对弈者的对弈棋力等级,能够确定需要对初始棋力等级进行调整的调整量,使得智能棋手的棋力等级达到目标棋力等级。如此,通过分析对弈者的每一棋步和预设棋步的棋力差距,确定出对弈者的棋力等级;并基于该棋局的对弈结果和对弈者的棋力等级,进而能够设定较为合理的智能棋力的目标棋力等级。
84.在一些实施例中,通过确定对弈者和智能棋手的棋力等级的差值,可以定量的对智能棋手的初始棋力等级进行调整,即上述第三步可以通过以下过程实现:
85.首先,确定所述初始棋力等级和所述对弈棋力等级之间的差值。
86.这里,在确定出对弈者的对弈棋力等级之后,可以进一步确定在当前棋局中该对弈棋力等级与智能棋手的初始棋力等级之间的差值,即两个棋力等级之间相差的等级数。可以是在棋局结束时,确定对弈者的对弈棋力等级,以及该差值;还可以是在棋局进行过半时,确定对弈者的对弈棋力等级,以及该差值。
87.然后,基于所述对弈结果和所述差值,对所述初始棋力等级进行调整,得到所述目标棋力等级。
88.这里,以该差值设定调整量,按照对弈结果对初始棋力等级进行上调或者下调,使得智能棋手达到目标棋力等级。这样,能够更加精准的从整体上调整智能棋手的棋力等级,使得智能棋手与对弈者旗鼓相当。
89.在一些可能的实现方式中,通过对弈结果整体调整智能棋手的棋力等级,从而使得多局对弈的胜率平衡,比如:
90.在所述对弈结果为所述对弈者胜或对弈平局的情况下,基于所述差值,增大所述初始棋力等级,得到所述目标棋力等级。
91.这里,在对弈结果为所述对弈者胜的情况下,基于该差值,设定第一调整量,基于该第一调整量增加初始棋力等级,使得智能棋手的棋力等级大于对弈者的对弈棋力等级。如果连续两局的对弈结果均为对弈者胜,那么将第一调整量设定为较大的值,从而使得在第三局中智能棋手稳胜对弈者,以激发对弈者的对弈兴趣。
92.在对弈结果为对弈平局的情况下,基于该差值,设定第二调整量,基于该第二调整量稍微增加初始棋力等级,使得智能棋手的棋力等级稍微大于对弈者的对弈棋力等级。其中,第二调整量小于第一调整量。
93.或者,在所述对弈结果为所述智能棋手胜的情况下,基于所述差值,降低所述初始棋力等级,得到所述目标棋力等级。
94.这里,在对弈结果为所述对弈者输的情况下,基于该差值,设定第三调整量,基于该第三调整量降低初始棋力等级,使得智能棋手的棋力等级稍微大于对弈者的对弈棋力等级。如果连续两局的对弈结果均为智能棋手胜,那么将第三调整量设定为较大的值,即将智能棋手的棋力等级降低到一个较低的等级,从而使得在第三局中对弈者胜出,以调动对弈者的对弈兴趣。
95.在本技术实施例中,通过结合一局或多局的对弈结果,对智能棋手的棋力等级进行整体调整,以使得在多局对弈中,对弈者和智能棋手能够胜率平衡;从而提高了对弈者的对弈体验。
96.下面,将说明本技术实施例在一个实际的应用场景中的示例性应用,以对在线棋艺对弈过程中进行棋力动态评估为例,进行说明。
97.相关技术中,在线人

机对弈棋艺的情况是预先设定的机器人棋艺等级。按照初级/中级/高级等多个等级来设置机器人棋艺水平,要达到人

机旗鼓相当、游刃有余的情况下和机器对弈下棋,一般需要熟悉一定的棋局,参与者才能知道自己适合哪个等级的棋艺对弈。
98.相关技术中设定棋艺等级的方式,对用户体验来说,属于一种机械的设定模式,用户需要反复体验才能达到适合自己合适的棋艺等级;这样,用户只能机械的遵从系统设定的棋艺等级,要不太高,要不过低;而在人机对弈过程中,最要的可以持续玩下去的对弈棋局是双方旗鼓相当,单局棋艺对弈双方水平相当水平,在多局对弈过程中,对弈双方胜率均衡,棋逢对手的情况,对用户是一个比较好的体验。
99.本技术实施例提供一种棋力调整方法,实现参与人与ai引擎(对应于上述实施例中的智能棋手)轻松自如,旗鼓相当的对弈下棋;并自动实现对参与人棋力的自动评估,自适应调整ai引擎的棋子走法;这样,整体评估参与人与ai引擎之间的整体棋局的胜负,能够达到一个胜负平衡的状态。
100.图3为本技术实施例提供的棋力调整方法的另一实现流程示意图,结合图3进行以下说明:
101.第一步,在对弈前端301和ai棋艺引擎302上分别获取对弈双方棋况/棋局信息303。
102.这里,对弈双方棋况/棋局信息303包括对弈者和智能棋手之间的对弈数据。
103.第二步,将获取的对弈双方棋况/棋局信息303,输入ai棋力自适应评估模块304和ai棋局胜负平衡策略模块305中。
104.第三步,通过ai棋力自适应评估模块304,基于对弈双方棋况和棋局信息,实时调整ai引擎棋力306;通过ai棋局胜负平衡策略模块305,基于对弈双方棋况和棋局信息,整体调整ai棋力水平307。
105.第四步,基于实时调整的ai引擎棋力和整体调整的ai引擎棋力水平,执行新棋力策略308;并将该执行后的新棋力策略输入到第一步的对弈前端301和ai棋艺引擎302中。
106.这里,执行新棋力策略308为智能棋手执行目标棋力等级。
107.在一些实施例中,上述ai棋局胜负平衡策略模块305的实现过程如图4所示,图4为本技术实施例提供的ai棋局胜负平衡策略的实现流程示意图,结合图4所示步骤进行以下说明:
108.步骤s401,棋艺对弈开局。
109.步骤s402,在开局的棋局中进行互动对弈。
110.这里,在开局的棋局中进行互动对弈的同时,进行步骤s41,实时调整ai引擎的棋力;使得ai引擎的棋力与对弈者的棋力旗鼓相当。
111.步骤s403,如果棋局对弈结束,获取该棋局的对弈结果。
112.在一些实施例中,如果棋局对弈结果是ai引擎赢进入步骤s411,如果棋局对弈结果是对弈平局进入步骤s421,如果棋局对弈结果是ai引擎输进入步骤s431。
113.步骤s411,如果ai引擎赢,确定ai棋力调整系数。
114.步骤s412,下调ai棋力调整系数。
115.在步骤s412对ai棋力调整系数进行下调之后,进入步骤s404。
116.步骤s421,如果对弈平局,确定ai棋力调整系数。
117.这里,确定ai棋力调整系数,以便于适当调高ai棋力系数。
118.步骤s422,将ai棋力系数进行微上调。
119.在步骤s422对ai棋力调整系数进行上调之后,进入步骤s404。
120.步骤s431,如果ai引擎输,确定ai棋力调整系数,
121.这里,确定ai棋力调整系数,以便于适当调高ai棋力系数。
122.步骤s432,将ai棋力系数进行大幅度上调。
123.在步骤s432对ai棋力调整系数进行上调之后,进入步骤s404。
124.步骤s404,将已调整的ai棋力系数,推荐给下一次棋力系数。
125.步骤s405,在进行下一棋局时,初始化棋力系数。
126.这里,将初始化的棋力系数反馈至步骤s402,以供对弈者在下一棋局中进行互动对弈。
127.在一些实施例中ai棋力自适应评估模块304的实现过程如图5所示,图5为本技术实施例提供的ai棋力自适应评估的实现流程示意图,结合图5所示步骤进行以下说明:
128.步骤s501,获取当前棋局。
129.步骤s502,在当前棋局中,获取人工走棋数据。
130.这里,将人工走棋数据发送给ai引擎,进入步骤s531。
131.步骤s503,将当前棋局发送给ai引擎。
132.步骤s504,获得ai引擎的当前棋步推荐走法。
133.上述步骤s501至步骤s504在人工走棋阶段51实现。
134.步骤s505,存储人工走棋的棋步,以及,ai引擎中推荐的棋步。
135.步骤s506,将人工走法与ai引擎中推荐的棋步进行比较。
136.步骤s507,基于比较结果,确定人工走法在ai引擎中推荐的棋步中的排位。
137.步骤s508,基于该排位,确定人工走法与ai引擎中推荐的棋步的差距等级。
138.这里,该差距等级表征人工走法与ai引擎中推荐的最优走法的差距等级。
139.步骤s509,在该棋局中,记录每一步人工走法对应的差距等级。
140.步骤s510,基于每一步人工走法对应的差距等级,确定当前棋局中全部走法的对弈等级。
141.步骤s511,基于该全部走法的对弈等级,确定差距等级的范围。
142.步骤s512,基于该差距等级的范围,确定对弈者的棋艺等级。
143.上述步骤s505至步骤s512在棋手棋力等级评估阶段52实现。
144.步骤s531,将步骤s502中的人工走棋的棋步发送给ai引擎,以进行ai走棋。
145.步骤s532,ai引擎获取推荐走法的排序。
146.步骤s533,基于步骤s509确定的差距等级,在多种推荐走法中确定目标走法。
147.步骤s534,ai引擎输出对弈人工棋步的合理棋步。
148.在本技术实施例中,在一局对弈中,动态根据对弈者的走法自动评判对弈者的每一步的棋力水平,并通过多局对弈动态调整胜率平衡,能够提高在线棋艺的用户体验。
149.本技术实施例提供一种棋力调整装置,图6为本技术实施例提供的棋力调整装置的结构组成示意图,如图6所示,所述棋力调整装置600包括:
150.第一获取模块601,用于获取待调整棋局中对弈者和智能棋手之间的对弈数据;
151.第一确定模块602,用于在所述对弈数据中,确定所述对弈者的棋步与预设棋步之间的棋力差距;
152.第二确定模块603,用于基于所述棋力差距和所述待调整棋局的棋局信息,确定所述智能棋手对弈所述对弈者的目标棋力等级。
153.在一些实施例中,所述装置还包括:
154.第三确定模块,用于基于所述对弈者的棋步所对弈的所述智能棋手的历史棋步,确定对弈所述历史棋步的至少一个历史推荐棋步;
155.第四确定模块,用于将所述至少一个历史推荐棋步,确定为所述预设棋步。
156.在一些实施例中,所述第一确定模块602,包括
157.第一确定子模块,用于确定所述对弈者的棋步在所述至少一个历史推荐棋步中的棋力排位;
158.第二确定子模块,用于基于所述棋力排位,确定所述对弈者的棋步与所述预设棋步之间的棋力差距。
159.在一些实施例中,所述第二确定模块603,包括:
160.第三确定子模块,用于基于所述对弈者的棋步,确定对弈所述对弈者的棋步的至少一个未来推荐棋步;
161.第四确定子模块,用于基于所述棋力差距,在所述至少一个未来推荐棋步中确定
所述智能棋手对弈所述对弈者的棋步的对弈棋步;
162.第五确定子模块,用于基于所述待调整棋局中的每一对弈棋步和所述棋局信息,确定所述智能棋手对弈所述对弈者的目标棋力等级。
163.在一些实施例中,所述第五确定子模块,包括:
164.第一确定单元,用于基于所述每一对弈棋步,确定所述智能棋手在所述待调整棋局中初始棋力等级;
165.第一调整单元,用于基于所述待调整棋局的对弈结果和所述棋局信息,对所述初始棋力等级进行调整,得到所述智能棋手对弈所述对弈者的目标棋力等级。
166.在一些实施例中,所述第一调整单元,包括:
167.第一确定子单元,用于基于所述棋局信息,确定所述对弈者的每一棋步与所述预设棋步之间的棋力差距,得到棋力差距集合;
168.第二确定子单元,用于基于所述棋力差距集合,确定所述对弈者的对弈棋力等级;
169.第一调整子单元,用于基于所述对弈结果和所述对弈棋力等级,对所述初始棋力等级进行调整,得到所述智能棋手对弈所述对弈者的目标棋力等级。
170.在一些实施例中,所述第一调整子单元,还用于:确定所述初始棋力等级和所述对弈棋力等级之间的差值;基于所述对弈结果和所述差值,对所述初始棋力等级进行调整,得到所述目标棋力等级。
171.在一些实施例中,所述第一调整子单元,还用于:在所述对弈结果为所述对弈者胜或对弈平局的情况下,基于所述差值,增大所述初始棋力等级,得到所述目标棋力等级;或,在所述对弈结果为所述智能棋手胜的情况下,基于所述差值,降低所述初始棋力等级,得到所述目标棋力等级。
172.在一些实施例中,所述装置还包括:
173.第一检测模块,用于在所述待调整棋局的下一棋局中,检测所述下一棋局的对弈者是否为所述待调整棋局中的对弈者;
174.第五确定模块,用于响应于所述下一棋局中的对弈者为所述待调整棋局中的对弈者,将所述目标棋力等级作为所述下一棋局的初始棋力等级。
175.需要说明的是,以上装置实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本技术装置实施例中未披露的技术细节,请参照本技术方法实施例的描述而理解。
176.需要说明的是,本技术实施例中,如果以软件功能模块的形式实现上述的棋力调整方法,并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台电子设备(可以是终端、服务器等)执行本技术各个实施例所述方法的全部或部分。而前述的存储介质包括:u盘、运动硬盘、只读存储器(read only memory,rom)、磁碟或者光盘等各种可以存储程序代码的介质。这样,本技术实施例不限制于任何特定的硬件和软件结合。
177.对应地,本技术实施例再提供一种计算机程序产品,所述计算机程序产品包括计算机可执行指令,该计算机可执行指令被执行后,能够实现本技术实施例提供的棋力调整
方法中的步骤。
178.相应的,本技术实施例再提供一种计算机存储介质,所述计算机存储介质上存储有计算机可执行指令,所述该计算机可执行指令被处理器执行时实现上述实施例提供的棋力调整方法的步骤。
179.相应的,本技术实施例提供一种电子设备,图7为本技术实施例提供的电子设备的组成结构示意图,如图7所示,所述电子设备700包括:一个处理器701、至少一个通信总线、通信接口702、至少一个外部通信接口和存储器703。其中,通信接口702配置为实现这些组件之间的连接通信。其中,通信接口702可以包括显示屏,外部通信接口可以包括标准的有线接口和无线接口。其中所述处理器701,配置为执行存储器中图像处理程序,以实现上述实施例提供的棋力调整方法的步骤。
180.以上棋力调整装置、电子设备和存储介质实施例的描述,与上述方法实施例的描述是类似的,具有同相应方法实施例相似的技术描述和有益效果,限于篇幅,可案件上述方法实施例的记载,故在此不再赘述。对于本技术棋力调整装置、电子设备和存储介质实施例中未披露的技术细节,请参照本技术方法实施例的描述而理解。
181.应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本技术的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。应理解,在本技术的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本技术实施例的实施过程构成任何限定。上述本技术实施例序号仅仅为了描述,不代表实施例的优劣。需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
182.在本技术所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
183.上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元;既可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
184.另外,在本技术各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相
关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(read only memory,rom)、磁碟或者光盘等各种可以存储程序代码的介质。
185.或者,本技术上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台电子设备(可以是个人计算机、服务器、或者网络设备等)执行本技术各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、rom、磁碟或者光盘等各种可以存储程序代码的介质。以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以所述权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1