I refined a level 12 cape (OHT cape) to +3 using 3 Mirages yesterday.

Then, it took me 5 or 6 Tienkang stones and 20+ Mirages to get my TT90 green leggings from +3 to... +3 =(

Yep sometime is easy and sometimes impossible. Yesterday I got my TT 90 armor from +4 to +5 with Tienkang stone. But I almost die from nervous. b:shocked Fortunately I had luck. I'm not gonna do that again.

Assuming the 40% theory is correct, the odds of getting +4 is only 2.5%, so with 100 Mirages you've only got about a 50% chance of getting +4.

After some thinking about it, this is just a Markov chain with 13 states (+0 through +12). If you assume the chance of going to the next state is 40%, you end up with one huge 13x13 matrix.

Lemme reduce it to a +0 through +4 case so you get the idea. The probability matrix P =

where the colums and rows represent the refine states +0 through +4.

The first row is the +0 refine state. The chance of staying at +0 (first column) is .6. The chance of moving to +1 (second column) is .4. The chance of moving to +2, +3, or +4 is zero.

The second row is the +1 refine state. If your item is +1, the chance of dropping to +0 (first column) is .6. The chane of staying at +1 (second column) is zero. The chance of moving to +2 (third column) is .4. The chance of moving to +3 or +4 is zero.

And so on until you get to the fifth row, the +4 refine state. When you get to +4, you don't want to go any further and you'll stop refining. So you'll stay in the +4 refine state. This isn't exactly accurate for our purposes - using up 100 mirages. If you managed to hit +4 after 4 mirages, you wouldn't bother using the remaining 96 mirages. But this is a good way to sum up all the sequences which result in +4 when you have 100 mirages to use.

Ok, so how do you use this? You create a vector representing your initial state, a refinement of +0:

x(0) = [1 0 0 0 0]

To get the probabilities of the states after 1 mirage, you multiply that vector by the matrix P:

So if you had 100 mirages to burn on refining armor, there's:

a 12.2% chance you'd end up at +0
a 4.9% chance you'd end up at +1
a 2.0% chance you'd end up at +2
a 0.8% chance you'd end up at +3
And an 80.1% chance you'd succeed at getting to +4. Considerably better than 50%.

The Tisha stones can be modeled the same way, with a slight alteration to the matrix P (go down one refine in a failure, instead of dropping it to zero).

It's unlikely that the designers of the game would write custom random number generating code, since such generators are part of the standard Java libraries (which is what the server is written in, apparently).

But if they did, it wouldn't make sense to write ones that are worse than the built-in ones.

A friend in my guild came up with the theory that the RNG gets "stuck" in certain states. If one of their programmers went crazy with multi-threading, I can see how this could happen. The RNG routine is typically shared by the entire program. You don't program a separate version of it into every piece of code because that would defeat the purpose of seeding.

So a call to the RNG needs to wait until the RNG routine finishes and returns a value. Maybe the RNG routine's thread briefly got starved for CPU so wasn't able to generate a new random number in time. A properly coded multi-threaded routine would block the RNG call from returning a new random numbers if this happened, until the RNG routine finished running and gave it a new number.

If they coded it wrong, the RNG call would not wait for the RNG routine to finish, and would simply return the previous random number for as long as the RNG routine was stalled.

A friend in my guild came up with the theory that the RNG gets "stuck" in certain states. If one of their programmers went crazy with multi-threading, I can see how this could happen. The RNG routine is typically shared by the entire program. You don't program a separate version of it into every piece of code because that would defeat the purpose of seeding.

So a call to the RNG needs to wait until the RNG routine finishes and returns a value. Maybe the RNG routine's thread briefly got starved for CPU so wasn't able to generate a new random number in time. A properly coded multi-threaded routine would block the RNG call from returning a new random numbers if this happened, until the RNG routine finished running and gave it a new number.

If they coded it wrong, the RNG call would not wait for the RNG routine to finish, and would simply return the previous random number for as long as the RNG routine was stalled.

If this is actually true, then relogging and waiting briefly would work?

If this is actually true, then relogging and waiting briefly would work?

If it's true, just waiting 5-10 sec should be more than enough. The reason my friend brought it up was I mentioned an incident in guild-chat, where a boss dropped ~8 items. The squad of 3 was on random loot. I looted them quickly with the loot hotkey (less than 2 sec), and all of them went to me.

Just go to PW data base and check the success rates of the tienkang stones and tisha stones, Youl see the exact number. Theres also the tips that the duke gives in archo, and yes most of them really do work lol.

cant find the rates for tienkang etc and tips for duke , can u post pls

Maybe it's a flaw with the standard random generators then? As we know, true randomness is impossible to achieve, so strings of same-results could be a consequence. The odds of 60 fails in a row at 40% chance must be insanely low.

Computers can generate true random numbers, it's just that nobody bothers to build special hardware for it anymore. For example, back on my old Commodore 64 you could easily get true random numbers by using the sound chip's hardware random noise generator.

A modern computer can use things like hard-drive rotation speed or subtle timing differences in keystrokes to generate truly random numbers, however that's a lot of effort to go to, so it's usually only done when cryptography is involved.

I'll definitely start keeping track of whether or not the success/failure tends to "run" or not. If there's any sort of pattern then I suspect it's a deliberate one the programmers have put in, but regardless of it being deliberate or not, it could still save millions on the cost of refining if it can be shown to be predictable.

Just go to PW data base and check the success rates of the tienkang stones and tisha stones, Youl see the exact number. Theres also the tips that the duke gives in archo, and yes most of them really do work lol.

Heh...

See, this is my problem with trying to research this topic by reading though the forums. It's simple to check PW Database and see that no, the rates of the tienkang stones and tisha stones are not listed, but you've gone ahead and made a claim without actually checking it.

I'll be checking Duke's rumours at some point in the future, but for now I'm treating them with roughly the same credibility as "Just go to PW data base and check the success rates of the tienkang stones and tisha stones".b:chuckle

And an 80.1% chance you'd succeed at getting to +4. Considerably better than 50%.

The Tisha stones can be modeled the same way, with a slight alteration to the matrix P (go down one refine in a failure, instead of dropping it to zero).

Thanks for the math! I've always wanted to take a proper course on statistics in order to be able to do exactly those kinds of calculations.

If all goes well and I get enough data my plan is to build an easy-to-use web-utility that will be able to calculate exact odds. That way hopefully everybody can benefit.

If all goes well and I get enough data my plan is to build an easy-to-use web-utility that will be able to calculate exact odds. That way hopefully everybody can benefit.

Would be awesome if you could do that, but then they might change the coding b:surrender

In regards to testing, I have heard some success stories bout people using those stones that only drop refining lvl by 1 if fail; refining to high numbers with just those and getting it a lot cheaper than orbs.

you thilly gooses... feather set is thuper fabulous! -Bowlinbob

Would be awesome if you could do that, but then they might change the coding b:surrender

In regards to testing, I have heard some success stories bout people using those stones that only drop refining lvl by 1 if fail; refining to high numbers with just those and getting it a lot cheaper than orbs.

I used to refine some goods to +2:
weapon - 6 Mirages (2 times);
armor - 3 Mirages (2 times).

But it is random. Above examples are best.
100% success is with proper Dragon Orbs only.

After some thinking about it, this is just a Markov chain with 13 states (+0 through +12). If you assume the chance of going to the next state is 40%, you end up with one huge 13x13 matrix.

Lemme reduce it to a +0 through +4 case so you get the idea. The probability matrix P =

where the colums and rows represent the refine states +0 through +4.

The first row is the +0 refine state. The chance of staying at +0 (first column) is .6. The chance of moving to +1 (second column) is .4. The chance of moving to +2, +3, or +4 is zero.

The second row is the +1 refine state. If your item is +1, the chance of dropping to +0 (first column) is .6. The chane of staying at +1 (second column) is zero. The chance of moving to +2 (third column) is .4. The chance of moving to +3 or +4 is zero.

And so on until you get to the fifth row, the +4 refine state. When you get to +4, you don't want to go any further and you'll stop refining. So you'll stay in the +4 refine state. This isn't exactly accurate for our purposes - using up 100 mirages. If you managed to hit +4 after 4 mirages, you wouldn't bother using the remaining 96 mirages. But this is a good way to sum up all the sequences which result in +4 when you have 100 mirages to use.

Ok, so how do you use this? You create a vector representing your initial state, a refinement of +0:

x(0) = [1 0 0 0 0]

To get the probabilities of the states after 1 mirage, you multiply that vector by the matrix P:

So if you had 100 mirages to burn on refining armor, there's:

a 12.2% chance you'd end up at +0
a 4.9% chance you'd end up at +1
a 2.0% chance you'd end up at +2
a 0.8% chance you'd end up at +3
And an 80.1% chance you'd succeed at getting to +4. Considerably better than 50%.

Um, your notion makes it look like you are multiplying a 6x6 matrix by a 1x6 matrix, which cannot be done.

Also, I find your refining matrix to be a bad example, as it looks to assume that the chance of succeeding in every refine is the same, regardless of whether it's +1 or +3.

And really, bringing matrices to a discussion like this isn't a good choice.

And is it just me or does that look like MATLAB notation?

If you disregard what I say because of who I am or because of the contents of what I said, you are a fool.

Everyone wants to be different, but when you're different you wish you were normal.

Hmm, the notation seems to be correct. Yep, 1x5 vector multiplying 5x5 transition matrix yields new 1x5 state vector. And, who would be surprised if Matlab also uses this notation since that is basically a matrix algebra program at heart?

But, it is fair to ask why bringing Markov processes into this is adding anything (especially since it is a pretty trivial transition matrix with most elements 0). Second hmmm, aren't there some optimal stopping rule algorithms in operations research that would apply to that matrix?

Hmm, the notation seems to be correct. Yep, 1x5 vector multiplying 5x5 transition matrix yields new 1x5 state vector.

Oh ****, missed that part.

And, who would be surprised if Matlab also uses this notation since that is basically a matrix algebra program at heart?

Well, I used Matlab recently, so I'm sure that the notation is indeed alike to that used with Matlab.

But yes, the way it is presented here differs from the normal way it would be presented to students.

And besides, it's still pointless to even bring it up, most people here wouldn't've have any idea nor interest in the actual math, just the result.

But, it is fair to ask why bringing Markov processes into this is adding anything (especially since it is a pretty trivial transition matrix with most elements 0).

The only thing that I can see Markov chains adding to it is a stable percentage with some arbitrary number of mirages used.

If anything, it would only really be useful if the prices of Mirage Celestones weren't as unstable as they are, then you could theoretically get some hint of a threshold of where using Dragon Orbs is more profitable than using Mirages.

If you disregard what I say because of who I am or because of the contents of what I said, you are a fool.

Everyone wants to be different, but when you're different you wish you were normal.

Also, I find your refining matrix to be a bad example, as it looks to assume that the chance of succeeding in every refine is the same, regardless of whether it's +1 or +3.

That was Warren's initial assumption. Obviously if you wanted to assign different chances of success for each refine state, you could.

And really, bringing matrices to a discussion like this isn't a good choice.

LOL. Like it or not, this is how you solve this problem.

And is it just me or does that look like MATLAB notation?

Maybe. It's been a decade since I used MATLAB. But there are only so many ways you can represent vectors and matrices.

But, it is fair to ask why bringing Markov processes into this is adding anything (especially since it is a pretty trivial transition matrix with most elements 0).

Warren brought up the question, if there's a 40% chance to succeed per refine attempt and you had 100 mirages, what's your chance to successfully get to +4? This is how you solve that problem.

Second hmmm, aren't there some optimal stopping rule algorithms in operations research that would apply to that matrix?

Not sure. I hated linear algebra. But setting the last row to 0 0 0 0 1 means the steady state solution (i.e. if you had an infinite number of mirages to burn) is a 100% chance to reach +4.

The inverse approach to this problem (if there's a 40% chance to succeed per refine attempt, how many mirages would I need on average to get to +4) is easier to solve. But I'm not sure how relevant the average is due to the non-gaussian distribution.

If anything, it would only really be useful if the prices of Mirage Celestones weren't as unstable as they are, then you could theoretically get some hint of a threshold of where using Dragon Orbs is more profitable than using Mirages.

I thought that was the whole point of this entire thread ("Refining for cheap")? Figuring out the % chance to succeed per refine attempt is just a part of answering that question.

I find it kinda funny when people try to calculate refining or "upgrading" in order to get an idea of how it works.

I've seen several games where people tried the same thing, to no end...

1. The calculations people make are based on assumptions :

- assuming there is a "fixed" result in refining
- assuming that refining results are based per player.

2. All possible outcomes are always wrong for a few simple reasons :

- if upgrading (= refining) is not based per player but rather (as in most games) on the total upgrades made in a server, then the calculations cannot be computed by simple formulas.

- if upgrading, as in this case, can also be "downgraded" with each possible attempt, then the calculations become twice as complex.

Take a simple example :

I go to the elder to refine an item. I put it in and press "ok"... your calculations will work IF :
1. the code only takes my own upgrade into account and NOT someone elses at the same time or in the same timeframe.
2. the code REdefines every upgrade attempt and NOT calculates it based on the previous upgrade.
3. and this is the most important fact : there is NO randomizer involved, which in most cases, is.

If there is a randomizer (or more) involved, which in all honesty i would incorporate as a programmer, then all calculations on a possible outcome are pointless.

I would simply add into the code a "fixed" number of success rates. Let's say 60% success to get it to +1. But then i add a randomizer that also states that even when a success would be guaranteed, the generated number within the randomizer will state it as a fail.

Result ? : Even when your success rate would be a fixed number, in this case 60%, it randomizes and will occasionally and unpredictable classify your attempt as a fail and return that result.

This would mean, that someone somewhere on any server can try to refine to +7 and get that without even one fail. Or he can try and fail 300 times in a row. (a bit exaggerated, but this is what it boils down to).

This is what people call "luck".

p.s. : There is a reason why dragon orbs are in the game. You might get lucky, or you get bad luck, to avoid that factor : use orbs.

1. The calculations people make are based on assumptions :

- assuming there is a "fixed" result in refining
- assuming that refining results are based per player.

There is no reason not to assume those things. And hey, everything in maths assumes quite a few things, such as consistency in math itself.

2. All possible outcomes are always wrong for a few simple reasons :

- if upgrading, as in this case, can also be "downgraded" with each possible attempt, then the calculations become twice as complex.

The downgrading only forces a different approach.

I go to the elder to refine an item. I put it in and press "ok"... your calculations will work IF :
1. the code only takes my own upgrade into account and NOT someone elses at the same time or in the same timeframe.
2. the code REdefines every upgrade attempt and NOT calculates it based on the previous upgrade.
3. and this is the most important fact : there is NO randomizer involved, which in most cases, is.

All the measures that you speak of are unnecessarily complex for a game such a this.

If there is a randomizer (or more) involved, which in all honesty i would incorporate as a programmer, then all calculations on a possible outcome are pointless.

And yet there are countless books and mathematical principles involves in counting things such as blackjack and poker. And what of sabermetrics?

This is what people call "luck".

Luck is just an occurence of the improbable, not magic.

p.s. : There is a reason why dragon orbs are in the game. You might get lucky, or you get bad luck, to avoid that factor : use orbs.

Of course. Generally speaking, people found that the cost of the orbs was cheaper than refining with Mirages. Well, now said orbs are more than quadruple in prices and hello, you got people despairingly trying to figure out the best way to act. Then there's the group who just complain about the prices, the group that only increases their grinding time and the group that starts buyin zen.

I thought that was the whole point of this entire thread ("Refining for cheap")? Figuring out the % chance to succeed per refine attempt is just a part of answering that question.

But since the price of Mirage Celestones is unstable, you will at best end up in a very rough estimate instead of an accurate, final result.

If you disregard what I say because of who I am or because of the contents of what I said, you are a fool.

Everyone wants to be different, but when you're different you wish you were normal.

"And yet there are countless books and mathematical principles involves in counting things such as blackjack and poker. And what of sabermetrics?"

In blackjack and poker are no "generated" randomizers. As for sabermetrics, this is based on "determinable results". Since you do NOT have the results from ALL or most of the players on the server(s), these calculations do not apply.

As for "Luck is just an occurence of the improbable, not magic." as you state, that is true , but :

Improbable does NOT mean impossible.And even improbable things can be calculated to a certain degree.

As for "All the measures that you speak of are unnecessarily complex for a game such a this." :

I do know for a fact that a similar game had these "mechanics" in place, or "code" as you wish. They did work with nested randomizers and even included the number of upgrade attemps, failed and succeeded, from other players within a given timeframe.

This code was so complex to prevent hackers (who were en masse present in the game) to "redefine" or break the code as to increase their successrate.

NO sane programmer will leave code like this to simple calculations. Any decent developer will include nested randomizers and failsafes to make sure that the successrate decreases the higher you go in upgrade/refinement. And this for a simple reason : money.

Make people buy more orbs just because it IS random brings in more cash then just "leaving it to the fixed numbers".

Lastly :

IF you would have ALL the upgrade attempt results from ALL the players on ALL servers, then you would be able to calculate the "probability" of getting a certain result. But even then, you can not be certain you would get that result if you tried just because one randomizer into the code would be enough.

In blackjack and poker are no "generated" randomizers. As for sabermetrics, this is based on "determinable results". Since you do NOT have the results from ALL or most of the players on the server(s), these calculations do not apply.

You could use the same argument to try to debunk all the damage math in the Archer forum, so why not?

As for "Luck is just an occurence of the improbable, not magic." as you state, that is true , but :

Improbable does NOT mean impossible.And even improbable things can be calculated to a certain degree.

So you are saying that even "luck" can be calculated. But doesn't that go against what you just said yourself?

As for "All the measures that you speak of are unnecessarily complex for a game such a this." :

I do know for a fact that a similar game had these "mechanics" in place, or "code" as you wish. They did work with nested randomizers and even included the number of upgrade attemps, failed and succeeded, from other players within a given timeframe.

This code was so complex to prevent hackers (who were en masse present in the game) to "redefine" or break the code as to increase their successrate.

Of course, that can be done. But you have to admit that in this game, something like that would just scream of a money-making plan and make another bunch of people quit the game.

NO sane programmer will leave code like this to simple calculations. Any decent developer will include nested randomizers and failsafes to make sure that the successrate decreases the higher you go in upgrade/refinement. And this for a simple reason : money.

Of course, the success rate needs to decrease. But doing that is enough. You don't need to decrease it to a point where it varies between 0 and a given maximum. In this game, the access to Dragon Orbs is limited to cash shoppers, so you would need a means of copying items to warrant a randomizer measure. And hey, that would attract quite a bit of attention.

IF you would have ALL the upgrade attempt results from ALL the players on ALL servers, then you would be able to calculate the "probability" of getting a certain result. But even then, you can not be certain you would get that result if you tried just because one randomizer into the code would be enough.

The thing is, it's always written somewhere in the code. Someone somewhere has the required skills to get that out of the code. So someone somewhere has the requisites to find out the information needed here. And then there's someone somewhere who can use that information to get the results looked for in here. But even then, it's only averages within samples of thousands of attempts, which isn't of too much practical application, just "knowledge".

If you disregard what I say because of who I am or because of the contents of what I said, you are a fool.

Everyone wants to be different, but when you're different you wish you were normal.

But since the price of Mirage Celestones is unstable, you will at best end up in a very rough estimate instead of an accurate, final result.

In many cases, yes, but from the calculations I've tested so far the price difference between each type of stone could often be magnitudes of x5 or more. That's the kind of cases I'm hoping to identify.

But if the cost are reasonably close then I'd probably choose to pay a bit more for the certainty that Dragon Orbs offer.

NO sane programmer will leave code like this to simple calculations. Any decent developer will include nested randomizers and failsafes to make sure that the successrate decreases the higher you go in upgrade/refinement. And this for a simple reason : money.

You have way too much faith in the competency of programmers. b:chuckle

Given a choice between programmers trying the kinds of tricks you're talking about vs. those who leaves things purely to chance, I'm choosing option #1 because that's way easier for me to analyze and crack. Every variation from pure random just gives me one more route of attack to discover flaws in the system that can be exploited.

By contrast, a purely random system can be left alone and it will safely and consistently pay out at the appointed odds, no matter what tricks people try.

IF you would have ALL the upgrade attempt results from ALL the players on ALL servers, then you would be able to calculate the "probability" of getting a certain result. But even then, you can not be certain you would get that result if you tried just because one randomizer into the code would be enough.

Only if I needed 100% predictive accuracy, which I don't. If the kinds of programming tricks you're talking about are in the game then they will show up in the statistics and reveal trends. Once they do that, then it's +12s for everybody.

Is impossible to find correct algorithm. IF we could something to find out, it would be just some probability. How big is this probability is also question. We don't have enough inputs to make some decision. We would need at least millions of inputs to make some decision with some higher probability. Never 100%.

My data is kinda screwy because I had two lucky runs right off the bat.

2 am server time, Archo elder

L10 3-star might ring
+1 - 6 of 10 attempts succeeded
+2 - 1 of 6 attempts succeeded
+3 - 1 of 1 attempt succeeded
+4 - 1 of 1 attempt succeeded
+5 - 1 of 1 attempt succeeded
I was afraid to go any higher

L9 legendary magic ring (started at +1)
+1 - 2 of 3 attempts succeeded
+2 - 1 of 3 attempts succeeded
+3 - 1 of 1 attempt succeeded
+4 - 1 of 1 attempt succeeded
+5 - 1 of 1 attempt succeeded
I was afraid to go any higher

L9 legendary magic ring
+1 - 34 of 65 attempts succeeded
+2 - 11 of 34 attempts succeeded
+3 - 3 of 11 attempts succeeded
+4 - 1 of 3 attempts succeeded
+5 - 0 of 1 attempts succeeded
Stopped at +0 because I only had 100 mirages left

Overall
+1 - 42 of 78 attempts succeeded (54%)
+2 - 13 of 43 attempts succeeded (30%)
+3 - 5 of 13 attempts succeeded (38%)
+4 - 3 of 5 attempts succeeded (60%)
+5 - 2 of 3 attempts succeeded (67%)

In all I burned 142 mirages, which at a market cost of 15k each would be 2.13 million. I got two +5 rings out of it. Cost to make just one +5 dragon orb is currently 6.5 million, +4 orb is 2.7 million, +3 orb is 1.1 million. So I did very, very well.

Is possible to find correct algorithm. IF we could something to find out, it would be just some probability. How big is this probability is also question. We don't have enough inputs to make some decision. We would need at least millions of inputs to make some decision with some higher probability. Never 100%.

fixed
it be a algorithmic equation. it can be solved.
b:surrender

darthpanda16: Firefox crashed on me. Aryannamage: I don't think I am a GM that would be new.
Hawk:Do this. closing thread
frankieraye: I'll see if we can replace the woman with a stick figure and the tiger fangs with marshmallows.//Issues like these need to get escalated quickly to minimize the damage.
Kantorek: Yeah.. you should try it. It's awesome.
Sihndra: Nope- not currently possible under any circumstances. Sorry.
LokisDottir: I mean...not haunting the forums, nope nope..
Konariraiden: You don't know what you are up against. You will lose.
Waiting for...Hamster Packs!
58% chance to get tokens
41% chance to get an all class pet hamster....but they has already been freed by the magic hamster.
1% chance to get ban hamstered with the message "Hamsters United!"
[SIGPIC][/SIGPIC]

b:chuckle
well....we can still break teh code.
(^.^)
just not me personally....me math deducing power be severely limited.
b:sad

darthpanda16: Firefox crashed on me. Aryannamage: I don't think I am a GM that would be new.
Hawk:Do this. closing thread
frankieraye: I'll see if we can replace the woman with a stick figure and the tiger fangs with marshmallows.//Issues like these need to get escalated quickly to minimize the damage.
Kantorek: Yeah.. you should try it. It's awesome.
Sihndra: Nope- not currently possible under any circumstances. Sorry.
LokisDottir: I mean...not haunting the forums, nope nope..
Konariraiden: You don't know what you are up against. You will lose.
Waiting for...Hamster Packs!
58% chance to get tokens
41% chance to get an all class pet hamster....but they has already been freed by the magic hamster.
1% chance to get ban hamstered with the message "Hamsters United!"
[SIGPIC][/SIGPIC]

Yes you can break it. You need just infinite numbers of try.b:laugh

For a binary operation (succeed/fail) with a fixed % chance, the margin of error with a 95% confidence interval (i.e. 95% of the time, your results will fall within the margin of error) is just:

0.98 * sqrt [ (success rate)*(fail rate) / N ]

So for the +1 data I just posted (42 of 78, or 54%), the margin of error is:

0.98 * sqrt ((.54)(.46)/78) = 0.055

In other words, there's a 95% chance that the actual success rate falls within 48.5% - 59.5%. That's already a pretty strong result even with a sample size this small.

To get a margin of error of 1%, which is almost the same as knowing the exact value:

0.01 = 0.98 * sqrt ((.5)(.5)/N)
N = 98^2 * (.5)*(.5)
N = 2401

While a sample size of 2400 is large, it's much less than infinity. The point of this thread is that if we can pool our numbers together, we can reach a sample size that large more quickly.

While a sample size of 2400 is large, it's much less than infinity. The point of this thread is that if we can pool our numbers together, we can reach a sample size that large more quickly.

^(o.o)'
this
it be numbers
numbers be awesome....
they can be crunched and solved
me just can't crunch them.
b:surrender

darthpanda16: Firefox crashed on me. Aryannamage: I don't think I am a GM that would be new.
Hawk:Do this. closing thread
frankieraye: I'll see if we can replace the woman with a stick figure and the tiger fangs with marshmallows.//Issues like these need to get escalated quickly to minimize the damage.
Kantorek: Yeah.. you should try it. It's awesome.
Sihndra: Nope- not currently possible under any circumstances. Sorry.
LokisDottir: I mean...not haunting the forums, nope nope..
Konariraiden: You don't know what you are up against. You will lose.
Waiting for...Hamster Packs!
58% chance to get tokens
41% chance to get an all class pet hamster....but they has already been freed by the magic hamster.
1% chance to get ban hamstered with the message "Hamsters United!"
[SIGPIC][/SIGPIC]

## Comments

3,393Arc UserYep sometime is easy and sometimes impossible. Yesterday I got my TT 90 armor from +4 to +5 with Tienkang stone. But I almost die from nervous. b:shocked Fortunately I had luck. I'm not gonna do that again.

2,843Arc UserLemme reduce it to a +0 through +4 case so you get the idea. The probability matrix P = where the colums and rows represent the refine states +0 through +4.

The first row is the +0 refine state. The chance of staying at +0 (first column) is .6. The chance of moving to +1 (second column) is .4. The chance of moving to +2, +3, or +4 is zero.

The second row is the +1 refine state. If your item is +1, the chance of dropping to +0 (first column) is .6. The chane of staying at +1 (second column) is zero. The chance of moving to +2 (third column) is .4. The chance of moving to +3 or +4 is zero.

And so on until you get to the fifth row, the +4 refine state. When you get to +4, you don't want to go any further and you'll stop refining. So you'll stay in the +4 refine state. This isn't exactly accurate for our purposes - using up 100 mirages. If you managed to hit +4 after 4 mirages, you wouldn't bother using the remaining 96 mirages. But this is a good way to sum up

allthe sequences which result in +4 when you have 100 mirages to use.Ok, so how do you use this? You create a vector representing your initial state, a refinement of +0:

x(0) = [1 0 0 0 0]

To get the probabilities of the states after 1 mirage, you multiply that vector by the matrix P:

x(1) = x(0)*P = [.6 .4 0 0 0]

The following states are calculated the same way:

x(2) = x(1)*P = [.6 .24 .16 0 0]

x(3) = x(2)*P = [.6 .24 .096 0.64 0]

x(4) = x(3)*P = [.6 .24 .096 .0384 .0256]

...

x(10) = [0.539 0.219 0.089 0.036 0.117]

...

x(100) = [0.122 0.049 0.020 0.008 0.801]

So if you had 100 mirages to burn on refining armor, there's:

a 12.2% chance you'd end up at +0

a 4.9% chance you'd end up at +1

a 2.0% chance you'd end up at +2

a 0.8% chance you'd end up at +3

And an 80.1% chance you'd succeed at getting to +4. Considerably better than 50%.

The Tisha stones can be modeled the same way, with a slight alteration to the matrix P (go down one refine in a failure, instead of dropping it to zero).

A friend in my guild came up with the theory that the RNG gets "stuck" in certain states. If one of their programmers went crazy with multi-threading, I can see how this could happen. The RNG routine is typically shared by the entire program. You don't program a separate version of it into every piece of code because that would defeat the purpose of seeding.

So a call to the RNG needs to wait until the RNG routine finishes and returns a value. Maybe the RNG routine's thread briefly got starved for CPU so wasn't able to generate a new random number in time. A properly coded multi-threaded routine would block the RNG call from returning a new random numbers if this happened, until the RNG routine finished running and gave it a new number.

If they coded it wrong, the RNG call would not wait for the RNG routine to finish, and would simply return the

previousrandom number for as long as the RNG routine was stalled.2,294Arc UserIf this is actually true, then relogging and waiting briefly would work?

2,843Arc Userallof them went to me.0Arc Usercant find the rates for tienkang etc and tips for duke , can u post pls

1,686Arc Usercangenerate true random numbers, it's just that nobody bothers to build special hardware for it anymore. For example, back on my old Commodore 64 you could easily get true random numbers by using the sound chip's hardware random noise generator.A modern computer can use things like hard-drive rotation speed or subtle timing differences in keystrokes to generate truly random numbers, however that's a lot of effort to go to, so it's usually only done when cryptography is involved.

I'll definitely start keeping track of whether or not the success/failure tends to "run" or not. If there's any sort of pattern then I suspect it's a deliberate one the programmers have put in, but regardless of it being deliberate or not, it could still save millions on the cost of refining if it can be shown to be predictable.

Heh...

See, this is my problem with trying to research this topic by reading though the forums. It's simple to check PW Database and see that no, the rates of the tienkang stones and tisha stones are not listed, but you've gone ahead and made a claim without actually checking it.

I'll be checking Duke's rumours at some point in the future, but for now I'm treating them with roughly the same credibility as "Just go to PW data base and check the success rates of the tienkang stones and tisha stones".b:chuckle

Thanks for the math! I've always wanted to take a proper course on statistics in order to be able to do exactly those kinds of calculations.

If all goes well and I get enough data my plan is to build an easy-to-use web-utility that will be able to calculate exact odds. That way hopefully everybody can benefit.

PWI Merchanting Guides: warrenwolfy.wordpress.com

270Arc UserWould be awesome if you could do that, but then they might change the coding b:surrender

In regards to testing, I have heard some success stories bout people using those stones that only drop refining lvl by 1 if fail; refining to high numbers with just those and getting it a lot cheaper than orbs.

Chars:

Qwentomec 94 BM / _Zappy_ 99 Wizzy / xLysander 6x Cleric / MoneyBagz 5x Veno / BaNaNa 3x Barb / _Flappy_ 2x Archer / xKnifey 2x Sin / Spoo_Ney 3x Psy

(cookie for anyone who gets the simpsons reference in those last 2 names)

727Arc Userweapon - 6 Mirages (2 times);

armor - 3 Mirages (2 times).

But it is random. Above examples are best.

100% success is with proper Dragon Orbs only.

1,776Arc UserUm, your notion makes it look like you are multiplying a 6x6 matrix by a 1x6 matrix, which cannot be done.

Also, I find your refining matrix to be a bad example, as it looks to assume that the chance of succeeding in every refine is the same, regardless of whether it's +1 or +3.

And really, bringing matrices to a discussion like this isn't a good choice.

And is it just me or does that look like MATLAB notation?

Everyone wants to be different, but when you're different you wish you were normal.

276Arc UserBut, it is fair to ask why bringing Markov processes into this is adding anything (especially since it is a pretty trivial transition matrix with most elements 0). Second hmmm, aren't there some optimal stopping rule algorithms in operations research that would apply to that matrix?

6,505Arc UserYeah, it's me. Don't read to much into it, though; I'm only here for myself now, killin' time and chillin' when need-be. So sue me. Tch...

1,776Arc UserOh ****, missed that part.

Well, I used Matlab recently, so I'm sure that the notation is indeed alike to that used with Matlab.

But yes, the way it is presented here differs from the normal way it would be presented to students.

And besides, it's still pointless to even bring it up, most people here wouldn't've have any idea nor interest in the actual math, just the result.

The only thing that I can see Markov chains adding to it is a stable percentage with some arbitrary number of mirages used.

If anything, it would only really be useful if the prices of Mirage Celestones weren't as unstable as they are, then you could theoretically get some hint of a threshold of where using Dragon Orbs is more profitable than using Mirages.

Everyone wants to be different, but when you're different you wish you were normal.

2,843Arc UserLOL. Like it or not, this is how you solve this problem.

Maybe. It's been a decade since I used MATLAB. But there are only so many ways you can represent vectors and matrices.

Warren brought up the question, if there's a 40% chance to succeed per refine attempt and you had 100 mirages, what's your chance to successfully get to +4? This is how you solve that problem.

Not sure. I hated linear algebra. But setting the last row to 0 0 0 0 1 means the steady state solution (i.e. if you had an infinite number of mirages to burn) is a 100% chance to reach +4.

The inverse approach to this problem (if there's a 40% chance to succeed per refine attempt, how many mirages would I need on average to get to +4) is easier to solve. But I'm not sure how relevant the average is due to the non-gaussian distribution.

2,843Arc User90Arc UserI've seen several games where people tried the same thing, to no end...

1. The calculations people make are based on assumptions :

- assuming there is a "fixed" result in refining

- assuming that refining results are based per player.

2. All possible outcomes are always wrong for a few simple reasons :

- if upgrading (= refining) is not based per player but rather (as in most games) on the total upgrades made in a server, then the calculations cannot be computed by simple formulas.

- if upgrading, as in this case, can also be "downgraded" with each possible attempt, then the calculations become twice as complex.

Take a simple example :

I go to the elder to refine an item. I put it in and press "ok"... your calculations will work IF :

1. the code only takes my own upgrade into account and NOT someone elses at the same time or in the same timeframe.

2. the code REdefines every upgrade attempt and NOT calculates it based on the previous upgrade.

3. and this is the most important fact : there is NO randomizer involved, which in most cases, is.

If there is a randomizer (or more) involved, which in all honesty i would incorporate as a programmer, then all calculations on a possible outcome are pointless.

I would simply add into the code a "fixed" number of success rates. Let's say 60% success to get it to +1. But then i add a randomizer that also states that even when a success would be guaranteed, the generated number within the randomizer will state it as a fail.

Result ? : Even when your success rate would be a fixed number, in this case 60%, it randomizes and will occasionally and unpredictable classify your attempt as a fail and return that result.

This would mean, that someone somewhere on any server can try to refine to +7 and get that without even one fail. Or he can try and fail 300 times in a row. (a bit exaggerated, but this is what it boils down to).

This is what people call "luck".

p.s. : There is a reason why dragon orbs are in the game. You might get lucky, or you get bad luck, to avoid that factor : use orbs.

1,776Arc UserThere is no reason not to assume those things. And hey, everything in maths assumes quite a few things, such as consistency in math itself.

The downgrading only forces a different approach.

All the measures that you speak of are unnecessarily complex for a game such a this.

And yet there are countless books and mathematical principles involves in counting things such as blackjack and poker. And what of sabermetrics?

Luck is just an occurence of the improbable, not magic.

Of course. Generally speaking, people found that the cost of the orbs was cheaper than refining with Mirages. Well, now said orbs are more than quadruple in prices and hello, you got people despairingly trying to figure out the best way to act. Then there's the group who just complain about the prices, the group that only increases their grinding time and the group that starts buyin zen.

But since the price of Mirage Celestones is unstable, you will at best end up in a very rough estimate instead of an accurate, final result.

Everyone wants to be different, but when you're different you wish you were normal.

90Arc UserIn blackjack and poker are no "generated" randomizers. As for sabermetrics, this is based on "determinable results". Since you do NOT have the results from ALL or most of the players on the server(s), these calculations do not apply.

As for "Luck is just an occurence of the improbable, not magic." as you state, that is true , but :

Improbable does NOT mean impossible.And even improbable things can be calculated to a certain degree.

As for "All the measures that you speak of are unnecessarily complex for a game such a this." :

I do know for a fact that a similar game had these "mechanics" in place, or "code" as you wish. They did work with nested randomizers and even included the number of upgrade attemps, failed and succeeded, from other players within a given timeframe.

This code was so complex to prevent hackers (who were en masse present in the game) to "redefine" or break the code as to increase their successrate.

NO sane programmer will leave code like this to simple calculations. Any decent developer will include nested randomizers and failsafes to make sure that the successrate decreases the higher you go in upgrade/refinement. And this for a simple reason : money.

Make people buy more orbs just because it IS random brings in more cash then just "leaving it to the fixed numbers".

Lastly :

IF you would have ALL the upgrade attempt results from ALL the players on ALL servers, then you would be able to calculate the "probability" of getting a certain result. But even then, you can not be certain you would get that result if you tried just because one randomizer into the code would be enough.

1,776Arc UserYou could use the same argument to try to debunk all the damage math in the Archer forum, so why not?

So you are saying that even "luck" can be calculated. But doesn't that go against what you just said yourself?

Of course, that can be done. But you have to admit that in this game, something like that would just scream of a money-making plan and make another bunch of people quit the game.

Of course, the success rate needs to decrease. But doing that is enough. You don't need to decrease it to a point where it varies between 0 and a given maximum. In this game, the access to Dragon Orbs is limited to cash shoppers, so you would need a means of copying items to warrant a randomizer measure. And hey, that would attract quite a bit of attention.

The thing is, it's always written somewhere in the code. Someone somewhere has the required skills to get that out of the code. So someone somewhere has the requisites to find out the information needed here. And then there's someone somewhere who can use that information to get the results looked for in here. But even then, it's only averages within samples of thousands of attempts, which isn't of too much practical application, just "knowledge".

Everyone wants to be different, but when you're different you wish you were normal.

1,686Arc UserBut if the cost are reasonably close then I'd probably choose to pay a bit more for the certainty that Dragon Orbs offer.

You have way too much faith in the competency of programmers. b:chuckle

Given a choice between programmers trying the kinds of tricks you're talking about vs. those who leaves things purely to chance, I'm choosing option #1 because that's way easier for me to analyze and crack. Every variation from pure random just gives me one more route of attack to discover flaws in the system that can be exploited.

By contrast, a purely random system can be left alone and it will safely and consistently pay out at the appointed odds, no matter what tricks people try.

Only if I needed 100% predictive accuracy, which I don't. If the kinds of programming tricks you're talking about are in the game then they will show up in the statistics and reveal trends. Once they do that, then it's +12s for everybody.

PWI Merchanting Guides: warrenwolfy.wordpress.com

3,393Arc User0Arc Userhad +1 proud plate and used 2 mir to +3 b:victory

2,843Arc User2 am server time, Archo elder

L10 3-star might ring+1 - 6 of 10 attempts succeeded

+2 - 1 of 6 attempts succeeded

+3 - 1 of 1 attempt succeeded

+4 - 1 of 1 attempt succeeded

+5 - 1 of 1 attempt succeeded

I was afraid to go any higher

L9 legendary magic ring (started at +1)+1 - 2 of 3 attempts succeeded

+2 - 1 of 3 attempts succeeded

+3 - 1 of 1 attempt succeeded

+4 - 1 of 1 attempt succeeded

+5 - 1 of 1 attempt succeeded

I was afraid to go any higher

L9 legendary magic ring+1 - 34 of 65 attempts succeeded

+2 - 11 of 34 attempts succeeded

+3 - 3 of 11 attempts succeeded

+4 - 1 of 3 attempts succeeded

+5 - 0 of 1 attempts succeeded

Stopped at +0 because I only had 100 mirages left

Overall+1 - 42 of 78 attempts succeeded (54%)

+2 - 13 of 43 attempts succeeded (30%)

+3 - 5 of 13 attempts succeeded (38%)

+4 - 3 of 5 attempts succeeded (60%)

+5 - 2 of 3 attempts succeeded (67%)

In all I burned 142 mirages, which at a market cost of 15k each would be 2.13 million. I got two +5 rings out of it. Cost to make just one +5 dragon orb is currently 6.5 million, +4 orb is 2.7 million, +3 orb is 1.1 million. So I did very, very well.

0Arc Usertoday i did +3 to 3 armors and all with 3 mir 11am server time at arch

last was now

one of the others was just also 2 am !

10,466Arc Userfixed

it be a algorithmic equation. it can be solved.

b:surrender

Hawk:Do this. closing thread

frankieraye: I'll see if we can replace the woman with a stick figure and the tiger fangs with marshmallows.//Issues like these need to get escalated quickly to minimize the damage.

Kantorek: Yeah.. you should try it. It's awesome.

Sihndra: Nope- not currently possible under any circumstances. Sorry.

LokisDottir: I mean...not haunting the forums, nope nope..

Konariraiden: You don't know what you are up against. You will lose.

Waiting for...Hamster Packs!

58% chance to get tokens

41% chance to get an all class pet hamster....but they has already been freed by the magic hamster.

1% chance to get ban hamstered with the message "Hamsters United!"

[SIGPIC][/SIGPIC]

239Arc UserSakyamuni's Light from +0 to +2: 46 mirages so 23 tries b:surrender

3,393Arc User10,466Arc Userwell....we can still break teh code.

(^.^)

just not me personally....me math deducing power be severely limited.

b:sad

Hawk:Do this. closing thread

frankieraye: I'll see if we can replace the woman with a stick figure and the tiger fangs with marshmallows.//Issues like these need to get escalated quickly to minimize the damage.

Kantorek: Yeah.. you should try it. It's awesome.

Sihndra: Nope- not currently possible under any circumstances. Sorry.

LokisDottir: I mean...not haunting the forums, nope nope..

Konariraiden: You don't know what you are up against. You will lose.

Waiting for...Hamster Packs!

58% chance to get tokens

41% chance to get an all class pet hamster....but they has already been freed by the magic hamster.

1% chance to get ban hamstered with the message "Hamsters United!"

[SIGPIC][/SIGPIC]

3,393Arc UserYes you can break it. You need just infinite numbers of try.b:laugh

2,843Arc User0.98 * sqrt [ (success rate)*(fail rate) / N ]

So for the +1 data I just posted (42 of 78, or 54%), the margin of error is:

0.98 * sqrt ((.54)(.46)/78) = 0.055

In other words, there's a 95% chance that the

actualsuccess rate falls within 48.5% - 59.5%. That's already a pretty strong result even with a sample size this small.To get a margin of error of 1%, which is almost the same as knowing the exact value:

0.01 = 0.98 * sqrt ((.5)(.5)/N)

N = 98^2 * (.5)*(.5)

N = 2401

While a sample size of 2400 is large, it's much less than infinity. The point of this thread is that if we can pool our numbers together, we can reach a sample size that large more quickly.

10,466Arc User^(o.o)'

this

it be numbers

numbers be awesome....

they can be crunched and solved

me just can't crunch them.

b:surrender

Hawk:Do this. closing thread

frankieraye: I'll see if we can replace the woman with a stick figure and the tiger fangs with marshmallows.//Issues like these need to get escalated quickly to minimize the damage.

Kantorek: Yeah.. you should try it. It's awesome.

Sihndra: Nope- not currently possible under any circumstances. Sorry.

LokisDottir: I mean...not haunting the forums, nope nope..

Konariraiden: You don't know what you are up against. You will lose.

Waiting for...Hamster Packs!

58% chance to get tokens

41% chance to get an all class pet hamster....but they has already been freed by the magic hamster.

1% chance to get ban hamstered with the message "Hamsters United!"

[SIGPIC][/SIGPIC]