Waiting simulator and general comment

13»

Comments

  • SupaFredSupaFred Join Date: 2013-03-03 Member: 183652Members, NS2 Playtester, Squad Five Blue, NS2 Map Tester, Reinforced - Supporter, Reinforced - Silver, Reinforced - Shadow, WC 2013 - Silver
    edited March 2018
    Nordic wrote: »
    @SupaFred sets his tolerance a little looser because he thinks it gives players a better experience because it allows them to stay on their preferred team more often.

    Force someone to play on a team that they don't want to play on and they will leave which will impact balance even more (or everyone has to wait until another shuffle vote can be started). There is no perfect solution.
    I just lowered the SD tolerance on TTO after reading this thread though. If people complain too much I'll increase it a bit again.
  • NordicNordic Long term camping in Kodiak Join Date: 2012-05-13 Member: 151995Members, NS2 Playtester, NS2 Map Tester, Reinforced - Supporter, Reinforced - Silver, Reinforced - Shadow
    edited March 2018
    Nordic misread "1179" as "1779", the same happened to me and I got his result

    I didn't just happen to misread it once, but close to 5 times as I input the information in again.I didn't catch it when I triple checked my number each time either. Speaking of math skills. :#:(
  • SquishpokePOOPFACESquishpokePOOPFACE -21,248 posts (ignore below) Join Date: 2012-10-31 Member: 165262Members, Reinforced - Shadow
    Nordic wrote: »
    Nordic misread "1179" as "1779", the same happened to me and I got his result

    I didn't just happen to misread it once, but close to 5 times as I input the information in again.I didn't catch it when I triple checked my number each time either. Speaking of math skills. :#:(

    I only caught it because "Hey neat, these numbers were very close to 1776, the birth of America!" and then "Oh wait, isn't 1779 supposed to go before 1775" followed by "man, that's a very-res image"
  • moultanomoultano Creator of ns_shiva. Join Date: 2002-12-14 Member: 10806Members, NS1 Playtester, Contributor, Constellation, NS2 Playtester, Squad Five Blue, Reinforced - Shadow, WC 2013 - Gold, NS2 Community Developer, Pistachionauts
    edited March 2018
    Person8880 wrote: »
    I don't usually like to get involved in yet another Hive/shuffle thread, but I want to explain the behaviour you're seeing.
    Nordic wrote: »
    Guess what I found? I found one team where the two highest skilled players were on the same team. Look at that. Link to shuffle results. When I first looked at it, the team averages had a difference of about 10, but standard deviation had a difference of nearly 500. My first thought is that the server operator might have set it up so that it had a very loose tolerance for standard deviation. The REALLY weird part is that when I put those numbers into google sheets, the average alien skill calculated to 2653.6 but shuffle is displaying the average alien skill as 2586.9. Shuffle calculated the average incorrectly, which seems to have allowed the two top players to be put on the same team. These teams actually have a difference of 77 hive skill, which gives the alien team about a 60% chance of winning.

    I can not begin to explain why shuffle did its math wrong.
    The average that is calculated is correct. Sum the values in a calculator and divide by 9, you'll get 2586.9 rounded to 1 decimal place.

    The problem here is likely the very large standard deviation tolerance, which would allow the teams to quickly deteriorate in the name of improving how close the averages are. If you want more balanced teams, the standard deviation tolerance should be low (e.g. the default value of 40 or potentially less if you're feeling optimistic).

    Even with the configuration setup, it is still possible for shuffle to get the teams wrong from time to time, simply due to the constraints in play. Not only does it try to respect team preferences and various tolerance values, but it also is limited by execution time and resources.

    Currently it uses a hill climbing method to try to find an optimal solution, which is quite cheap in execution and often provides good results. However, this approach can often end up stuck at a local minimum instead of reaching the global minimum, and it will not attempt any further iterations to try to prove that it has found the global minimum. This can mean the final solution may not be the absolute best, and in extreme cases, may in fact be quite far off.

    If I had the time and motivation I could implement a smarter algorithm that would either restart the process from a different starting point after finding a solution (though this would throw out part of the team preference bias), allow more solutions to be considered by relaxing the rules (tabu search), or change it to a probabilistic approach such as simulated annealing. However, all of these would increase the time needed to compute the teams and may often result in little improvement, especially when people do not trust the underlying values anyway.

    I think rather than having a fixed std deviation tolerance, you'd get better results from having a cost function that incorporates mean and standard deviation into one formula. That might even eliminate a whole class of local optima by making the objective space more continuous. Hill climbing does much worse with hard constraints than soft ones.

    A while back I wrote up a doc on how you could use information theory to compute a metric of "optimally" "even" teams that combines both mean and standard deviation. https://docs.google.com/document/d/1EyXAzWDhE2YD37lDFmYcO2TvFztldsfseOH0-J8j2Tw/edit. "Optimally" and "even" are both in scare quotes because I don't actually think this is the right thing to do, but you could use the formula in there for inspiration. That objective would try to make the skill distributions as close as possible in an information theoretic sense if they are modeled as gaussian distributions. The reason I don't think it's the right thing to do is that nothing in that formula expresses the idea that matching the mean is actually a more important objective than matching the standard deviation, and in fact because of the way the tails of gaussians operate, it's probably way too sensitive to the standard deviation, but something to think about anyways.
  • moultanomoultano Creator of ns_shiva. Join Date: 2002-12-14 Member: 10806Members, NS1 Playtester, Contributor, Constellation, NS2 Playtester, Squad Five Blue, Reinforced - Shadow, WC 2013 - Gold, NS2 Community Developer, Pistachionauts
    After playing a few rounds where the shuffle vote failed, more servers need auto-shuffle mods. Let people vote to turn it off.
  • skav2skav2 Join Date: 2007-05-28 Member: 61037Members, Reinforced - Gold
    moultano wrote: »
    After playing a few rounds where the shuffle vote failed, more servers need auto-shuffle mods. Let people vote to turn it off.

    Auto shuffling really should be the part of the base game, not a mod. That ship has already sailed though, but yes I agree. Sometimes it will be a bit uneven especially when the top player on one team is as good as the combined skills of the next 3 players. The skill gap in this game has always been an issue and with low numbers it exasperates that issue.
  • MephillesMephilles Germany Join Date: 2013-08-07 Member: 186634Members, NS2 Map Tester, NS2 Community Developer
    I am not sure if autoshuffle should be in the base game tbh. I mean there are pülayers who prefer to play a specific race over the other and you would get rid of people chosing that. I know there is a team preference function in shine but tbh for me this didn't change a thing. Like before I am shuffled about 50:50 to each side despite having a team preference set
  • skav2skav2 Join Date: 2007-05-28 Member: 61037Members, Reinforced - Gold
    I was going off of having it always start with shuffling but also have the ability to turn it off before a game starts like @moultano had mentioned.
  • NordicNordic Long term camping in Kodiak Join Date: 2012-05-13 Member: 151995Members, NS2 Playtester, NS2 Map Tester, Reinforced - Supporter, Reinforced - Silver, Reinforced - Shadow
    There is no shortage of good ideas for improving shuffle, there is a shortage on time for those that might develop those ideas. I don't even mean UWE but programmers in general.
  • Person8880Person8880 Join Date: 2013-01-02 Member: 177167Members, Squad Five Blue
    edited March 2018
    It is already possible for server admins to configure shuffle to occur automatically before a round starts. However there is currently no way to vote to disable it if they do so.
    Mephilles wrote: »
    I am not sure if autoshuffle should be in the base game tbh. I mean there are pülayers who prefer to play a specific race over the other and you would get rid of people chosing that. I know there is a team preference function in shine but tbh for me this didn't change a thing. Like before I am shuffled about 50:50 to each side despite having a team preference set
    This is actually for the most part intended. Each player may have their own team preference, so if it constantly gave you the team you wanted, it would be constantly giving someone else the team they don't.

    Roughly speaking, the system uses historic shuffle data to track how often each player is placed on the team they wanted, and it will exponentially increase the weighting of a player that has had consecutive rounds on a team they didn't want, while doing the opposite for those that are consecutively on teams they did want. This weighting is then evaluated to determine the overall satisfaction of all players on the server by using their historic team satisfaction, and negating it if they are currently on the team they don't want. If the sum of satisfaction is negative, then the teams produced by a shuffle are entirely swapped (as skill is not currently dependent on team).

    This ideally means everyone gets to play their preferred team for an equal amount of rounds in the long run, which is the fairest system. There are a few details that can make it less effective (such as commanders blocking it from swapping the teams), but it's the best approach I could think of without throwing balance off.
Sign In or Register to comment.