首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >优化组合的组合

优化组合的组合
EN

Stack Overflow用户
提问于 2019-08-17 03:27:17
回答 1查看 62关注 0票数 0

我需要指导,如果这在Python中是可能的,以及如何才能做到。我在尝试优化游戏中的玩家阵容。根据对手的技能,每个玩家都有一个与之相关的整数值。我想找到一种方法来为2v2游戏中的玩家找到两个不同的最优匹配,使他们的价值最大化。例如:

这代表了玩家对不同对手水平的价值。

代码语言:javascript
复制
Opponent Level     Elite    Middle     Low
Player Name         
A                   4.2      -3.7      2.6
B                  -5.8      -4.3      1.2
C                   0.6       2.8      9.2      
D                  -7.0       2.3      1.2   
E                   8.0       5.5     -0.6
F                   3.3       4.4      6.6

我希望实现的东西是这样的:

代码语言:javascript
复制
Match Ups Version 1:
Round 1
Elite   Player A and Player B
Middle  Player C and Player D
Low     Player E and Player F
Round 2:
Elite   Player F and Player C
Middle  Player E and Player B
Low     Player A and Player D

其中匹配ups最大化它们的值的总和。唯一的限制是每个玩家每轮只能使用一次,并且不能在下一轮针对相同的对手级别使用。

从理论上讲,我正在为如何在Python中做到这一点而苦苦挣扎,所以任何指导都将非常感谢!

EN

回答 1

Stack Overflow用户

发布于 2019-08-17 03:59:30

我不太明白

匹配ups最大化其值之和的

但我会先开始组合,然后对每个排列进行数学运算,得出每一轮。

代码语言:javascript
复制
from itertools import combinations

df = read_clipboard()
df

Out65

代码语言:javascript
复制
   Elite  Middle  Low
0
A    4.2    -3.7  2.6
B   -5.8    -4.3  1.2
C    0.6     2.8  9.2
D   -7.0     2.3  1.2
E    8.0     5.5 -0.6
F    3.3     4.4  6.6

设置后

代码语言:javascript
复制
# Get all the combinations of the players (limit it to two players)
matches = combinations(df.index, 2) 

然后遍历元组,计算值。(这是不清楚sum of values是如何最大化的,所以我猜你的意思是将匹配中的所有6个值加在一起,然后按最大到最小排序)。是的,这可以作为一种理解,但我试图明确。

代码语言:javascript
复制
match = {}
for team1, team2 in matchups:
    match[f'{team1}_{team2}'] = [df.loc[team1].sum() + df.loc[team2].sum()]


df_matches = pd.DataFrame(match).T
df_matches

Out[93]:
        0
A_B  -5.8
A_C  15.7
A_D  -0.4
A_E  16.0
A_F  17.4
B_C   3.7
B_D -12.4
B_E   4.0
B_F   5.4
C_D   9.1
C_E  25.5
C_F  26.9
D_E   9.4
D_F  10.8
E_F  27.2

这能让你入门吗?

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57530114

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档