适合我的问题的最好例子是彩票,但它与彩票略有不同,但想法相似。我的程序正在从存储先前生成的数字的数据库中获取数据。数字采用以下格式:
...
5, 10, 11
...
3个随机数。现在表格最多可容纳10,000 个先前生成的数字,表格格式如下:
UniqueID (autoincrement), Number1, Number2, Number3, DateOfGeneration
我需要什么样的算法,或者建议一本书来帮助我提出算法。我不是要求你为我编写代码,我只是要求一个教程、书籍或网站,以便我可以自己阅读和弄清楚。
我需要计算最有可能出现的下一个组合。意思是说,在之前生成的10,000个组合中,组合3、5、19的出现是该组合下次出现的概率的350倍:
350/10000 = 0.035 or 3.5%
我会将这个 0.035 存储在具有以下结构的数组中:
$arrayOfCombinations[combinationisthekey] = probability
例子:
$arrayOfCombinations['3,5,19'] = 0.035
然后运行某种算法,从这个数组中随机选择最有可能出现的组合,因此组合3、5、19将有0.035的机会被选中。
我知道如何进入包含所有组合及其概率的数组的步骤。我需要能够从数组中随机选择的算法。
我是否需要考虑生成该数字的日期以使其更准确?它是否必须增加/减少概率?这些我需要但不知道在哪里寻找的因素。
感谢您提供任何建议或链接/教程,非常感谢您。
再说一次,我不是要你花时间为我写代码。我会自己写,只需要某种教程。
编辑:(阅读本文的要点)
我要寻找的主要内容是:我需要记住什么样的因素可以增加/减少组合的概率。例如生成数字的日期,3个数字是偶数还是奇数等......当我得到所有这些因素时,哪种算法最好(如果有的话)插入这些数据并获得准确的结果