Theck's MATLAB thread - Cataclysm/4.x

Warning: Theorycraft inside.

Moderators: Fridmarr, Worldie, Aergis, theckhd

Re: Theck's MATLAB thread - Cataclysm/4.x

Postby theckhd » Sat Sep 25, 2010 11:16 am

About to head off to a movie, so I don't have much time to post. I spent the morning on the priority simulation code, which is almost done. It's functional now, but I want to do some polishing to it.

It currently calculates damage two ways - for one, it recalculates ability_model every iteration and jots down the damage caused by each spell when it fires. The other is more abstract, in that it tracks SD, Inqusition, and every spell that's cast, and at the end generates spell weighting coefficients for each.

The general concept is that once you have the coefficients, your DPS is (coeff*dmg.SpellName) for each spell. The coefficient is basically (casts)/(total time), but modified to account for Inquisition and SD procs.

I prefer the coefficient method because it gives me an easy way to do the stat calculations later on (using the old method). However, there's one big caveat - since ShoR can be avoided, I can't use the coefficients for hit or expertise (because that changes the rotation).

I'm mulling over which damage calculation I prefer - I still think I prefer the coefficient method, since I don't have to re-run the simulation for other stats and it's redundant with the "on-the-fly" calculation if I re-run the simulation anyhow. It's also much faster if I don't run ability_model every iteration, for obvious reasons.

Would like some feedback on this, will check back in after the movie.
"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: 7956
Joined: Thu Jul 31, 2008 3:06 pm
Location: Harrisburg, PA

Re: Theck's MATLAB thread - Cataclysm/4.x

Postby Arianne » Sat Sep 25, 2010 1:15 pm

tlitp wrote:Interested in seeing several data sets on the topic of avoidance DR, conveying both 80ptr and 85beta.
- pure dodge (i.e. no buffs, no gear with agility)
- pure agility (no buffs, no gear with dodge)
- parry
Only character panel info is needed at this time.

EDIT : also include a set of data conveying base values. No buffs, naked, untalented. Fetch base stats (mention race) and base dodge.


Dwarf Paladin level 80 Protection spec'd but only with 3/3 Divinity and 3/3 SotP
No gear:
156 Str
86 Agi
165 Sta
97 Int
104 Spirit
0 armor
2.31% dodge
5% parry
21% block chance

Sta Gear:
1757 Str
128 Agi
4598 Sta
97 Int
104 Spirit
26475 Armor
22.32 Dodge (tooltip says 1209 dodge rating adds 26.72% before DR)
15.47 Parry (tooltip says 539 parry rating adds 11.91% parry before DR)
21% Block chance
Mastery 8 (base mastery, no rating)

Avoidance/Mastery Gear:
1712 Str
158 Agi
4336 Sta
97 Int
104 Spirit
25327 Armor
20.65% Dodge (tooltip says 1039 dodge rating adds 22.96% before DR)
16.39% Parry (tooltip says 596 rating adds 13.17% parry before DR)
38.16% Block
16.58 Mastery (394 rating adds 8.58 mastery)

Ret Gear (no defensive stats - nightmare tear for added int/spirit), no talents or spec choice
1820 Str
496 Agi
2696 Sta
107 Int
114 Spirit
15670 armor
9.64% dodge
5.00% parry
5.00% block


294 Agi - 7.97% dodge
219 Agi - 4.88% dodge
117 Agi - 2.92% dodge

Varying only dodge but not agi or parry
1209 Dodge Rating - 26.72% before DR - 22.32% dodge on char sheet
1141 Dodge Rating - 25.22% before DR - 21.55% dodge on char sheet
1014 Dodge Rating - 22.41% before DR - 20.03% dodge on char sheet
941 Dodge Rating - 20.80% before DR - 19.17% dodge on char sheet
839 Dodge Rating - 18.54% before DR - 17.78% dodge on char sheet
766 Dodge Rating - 16.93% before DR - 16.77% dodge on char sheet
579 Dodge Rating - 12.80% before DR - 13.86% dodge on char sheet * this also has a -10 agi from 1 shifting dreadstone

The only thing that changes when I have an empty talent spec is that my stamina gets reduced and my block rating becomes 5% (because I lose Divine Bulwark).
Arianne
 
Posts: 502
Joined: Wed Jul 11, 2007 1:22 pm

Re: Theck's MATLAB thread - Cataclysm/4.x

Postby Arianne » Sat Sep 25, 2010 1:38 pm

theckhd wrote:That shouldn't be too hard though, I really just need to compare 0/3 to 3/3 and see how much of an increase we get. The other two sets (1/3 and 2/3) are just sanity checks.

Also, try and take note of Censure damage if you could. It scales with SP and AP, so performing the test naked (except for weapon) might be better for that. I think SotP might be affecting Censure based on Kysen's data in another thread, this test would confirm or refute that.


http://www.worldoflogs.com/reports/u67j ... details/9/

This is a log of 5 minute increments of testing of SotP with ~1 minute intervals in between on the Heroic Training Dummy in Exodar on the PTR 9/25/2010. I tried to make sure there was nothing affecting damage on the dummy and some extended pauses were to wait for things to wear off. The dummy appears to be bugged in that Frost Fever does not have a duration and is always present. I dunno if that would cause any issues.

This was done with the same set of gear except for varying weapons.
1: No Talents. Mithrios 271 reforged to have 15 mastery (56 str, 239.4 dps, 111 sta, parry 74, expertise 23, mastery 15).
2: Protection + 3/3 Divinity. Mithrios
3: Protection + 3/3 Divinity. Last Word (250.5 dps, 124 sta)
4: Protection + 3/3 Divinity. Bloodfall (2 hand, 325.8 dps, 175 agi, 251 sta, 60 str, 122 crit strike, 98 haste)
5: Protection + 3/3 Divinity + 1 SotP. Mithrios
6: Protection + 3/3 Divinity + 1 SotP. Last Word
7: Protection + 3/3 Divinity + 2 SotP. Mithrios
8: Protection + 3/3 Divinity + 2 SotP. Last Word
9: Protection + 3/3 Divinity + 3 SotP. Mithrios
10:Protection + 3/3 Divinity + 3 SotP. Last Word (10 minutes)
Last edited by Arianne on Sat Sep 25, 2010 3:07 pm, edited 1 time in total.
Arianne
 
Posts: 502
Joined: Wed Jul 11, 2007 1:22 pm

Re: Theck's MATLAB thread - Cataclysm/4.x

Postby theckhd » Sat Sep 25, 2010 2:09 pm

Thanks. Just looking at parses 3 and 10, it's clear that you get a 15% boost to Censure's tick damage with 3 points in SotP. Myth confirmed!
"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: 7956
Joined: Thu Jul 31, 2008 3:06 pm
Location: Harrisburg, PA

Re: Theck's MATLAB thread - Cataclysm/4.x

Postby Arianne » Sat Sep 25, 2010 3:07 pm

Need anything else?
Arianne
 
Posts: 502
Joined: Wed Jul 11, 2007 1:22 pm

Re: Theck's MATLAB thread - Cataclysm/4.x

Postby theckhd » Sat Sep 25, 2010 3:15 pm

Arianne wrote:Need anything else?

More time to code! :P
"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: 7956
Joined: Thu Jul 31, 2008 3:06 pm
Location: Harrisburg, PA

Re: Theck's MATLAB thread - Cataclysm/4.x

Postby theckhd » Sat Sep 25, 2010 3:59 pm

Just committed what is likely the "final" version of prio_sim, as far as framework is concerned. I abandoned the "on-the-fly" damage calculations - they gave me no more flexibility than the post-processing versions and slowed the simulation down significantly.

The sample queue seems to be giving good results. A simulation of one hour of combat (36000 timesteps of 0.1s each) gives me consistency within +/- 10 DPS for each ability in the queue, and only takes roughly 10 seconds on my laptop. It should scale mostly linearly, so a 5-hours simulation should only take about a minute. Obviously it'll all be faster on a faster machine.

I have a raid tonight and want to try and spend some time on the beta before that. I'll try and find some time tomorrow to continue coding. Here's where we're going next:

1) I'd like one or two people to check the prio_sim code for consistency. Read over it and see if it makes sense, ask questions about how it works, run it and see if the results are sensible. I didn't comment it as well as I would like, but it should be fairly obvious what's going on.

2) We need to nail down the ability_module code to make sure it's spitting out reasonable ability damages. I plan on defining a default gear set comprised of the tanking gear on the lvl 85 premades on beta - using this and no buffs, we should be able to check for significant errors in this module. If anyone would like to work one step ahead of me and parse a bunch of abilities on a boss dummy with a premade for me, that would be great. What we're looking for is the average damage each ability does to an un-debuffed dummy. For a "default" spec, just spec into every prot talent and none in ret or holy, that way there's no question what talents we have.

3) We need to code prio_model with all of the possible priority queues we're interested in. This includes everything from AS>CS vs. CS>AS to replacing ShoR with Inq for single targets to AoE rotations. If you guys could get brainstorming about realistic possibilities for rotations and post them here, that would help. As an example, the default is:
Code: Select all
Judge (for SD) if 'hopo>=3 && ccd.CS>1.5 && ccd.Jud<=0 && dur.SD<=0';...
ShoR      if 'hopo>=3';...
CS        if 'ccd.CS<=0';...
Judgement if 'ccd.Jud<=0';...
AS        if 'ccd.AS<=0';...
Holy Wra  if 'ccd.HoWr<=0'; ...
Cons      if 'ccd.Cons<=0'};


There are a number of obvious variations we'll want to try though. For example:

SD>ShoR>AS>CS>Jud>HoWr>Cons ("Is it worth pushing CS back for AS?)
SD>ShoR(if ccd.CS<1.5)>AS>ShoR>CS>Jud>HoWr>Cons ("Is it worth saving ShoR for the very last second?")
SD>AS>ShoR>CS>Jud>HoWr>Cons ("Is it worth pushing CS and ShoR back for AS?")
AS>ShoR>CS>Jud>HoWR>Cons ("Is it worth trying to get Sacred Duty procs?")
SD>(2+)ShoR (if SD up)>CS>Jud>AS>HoWr>Cons ("Is it worth using ShoR with 2 holy power as long as SD is active?")
"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: 7956
Joined: Thu Jul 31, 2008 3:06 pm
Location: Harrisburg, PA

Re: Theck's MATLAB thread - Cataclysm/4.x

Postby Alandrek » Sat Sep 25, 2010 7:57 pm

Testing to see whether Inquisition is better than Shield of the Righteous is simple.

Inquisition buffs all Holy damage by 30% and lasts 12 seconds with 3 Holy Power. So if 30% of all our other Holy damage is more than SotR would hit for, Inquisition becomes better. Technically, there is one GCD that won't be covered by Inquisition each time, but that should be the CS that gives us our third Holy Power for the next Inquisition.

1 / 1.3 = 0.7692 (the break-even point for total Holy damage other than SotR)

So if SotR is less than 23.08% of our total Holy damage, Inquisition becomes better for single-target threat.

EDIT: Actually, there's one more factor - that CS after Inquisition fades will proc the SoT instant damage, which won't be affected by Inquisition. There's also a chance of an auto-attack during that GCD. However, if the code determines ability damage before it runs priority simulations it could use 23% as a test to determine whether it's worth bothering to test for replacing SotR with Inquisition for single-target.
Alandrek
 
Posts: 19
Joined: Sat Jan 23, 2010 12:16 am

Re: Theck's MATLAB thread - Cataclysm/4.x

Postby theckhd » Sat Sep 25, 2010 8:45 pm

While that's true in a general sense, it's not a sufficient condition. By looking at holy damage in aggregate, you're averaging out all of our holy abilities.

However, not all GCDs are created equal. Since HW and Cons are on fairly long cooldowns, there will be periods in our rotation where Inq is more attractive than others.

Example, ignoring GC procs:

ShoR-CS-J-X-CS-X-X-CS-J-ShoR-CS-HW-Cons-CS-J-X-CS-ShoR-X

Now if you replace the first ShoR with Inq, you just get two Judgements worth of boost (plus any AS procs). However, if you replace the second ShoR with Inq, you buff the underline section - J, HW, and Cons (again, plus any AS procs). So using Inq lined up with your Cons cooldown could potentially be a DPS increase, even when ShoR is more damage than the limiting condition you listed.

Of course, this will all depend somewhat on the final damage tuning of Cons, HW, and Judgement.
"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: 7956
Joined: Thu Jul 31, 2008 3:06 pm
Location: Harrisburg, PA

Re: Theck's MATLAB thread - Cataclysm/4.x

Postby Alandrek » Sat Sep 25, 2010 8:53 pm

True - I was ignoring Consecration in particular, probably because I'm hoping they'll adjust our rotation so we don't want to use it for single-target tanking.
Alandrek
 
Posts: 19
Joined: Sat Jan 23, 2010 12:16 am

Re: Theck's MATLAB thread - Cataclysm/4.x

Postby Lionnis » Mon Sep 27, 2010 1:26 pm

Alandrek wrote:True - I was ignoring Consecration in particular, probably because I'm hoping they'll adjust our rotation so we don't want to use it for single-target tanking.


Same, currently to me the rotation feels pretty "clunky" with the downtime. It's not terrible but I think they could make some improvements by giving us one more option to push. Maybe an exo proc or something, i'm not sure really yet. It has potential though, I look forward to them adjusting it.

The rotation i was using to start out for single target was.

CS, AS, ShoR, Judgement Trying to mix in Holy Wrath whenever possible, i had no mana issues. Wouldn't mind seeing possibly judgement generating a holy power though or something to that effect.

Looking forward to the theorycrafting and more testing.
User avatar
Lionnis
Maintankadonor
 
Posts: 43
Joined: Tue Mar 16, 2010 6:04 am

Re: Theck's MATLAB thread - Cataclysm/4.x

Postby theckhd » Wed Sep 29, 2010 9:47 am

Requesting a very specific data set to finish up the ability_model module.
"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: 7956
Joined: Thu Jul 31, 2008 3:06 pm
Location: Harrisburg, PA

Re: Theck's MATLAB thread - Cataclysm/4.x

Postby tlitp » Tue Oct 05, 2010 5:11 pm

User avatar
tlitp
 
Posts: 556
Joined: Mon Jul 27, 2009 3:25 pm

Re: Theck's MATLAB thread - Cataclysm/4.x

Postby theckhd » Wed Oct 06, 2010 7:09 am

Indeed, that is possibly the most important graph I've ever created.
"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: 7956
Joined: Thu Jul 31, 2008 3:06 pm
Location: Harrisburg, PA

Re: Theck's MATLAB thread - Cataclysm/4.x

Postby wrathblood » Sun Oct 10, 2010 8:56 pm

How much worse for threat is Seal of Insight vs Seal of Truth?
wrathblood
 
Posts: 39
Joined: Wed Aug 15, 2007 4:17 pm

PreviousNext

Return to Advanced Theorycraft and Calculations

Who is online

Users browsing this forum: No registered users and 1 guest

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