Some preliminary conclusions concerning avoidance in 3.2

Warning: Theorycraft inside.

Moderators: Fridmarr, Worldie, Aergis, theckhd

Re: Some preliminary conclusions concerning avoidance in 3.2

Postby majiben » Fri Jul 10, 2009 11:38 am

Image

How dare they try to make a balanced game :-p
Amirya wrote:some bizarre lovechild of Hawking, Einstein, and Theck
User avatar
majiben
Moderator
 
Posts: 6999
Joined: Fri Aug 22, 2008 4:37 pm
Location: Retired

Re: Some preliminary conclusions concerning avoidance in 3.2

Postby jere » Fri Jul 10, 2009 11:56 am

In this case, they actually made the theorycraft slightly easier. Having different rating conversions actually changed the crossover point equations in a more difficult fashion. Mind you it wasn't that much more difficult, but 3.2 simplified some of the equations, at least from a differential analysis perspective.
Image
User avatar
jere
 
Posts: 2960
Joined: Fri May 11, 2007 5:12 pm

Re: Some preliminary conclusions concerning avoidance in 3.2

Postby theckhd » Fri Jul 10, 2009 12:15 pm

** Wow, a lot's happened in this thread since I started typing this post a few hours ago. Hopefully this post is still worth the time I spent on it **

jere wrote:Out of curiosity, have you though about how the results look when taking defense in integer steps? Converting from defense rating to defense skill seems to happen in integer values (at least from what we have seen so far).

A poster over at tankspot has gone through that and seems to have found that it is ultimately better not to stack defense at all due to the effects of the stairstep effect of the conversion. I will be honest and say I haven't looked through it thoroughly myself, but it might be something to consider and at least check out. The link for the first post is http://www.tankspot.com/forums/f14/5240 ... post251383 but there are other posts after that too. I pointed him over here as well.

So my question to you is if you can compare your proposed ratio, but take into consideration the stair step effect and see how it compares to simply keeping your dodge=1.875parry while not stacking defense at all.

That was a very interesting read. I had completely overlooked that my code wasn't taking into account the stepped nature of defense.

A simple change of
Code: Select all
def_skill = defense.*defense_rating_to_skill;

to
Code: Select all
def_skill = floor(defense.*defense_rating_to_skill);

reveals some subtleties that the initial analysis missed.

The plot of Raw Avoidance vs. Rating value remains unchanged, for the most part. The defense curve becomes a stepped function, but its granularity is so small to be indiscernible on the plot.

On the other hand, the contribution plots look very different. We'll skip the raw ones, and just look at the one with a base of 689 defense rating:
Image
It's pretty hard to see what's going on in this graph, so let's zoom in:
Image
The value of 8 defense rating keeps toggling between a low and a high value, for exactly the reason that Xenix pointed out. The cases where it's high are scenarios where we have some wasted defense rating, and adding 8 more bumps us up by 2 defense skill. The cases where it's low are when we're not wasting much defense rating, and adding 8 points will only give us 1 defense skill (and thus add some wasted rating). The difference between his analysis and mine is that the thresholds are less stringent; he's limiting his numbers to when we have less than 10% wasted rating, whereas this plot of mine is a threshold of around 37% (2 defense skill is 9.837 rating, 9.837-8=1.837 "wasted" rating, 1.837/4.9185=0.3735 or 37%).

In any event, this changes how the search algorithm works. Since it now sees defense as a weaker stat, it won't try and raise it. In fact, due to the stepwise nature, those next 8 points of defense will always seem worse, and the algorithm will just add dodge and parry in a the 1.877:1 ratio:
Image
The result is the same as before: Stack 16 parry rating, and then stack dodge and parry in a 1.877:1 ratio (the 3:2 number I gave in the last post was a little inaccurate, it forgot to subtract out that 16 parry rating, which isn't even optimal itself). The bottom plot shows that as we increase dodge and parry, the "low" value of defense drops even further, ensuring that the algorithm never picks it.

-----------------------
Lengthy Aside (skip this if you're not interested in why algorithms can fail): This is actually a common pitfall of multidimensional search algorithms. It's entirely possible to find yourself in a position where the algorithm's design "tricks" you into an incorrect answer. In this case, the small step size is limiting the algorithm to a local maximum, and preventing it from finding a higher local maximum that's just out of range.

In layman's terms, think of it this way: You're standing next to a hill that's the shape of a perfect doughnut, a few hundred meters in diameter. Your search algorithm is to look one step (~ half a meter) in each direction, and then move in the direction that gives you the largest change in elevation (i.e. always move uphill as fast as possible). Starting from the outside of the hill, you'll climb to the top, and then end up going around the doughnut forever (provided you consider no change in elevation to be better than going downhill). In other words, your algorithm tells you that this picture describes the lay of the land:
Image
However, your algorithm is blind to anything that's more than a few steps away. So if there's a larger hill right in the center of the doughnut, you'll never find it. In other words, your algorithm will tell you that the doughnut is the highest point around, when actually the map should look like this:
Image
Oops! Of course, if we had used our eyes rather than blindly follow the algorithm, we might have seen Mt. Everest sitting in the middle of the Appalachians, and tried to head there in spite of the algorithm.

Interestingly, we sidestepped this problem completely in the first version by ignoring the stepwise nature of defense.
------------------------------------

This is the situation we find ourselves in currently. The algorithm is completely ignoring defense due to its integer nature. Xenix noticed this in his own calculations, and decided to "use his eyes" so to speak. More accurately, it looks like he calculated the optimum balance for each number of additional points. I have no doubt that his method will give slightly higher avoidance values than my method just due to this factor alone. The question is how much better his values will be compared to any of the "simple" algorithms.

Just to check, let's simulate the following 4 gearing scenarios and see how they compare:
  1. stop at 689 defense rating, and add only dodge/parry in a 1.877:1 ratio. This method is effectively just keeping the ratio of dodge rating to parry rating constant and equal to 1.877
  2. After 689 defense rating, we add dodge and parry as the algorithm in my last post suggested: dodge to 23.6%, parry to 16.35%, and then dodge:defense:parry in 2.45 : 1.82 : 1 ratios. This method is effectively just keeping the ratio of dodge % to parry % constant, and equal to around 1.877, but done inefficiently due to wasted defense rating.
  3. Xenix's method #1. I estimated the "bump points" on his graph to be around 820, 1060, 1230, and 1430. At these values we bump up to the next efficient value of defense, and keep our dodge:parry ratio at 1.877:1. This is effectively the same as method A (constant dodge rating to parry rating ratio), but without the error in the seek algorithm (i.e. it's smart enough to find the next hill over).
  4. Xenix's method #2. Using the same bump points, but instead of dividing the leftover points strictly 1.877:1, we calculate the optimum split of dodge:parry. This is effectively B (constant dodge % to parry % ratio), but done efficiently.
Note the similarity here: It basically boils down to two different strategies: Keep the ratio of dodge/parry rating equal to 1.877, or keep the ratio of dodge/parry percent (after subtracting out 10% for racials and talents) equal to 1.877.

Image
You can see from the top plot that they're all very close. To make the difference clearer, I've subtracted the avoidance of method A (the strict 1.877:1 dodge:parry ratio that ignores defense) from the other methods in the lower plot. They're all basically the same up until defense comes into play. At that point, both of Xenix's methods (C and D) pull ahead, and the method derived by ignoring the stepwise nature of defense (B) starts toggling back and forth due to efficiency issues. Note that while eventually method B pulls ahead (because it incorporates defense more properly), it takes a lot of rating before it's consistently better than the simpler method A. Additionally, it's strictly worse than C or D for any given amount of additional rating. It's also worth noting that D is always better than C, but the difference is never much larger than 0.001%.

What does all this math mean for us though?
Well, first of all, no matter which of these methods you use, you'll never be much farther off of the optimum than around 0.05% total avoidance, or less than half a gem's worth. So if you pick any one of these methods, you'll be in good shape. It also means that in general you'll be slightly better off keeping the "percentage ratio" (dodge % / parry %) equal to 1.877 than you will if you keep the "rating ratio" (dodge rating / defense rating) equal to 1.877. Since the percentage ratio automatically includes the benefit of defense, it's also a little easier to keep track of.

Most importantly though, this shows that for lower values of total rating points the effect of "wasted" defense rating is larger than the difference between these two strategies, as the blue curve indicates. If you take care to optimize your defense rating, it really doesn't matter which ratio you decide to track, you'll always be within 0.001% avoidance of your best possible value. On the other hand, once you get to higher values, method A starts to fall behind by more than this difference due to the lack of miss contribution from defense.

Practically speaking, we're talking about differences on the order of 3 rating here due to defense inefficiency. Most of us aren't going to have the leeway to gear that accurately, because gems and enchants don't come in such small, convenient increments. As a result, you probably wont' be min-maxing to this level of detail anyway. The question on most people's minds will probably simply be "what should I gem in this slot, dodge or parry?" The simple answer to that question is to aim for a 1.877 ratio of dodge % to parry %. This is effectively the same as keeping the 2.45:1.8:1 dodge:defense:parry ratio I came up with in the previous calculation.

TLDR Summary:
Xenix's method is clearly the best way to optimize your avoidance. It may be difficult to do in practice though, especially when juggling multiple gear sets.
Two close, simple approximations are:
  • At low gear levels ( defense rating + dodge rating + parry rating < 1150 or so), just ignore defense and stack dodge and parry rating in a 1.88:1 ratio.
  • At higher gear levels (defense + dodge + parry > 1150 rating), gear so that your post-DR dodge and parry percentages come out as close to a 1.88:1 ratio as possible. In other words:
    Code: Select all
    (character_sheet_dodge_% - 10) / (character_sheet_parry_% - 10) = 1.88

    This is also equivalent to the algorithm I posted earlier for ratings:
    Theck wrote:
    1. Take current ratings and subtract out 689 def, 96 dodge, and 64 parry
    2. Figure out your current ratio of dodge:def:parry
    3. if one of these is higher than the ideal ratio of 2.4:1.8:1, swap out some of the rating that's above the target ratio for a rating that's below or at the target value.
    4. Recalculate and lather, rinse, repeat.

    Note that this method may result in some "wasted" defense rating, but will also ensure that you're within about 0.075% avoidance of the best possible value you can have without forcing you to worry about exactly how much defense rating you have.
Last edited by theckhd on Sat Jul 11, 2009 5:04 am, edited 1 time in total.
"Theck, Bringer of Numbers and Pounding Headaches," courtesy of Grehn|Skipjack.
MATLAB 5.x, Simcraft 6.x, Call to Arms 6.0, Talent Spec & Glyph Guide 5.x, Blog: Sacred Duty
User avatar
theckhd
Moderator
 
Posts: 7803
Joined: Thu Jul 31, 2008 3:06 pm
Location: Harrisburg, PA

Re: Some preliminary conclusions concerning avoidance in 3.2

Postby Xenix » Fri Jul 10, 2009 12:29 pm

Yep - I was just in the middle of posting something that said basically what you just posted. The only thing to add is that at high gear levels, if you've neglected defense rating completely in favor of dodge/parry (e.g. dodge+parry rating >= defense rating) then you will probably be able to gain a -slight- increase in avoidance by removing some of the dodge/parry and converting it to defense due to the lower DR on miss, even if it results in a suboptimal defense rating value. If you can't swap around your ratings like this, as he said - it only makes a very small difference, just go with his simple approximation.

Also, if you're a DK reading this, you have to take into account that you get tons of parry rating instead of the 5% undiminished parry that other tanks get and include that in your calculations into what is better. (In your case, you'll probably be stuck gemming dodge forever since your strength, and thus parry, will scale with better gear and raid buffs).

(Sexy plots there, by the way).
Kimurellia - Holy/Protection Paladin - Scions of Destiny - Eredar-US
User avatar
Xenix
 
Posts: 244
Joined: Thu Jun 25, 2009 4:56 am

Re: Some preliminary conclusions concerning avoidance in 3.2

Postby jere » Fri Jul 10, 2009 1:00 pm

Just as a note, the ratio comes from the equation:

y_d = (C_d/C_p)*y_p

At least from the algebra in the differential analysis. This comes out to be 88.129021/47.003521 = 1.874945

or simply 1.875 rounded to 3 decimal places.

Assuming the numbers for C_d and C_p at EJ are accurate of course.

I apologize for the nitpick there, but wanted to get the number right.

EDIT: Or 1.88 is fine as well
Image
User avatar
jere
 
Posts: 2960
Joined: Fri May 11, 2007 5:12 pm

Re: Some preliminary conclusions concerning avoidance in 3.2

Postby theckhd » Fri Jul 10, 2009 1:12 pm

Yeah, my value of 1.877 or 1.88 is a numerical evaluation of the slopes in one of the plots. It's bound to have numerical error in it, since it's not the asymptotic limit. On the other hand, it more accurately reflects that the ratio starts out a little higher when you're lower in overall avoidance rating, and then asymptotically drops to the limit you gave.

I'm fine with rounding it properly to 1.87 based on your limit though, it's an easier number to remember.
"Theck, Bringer of Numbers and Pounding Headaches," courtesy of Grehn|Skipjack.
MATLAB 5.x, Simcraft 6.x, Call to Arms 6.0, Talent Spec & Glyph Guide 5.x, Blog: Sacred Duty
User avatar
theckhd
Moderator
 
Posts: 7803
Joined: Thu Jul 31, 2008 3:06 pm
Location: Harrisburg, PA

Re: Some preliminary conclusions concerning avoidance in 3.2

Postby majiben » Fri Jul 10, 2009 1:17 pm

If I recall correctly, there has been no testing to show that the defense is actually stepped. The tooltips are not to be trusted as shown with expertise not actually being stepped. Now testing this is quite time consuming considering the small percentages involved. Just food for thought.
Amirya wrote:some bizarre lovechild of Hawking, Einstein, and Theck
User avatar
majiben
Moderator
 
Posts: 6999
Joined: Fri Aug 22, 2008 4:37 pm
Location: Retired

Re: Some preliminary conclusions concerning avoidance in 3.2

Postby theckhd » Fri Jul 10, 2009 1:18 pm

Xenix wrote:(Sexy plots there, by the way).

Thanks! Nice work over at tankspot, as well.

I should mention one more thing: I tested out some algorithms that bumped defense up to the next "efficiency point" as soon as it was available, and they were consistently worse than method A. So your advice about waiting until your dodge and parry start catching up to defense is spot-on. Trying to hit the next efficiency point too soon actually ends up being sub-optimal.
"Theck, Bringer of Numbers and Pounding Headaches," courtesy of Grehn|Skipjack.
MATLAB 5.x, Simcraft 6.x, Call to Arms 6.0, Talent Spec & Glyph Guide 5.x, Blog: Sacred Duty
User avatar
theckhd
Moderator
 
Posts: 7803
Joined: Thu Jul 31, 2008 3:06 pm
Location: Harrisburg, PA

Re: Some preliminary conclusions concerning avoidance in 3.2

Postby Xenix » Fri Jul 10, 2009 2:03 pm

Testing if defense rating is actually stepped as it appears in the tooltip would be possible, just a pain, like figuring out the miss cap. You'd have to do something like the following:

Find a mob with a 100.0000% chance to hit you (lvl 80 if you are), and stack avoidance such that you have just under a 100.0000% chance to avoid attacks when you have just increased your defense skill by one (both if you considered defense as a step function or continuous). Then, let the mob attack you for a while until he hits you to prove that he can. After, tack on an additional 4 defense rating (not enough to bump up your defense skill), and let him beat on you a couple hundred thousand more attacks or until he hits you once. If he does hit you, defense skill is stepped. If not, it's probably continuous.
Kimurellia - Holy/Protection Paladin - Scions of Destiny - Eredar-US
User avatar
Xenix
 
Posts: 244
Joined: Thu Jun 25, 2009 4:56 am

Re: Some preliminary conclusions concerning avoidance in 3.2

Postby jere » Fri Jul 10, 2009 2:17 pm

If you are intersted, these are the equations you can use to get to the 1.875 ratio if you aren't there (only for dodge and parry):
Image

The ones on the left are for pre-DR avoidance % you are adding, and the ones on the right are rating that you are adding. As an example of how to use them:

Say my character sheet has 23.32% dodge and 18.56% parry. I know since I am a human paladin, that I have both 10% dodge and 10% parry that are not affected by DR. This gives me:

y_d = 23.32-10.00 = 13.32% dodge after DR
y_p = 18.56-10.00 = 8.56% parry after DR

First I check my ratio, the 1.875 ratio would be at 1.875*8.56 = 16.05% dodge after DR. I am lower than that, so that means I should focus on dodge rating for a bit, but for how long? Since my dodge is lower than 1.875*parry, I use the lower equation:

delta_x_d = C_d*k*[1/(1-y_p/C_p) - 1/(1-y_d/C_d)] = 88.129021*.956*[1/(1-8.56/47.003525) - 1/(1-13.32/88.129021)]

delta_x_d = 84.251344*[1.222664 - 1.178053] = 84.251344*0.044611 = 3.76% pre DR dodge or 3.76*45.25019 = 170 dodge rating.

As a check to see if this works: I know that my pre DR dodge percent was 15% (I cheated and specifically chose 13.32% post DR on purpose for this value).

So 15+3.76 = 18.76% pre DR dodge. Running through the DR equation, I have:

1/(1/88.129021 - 0.956/18.76) = 16.05%, which matches the value I found above for the 1.875:1 ratio, so the equation checks out.



EDIT: if you want to see the math behind all that, this is a link to the 3.2 differential analysis I updated a few days ago. I apologize that it isn't a direct link, but google sites doesn't seem to allow that:
http://sites.google.com/site/jerebearst ... ts_3_2.pdf

It's a work in progress, so it isn't in great condition and I had to make quick changes when 3.2 announced this stuff.
Image
User avatar
jere
 
Posts: 2960
Joined: Fri May 11, 2007 5:12 pm

Re: Some preliminary conclusions concerning avoidance in 3.2

Postby theckhd » Fri Jul 10, 2009 6:53 pm

jere wrote:I know since I am a human paladin, that I have both 10% dodge and 10% parry that are not affected by DR.

I think this should be 11.65% dodge that's not affected by DR. 5% base, 5% from talents, and 1.65% from our 90 base agility.

Otherwise the math looks correct though.
"Theck, Bringer of Numbers and Pounding Headaches," courtesy of Grehn|Skipjack.
MATLAB 5.x, Simcraft 6.x, Call to Arms 6.0, Talent Spec & Glyph Guide 5.x, Blog: Sacred Duty
User avatar
theckhd
Moderator
 
Posts: 7803
Joined: Thu Jul 31, 2008 3:06 pm
Location: Harrisburg, PA

Re: Some preliminary conclusions concerning avoidance in 3.2

Postby jere » Fri Jul 10, 2009 7:57 pm

theckhd wrote:
jere wrote:I know since I am a human paladin, that I have both 10% dodge and 10% parry that are not affected by DR.

I think this should be 11.65% dodge that's not affected by DR. 5% base, 5% from talents, and 1.65% from our 90 base agility.

Otherwise the math looks correct though.


Not currently that I can tell.

It's 10% for me at least. I can go all healing gear in prot spec and have exactly 10% dodge.

You don't have 5% base dodge though. It's more like 3.268%. Unless you are saying base dodge goes from 3.268% to 5% in 3.2, which I honestly haven't looked up, so it might well be. (I apologize if the response sounds short, doing mimron atm)

EDIT: On the test realm it is still 10% as well. Just tested.
Last edited by jere on Fri Jul 10, 2009 9:47 pm, edited 2 times in total.
Image
User avatar
jere
 
Posts: 2960
Joined: Fri May 11, 2007 5:12 pm

Re: Some preliminary conclusions concerning avoidance in 3.2

Postby Sabindeus » Fri Jul 10, 2009 8:14 pm

theckhd wrote:[*]At higher gear levels (defense + dodge + parry > 1150 rating), gear so that your post-DR dodge and parry percentages come out as close to a 1.88:1 ratio as possible. In other words:
Code: Select all
(character_sheet_dodge_% - 11.65) / (character_sheet_parry_% - 10) = 1.88



wait, you say post-DR dodge and parry percentages, and then also say character_sheet_dodge which is before diminishing returns. Which should we be using here?
Image
Turn In, an NPC interaction automator - http://wow.curse.com/downloads/wow-addo ... rn-in.aspx
User avatar
Sabindeus
Moderator
 
Posts: 10472
Joined: Mon May 14, 2007 9:24 am

Re: Some preliminary conclusions concerning avoidance in 3.2

Postby jere » Fri Jul 10, 2009 8:30 pm

Character sheet typically refers to the values you see displayed, not the values in the tooltip. The values displayed on the character sheet directly are post DR.

EDIT: here is a pic of me in prot spec but with full healing gear (so no def, extra agility, parry, dodge, etc.):
Image

10% dodge before DR for a human paladin with anticipation talented.
Image
User avatar
jere
 
Posts: 2960
Joined: Fri May 11, 2007 5:12 pm

Re: Some preliminary conclusions concerning avoidance in 3.2

Postby Mithos » Fri Jul 10, 2009 9:27 pm

Epic work, nice one. I may be being silly, but to workout ones ratio, we must subtract the base avoidance which is unaffected by DR? I.e. 10% dodge and 10% parry as mentioned earlier.

Edit: And...sorry for asking and looking the noob, but it's 5 am and I suck at finding things. Is there a thread with this kind of stuff for 3.1 at all still around? I.e. which ratio for dodge and parry. Thanks >.<
Image
Mithos
 
Posts: 728
Joined: Thu Aug 30, 2007 7:54 am

PreviousNext

Return to Advanced Theorycraft and Calculations

Who is online

Users browsing this forum: No registered users and 1 guest

cron

Who is online

In total there is 1 user online :: 0 registered, 0 hidden and 1 guest (based on users active over the past 5 minutes)
Most users ever online was 380 on Tue Oct 14, 2008 6:28 pm

Users browsing this forum: No registered users and 1 guest