DISCLAIMER I know almost nothing about machine learning, and I am writing this right after I woke up (Gotta strike the iron while its hot!). I did study CS in school (But once I entered the workforce, I realized how little I knew!).
Inspired by every time I see a post on GW2 or League saying: “how is this matchmaking fair!” Are there times where matchmaking is clearly unfair that a human would be able to tell? If so can we use machine learning to be the human that prevents those matchups?
So I thought to myself. Glicko / MMR / Elo, are all systems that really are designed to pair 1 person to 1 other person. They work well in that instance. However, since all those systems are based on one or two metrics (“win-rate” and time), they aren’t really good for pairing teams vs teams. There are various aspects that are lost when you only pair on MMR. Game acquired metrics such as: how balanced a game is, how long a game is, how long it took to queue a game together, how many negative / positive words were said in the game (also consider how many shotcalling / team communication words were said) are lost. User-feedback acquired perspectives of how balanced the game was, how fun the game was, how toxic / friendly their teammates were are lost. Per-user acquired metrics of afk rate, and word-usage are also lost. Would it be possible to improve matchmaking, while still keeping matchmaking inherently fair, by including some or all of the above metrics?
I believe that machine learning might be able to capture some or all of the above metrics, perhaps by including them as individual weights for each player. Each team v. team paring can be judged after the fact based on randomly selected user feedback and by analyzing the game. I think this could lead to games that are funner and more balanced.
However there are some concerns. Primarily, if such a system could really be fair. Clearly, MMR could be used to create a pool of players that machine learning is then used to select from. But weather or not this is as fair as the (I assume) random selection before is hard to say. Players may not like being paired in a manner that they cannot clearly tell is fair.
Other applications
General automated team creation. Imagine creating a development team from a pool of crowdsourced / freelance developers (Hate contest-based crowdsourcing. But that’s another topic). Could create an HR world where you hire based on attempting to achieve a “team” that based on machine learning should be optimal. Rather than hiring random individuals. Or, given a set of individuals, could try and find the remaining team that would work the best with those individuals. Of course initially such a system might only be used only as a suggestion on top of analyzing all possible candidates. But, if it proves to be effective, later on it could be phased in as a primary method of acquisition.
*Side thought: everywhere I say machine learning. Might be appropriate to replace with neural networks.
(edited by Midi.8359)