Elitist Jerks Disc Priest - Mists of Pandaria

02/19/13, 4:10 PM   #346
Havoc12
King Hippo

Night Elf Priest

Silvermoon (EU)
 Originally Posted by Szeretlek Yeah, I got that in mind too when I already wrote the post, but consider to post it anyway. It should be calculated as derivative of complex function. =(
Not worth the effort IMO. I think adding g to pH/pI will correct it in the right direction even if its not exact. It shouldn't be too big of an error.

Solving

1.33*g*k*(1+0.5M)*(1+F(M)*(1+M)) = (1+(1.33*I*g+baseSP)*k)*(0.5+F(M)*(1.5+M))*1.6*z

F(M)*(1.5+M)*1.6 = (0.4+M*(3+M))/(3.2*(1.5+M))*(1.5+M)*1.6 = (0.4+M*(3+M))/2

1.33*g*(1+0.5M)*(1+F(M)*(1+M)) = (1/k + 1.33*I*g+base SP)*(0.4+M*(3+M))*z/2

1/k+1.33*I*g+baseSP = 2.66*g/z*(1+0.5M)*(1+F(M)*(1+M))/(0.4+M*(3+M))

I = 2/z*(1+0.5M)*(1+F(M)*(1+M))/(0.4+M*(3+M)) - (baseSP+1/k)/1.33/g

since (1+F(M)*(1+M))*(1+0.5M) is just the heal coefficient for the optimal level of crit and mastery from base*(1+0.5M)*(1+C*(1+M),

I = 2/z*heal_coeff_opt/(0.4+M*(4+M) - (baseSP+1/k)/1.33/g

not sure if this is correct I will have to test it. This way g is also restricted to the subtracted factor, which might magnify errors if it makes a big difference.

Last edited by Havoc12 : 02/19/13 at 7:12 PM.

02/20/13, 2:25 AM   #347
Szeretlek
Piston Honda

Troll Priest

Термоштепсель (EU)
 I am not incuding the crit meta, because I assume everyone will be using the legendary one. The 3% value is not going to change anything much.
I include it because I will get new meta after months and I go with 3% on progress.

I think I find slighlty easier way to find pH/pInt for gear (and I really think if we multiply mastery and crit value x2 for gems, it wont ruin anything).

Base idea:

H = H(M,C,SP)

C = C(CR,Int) = CR/60000+0.012+0.05 + Int/255300
SP = SP(Int) = baseSP + Int*1.334
M = M(MR) = 0.13 + MR/60000

p - partial derivative.

pH/pCR = pH/pC * pC/pCR
pH/pMR = pH/pM * pM/pMR
pH/pInt = pH/pSP * pSP/pInt + pH/pC * pC/pInt

Main condition:
pH/pSP * pSP/pInt + pH/pC * pC/pInt = pH/pC * pC/pCR
with pH/pCR=pH/pMR in mind

From main condition we get Int=Int(MP) and calculate it.

Last sentence is easy to calc, but it is very massive. And because of that there can be errors. I dont want to post wall of formulas, let me skip to results:
Int from gear - 19000 (specialization buff only), baseSP = 8000,
MR - mastery rating from gear.
MP - mastery points,
C% - optimized crit rating buffed, int included,
CR - crit rating, that provides you with needed C% with all others crit sources
IntOpt - calculated amount of Int from gear that should be optimal. before that amount 1 Int is more valued then 1 mastery or 1 crit. After that amount - less valued. This is for gear Int only.
CR+MR - obviously rating sum.
```MR	MP	C%	CR	IntOpt	CR+MR
0	13,00	21,37%	4639	36801	4639
250	13,42	21,71%	4839	36276	5089
500	13,83	22,04%	5039	35759	5539
750	14,25	22,37%	5238	35251	5988
1000	14,67	22,70%	5436	34751	6436
1250	15,08	23,03%	5634	34259	6884
1500	15,50	23,36%	5831	33774	7331
1750	15,92	23,69%	6028	33298	7778
2000	16,33	24,02%	6224	32828	8224
2250	16,75	24,34%	6420	32367	8670
2500	17,17	24,67%	6615	31912	9115
2750	17,58	24,99%	6809	31464	9559
3000	18,00	25,31%	7003	31023	10003
3250	18,42	25,64%	7197	30589	10447
3500	18,83	25,96%	7390	30161	10890
3750	19,25	26,28%	7583	29740	11333
4000	19,67	26,60%	7775	29325	11775
4250	20,08	26,92%	7966	28917	12216
4500	20,50	27,24%	8157	28514	12657
4750	20,92	27,56%	8348	28117	13098
5000	21,33	27,87%	8538	27726	13538
5250	21,75	28,19%	8728	27340	13978
5500	22,17	28,50%	8917	26960	14417
5750	22,58	28,82%	9106	26586	14856
6000	23,00	29,13%	9294	26217	15294
6250	23,42	29,45%	9482	25853	15732
6500	23,83	29,76%	9669	25494	16169
6750	24,25	30,07%	9856	25140	16606
7000	24,67	30,38%	10043	24791	17043
7250	25,08	30,69%	10229	24447	17479
7500	25,50	31,00%	10415	24108	17915
7750	25,92	31,31%	10600	23773	18350
8000	26,33	31,62%	10785	23443	18785
8250	26,75	31,92%	10969	23117	19219
8500	27,17	32,23%	11154	22796	19654
8750	27,58	32,54%	11337	22479	20087
9000	28,00	32,84%	11520	22166	20520
9250	28,42	33,15%	11703	21858	20953
9500	28,83	33,45%	11886	21553	21386
9750	29,25	33,76%	12068	21252	21818
10000	29,67%	34,06%	12250	20956	22250```
The more stats you get - the less valued Int become.

Last edited by Szeretlek : 02/20/13 at 2:39 AM.

 02/20/13, 5:02 AM #348 Havoc12 King Hippo   Shaarra Night Elf Priest   Silvermoon (EU) Hmmm, that can't be right, it is the completely the inverse of the result I got. I don't think I could be that far wrong and this result does not make intuitive sense. Lets try going back to the basic principles dF(x,y,z)/dx = pF/px + pF/py*dy/dx + pF/pz*dz/dx, where p/px denotes partial derivative and d/dx denotes total derivative. Thus the spellpower optimization equation is dH/dSP = 0 --> pH/pSP + pF/pMR*dMR/dSP + pF/pCR*dCR/dSP = 0 now pF/pMR = pF/pCR and dMR/dSP = dCR/dSP by default, so pH/pSP = -2pF/pMR*dMR/dSP using H = base*Heal_Coeff we get p(base)/pSP*Heal_Coeff = -2base*p(Heal_Coeff)/pMR*dMR/dSP which leads to base = -1/2*p(base)/pSP*Heal_Coeff*dSP/dMR/( p(Heal_Coeff)/pMR ) now base is entirely SP dependent so this equation determines everything. The only thing that needs to be calculated here is dSP/dMR Looking at this equation it is clear that the nominator is 2nd order for MR, while the denominator is 1st order for MR, and since dSP/dMR must be negative the whole thing will be positive, so the optimal base value and hence the optimal spellpower must increase with stats not decrease. I will solve the equation a little later, once I finish work or someone else can have a crack at it. Last edited by Havoc12 : 02/20/13 at 5:57 AM.
 02/20/13, 5:13 AM #349 Szeretlek Piston Honda   Нищебродка Troll Priest   Термоштепсель (EU) Havoc12, your thought would be right if I need to find total derivative. But I want to find partial derivative of CR, Int and MR. And partial derivative of complex function is: F( a(x), b(x,y)) pF/px = pF/pa * pa/px + pF/pb * pb/px there is no need in total derivative when I calculate partial derivatives. So I think my idea is right, but performing might not =) Ill try to find errors in that wall of formulas -_-
02/20/13, 5:54 AM   #350
Havoc12
King Hippo

Night Elf Priest

Silvermoon (EU)
 Originally Posted by Szeretlek Havoc12, your thought would be right if I need to find total derivative. But I want to find partial derivative of CR, Int and MR. And partial derivative of complex function is: F( a(x), b(x,y)) pF/px = pF/pa * pa/px + pF/pb * pb/px there is no need in total derivative when I calculate partial derivatives. So I think my idea is right, but performing might not =) Ill try to find errors in that wall of formulas -_-
This way your condition is pH/pSP = pH/pCR = pH/pMR, which is not right, that cannot the correct optimisation condition.

The remember that hte optimsation condition we used before for mastery and crit was not pH/pCR = pH/pMR, but rather

pH/pCR = -pH/pMR*dCR/dMR. Because dCR/dMR = -1 due to CR = const - MR we can use the simplified pH/pCR = pH/pMR

Unless you are somehow calculating it indirectly you can't avoid the total derivative because the real optimisation condition for variable x is always dH/dx = 0, the equality of partial derivatives is just a solution of this equation when the two variables scale exactly the same. Your solution must give the same results as mine and just by looking at them you can see that they can't be the same.

when you have spellpower mastery and crit to optimise then 1.33*SP = const - G(MR) - MR, so dSP/dMR = -(1+dG(MR)/dMR)

and this needs to be included in your optimisation equation.

It is not that complicated to solve the formula I posted, since everything in it is easy to calculate separately to find the base and then the base is a linear equation of int.

The equation leads to (1+SP*k) = -1/2*k*Heal_Coeff*dSP/dMR/((1+0.5M*(3+M))*z), since pHeal_coeff/pMR = pHeal_Coeff/pCR = (1+0.5M*(3+M))*z

SP = -1/2*z*Heal_Coeff*dSP/dMR/((1+0.5M*(3+M)) -1/k

and this should accurate

Which I means I was a bit wrong, the nominator is 3rd order in M, while the denominator is 2nd order, but that should still leave us with optimal SP increasing with stats.

SP/1.33 = const-CR-MR needs to be used to calculate dSP/dMR. This is easy since C = F(M), meaning that CR = G(MR)

so dSP/dMR = -(1+dG(MR)/dMR)*1.33, this should not be tough to calculate.

Final formula is SP = 1.33/(2z)*Heal_coeff*(1+dG(MR)/dMR)/(1+0.5M*(3+M)) - 1/k

edit: Fixed the scaling factor

Last edited by Havoc12 : 02/20/13 at 8:04 AM.

 02/20/13, 6:14 AM #351 Szeretlek Piston Honda   Нищебродка Troll Priest   Термоштепсель (EU) Or we can give up and just dont bother with stats distribution. I dont really want to calculate that horror analytical way. I think best way to do it - empirical way. 1) Calculate HealCoeff: (1+0.5*M)*(1+C*(1+M))*(1+k*SP) 2) Add 100 Int, 100 Crit or 100 Mastery, calculate 3 new HealCoeff with raised stats 3) ... 4) PROFIT! Ok. Stop joking: 3) (HealCoeffNEW - HealCoeff)/100 = Stat weight. I think this is most practical way to do it -_- I repeat myself, I dont want to solve it analytical.
 02/20/13, 6:24 AM #352 Havoc12 King Hippo   Shaarra Night Elf Priest   Silvermoon (EU) Already solved it pretty much. I just need to calculate dG/dMR later on and my notation is Heal_Coeff = (1+0.5M)*(1+C*(1+M)) Heal = base*Heal_Coeff. This is important so we don't get confused. I hate looking through long lists by eye, trying to find out what the best spellpower is for each value of mastery/crit. That is really annoying. C = (0.4+M(3+M))/(3.2*(1.5+M)) = F(M) G(CR) = C*z = F(M)*z dG(MR)/dMR = dC/dM*dM/dMR*z = dC/dM*1.6/z*z = dC/dM*1.6 dC/dM = 1/3.2*((3+2M)*(1.5+M) - (0.4+M*(3+M)) )/((1.5+M)^2) = 1/3.2*(2 - (0.4+M*(3+M))/((1.5+M)^2) ) dG/dMR = 0.5*(2 - (0.4+M*(3+M))/((1.5+M)^2) ) edit: Fixed dG/dMR I forgot a z, which was supposed to cancel out things. SP = 1.33/(2z)*Heal_coeff*(1+dG/dMR)/(1+0.5M*(3+M)) - 1/k edit: Fixed the values and now the equation should work better. The variation in heal_Coeff/(1+0.5M*(3+M), turns out to be tiny. This whole thing is effectively a constant. Because this is a complex polynomial its value oscilates and it ends up having a minimum at 47% mastery, then it increases again. Of course 47% mastery is unreachable. ```0.208 1.02308389 0.228 1.019769169 0.248 1.016796925 0.268 1.014149755 0.288 1.011811386 0.308 1.009766591 0.328 1.008001107 0.348 1.006501559 0.368 1.005255394 0.388 1.00425082 0.408 1.003476749 0.428 1.002922747 0.448 1.002578987 0.468 1.002436207 0.488 1.002485667 0.508 1.002719117 0.528 1.003128763 0.548 1.003707234 0.568 1.004447559 0.588 1.005343133 0.608 1.006387701 0.628 1.007575332 0.648 1.0089004 0.668 1.010357561 0.688 1.011941742 0.708 1.013648119 0.728 1.015472106 0.748 1.017409337 0.768 1.019455657 0.788 1.021607106``` As you can see it barely varies at all at relevant values of mastery. The maximum variation is like 2%. The only thing that remains is to properly calculate dG/dMR. I fixed the equation and this is a list for dG/dMR ```0.81707792 0.208 0.809780628 0.228 0.802732381 0.248 0.795921971 0.268 0.789338819 0.288 0.782972923 0.308 0.776814828 0.328 0.770855587 0.348 0.765086731 0.368 0.759500233 0.388 0.75408849 0.408 0.748844286 0.428 0.743760778 0.448 0.738831466 0.468 0.734050176 0.488 0.729411041 0.508 0.72490848 0.528 0.720537186 0.548 0.716292103 0.568 0.712168421 0.588 0.708161553 0.608 0.704267129 0.628 0.700480981 0.648 0.696799131 0.668 0.693217784 0.688 0.689733315 0.708 0.686342261 0.728 0.683041312 0.748 0.679827304 0.768 0.67669721 0.788``` so the strong scaling of spellpower drops relative to the other stats. Using the formula I calculated a list of the optimal values of spellpower, mastery and crit ```Mast Crit SP 0.208 0.195 63807 0.228 0.205 63270 0.248 0.216 62769 0.268 0.226 62303 0.288 0.235 61870 0.308 0.245 61467 0.328 0.255 61094 0.348 0.265 60748 0.368 0.274 60429 0.388 0.284 60134 0.408 0.293 59863 0.428 0.303 59615 0.448 0.312 59387 0.468 0.321 59180 0.488 0.330 58992 0.508 0.340 58823 0.528 0.349 58671 0.548 0.358 58536 0.568 0.367 58416 0.588 0.376 58312 0.608 0.384 58223 0.628 0.393 58147 0.648 0.402 58085 0.668 0.411 58035 0.688 0.420 57998 0.708 0.428 57972 0.728 0.437 57958 0.748 0.445 57954 0.768 0.454 57961 0.788 0.462 57978``` I had tested it using the 2nd value in the list and it's turned out to be 7.7k off the correct value, so I still have an error somewhere. In other words the 2nd value is actually 71k spellpower dropping 100 mastery and ~81 crit and increasing spellpower by ~241 increases healing by 0.03% and doing the opposite i.e. dropping ~241 spellpower and adding 100 mastery and ~81 crit decreases healing by 0.03% with the values in the table. Basically what this tells is that spellpower is always better no matter the gear since, we won't get to these values this expansion and even that value is ~7.7k off the mark. Last edited by Havoc12 : 02/20/13 at 9:11 AM.
 02/20/13, 7:42 AM #353 Szeretlek Piston Honda   Нищебродка Troll Priest   Термоштепсель (EU) Your data very similar to what I get here Disc Priest - Mists of Pandaria And I got optimal SP there nearly constant too. The question is - is that right? I really think now that empirical way - right way.
 02/20/13, 9:12 AM #354 Havoc12 King Hippo   Shaarra Night Elf Priest   Silvermoon (EU) I updated the post above, check again. What you calculated in that post had the correct behaviour because it is exactly what you should get from your approach, which effectively ignores dG/dMR. Adding dG/dMR changes things again, so the drop is a little larger and it does constantly drop, but the values turned out to be much higher that what you calculated. There is still an error there and I will find it, because I am sure it is in the way I calculated dG/dMR. Empirically correcting the formula tells us that the optimal value of intellect is ~70k at reasonable mastery values, so int on gear is always better than mastery and crit. ========================================== Important addition. I used the formula to find out whether 320 mastery is equal to 160 intellect and found that 160 intellect is better than mastery up to 37900 spellpower. Past that point it ends up being better gemming mastery. I did not include reoptimization of mastery and crit, but the effect should be negligible. The order for gems is thus spirit > int > mastery +crit assuming you can use the extra mana. Otherwise spirit is out of the equation. After 37900 spellpower mastery and crit become better than intellect. Last edited by Havoc12 : 02/20/13 at 10:52 AM.
02/20/13, 12:16 PM   #355
Szeretlek
Piston Honda

Troll Priest

Термоштепсель (EU)
 The order for gems is thus spirit > int > mastery +crit assuming you can use the extra mana. Otherwise spirit is out of the equation. After 37900 spellpower mastery and crit become better than intellect.
Yep, this is very close to my result:
 I got another table for gemming, where I compare (2 crit vs 2 mastery vs 1 int) and SP threshold in that situation is near 34500-35000.
our numbers are nearly equal, which is good, but not so good because between my result (35000 sp) and your result (38000 sp) lying 3000 sp.

If you approach to that number from 34k sp and decide switch from Int gems to mastery or crit gems it would be hard to decide when to do it.

I redo all my calculations tomorrow to provide better answer.

And I will try to calculate real haste value.

02/20/13, 1:34 PM   #356
Havoc12
King Hippo

Night Elf Priest

Silvermoon (EU)
 Originally Posted by Szeretlek Yep, this is very close to my result: our numbers are nearly equal, which is good, but not so good because between my result (35000 sp) and your result (38000 sp) lying 3000 sp. If you approach to that number from 34k sp and decide switch from Int gems to mastery or crit gems it would be hard to decide when to do it. I redo all my calculations tomorrow to provide better answer. And I will try to calculate real haste value.
The breakpoint depends on your mastery/crit value, higher mastery/crit suppresses slightly the breakpoint

Mastery: 0.268 crit: 0.225506222 sp 37900, (1+k*SP)*heal_coeff = 6.788799706

remove 320 mastery and add 160*1.33 = 212.8 intellect

mastery 0.259466667, Crit 0.226392888, (1+k*SP)*heal_coeff = 6.788807919

Change: 1.00000121

Mastery: 0.276533333 Crit 0.224619555, (1+k*SP)*heal_coeff = 6.788480925

Change: 0.999953043

If you add another 100 sp to 38000 then the int gem dips below the mastery gem

Crit is the same because these are optimised crit/mastery values.

Doing the same with a higher mastery value and crit gives you a lower sp threshold

For example for mastery 0.288 crit: 0.23541387, the threshold is 35800 sp

Last edited by Havoc12 : 02/20/13 at 1:51 PM.

 02/20/13, 2:14 PM #357 • Hamlet     Hamlet Tauren Druid   Mal'Ganis While I started this whole calculus discussion, I haven't actually had time to review the recent math posts yet. Let me just add that based on my spreadsheet (other thread), I agree with the basic point that seems to be implied in all this, that a crit rating and a half-Int are very similar in value. The only reason I haven't gotten too far into the crit/mastery/Int breakpoint calculus on my own is that the primary factor making one stat better than another isn't the slight scaling effects of your current stats, but rather your spell distribution (PWS favors mastery) and the relative effectiveness of heals vs. aegis (aegis favors crit). Also, if you're looking so simplify analytic discussion of Int scaling: rather than worrying about individual spells, an handy rule of thumb is that the base heal amount is usually/always equal to just about 11,000 times the spellpower coefficient. So you can basically assume that spellpower is additive with a constant base term of 11000 and behaves proportionally otherwise (10,000 might be better figure to use if you want to account for the raid spellpower buff). I put a longer explanation of that here a little while ago: Healing Theory, Part 2: A Tour of Your Character Sheet | It's Dangerous to Go Alone
 02/21/13, 10:58 AM #358 Szeretlek Piston Honda   Нищебродка Troll Priest   Термоштепсель (EU) I tested SS on PTR with various stats, with 3% meta and w/o. It works good (finally) with ±1 precision compared to theory prediction. Without 3% meta gem: SS = AvgHeal * (1+M/2) * (1+C*(1+M)) With 3% meta gem: SS = AvgHeal * (1+M/2) * (1+0.03*C+1.03*C*(1+M)) AvgHeal=Base*(1+k*SP) C = CritChance% M = MasteryPoints*0.016 BEWARE. Tooltips on PTR shows value with mastery healing effect! So you should just use value from tooltip and keep in mind that this is AvgHeal*(1+M/2) or manually calculate AvgHeal with your SP number.
 02/21/13, 12:04 PM #359 • Hamlet     Hamlet Tauren Druid   Mal'Ganis Ah good, I hadn't actually done that test since the mastery change. This also should act as a confirmation that crits work how we thought they should work even outside of SS (a 103% heal and a 103%*(1+M) shield). Just to be clear--you're saying that on PTR, the spell tooltips for heals correctly show the healing they do, including the passive benefit of mastery? That's more or less what we expect from tooltips these days, that they take into account all present buffs.
02/21/13, 1:00 PM   #360
Szeretlek
Piston Honda

Troll Priest

Термоштепсель (EU)
 Just to be clear--you're saying that on PTR, the spell tooltips for heals correctly show the healing they do, including the passive benefit of mastery? That's more or less what we expect from tooltips these days, that they take into account all present buffs.
maybe so =) I just warn you to calculate it right way.

And after we know that SS works correctly -> all analysis that we made works perfectly for SS. So to maximize spirit shell: Int before SP 35-38k (clarification in progress) then Crit and Mastery balanced.

 Elitist Jerks Disc Priest - Mists of Pandaria