This is an important point. Yes, a cycle shouldn't be "separable." If a cycle involves two spells, but you can in fact reorder the spells as you wish and even use them in a different ratio without affecting the DPS and MPS contributions of each, then you don't have one cycle, you have two. An example is "cast Frostbolt and then Fireball, and repeat." Or the example given in the OP--Lifetap.
But if the change doesn't change DPS or MPS, how are we to tell the difference if that's all we're evaluating them on? I.e., how can you reall tell the difference between "fireball, frostbolt" and "frostbolt, fireball"?
The cooldown problem is a tough nut to crack, but a valuable one for me. Since the appropriate way to model warlock dots is cooldowns - since you generally don't want to refresh them until they're up, baring external factors. The linear programming to model 5 different dots along with trinkets and external buffs (Heroism/Bloodlust, Quag's Eye, Crusade care, etc.) intrigues me. However, I know it's outside my ken currently. It's a lot of damn variables.
Originally Posted by Arawethion
In response to some of the above, there's much more going here than simple the fact that you should end at 0 mana. There are going to be a variety of ways to hit 0 mana in any given fight, only one of which is correct.
Well, I wouldn't say there is only one. There may be several which wind up being equivalent (unlikely, but possible). This goes back into the question of subcycles and functional difference. I'm not being precise enough here, I know, but I'm hoping to get thinking on the right track.
The other thing is that external factors may limit the "best" sequence for a fight and possibly reduce it's effectiveness in a real encounter. Big example here would be threat - if a boss resets agro frequently, say, Hydross, then you need to take this into consideration. Your best DPS may get you killed due to a transition.
Another concern for warlocks would be incoming raid damage. If a Doom Walker style the-whole-raid-eats-8k-damage ability is incoming, you can't lifetap below that value or your DPS goes to naught. This can impact a cast rotation.
Timers such as trinkets can be handled a bit differently, as well. You can leave them out of the initial computation completely, and then later compute the potential damage contribution of each timer during each cycle, to see when best to use each one.
This requires two assumptions:
1) The time spent in each cycle during the fight can be rearranged into whatever order you wish.
2) The effect of the timered abilities won't significantly alter your cycle choice for the fight.
I didn't articulate it that well earlier, but I feel that the theorem has a problem with random things that happen during an encounter, especially late.
For example, I can have 3 different spell rotations:
A - ABx2, Fireballx2, Scorch, repeat
B - ABx3, Fireballx2, Scorch, repeat
C - ABx4, repeat
Now, if you have a line where you emphasize dps going right and dpm going left, C is at the right most. A and B are closer to the middle. For most boss fights, rotating A and B in predetermined amounts will produce more damage than rotating either A and C or B and C. That's because the amount of dpm sacrificed goes exponentially versus the amount of dps gained. It's just more efficient to rotate A and B.
The problem is in the latter stages of the fight. If, for example, you get a string of clearcasts and crits, you might find out that you won't be able to dump mana fast enough with B, thus having to resort to C, a third rotation.
I think fire spec is more vulnerable to such an occurence. My mage is 10/48/3 and I basically have 2 rotations. One is scorch/fireball as much as possible/scorch to refresh. Another is mixing 1 AB whenever I don't have the debuff and a few scorches to conserve mana. Molten fury also plays a huge part in it. If the former is my high dps rotation and the latter is my high dpm, I would do my rotation in such a way that sub-20% is basically "A" rotation spamming. My higher dps rotation is basically scorch/fireball as much as possible/scorch to refresh. Even using this rotation, it's not uncommon to have a string of 3+ fireball clearcasts in a row with a few of them critting. If such an occurence occurs at sub-20%, I find that I would need to add a third rotation, AB spam, late into the fight.
Feel free to correct me if I'm reading this wrong, but the way I read this is we can be certain there are in fact two unique cycles that are optimal to use. We can construct a linear combination of these that is the optimal "sub set" for one particular fight and it is restricted by M and T. However we cannot exactly determine the cycles?
Is it possible to create a set of all cycles and simply find two "orthogonal" cycles and let these be our "base vectors" for the sub set? What is orthogonal in this space? An obvious problem would be that we cannot choose t_i freely, it is restricted by things as GCD. It isn't continuous.
This seems to contradict a rather intuitive approach that given a fight with a known length T we should be able to construct exactly one cycle of the length T that is the optimal dps for this "t_i". I've been thinking about this for a while now but can't quite work it out. Is it related to the continuity problem? Is it certain that these two cycles really exist, i.e. can we actually end the fight at mana 0?
As far as the "but we don't know T beforehand" goes. It should be possible to use a stochastic approach here and obviously the real life approach would be to cater for the longest fight where we would still manage to kill the boss. That is we will do less than optimal dps on a smooth kill but would finish at 0 mana the time when we would have wiped with a suboptimal mana efficiency.
Arawethion, great theorem. New here, but I wanted to follow some loose ends, and bring attention to some finer points.
Given two variables, this theorem provides at most two cycles which work together. That said, anything that introduces a new variable increases the number of allowable cycles in the set of . It should be an increase of one per variable, but I haven't proved that. (It might be two per variable if the variable is sufficiently distinct.)
A common example of a third variable would be gaining threat. I think this is one motivation casters have to increase spell damage at the end of a fight.
So, the primary application I see has to do with any time that damage (or healing) is purely a function of a resource (rage, energy, mana) without additional variables. Certain triggers (such as clearcast) are easy to account by simply shifting to a slightly different place in the optimum cycle set, or adding a single spell (assuming this has no impact on mana, threat, etc.). Others are much more complicated.
What I can gather from this theory is that whilst it is "sub-optimal" as such to attempt to use more than two different cycles, since it is very hard to know beforehand exactly what happens in the fight, you should not deliberately attempt to restrict yourself to two cycles.
For example, if you find yourself in a situation with extra mana near the end of the fight, and you have been using two different cycles, you should still switch to a "mana dumping" cycle, because the reason why you have extra mana is because your choice of the first two cycles in the first place was incorrect.
Whilst my knowledge of WoW raid theorycrafting is very limited, i must say that is a really beautiful mathematical concept you have there.
I don't suppose there are any particular ways of using maths to calculate the most appropriate cycles to use? (For example, given the information such as the length of the fight, what kind of procs might appear etc. which would be the two most "optimal" cycles?)
it seems to me that the optimal 2 cycles depend on both T and M, thus the theorem does not say:
"every player should stick to 2 cycles in every fight", but rather:
"for every fightlength T and available mana M, every player should choose 2 cycles and use those."
A much more interesting Question would be:
Given 0<k<=1 and cycles C_1,..., C_n, do there exist two cycles C_i and C_j such that for every T and M, you can find t_i,t_j with t_i*C_i+t_j*C_j >kD?
In other words: can you pick 2 cycles that will yield close to optimal results even if you do not know the exact values of T and M in advance?
I am reasonably certain that a change in T or M can result in a change to i and j. Thus a good player will have to use more than 2 cycles in a fight to react to player death or other unpredictable occurances.
I'm sorry, but that is pretty silly and an overly simplistic view of how WoW game mechanics work.
Hunters have periods in which they are hasted by quickshots, dragonspine trophy, rapid fire, and combinations of the three. When no hastes are up they will probably use a 1:1.5 rotation, and when 1 or 2 of the hastes are stacked, then they will probably use a 1:1 rotation, and when all haste effects are stacked (or certain combinations of two) then they will use a 1:0.5 rotation.
For them to get optimal dps, they need to use the proper rotation for the proper scenario. The same goes for any class. I have no idea where you chose the number 2.
Edit: Sorry, I missed the "spell" selection part of the title, so a dps warrior example isn't really fair
Aye - the key point is that the two cycle theorem only holds if the DPM/DPS of each cycle is constant. That's simply not the case. AP affects DPS but not DPM. A Clearcasting proc streak affects DPM but not always DPS (depends if you have the higher level Arcane talent).
That's independent of the point that your estimate of T and M will also vary based on factors outside your control - how many DPS die early, increading T, whether you need an emergency health pot instead of a mana pot, affecting M - and so on.
So I don't think this theorem (while interesting on a mathematical level) is of any use for making gameplay decisions. About the only thing you can do with it is turn round after the fact and say "Well if I'd known I'd get that many procs, I'd have cast different spells".
I think it's useful if you consider the choices at any given time during a fight. At each point in time of a fight, I can estimate how long the next "constant" segment will last, what future segments will look like (given different conditions, etc).
During each of those segments, his theorem should hold true, right? Then you would make cycle choices based on those conditions, and know that during any specified segment of the fight there are no more than 2 cycles for optimal DPS and DPM.
If I understand this correctly the theory is saying that two cycles should be used by a mage, the highest dps and the highest dpm. These two cycles, and no others, should be used during the fight, at a dynamically chosen ratio. According to the theory, adding other ratios into the mix will result in a sub-optimal fight.
E.g. an arcane mage might choose the following two cycles
High dps (cycle A): AB, *(AP, PoM, FB)
High dpm (cycle B): AB, *(AP, PoM, FB) AB, **(FB/AM)
*if cooldown is up
**dependent on whether clearcasting state
Note: The two cycles both have an 'if' statement in them. for example, in cycle A, if the Arcane Power is cooled down then PoM and Fireball are used. What this is actually acknowledging is that the two cycles that the OP suggests actually vary during the fight.
The theory is that there are now three possible styles of fighting:
i) Cycle A being used exclusively results in:
mana = 0, and current_time <= total_fight_time
The current_time will always be less then (or equal to) the total_fight_time. In practice the player runs out of mana before the fight is over.
ii) Cycle B being used exclusively results in:
T = 0, and unused_mana => 0
The unused mana will always be greater (or equal to) 0. In practice this would mean having mana left over at the end of the fight.
iii) A combination of cycle A and cycle B results in:
mana = 0 and time = 0.
The player will end with zero mana at the exact moment the fight ends.In practice this requires dynamic selection of which cycle to use next based on the other elements of the fight.
Then entire fight, in hindsight, can be considered a single cycle, where t_i = 0 (if the mage has done their job well). Some posters have argued about the benefit of hindsight. However the notion of two cycles is an admission of this problem. With the benefit of hindsight the OP's theory would allow for a single cycle C to be constructed that could be used exclusively (albeit this cycle would be perhaps so long it would be used only once). Using the combined cycle A and cycle B (rather the creating the perfect cycle C and using it singularly) does actually allow the player to modify the ratio of cycles as the game progresses.
The place of theorycraft is to know exactly which two cycles should be taken into the fight.
The place of the practical player is to then make use of these two cycles correctly.
At any given time during an actual boss fight the cycle_A:cycle_B ratio will be suboptimal. Mana usage is either too fast, or too slow. If the usage is too fast then the player must consider (taking into account player knowledge of gem/pot/evoc cooldowns) switching to Cycle B, thus slowing down the mana usage. If the usage is too slow then the player must consider (again considering all other information) switching to Cycle A, thus increasing the mana usage.
This is actually very practical for raiding casters. Most raiding mages have tried the 'Boom test' for dps. The 'boom test' is a place where a caster can go and test 'casting cycles', to find the optimum cycle. On heading out to test 'casting cycles' players often have little idea of what they are actually trying to achieve, high dps or high dpm, and often end up with a cycle that is a combination of both. This cycle is then modified during the fight. For an arcane mage this is not so much of an issue, if they stumble across and adopt the highest dpm cycle, they will invetiably use the AB spam cycle during the fight and therefore use the two-cycle theory correctly.
A class leader is now able to advise the casters to have two spell cycles, one for highest dps and one for highest dpm, and which will be used during boss fights in order to achieve optimum dps over the duration of the fight. This casters now have a much greater understanding of exactly what they should be doing when the visit Dr Boom...
All this theorycraft is well and good but a small point should be mentionned (rather obvious but...), let's say you have three cycles :
- A : high dps, low dpm
- B : mid dps and dpm
- C : low dps, high dpm
And let's say you have selected B and C as optimal for the fight knowing that you usually spend approx 8min30 mins to kill the mob. For some reason, at 7 min into the fight you realize that the fight should be over in 30 sec, provided you have the mana you should switch to cycle A. You can chastise yourself all you want with hindsight but you'll always make more damage that way...
If I understand this correctly the theory is saying that two cycles should be used by a mage, the highest dps and the highest dpm.
No. Reread what you said. You're in effect saying that you should either spam AB or wand - since AB spam is the highest DPS and wanding is the highest DPM.
The theorem says that for any given fight, a mage should use no more than two cycles. These
are not necessarily the highest DPM/DPS cycles, they are the two that are optimal for that particular fight. These cycles should be worked out ahead of time.
However, the theorem relies on two assumptions.
1) You know the length of the fight in advance
2) The DPM and DPS of each possible cycle are constants
In practice neither of these assumptions holds. Loss of assumption (1) is not critical, since it will is unlikely to affect your choice of cycles, only the optimum ratio between the two. Assumption (2) blows the whole thing out the water, especially for specs with significant points invested in arcane.