Please upgrade your browser for the best possible experience.

Chrome Firefox Internet Explorer
×

Reverse Engineering is not 20%

STAR WARS: The Old Republic > English > Crew Skills
Reverse Engineering is not 20%

Darth_Sweets's Avatar


Darth_Sweets
02.11.2013 , 10:41 PM | #21
You're dealing with a random number generator. As a software developer, I can say with confidence that implementing RNG is very easy.

I can tell you that you have never made a random number generator, if you have you wouldn't make that statement because there is no such thing as a true random number generator. They all have a bias the only question is can you live with the inherent bias.

Khevar's Avatar


Khevar
02.11.2013 , 11:28 PM | #22
Quote: Originally Posted by Darth_Sweets View Post
You're dealing with a random number generator. As a software developer, I can say with confidence that implementing RNG is very easy.

I can tell you that you have never made a random number generator, if you have you wouldn't make that statement because there is no such thing as a true random number generator. They all have a bias the only question is can you live with the inherent bias.
Try to reduce the snark. You misread my statement. I said "implementing RNG is very easy"

The reason I said that is almost every programming language has a number of built-in rng functions. And if these are not adequate for your needs, there are a number of publicly available crypto rng functions which are much more robust, easily available and have a much less predictable pattern.

I have built a program using computerized rng to roll 2 six-sided dice, and tally up how often different results came up. To do this, I didn't have to write my own RNG, I used one that was already available. It's a safe bet that rather than re-write an RNG from scratch, the Hero engine uses some already created package. Therefore, it is easily implemented.

In my craps program (above) I compared these results to published and known probabilities of craps rolls. The larger the sample size, the close the computer rng game to published probability.

What does this mean? Given a large enough sample size, computerized RNG can match actual probability.

This point, which you have yet to acknowledge, is 100% applicable here. Why is it applicable? Because SW:TOR is a computer game, and is using some sort of software-based RNG to calculate reverse engineering success.

If you are trying to posit "Reverse Engineering is not 20%" you need a larger sample size. Savvy?

DataBeaver's Avatar


DataBeaver
02.12.2013 , 02:12 AM | #23
Quote: Originally Posted by Khevar View Post
Try to reduce the snark. You misread my statement. I said "implementing RNG is very easy"

The reason I said that is almost every programming language has a number of built-in rng functions. And if these are not adequate for your needs, there are a number of publicly available crypto rng functions which are much more robust, easily available and have a much less predictable pattern.
You are mixing up implementing an RNG with using it. It's easy to use an existing RNG to implement other algorithms that need randomness. However, implementing the RNG itself can be quite difficult.

There are some types that seem deceptively easy (LFSR and LCG come to mind), but they need careful selection of parameters or they'll produce very poor quality randomness. There are some others which involve more complex math but produce very high quality of randomness (like Mersenne twister). There are yet others that produce cryptographically secure random numbers but are computationally more expensive and thus unsuitable for high-throughput applications. A small error in the implementation of any RNG can significantly reduce its quality, so in most cases it's indeed best to use an existing implementation.

Khevar's Avatar


Khevar
02.12.2013 , 09:44 AM | #24
Quote: Originally Posted by DataBeaver View Post
You are mixing up implementing an RNG with using it. It's easy to use an existing RNG to implement other algorithms that need randomness. However, implementing the RNG itself can be quite difficult.

There are some types that seem deceptively easy (LFSR and LCG come to mind), but they need careful selection of parameters or they'll produce very poor quality randomness. There are some others which involve more complex math but produce very high quality of randomness (like Mersenne twister). There are yet others that produce cryptographically secure random numbers but are computationally more expensive and thus unsuitable for high-throughput applications. A small error in the implementation of any RNG can significantly reduce its quality, so in most cases it's indeed best to use an existing implementation.
Implement: v. "To put into practical effect; Carry out."

If I were to implement Google Analytics on a website, I surely wouldn't be writing Google Analytics code from scratch, I would be taking existing code and adding it or adapting it to the page.

As to the points you're making about RNG, I agree.

My point remains, however:

The Hero engine may have a poor implementation of RNG. It may even possibly (as the OP is claiming) not be 20%, or be broken in some way. But his current sample size is inadequate to demonstrate that. That's all I'm trying to get him to understand.

psandak's Avatar


psandak
02.12.2013 , 12:41 PM | #25
Quote: Originally Posted by Frostbyt View Post
pretty sure OP knows a lot more about probability and RNG then you
But that does not make his statement invalid.

I quote the TV series Numb3rs...

Quote:
Charlie Eppes: Lady luck, chance, randomness... Human beings, truly, have a hard time understanding it. Raindrops fall randomly. Now which of these two images best represents raindrops falling on a sidewalk? Is it image A?
[grouped pattern]
Charlie Eppes: Image B?
[even pattern - the class chooses this one]
Charlie Eppes: Okay. You're wrong. Our brains misperceive evenness as random, and wrongly assume that groupings are deliberate. Because of this people make all sorts of irrational decisions. Like, they won't work in a high rise building, or they're afraid to live in an earthquake prone area. And yet mathematical assessment tells us that you are far more likely to suffocate in bed than you are to you are to die in a terrorist attack. You are ten times more likely to die from alcohol than from being in an earthquake. And it is three times more likely that you will be killed while driving to buy a lottery ticket than it is that you will win the lottery.
Getting back to the RE RNG. Just because ONE player has a bad streak of 10 REs not producing a schematic does not make that cluster deliberate and the system broken. On the flip side just because one player manages to get three schematics in three REs also does not make that cluster deliberate and the system broken.

My point is that doing statistical analysis of RE events from one player's perspective is an inherently flawed experiment. Now if you could get a thousand players to do 500 REs each....then you are dealing with a reasonable sample size. But even then, "reasonable" is relative. There WILL be a margin of error of several percentage points. The greater the number of participants and the greater the number of attempts the more likely the final tally of results will be the expected result of 20%. And Bioware actually has the data from EVERY player, on EVERY character, and EVERY RE ever done. Do you REALLY think that if the system were actually broken that BioWare would not fix it? If so, you better get your tinfoil hat out

jasonthelamb's Avatar


jasonthelamb
02.12.2013 , 01:51 PM | #26
I've RE'd at least 30 BH Implants and have 1 schematic.. the force is not on my side.

criminalheretic's Avatar


criminalheretic
02.12.2013 , 04:08 PM | #27
Everybody in this thread - "Math math math math math, I'm smart, math math math, you're wrong, math math"

The only answer that matters:

Whenever you have RNG, people "feel" like they come out on the wrong side of the equation. People being mad at your game all the time = bad. Implement a system where you have a specific # of attempts to achieve a schematic. You have to RE 5 greens to get a blue, and 10 blues to get a purple. I'll gladly trade the "joy" of getting a schem on my 3rd attempt, to rid myself of the frustration of not getting one by the 37th, and then we are still making the investment in creds/mats/time etc.
What we don't understand, we can make mean anything.
Hyperspace Cannon -> Drooga's -> The Harbinger

Kahndraga's Avatar


Kahndraga
02.12.2013 , 04:58 PM | #28
Apperently what i said has stricken close to home with sombody cause they felt hurt and reported me LOLZ.

You are thinking to much into this guys really its 20% for each individual piece you RE.

Now then, who didnt like my equation? Was the math wrong? 1x0= No chance
-Warlord Kahndraga MacTavish-
-Major Llamatoe MacTavish-
OFFICER of F.O.A.D.
"F*@% Off And Die"

Cleet_Xia's Avatar


Cleet_Xia
02.12.2013 , 06:04 PM | #29
Quote: Originally Posted by Darth_Sweets View Post
Reverse Reverse
Engineering Engineering
Attempts Successes
9 - 1
15 - 2
5 - 1
6 - 1
1 - 1 36 - 6 = 16.66%
5 - 0
5 - 1
5 - 0
10 - 1
19 - 5 80 - 13 = 16.25%
15 - 4
8 - 2
10 - 2
10 - 2
1 - 1 124 - 24 = 19.35% <----
24 - 7 148 - 31 = 20.94% |
10 - 0 158 - 31 = 19.62% E ===== Hmmm.... interesting....
7 - 2 165 - 33 = 20.00% |
5 - 0 170 - 33 = 19.41% |
9 - 2 169 - 35 = 20.07% <----
10 - 1
5 - 1
5 - 0
10 - 1
10 - 0 209 - 38 = 18.18%
10 - 1
10 - 1
10 - 0
4 - 1
15 - 0 258 - 41 = 15.89%
9 - 2
10 - 1
5 - 0
5 - 0
5 - 0 292 - 44 = 15.06% <--- after this point is where it fell into the outland
10 - 1 302 - 45 = 14.09%
5 - 1 307 - 46 = 14.98%
10 - 1
10 - 0
5 - 0 332 - 47 = 14.1%
2 - 1
5 - 0
10 - 0
7 - 1
13 - 2
8 - 1
15 - 2 392 - 54 = 13.77%

This gives a 13.4 percent mean. Using a standard confidence calculation with 99.7 percent boundary if 20 percent is the true mean as defined in the tool tip the average for the sample above should be between 14.3 to 25.7 percent. With the mean sample is out of the 99.7 boundary that mean that it is almost impossible that the 20 percent is the true rate of getting a new plan.
1) If your next 169 results played out like your first 169 you'd be looking at a 561 - 89 = 15.86%..... which is within your boundary.

2) If you were to add another sample this size that were a similar outlier but full of successes (say 392 - 98 = 25%)

that would give you.....784 - 152 = 19.38%

3) 0.03% is not anywhere close to "nearly impossible" for a sample this small out of the millions of RE checks that happen over the timeframe that you collected this sample.

4) This is a sample size problem. And that is illustrated by how rapidly your % successes is still changing over half way through the sample. 3 additional succeses would have brought your results within your boundary.
~Master Telagtun Telag of Lord Calypho~

NotRonin's Avatar


NotRonin
02.12.2013 , 07:33 PM | #30
You do not need 10,000 data points. 400 is more than enough.

Whenever someone mentions random number, you'll get all these people with no understanding of probability coming out and say 'you need a bigger sample size'. You don't. The bigger issue however is that 20% is the mean, it doesn't tell you anything about the "distribution". Suppose the 'random number generator' goes like this : fail for the first 800 tries, and success for the next 200. The mean is still 20%, however it's not evenly distributed over time.

According to the data the OP has gotten, there is a 99.7% confidence interval only applies if it's a random even distribution. Most programs, when you use the default 'random' function, suffers from this. This is why when you run something in Python or Excel, you will gets a lot more 'streaks' compared to what the theory indicates.

True randomness is hard to do, most implementation uses 'psuedorandom'. For instance, you can start off with 1000 numbers in a box, scramble them up, and then pick one of them out until no number is left. What number you get will then depend on what number has already been picked out, and you're prone to more 'streaks' because of it.