New algorithm for autobalance=auto

A place to post suggestions for new features, new bugs, and comments about the existing code.
TurkeyXIII
Posts: 1460
Joined: Thu Dec 06, 2007 3:18 am
Location: Melbourne, Aus

Post by TurkeyXIII »

I once fiddled with the mus and sigmas to try to see if I'd be able to use AS to predict the winning probability of games. The main problem is newbies: they have a mu 25, which is higher than plenty of people who know what they're doing, so balancing algorithms based on it will often put them on the lower-ranked team. Also their crazy-high sigma increases the sigma of the whole team, so such a system would think that newbies joining would even a game out, regardless of which team they join.

Conservative rank is more accurate imo. ynik's algorithm is a work of art. Consider putting the weights into a .txt file in the server artwork so it can be modified without a code change.
QUOTE (Randall Munroe)14.2: Turkey consumption rate of the average American in milligrams per minute[/quote]
Image
notjarvis
Posts: 4629
Joined: Tue Jun 03, 2008 11:08 am
Location: Birmingham, UK

Post by notjarvis »

TurkeyXIII wrote:QUOTE (TurkeyXIII @ Jul 23 2010, 05:11 AM) I once fiddled with the mus and sigmas to try to see if I'd be able to use AS to predict the winning probability of games. The main problem is newbies: they have a mu 25, which is higher than plenty of people who know what they're doing, so balancing algorithms based on it will often put them on the lower-ranked team. A
That's why any system must use both Mu and Sigma and try to balance both with equal weight.

QUOTE lso their crazy-high sigma increases the sigma of the whole team, so such a system would think that newbies joining would even a game out, regardless of which team they join.[/quote]
Isn't that the point? Newbies will have little effect on the games outcome, so from the point of the system it doesn't matter what team they join.
Freyja wrote:QUOTE (Freyja @ Jul 22 2010, 09:10 PM) Yes, yes, yes, yes!

And AS specifically restricts that learning by having a very small window tied to experience.

Typically a player that's rank 15 playing 6 months is much, much worse than a rank 10 player that's played 2 years... often because of that experience/knowledge.
Yup but that rank '15' player will have a much higher Mu than the rank '10' player. So adding him to a team will increase the uncertainty over the team's skill.
Last edited by notjarvis on Fri Jul 23, 2010 9:22 am, edited 1 time in total.
TurkeyXIII
Posts: 1460
Joined: Thu Dec 06, 2007 3:18 am
Location: Melbourne, Aus

Post by TurkeyXIII »

notjarvis wrote:QUOTE (notjarvis @ Jul 23 2010, 07:20 PM) That's why any system must use both Mu and Sigma and try to balance both with equal weight.
[...] Newbies will have little effect on the games outcome, so from the point of the system it doesn't matter what team they join.
That's not what I meant, but it's not a bad idea... some reciprocal of sigma as a weighting factor... But depending on the brains behind it, it wouldn't be any less arbitrary than ynik's method, and ASGS/CSS would need to pass two rank values instead of just one.
QUOTE (Randall Munroe)14.2: Turkey consumption rate of the average American in milligrams per minute[/quote]
Image
notjarvis
Posts: 4629
Joined: Tue Jun 03, 2008 11:08 am
Location: Birmingham, UK

Post by notjarvis »

TurkeyXIII wrote:QUOTE (TurkeyXIII @ Jul 24 2010, 10:44 AM) it wouldn't be any less arbitrary than ynik's method,
It's basically what Microsoft uses in TrueSkill - statistical, and proven (is my point).
TurkeyXIII
Posts: 1460
Joined: Thu Dec 06, 2007 3:18 am
Location: Melbourne, Aus

Post by TurkeyXIII »

Ticket created: http://trac.alleg.net/ticket/192

All the constants used in my rendition of the equation come from a text file called balance.txt in the server artwork. The numbers need to be short integers tho, so some of those decimal values have been changed/scaled.
balance.txt needs seven numbers in it:
-Weighting constant for average player rank on the team
-Weighting constant for total team rank
-Weighting constant for player count
-Flexibility for balanced games as a percent (so 0.1 on your script becomes 10)
-Flexibility decay constant
-Average player count divisor. Your script used a constant 0.0075 as a player count multiplier; the equivalent here is 133. As far as I can tell, this value affects how much flexibility increases with larger games. The higher the divisor is, the less impact a large game will have on the algorithm.
-Newbie rank threshold. This is for ticket 174, included here because it's convenient.

so balance.txt might look like:

Code: Select all

4
2
1
10
200
133
4
Last edited by TurkeyXIII on Thu Jul 29, 2010 8:14 am, edited 1 time in total.
QUOTE (Randall Munroe)14.2: Turkey consumption rate of the average American in milligrams per minute[/quote]
Image
Bard
Posts: 4263
Joined: Tue Jan 24, 2006 8:00 am
Location: Within your command center, enacting fatal attacks upon your conscripts
Contact:

Post by Bard »

Allegskill is the work of Sgt_Baker, Mr.Chaos, and a small handful (with diminishing contributions the farther down the list you get) of others and implemented finally only through the grace of Sgt_Baker, Mr.Chaos, and TE.

All matters

let me say that again with emphasis...

(¯`'•.¸(¯`'•.¸(¯`'•.¸ALL¸.•'´¯)¸.•'´¯)¸.•'´¯) matters pertaining to Allegskill algorithms should go through them first as they are the most knowledgeable people with regards to said subject and I do not condone making any changes without their prior consent as the implications across the board for messing with anything rank-related are quite large and they know far more about the subject than any of the rest of us do. In short, don't spend time coding changes on this until what you want to do has gone through them and received their stamps of either indifference or approval.

(also, if you raise Sgt_Baker's ire, be prepared to receive fully detailed and precise instructions on how to perform fellatio on yourself and exactly why and when you should commence the aforementioned process. You have been warned.)
ImageImageImageImageImage
Image Omnia Mutantur, Nihil Interit.
ThePhantom032
Posts: 836
Joined: Sat May 09, 2009 11:00 am
Location: Germany

Post by ThePhantom032 »

Dear Bard,

If I got it right what Turkey implemented is yniks initial idea, which does NOT use AllegSkill-algorithms, only the RANK thats the RESULT of AllegSkill-algorithms.

This imbalance=auto change does NOT change how ranks are calculated, it simply uses the given ranks to try and balance a game - a job thats COULD be done by the commanders with imbal=na but, as we all know, isnt. This is why we use imbal=1, to prevent either comm from getting more and more players while the other dies alone. This is why imbal=auto was initially implementet, to prevent either comm from getting a vastly superior team (AS wise).

As we all know BOTH old solutions do not work. imbal=1 allows AS stack, our current problem; imbal=auto will create games with uneven teamsizes. This is a try to get both together. Of course stack can still happen if one comm and the players want it, but its more limited now.
But whats most important for YOU: No usage of AllegSkill µ or sigma. Just the rank.
Please do not discourage people from helping to improve the game when you obviously have no idea what you are even talking about.

Thank you,

Phantom032
Still ready to teach anyone who asks nicely whatever they want to know about playing alleg. Contrary to popular opinion I do not eat newbies. Voobs taste much better.
Bard
Posts: 4263
Joined: Tue Jan 24, 2006 8:00 am
Location: Within your command center, enacting fatal attacks upon your conscripts
Contact:

Post by Bard »

Dear Phantom032,

I'm not discouraging anyone.

In future, if you plan on saying: "you obviously have no idea what you are even talking about", beginning your post with the words "If I got it right" is a fairly poor choice as it casts a disparaging light back on your own knowledge of the subject at hand.

Thanks for posting,

B.
ImageImageImageImageImage
Image Omnia Mutantur, Nihil Interit.
Botzman
Posts: 128
Joined: Sun Apr 19, 2009 9:01 pm
Location: Berlin, Germany

Post by Botzman »

Team Players AllegSkill
Yellow 4 54
Blue 5 55


Rank Yellow Blue
0 Yes No
...
14 Yes No
15 Yes Yes
....
19 Yes Yes
20 No Yes

Which means pkk, Weed, spidey, p32 and Nuke MUST STACK :)
ThePhantom032
Posts: 836
Joined: Sat May 09, 2009 11:00 am
Location: Germany

Post by ThePhantom032 »

Botz:

Average rank of players in your case is 11 for blue and 13.5 for yellow.
Should a rank 20 vet join yellow, increasing the avg skill level even further (to almost 15)?

The problem with all high rank players is that in most cases they increase the imbalance no matter which side they join.
You can see the actual 'imbalance' value below the calculate button and next to the rank20 players you see the new 'imbalance' value once s/he joined that team. In your case imbalance is 1.1599 and would increase to either 1.2778 or 1.2228 if a rank20 player joins (imbalance = 1 is perfectly balanced game)
Since 1.2228 is quite a bit lower the vet is forced to join blue, creating a 4-6 situation in favor of an unfair 5-5 situation.

The only alternative to forcing vets to join the side they create LESS imbalance with is not letting them play at all (which would be very bad IMO)


Bard:

I'm happy you defend yourself by criticising my choice of words and ignore the content as that usually is a sign that the content is right and you cannot deny it.
But I guess you arent happy yet since its only imago you drove away so far.

QUOTE I'm not discouraging anyone.[/quote]

QUOTE In short, don't spend time coding changes[/quote]

Well I know I wont anymore and this time Turkey beat me to it ;)
Still ready to teach anyone who asks nicely whatever they want to know about playing alleg. Contrary to popular opinion I do not eat newbies. Voobs taste much better.
Post Reply