确定最佳团队和阵型的算法?

Mar*_*ren 7 language-agnostic algorithm math

我正在寻找可以在运动队管理模拟器(例如曲棍球或足球)中使用的合适算法.模拟器的一些功能:

  • 球队可以使用不同的阵型(例如足球4-4-2).
  • 团队中的每个玩家都有一个数字等级,表明他们对阵地中每个位置的好坏程度.
  • 有一群不同能力的小队球员可以从中选出球队

可以使用哪些算法以编程方式有效地确定最强大的团队和阵型?

Sae*_*iri 8

如果我们通过图形模拟您的问题并注意到不同编队的数量很小,那么问​​题是最大加权二分匹配,这可以通过匈牙利算法解决,....

但是如何使用二分图来模拟问题?将玩家设置为一个部分,并将其定位为另一个部分(例如,在足球中),形成一个玩家池并为他们定位11个位置,将所有玩家连接到所有位置,并将相应的边缘权重设置为该位置中的相应玩家等级.

现在你要做的就是在这个完整的二分图中找到最大(加权)匹配.(代码在wiki链接中提供).

我认为我们的编队数量有限,对于每个编队,我们可以找到相应的匹配图,然后是最大匹配,最后在所有可能的编队中取最大值(在所有图中).