对于3:5,您可以将它们加在一起得到8,并选择小于8的随机整数。如果它是0、1或2(三倍机会),则选择A,如果它是3、4、5、6或选择B的概率为7(五次机会)。按代码进行选择,您只需检查您的随机数是否小于3。
对于3:5:4之类的东西,您将选择一个小于12的随机数(3 + 5 + 4),如果小于3,则选择A;否则,如果选择的数字小于8(3 + 5),则选择B
,否则选择C。
这可以推广到任意数量的替代方案,但是对于许多替代方案而言效率低下,因为您必须对照每个阈值(即O(n))检查随机数。这样的问题]似乎为加权随机选择提供了更多更有效(但更复杂)的算法,并具有更多选择。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)