我浪费了自己将近1个小时,证明了网上很多人以为的避免特别小的5个数或特别大的5个数就能提高中奖概率是错误的,让大家少走弯路。 我过去20多年没有做算法研究了,昨晚写了一个极其拙劣低效的Powerball前5个数字模拟程序,让大家见笑了。 import java.util.Random; import java.util.ArrayList; import java.util.Arrays; public class PowerBallSumOfFive { public static void main(String[] args) { final int DRAW=913; int[] sum = new int[DRAW]; for(int i=0; i<DRAW; i++) for(Integer number: getRandomNonRepeatingIntegers(5, 1, 69)) sum+=number; Arrays.sort(sum); for(int i=0; i<DRAW; i++) System.out.println("Draw "+i+": Sum is "+sum); } public static int getRandomInt(int min, int max) { Random random = new Random(); return random.nextInt((max - min) + 1) + min; } // inefficient way to simulate the first 5 balls in a Powerball draw public static ArrayList<Integer> getRandomNonRepeatingIntegers(int size, int min, int max) { ArrayList<Integer> numbers = new ArrayList<Integer>(); while (numbers.size() < size) { int random = getRandomInt(min, max); if (!numbers.contains(random)) numbers.add(random); } return numbers; } }
我下载了从2015年10月7日到现在的数据。
Powerball前5个数字是从1到69中的随机数。
我决定只算这5个数字的和。5个数字的最小组合是1+2+3+4+5=15,最大组合是65+66+67+68+69=335。
分析了以往数据,5个数字的和最小是52, 最大是299,做了histogram,很明显的正态分布,越靠中间值频率越高。然后写了个Java程序模拟以往913次抽奖,发现5个数字的和同样符合正态分布,最小是四十几,最大是三百零几,越靠中间值频率越高。
我以为自己发现了新大陆,以为只要避免特别小的5个数或者特别大的5个数就能提高中奖概率。
但是接下来我用贝叶斯分析,发现每5个数字和对应的中奖概率,即条件概率没有任何变化!白费了将近一个小时时间!
劝大家在不能组团成一个lottery pool的情况下,不要买它!
我还以为有什么发现能提高中奖概率,你浪费了一小时,我浪费了一分钟看你的贴😄
我浪费了自己将近1个小时,证明了网上很多人以为的避免特别小的5个数或特别大的5个数就能提高中奖概率是错误的,让大家少走弯路。
我过去20多年没有做算法研究了,昨晚写了一个极其拙劣低效的Powerball前5个数字模拟程序,让大家见笑了。
import java.util.Random; import java.util.ArrayList; import java.util.Arrays;
public class PowerBallSumOfFive { public static void main(String[] args) { final int DRAW=913; int[] sum = new int[DRAW]; for(int i=0; i<DRAW; i++) for(Integer number: getRandomNonRepeatingIntegers(5, 1, 69)) sum+=number; Arrays.sort(sum); for(int i=0; i<DRAW; i++) System.out.println("Draw "+i+": Sum is "+sum); } public static int getRandomInt(int min, int max) { Random random = new Random();
return random.nextInt((max - min) + 1) + min; }
// inefficient way to simulate the first 5 balls in a Powerball draw public static ArrayList<Integer> getRandomNonRepeatingIntegers(int size, int min, int max) { ArrayList<Integer> numbers = new ArrayList<Integer>(); while (numbers.size() < size) { int random = getRandomInt(min, max);
if (!numbers.contains(random)) numbers.add(random); }
return numbers; } }
系统提示:若遇到视频无法播放请点击下方链接
https://www.youtube.com/embed/MnSDJA9M6oE
我看了个什么……
贝叶斯都出来了。
我觉得lz的研究还挺有意义啊,节省了大家一星期。我还是回梦里中奖吧
满脸问号,这不是显然的吗?
赞白费了自己的时间!
你又懂正态分布又懂贝叶斯,做之前不就应该知道结果没用啊
楼主至少为我节省一小时,因为我想过做同样的事
哈哈,握手!
如果不能组团购买,那么就不要购买!