This isn't a math problem I've been assigned in school, but it IS a problem that I really want to solve and I'll probably need math to solve it. Here's the premise. A 14-player game is played using 32 different classes, but each player doesn't have a chance to pick their class; instead, the 14-person group chooses a pool of 25 classes out of the 32 total, and at the start of the game, 14 of these 25 classes are randomly distributed, one to each person. (Which sounds kind of complicated, but I promise this a real question I'm asking for a real reason.) The game is meant to be played with every man for himself, but the playerbase of this game has found that the game is both easier and more fun if you partner up with one of the other classes during the game and work together. So, it's extremely strategically disadvantageous for someone to not partner up, and each person can only partner up with one other class. On top of this, not every partnership is equal - you could theoretically make a list of all 496 matchups that ranks them from best to worst, or from 1 to 10 (there's probably a fair deal of 0-valued matchups that are basically useless). Imagine I have this kind of list and have assigned each matchup a numberical value. The question is this:
Which 25 classes should I choose to create a pool with in order for the 14 players to have the highest probability of all getting valuable match-ups?
There's obviously a really really large number of combinations involved, so I can't exactly brute-force it. I'm not sure if I can brute-force a computer to do it for me, either. What I think I'd need to do is create a program like this: first, assign the numerical values of each 2-person matchup, then have the computer generate every possible 2-person combination, then have the computer assign a numerical value to each combination based on the added values of all involved match-ups (which would be hard; each class could potentially partner up with any other class, so the computer would have to figure out on its own how to calculate the value of the 14-person set using the numerical values of the highest-value match-ups for each person), then calculate every possible 25-person pool and calculate each of these pools' potential 14-person calculations, then go back, look at the numerical values it had assigned for each 14-person matchup, and make a fraction for each pool of the number of high-value 14-person sets over the number of low-value 14-person sets, maybe? Then whichever pool has the highest value fraction is the 25 classes I'd want to pool? That would be a lot of numbers to calculate. A completely ridiculous amount, really, I don't even want to begin to imagine.
So, there's two problems. One, if there's any way I can make that process more efficient, I'd like to know. Two, I don't know anything about computers at all. How would I even begin to build this? Am I even going about this the right way at all? I know barely anything about combinatorics, just the concept of weighting different combinations based on the value of the items in the set is beyond me and I'm not even sure if it's still the same field of math. All I've formally learned in school is the "calculate total number of permutations, calculate total number of combinations" stuff. But this question is really bugging me, so any help you could offer at me at all would be really helpful. Thanks! Also, sorry if I put this in the wrong section; I wasn't sure where else it'd go.
Which 25 classes should I choose to create a pool with in order for the 14 players to have the highest probability of all getting valuable match-ups?
There's obviously a really really large number of combinations involved, so I can't exactly brute-force it. I'm not sure if I can brute-force a computer to do it for me, either. What I think I'd need to do is create a program like this: first, assign the numerical values of each 2-person matchup, then have the computer generate every possible 2-person combination, then have the computer assign a numerical value to each combination based on the added values of all involved match-ups (which would be hard; each class could potentially partner up with any other class, so the computer would have to figure out on its own how to calculate the value of the 14-person set using the numerical values of the highest-value match-ups for each person), then calculate every possible 25-person pool and calculate each of these pools' potential 14-person calculations, then go back, look at the numerical values it had assigned for each 14-person matchup, and make a fraction for each pool of the number of high-value 14-person sets over the number of low-value 14-person sets, maybe? Then whichever pool has the highest value fraction is the 25 classes I'd want to pool? That would be a lot of numbers to calculate. A completely ridiculous amount, really, I don't even want to begin to imagine.
So, there's two problems. One, if there's any way I can make that process more efficient, I'd like to know. Two, I don't know anything about computers at all. How would I even begin to build this? Am I even going about this the right way at all? I know barely anything about combinatorics, just the concept of weighting different combinations based on the value of the items in the set is beyond me and I'm not even sure if it's still the same field of math. All I've formally learned in school is the "calculate total number of permutations, calculate total number of combinations" stuff. But this question is really bugging me, so any help you could offer at me at all would be really helpful. Thanks! Also, sorry if I put this in the wrong section; I wasn't sure where else it'd go.