如何解决调整基本足球模拟算法
我需要帮助调整我非常基本的足球比赛模拟算法。除了团队评分(团队球员的综合评分)之外,它不需要考虑任何其他因素。我想出了一些东西,但结果不是很有趣: picture 即他们几乎总是以(零)-(某事)结束
这是算法
double flagIncrementer = 0.10;
while(!flag){
if(new Random().nextDouble() <= baseChance - (homeTeamRating - awayTeamRating)){
teamAwayScore++;
boolean scoredFlag = false;
while(!scoredFlag){
for(Player player : away.getPlayerList()){
if(new Random().nextDouble() <= player.getProbabilityWeight()){
awayScorers.add(player);
scoredFlag = true;
break;
}
}
}
}
if(new Random().nextDouble() <= baseChance - (awayTeamRating - homeTeamRating)){
teamHomeScore++;
boolean scoredFlag = false;
while(!scoredFlag){
for(Player player : home.getPlayerList()){
if(new Random().nextDouble() <= player.getProbabilityWeight()){
homeScorers.add(player);
scoredFlag = true;
break;
}
}
}
}
if (new Random().nextDouble() <= flagIncrementer) {
flag = true;
} else {
flagIncrementer += 0.10; //inkrementiraj kako bi se izbjegla beskonačna petlja
}
}
这很简单,我只是生成一个随机数,然后看看我得到的数字是否小于占团队评分差异的基本机会。我对第二支球队重复这一点。循环可以在第一次迭代时退出,但并非必须如此。如果没有,我会增加我的控制变量,以便在下一次迭代时有更高的机会退出。
我不是特别擅长统计或数学,但即使以正确的方式指导我也非常感谢。
解决方法
对于足球比赛,0 并不少见,我看不出有什么问题。 但这是另一种观点: 1> 确定总目标,可以进行泊松分布。 2>对于每个进球,确定哪个球队进球,可以使用标准化球队实力:A/(A+B) vs B/(A+B)。我会建议一些更有益于更强大团队的东西,这似乎是更现实的结果。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。