Masterpieces - the numbers game

C

chretien

Guest
Still not convinced.
I just trinketed up 1200 asterite bars and noted when masterpieces cropped up. I got masterpiece hinges at 12, 66, 192, 233, 287, 337, 354, 406, 409, 428, 455, 461, 493, 547, 548, 577 and 589 (out of 600 results).
Now even accounting for the fact that I got more than the average number of masterpieces (I should have got 12 at 1:50 odds), that looks like a pretty random spread to me. Sure there are clusters and consecutive - or nearly so - results, but there are also long dry patches. If I'd been trying for a Mp under Roaliths system I could have been in for up to 126 remakes. 17 into 600 goes about 35 times and that is close to the median interval between results in that sample.
I'd like to think what you say is true Roalith but I'm afraid I can't see anything more than true randomness at work here.
 
S

Sarnat

Guest
Well my staff took 155 retries! So suck on that! *grumble*
 
R

Roalith

Guest
Originally posted by chretien
If I'd been trying for a Mp under Roaliths system I could have been in for up to 126 remakes.

Incorrect, I'm afraid. If I don't successfully make a second MP within 10 makes (although I'm changing to within 20 makes), I resume hinging.

But let's break it down, I'm genuinely interested in researching this :)

0 - 12 Interval = 12
12 - 66 Interval = 54
66 - 192 Interval = 126
192 - 233 Interval = 41
233 - 287 Interval = 54
337 - 354 Interval = 17
354 - 406 Interval = 52
409 - 406 Interval = 3
428 - 409 Interval = 19
428 - 455 Interval = 27
455 - 461 Interval = 6
461 - 493 Interval = 32
547 - 493 Interval = 54
547 - 548 Interval = 1
548 - 577 Interval = 29
577 - 589 Interval = 12

Now, the way I currently use this system myself, if I haven't made a second MP within 10 attempts, I resume hinging. So, it would have taken me 63 attempts to make the first MP (as opposed to 54). The second MP, however, would have come 16 makes later. The third would have come 11 makes later.

Let's take a look:

0 - 12 Interval = 12 (Pure hinging)
12 - 66 Interval = 54 (10 item makes, resume hinging)
66 - 192 Interval = 126 (10 item makes, resume hinging)
192 - 233 Interval = 41 (10 item makes, resume hinging)
233 - 287 Interval = 54 (10 item makes, resume hinging)
337 - 354 Interval = 17 (10 item makes, resume hinging)
354 - 406 Interval = 52 (10 item makes, resume hinging)
409 - 406 Interval = 3 (3 item makes, ooh look an MP! Resume hinging)
428 - 409 Interval = 19 (pure hinging)
428 - 455 Interval = 27 (10 item makes, resume hinging)
455 - 461 Interval = 6 (6 item makes, aha another MP! Resume hinging)
461 - 493 Interval = 32 (pure hinging)
547 - 493 Interval = 54 (10 item makes, resume hinging)
547 - 548 Interval = 1 (Giggle, an MP with 1 remake. Resume hinging)
548 - 577 Interval = 29 (pure hinging)
577 - 589 Interval = 12 (10 item makes, resume hinging)


That's a total of 90 makes for 3 MPs, using the hinge-until-MP, 10 item makes, then resume hinging method.

Under the remake-until eternity system, using your first 3 MPs as the sample, it would have taken 192 makes. Now slap me with a kipper and call me bertie if that isn't greater than 50% more makes required doing pure item remakes.



Now let's look at a larger catchment range. 20 item makes after an MP hinge, if no MP then resume hinging.

0 - 12 Interval = 12 (Pure hinging)
12 - 66 Interval = 54 (20 item makes, resume hinging)
66 - 192 Interval = 126 (20 item makes, resume hinging)
192 - 233 Interval = 41 (20 item makes, resume hinging)
233 - 287 Interval = 54 (20 item makes, resume hinging)
337 - 354 Interval = 17 (17 item makes, aha an MP! Resume hinging)
354 - 406 Interval = 52 (pure hinges)
409 - 406 Interval = 3 (3 remakes, another MP, resume hinging)
428 - 409 Interval = 19 (Pure hinges)
428 - 455 Interval = 27 (20 item makes, resume hinging)
455 - 461 Interval = 6 (6 item makes, here we go again... resume hinging)
461 - 493 Interval = 32 (pure hinges)
547 - 493 Interval = 54 (20 item makes, resume hinging)
547 - 548 Interval = 1 (Giggle, an MP on one remake)
548 - 577 Interval = 29 (pure hinges)
577 - 589 Interval = 12 (12 item makes, and yep, another MP...)

First masterpiece would have taken 97 makes. Second, 3. Third MP, 26 makes. Fourth, 21 makes. Fifth, 12 makes. Total of 159 makes for 5 MPs. 36 makes per MP, on average.

Under the remake-until eternity system, using the above as the sample: 287 remakes for 5 MPs. Average = 1 MP every 57 makes. That's nearly 50% more remakes than it would take using the "hinge till MP, 20 item makes, if no MP resume hinging" method. It is also a greater frequency of MPs than using the 10 item makes-after-MP hinge method.

The thing to bear in mind, however, is that this method requires some serious amounts of asterite to hinge :D
 
J

Jenkz

Guest
we've been arguing about this a bit in the sotl channel today, and, well, i kind of believed the numbers would work out, so i wrote a couple of 10,000 attempt scripts to simulate what you're trying to get at.

www.jenkz.org/roalith.py
www.jenkz.org/non-roalith.py

both written in python (www.python.org)

roalith.py: makes hinges until MP, then makes up to 20 items, if it doesnt have a masterpiece in 20 items, it repeats.

non-roalith.py: uses the old method of just making the item until a MP occurs.

both scripts return:

Total masterpieces: the number of masterpieces crafts the script simulated
Total remakes: the number of total remakes
Worst Case: the highest number of retries it took for a MP to occur
Best Case: the lowest number of retries it took for an MP to occur
Average: the average number of retries per masterpiece.

the roalith.py script also returns:

Total hinges:: the total number of hinges crafted.

some results:


----------------------------------------------------------
non-roalith.py

1. oxygen:~$ python non-roalith.py
Total masterpieces: 10000
Total remakes: 502464
Worst Case: 523
Best Case: 1
Average: 50

2. oxygen:~$ python non-roalith.py
Total masterpieces: 10000
Total remakes: 504713
Worst Case: 457
Best Case: 1
Average: 50

3. oxygen:~$ python non-roalith.py
Total masterpieces: 10000
Total remakes: 501798
Worst Case: 436
Best Case: 1
Average: 50

-----------------------------------------------------
roalith.py

1. oxygen:~$ python roalith.py
Total masterpieces: 10000
Total remakes: 503212
Total hinges: 1499029
Worst Case: 557
Best Case: 1
Average: 50

2. oxygen:~$ python roalith.py
Total masterpieces: 10000
Total remakes: 504760
Total hinges: 1529527
Worst Case: 437
Best Case: 1
Average: 50

3. oxygen:~$ python roalith.py
Total masterpieces: 10000
Total remakes: 497617
Total hinges: 1507633
Worst Case: 520
Best Case: 1
Average: 49

-----------------------------------------------------

conclusions? if my implementation of what you're suggesting is correct, and if my codes correct - both of which i'm pretty confident of, the mathematics of what you're suggesting just doesnt add up in the long run.

this is, obviously asuming that mythic are actually telling the truth regarding the chance of masterpieces... there are posts on the US forums of 300+ attempts without a masterpiece, so the "maximum" values above do make sense.
 
C

chretien

Guest
First masterpiece would have taken 97 makes. Second, 3. Third MP, 26 makes. Fourth, 21 makes. Fifth, 12 makes. Total of 159 makes for 5 MPs. 36 makes per MP, on average.
That's entirely correct. Now notice the point where I mentioned 17 total masterpieces from 600 results. That works out at an average of 35.2 makes per MP over the whole spread of 600 results. All that demonstrates to me is that the system is just as random over larger samples as it is in small ones.
 
E

erl

Guest
Originally posted by Jenkz
conclusions? if my implementation of what you're suggesting is correct, and if my codes correct - both of which i'm pretty confident of, the mathematics of what you're suggesting just doesnt add up in the long run.

this is, obviously asuming that mythic are actually telling the truth regarding the chance of masterpieces... there are posts on the US forums of 300+ attempts without a masterpiece, so the "maximum" values above do make sense.

The point is that the random number generator used in daoc is known to be streaky. Of course, if the random numbers were true random numbers it would be as you are suggesting, but that's not the case in this game. That's why what Roalith is saying holds. And can't be tested through an external program if you don't get hold of the real generator used in daoc.
 
C

chretien

Guest
But Roalith himself demonstrates that his system is no more efficient than just making things until you get an MP. Based on my results he gets an MP for every 36 tries, I got one for every 35.2 just from retries.
I'd also dispute that 'The DAoC RNG is known to be streaky'. As pointed out earlier in this thread, people look for patterns, the DAoC RNG may be popularly supposed to be streaky but I'd be astonished if it wasn't actually completely random.
If you look again at the intervals worked out by Roalith for my results you get 3 MPs within ten tries, 4 from 11-20 tries, 2 within 21-30, 1 from 31-40, 1 from 41-50, 4 from 51-60 and one at >60. Given an average frequency from this sample of one every 35 that is a completely even spread over the range. 7 at <20 and 5 at >50.

Also Roalith, why do you need to make Asterite Hinges to make your system work? If you're just trying to get the RNG to generate a number surely you can make anything at all - bronze brackets for example?
 
R

Roalith

Guest
Originally posted by chretien

That's entirely correct. Now notice the point where I mentioned 17 total masterpieces from 600 results. That works out at an average of 35.2 makes per MP over the whole spread of 600 results. All that demonstrates to me is that the system is just as random over larger samples as it is in small ones.

Under the remake-until eternity system, using the above as the sample: 287 remakes for 5 MPs. Average = 1 MP every 57 makes.

Using 5 MP items as an example. 287 remakes vs 159 remakes. Wouldn't you say there would be a significant reduction in the cost required to make the item, using that method?
Bouncing some numbers around, using Odlaw's (Keltor's) tradeskill worksheet:
159 remakes for a total of 5 MP AF 102 plate gloves: 5p 842g.
287 remakes for a total of 5 MP AF 102 plate gloves: 10p 461g.

Oh, and as for asterite hinges - yes, of course you can make anything greycon to produce the results. Doing asterite hinges, however, means you can make cash from all those diamond seals you may have hanging around while crafting to get an MP :)

The problem lies, though, in that average results tell us absolutely nothing in terms of Mythic's RNG.

Over tests done on the tradeskills' forum, I can't remember exactly where, it was shown that over a sample of 1000, the median range (IE most frequent) for Masterpieces was 1-35 (Using a previous masterpiece as the counter reset point). It was the attempts after this point (36 to infinity) that pulled the average (mean) number of attempts to 50.

So, with the hinging method, you're relying on the median chance to produce a masterpiece (1 in 35, as your remakes are all below this point) rather than the average chance (1 in 50).



Edit: Doing some more numbers:

600 Glove makes, 17 Masterpieces.

104g (cost price) x 15 (Ideal masterpiece sell rate) = 1p 560g
1560 x 17 MPs = 26p 520g

26p 520g

- (37 x 599) 22p 163g remake cost

= 4p 357g profit.


159 Glove makes, 341 hinge makes, 5 Masterpiece gloves.

1p 560g x 5 MPs = 7p 800g

- (37 x 159) 5883 remake cost

= 1p 917g profit.

Scaling this up to 600 glove makes (and christ alone knows how many hinges).

= 7p 668g profit.
 
R

Roalith

Guest
Oh, and Jenkz, I think I see where our numbers disagree. You're basing it on makes-per-MP, I'm basing it on MPs-per-make.

Using these two sets of data:

3. oxygen:~$ python non-roalith.py
Total masterpieces: 10000
Total remakes: 501798
Worst Case: 436
Best Case: 1
Average: 50
= 501,798 item makes to make 10,000 MPs.

3. oxygen:~$ python roalith.py
Total masterpieces: 10000
Total remakes: 497617
Total hinges: 1507633
Worst Case: 520
Best Case: 1
Average: 49
= 2,005,250 item makes to make 10,000 MPs.

Any chance of trying a sample using this program you made, basing it on MPs-per-items made (including the hinges as a made item), instead?
And is Python's randomizer simply using a command like /rand 100 to determine the quality? Because I'll be screwed if that's what Mythic's RNG does.
 
J

Jenkz

Guest
nope, the 2nd data from roalith.py:

3. oxygen:~$ python roalith.py
Total masterpieces: 10000
Total remakes: 497617
Total hinges: 1507633
Worst Case: 520
Best Case: 1
Average: 49
= 2,005,250 item makes to make 10,000 MPs.

thats 2mil item makes (including hinges) to make 10,000 masterpiece items. - there would be other masterpiece hinges in there not included in the total masterpieces figure above, that is just refering to the item itself.

which was, 497,617 RETRIES of item itself. basically the number of retries appears not to be reduced by making hinges.

python generates a random float between 0.000 and 0.999
anything < 0.02 (1 in 50) is considered a masterpiece.

the number of masterpiece hinges created is somewhat irrelevant? it's the number of remakes (of the item) required to make 10,000 masterpiece items which was tested there, and from that, it appears that making a masterpiece hinge before attempting 20 remakes of an item, makes no difference to the average number of retries....
 
R

Roalith

Guest
Originally posted by Jenkz

which was, 497,617 RETRIES of item itself.

If you're disregarding the number of hinges made in the total item makes, and the number of MP hinges made, then you're effectively disregarding the hinging part of the process altogether.

And as Erl said. This isn't Mythic's RNG.
 
B

Bodzilla

Guest
Originally posted by Roalith


If you're disregarding the number of hinges made in the total item makes, and the number of MP hinges made, then you're effectively disregarding the hinging part of the process altogether.

I thought your hinging before was to effectively lower the number of remakes needed for an item?

Why do they need to be counted if that is so?
 
C

Col|

Guest
Not really read much of this, to mathematical for this Fiko, but guess who will be testing it out and yes, my skill is exactly 1000 at the moment, so this could be a good test.
 
G

GReaper

Guest
Roalith, just read the figures given out by roalith.py:

Worst Case: 520
Best Case: 1


One day, you will get a bad streak on your armour parts. You may have some great patches at the moment with frequent masterpieces. But there was some poor unfortunate bloke whining on the vnboards who had over 300 attempts without a masterpiece.

Parsec points it out well enough here. The past does not affect the future on a random number generator.
 
O

old.Trine Aquavit

Guest
Actually, the past does effect the future on a psuedo random number generator (which, in all likelihood, DAOC uses). A psuedo-RNG is an algorithm for generating random numbers from a seed (an initial number). If given the same seed the sequence of numbers will be the same. In fact, the choice of seed has a significant impact on the 'quality' of random numbers the generator creates (a poorly chosen seed will generate a significantly 'poorer' sequence of random numbers). I can look up a reference for this stuff if anyone's interested*.

The big stumbling block for the theory, though, is that in all likelihood the same RNG is used for ALL random number generation on a server. Given the number of random number calculations that occur in DAOC (every single combat action from every single player or mob will require a roll of the dice from the same generator, for instance), it's not likely that any patterms (and, therefore, theories based upon patterns) will be statistically significant.

*Of course, GOA might be seeding their generator from a decent source of randomness (radioactive decay, brownian motion in a cup of tea) but it's unlikely ;)
 
R

Roalith

Guest
Originally posted by -GReaper-
Roalith, just read the figures given out by roalith.py:

Worst Case: 520
Best Case: 1


One day, you will get a bad streak on your armour parts. You may have some great patches at the moment with frequent masterpieces. But there was some poor unfortunate bloke whining on the vnboards who had over 300 attempts without a masterpiece.


That's what the hinge method attempts to avoid. Jenkz' number generator doesn't take this into account - needs to incorporate the hinges made into his sample.

There will be less overall valid useable MPs produced in a given sample of makes using the hinging method, but those that are produced will be far far cheaper.

Parsec points it out well enough here. The past does not affect the future on a random number generator.

The past does not affect the future on a random number generator. However, the past does affect your cumulative odds within a given sequence of numbers. Cumulative odds and random number generators are two entirely seperate things.
 
R

Roalith

Guest
Originally posted by Bodzilla


I thought your hinging before was to effectively lower the number of remakes needed for an item?

Why do they need to be counted if that is so?

They do not lower the number of total remakes, they are included in the number of total remakes. However, they (supposedly) DO lower the number of actual item remakes.

Using Chretiens sample above. Both were runs of 600 total makes.

Using my method produces 5 useable MPs, and 12 MP hinges. Using his method creates 17 useable MPs.

The difference lies in that to get those 17 MPs, he had to do 600 remakes. To get those 5, I only had to do 159 - not that 287 that his method took.
 
C

chretien

Guest
Quoting the 287 remakes required for the first 5 masterpieces in my sequence is a bit misleading as it includes the anomalous run of 126 without an MP. If you pick any other 5 consecutive masterpieces the maximum number of retries is 169 over a 5 MP spread. That compares well with your 159 for 5 MPs. The average number of tries per MP is still the same as with your system and I still haven't seen you offer evidence that there is an advantage to be gained from it.
 
S

Skrad

Guest
The thing to bear in mind, however, is that this method requires some serious amounts of asterite to hinge :D [/B]

Well, seeing as it involves crafting omething different anyway, why not craft BRONZE hinges till ready to try the mp required? Unless you've got loads of asterite you need to hinge anyway, this will save a fortune :D
 
E

erl

Guest
Originally posted by old.Trine Aquavit
Actually, the past does effect the future on a psuedo random number generator (which, in all likelihood, DAOC uses). A psuedo-RNG is an algorithm for generating random numbers from a seed (an initial number). If given the same seed the sequence of numbers will be the same. In fact, the choice of seed has a significant impact on the 'quality' of random numbers the generator creates (a poorly chosen seed will generate a significantly 'poorer' sequence of random numbers). I can look up a reference for this stuff if anyone's interested*.

The big stumbling block for the theory, though, is that in all likelihood the same RNG is used for ALL random number generation on a server. Given the number of random number calculations that occur in DAOC (every single combat action from every single player or mob will require a roll of the dice from the same generator, for instance), it's not likely that any patterms (and, therefore, theories based upon patterns) will be statistically significant.

*Of course, GOA might be seeding their generator from a decent source of randomness (radioactive decay, brownian motion in a cup of tea) but it's unlikely ;)

They could be using different seed for different things though. When skilling up my fletching I noticed the streaky effect (may there be one or not :p) very often. It was more often than not that I did 20 tried without gains and then got 3 gains in a row. Yes I could be looking for patterns, but it happened too often for that I think.

I sometimes then where afraid to quit when havin a bad streak just in fear for it to start over when I logged in again. But after crafting for a while I got under the impression that the position of the rng for my gains where saved when I quitted.

Could all be imagination of course but it was the impressions I got, thought I'd share :).

I've read some posts from TLs that've been in contact with devs and have said that the rng uses quite few bits and therefor loops around a lot. I have hard to see how this would make it streaky though because there had to be streaks in the first case if so, but somehow it maybe could be a part of it :).
 
R

Roalith

Guest
Originally posted by chretien
Quoting the 287 remakes required for the first 5 masterpieces in my sequence is a bit misleading as it includes the anomalous run of 126 without an MP. If you pick any other 5 consecutive masterpieces the maximum number of retries is 169 over a 5 MP spread. That compares well with your 159 for 5 MPs. The average number of tries per MP is still the same as with your system and I still haven't seen you offer evidence that there is an advantage to be gained from it.

Using that set of data:
Worst case run for MP under standard system = 126 retries.
Worst case run for MP under 20 item/hinge system = 97 retries.
Worst case run for MP under 10 item/hinge system = 73 retries.

And as for the 'anomalous run'... hardly misleading I believe, myself. How often do you hear people whinging about 'xxx remakes since the last MP!'...?
 
J

Jenkz

Guest
roalith my code does exactly what you are suggesting.

it makes hinges until it gets a masterpiece:

mphinge = 0
hingetries = 0
# make a masterpiece hinge.
while mphinge == 0:
hingetries = hingetries + 1
number = random.random()
if number < 0.02:
mphinge = 1

as soon as it has a masterpiece hinge, it will attempt to make 20 items. if it gets a masterpiece, it stops, if it doesnt, it makes the full 20:

i = 1
# masterpiece hinge crafted, now make 20 items
while i <= 20:
if mp == 0:
tries = tries + 1
number = random.random()
if number < 0.02:
mp = 1
i = i + 1

i've now modified the code to procude, hopefully, more understandable results for you. another three runs are provided below:

----------------------------------------------

1. oxygen:~$ python roalith.py
Item masterpiecess: 10000
Item remakes: 494015
Hinge masterpieces: 29810
Total hinges crafted: 1483429
Total masterpieces (items and hinges): 39810
Total remakes (items and hinges): 1977444
Worst Case (item remakes): 604
Best Case (item remakes): 1
Average (remakes per item, not hinge): 49

1977444/39810 = 49.672 - still 50 average makes (for all MP's) including hinges

2. oxygen:~$ python roalith.py
Item masterpiecess: 10000
Item remakes: 501068
Hinge masterpieces: 30140
Total hinges crafted: 1495841
Total masterpieces (items and hinges): 40140
Total remakes (items and hinges): 1996909
Worst Case (item remakes): 424
Best Case (item remakes): 1
Average (remakes per item, not hinge): 50

1996909/40140 = 49.748 - still 50 average

3. oxygen:~$ python roalith.py
Item masterpiecess: 10000
Item remakes: 503585
Hinge masterpieces: 30270
Total hinges crafted: 1508504
Total masterpieces (items and hinges): 40270
Total remakes (items and hinges): 2012089
Worst Case (item remakes): 574
Best Case (item remakes): 1
Average (remakes per item, not hinge): 50

----------------------------------------------

Any statician will tell you small sample sizes give strange results.
I'm by no means saying that ingame, this MAY work a few times, or it may make you think its working - good for you, but in the long run, it wont - the mathematics of what you are saying just do not add up.

Yes, comp RNGs are psuedo, they are not strictly (by the laws of maths) random - read up on it, they are not as streaky as you may think.

(btw, my code produces very, very different results if you take much smaller samples sizes, infact, a sample size of around 10-50 will infact agree with you SOME of the time, try it... increase the sample size)
 
R

Roalith

Guest
Personally, I don't think I'm ever going to make 10,000 MPs. Smaller sample size is good enough for me :)
 
A

Alrindel

Guest
Last night I was drinking Jack Daniels and coke and trinketing hinges, and just as I took a sip, I got a masterpiece! So I decided to dedicate the rest of my evening to Official Serious Scientific Research, and for the next 400 hinges, I took a sip of JD&C with every hinge made. The results were inconclusive until I was trying to get an apple off a plate that was just out of reach of my chair while still trinketing. I stretched as far as I could balanced on one foot and just as I picked up the apple I got another masterpiece!!! So at that point I hypothesized that my odds of getting 100% quality were significantly boosted if I crafted while drinking American bourbon, standing on one leg. Now, dedicated to the pure scientific tradition as I am, I tried my utmost to test the theory as thoroughly as possible, and I'm sure that I drew some exciting conclusions, but I can't for the life of me remember what they were. From a forensic examination of the state of my desk and the surrounding area I can ascertain with reasonable certainty that I fell down a lot, but not much else. But by Sir Magnus Pike, Science Shall March On!
 
R

Roalith

Guest
plans2.jpg


Thought I'd use up the leftover cloth boot underparts after getting the first pair of MP boots.

:clap:
 
R

Roalith

Guest
Heh, erm, same run, still using up underparts:

plans3.jpg



That's 4 MPs (1 hinge, 3 MP boots) within 14 item makes - counting from the first MP.
 
R

Roalith

Guest
63 hinges later (Hinge till MP), moved onto AF 102 plate breastplates. 3 remakes later, 100% quality AF 102 Full Plate Breastplate.

plans4.jpg
 

Users who are viewing this thread

Top Bottom