Archive

Archive for November, 2012

Money drops from bosses, continued

November 17, 2012 1 comment

This is a sort of continuation of my previous post about the amount of money that drops from bosses in epic instances of old-world playfields.

As I wrote there, it would be interesting to see how the amount of money depends on the level of the mob, so I did some more testing with mobs of other levels. One problem here is how to find several bosses of the same level, so that you won’t have to spend too much time waiting for respawns and the like. There are of course plenty of level 80 bosses in Kheshatta, and plenty of level 50 bosses in the Field of the Dead, but other levels are not so convenient. Well, you could be killing level 75 Hong Gildong bosses in Kheshatta pretty conveniently as well, but I decided not to bother as the difference in loot from level 80 is probably small enough that I thought it would take an annoyingly large sample to be able to say anything reliable about it. (Though as we’ll see later, it isn’t necessarily that bad.)

So I mostly focused on lower levels. The Wild Lands of Zelata are pretty convenient; in the Nemedian camps in the east of the playfield, you can find five level 38 bosses and one patrolling level 39 boss; and in the camps further to the south there are three level 30 bosses. I was also killing some level 20 and 21 bosses in the area just south of Tesso. The problem with those is that not all of them drop money — generally the idea is that animal mobs don’t drop money, although some of them in fact do. For example, the level 21 Ancient Wolverine drops money, but nearby you have a level 21 Furious Wolverine which doesn’t drop money. Anyway, these bosses respawn reasonably quickly, so you can keep cycling through these for as long as you like without too much waiting for respawns.

I also found several level 66 bosses in Thunder River — this is a suitable level because it’s approximately half-way between 50 and 80 (for which we already have plenty of data). For example, there’s Tarakwi, and also several Pict Chiefs (which are just mini bosses in the normal instance of the playfield, but proper bosses in the epic instance; there is no concept of mini bosses among epic mobs). The annoying thing about these is that each of them is accompanied by at least two trashmobs, and fighting three level 66 group mobs (one of which is a boss) isn’t completely trivial, even with a level 80 character — you have to CC them and so on, same as you would with a level 80 boss. What is more, many of these trashmobs are ranged, so they aren’t really suitable for kiting.

If you want to miss out on all the interesting mathematical stuff, you can jump directly to the results 😛

Taking b = 3a into account

As we already saw in the previous post, the amount of money dropped by epic bosses seems to be distributed uniformly in the range [a, b] where a and b of course depend on the level of the boss. We also saw that it furthermore appears that b = 3 · a in all these distributions; this was seen there in the data for level 50, 80 and 82 bosses, and the data I’ve collected since then for levels 21, 30, 38, 66 follows the same pattern.

So by now we can feel pretty comfortable in assuming that b = 3a. This assumption opens up some new possibilities in estimating the parameters of our distribution. The mean μ of our distribution, μ = (a + b) / 2, can now be expressed as μ = 2a = 2b/3; and from this we can also express a and b in terms of μ, namely as a = μ/2 and b = 3μ/2.

Now, remember that we denoted the sample minimum by W and the sample maximum by Y. Obviously the sample minimum cannot be less than the population minimum; in other words, aW. Together with a = μ/2 we get μ ≤ 2W. Similarly, the sample maximum cannot be greater than the population maximum; thus, bY. Together with b = 3μ/2 we get μ ≥ 2Y/3. So we obtained a lower and an upper bound on μ:

2Y/3 ≤ μ ≤ 2W.

We could similarly obtain bounds for a and b by taking into account that μ = 2a = 2b/3; we would get

Y/3 ≤ aW and Yb ≤ 3W.

In the previous post, we saw various estimators: Xa and M as unbiased estimators of μ, and A and B as unbiased estimators of a and b. Those were derived without the assumption that b = 3a, so they can sometimes result in estimates that are outside of the new bounds we’ve derived here:

  • A should be in the range [Y/3, W]; from the definition of A we can see that it can’t be greater than W, but it can turn out to be less than Y/3. This happens when Y > 3W · n / (n + 2).
  • B should be in the range [Y, 3W]; from the definition of B we can see that it can’t be less than Y, but it can turn out to be greater than 3W. This happens when Y > W (3 − 2/n). In fact it can be shown that when this happens, the previous problem (that A is too small) will also happen at the same time (but the converse is not always the case).
  • Xa can be either too small (less than 2Y/3) or too big (greater than 2W). Given a sufficiently large sample (large n) and sufficiently bad luck, you can get an Xa that’s very close to W or very close to Y and thus quite far from the range [2Y/3, 2W].

These things aren’t just theoretical, they actually happened in some of my measurements for loot from level 50 bosses.

For M, on the other hand, it can be shown that (if b = 3a) it will always be in the range from 2Y/3 to 2W. For example, if M were greater than 2W, we would have (W + Y) / 2 > 2W, therefore W + Y > 4W, therefore Y > 3W; combining this with the fact that Wa, we get Y > 3a = b, which is impossible, as Y is inevitably ≤ b. We can similarly show that if M were less than 2Y/3, this would also lead to a contradiction.

So if you know that b = 3a, and you want to estimate a or b, it would be better to estimate them with M/2 and 3M/2, respectively, rather than with A and B.

Bayesian estimation

I found this very interesting article about estimating the parameters of the uniform distribution. These things are no doubt all very well known to real statisticians, but for a dilettante like myself this was a new and fascinating thing. The article I linked to works with the assumption that a = 0; we don’t have that, but we have b = 3a instead, and we can use a method analogous to theirs to derive a Bayesian estimator for our situation.

Suppose that we are estimating a (we could do just the same for μ or b, of course — it’s really all the same since we saw earlier that they are linked by the fact that μ = 2a and b = 3a). We already saw that it must lie in the range [Y/3, W]. Now, the idea about Bayesian estimation is that we don’t want to commit ourselves right away to any particular value of a. Rather, we’d prefer to think of all of them (from the range [Y/3, W]) as possible, but some of them might seem more probable to us than others would. You might say that we’ll act as if a itself was some sort of random variable. Let’s start by thinking that all a‘s are equally probable:

p(a) = 1 / (WY/3) if WaY/3, and 0 elsewhere.

We’ll denote our sample X1, …, Xn more briefly by X. We know that each Xi is distributed uniformly in the range [a, 3a]; thus, given a concrete value of a, we have

p(Xi | a) = 1 / (ba) = 1/(2a)

And since the various Xi are independent of each other, we have

p(X | a) = p(X1, …, Xn | a)
= p(X1 | a) … p(Xn | a)
= 1 / (2a)n.

From this conditional probability we get the joint probability

p(X, a) = p(X | a) p(a) = 1 / (2a)n / (WY/3).

And from this we get the unconditional probability of X:

p(X) = ∫Y/3W p(X, a) da
= … = (W1 − n − (Y/3)1 − n) / [(WY/3) 2n (1 − n)].

Now we use Bayes’s formula to get the conditional probability of a given X:

p(a | X) = p(X, a) / p(X)
= (1 − n) / an / (W1 − n − (Y/3)1 − n).

Or, in other words, if we originally considered all values of a to be equally likely (this was reflected in our original distribution p(a), which is also called the “prior” distribution, because we had it before we saw the data*), we now, having seen the data X, consider some values of a more likely and some less likely than before; this is reflected in the new distribution p(a | X), which is also called the “posterior” distribution, because we obtained it after seeing the data.

[* Well, not entirely — we had to see the data to compute the values of W and Y that we used in our definition of p(a).]

If we still insist on estimating a with just one concrete number rather than with a distribution, we can take the expected value of our posterior distribution. In other words, this is a bit like taking a weighted average of all possible values of a, in which different values might have a greater or smaller influence, depending on how likely we consider them to be. So we get

E[a | X] = ∫Y/3W a p(a | X) da
= … = W · (n − 1) / (n − 2) · R / (R + Zn − 2),

where we introduced Z = 3W/Y and R = 1 + Z + Z2 + … + Zn − 3.

Calculating this with the computer is manageable enough, but it’s sufficiently messy that I have no idea how one would go about analyzing it theoretically. I made some experiments with it and got the impression that it looks unbiased enough, and its standard deviation seems to be typically around 10% smaller than that of M, so from that point of view I guess you could say it’s a tiny improvement over M.

Results

Now let’s see some results. The following table shows, for each level:

  • how many bosses of that level I killed (i.e. n, the sample size);
  • the minimum and maximum drop (sample minimum W and sample maximum Y);
  • the sample midpoint, M = (W + Y) / 2, which, as we already saw in the previous post, is a very nice estimator of the population average μ;
  • the Bayesian estimate of μ, which we derived in the previous section;
  • and finally the lower and upper bound on μ which we saw at the beginning of this post: 2Y/3 ≤ μ ≤ 2W.
Level No. of
kills
n
Min
drop
W
Max
drop
Y
Estimates of avg. drop μ Bounds on μ
Midpoint M Bayesian Lower
2Y/3
Upper
2W
20

100

0.17

0.51

0.34

0.34

0.34

0.34
21

142

0.20

0.58

0.39

0.39

0.39

0.39
30

113

0.49

1.48

0.99

0.99

0.99

0.99
38

186

1.12

3.19

2.15

2.14

2.13

2.23
39

50

1.20

3.40

2.30

2.31

2.27

2.40
50

500

2.56

7.67

5.11

5.11

5.11

5.12
66

100

6.89

20.55

13.72

13.73

13.7

13.78
80

103

13.17

38.72

25.95

25.99

25.81

26.34
82

88

13.06

38.77

25.91

25.96

25.85

26.12

The numbers in the table are shown in silver and are rounded to two decimal digits (i.e. to the nearest copper), but my underlying data was actually measured in tin (i.e. 4 decimal digits). The only exception to that were the measurements for level 80 and 82, where I was mostly ignoring the tin and writing down just the amount of silver and copper that dropped; thus the numbers in our table are probably slightly underestimating the actual amount of money that drops.

A further note about the results for level 82. Initially my sample minimum there was W = 12.63, which is less than one-third of the sample maximum, Y = 38.7696; that is, it gives us Y/W = approx. 3.07, whereas at all other levels we had Y/W slightly below 3. I think it’s more likely that I have an error in my records than that the distribution of money drops at level 82 is different than at all other levels.

This discrepancy can’t be explained just by the fact that I rounded down some of my measurements to the nearest copper (i.e. by ignoring the tin). My W = 12.63 was obtained from a kill in which I was in a group of 3 players and received 4.21 silver (and 3 × 4.21 = 12.63). Due to the rounding down to the nearest copper, it’s possible that I actually received as much as 4.2199 silver, in which case the actual drop would have been 3 × 4.2199 = 12.6597. But that would still give us Y/W = approx. 3.06.

In fact 12.63 is well below even the sample minimum at level 80 (which is 13.17). So I’m inclined to think that I either mistyped some digit, or perhaps we had 4 people in the group instead of 3 (which would give us a drop of 4 × 4.21 = 16.84, which would be a perfectly unremarkable amount).

So if we remove the 12.63 measurement, we’re left with n = 88 measurements at level 82, of which the smallest is now W = 13.06, and this is what the last row of the table above is based on.

As we can see from the bounds on μ, our sample sizes are big enough to give us a pretty accurate estimate of μ (the average money drop at that level), and in fact the bounds give us disjoint ranges even at adjacent levels (for example, at level 38 we got 2.12 ≤ μ ≤ 2.23, whereas at level 39 we got 2.27 ≤ μ ≤ 2.40).

We can also see that the distribution of money drops at level 82 seems to be pretty much exactly the same as at level 80 — the sample minimum, maximum, midpoint, as well as the estimates and bounds on μ, are very close. On earlier level, similar sample sizes were sufficient to show a clear difference between the average drop at one level and at the next level (e.g. 20 and 21, or 38 and 39); so if there was a difference in the average drops at level 80 and at level 82, we should see it clearly as well. (Probably the average drop at level 81 is also the same as at 80 and 82, but I only killed a handful of level 81 bosses, so I can’t get good estimates for that level.)

Let’s draw a chart showing how the average drop grows with the level:

It sure grows quickly (up to level 80, that is); so we might think it grows exponentially with the level. To test that, we can use logarithmic scale on the y-axis; if the growth was really exponential, the graph should now be a straight line:

We can see that the growth is a bit too slow to be exponential. Let’s put the x-axis on a logarithmic scale as well:

Now we see a really nice straight line. And if you have log(y) = c × log(x), this means that y = xc — in other words, the growth is polynomial rather than exponential. Doing a linear regression on the (log level, log μ) pairs suggests that the exponent c is approximately 3.13.

I guess that money drops from trashmobs, and from mobs in normal instances of the playfields (as opposed to epic ones), follow similar characteristics as well.

If you want to kill bosses for the sake of farming money, I think your best bet is to farm the level 50 bosses in the southern part of epic Field of the Dead. There’s lots of them in a small area, they respawn quickly, and they are quick and easy to kill. At lower levels, the average drop is so much lower that you’d have to kill a lot more bosses in the same amount of time to get the same income, and you simply won’t find that many bosses sufficiently close together. At higher levels, you get more money per kill, but each kill takes you so much longer that it ends up giving you a smaller income again (or you need a group to speed things up, which decreases your income again).

Categories: Age of Conan, Statistics