Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 什么';What’根据球队实力得出足球分数的好方法是什么?_Java_Algorithm - Fatal编程技术网

Java 什么';What’根据球队实力得出足球分数的好方法是什么?

Java 什么';What’根据球队实力得出足球分数的好方法是什么?,java,algorithm,Java,Algorithm,大约一年前,我试图制作一个简单的基于文本的足球模拟程序,但我放弃了它,我想从头开始,因为它不是很好。我的问题是找到一个计算分数的好算法 我不希望这个程序只是一个大数学。random()混乱的程序,而是使用数学。random()和团队实力的组合(每个团队的攻击和防御评级为1-20,但这也可以提高,因为我不确定这是否是最佳的方式)来计算分数,也许会将主场优势和状态/士气融入到组合中(但这将是以后的事情,因为它稍微复杂一些) 在我之前的程序中,该算法比较了两支球队的进攻和防守得分,然后决定随机分配多少

大约一年前,我试图制作一个简单的基于文本的足球模拟程序,但我放弃了它,我想从头开始,因为它不是很好。我的问题是找到一个计算分数的好算法

我不希望这个程序只是一个大数学。random()混乱的程序,而是使用数学。random()和团队实力的组合(每个团队的攻击和防御评级为1-20,但这也可以提高,因为我不确定这是否是最佳的方式)来计算分数,也许会将主场优势和状态/士气融入到组合中(但这将是以后的事情,因为它稍微复杂一些)

在我之前的程序中,该算法比较了两支球队的进攻和防守得分,然后决定随机分配多少个目标。例如,如果一支球队的攻击等级最高为20级,而与一支防守等级为5级的球队比赛,那么他们很可能会进几个球。该算法存在以下几个问题:

  • 我认为使用这种算法将很难结合家庭优势和形式。有很多if和else的随机整数在1到100之间,有不同的概率百分比
  • 尽管我给了小球队一个机会进了几个球,但没有太多令人惊讶的结果
  • 比分是疯狂的,球队连续5-1周获胜
  • 它并没有从技术上检查一支球队整体上是否更好,只是根据进攻和防守来决定一支球队的进球数。所以从理论上讲,攻击可能会被压制(尽管我可能错了)
  • 比如说,一支必须赢得联赛冠军的球队,他们正在与一支已经取得了积分榜中段成绩的球队比赛:这不会对比赛产生影响。我想这是在表格后面加上的东西,但我不知道
  • 考虑到这些问题,你有没有更好的算法?我不懂机器学习之类的东西,我希望这个程序简单一点。我也不需要你为我写整个算法,当然,给我一些大概的想法。非常感谢:)

    我的建议(只是想大声说出来,我对足球分数模拟一点经验都没有)

    我会给每个团队分配一个相对的“目标潜力”,意思是“该团队平均得分多少个目标”(相对于整个团队)。然后,模拟将基于一个正态分布,其平均值等于两名球员的目标潜力之差,并具有一定的标准差

    为了获得合适的数值,您可以获取一些球队的历史数据,并计算他们的平均进球数(每场比赛)和全球标准差

    您可以通过为团队分配不同的标准差来优化模型,这将反映他们的“规律性”。同样,您可以根据实际数据计算这些值,以了解实际值(并检查使用不同的值是否有意义)


    主场优势可以建模为目标潜力的固定增量。你也可以通过计算给定球队每场比赛的两个平均进球来衡量实际主场优势,无论是主场还是客场,并计算差异(这是一种查看主场优势是真实的还是民间传说的方法)。

    听起来很有趣。我可以试试这个。我想知道正态分布应该有多极端。我的意思是,在我的国家联赛中,我希望一支球队每场能进1-2个球,得分7分。因此,图中0.5%可能是6+个目标。@GuyBar:0.5%是平均值的2.58个标准差。由此我们推断出1.7个目标的标准差。但最好使用大型历史数据集。