|
You, my friend, love math! Very interesting theory though, given you agree with the imbalance in the first place
-Granted, I basically had to jump from theory to conclusion, skimming through the actual math, but that is mainly related to my godgiven incompetence in the subject :p
|
Good job But skill plays more of a factor than the imbalance, look at Bisu, and the top 3 kespa rankers arent terran But good work on finding why there are more T progamers
|
First, very nicely done!
On November 03 2007 13:19 Cascade wrote:Show nested quote +On November 03 2007 12:28 Tadzio00 wrote: I think you're right, but I suspect the best way to use this would be to invert what you're doing. Create a formula where you can plug the number of T, Z and P progamers (say the tope 30 or 50 progamers) in as variables and see if it accurately predicts the winning percentage of each race in each matchup. This way you can determine racial imbalance without making any generalized assumptions. If you do it this way you can determine, through observance of variance from the mean, to what extent map imbalance and personal skill affects the likely outcomes of games. It is a good thought, but it is not possible. The imbalances are 3 parameters, while the race fraction have only two free parameters: if you know how many % zerg and terran players there are, then you know also how many protoss players there are, since the rest must be protoss. the equation z+t+p=1 removes one degree of freedom.that means that the mapping (my program) from the 3 imbalances to the race fractions does not have an inverse. many different imbalances will correspond to the same race fractions, so it is impossible to go in the other direction. Let me also stress that this is not a "flaw" in my model, but is a general property of broodwar. Would there have been only two races, it would have been possible (one free paramter on each side) while 3 or more races is not possible with (n-1)*(n-2) matchups to balance, and only n-1 free racefractions.
Wouldn't it be possible then, if we have a scenario where there's a general consensus on the imbalance between say T and P, and a situation with the ZvP as was the case 1 year ago, to use this (modified a bit, of course) work and settle the dispute between "whiners" and "man-up's" based on an up-to date Kespa rankings (6 months average or something) ?
On November 03 2007 11:02 Cascade wrote: As these values are close to the reality a year ago, it hints that my model is working!
If we look at the situation with brutal honesty (lol) we would have roughly speaking the following: model (assumptions) -> realty.
(here we look at the model as a program and the assumptions as arguments)
So we have two parameters on the left, namely the model and the set of assumptions, and having produced the correct reality it could be that: a) the model is good and the assumptions are right, or b) the model is not good (the assumptions are arbitrary here).
I don't think b) is the case though, the model seems well thought of (even though to be honest i don't know anything about mathematica, or mathematical modelling for that matter), so I expect you can use it to predict the kespa racial distribution for the next several months (you'll need correct assumptions for this, but that's what teamliquid is here for ).
Two technical remarks are: a) a typo
On November 03 2007 11:02 Cascade wrote: while TvP favours T slightly, and PvT favours P slightly.
,and b) the question why is the winning probablity not exactly 0,5 when the skill difference is exactly 0?
|
Belgium6733 Posts
|
You are insane man
gj anyways!
|
This is incredible. Nice work man, you should get payed for this. Or at least have your name on some of the future seasons OSL/MSL/PL maps...
to bad you don't speak Korean (or do you?)
|
This is kinda like what happened in the Yellowstone national park. People noticed that there are much less trees than like 20 yrs ago. .. (long investigation) .. . They figured out that 20 yrs ago was when the wolves were extinct from there > plant eaters grow in population > plants cant grow big, they get eaten. So they populated the wolves again > plants start growin again.
Nature is a fascinating thing, such beauty relying on shaky feet of perfect balance. The fact that Starcraft resembles natural balance show us just how great this game is.
|
On November 03 2007 14:54 gravity wrote:Show nested quote +On November 03 2007 13:19 Cascade wrote:For the ELO thing: It is probably a good idea. I guess it would take some time since i need to check the ELO rating of every guy they played, and preferably their rating at the time of the game. :/ To see the difference of 60% or 65% you would need about 50 samples of games of players around rank 5 against players of rank around 50. Preferably different players in different matchups. Maybe you feel like contributing with that? Why not just calculate the chance mathematically? That's the whole point of ELO ratings, after all. For example, between the current #5 (Anytime) vs. the current #50 (Yellow) there is a difference of 172 points which gives a 73% winning probability for the #5 player. (The exact players/races don't matter of course).
Oh, didnt know you could do that! Thanks a lot.
ok, so assuming that the ELO ranking is accurate to set the 5-50 parameter to 73%, there are only the three imbalances left to tune. I plugged in some values and here are the results:
ZvP___TvP___PvT____z____t____p 60____55____55_____37___35__28 65____55____55_____40___37__23 60____58____53_____33___40__28 60____53____58_____41___30__29
In general a higher 5-50 winning % will even out the three race ratios as skill will outweight imbalance. Also please help me finding realistic values for the three imbalances, I'm really not feeling very confident in my guesses.
|
Some more replys here:
On November 03 2007 16:37 Polemarch wrote: yeah i was suggesting that you look into extending the per-map stuff to your model. only if you're interested in extending it, of course, but i think that could make it much more useful.
e.g. a good player would probably rather have one grossly imbalanced map out of 5 that they just throw away; rather than 5 moderately imbalanced maps. your extended model could quantitfy that sort of stuff in terms of overall racial balance for map pools.
for picking the 'a' parameter... i wouldn't put in THAT much work into it. here's a relatively easy way that's still based on the data. for a given value of 'a', draw the top 50 skill values out of a sample of say 10000, assign them random races, and treat those as your progamers. then have them randomly compete against each other. check the entropy of the winning percentages and see how it compares to the entropy of the winning percentages of the top 50 players in TLPD. (repeat the expeirment a few times to get a better sample). adjust 'a' until they're about equal. you could probably analyze it mathematically, but a simple simulation like that might be easier.
Ok, I think I see what you mean. Right now I can't come up with an easy way to include that in the model though. If I would not use the "average over everything" approach and look more in detail on separate maps it would be an entirely new model, and probably much more complicated. :/ it could probably be done, but I think you would have to use a different method to solve the model then. I guess you could just keep insertnig new random progamers and simulate everything. it would require more computing time, but probably it could be done. I will not do it though, as it would basically be starting over from the beggining. using that kind of simulation would however make it a lot easier to include new effects, so it has potential. I'll leave it for someone else.
for the a: Sounds reasonable. Maybe I'll try that later. Actually I can directly calculate average winning percentage for a player of given skill and race, but it is that function with hypergeometric functions.
oz: Yes, if you fix the 5-50 parameter (from ELO or whatever) and one of the imbalances, then the other two can be fixed from race ratios. You would of course have the whiners settle on which imbalance they could agree on first. On the correctness of the model: of course we can not be sure at all. As it is right now I do not have any accurate figures for the imbalances or the race ratios, so it is hard to say. it would be interesting to somehow get the "correct" imbalance statistics and race ratios of today (last 6 months or so) and see if the model accurately predicts the ratios from the imbalances. I find it a bit strange that it is so hard to find a total statistic for all progaming TvP,PvZ,ZvT played last 6 months. Or to find out how many currently active progamers of each race there are. I would help A LOT if someone could get those numbers! With those numbers a REAL test of the model could be made, instead of all this guessing about. I'll fix the typo. The probabily is 50%. look at the plot again. maybe you missread 0.6 in the y-scale as 0.5? Those numbers doesnt show very well. Also 1/(1+e^0) = 1/(1+1)=50%.
On November 03 2007 20:23 minus_human wrote:This is incredible. Nice work man, you should get payed for this. Or at least have your name on some of the future seasons OSL/MSL/PL maps... to bad you don't speak Korean (or do you?)
I can say Han-bang-OH, teugeling-eh, YYYEEEEEHH!!!! and one gate-OH!! I don't think I could explain my model very well using those 4 words only.
I cant see anyone wanting to translate that essay, so they will have to learn english.
|
Absolutely amazing work, just genius for coming up with the idea of modeling the progaming scene like this. My maths knowledge isn't super advanced, so correct me if I'm wrong.
On November 03 2007 11:02 Cascade wrote: Looking at zerg now. They win 70% against protoss and win 40% against terran. To add up to 50% we need double number of terrans as protoss:
You don't even need to look at the zerg, you've already got your answer from what you already have. Moreover because you already have z+t+p=100%, and then one additional equation for looking at each race, that's altogether 4 equations in 3 unknowns and unless they're linearly dependent there's no solution. In this case they are, perhaps because two of the matchups have equal percentages. So unless I'm missing something here, the 'toy model' just fails completely.
Didn't consider the more advanced model in too much detail, but it's really interesting and I'll look over it when I have the time. But surely the matchup %ages aren't that bad, if I recall PGT stats correctly from when it was still up, even on supposedly pvz imba maps like lost temple, pvz was 45:55, and the matchups were never more than 60% for any map that had at least a hundred games played on it. What distribution do you get when you have 55% zvp, 52% pvt, and 52% tvz?
Edit: Actually thinking about it a bit more, the toy model is consistent but it gives bad results, such as the "best" race, with the most and least balanced of the imbalanced matchups for the matchups that they lose and win respectively, is not the most common race.
|
Russian Federation18 Posts
What a great job! My respect Cascade!
I agree that precise TLPD statistics would be of invaluable help in testing your model. What's more, I guess you could actually perform multivariate optimization to get those 4 parameters from empirical data. You could minimize say least square deviation between theoretical and TLPD percentages vectors. I'm sure Mathematica has some robust routines for that.
By the way, are you familiar with this model: Lotka-Voterra equation?
|
This is very interesting indeed.You did great work in figuring out something like this. Hope you post more mathematical models concerning starcraft.
|
NOTE: I have skimmed other people's responses, and I may be repeating some of their statements here, but that is only because they are wholly my opinion and I'm using it to complete my argument. If you had answered a part of my argument previously, just skip over it - chances are I have read it already.
I think that your work is thorough and very well done, but I have to disagree on a few certain points. Though your data is accurate for the past, as you have shown, whether or not it will be accurate for the future may have nothing at all to do with this model. The depth to which you can extrapolate this is shallow indeed, because even now we are seeing Protoss rising over Zergs and Terrans falling to Zergs consistently. The individual sways of progamers over the data are too great - one player's fall from the limelight and one player's rise could completely denounce your model, and not just on an outlier-only scale. Already, having 2 Protosses at ranks of 1 and 2 of KESPA is saying something about the accuracy of the model. Sure, you may argue that "overall" (and like I said, even this may be a stretch) your model will stand true, but what good does it do if it can't work for the top 10 of KESPA?
Also, you did not include anything on mirror matches - there is obviously always the chance of Zergs eliminating their own kind, and thus leaving less players up for the supposed Terran killing. This of course cannot be controlled as it is almost entirely random and unpredicted, but it still makes a model such as yours inaccurate on the grand scale because the model you have put forth, as far as I can tell, simply ignores mirror matches all together.
Assumptions you made such as "First thing is to assume that ZvP is imbalanced in zergs favour by quite a bit, while TvZ favours T slightly, and PvT favours P slightly," and the winning percentages were not well-proven in my opinion; in fact I disagree with both statements. I believe that the percentage of any MU is wholly dependent on the skill level of the players playing them, and occassionally the map if it is conceretely imbalanced. So let's say back in February the percentage was 70% Zerg wins over Protoss, as I believe you had said. But since then, what has happened? Bisu beat Savior, and the PvZ became a MU where the P could say "it's just another zerg." Of course not every P player is Bisu, but also not every Z player is Savior. On the whole, it is proper to say shifts are occuring.
Like I said in my first paragraph - I admire what you did here, and your findings are pretty interesting based on concrete data and your assumptions. But I think like others have said, there is too much variety, chaos, and unpredictability in this game of skill to create such a model.
|
You are correct about the toy model Wonders. The last equation is not needed to find a solution, and I write it down only as a consistency check.
I didn't want to go into this a bit technical detail, but as you ask: Those three equations will always be linearly dependent. Proof: + Show Spoiler + Call the imbalances pt, tz and zp. So for example a terran has probability tz to beat a zerg and 1-pt to beat a protoss. the equation for T total 50% will be
(1-pt)*p + tz*z + 0.5*t = 0.5 use p+t+z=1 (1-pt)*p + tz*z + 0.5*(1-p-z) = 0.5 Move terms with p to LHS, terms with z to RHS. constant terms cancel. (0.5-pt)*p=(0.5-tz)z
In the same way for the other races we will get the equations (0.5-zp)*z=(0.5-pt)*t (0.5-tz)*t=(0.5-zp)*p
now define (0.5-pt)=a (0.5-tz)=b (0.5-zp)=c and we can rewrite the three equations as: a*p = b*z c*z = a*t b*t = c*p These are linearly depend since c*(first equation) - b*(second eq) = a*(third equation). This completes the proof.
So the toy model is self consistent and will always have solutions. i think yuo understand why I didnt want to include that discussion part in the op. The only reason the toy model is there is for those who find the serious model too complicated, so adding a long part about why it is self consistent wouldn't make sense.
oh, more imbalance suggestions!! 55,52,52 with the ELO inspired 73% 5-50 parameter gives: z = 36.1 t = 33.8 p = 30.1
using 65% for 5-50 parameter (and same imbalances) gives z = 37.4 t = 34.5 p = 28.2
With these smaller imbalances protoss doesn't get THAT suppressed, so terran does not feel a very big effect. t is fairly close to the standard 33.3% in both cases. We also see (again) that larger skill gaps (higher 5-50 parameter) pushes the race fractions towards 33.3% since skill then is more important than imbalance.
|
Why is this a featured thread?? As long as a post contains pretty pictures and mentions Starcraft theories, is it put into Featured? Even if it's useless shit that nobody understands?
I stopped reading as soon as I got to:
I have now developed a mathematical model that explains how a Z>>P imbalance, together with smaller T>Z, P>T imbalances, causes a TERRAN dominance. This part makes sense. End of story. We don't need math to prove this. Math won't really prove it. We see that Z eliminates all the P, so terran can statistically beat the remaining Z without having to worry about playing against protoss.
What's the point of all the weird math that makes no sense at all?
1) Progamers have different skill levels s. The number of progamers at a given skill s is proportional to
e^(-a s)
That is the the number of players falls of exponentially as skill increases. "a" is a parameter that decides how quickly the number of gamers fall. A large "a" means that the very best playes in the worlds is not THAT much better that the ones ranked around 100. A small "a" means that the top players completely own lower ranked players, even if they are not very mucher lower ranked.
This distribution can be discussed. Other ideas are welcome.
2) The probability of a player of skill s1 to beat a player of skill s2 is
1/( 1 + e^(s2-s1) ) e^(-a s) is not proportional to s (skill). It is not even exponentially proportional to s.
Also, 1/( 1 + e^(s2-s1) ) = P(player of skill s1 to beat player of skill s2). Example 1: What if they have the same skill level? Probability = 1/1 = 100% Example 2: What if one has no skills at all? Probability = 1/(1+e^x) < 100%
What the results SHOULD have been, if one person didn't have skills, the probability to win was 100%. And when the skill level was the same, the probability should be 50%.
Why are people buying your bullshit mathematics?
BECAUSE THEY DON'T READ IT.
|
Didn't read the entire thing, but i would imagine i could sum up what your going to say in about a paragraph.
Z kncoks out all protoss out of leagues, which is the anti terran, and terran dominates Zerg, so without any Protoss to stand in a Terrans way he wins. And the fact that ZvP was considered the most imbalanced, meaning there would be so few protosses, and the few there were would get knocked out by a Z and then the Z inevitably falling to a Terran.
Then we would have a lot of terrans who don't have protosses KOing them, and zergs getting beaten by terrans and then there being no protosses to balance the cycle due to it being more imbalanced then say ZvT.
|
Probability(s1 beats s2) = (s1-s2+1)/2 is a better equation.
(1) s1 = 1, s2 = 0: P = 100% (2) s1 = 0, s2 = 1: P = 0% (2) s1 = 0.5, s2 = 0.5: P = 50%
If s1 is slightly better than s2, probability is slightly higher than 50%.
|
Russian Federation18 Posts
On November 04 2007 00:56 WhatisProtoss wrote: Why are people buying your bullshit mathematics?
BECAUSE THEY DON'T READ IT. Well, YOU ARE A FAG!
If s1 = s2 then 1/(1 + exp(s2 - s1)) = 1/(1 + exp(0)) = 1/(1 + 1) = 1/2 = 50%
And noone said s >= 0.
|
On November 04 2007 00:56 WhatisProtoss wrote:Why is this a featured thread?? I stopped reading as soon as I got to: Show nested quote +I have now developed a mathematical model that explains how a Z>>P imbalance, together with smaller T>Z, P>T imbalances, causes a TERRAN dominance. What's the point of all the weird math that makes no sense at all? Show nested quote +1) Progamers have different skill levels s. The number of progamers at a given skill s is proportional to
e^(-a s)
That is the the number of players falls of exponentially as skill increases. "a" is a parameter that decides how quickly the number of gamers fall. A large "a" means that the very best playes in the worlds is not THAT much better that the ones ranked around 100. A small "a" means that the top players completely own lower ranked players, even if they are not very mucher lower ranked.
This distribution can be discussed. Other ideas are welcome.
2) The probability of a player of skill s1 to beat a player of skill s2 is
1/( 1 + e^(s2-s1) ) e^(-a s) is not proportional to s (skill). It is not even exponentially proportional to s. Also, 1/( 1 + e^(s2-s1) ) = P(player of skill s1 to beat player of skill s2). Example 1: What if they have the same skill level? Probability = 1/1 = 100% Example 2: What if one has no skills at all? Probability = 1/(1+e^x) < 100% What the results SHOULD have been, if one person didn't have skills, the probability to win was 100%. And when the skill level was the same, the probability should be 50%. Why are people buying your bullshit mathematics? BECAUSE THEY DON'T READ IT.
e^(-a.s) gives the distribution of players at the skill level. So if the skill difference between S class and lower class is say s, and there's b times more S class than lower class, then the number of players s skill lower than the lower class is b^2*[number of S class]. I don't know what you mean by exponentially proportional.
The win% formula is the actual formula used in the ELO system. e^0 is 1 not 0.
|
fanatacist: Im not sure if you are refering to the toy model or the real model. In any case I think you should reread the op. Both models account for mirror matchups. I promise. If you reread and still do not understand, then tell me which model you are looking at and i will explain.
the assumption Z>>P>T>Z i made in the toy model was just an example to illustrate a principle. When you reread the conclusions you will notice that my real model can take any balance % you want and make a prediction.
this model also is not conserned with individual players in the limelight, but rather global properties of a large group of players.
Whatisprotoss: ok, so confusion on the winning probability. I'll explain a bit more.
first of, the exponential function. e^0 = 1. e^(-infinity) = 0 e^(infinity) = infinity so if you have to players of same skill the winning probability is
1/(1+e^(0)) = 1/(1 + 1) = 1/2 = 50%
as it should. Also note that skill = 0 is not the lowest possible skill level. Skill goes on down to minus infinity and up to + infinity. Probability to beat someone of skill = -infinity is
1/(1+e^(-infty)) = 1/(1+0) = 1 = 100%
as it should. To beat someone of skill + infinity you get
1/(1+e^infinity) = 1/(infinity) = 0%
again as it should. Look at the plot in the op.
|
|
|
|