Elitist Jerks
Register
Blogs
Urban Rivals
Forums
New Posts


Go Back   Elitist Jerks > Public Discussion > Class Mechanics
Elitist Jerks Login

gamerDNA Login

Welcome to Elitist Jerks
We're testing some new features on the site regarding OpenID registration and coordination with gamerDNA. If you experience any issues with registering an account, please take the time to fill out a report and send it to this e-mail address. We would appreciate any assistance you could provide in making sure everything is functioning as intended. Thanks!

If this is your first visit, please be sure to check out the FAQ and the forum rules. Users must register to post and new registrations are subject to a one day "mute" period to get acquainted with the community.

Reply
 
LinkBack (40) Thread Tools
Old 01/04/08, 4:01 AM   38 links from elsewhere to this Post. Click to view. #1
Muphrid
Don Flamenco
 
Gnome Mage
 
Llane
[Math] Stat Equivalence and Taylor Series

Theorycrafters spend no small amount of effort on the computation of how much of one stat is equivalent to some specific amount of another, at least in terms of some objective function. However, most of the approaches used are brute-force numeric methods; though most are sound, they are nevertheless approximations. This post will merely demonstrate why these approximations work for small stat changes, in addition to more exact symbolic solutions (that, granted, are also more difficult to work with).

Let us, then, consider some objective function F as a function of all stats and effects \vec{u}. Note that while F is a scalar function, \vec{u} is a vector. In one sense, calling \vec{u} a vector is doing so a bit loosely, but let's go with it.

Now, the idea of computing stat equivalence is based on some original starting point, which we can call \vec{u}_0. We can then call the changes from that point (in terms of stats, procs, etc.) \Delta{\vec{u}}.

What's relevant for the purposes of a stat comparison is a function...

\Delta{F}(\vec{u}) = F(\vec{u}) - F(\vec{u}_0)

Where \vec{u} = \vec{u}_0 + \Delta{\vec{u}}.

A Taylor series expansion would be helpful here: indeed, we can see that everything after the zeroth-order term in a Taylor expansion would neatly yield the value of the function \DeltaF.

However, this is, quite obviously, a multivariable Taylor series. As such it can be written in multi-index notation...

\Delta{F}(\vec{u}) = \sum_{|\vec{\alpha}| \ge 1}\frac{\partial^{\vec{\alpha}}F(\vec{u})}{\vec{\alpha}!}\Delta{\vec{u}}^{\vec{\alpha  }}

Where the notation is consistent with Wikipedia's page on multi-index notation.

I personally prefer something based more on the concept of tensors:

\Delta{F}(\vec{u}) = \sum_{n \ge 1}^{\infty}\frac{F^{\left ( n \right )}(\vec{u})}{n!}\bullet\left(\Delta{\vec{u}}\right)^{n}

Where F^{\left ( n \right )}(\vec{u}) denotes the nth derivative (as a gradient, hessian, and subsequently higher rank tensors), and \Delta{\vec{u}}^{n} \equiv \underbrace{\Delta{\vec{u}} \otimes \Delta{\vec{u}} \otimes \cdots \otimes \Delta{\vec{u}}}_n and \left ( \bullet \right ) stands for the Hadamard product of tensors, which is, in some ways, a generalization of dot product in terms of multiplying corresponding entries of two tensors together.

It should be noted that there are very few functions (that I can think of, anyway) that would have derivatives higher than second-order for any single stat, and for the most part, anything beyond the first-order could be ignored--in essence, this is the foundation for most approximations we see: linear approximations of the function \Delta{F}.

An Example: Damage and Crit for Casters

At any rate, this is all a bit esoteric, so perhaps it's good to see an example in practice:

Consider an expected damage/cast function E(\vec{u}) = hq(m+rd)(1+bc). In considering a simple example, most of the variables are irrelevant; we'll only look at a two-variable case, where \Delta{\vec{u}} = \Delta{d}\hat{d} + \Delta{c}\hat{c} (which represent a change in +damage and crit chance, respectively).

In this case, all we need to calculate \Delta{E} is...

\Delta{E}(\vec{u}_0+\Delta{\vec{u}}) = E^{\prime}\bullet\Delta{\vec{u}} + \frac{1}{2}E^{\prime\prime}\bullet(\Delta{\vec{u}}\otimes\Delta{\vec{u}})

Since only two variables are changing, we can imagine that this is just a function of two-variables. This is just a cosmetic shortcut: in truth, all we're doing is ignoring irrelevant parts of the gradient (and hessian, and so on) that have to do with variables that aren't changing--that is, with elements that, when put through the Hadamard product, are just going to be multiplied with elements that are zero and won't contribute to the sum.

Thus...

\begin{align} E^{\prime} &= \begin{bmatrix} hq(1+bc)r & hq(m+rd)b \end{bmatrix} \\ E^{\prime\prime} &= \begin{bmatrix} 0 & hqbr \\ hqbr & 0 \end{bmatrix} \\ \Delta{\vec{u}} &= \begin{bmatrix} \Delta{d} & \Delta{c} \end{bmatrix} \\ \Delta{\vec{u}}\otimes\Delta{\vec{u}} &= \begin{bmatrix} (\Delta{d})^2 & \Delta{d}\Delta{c} \\ \Delta{d}\Delta{c} & (\Delta{c})^2 \end{bmatrix} \\ \\ E^{\prime}\bullet\Delta{\vec{u}} &= hq(1+bc)r\Delta{d} + hq(m+rd)b\Delta{c} \\ \frac{1}{2}E^{\prime\prime}\bullet(\Delta{\vec{u}}\otimes\Delta{\vec{u}}) &= hqbr\Delta{d}\Delta{c} \end{align}

Which yields...

\Delta{E}(\vec{u}_0+\Delta{\vec{u}}) = hq(1+bc)r\Delta{d} + hq(m+rd)b\Delta{c} + hqbr\Delta{d}\Delta{c}

Which is exactly what an algebraic expansion would tell you. The benefit, of course, is that this method can be used when algebra would fail.

Application to Stat Equivalence

In terms of stat equivalence, the power of this symbolic method can lead to vast generalizations.

Using the function above, it's pretty easy to show that...

\begin{align} \Delta{E}(\vec{u}_0 + \Delta{d}\hat{d}) &= hq(1+bc)r\Delta{d} \\ \Delta{E}(\vec{u}_0 + \Delta{c}\hat{c}) &= hq(m+rd)b\Delta{c}\end{align}

Using these expressions, we can set the two equal and thus see how much \Delta{d} +damage is equivalent to a given amount of crit chance, \Delta{c} or vice versa.

That is, setting the two expressions equal...

\begin{align} hq(1+bc)r\Delta{d} &= hq(m+rd)b\Delta{c} \\ \Delta{d} &= \frac{\frac{m}{r}+d}{\frac{1}{b}+c}\Delta{c}\end{align}

Which can be converted to raw stats just by considering the rating conversion from crit chance to rating. And the expression can be solved in reverse to find how much crit chance is needed to be equivalent to a given amount of +damage.

These are, however, among the simpliest possible expressions imaginable. Once more than one spell in rotation is considered, they grow much more complicated. It is for this reason that the symbolic generalizations are terribly limited.
 
User is offline.
Reply With Quote
Old 01/04/08, 8:02 AM   #2
 Kaubel
Jack Vettriano > You
 
Kaubel's Avatar
 
Dextor
Tauren Druid
 
<Elitist Jerks>
No WoW Account
I can still kick your ass.
 
User is offline.
Reply With Quote
Old 01/04/08, 8:26 AM   #3
Chuo
Glass Joe
 
Human Warlock
 
Grim Batol (EU)
You got me on the first equation... not good at maths :O
 
User is offline.
Reply With Quote
Old 01/04/08, 9:11 AM   #4
Bolche
Piston Honda
 
Gnome Warlock
 
Cho'gall (EU)
Originally Posted by Muphrid View Post
These are, however, among the simpliest possible expressions imaginable. Once more than one spell in rotation is considered, they grow much more complicated. It is for this reason that the symbolic generalizations are terribly limited.
I think you've said it all ! ;-)

You just can't transform everything to a simple F function. For exemple the warlock dps calculation leads to a differential equation (you need X mana/s to cast your spells -> Y lifetaps to cover it -> you spend some time lifetaping -> you need X2 mana/s -> ...).

But essentially, why bother with complicated (leading to unsolvable ?) equations, when you just can calculate F(\vec{u}) and F(\vec{u}_0) and thus find \Delta{F}(\vec{u}) ?
 
User is offline.
Reply With Quote
Old 01/04/08, 10:36 AM   #5
Merple
King Hippo
 
Merple's Avatar
 
Merple
Undead Priest
 
No WoW Account
I don't even know how to use the math systems here at EJ, but I'm wondering if I was the only person whose first response to this post was to post something along the lines of ...


I wish I understood the math behind half of the things that go on in this game or at least _what_ math is behind it, but I can’t even fathom it.
Damn you, arts background.

-In our country, any CBC reporter can dream of becoming head of state.
 
User is offline.
Reply With Quote
Old 01/04/08, 12:42 PM   #6
SeanDamnit
Piston Honda
 
SeanDamnit's Avatar
 
Draenei Paladin
 
Ner'zhul
I dare you to post this on the official forums.
 
User is offline.
Reply With Quote
Old 01/04/08, 12:57 PM   #7
Uglesh
Piston Honda
 
Orc Warrior
 
Bonechewer
Was I the only person who quickly scrolled to the bottom of his post when I saw he was using a function F and a vector u to make sure I didn't waste 5 minutes reading that his equation would wind up being some math nerd joke?? I was just waiting to see variables C or K.

Oh i'll never forgive my algebra teacher for that wonderful "= R D R R "
 
User is offline.
Reply With Quote
Old 01/04/08, 1:19 PM   #8
Delita
Von Kaiser
 
Blood Elf Paladin
 
Sargeras
eh, F and u are pretty common. F is the general function notation and u can be the x component of a vector or more commonly a vector itself defined by the i, j and k directions. But no, I did the same thing ><'.
 
User is offline.
Reply With Quote
Old 01/04/08, 1:28 PM   #9
Ozzmar
Don Flamenco
 
Ozzmar's Avatar
 
Troll Rogue
 
Eldre'Thalas
Originally Posted by Uglesh View Post
Oh i'll never forgive my algebra teacher for that wonderful "= R D R R "
I guess my algebra teacher never explained that one to us... Care to enlighten the ignorant?
 
User is offline.
Reply With Quote
Old 01/04/08, 1:33 PM   #10
andastra
Don Flamenco
 
Human Mage
 
Kilrogg
Originally Posted by Ozzmar View Post
I guess my algebra teacher never explained that one to us... Care to enlighten the ignorant?

I think it's meant to be read "Hardy Har Har".
 
User is offline.
Reply With Quote
Old 01/04/08, 2:14 PM   #11
Tinweasele
Von Kaiser
 
Night Elf Druid
 
Firetree
If you would be so kind as to post a key for your "simple" equation that would be nice.
 
User is offline.
Reply With Quote
Old 01/04/08, 2:32 PM   #12
Muphrid
Don Flamenco
 
Gnome Mage
 
Llane
Originally Posted by Bolche View Post
I think you've said it all ! ;-)

You just can't transform everything to a simple F function. For exemple the warlock dps calculation leads to a differential equation (you need X mana/s to cast your spells -> Y lifetaps to cover it -> you spend some time lifetaping -> you need X2 mana/s -> ...).
It's interesting you say that; what the series shows is that you don't need to know the original function to calculate the change in DPS. You only need the first and subsequent derivatives.

But essentially, why bother with complicated (leading to unsolvable ?) equations, when you just can calculate F(\vec{u}) and F(\vec{u}_0) and thus find \Delta{F}(\vec{u}) ?
It's really just more of a reminder that most ways of computing stat equivalence rely on some approximation of what is ultimately this Taylor series. A simple way to calculate the value of a stat compared to another might be to consider how much dps 1 of each stat gives and just use a linear approximation to project how much dps an arbitrary amount of those stats would yield. Indeed, many stats are linear, and thus this is exact. Some stats, however, are not linear--resilience and agility, for example. Any combination of linear stats is not linear but second-order. Granted, in both cases, the second-order terms are typically negligible for small stat changes, but it does help to remember than in such cases, it is an approximation, and it does get progressively worse as larger stat changes are considered.

But, even a simple spreadsheet can outperform such an analysis for all practical purposes. Beyond being a theoretical curiosity, though, the Taylor expansion--and the utter intractability of even most simple functions when expanded--tells me one thing: that Blizzard haven't a clue what they're doing. It's their job to balance classes not just now but at a wide range of gear levels. I didn't even get into optimization over a given boundary curve (which would be the item point allocation function), but it's clear it would be nigh on impossible to do.

Originally Posted by Tinweasele View Post
If you would be so kind as to post a key for your "simple" equation that would be nice.
How do you mean?
 
User is offline.
Reply With Quote
Old 01/04/08, 4:33 PM   #13
PSGarak
Bald Bull
 
PSGarak's Avatar
 
Undead Warlock
 
Hyjal
I think he means identifying the variables h, \, q, \, m, \, r, \, d, \, b, and c in your equation. Looks to me like hit, haste, base damage, coefficient, damage from gear, crit damage bonus, and crit chance respectively.

Question: Why you are using a fully multivariable Taylor product instead of just taking partial derivatives with respect to various variables? It seems to me that the reason you would use the more complex operation, the interaction between various partials, is immediately being ignored when you ignore the complicated parts of the formula. In fact, taking the partials of E(\vec{u}) = hq(m+rd)(1+bc)with respect to b and c and setting up a ratio gives the exact same result, \frac{(\frac{m}{r}+d)}{(\frac{1}{b}+c)}, in this case. Under what circumstances would this not be the case?

Also regarding your initial hypotheses: proc-based uptimes (like flurry and improved shadowbolt) tend to have n-order polynomial sections, where n is the number of charges on the proc, 3 and 4 in those cases, so there are cases with very important higher-order derivatives. I'm trying to come up with exponential or logarithmic functions and can't, but I wouldn't be surprised to see exponential decay towards a cutoff.

EDIT: Apparently on forums $ does not automagically create LaTeX formatting -_-.

Last edited by PSGarak : 01/04/08 at 4:38 PM.

 
User is offline.
Reply With Quote
Old 01/04/08, 5:31 PM   #14
Muphrid
Don Flamenco
 
Gnome Mage
 
Llane
Originally Posted by PSGarak View Post
I think he means identifying the variables h, \, q, \, m, \, r, \, d, \, b, and c in your equation. Looks to me like hit, haste, base damage, coefficient, damage from gear, crit damage bonus, and crit chance respectively.
Yeah, only difference being q represents flat damage multipliers instead of haste--this being a damage per cast (and not a DPS) function.

Question: Why you are using a fully multivariable Taylor product instead of just taking partial derivatives with respect to various variables? It seems to me that the reason you would use the more complex operation, the interaction between various partials, is immediately being ignored when you ignore the complicated parts of the formula. In fact, taking the partials of E(\vec{u}) = hq(m+rd)(1+bc)with respect to b and c and setting up a ratio gives the exact same result, \frac{(\frac{m}{r}+d)}{(\frac{1}{b}+c)}, in this case. Under what circumstances would this not be the case?
I'm not sure I understand what you mean.

\begin{align}\frac{\partial{E}}{\partial{b}} &= hq(m+rd)c \\ \frac{\partial{E}}{\partial{c}} &= hq(m+rd)b \end{align}

The ratio is just \frac{b}{c} or its inverse.

How is "just taking partial derivatives" different from the Taylor series as a whole?

Also regarding your initial hypotheses: proc-based uptimes (like flurry and improved shadowbolt) tend to have n-order polynomial sections, where n is the number of charges on the proc, 3 and 4 in those cases, so there are cases with very important higher-order derivatives. I'm trying to come up with exponential or logarithmic functions and can't, but I wouldn't be surprised to see exponential decay towards a cutoff.

EDIT: Apparently on forums $ does not automagically create LaTeX formatting -_-.
I would be highly, highly surprised if Blizzard had anything remotely resembling exponential growth or decay in any of their mechanics. They don't seem to be that smart.

I think ultimately any theoretical model of such effects will be too woefully simplistic. You need an average rate of consumption to compare against the rate of reapplication.
 
User is offline.
Reply With Quote
Old 01/04/08, 6:09 PM   #15
Sepulture
Piston Honda
 
Night Elf Warrior
 
Arathor
Originally Posted by SeanDamnit View Post
I dare you to post this on the official forums.
You really should. You should also provide a link. The entertainment value would be priceless.
 
User is offline.
Reply With Quote
Old 01/04/08, 6:15 PM   #16
Muphrid
Don Flamenco
 
Gnome Mage
 
Llane
The loss of LaTeX would just take all the wind out of it, though.
 
User is offline.
Reply With Quote
Old 01/04/08, 6:29 PM   #17
BaelehShmot
Glass Joe
 
BaelehShmot's Avatar
 
Human Mage
 
Moonrunner
When doing this type of analysis you should mention that higher order derivatives can be ignored if they are much smaller than lower order derivatives (e.g. a factor of ten). If this is not true then your Taylor's analysis is woefully wrong.
 
User is offline.
Reply With Quote
Old 01/04/08, 6:53 PM   #18
Muphrid
Don Flamenco
 
Gnome Mage
 
Llane
Originally Posted by BaelehShmot View Post
When doing this type of analysis you should mention that higher order derivatives can be ignored if they are much smaller than lower order derivatives (e.g. a factor of ten). If this is not true then your Taylor's analysis is woefully wrong.
I did note that usually the higher-order derivatives are negligible. I wasn't aware that a factor of 10 would be a good rule of thumb, though, thanks.
 
User is offline.
Reply With Quote
Old 01/04/08, 8:33 PM   #19
PSGarak
Bald Bull
 
PSGarak's Avatar
 
Undead Warlock
 
Hyjal
Originally Posted by Muphrid View Post
The ratio is just \frac{b}{c} or its inverse.

How is "just taking partial derivatives" different from the Taylor series as a whole?
That's what I was asking you. Your explanation has a lot to do with, e.g., matrices of operators which seems like a lot of extra work to go through if the result is just as simple as taking the first partials with respect to damage and crit. Partial derivates are incredibly easy to perform and understand; multivariable taylor series seems like a lot of extra theoretical and computational work. Multivariable calculus isn't my specialty so I'm wondering if there is any (or any important) information that is being lost, either in general or in this specific example, by avoiding that whole discussion on Taylor series and simply saying "now we use calculus to see how your damage changes with crit." And, if there is extra information there, does it really matter? Since all we're looking at is how your damage is affected by extra stat points, which on the surface would seem to be the first partials, without anything to do with Taylor series in general.
Originally Posted by Muphrid View Post
I would be highly, highly surprised if Blizzard had anything remotely resembling exponential growth or decay in any of their mechanics. They don't seem to be that smart.
Well not on purpose, I mean by accident. [Darkmoon Card: Wrath], for example, is written using entirely additive properties but it's affect on crit is a geometric series and its affect on, for example, ISB uptime could very well end up being exponential decay if there isn't a stack limit. As another example, crit on a warrior gives flurry, both of which give rage allowing more specials which have further chance to crit. I don't know if that's a high-order polynomial or an exponential function, but the point is that without intending to their simplistically-designed primary effects can have more complex behavoirs.
On the other hand some of them also have simpler solutions. For example, re: aff warlock nuke measure mentioned above, is not a differential function, it's a recurence relation with a pretty simple closed-form solution. It does happen to be a fraction of various intermediate variables so it might be a bitch to derivate but the stated form isn't as hard.

(Without having tried) I actually don't think that modelling most classes is honestly that hard, except for hidden cooldowns (boooo enh shamans). For example a fire mage 8-1 cycle is just a weighted average of two of your equations above with different numbers, which will probably result in just another equation of the same form with different numbers. The harder ones are piecewise functions, like what a warrior does with more rage as they start butting up against cooldowns. And if all you need are first partials the derivatives are cake.

I was honestly expecting a lot more symbolic computation when I first came to these boards and I was really dissapointed when I found a bunch of brute-force spreadsheets and no calculus =P. Apparently I'm lonelier than I originally anticipated in seeing scaling information easier with raw equations than numerical tables.

 
User is offline.
Reply With Quote
Old 01/04/08, 8:49 PM   #20
 Aldriana
Super Macho Man
 
Night Elf Rogue
 
Proudmoore
Originally Posted by PSGarak View Post
That's what I was asking you. Your explanation has a lot to do with, e.g., matrices of operators which seems like a lot of extra work to go through if the result is just as simple as taking the first partials with respect to damage and crit. Partial derivates are incredibly easy to perform and understand; multivariable taylor series seems like a lot of extra theoretical and computational work. Multivariable calculus isn't my specialty so I'm wondering if there is any (or any important) information that is being lost, either in general or in this specific example, by avoiding that whole discussion on Taylor series and simply saying "now we use calculus to see how your damage changes with crit." And, if there is extra information there, does it really matter? Since all we're looking at is how your damage is affected by extra stat points, which on the surface would seem to be the first partials, without anything to do with Taylor series in general.
Honestly, that was my first thought when reading this thread as well. I mean, it all looks very impressive and is an admirable display of rigor; but I don't see it really allows us to do anything that we weren't already doing. I suppose it does tell us how to get more accurate models by adding higher derivatives, but most of these functions are either trivial and adequately described by the first order approximation, or so insanely messy that taking a 2nd derivative is impractical and not necessarily particularly more accurate anyway.

I'm not trying to be critical, but I guess I'm failing to see the advantage of looking at it in this way.
 
User is offline.
Reply With Quote
Old 01/04/08, 9:00 PM   #21
Muphrid
Don Flamenco
 
Gnome Mage
 
Llane
Originally Posted by PSGarak View Post
That's what I was asking you. Your explanation has a lot to do with, e.g., matrices of operators which seems like a lot of extra work to go through if the result is just as simple as taking the first partials with respect to damage and crit. Partial derivates are incredibly easy to perform and understand; multivariable taylor series seems like a lot of extra theoretical and computational work. Multivariable calculus isn't my specialty so I'm wondering if there is any (or any important) information that is being lost, either in general or in this specific example, by avoiding that whole discussion on Taylor series and simply saying "now we use calculus to see how your damage changes with crit." And, if there is extra information there, does it really matter? Since all we're looking at is how your damage is affected by extra stat points, which on the surface would seem to be the first partials, without anything to do with Taylor series in general.
For individual stats, in this particular example, all the non-mixed second partials are zero, so no, there is no lost information in this particular example. In other words, the Taylor series simply terminates after the first-order term.

For any combination of stats, however, and for certain stats (again, agility, resilience, and shadow damage with Imp. Shadow Bolt dependence on crit), the second (and perhaps subsequent) partials are non-zero.

Really, a Taylor series is only comprised of a few parts: the relevant partial derivative, the 1/n! factor that is derived from combinatorics, and some mixture of the elements of ∆u.

In the past, I've used many ways to try to calculate ∆E for given values of ∆u. Simple algebra works great, even with the complications involved when you correct the model for resilience. Integrating the gradient over path works well enough (a play on the fundamental theorem of calculus). Using a Taylor series also works. These are all equivalent methods of calculating the 100% correct symbolic answer.

However, what using a Taylor series does is give you a very quick linear approximation: you just chop off all terms higher than second-order.

Well not on purpose, I mean by accident. [Darkmoon Card: Wrath], for example, is written using entirely additive properties but it's affect on crit is a geometric series and its affect on, for example, ISB uptime could very well end up being exponential decay if there isn't a stack limit. As another example, crit on a warrior gives flurry, both of which give rage allowing more specials which have further chance to crit. I don't know if that's a high-order polynomial or an exponential function, but the point is that without intending to their simplistically-designed primary effects can have more complex behavoirs.
I wouldn't say the Wrath card's effects are geometric: it operates on a simple principle of adding crit chance.

What really saddens me is that the type of functions we're dealing with--whether they're exponential, polynomial, or otherwise--is never immediately obvious. It never is with Blizzard.

On the other hand some of them also have simpler solutions. For example, re: aff warlock nuke measure mentioned above, is not a differential function, it's a recurence relation with a pretty simple closed-form solution. It does happen to be a fraction of various intermediate variables so it might be a bitch to derivate but the stated form isn't as hard.

(Without having tried) I actually don't think that modelling most classes is honestly that hard, except for hidden cooldowns (boooo enh shamans). For example a fire mage 8-1 cycle is just a weighted average of two of your equations above with different numbers, which will probably result in just another equation of the same form with different numbers. The harder ones are piecewise functions, like what a warrior does with more rage as they start butting up against cooldowns. And if all you need are first partials the derivatives are cake.
For the most part, I don't think there is a whole lot of difficulty deriving close-form expressions for modeling purposes once given conclusive data and knowledge of how the mechanics work. The problem is that we don't know how all mechanics work and some of the testing required to determine how they work is quite, well, ridiculous.

One thing I would mention, however, is combustion. Trying to model the average benefit of combustion has eluded me, mostly because of the interaction with the cap. At present, most mage theorycrafters I know use a model derived from a simulation.

I was honestly expecting a lot more symbolic computation when I first came to these boards and I was really dissapointed when I found a bunch of brute-force spreadsheets and no calculus =P. Apparently I'm lonelier than I originally anticipated in seeing scaling information easier with raw equations than numerical tables.
No kidding. I only learned yesterday that the board supported LaTeX; it was that that allowed me to make this post (which I had planned for some time, just for a loss as to where best to put it).
 
User is offline.
Reply With Quote
Old 01/04/08, 9:24 PM   #22
galzohar
Bald Bull
 
Blood Elf Paladin
 
Darksorrow (EU)
The fact is, in practice, for a realistic increase of 1 stat (from say, 1 item upgrade or some well-fed buff), has an extremely small effect on the value of other stats that you can just ignore it.

For example if you go to lieuler's spreadsheet, look at the extra dps increase from 10 spell dmg, then the extra dps increase from 10 crit rating, then the dps increase from both 10 dmg and 10 crit rating, you'll see a negligible difference between adding the "benefit from 10 dmg" with the "benefit from 10 crit rating" to what you actually get on the spreadsheet by adding both. That's again, becuase a small change of stats simply doesn't have any even nearly-meaningful effects on the value of stats. You need quite a big change of stats for the value of stats to actually change, in which case you just go to the spreadsheet again and enter your new stats. In reality those kinds of changes happen once in a long time considering the rate at which you get raiding upgrades.
 
User is offline.
Reply With Quote
Old 01/04/08, 9:46 PM   #23
 Disquette
Nerodin's Elitist
 
Disquette's Avatar
 
Goodtimes
Human Rogue
 
No WoW Account
Originally Posted by Muphrid View Post
For the most part, I don't think there is a whole lot of difficulty deriving close-form expressions for modeling purposes once given conclusive data and knowledge of how the mechanics work.
So you haven't looked at enhancement shaman mechanics, I can tell. Each time someone has talked about making closed form expressions for class dps, and how easy it would be, they have been stumped on Enhance shaman mechanics. Tornhoof has a pretty good version at this point, I think. But we have no way to test to see how accurate it is. Blizzard should give us target dummies that act like raid level bosses, imo.

The problem is that we don't know how all mechanics work and some of the testing required to determine how they work is quite, well, ridiculous.
Absolutely true.

Or, we know how the mechanics work, and they're dumb. Expertise, for instance.

Let's say I know the partial derivative of Dd/De (damage with respect to expertise). For enhance shaman, by the way, this is an incredibly hard derivative to find, but pretend it were easy. Since blizzard has made expertise only useful when a multiple of 4 expertise rating is achieved, you now have to express Dd/De as a function of your currently level of expertise.

If I have to choose between using an item with 11 expertise rating and 0 attack power, or one with 28 attack power and 0 expertise rating, I can't do so without knowing my current expertise rating. For these purposes, assume that without this stair step insanity that Blizzard uses, 3AP = 1 Expertise rating, which is about right for Enhance Shaman).

If I currently have 0 expertise rating, then the first item would only give me 8 expertise rating worth (since any expertise rating that doesn't get me to a multiple of 4 is wasted). So, my choices are:

8 e.rating x 3gear-goodness/e.rating = 24 gear goodness
compared to
26 AP x 1 gear-goodness/ap = 26 gear goodness.

Aha! I should pick the second item, as it's a clear winner.

But wait, if I already have 5 expertise rating... well now 5 + 11 = 16, which is evenly divisible by four, so all 11 points of expertise rating on the item are providing benefit. The equations change!

11 e.rating x 3gear-goodness/e.rating = 33 gear goodness
compared to
28 AP x 1 gear-goodness/ap = 28 gear goodness.

Aha! I should pick the first item, as it's a clear winner.

/facepalm

Why Blizzard would do this is a mystery.
 
User is offline.
Reply With Quote
Old 01/04/08, 9:53 PM   #24
 Arawethion
Sentient Hyper-Optimized Data Access Network
 
Arawethion's Avatar
 
Tauren Druid
 
Mal'Ganis
Originally Posted by Muphrid View Post
For individual stats, in this particular example, all the non-mixed second partials are zero, so no, there is no lost information in this particular example. In other words, the Taylor series simply terminates after the first-order term.

For any combination of stats, however, and for certain stats (again, agility, resilience, and shadow damage with Imp. Shadow Bolt dependence on crit), the second (and perhaps subsequent) partials are non-zero.
Yeah, Mage isn't the greatest example here, since essentially everything is linear. On the other hand, it's actually simple enough to model, and since this is just about mathematical fun anyway, I guess that makes it the best candidate to mess around with.

Int has a slight quadratic term for deep Arcane, I guess.

If the main goal is to get people to properly think more in terms of marginal DPS per stat, maybe a nice post just explaining things at the linear level would be nice.

Also, you might be interested in this:
http://elitistjerks.com/f31/t14250-m...ell_selection/

Answers to Moonkin questions:
0) Read the TTT/use the spreadsheet: http://elitistjerks.com/f47/t66856-moonkin_pve_dps/
1) Maintain high DoT uptime. Use WiseEclipse.
2) Nothing beats 2T8.
3) Sometimes you cast many Wraths and no Eclipse procs. Deal with it.
 
User is offline.
Reply With Quote
Old 01/04/08, 11:06 PM   #25
PSGarak
Bald Bull
 
PSGarak's Avatar
 
Undead Warlock
 
Hyjal
Aha, I see what you're doing. You're using the first Taylor term (the first partials) as an approximation of the change with respect to an arbitrary change in statistics across all of \vec{u}. It's the Taylor series itself that loses information compared to other methods of multivariable differentiation. I for some reason thought the Taylor series was exact and the first partials were an approximation of it.

Combustion and darkmoon wrath are almost the same effect. The part that's a geometric series is the average crit chance it gives, because the benefit it gives affects the chance of it getting consumed. Combustion is more convoluted because it's three crits rather than one, making it a maddening mess of inclusion-exclusion terms.

Disquette: how much of shaman calculational bullcrap comes down to the windfury cooldown? That seems like about the only thing that would hard, except that the amount of hard that it is overshadows about anything else I've seen in the game and it's fundamental to just about every part of their DPS (eg UR uptime).


Also, re: two-cycle theorem, I realized (after learning the relevent mathematics) that the theorem is only valid if you allow fractional cycles (eg 20 and 2/3 8xfireball 1xscorch cycles). If you're looking for whole cycles it's an integer program instead of a linear program, so the optimal point may be nowhere near any vertex (much less the linearly optimal one). Nuts to that. It also becomes \mathbb{NP}-complete to compute.

 
User is offline.
Reply With Quote
Reply

Go Back   Elitist Jerks > Public Discussion > Class Mechanics

Thread Tools


Similar Threads
Thread Thread Starter Forum Replies Last Post
Stat Conversion Nite_Moogle Theorycrafting Think Tank 1 08/31/09 3:06 PM
[Math] Proc Math The Grog Class Mechanics 3 06/21/07 5:49 PM
[Warrior]Ratings Equivalence Opposite Class Mechanics 7 04/23/07 9:21 PM
Healadins, how do you value each stat? Morthis Class Mechanics 33 04/03/07 5:25 AM