概率事件中选取目标对象的方法、装置、设备及存储介质与流程

文档序号:31845612发布日期:2022-10-18 23:43阅读:67来源:国知局
概率事件中选取目标对象的方法、装置、设备及存储介质与流程

1.本发明涉及计算机技术领域,尤其涉及一种概率事件中选取目标对象的方法、装置、设备及存储介质。


背景技术:

2.目前,通过摇号或抽奖选择目标对象的活动越来越多,常用于公平公正的解决资源有限而需求者众多的分配问题,在现有的抽奖算法中,每个目标对象具有对应的命中概率,这保证了在每次抽奖时各目标对象被选中的概率符合预先所设置的命中概率的分布,但是不能保证多次抽奖的最终结果符合概率分布,例如有三个目标对象,目标对象a的命中概率为50%,目标对象b的命中概率为20%,目标对象c的命中概率为30%,一共抽奖100次,那么在现有技术中只能保证每次抽奖过程中抽中a的概率为50%,抽中b的概率为20%,抽中c的概率为30%。但是不能保证抽了100次后,100次抽奖中抽中a的次数为50,抽中b的次数为20,抽中c的次数为30;即抽奖的最终结果无法符合原来所设定的概率分布,抽奖结果的分布不可控。


技术实现要素:

3.本发明实施例提供一种概率事件中选取目标对象的方法,能解决现有技术中目标对象的选取结果不符合预设的概率分布,选取结果不可控的问题。
4.本发明实施例提供一种概率事件中选取目标对象的方法,包括:根据各目标对象的预设命中概率以及目标对象选取的总次数确定各目标对象所对应的数字区间;
5.在每次选取目标对象时,执行命中目标对象选定操作,选定命中目标对象,并将所选定的命中目标对象作为当前的选取结果;
6.其中,所述命中目标对象确定操作包括:
7.随机参数生成操作:从各数字区间所组成的总数字区间内,随机选取一数字作为随机参数;
8.初始命中目标对象确定操作:将所述随机参数所在的数字区间作为命中数字区间,并将所述命中数字区间所对应的目标对象作为初始命中目标对象;
9.命中目标对象判定操作:将所述初始命中目标对象的总命中次数与预设命中次数进行比对;其中,所述初始命中目标对象所对应的预设命中次数为所述初始命中目标对象的预设命中概率与目标对象选取的总次数的乘积;若所述初始命中目标对象的总命中次数超过所述预设命中次数,则将所述命中数字区间剔除,生成新的总数字区间,并重复执行随机参数生成操作以及初始命中目标对象确定操作,重新确定初始命中目标对象;若否,则将所述初始所述命中目标对象作为所选命中目标对象。
10.进一步的,根据各目标对象的预设命中概率以及目标对象选取的总次数确定各目标对象所对应的数字区间,具体包括:
11.将目标对象选取的总次数作为总数字区间的最大值,将1作为总数字区间的最小
值,构建总数字区间;
12.根据各目标对象的预设命中概率对所述总数字区间进行划分,生成各目标对象所对应的数字区间。
13.进一步的,所述根据各目标对象的预设命中概率对所述总数字区间进行划分,生成各目标对象所对应的数字区间,具体包括:
14.计算各预设命中概率与所述总数字区间的最大值的乘积,获得各目标对象所对应的数字区间的数字个数;
15.根据各目标对象所对应的数字区间的数字个数,对总数字区间进行划分,生成各目标对象所对应的数字区间。
16.在上述方法项实施例的基础上,本发明对应提供了装置项实施例;
17.本发明一实施例提供了一种概率事件中选取目标对象的装置,包括:数字区间确定模块以及选取结果生成模块;其中,所述选取结果生成模块,包括:随机参数生成单元、初始命中目标对象确定单元以及命中目标对象判定单元;
18.所述数字区间确定模块,用于根据各目标对象的预设命中概率以及目标对象选取的总次数确定各目标对象所对应的数字区间;
19.所述选取结果生成模块,用于在每次选取目标对象时,执行命中目标对象选定操作,选定命中目标对象,并将所选定的命中目标对象作为当前的选取结果;
20.所述随机参数生成单元,用于从各数字区间所组成的总数字区间内,随机选取一数字作为随机参数;
21.所述初始命中目标对象确定操作,用于将所述随机参数所在的数字区间作为命中数字区间,并将所述命中数字区间所对应的目标对象作为初始命中目标对象;
22.所述命中目标对象判定操作,用于将所述初始命中目标对象的总命中次数与预设命中次数进行比对;其中,所述初始命中目标对象所对应的预设命中次数为所述初始命中目标对象的预设命中概率与目标对象选取的总次数的乘积;若所述初始命中目标对象的总命中次数超过所述预设命中次数,则将所述命中数字区间剔除,生成新的总数字区间,并重复执行随机参数生成操作以及初始命中目标对象确定操作,重新确定初始命中目标对象;若否,则将所述初始所述命中目标对象作为所选命中目标对象。
23.进一步的,所述数字区间确定模块,用于根据各目标对象的预设命中概率确定各目标对象所对应的数字区间,具体包括:
24.将目标对象选取的总次数作为总数字区间的最大值,将1作为总数字区间的最小值,构建总数字区间;
25.根据各目标对象的预设命中概率对所述总数字区间进行划分,生成各目标对象所对应的数字区间。
26.进一步的,数字区间确定模块,根据各目标对象的预设命中概率对所述总数字区间进行划分,生成各目标对象所对应的数字区间,具体包括:
27.计算各预设命中概率与所述总数字区间的最大值的乘积,获得各目标对象所对应的数字区间的数字个数;
28.根据各目标对象所对应的数字区间的数字个数,对总数字区间进行划分,生成各目标对象所对应的数字区间。
29.在上述方法项实施例的基础上,本发明对应提供了一设备项实施例;
30.本发明一实施例提供了一种设备,包括处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述处理器执行所述计算机程序时实现本发明中任意一项所述的概率事件中选取目标对象的方法。
31.在上述方法项实施例的基础上,本发明对应提供了存储介质项实施例;
32.本发明一实施例提供了一种存储介质,包括所述存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述存储介质所在设备执行本发明任意一项所述的概率事件中选取目标对象的方法。
33.通过实施本发明实施例具有如下有益效果:
34.本发明一实施例提供了一种概率事件中选取目标对象的方法,该方法根据各目标对象的预设命中概率以及目标对象选取的总次数确定各目标对象所对应的数字区间,然后在每次选取目标对象时,从各数字区间所组成的总数字区间内,随机选取一数字作为随机参数;将随机参数所在的数字区间作为命中数字区间,并将命中数字区间所对应的目标对象作为初始命中目标对象,将初始命中目标对象的总命中次数与预设命中次数进行比对;若初始命中目标对象的总命中次数超过预设命中次数,则将命中数字区间剔除,生成新的总数字区间,然后重新确定初始命中目标对象;若否,则将初始命中目标对象作为所选命中目标对象。与现有技术相比,上述方法,在初始命中目标对象的总命中次数超过预设命中次数时,重新选取初始命中目标对象;这样能够保证最终的选取结果符合预设的概率分布,使得选取结果可控。
附图说明
35.图1是本发明一实施例提供的一种概率事件中选取目标对象的方法的流程示意图;
36.图2是本发明一实施例提供的一种概率事件中选取目标对象的方法的装置的结构示意图。
具体实施方式
37.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
38.如图1所示,本发明一实施例提供了一种概率事件中选取目标对象的方法,至少包括如下步骤:
39.步骤s101:根据各目标对象的预设命中概率以及目标对象选取的总次数确定各目标对象所对应的数字区间;
40.步骤s102:在每次选取目标对象时,执行命中目标对象选定操作,选定命中目标对象,并将所选定的命中目标对象作为当前的选取结果;其中,所述命中目标对象确定操作包括:
41.随机参数生成操作:从各数字区间所组成的总数字区间内,随机选取一数字作为
随机参数;
42.初始命中目标对象确定操作:将所述随机参数所在的数字区间作为命中数字区间,并将所述命中数字区间所对应的目标对象作为初始命中目标对象;
43.命中目标对象判定操作:将所述初始命中目标对象的总命中次数与对应的预设命中次数进行比对;其中,所述初始命中目标对象所对应的预设命中次数为所述初始命中目标对象的预设命中概率与目标对象选取的总次数的乘积;若所述初始命中目标对象的总命中次数超过所述预设命中次数,则将所述命中数字区间剔除,生成新的总数字区间,并重复执行随机参数生成操作以及初始命中目标对象确定操作,重新确定初始命中目标对象;若否,则将所述初始所述命中目标对象作为所选命中目标对象;
44.对于步骤s101,在一个优选的实施例中,根据各目标对象的预设命中概率以及目标对象选取的总次数确定各目标对象所对应的数字区间,具体包括:
45.将目标对象选取的总次数作为总数字区间的最大值,将1作为总数字区间的最小值,构建总数字区间;根据各目标对象的预设命中概率对所述总数字区间进行划分,生成各目标对象所对应的数字区间。
46.在一个优选的实施例中,所述根据各目标对象的预设命中概率对所述总数字区间进行划分,生成各目标对象所对应的数字区间,具体包括:
47.计算各预设命中概率与所述总数字区间的最大值的乘积,获得各目标对象所对应的数字区间的数字个数;根据各目标对象所对应的数字区间的数字个数,对总数字区间进行划分,生成各目标对象所对应的数字区间。
48.示意性的,假定现在目标对象选取的总次数为100次,有三个目标对象:目标对象a、b和c,目标对象a的预设命中概率为50%,目标对象b的预设命中概率为20%,目标对象c的预设命中概率为30%;
49.则总数字区间为[1,100],目标对象a所对应的数字区间的数字个数100*50%=50,目标对象b对应的数字区间的数字个数100*20=20,目标对象c对应的数字区间的数字个数100*30=30;则目标对象a所对应的数字区间可以为[1,50],目标对象b所对应的数字区间可以为[51,70];目标对象c所对应的数字区间可以为[71,100]。当然各目标对象所对应的数字区间还有其他划分方法,只需要保证每个目标对象所对应的数字区间在总数字区间的范围内,且数字区间内的数字个数等于其预设命中概率与选取的总次数的乘积相同即可。
[0050]
对于步骤s102、依旧以上述为例:随机参数可以是总数字区间[1,100]内的任意一个数字,若所生成的随机参数为99,这根据上述各目标对象的数字区间划分可以获悉,随机参数99所对应的命中数字区间为[71,100],则所初始命中目标对象为c,初始命中目标对象为c所对应的预设命中次数为100*30=30;紧接结合之前的选取结果,判断c被选取为初始命中目标对象的总命中次数是否超过30次,如果不是,则将c作为命中目标对象;如果是,此时将c舍弃;然后将命中数字区间[71,100]剔除,生成新总数字区间[1,70],然后重复执行随机参数选取操作,从新的总数字区间[1,70]选取一个随机参数,例如是5,则此时生成新的初始命中目标对象a;如果此时a的总命中次数没有超过a对应的预设命中次数,则将a作为最终的命中目标对象;否则重复上述过程,重新选取初始命中目标对象。
[0051]
待目标对象的选取总次数达到100次,则完成整个目标对象的选取过程,最终的选
取结果是,100次中,a被选取了50次,b被选取了20次,c被选取了30次。选取结果符合预设的概率分布,选取结果可控。
[0052]
如图2所示,在上述方法项实施例的基础上,本发明对应提供了一装置项实施例;
[0053]
本发明一实施例提供了一种概率事件中选取目标对象的装置,包括:数字区间确定模块以及选取结果生成模块;其中,所述选取结果生成模块,包括:随机参数生成单元、初始命中目标对象确定单元以及命中目标对象判定单元;
[0054]
所述数字区间确定模块,用于根据各目标对象的预设命中概率以及目标对象选取的总次数确定各目标对象所对应的数字区间;
[0055]
所述选取结果生成模块,用于在每次选取目标对象时,执行命中目标对象选定操作,选定命中目标对象,并将所选定的命中目标对象作为当前的选取结果;
[0056]
所述随机参数生成单元,用于从各数字区间所组成的总数字区间内,随机选取一数字作为随机参数;
[0057]
所述初始命中目标对象确定操作,用于将所述随机参数所在的数字区间作为命中数字区间,并将所述命中数字区间所对应的目标对象作为初始命中目标对象;
[0058]
所述命中目标对象判定操作,用于将所述初始命中目标对象的总命中次数与预设命中次数进行比对;其中,所述初始命中目标对象所对应的预设命中次数为所述初始命中目标对象的预设命中概率与目标对象选取的总次数的乘积;若所述初始命中目标对象的总命中次数超过所述预设命中次数,则将所述命中数字区间剔除,生成新的总数字区间,并重复执行随机参数生成操作以及初始命中目标对象确定操作,重新确定初始命中目标对象;若否,则将所述初始所述命中目标对象作为所选命中目标对象。
[0059]
在一个优选的实施例中,所述数字区间确定模块,用于根据各目标对象的预设命中概率确定各目标对象所对应的数字区间,具体包括:
[0060]
将目标对象选取的总次数作为总数字区间的最大值,将1作为总数字区间的最小值,构建总数字区间;
[0061]
根据各目标对象的预设命中概率对所述总数字区间进行划分,生成各目标对象所对应的数字区间。
[0062]
在一个优选的实施例中,数字区间确定模块,根据各目标对象的预设命中概率对所述总数字区间进行划分,生成各目标对象所对应的数字区间,具体包括:
[0063]
计算各预设命中概率与所述总数字区间的最大值的乘积,获得各目标对象所对应的数字区间的数字个数;
[0064]
根据各目标对象所对应的数字区间的数字个数,对总数字区间进行划分,生成各目标对象所对应的数字区间。
[0065]
需说明的是,以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,本发明提供的装置实施例附图中,单元之间的连接关系表示它们之间具有通信连接,具体可以实现为一条或多条通信总线或信号线。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
[0066]
在上述方法项实施例的基础上,本发明对应提供了一设备项实施例;
[0067]
本发明一实施例提供了一种设备,包括处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述处理器执行所述计算机程序时实现本发明中任意一项所述的概率事件中选取目标对象的方法。
[0068]
上述处理器可以是中央处理单元(central processing unit,cpu),还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现成可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器是所述装置的控制中心,利用各种接口和线路连接整个装置的各个部分。
[0069]
所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现所述装置的各种功能。所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
[0070]
在上述方法项实施例的基础上,本发明对应提供了存储介质项实施例;
[0071]
本发明一实施例提供了一种存储介质,包括所述存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述存储介质所在设备执行本发明任意一项所述的概率事件中选取目标对象的方法。
[0072]
上述存储介质为计算机可读存储介质,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
[0073]
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1