本发明涉及台球运动技术领域和人工智能技术领域,尤其涉及一种击球路线的推荐方法及装置。
背景技术:
近年机器视觉以及人工智能开始应用在台球比赛的电子计分或者台球练习的辅助系统上。在现有技术中,可以通过拍摄装置对台球比赛或者台球练习的过程进行拍摄和视频采集,并获取台球桌面上每一个台球的位置,再进行后续操作实现电子计分或者台球练习的推荐球。
在相关技术方案中,关于台球击球的过程中可以对用户接下来的击球选择进行推荐和指导的技术方案是根据计算当前台球桌面上存在的多条可供选择的击球路线的得分多少来确定推荐的下球线路,也就是说,得分越高的击球路线会优先被推荐。但是,在上述击球路线的推荐方案中,仅考虑了每一个进球对应的得分却没有考虑进球所对应的难度,从而导致了得分较高但是进球难度过大的击球线路被推荐给选手,选手却因为进球太难没有得分。也就是说,在上述技术方案中,推荐的目标球的虽然得分较高但可能并不是最佳选择。
因此,现有技术中关于台球辅助系统中击球路线的推荐存在准确度不高、与实际操作不匹配的问题。
技术实现要素:
基于此,在本发明中,提出了一种击球路线的推荐方法及装置,考虑每一个目标球的进球难度和得分多少,提高了台球辅助系统中击球路线推荐的准确度,提升了用户体验。
在本发明的第一方面,提出了一种击球路线的推荐方法。
一种击球路线的推荐方法,包括:
获取台球桌当前台面上多个台球的球标识和位置信息、袋口标识和袋口的位置信息,确定与所述当前台面对应的至少一个击球路线,所述击球路线至少包含与该击球路线对应的目标球、目标袋口的袋口标识和/或击球参数;
根据当前台面上多个台球的位置信息以及击球路线的目标球位置信息、目标袋口的位置信息,计算与每一个击球路线对应的期望收益值;
根据所述期望收益值在所述至少一个击球路线中确定目标击球路线,输出所述目标击球路线。
可选的,在一个实施例中,所述击球路线包括第一击球路线;
所述根据当前台面上多个台球的位置信息以及击球路线的目标球位置信息、目标袋口的位置信息,计算与每一个击球路线对应的期望收益值的步骤,还包括:
通过当前台面上多个台球的位置信息以及第一击球路线的目标球位置信息、目标袋口的位置信息,计算与每一个第一击球路线对应的第一击球角度范围值;
获取每一个第一击球路线的目标球对应的第一得分;
根据所述第一击球角度范围值与所述第一得分计算与每一个第一击球路线对应的第一期望收益值,将所述第一期望值作为所述击球路线的期望收益值。
可选的,在一个实施例中,所述通过当前台面上多个台球的位置信息以及第一击球路线的目标球位置信息、目标袋口的位置信息,计算与每一个第一击球路线对应的第一击球角度范围值,还包括:
针对每一个第一击球路线,确定目标球进入到目标袋口的左边极限击球方向和右边极限击球方向;
根据所述左边极限击球方向和右边极限击球方向确定与该第一击球路线对应的第一击球角度范围值,所述第一击球角度范围值为所述左边极限击球方向和右边极限击球方向所在直线之间的夹角。
可选的,在一个实施例中,所述根据所述第一击球角度范围值与所述第一得分计算与每一个第一击球路线对应的第一期望收益值,还包括:
根据预设的得分概率计算公式,以所述第一击球角度范围值为自变量,计算与所述第一击球角度范围值对应的第一得分概率值;
通过计算所述第一得分与所述第一得分概率值的乘积,获取所述与第一击球路线对应的第一期望收益值。
可选的,在一个实施例中,所述根据所述第一击球角度范围值与所述第一得分计算与每一个第一击球路线对应的第一期望收益值的步骤之后,还包括:
计算所述击球路线的第二期望收益值,所述第二期望收益值用于表征在所述击球路线下除所述第一击球路线之外的再次和/或多次击球的得分收益;
将所述第一期望收益值和所述第二期望收益值作为所述期望收益值。
可选的,在一个实施例中,所述确定与所述当前台面对应的至少一个击球路线的步骤之前,还包括:
确定击球路线的考虑步数;
所述计算所述击球路线的第二期望收益值,所述第二期望收益值用于表征在所述击球路线下除所述第一击球路线之外的再次和/或多次击球的得分收益的步骤,还包括:
根据所述考虑步数,确定所述击球路线下与所述考虑步数对应的剩余击球路线,所述第一击球路线和所述剩余击球路线构成所述击球路线;
通过计算剩余击球路线对应的击球角度范围值以及得分来计算与每一个剩余击球路线对应的得分收益值作为所述第二期望收益值,该第二期望收益值为所述击球路线的第二期望收益值。
可选的,在一个实施例中,所述计算所述击球路线的第二期望收益值,所述第二期望收益值用于表征在所述击球路线下除所述第一击球路线之外的再次和/或多次击球的得分收益的步骤,还包括:
确定预设的摩擦系数;
确定与所述击球路线确定的击球参数,所述击球参数包括击球点参数和/或击球力度参数中的至少一个;
针对每一个击球路线:
根据该击球路线对应的第一击球路线以及所述击球参数计算与该第一击球路线对应的击球后台面上的各个台球的位置信息;根据所述击球后台面上的各个台球的位置信息确定与该击球路线对应的剩余击球路线,所述剩余击球路线的数量为至少一个;针对每一个剩余击球路线,计算与该剩余击球路线对应的第二得分以及第二击球角度范围值,根据所述第二得分和所述第二击球角度范围值计算与该剩余击球路线对应的剩余期望收益值,将该剩余期望收益值作为所述第二期望收益值。
可选的,在一个实施例中,所述根据所述期望收益值在所述至少一个击球路线中确定目标击球路线,输出所述目标击球路线,还包括:
在所述击球路线中,根据所述第一期望收益值和所述第二期望收益值确定所述目标击球路线,所述目标击球路线包含目标第一击球路线和目标剩余击球路线;
输出所述目标击球路线,包括所述目标击球路线的目标球、目标袋口标识和/或击球参数。
可选的,在一个实施例中,所述所述击球路线中,根据所述第一期望收益值和所述第二期望收益值确定所述目标击球路线,所述目标击球路线包含目标第一击球路线和目标剩余击球路线,还包括:
通过公式
Eik=E′ik+E″ik=P1iG1i+P1iP2kG2k,
来计算与击球路线对应的第一期望收益值Eik;其中,P1i为第i个击球路线的第一得分概率值,G1i为第i个击球路线的第一得分,P2k为第i个击球路线下第k个剩余击球路线的第二得分概率值,G1i为第i个击球路线下第k个剩余击球路线的第二得分;且i=1,2,…,N1,k=1,2,…,N2,N1为第一击球路线的数量,N2为剩余击球路线的数量,E′ik为第一期望收益值,E″ik为第二期望收益值;
根据所述与击球路线对应的期望收益值Eik确定最优期望收益值,获取与所述最优期望收益值对应的击球路线作为目标击球路线,将与所述最优期望收益值包含的第一期望收益值对应的第一击球路线作为目标第一击球路线、与所述最优期望收益值包含的第二期望收益值对应的剩余击球路线作为目标剩余击球路线。
可选的,在一个实施例中,所述确定与所述当前台面对应的至少一个击球路线,还包括:
根据所述当前台面上多个台球的位置信息、袋口的位置信息判断每个可选球与母球之间或该可选球与每个袋口之间是否有至少一个障碍球存在,所述可选球当前台面上可以击打的台球;
若不存在,则将母球、对应的可选球和袋口确定为击球路线,该可选球为目标球,该袋口为目标袋口。
此外,在本发明中,还提出了一种击球路线的推荐装置。
一种击球路线的推荐装置,包括:
击球路线获取模块,用于获取台球桌当前台面上多个台球的球标识和位置信息、袋口标识和袋口的位置信息,确定与所述当前台面对应的至少一个击球路线,所述击球路线至少包含与该击球路线对应的目标球、目标袋口的袋口标识和/或击球参数;
期望收益值计算模块,用于根据当前台面上多个台球的位置信息以及击球路线的目标球位置信息、目标袋口的位置信息,计算与每一个击球路线对应的期望收益值;
目标击球路线确定模块,用于根据所述期望收益值在所述至少一个击球路线中确定目标击球路线,输出所述目标击球路线。
可选的,在一个实施例中,所述击球路线包括第一击球路线;
所述期望收益值计算模块还包括第一击球角度范围值确定模块、第一得分确定模块以及第一期望收益值确定模块,其中:
第一击球角度范围值确定模块,用于通过当前台面上多个台球的位置信息以及第一击球路线的目标球位置信息、目标袋口的位置信息,计算与每一个第一击球路线对应的第一击球角度范围值;
第一得分确定模块,用于获取每一个第一击球路线的目标球对应的第一得分;
第一期望收益值确定模块,用于根据所述第一击球角度范围值与所述第一得分计算与每一个第一击球路线对应的第一期望收益值,将所述第一期望值作为所述期望收益值。
可选的,在一个实施例中,第一击球角度范围值确定模块还用于针对每一个第一击球路线,确定目标球进入到目标袋口的左边极限击球方向和右边极限击球方向;根据所述左边极限击球方向和右边极限击球方向确定与该第一击球路线对应的第一击球角度范围值,所述第一击球角度范围值为所述左边极限击球方向和右边极限击球方向所在直线之间的夹角;
根据预设的得分概率计算公式,以所述第一击球角度范围值为自变量,计算与所述第一击球角度范围值对应的第一得分概率值;
通过计算所述第一得分与所述第一得分概率值的乘积,获取所述与第一击球路线对应的第一期望收益值。
可选的,在一个实施例中,所述期望收益值计算模块还包括第二期望收益值确定模块,用于:
计算所述击球路线的第二期望收益值,所述第二期望收益值用于表征在所述击球路线下除所述第一击球路线之外的再次和/或多次击球的得分收益;将所述第一期望收益值和所述第二期望收益值作为所述期望收益值。
可选的,在一个实施例中,所述第一击球路线获取模块还用于确定击球路线的考虑步数;
所述第二期望收益值确定模块还用于:根据所述考虑步数,确定所述击球路线下与所述考虑步数对应的剩余击球路线,所述第一击球路线和所述剩余击球路线构成所述击球路线;通过计算剩余击球路线对应的击球角度范围值以及得分来计算与每一个剩余击球路线对应的得分收益值作为所述第二期望收益值,该第二期望收益值为所述击球路线的第二期望收益值。
可选的,在一个实施例中,所述第二期望收益值确定模块还用于:确定预设的摩擦系数;确定与所述击球路线确定的击球参数,所述击球参数包括击球点参数和/或击球力度参数中的至少一个;针对每一个击球路线:根据该击球路线对应的第一击球路线以及所述击球参数计算与该第一击球路线对应的击球后台面上的各个台球的位置信息;根据所述击球后台面上的各个台球的位置信息确定与该击球路线对应的剩余击球路线,所述剩余击球路线的数量为至少一个;针对每一个剩余击球路线,计算与该剩余击球路线对应的第二得分以及第二击球角度范围值,根据所述第二得分和所述第二击球角度范围值计算与该剩余击球路线对应的剩余期望收益值,将该剩余期望收益值作为所述第二期望收益值。
可选的,在一个实施例中,所述期望收益值计算模块还用于通过公式
Eik=E′ik+E″ik=P1iG1i+P1iP2kG2k,
来计算与击球路线对应的第一期望收益值Eik;其中,P1i为第i个击球路线的第一得分概率值,G1i为第i个击球路线的第一得分,P2k为第i个击球路线下第k个剩余击球路线的第二得分概率值,G1i为第i个击球路线下第k个剩余击球路线的第二得分;且i=1,2,…,N1,k=1,2,…,N2,N1为第一击球路线的数量,N2为剩余击球路线的数量,E′ik为第一期望收益值,E″ik为第二期望收益值;
根据所述与击球路线对应的期望收益值Eik确定最优期望收益值,获取与所述最优期望收益值对应的击球路线作为目标击球路线,将与所述最优期望收益值包含的第一期望收益值对应的第一击球路线作为目标第一击球路线、与所述最优期望收益值包含的第二期望收益值对应的剩余击球路线作为目标剩余击球路线。
在本发明中,还提出了一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如前所述的击球路线的推荐方法。
在本发明中,还提出了一种计算机可读存储介质,包括计算机指令,当所述计算机指令在计算机上运行时,使得计算机执行如前所述的击球路线的推荐方法。
实施本发明实施例,将具有如下有益效果:
采用了上述击球路线的推荐方法和装置之后,在进行斯诺克等台球运动过程中击球的击球路线的推荐时,通过采集台球桌面上的台球的位置信息时,针对可选的每一个击球路线计算与该击球路线对应的可选的击球方向的范围作为得分的概率参考,并考虑每一个击球路线对应的得分,从而来综合考虑每一个击球路线对应的期望收益,并根据期望收益最大化原则在可选的击球路线中选择进行推荐的击球路线。并且,在考虑击球路线的选择时,还可以考虑每一个击球路线对应的再次、多次击球是否容易得分以及得分的多少,以及考虑每一个击球路线下可选的击球力度、击球点位置等击球参数的对于击球路线以及得分的影响,从而来进一步的提高击球路线选择的收益最大化。
也就是说,采用本发明,使得在进行击球路线的推荐过程中计算的进球难易程度更加客观更具备可参考性;并且,在进行击球路线的推荐的过程中,不仅考虑了每一个击球路线进球的难易程度、还考虑了进球所得到的收益大小以及后续击球的得分收益情况,并进一步考虑了击球的力度、击球点位置等击球参数对于得分收益情况的影响,使得了击球路线的推荐更加准确、击球路线对于球员的可参考性和可操作性更强,提高了击球路线推荐的实用性,提升了用户体验。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
其中:
图1为一个实施例中一种击球路线的推荐方法的流程示意图;
图2为一个实施例中一种击球路线的示意图;
图3为一个实施例中第一期望收益值计算的流程示意图;
图4为一个实施例中不同击球方向下击球路线的击球角度范围值示意图;
图5为一个实施例中第一期望收益值的计算流程示意图;
图6为一个实施例中击球方向公差角-成功机率函数曲线示意图;
图7为一个实施例中一种击球路线的推荐方法的流程示意图;
图8为一个实施例中击球点位置示意图;
图9为一个实施例中白球运行轨迹以及停止位置的示意图;
图10为一个实施例中一种击球路线的推荐装置的结构示意图;
图11为一个实施例中运行前述击球路线的推荐方法的计算机设备的结构示意图。
具体实施方式
为了便于理解本发明,下面将参照相关附图对本发明进行更全面的描述。附图中给出了本发明的较佳实施例。但是,本发明可以以许多不同的形式来实现,并不限于本文所描述的实施例。相反地,提供这些实施例的目的是使对本发明的公开内容的理解更加透彻全面。
除非另有定义,本文所使用的所有的技术和科学术语与属于发明的技术领域的技术人员通常理解的含义相同。本文中在发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在限制本发明。本文所使用的术语“和/或”包括一个或多个相关的所列项目的任意的和所有的组合。。
基于此,在本实施例中,提出了一种击球路线的推荐方法。该方法针对台球辅助场景下,不仅考虑了每一个击球路线对应的得分,还考虑到了每一个击球路线对应的目标球的进球难度,综合得分和进球难度来进行最佳的击球路线的推荐,从而提高台球辅助系统中击球路线推荐的准确度,提升用户体验。
需要说明的是,在本实施例中,击球路线的推荐的过程中考虑到了每一个击球路线对应的得分,也就是说,其对应的应用场景为斯诺克(Snooker)台球。斯诺克台球的使用球包括了1个白球(或称为母球、主球)、15个红球以及6个彩球(黄、绿、咖啡、蓝、粉、黑)。选手或球员需要根据斯诺克台球的规则通过白球来完成其他球的击球以及入袋,从而得分。选手在进行击球时,根据当前步骤下的目标球为红球或者某一种颜色的彩球来判断在本步骤中可以击打的球(即为目标球)、该球进入的袋口以及对应的击球路线(即为击球路线)。一般情况下,选手是通过自身经验来比较各条线路的击打难度以及得分多少来进行击球路线的选择,这种判断比较主观;尤其是针对初级选手来讲,判断每一个击球路线以及对应的击打难度是较为困难的,因此,在台球辅助系统中提供了对击球路线的推荐,通过提供击球路线对应的目标球以及进球袋口来辅助选手进行击球。
上述击球路线的推荐方法的实现可依赖于计算机程序,该计算机程序可运行于基于冯诺依曼体系的计算机系统之上,该计算机程序可以是基于台球辅助系统或应用对应的应用程序。需要说明的是,在本实施例中,该方法的实现是基于通过视频采集或者其他方式对台球桌面上每一个球的位置信息等进行采集和存储的基础上的,也就是说,可以是通过其他设备采集了需要进行监控或辅助的台球桌面上的台球的分布信息,也可以是通过与当前方法所基于的设备上所设置的摄像装置获取了对应的视频信息或根据视频信息获取了对应的台球桌面上的台球的分布信息。
需要说明的是,在本实施例中,台球桌的尺寸、袋口数量以及袋口的位置都是事先获取到的,例如,通过台球桌的尺寸信息预设将上述参数输入到了计算机设备中,从而使得该台球辅助系统在进行分析、计算的过程中需要获取上述参数时可以获取到上述参数信息完成分析或计算。
具体的,如图1所示,上述击球路线的推荐方法包括如下步骤S101-S103:
步骤S101:获取台球桌当前台面上多个台球的球标识和位置信息、袋口标识和袋口的位置信息,确定与所述当前台面对应的至少一个击球路线,所述击球路线至少包含与该击球路线对应的目标球、目标袋口的袋口标识和/或击球参数。
如前所述,台球桌的尺寸、袋口数量以及每一个袋口的位置等均是可以实现通过测量预先获取的并存储在计算机设备中待获取到的。并且,本方法所基于的计算机设备还连接有一摄像设备来获取台球桌上对应的视频信息从而来获取每一个台球的位置信息。也就是说,在本步骤中,台球桌上当前台面上的多个台球的位置信息以及袋口的位置信息均是可以被获取到的。
进一步的,在本实施例中,可以通过字母或者编号来对不同的球进行标识。例如,母球的标识为W1,红球的标识为R1-R15,彩球的标识也可以根据彩球的颜色来进行标识,其中黄球的标识为Y1、绿球的标识为G1、咖啡球的标识为C1、蓝球的标识为B1、粉球的标识为P1、黑球的标识为H1。每一个袋口也可以根据其位置进行标识,分别为pocket1-pocket6。
在台面上的每一个台球的位置确定之后,即可确定选手当前可以进行击球的路线,即为击球路线。例如,在用户当前击球目标为红球的情况下,台面上所有的红球均为可选球,每一个袋口均为可选的袋口,但是,在母球(白球)与作为可选球的红球之间、以及该可选的红球与可选的袋口之间可能存在障碍导致其不能通过击球进入到对应的袋口,因为,需要确定当前台面中所有的击球路线,再确定击球路线中的最优选择。
每一个击球路线均对应了母球、以及对应的目标球(可以为红球、也可以为彩球)、以及对应的进球的袋口(目标袋口),通过击打母球来使得目标球运动并进入到目标袋口对应的路线即为击球路线。在本步骤中,确定的击球路线为第一击球路线,也就是推荐选手进行当次击球的击球路线。一般来讲,确定的第一击球路线的数量至少有一个(没有可选的击球路线的情况不在此考虑之列),也可能有多个,每一个击球路线均包含了对应的目标球(即为通过母球直接击打的球)以及对应的目标袋口和对应的目标球标识、目标袋口标识。
在一个具体的实施例中,上述确定与所述当前台面对应的至少一个击球路线,还包括:根据所述当前台面上多个台球的位置信息、袋口的位置信息判断每个可选球与母球之间或该可选球与每个袋口之间是否有至少一个障碍球存在,所述可选球当前台面上可以击打的台球;若不存在,则将母球、对应的可选球和袋口确定为击球路线,该可选球为目标球,该袋口为目标袋口。
也就是说,根据每一个台球的位置信息、以及台球的大小、袋口的位置信息、以及袋口入口的大小,来确定母球与每一个可选球之间是否存在障碍球,并确定每一个可选球与每一个袋口之间是否存在障碍球。在母球与可选球以及可选球与袋口之间均不存在障碍球的情况下,其对应了一个击球路线,其中的可选球即为与该击球路线对应的目标球,对应的袋口即为与该击球路线对应的目标袋口。也就是说,选手根据该击球路线进行击球时可以将该目标球击入目标袋口。
如图2所示,图2给出了台球桌的台面上的一个击球路线的示意图。在该击球路线中未有存在障碍球。
需要说明的是,在本实施例中,因为不同的击球力度以及不同的击球点位置对击球路线以及是否进球也会有影响,因此,在一个可选的实施例中,击球路线还包括与该击球路线对应的击球参数。也就是说,不同的击球路线也对应了不同的击球路线。需要说明的是,在本实施例中,击球参数为可选的参数,也就是说,在实际考虑击球路线的推荐中,也可以不考虑击球参数,仅考虑目标球以及目标袋口等参数。
需要说明的是,在本实施例中,在考虑击球路线时,还需要考虑与对应的击球路线所对应的击球杆法或击球方式,例如,击球力度、击球点以及击球方向等,因为不同的击球力度、击球点以及击球方向可能导致了不同的进球结果,也对应了第一次击球之后桌面上的各个球的分布的位置信息的不一样。
也就是说,不同的击球力度参数以及不同的击球点参数下,就算目标球以及目标袋口是一致的情况下,其对应的击球线路也可以是不一致的。一般情况下,对于低阶选手不考虑,但是对于高阶选手可以考虑。因此,在进行击球路线的推荐之前,还需要确定选手的级别或者偏好等,以便进行个性化的击球路线的推荐。
步骤S102:根据当前台面上多个台球的位置信息以及击球路线的目标球位置信息、目标袋口的位置信息,计算与每一个击球路线对应的期望收益值。
需要说明的是,在本实施例中,每一个击球路线均对应了其对应的得分以及该得分所对应的进球概率,根据得分以及进球概率可以计算与该进击球路线对应的得分的期望收益情况,即与击球路线对应的期望收益值。
在本实施例中,在计算击球路线的期望收益值的过程中,需要考虑当次或者多次击球所对应的期望收益。也就是说,考虑期望收益的最大化的过程中,需要考虑一次或多次击球路线所对应的得分收益。
下面根据考虑的击球路线的步数的不同分别对期望收益值的计算进行说明。
具体的,以仅考虑当次击球为例进行说明,也就是说,击球路线仅包含了当次击球,当次击球的击球路线为第一击球路线。也就是说,需要对第一击球路线下的得分收益情况进行说明。如图3所示,上述步骤S102可以分为3个具体的步骤S1021-S1023:
步骤S1021:通过当前台面上多个台球的位置信息以及第一击球路线的目标球位置信息、目标袋口的位置信息,计算与每一个第一击球路线对应的第一击球角度范围值。
如前,每一个击球路线中,母球与目标球之间是不存在障碍球的,也就是说,通过击打母球可以将目标球击入到目标袋口中,也就是说,目标球可以通过一定的运行轨迹进入到目标袋口中。
在一个具体的实施例中,如图4所示,在图4所示的应用场景中,对于目标球A来讲,目标球A在母球的撞击下进入左上角的袋口,因为袋口的大小大于台球的直径,因此,目标球A进入该袋口的位置可以在该袋口的最左侧也可以最右侧以及中间的任何位置,并且,不同的进球位置对应不同的击球方向,因此,在保证目标球A进入到该袋口的情况下,用户的击球角度并不是一个固定值而是一个角度值范围(第一击球角度范围值),即为能够进球的左边极限击球方向和右边极限击球方向之间的夹角,在该夹角范围内的任何击球角度均可以将目标球撞击入目标袋口中。如图4所示,该角度值范围为进球的左右两侧的极限位置对应的极限击球方向之间的夹角,即为图3中的公差角A。
一般来讲,公差角(第一击球角度范围值)越大,选手的击球角度的可选空间越大,也就是说,球越好进或者进球的成功率越高。需要说明的是,在本实施例中,不考虑公差角(第一击球角度范围值)为0的情况,因为公差角(第一击球角度范围值)为0代表着不可能进球,即为对应的击球路线是不存在的。
在一个具体的实施例中,上述计算与每一个第一击球路线对应的第一击球角度范围值的过程具体为:针对每一个第一击球路线,确定目标球进入到目标袋口的左边极限击球方向和右边极限击球方向;根据左边极限击球方向和右边极限击球方向确定与该第一击球路线对应的第一击球角度范围值,第一击球角度范围值为左边极限击球方向和右边极限击球方向所在直线之间的夹角。
在一个具体的实施例中,以图4为例,阐述公差角(第一击球角度范围值)的计算实例。
基于前述已经确定的台球桌的尺寸信息、袋口的尺寸信息、位置信息、台球的尺寸信息等建立台球桌对应的台面集合模型,可如图2或图4所示的简单模型,其中将6个袋口简化为6条线段,该线段长度一定大于台球直径长度,且认为当目标球运行到它的某条直径完全位于该线段内时,目标球必然进袋。
图4描述了4种情况,其中情况A是最简单和最常见的一种情况。考虑目标球A和左上角袋口,该袋口有二个进袋球极限位置(AL和AR),即目标球恰好能够进袋的最左和最右位置。将这二个进袋球极限位置的球心分别向目标球A球心连线并延长台球直径长度,得到二个虚拟球极限位置(AL和AR),即白球为撞击目标球进袋而需要运行到的最右和最左位置。由白球位置指向这二个虚拟球极限位置的方向即为二个极限击球方向,这二个极限击球方向之间的夹角即为击球方向公差角,即图中公差角A。
情况B考虑目标球B和上方中间袋口,由于受到障碍球B的影响,左侧进袋球极限位置为BL位置,使得目标球B运行到该位置的过程恰好不会与障碍球B发生碰撞,实际就是目标球B运行过程中某瞬间恰好与障碍球B相切,也即障碍球B球心位置到目标球B球心运动轨迹的垂直距离恰好是台球直径长度。接下来计算公差角B的方法与情况A相同。
情况C考虑目标球C和下方中间袋口,由于受到障碍球C的影响,左侧虚拟球极限位置为CR位置,使得白球运行到该位置的过程恰好不会与障碍球C发生碰撞,实际就是白球运行过程中某瞬间恰好与障碍球B相切,也即障碍球B球心位置到白球球心运动轨迹的垂直距离恰好是台球直径长度。接下来计算公差角C的方法与情况A相同。
情况D考虑目标球D、目标球D'和右下角袋口,这二个目标球都无法直接击打进袋,但是可以让白球先撞击目标球D,再让目标球D撞击目标球D'进袋,即所谓传球或联合击法。确认进袋球极限位置DL和DR之后,可以计算虚拟球极限位置DL'和DR',即目标球D为撞击目标球D'进袋而需要运行到的最右和最左位置;进而计算虚拟球极限位置DL和DR,即白球为撞击目标球D到达上述位置区间而需要运行到的最左和最右位置。接下来计算公差角D的方法与情况A相同。
事实上,按照斯诺克的相应规则,对于情况C要求白球不能先撞击到障碍球C,否则即为犯规;而对于情况B,即使目标球B撞击到障碍球B,目标球B仍然可能进袋得分,即所谓借力球。考虑借力球则需要更复杂的计算,情况B的描述中要求目标球B不能撞击障碍球B是一种简化的实现。情况D考虑了传球,实际上还有更多进球技法以及技法的结合,例如将传球与借力球结合,以上情况A至情况D只是描述了最基本的四种情况,更多情况不一一列举。
步骤S1022:获取每一个第一击球路线的目标球对应的第一得分。
每一个击球路线对应的目标球为彩球或者红球,对应了不同的分数,因此,每一个击球路线也对应了一个分数。也就是说,一个击球路线所对应的进入到目标袋口的目标球所对应的分数即为该击球路线对应的得分。在本步骤中,第一击球路线的目标球对应的得分即为第一得分。
具体的,红球对应的分数为1分,黄球对应的分数为2分,绿球对应的分数为3分,咖啡球对应的分数为4分,蓝球对应的分数为5分,粉球对应的分数为6分,黑球对应的分数为7分。
步骤S1023:根据所述第一击球角度范围值与所述第一得分计算与每一个第一击球路线对应的第一期望收益值,将所述第一期望值作为所述击球路线的期望收益值。
对于某一个第一击球路线来讲,该击球路线对应的得分并不保证能得到,例如,一个不好进的球对于高级选手来讲,其得分率可能为50%,但是对于初级选手来讲,其得分率会更低,可能只有10%。因此,在本实施例中,为了得到最大的收益的可能性,不仅需要考虑每一个击球路线对应的得分,还需要考虑该击球路线中目标球进球的可能性或几率。
一般来讲,击球角度范围值越大代表着球越好进,得分几率越大。也就是说,击球角度值范围的大小可以表示对应的进球可能性的大小。因此,根据第一击球角度范围值和第一得分可以确定该击球路线对应的可能的收益值,即为第一期望收益值。
在一个具体的实施例中,第一击球路线的第一期望收益值为第一击球角度范围值与第一得分的乘积,或者其他以第一击球角度范围值、第一得分为变量的其他计算公式或函数来计算第一期望收益值。具体的,可以通过如下公式计算第一期望收益值:
第一期望值=第一得分×第一得分概率,
其中,第一得分概率为第一击球角度范围值的任意函数。
需要说明的是,在本实施例中,第一期望收益值的具体计算公式不限于上述描述。
进一步的,在一个具体的实施例中,上述根据所述第一击球角度范围值与所述第一得分计算与每一个第一击球路线对应的第一期望收益值,还包括如图5所示的步骤S501-S502:
步骤S501:根据预设的得分概率计算公式,以所述第一击球角度范围值为自变量,计算与所述第一击球角度范围值对应的第一得分概率值;
步骤S502:通过计算所述第一得分与所述第一得分概率值的乘积,获取所述与第一击球路线对应的第一期望收益值。
得分概率可以表达为击球角度范围值的函数,通常其值域按照概率取值的要求限制到[0,1]区间,但这并不是必须的,例如可以直接设定得分概率=击球角度范围值。而且该函数的设定可以是动态调整的,例如对于高级球员,0.2度的公差角/击球角度范围值就接近100%的得分概率了;而对于初级球员,1.0度的公差角才接近100%的得分概率,等等。一种示例的击球角度范围值-得分概率值函数曲线如图6,实际上曲线的形状可以根据经验来设计,也可以人工智能方法生成,例如根据球员的多次实际表现拟合出来。需要说明的是,得分概率值与击球角度范围值之间的函数关系不限于上述描述。
如前所述,期望收益值=得分概率×得分。对于每一个击球路线,其对应的期望收益值等于得分概率值与得分的乘积,最大的期望收益值对应的场景即为当前的最优的选择。
另外的,在另一个可选的实施例中,在考虑两次击球或多次击球的情况下,需要根据多次击球所对应的得分以及得分概率来计算期望收益值。在此种情况下,不仅需要计算当次击球的第一期望收益值(即击球路线的第一期望收益值),还需要计算多次击球下每一次击球所对应的期望收益情况。也就是说,在计算击球路线的期望收益值时,不仅需要考虑上述步骤S1021-S1023计算得到的第一期望收益值,还需要考虑再次以及更多次击球所对应的得分收益。在本实施例中,将击球路线中除了第一击球路线之后的再次、三次以及更多次击球的集合作为剩余击球路线,并将剩余击球路线对应的得分收益作为第二期望收益值。
具体的,以第二期望收益值来表征在所述击球路线下除所述第一击球路线之外的再次和/或多次击球的得分收益。因此,在计算了第一期望收益值之后,需要计算第二期望收益值,并综合来考虑两者来计算期望收益值。
具体的,在一个实施例中,在上述计算了第一期望收益值的步骤之后,还包括如下步骤:
计算所述击球路线的第二期望收益值,所述第二期望收益值用于表征在所述击球路线下除所述第一击球路线之外的再次和/或多次击球的得分收益;将所述第一期望收益值和所述第二期望收益值作为所述期望收益值。
在本实施例中,在考虑击球路线的推荐的过程中,不仅需要考虑当次击球的期望收益情况(即第一期望收益值),还可以考虑再次或多次击球所对应的期望收益情况。例如,某一个击球路线对应的当次收益情况较好,但是后续没有可选的击球路线或者击球路线所对应的收益情况较差,该种情况下,该击球路线并不是最优的选择。因此,需要考虑每一个击球路线中,剩余击球路线所对应的在后续的击球过程中的得分收益情况。
在本实施中,以第二期望收益值来表征在所述击球路线下除所述第一击球路线之外的再次和/或多次击球的得分收益,并且考虑的击球次数为可选参数,也就是说,可以考虑的是两次击球或者三次击球或者更多次击球。
在计算剩余击球路线中再次或击球的得分收益情况时,可以根据击球路线中所包含的第一击球路线所对应的相关参数来确定击球后的台球桌面上的具体情况,并再次计算可选的击球路线,并根据上述计算第一击球路线的计算方法来计算每一个剩余击球路线的期望收益值。在考虑的击球次数不止两次的情况下,可以此类推计算三次击球以及后续击球的期望收益值,并根据每一次的击球路线的期望收益值的和或者加权和等来计算第二期望收益值。
在本实施例中,在考虑了当次击球和多次击球的情况下,对应的第一期望收益值和第二期望收益值均表示了击球路线所对应的收益,因此,击球路线所对应的期望收益既需要考虑第一期望收益值也需要考虑第二期望收益值。在本实施例中,在考虑了多次击球的情况下,击球路线的期望收益值为第一期望收益值和第二期望收益值的函数,例如,击球路线的期望收益值为第一期望收益值和第二期望收益值的和、或者,击球路线的期望收益值为第一期望收益值和第二期望收益值的加权和、或者,击球路线的期望收益值为以第一期望收益值和第二期望收益值为自变量的任何其他函数。
步骤S103:根据所述期望收益值在所述至少一个击球路线中确定目标击球路线,输出所述目标击球路线。
一般来讲,选手在考虑击球路线时,希望该击球路线所对应的收益最大化,在本实施例中,收益最大化可以表现为期望收益值最大化。
在本步骤中,对于每一个击球路线,其收益最大化的选择为期望收益值最大的击球路线,也即为目标击球路线。
在本实施例中,根据期望收益最大化原则,在击球路线中确定目标击球路线,并获取该目标击球路线对应的目标球、目标袋口和/或击球参数等相应数据,并进行输出,从而来辅助球员或选手进行击球。需要说明的是,在本实施例中,输出的击球路线可以不只一次击球的击球路线(可以是仅包含当次击球的击球路线,也可以包含了多次击球的击球路线)。
需要说明的是,在本实施例中,考虑的击球的期望收益最大化,因此,考虑的因素不仅包含了目标球以及目标袋口等因素,优选的,考虑的因素还包括了与期望收益最大化所对应的其他击球参数,例如,击球力度、击球点等相关参数。并且,在确定期望收益最大化的过程中,在考虑了击球力度、击球点等参数之后,输出目标击球路线时不仅输出了目标球以及目标袋口等信息,还输出了与对应的击球路线所对应的建议的击球力度、击球点等参数,以供选手参考,从而进一步提高击球的得分收益。
进一步的,在本实施例中,输出目标击球路线的方式可以是以文字的方式进行输出(例如,通过显示屏输出文字,或者,通过语音进行提示),也可以是以可视化的形式进行输出,例如,通过显示屏输出模拟的线路图,或者通过投影在台球桌面上进行展示。
需要说明的是,在本实施例中,在考虑收益最大化的过程中可以仅考虑当次击球的得分收益(即第一期望收益值),也可以考虑除了当次击球之外的其他次次击球所对应的得分收益情况(即第二期望收益值)。一般来讲,在考虑得分收益的过程中考虑击球的步数可以进行设置,例如,根据选手不同的级别进行设置,例如,对于初级选手来讲,仅考虑当次击球或者两次击球,对于高阶选手来讲,考虑两次或两次以上的击球。也就是说,可以根据选手的级别来确定,或者根据用户的输入进行确定。
在一个具体的实施例中,在进行击球路线的推荐之前,可以首先确定击球路线推荐的过程中考虑的击球的步数。具体的,上述确定与所述当前台面对应的至少一个击球路线的步骤之前,还包括:确定击球路线的考虑步数;
上述计算所述击球路线的第二期望收益值,所述第二期望收益值用于表征在所述击球路线下除所述第一击球路线之外的再次和/或多次击球的得分收益的步骤,还包括:根据所述考虑步数,确定所述击球路线下与所述考虑步数对应的剩余击球路线,所述第一击球路线和所述剩余击球路线构成所述击球路线;通过计算剩余击球路线对应的击球角度范围值以及得分来计算与每一个剩余击球路线对应的得分收益值作为所述第二期望收益值,该第二期望收益值为所述击球路线的第二期望收益值。
考虑步数的确定可以是根据选手或球员的历史记录自动进行确定,或者,默认设置的(例如,默认设置为2步),还可以是选手或球员手动输入以确定相应的考虑步数。在本实施例中,以根据选手或球员的历史记录或偏好进行设置为优。
以考虑两次击球为例(三次或三次以上的击球的击球路线的推荐可进行类推)。当次击球(即首次击球)之后白球或者其他球会运动到某一个位置,该位置可以通过物理原理来计算白球或者其他球的运动轨迹以及停球位置。也就是说,根据当前击球的击球路线的推荐可以推算出该次击球之后台球桌上的台球分布情况,从而可以根据该台球分布情况来进行再次击球的击球路线的推荐。
上述计算第一期望收益值的相关步骤之后,还包括如图7所示的步骤S701-S703:
步骤S701:确定预设的摩擦系数;
步骤S702:确定与所述击球路线确定的击球参数,所述击球参数包括击球点参数和/或击球力度参数中的至少一个;
步骤S703:针对每一个击球路线:根据该击球路线对应的第一击球路线以及所述击球参数计算与该第一击球路线对应的击球后台面上的各个台球的位置信息;根据所述击球后台面上的各个台球的位置信息确定与该击球路线对应的剩余击球路线,所述剩余击球路线的数量为至少一个;针对每一个剩余击球路线,计算与该剩余击球路线对应的第二得分以及第二击球角度范围值,根据所述第二得分和所述第二击球角度范围值计算与该剩余击球路线对应的剩余期望收益值,将该剩余期望收益值作为所述第二期望收益值。
一般来讲,决定台球的运行轨迹的因素包括了击球力度、击球方向、击球点的位置信息以及球与台面的摩擦系数,在本实施例中,击球方向在击球路线中已经进行了考虑,因此,在考虑击球之后的台面上的球的位置时,主要考虑的因此包含了摩擦系数以及击球力度参数、以及击球点参数等参数。摩擦系数可以通过预先测试进行获取,在实际应用过程中,为一个预设的或者预存储的参数值。击球参数为根据击球路线来确定的,例如,击球力度参数可以是根据球员或选手的历史数据来进行确定或者根据推荐的击球力度大小来进行确定,击球点参数可以根据球员或选手的隶属数据来进行确定或根据击球路线的推荐的过程中的击球点参数的推荐来进行确定,或者采用默认的击球点为击球点中间位置。需要说明的是,在本实施例中,对于高阶选手,击球力度参数和击球点参数还可以是针对每一次的击球的击球路线的推荐的过程中确定的击球路线(例如第一击球路线)相关参数来确定(即在步骤S103中输出目标击球路线的过程中输出的信息还包括击球力度参数以及击球点参数等击球参数),并且,在后续计算每一个击球路线对应的得分收益情况时,会根据击球力度参数以及击球点参数、结合上述的目标球、目标袋口等信息来确定目标击球路线。也就是说,在较优的情况下,最终确定的目标击球路线所对应的目标球、目标袋口、击球力度参数以及击球点参数在所有的可选的参数所对应的击球路线的选择中是最优的,从而真正达到期望收益的最大化。
在一个具体的实施例中,不同的击球力度以及位置均可能影响白球运行的位置。在一个实施例中,可以限定所有的击球位置均为台球的中间,击球力度为预设的某一个具体值。在另一个可选的实施例中,该可以针对不同的击球点以及击球力度来确定白球的位置信息。
优选实施例将击球点量化为S个位置,击球点可以指定为白球上的特定球坐标,如图8所示,可以划分成例如中杆、高杆、低杆、中杆左塞、高杆左塞、低杆左塞、中杆右塞、高杆右塞、低杆右塞等9个位置。优选实施例将击球力度量化为F种力度,例如中力、中小力、小力、中大力、大力等5种力度。击球力度实际是击球的冲量,体现为白球的初速度,例如指定小力为0.5m/s,中小力为1m/s,中力为2m/s,中大力为4m/s,大力为8m/s。当指定第一次击球的目标(目标球、目标袋口)和击球点、击球力度之后,若第一次击球成功,则白球停止的位置仍然是几乎固定的,且这个位置仍然是在击球之前就可以提前计算出来的。
在图9所示的应用场景中,假设第一次击球的目标球为球1A,目标袋口为上方中间袋口,并且选择为中杆的点球点、以及击球力度为中力。假定进袋球位置设定为袋口居中位置,由此可推算出虚拟球位置,进而可根据物理原理推算出白球停球位置,具体是:根据白球的初始速度和台面摩擦系数可计算出白球到达虚拟球位置、与目标球即将碰撞时的速度,将该速度分解为指向目标球方向和垂直于该方向的速度,假设白球与目标球之间的碰撞为完全弹性碰撞,则前者将完全传递给目标球,后者将完全保留给白球,于是得到白球与目标球刚刚碰撞后的速度,进而根据台面摩擦系数可计算出白球停止位置。
图9还给出了在其他击球点以及击球力度下的白球运行轨迹和停止位置,具体的,给出了中杆中大力、中杆右塞中大力、高杆中力、低杆中力等选择时的白球运行轨迹和停止位置,同样可以根据物理原理推算出来。图9没有示例白球击中目标球1A之后与其他球发生碰撞的情况(即所谓K球),实际同样可以推算。
需要说明的,在本实施例中,在计算白球的运行轨迹以及停止位置时,考虑的参数不仅包含上述给出的相关参数,还可以考虑更复杂和准确的模型,例如将进袋球位置分为偏左、居中、偏右等三个位置分别计算,考虑非完全弹性碰撞的恢复系数,等等。
对于每一个击球路线来讲,其均对应了一个击球之后的台面上的台球的位置信息,及根据击球路线对应的目标球以及目标袋口(击球路线还可以包括对应的击球力参数以及击球点参数)可以计算根据该击球路线进行击球之后的台面上的各个台球的位置信息。在当次击球后台面上的各个台球的位置信息确定之后(即第一击球路线之后)即可相应的确定击球路线中包含的剩余击球路线。计算每一个剩余击球路线对应的击球角度范围值(第二击球角度范围值),并根据该剩余击球路线对应的目标球的得分以及第二击球角度范围值来计算与该剩余击球路线对应的第二期望收益值。
在考虑再次击球的击球路线的情况下,首次击球的击球路线不仅需要考虑首次击球的收益,还需要考虑首次击球之后的再次击球的收益情况,综合两次击球的收益情况来进行最终的击球路线的推荐。
也就是说,如图7所示,上述步骤S703之后执行的步骤S103:根据所述期望收益值在所述至少一个击球路线中确定目标击球路线,输出所述目标击球路线,具体包括如图7所示的步骤S704-S705:
步骤S704:在所述击球路线中,根据所述第一期望收益值和所述第二期望收益值确定所述目标击球路线,所述目标击球路线包含目标第一击球路线和目标剩余击球路线;
步骤S705:输出所述目标击球路线,包括所述目标击球路线的目标球、目标袋口标识、击球参数。
如前所述,在考虑击球路线的推荐的过程中,不仅需要考虑首次击球的收益值,还需要考虑再次击球的收益值。也就是说,针对该击球路线来讲,其期望收益为首次击球的期望收益与再次击球的期望收益的和。
根据期望收益的和来确定期望收益的和最大所对应的最优期望收益值,获取与所述最优期望收益值对应的击球路线作为目标击球路线,其中确定的击球路线包括了第一击球路线以及对应的剩余击球路线,并分别作为目标第一击球路线和目标剩余击球路线。
在一个具体的实施例中,上述确定目标击球路线所包含的目标第一击球路线和目标第二击球路线的过程,还包括:
通过公式
Eik=E′ik+E″ik=P1iG1i+P1iP2kG2k,
来计算与击球路线对应的第一期望收益值Eik;其中,P1i为第i个击球路线的第一得分概率值,G1i为第i个击球路线的第一得分,P2k为第i个击球路线下第k个剩余击球路线的第二得分概率值,G1i为第i个击球路线下第k个剩余击球路线的第二得分;且i=1,2,…,N1,k=1,2,…,N2,N1为第一击球路线的数量,N2为剩余击球路线的数量,E′ik为第一期望收益值,E″ik为第二期望收益值。
在另一具体的实施例中,针对每一个第一击球路线,通过公式
E″k=P2kG2k,k=1,2,…,N2
计算该击球路线下的每一个剩余击球路线的期望收益值,并确定其中期望收益最大的剩余击球路线,假定计算得到的最优的剩余击球路线为第k0个击球路线。
然后针对计算每一个击球路线,计算该击球路线下考虑两次击球的期望收益值:
然后根据计算得到的的具体值,确定其中的最大值,并确定与该期望收益值对应的i和k0,其中目标击球路线为第i个击球路线以及与第i个击球路线对应的第k0个击球路线。
需要说明的是,在本实施例中,对于推荐的击球路线,不仅可以输出击球路线的目标球标识以及目标袋口的袋口标识和/或击球参数之外,还可以进行可视化的呈现。例如,可以在于实现该方法的计算机设备连接的显示屏上进行展示,也可以通过投影的方式在台球桌面上进行线路的展示。在本实施例中,展示的击球建议不仅可以包含目标球、目标袋口、击球方向等信息,还可以包含了对于击球点、击球力度等参数的展示。在本实施例中不做限定。
进一步的,在本实施例中,虽然在考虑击球路线的推荐时,考虑的不止当前击球,还考虑了再次击球甚至多次击球,但是,在一次击球之后,为了提高对于击球路线的推荐的精准度,可以在每一个击球之后对击球路线重新进行计算和推荐;在另一个实施例中,为了节省计算量,在首次击球之后,直接沿用该次击球路线的推荐的过程中计算的再次击球的第二击球路线进行击球路线的推荐。
需要说明的是,对于大于2次击球考虑的期望收益值的计算可以通过上述计算两次击球考虑的期望收益值的计算方法进行类推,在此处就不在赘述。
如前所述,一个击球路线对应了多次击球了,并且每一次击球对应了目标球、目标袋口、击球力度、击球点位置等多个选择,并且,对于多个击球路线来讲,目标击球路线为期望收益值最高的一个。
例如,在目标球有A1个、目标袋口有B1个、击球力度选择有C1个、击球点位置有D1个的情况下,若仅考虑当次击球,击球路线所包含的第一次击球路线有A1×B1×C1×D1中,并且,针对A1×B1×C1×D1个击球路线中,每一个击球路线均对应有一个期望收益值,目标击球路线即为其中的期望收益值最大的一个击球路线。
进一步的,在考虑两次击球的情况下,击球路线包含了上述第一击球路线以及剩余击球路线(剩余击球路线可以为第二击球路线),其中,第一击球路线的选择有A1×B1×C1×D1种,第二击球路线的选择有A2×B2×C2×D2种(其中目标球有A2个、目标袋口有B2个、击球力度选择有C2个、击球点位置有D2个),也就是说,在考虑两次击球的情况下,击球路线的选择有A1×B1×C1×D1×A2×B2×C2×D2种,其对应的得分收益情况也有A1×B1×C1×D1×A2×B2×C2×D2,目标击球路线即为该A1×B1×C1×D1×A2×B2×C2×D2中期望收益值最大的一个击球路线。
在考虑三次击球及以上的情况下,可按照上述情况对击球路线进行筛选,以确认期望收益值最优的一个作为目标击球路线。
需要说明的是,上述击球路线的推荐方法也适用于除斯洛克之外的其他类型的台球,例如在中式球(中式八球)的应用场景下,针对每一个目标球以及击球路线并没有区分对应的得分的多少,因此,可以针对每一个目标球设置相同的得分(例如,均为1分)。
此外,在本实施例中,还提出了一种击球路线的推荐装置。
具体的,如图10所示,上述击球路线的推荐装置包括如下模块:
击球路线获取模块101,用于获取台球桌当前台面上多个台球的球标识和位置信息、袋口标识和袋口的位置信息,确定与所述当前台面对应的至少一个击球路线,所述击球路线至少包含与该击球路线对应的目标球、目标袋口的袋口标识和/或击球参数;
期望收益值计算模块102,用于根据当前台面上多个台球的位置信息以及击球路线的目标球位置信息、目标袋口的位置信息,计算与每一个击球路线对应的期望收益值;
目标击球路线确定模块103,用于根据所述期望收益值在所述至少一个击球路线中确定目标击球路线,输出所述目标击球路线。
可选的,在一个实施例中,上述期望收益值计算模块102还包括第一击球角度范围值确定模块1021、第一得分确定模块1022以及第一期望收益值确定模块1023,其中:
第一击球角度范围值确定模块1021,用于通过当前台面上多个台球的位置信息以及第一击球路线的目标球位置信息、目标袋口的位置信息,计算与每一个第一击球路线对应的第一击球角度范围值;
第一得分确定模块1022,用于获取每一个第一击球路线的目标球对应的第一得分;
第一期望收益值确定模块1023,用于根据所述第一击球角度范围值与所述第一得分计算与每一个第一击球路线对应的第一期望收益值,将所述第一期望值作为所述期望收益值。
可选的,在一个实施例中,上述第一击球角度范围值确定模块1021还用于针对每一个第一击球路线,确定目标球进入到目标袋口的左边极限击球方向和右边极限击球方向;根据所述左边极限击球方向和右边极限击球方向确定与该第一击球路线对应的第一击球角度范围值,所述第一击球角度范围值为所述左边极限击球方向和右边极限击球方向所在直线之间的夹角;根据预设的得分概率计算公式,以所述第一击球角度范围值为自变量,计算与所述第一击球角度范围值对应的第一得分概率值;通过计算所述第一得分与所述第一得分概率值的乘积,获取所述与第一击球路线对应的第一期望收益值。
可选的,在一个实施例中,上述期望收益值计算模块102还包括第二期望收益值确定模块1024,用于:计算所述击球路线的第二期望收益值,所述第二期望收益值用于表征在所述击球路线下除所述第一击球路线之外的再次和/或多次击球的得分收益;将所述第一期望收益值和所述第二期望收益值作为所述期望收益值。
可选的,在一个实施例中,上述第一击球路线获取模块101还用于根据所述考虑步数,确定所述击球路线下与所述考虑步数对应的剩余击球路线,所述第一击球路线和所述剩余击球路线构成所述击球路线;通过计算剩余击球路线对应的击球角度范围值以及得分来计算与每一个剩余击球路线对应的得分收益值作为所述第二期望收益值,该第二期望收益值为所述击球路线的第二期望收益值。
可选的,在一个实施例中,上述第二期望收益值确定模块1024还用于:确定预设的摩擦系数;确定与所述击球路线确定的击球参数,所述击球参数包括击球点参数和/或击球力度参数中的至少一个;针对每一个击球路线:根据该击球路线对应的第一击球路线以及所述击球参数计算与该第一击球路线对应的击球后台面上的各个台球的位置信息;根据所述击球后台面上的各个台球的位置信息确定与该击球路线对应的剩余击球路线,所述剩余击球路线的数量为至少一个;针对每一个剩余击球路线,计算与该剩余击球路线对应的第二得分以及第二击球角度范围值,根据所述第二得分和所述第二击球角度范围值计算与该剩余击球路线对应的剩余期望收益值,将该剩余期望收益值作为所述第二期望收益值。
期望收益值计算模块102还用于通过公式
Eik=E′ik+E″ik=P1iG1i+P1iP2kG2k,
来计算与击球路线对应的第一期望收益值Eik;其中,P1i为第i个击球路线的第一得分概率值,G1i为第i个击球路线的第一得分,P2k为第i个击球路线下第k个剩余击球路线的第二得分概率值,G1i为第i个击球路线下第k个剩余击球路线的第二得分;且i=1,2,…,N1,k=1,2,…,N2,N1为第一击球路线的数量,N2为剩余击球路线的数量,E′ik为第一期望收益值,E″ik为第二期望收益值;根据所述与击球路线对应的期望收益值Eik确定最优期望收益值,获取与所述最优期望收益值对应的击球路线作为目标击球路线,将与所述最优期望收益值包含的第一期望收益值对应的第一击球路线作为目标第一击球路线、与所述最优期望收益值包含的第二期望收益值对应的剩余击球路线作为目标剩余击球路线。
实施本发明实施例,将具有如下有益效果:
采用了上述击球路线的推荐方法和装置之后,在进行斯诺克等台球运动过程中击球的击球路线的推荐时,通过采集台球桌面上的台球的位置信息时,针对可选的每一个击球路线计算与该击球路线对应的可选的击球方向的范围作为得分的概率参考,并考虑每一个击球路线对应的得分,从而来综合考虑每一个击球路线对应的期望收益,并根据期望收益最大化原则在可选的击球路线中选择进行推荐的击球路线。并且,在考虑击球路线的选择时,还可以考虑每一个击球路线对应的再次、多次击球是否容易得分以及得分的多少,以及考虑每一个击球路线下可选的击球力度、击球点位置等击球参数的对于击球路线以及得分的影响,从而来进一步的提高击球路线选择的收益最大化。
也就是说,采用本发明,使得在进行击球路线的推荐过程中计算的进球难易程度更加客观更具备可参考性;并且,在进行击球路线的推荐的过程中,不仅考虑了每一个击球路线进球的难易程度、还考虑了进球所得到的收益大小以及后续击球的得分收益情况,并进一步考虑了击球的力度、击球点位置等击球参数对于得分收益情况的影响,使得了击球路线的推荐更加准确、击球路线对于球员的可参考性和可操作性更强,提高了击球路线推荐的实用性,提升了用户体验。
在上述实施例中,可以全部或部分的通过软件、硬件、固件或者其任意组合来实现。当使用软件程序实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或者数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或者数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或半导体介质(例如固态硬盘Solid State Disk(SSD))等。
在一个实施例中,如图11所示,图11展示了一种运行上述击球路线的推荐方法的基于冯诺依曼体系的计算机系统的终端。该计算机系统可以是智能手机、平板电脑、掌上电脑、笔记本电脑等终端设备。具体的,可包括通过系统总线连接的外部输入接口1001(可以是视频数据输入接口)、处理器1002、存储器1003和输出接口1004(可以是视频输出接口)。其中,外部输入接口1001可选的可至少包括网络接口10012。存储器1003可包括外存储器10032(例如硬盘、光盘或软盘等)和内存储器10034。输出接口1004可至少包括显示屏10042等设备。
在本实施例中,本方法的运行基于计算机程序,该计算机程序的程序文件存储于前述基于冯诺依曼体系的计算机系统的外存储器10032中,在运行时被加载到内存储器10034中,然后被编译为机器码之后传递至处理器1002中执行,从而使得基于冯诺依曼体系的计算机系统中形成逻辑上的各个模块并实现对应的功能。且在上述击球路线的推荐方法执行过程中,输入的参数均通过外部输入接口1001接收,并传递至存储器1003中缓存,然后输入到处理器1002中进行处理,处理的结果数据或缓存于存储器1003中进行后续地处理,或被传递至输出接口1004进行输出。
以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。