Theck's MATLAB TPS analysis - WotLK/3.x

Warning: Theorycraft inside.

Moderators: Fridmarr, Worldie, Aergis, theckhd

Re: Theck's MATLAB TPS analysis

Postby tlitp » Wed Jun 09, 2010 6:21 am

theckhd wrote:
culhag wrote:(...)huge amount of code you already have in Matlab. But it will never be user friendly as long as it stays there.

The subset of the population using this code (people who know MATLAB and have it or one of its free variants installed) is pretty small (...)

Small ? It's statistically negligible, for fuck's sake. Let's not lose contact with reality.

Theck has been extremely accurate in his assertion - most people don't want to actually do the hard work themselves. "Hey, look, some math gibberish I don't understand and I don't want to understand. I merely want pretty pikturz and data/model analysis - it's all fine as long as I don't have to do it myself".

Culhag, no offense, complaining about the lack of user-friendliness in the case of a free/open source project is disturbing, to say the least. The code is there - if someone wishes to make a front-end/UI/port there are absolutely no restraints.
User avatar
tlitp
 
Posts: 556
Joined: Mon Jul 27, 2009 3:25 pm

Re: Theck's MATLAB TPS analysis

Postby theckhd » Wed Jun 09, 2010 7:04 am

tlitp wrote:Theck has been extremely accurate in his assertion - most people don't want to actually do the hard work themselves. "Hey, look, some math gibberish I don't understand and I don't want to understand. I merely want pretty pikturz and data/model analysis - it's all fine as long as I don't have to do it myself".

Luckily, this is the part I like - the data analysis and model refinement, as well as making the results presentable and easy to understand.

What I'm not very interested in is dealing with the GUI/Interface crap that would make it "user-friendly." I'm not a professional programmer or a GUI designer. I'm a physicist who happens to know some math and has a little programming ability.

That said, I wouldn't mind helping maintain the Rawr code if I didn't have to do any of that stuff. If I could maintain my MATLAB code and do spot-checks of the Rawr code to make sure it's at least a rough approximation, that would be fine.
"Theck, Bringer of Numbers and Pounding Headaches," courtesy of Grehn|Skipjack.
Simcraft 6.x, Call to Arms 6.0, Talent Spec & Glyph Guide 6.x, Blog: Sacred Duty
User avatar
theckhd
Moderator
 
Posts: 8003
Joined: Thu Jul 31, 2008 3:06 pm
Location: Harrisburg, PA

Re: Theck's MATLAB TPS analysis

Postby culhag » Wed Jun 09, 2010 7:41 am

tlitp wrote:Culhag, no offense, complaining about the lack of user-friendliness in the case of a free/open source project is disturbing, to say the least. The code is there - if someone wishes to make a front-end/UI/port there are absolutely no restraints.

I'm not complaining about anything. I just mentioned Rawr after I read Theck's stated intentions for future developments, and it seems to do exactly what he's looking to do.

theckhd wrote:Changes:
  1. Major code revamp.

    1. Clean-up
    2. New gear system: Complete re-write of the way the code handles gear, including a "Gear Database" that contains all of the stats of any item we want to include. Loading or invoking a gear set will be much easier with this method, as it will just require a function call, like "equip(cataclysmicchestguard)" or "equipset(theck_t11)"
    3. Better "out-of-the-box" experience: Hopefully, an easier experience for beginners who want to mess with the code. My goal is that someone with access to MATLAB, Octave, etc. can download the code, make very simple changes to a "gear" file (i.e. change "equip(cataclysmicchestguard)" to "equip(sanctifiedlightswornchestguard)", and then run a basic file that spits out a bunch of useful information about your character.
User avatar
culhag
Maintankadonor
 
Posts: 1745
Joined: Wed Aug 06, 2008 7:50 am
Location: France

Re: Theck's MATLAB TPS analysis

Postby theckhd » Wed Jun 09, 2010 7:55 am

Maybe I wasn't terribly clear about it, but the "Gear Database" isn't going to be exhaustive. If you look at any of the gear*.m files I already use, they have stats for a bunch of items we've included over the course of the expansion. And the weapon simulation includes the stats of every weapon included in the sim.

The "Gear Database" file is just a way to consolidate these two, so that I don't have to define gear in 6 different places. Instead, I add what I want to gear_db.m and then invoke it later in whatever file I'm currently working on.

So it's mostly a convenience issue for myself, and has the side effect of making it easier for everyone else to screw around with gear set-ups. I'm decidedly not planning on importing the entire wowhead database.

The "spitting out useful information" part is definitely in-line with what Rawr does, and would be the best argument for trying to merge the two. But the difference in time expenditure is pretty hefty (spend an hour writing an m-file vs. learning C#, understanding their code structure, incorporating it into the GUI, and so on). And it would likely lack the array support and easy analysis tools (plots, interim debugging, and so on) that I make use of.


<edit> Perhaps an example or two would illustrate this better. First example: the weapon analysis. This is one where Rawr wins hands-down, provided it has an accurate threat model. It has all the weapons in the database, and while the list on the right is obnoxiously hard to read (WTB control over that interface to make everything thinner and more readable!), it's got everything you need.

Second example: Let's say I want to compare a few different gear sets. Maybe 10 different configurations. In Rawr, I have to create each set, and then write down the results I want. Then come up with a way to plot them. In MATLAB, I can just do:
Code: Select all
equipset(gearset1)
%generate stats
%store relevant info
equipset(gearset2)
%generate stats
%store relevant info
equipset(gearset3)

...

plot(relevant info)


I could do most of this in C outside of Rawr, of course, which is maybe what you're suggesting. That might not be a bad way to go, as it would ensure that the Rawr module is kept up-to-date while also giving me the flexibility I want. On the other hand, it's a lot of easier to write mathematical code and plot results in MATLAB, especially given my background (I've never coded anything serious in C).

That's why I mentioned that the best solution might be to work in tandem with the Rawr guys. Build the code base I need to do my stuff in MATLAB, and involve them in the project so that they can keep the Rawr code updated.
"Theck, Bringer of Numbers and Pounding Headaches," courtesy of Grehn|Skipjack.
Simcraft 6.x, Call to Arms 6.0, Talent Spec & Glyph Guide 6.x, Blog: Sacred Duty
User avatar
theckhd
Moderator
 
Posts: 8003
Joined: Thu Jul 31, 2008 3:06 pm
Location: Harrisburg, PA

Re: Theck's MATLAB TPS analysis

Postby theckhd » Wed Jun 09, 2010 8:16 am

By the way, Rhiannon pointed out to me that it's been determined that Mongoose doesn't give 2% haste. It gives 30 rating, which is ~2% at level 70, but much less at 80 (~1.2%). Details can be found here.

While it isn't a huge change, it does drop Mongoose down in the rankings to Potency/SuPotency levels:
Image

I'm updating the Enchant/Food analysis text to reflect this change. Note that this was done with a more current gear set, so the numbers will be a little different than the old one.


Also note that the code is suggesting Mongoose uptimes of 37% or so. There have been reports of observed uptimes of around 20-25%, which would drop it's value even further. At 20%, it's barely better than the 26 Agility enchant for threat.
"Theck, Bringer of Numbers and Pounding Headaches," courtesy of Grehn|Skipjack.
Simcraft 6.x, Call to Arms 6.0, Talent Spec & Glyph Guide 6.x, Blog: Sacred Duty
User avatar
theckhd
Moderator
 
Posts: 8003
Joined: Thu Jul 31, 2008 3:06 pm
Location: Harrisburg, PA

Re: Theck's MATLAB TPS analysis

Postby Durability » Wed Jun 16, 2010 11:21 am

Long-time lurker here, finally registered to ask a couple questions about Reckoning from the T-man.

1) First, your plot of reckoning uptime assumes a 1.3 speed weapon. I sat down and used your formula with my own Last Word and saw a rise from 28% to 34% (even assuming a 20% haste buff) uptime. Using a still faster weapon (say, a Bloodvenom Blade or other 2.6 speed DPS weapon) raises uptime to around 40%. In your plot of talent comparisons, are you using the same weapon assumptions as in the uptime chart?

2) Does your comparison of threat values include the increase that Reckoning would give to PPM effects like Mongoose/BW?

3) Has any testing been done on which environmental effects can proc Reckoning? For instance, I assume Bone Storm can, but what about Coldflame, Shroud of Sorrow, Death and Decay, Festergut's gas, or Frostbolt Volley? If, for instance, fester gas procced it, that would increase uptime substantially.
Durability
 
Posts: 44
Joined: Wed Jun 16, 2010 11:15 am

Re: Theck's MATLAB TPS analysis

Postby theckhd » Wed Jun 16, 2010 1:24 pm

Durability wrote:Long-time lurker here, finally registered to ask a couple questions about Reckoning from the T-man.

1) First, your plot of reckoning uptime assumes a 1.3 speed weapon. I sat down and used your formula with my own Last Word and saw a rise from 28% to 34% (even assuming a 20% haste buff) uptime. Using a still faster weapon (say, a Bloodvenom Blade or other 2.6 speed DPS weapon) raises uptime to around 40%. In your plot of talent comparisons, are you using the same weapon assumptions as in the uptime chart?

2) Does your comparison of threat values include the increase that Reckoning would give to PPM effects like Mongoose/BW?

3) Has any testing been done on which environmental effects can proc Reckoning? For instance, I assume Bone Storm can, but what about Coldflame, Shroud of Sorrow, Death and Decay, Festergut's gas, or Frostbolt Volley? If, for instance, fester gas procced it, that would increase uptime substantially.

1) Note that the "weapon_swing" variable in the Reckoning uptime post is the post-haste swing timer. That should be equivalent to a 1.7 base weapon speed after 30% of raid-buffed haste. A 2.6-speed DPS weapon should come in around 2 seconds after raid buffs. When I plug 1.8/1.3=1.3846, I get 29% uptime, and 1.8/1.2=1.5 gives me 31% uptime. Not a very significant increase. Chances are you have your avoidance set differently than I do (40%), which has a more noticeable effect. I do get about 40% uptime with a 2.6-speed weapon (2.0 swing timer).

In either case, the talent comparisons are done assuming a 1.7-speed weapon (Bonebreaker Scepter).

2) Yes, it should. The code generates an average swing timer that incorporates the effects of haste buffs and Reckoning, so a spec with Reck will have a slightly smaller swing timer than one without, increasing the effect of any PPM-based effects (which are calculated afterwards).

3)I'm not aware of any specific testing. But we could probably learn a lot from looking at WoL parses. For example, here's Meloree's #1 H25 Festergut parse. If we plug this string into the expression editor:
Code: Select all
(type=TYPE_DAMAGE and sourceName="Festergut" and targetName="Meloree") or (type=TYPE_AURA and spell="Reckoning")

We get all of the cases where Festergut damaged Meloree and all of his Reckoning procs. While combat log latency makes it tough to nail down the exact source, note that he got two Reckoning procs during the first minute and a half, during which he was actively tanking Festergut. During the next 1:45, he got only one, and it seemed to be triggered by Pungent Blight. At no point during that period did Gaseous Blight give him a Reckoning proc.

Now of course, some of that period was the 3-stack section where GB wasn't ticking. However, if we scrutinize a few more logs and see the same pattern, then it's fairly likely that periodic damage sources don't proc Reckoning. On the other hand, it seems some spells can, since Pungent Blight did.
"Theck, Bringer of Numbers and Pounding Headaches," courtesy of Grehn|Skipjack.
Simcraft 6.x, Call to Arms 6.0, Talent Spec & Glyph Guide 6.x, Blog: Sacred Duty
User avatar
theckhd
Moderator
 
Posts: 8003
Joined: Thu Jul 31, 2008 3:06 pm
Location: Harrisburg, PA

Re: Theck's MATLAB TPS analysis

Postby Durability » Wed Jun 16, 2010 3:38 pm

Why 30% haste? Is that an attempt to account for parry hasting on your swing timer, or is there a source of haste other than WF/IIT that I'm not aware of?

EDIT: And for extreme added weirdness, I ran a heroic with a spec with reckoning, and recount has a listing for a single "Holy Wrath (Reckoning)". Does the combat log actually note Reckoning bonus attacks as such, or is this recount trying to guess and failing?
Durability
 
Posts: 44
Joined: Wed Jun 16, 2010 11:15 am

Re: Theck's MATLAB TPS analysis

Postby Gamingdevil » Thu Jun 17, 2010 12:02 am

Durability wrote:Why 30% haste? Is that an attempt to account for parry hasting on your swing timer, or is there a source of haste other than WF/IIT that I'm not aware of?


There's always Swift Retribution or the like.
If it is weak, kill it before it gets stronger. If it is strong, weaken it.
Image
User avatar
Gamingdevil
 
Posts: 1738
Joined: Mon Jan 14, 2008 8:16 am
Location: Belgium

Re: Theck's MATLAB TPS analysis

Postby theckhd » Thu Jun 17, 2010 7:00 am

Durability wrote:Why 30% haste? Is that an attempt to account for parry hasting on your swing timer, or is there a source of haste other than WF/IIT that I'm not aware of?

Sorry, I should have been clearer - I was in a hurry to crank out that post and get back to an experiment, and erred too much on the side of brevity.

The value of 1.3 I used in that reckoning plot is an estimate. If you look at the m-file, I arbitrarily used 1.3 because I know from experience that after raid haste buffs and parry-haste a 1.6-speed weapon comes out around 1.3. That tends to be the value I use for "back-of-the-envelope math," because most tanking weapons are 1.6-speed.

The relevant raid buffs are just WF (20%) and Swiftret (3%), for a total of 23.6% haste. If you include bloodlust uptime it's a little more, but we'll ignore that for now. For a 1.6-speed weapon, your swing timer works out to 1.2945 before parry-haste and/or Reckoning. A 1.7-speed weapon comes out to 1.3754. After parry-haste, I'd expect it to drop below 1.35.

I didn't choose 30% yesterday for any particular reason. That's just what it takes to get a 1.7-speed weapon down to 1.3. The main point was that if you compare a 1.7 speed to a 1.8 speed, the change in Reckoning uptime was relatively small. The jump to a 2.6-speed weapon would be noticeable, but remember that the formula isn't be strictly correct for swing timers much more than 1.8 or 1.9.

Durability wrote:EDIT: And for extreme added weirdness, I ran a heroic with a spec with reckoning, and recount has a listing for a single "Holy Wrath (Reckoning)". Does the combat log actually note Reckoning bonus attacks as such, or is this recount trying to guess and failing?

No idea, I've never seen that before. See if you can reproduce it while logging events - if you can, it should be relatively easy to find it in the combat log file.
"Theck, Bringer of Numbers and Pounding Headaches," courtesy of Grehn|Skipjack.
Simcraft 6.x, Call to Arms 6.0, Talent Spec & Glyph Guide 6.x, Blog: Sacred Duty
User avatar
theckhd
Moderator
 
Posts: 8003
Joined: Thu Jul 31, 2008 3:06 pm
Location: Harrisburg, PA

Re: 3.3 Stat Threat Analysis

Postby econ21 » Thu Jun 17, 2010 12:56 pm

theckhd wrote:3.3 Stat Threat Analysis - Single Target

Note: I've arbitrarily set the expertise and hit contributions from gear to 0 for this, so we get a clear picture of the entire range of rating.


I apologise for coming very late to this party, but I have been thinking about the criteria for selecting a dps tanking set for heroics and these calculations seem the best number available. I am just curious about the setting in the above quote. Do you mean that the numbers you provide comparing stats assume zero hit and expertise? If so, would they change much if we assumed instead that you were hit capped and had 26 expertise? I know this is silly for working out the value of the hit and expertise, but am curious about the trade-offs between other stats. For example, I have a memory of reading that you said BV was less good now because a shield attack could be dodged. Would having 26 expertise mean that BV was a little better relative to strength than the 7.11 vs 30.80 figure you summarise at the end? I know you said that strength and hit complement each other.
econ21
 
Posts: 1379
Joined: Tue Apr 01, 2008 8:53 am

Re: 3.3 Stat Threat Analysis

Postby theckhd » Thu Jun 17, 2010 1:11 pm

econ21 wrote:
theckhd wrote:3.3 Stat Threat Analysis - Single Target

Note: I've arbitrarily set the expertise and hit contributions from gear to 0 for this, so we get a clear picture of the entire range of rating.


I apologise for coming very late to this party, but I have been thinking about the criteria for selecting a dps tanking set for heroics and these calculations seem the best number available. I am just curious about the setting in the above quote. Do you mean that the numbers you provide comparing stats assume zero hit and expertise? If so, would they change much if we assumed instead that you were hit capped and had 26 expertise? I know this is silly for working out the value of the hit and expertise, but am curious about the trade-offs between other stats. For example, I have a memory of reading that you said BV was less good now because a shield attack could be dodged. Would having 26 expertise mean that BV was a little better relative to strength than the 7.11 vs 30.80 figure you summarise at the end? I know you said that strength and hit complement each other.

It means that the hit and expertise from gear is set to zero, yes. It's not quite the same as zero total hit and expertise, because you still have the expertise from talents and (iirc) the SoV glyph. So the calculations are done assuming 0 hit and 16 expertise skill.

The values do change somewhat as you increase hit and expertise, and not all stats increase linearly. You can see those effects on the plots of TPS vs. Hit and TPS vs. Expertise. Most stats see an increase in effectiveness as you decrease your chance to miss.

That means that the summarized values won't be exactly correct for every gear set-up, but they should be a fairly good estimate.
"Theck, Bringer of Numbers and Pounding Headaches," courtesy of Grehn|Skipjack.
Simcraft 6.x, Call to Arms 6.0, Talent Spec & Glyph Guide 6.x, Blog: Sacred Duty
User avatar
theckhd
Moderator
 
Posts: 8003
Joined: Thu Jul 31, 2008 3:06 pm
Location: Harrisburg, PA

Re: 3.3 Stat Threat Analysis

Postby econ21 » Fri Jun 18, 2010 3:26 am

theckhd wrote: You can see those effects on the plots of TPS vs. Hit and TPS vs. Expertise.


Thanks for the quick and helpful response. I was being dumb - your plots do indeed address this fully. I was particularly interested in the BV versus strength comparison and from the graphs, the absolute gap between them seems constant as we vary hit or expertise, so the bottomline numbers should indeed be a good guide.

By the way, I compared the summary numbers you give on dps/stat with those in RAWR. In terms of relativities (i.e. comparing stat X with strength), there is a fairly close agreement except that block value is over-rated by RAWR. I did not check hit & expertise as they are rather special (and I want to get capped or close to it anyway).
econ21
 
Posts: 1379
Joined: Tue Apr 01, 2008 8:53 am

Re: Theck's MATLAB TPS analysis

Postby theckhd » Fri Jun 18, 2010 5:09 am

I wouldn't trust Rawr's threat calculations. Unless they've updated it in the past week, their paladin threat calculations have some major errors. See the last page or two of this thread for the details, if you're interested.
"Theck, Bringer of Numbers and Pounding Headaches," courtesy of Grehn|Skipjack.
Simcraft 6.x, Call to Arms 6.0, Talent Spec & Glyph Guide 6.x, Blog: Sacred Duty
User avatar
theckhd
Moderator
 
Posts: 8003
Joined: Thu Jul 31, 2008 3:06 pm
Location: Harrisburg, PA

Re: Theck's MATLAB TPS analysis

Postby tlitp » Mon Jul 05, 2010 3:16 pm

Avenger's Shield is a ranged physical attack (with a non-physical damage component*). The non-standard behaviour is linked to hit debuffs and/or class abilities (such as FD).

* This is to say that it will roll three times :
- one roll for regular hits (possible outcomes : miss/block**/hit)
- one roll for critical hits
- one roll for partial resists
** In case of targets that have their block_flag enabled.

EDIT : The question about AS (+its hit table, +pvp "anomalies") seems to have vanished into thin air. Still, I'm leaving this here for anyone else potentially interested in nitpicks.
User avatar
tlitp
 
Posts: 556
Joined: Mon Jul 27, 2009 3:25 pm

PreviousNext

Return to Advanced Theorycraft and Calculations

Who is online

Users browsing this forum: Ashaton, Google [Bot] and 1 guest

Who is online

In total there are 3 users online :: 2 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: Ashaton, Google [Bot] and 1 guest