Announcement

Collapse
No announcement yet.

A Random Number Generator doesn't exist! (somewhat technical)

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • #16
    Originally posted by Nagel
    THERE IS NO SUCH THING AS RANDOM.

    Even if you have a quantum device, it won't be random. You put something in, and you can predict what will come out. It's as simple as that. The only thing that COULD be "random", eg unpredictable is the free will. But that is debatable.

    Hope I didn't blow your philosophical shells now
    Er, what? The quantum states are random. That's a fundamental tenet of quantum mechanics. Truly random, not just approximately.

    eclarkso, oops, right. Radioactive decay would be a lot simpler. That'd be easy. You just need some of that tritium like for watch dials or something.

    Comment


    • #17
      Originally posted by Rasputin
      well my excel program certainly generates a random number simply enough, just type in to any cell =RND() then hit F9 and see it give different numbers each time !!!!!!!!!!!!!
      Its not random.

      Run millions of test, graph them, and you'll see its not an even distribution.

      Comment


      • #18
        which is waht makes it random, if you can graph it it isnt random,
        GM of MAFIA #40 ,#41, #43, #45,#47,#49-#51,#53-#58,#61,#68,#70, #71

        Comment


        • #19
          As I see it, people are complaining about two things about the PRNG:

          A) That strange results occur in combat (i.e. the so called "the PRNG is broken"-school.
          B) That the results are exactly the same if you reload and try again

          Now, as many have shown, case A is not true. The one simple answer to "strange" results is due to the low number of hit points of units. Remember that units in Civ3 only have 2 to 5 hit points, while they in SMAC had 10-40. In Civ3, there is not time to get an even distribution of random numbers, since the number of die rolls is so low.

          Case B, again, can be used in your favour just as much as against you.

          Comment


          • #20
            Originally posted by Karhgath
            Time is NOT random, as 2 people generating the number at the exacte same time will have the same random number. For the same person tho, it looks like random, but remember, it has a cycle, so it is still not random. However, 2 people using dice at the exact same time will most likely not get the same result(although it is probably quite hard to achieve, hehe, if not impossible, so my point could not old). In fact, in the world, true randomness could even not exist at all, as there is SO much variables in the world that there could be a big unified formula that governs everything =) However, I disgress.
            Your claim that 2 people generating the random number at the same time is correct, however with a "classical computer" (as you put it) it is imposible for 2 people to perform an operation (such as a random number operation) in the same clock cycle. Hence the two guys could not get the numbers simultaneously. What is ussually done is that if a series of random numbers is needed is that the time is used as a seed. From there random numbers are generated, and a program can reseed where nescesary.

            So the random number generation is based on the time that this seed is placed into the random number generation. Think of all the factors that go into determining the time that this operation is conducted. If you consider that time T (and remember where talking absolute time) that the nth step in a program is going to execute on (ie the seed random number step) as a deterministic function, you got yourself a doozy. Because there are a million factors that go into this that might as well make it random, first you have when the user decided to execute the program and the whims of users brains (so a 100% accurate model of human behaviour is needed). Then once youve figured out at what time a user will initiate a program, you have to figure out at what time the computer will get to that command, and computers can be almost as complex and unpredictable as people. So good luck.
            "What can you say about a society that says that God is dead and Elvis is alive?" Irv Kupcinet

            "It's easy to stop making mistakes. Just stop having ideas." Unknown

            Comment


            • #21
              Actually, while re-seeding with the current time in milliseconds when the user clicks on something isn't strictly speaking Truly Random (TM), it is close enough for any practical purpose. Even if two users load the exact same saved game at the exact same time (which already is an improbability), the probability that they'll click on the enemy unit in the exact same millisecond is low enough to mean they'll likely get different dice rolls. Again, it's not Truly Random (TM), but it's a close enough illusion.

              Either way, I think what most users complain about is Hurry's point B. Most users couldn't tell a LCG from a true die roll if it came and bit them on the rear -- and in all fairness, that's the whole point why pseudo-random number generators are OK -- but they can tell if reloading 10 times in a row produces the exact same result. If Firaxis didn't save the random seed, noone would even need to know how a random number generator works.

              And his point A is actually the other half of the problem. That problem lies not as much in the generator, as in the combat model itself. This kind of weirdness would happen with real dice just as well. Try it.

              But it's not only the hit points that are the problem. Attack and defense values change very very little through an upgrade, which means most of the time units that are 1000 years apart in the Real World, barely have a slight advantage in the game. If those units were called "generic offensive unit 4" and "generic offensive unit 5", I think noone would have a problem with it, but you do expect a company of Marines to be a lot more able to defend against a company of Longbowmen than is the case in the game. The squad support weapons alone of those marines would be perfectly able to either suppress or mow down those longbowmen (depending on if they're smart enough to take cover), before they get anywhere near the range to shoot a single arrow.

              Or to take some actual historical example, in real world history, riflemen had a huge advantage over smoothbore musketmen. Not only they had 2-3 times the range, but also accuracy and the tactics they could use. If you tried the "walk up to 100 paces, shoot twice while standing, then charge with the bayonet" tactic, which was standard for smoothbore musket companies, against riflemen, you'd be dead. The huge numbers of casualties in the US secession war was precisely due to that kind of mistake.

              Also the existance of different attack and defense values, and the TOTALLY UNINSPIRED use of it, makes it even worse. Things that are obvious for anyone who knows any history, or at least saw a movie, are exactly the opposite of what's in the game. Longbowmen are OFFENSIVE units? Hello? Care to tell the British that their use of longbowmen at Agincourt was all wrong? Unless I totally forgot history, the French got their rear handed to them, because they made the mistake of thinking longbowmen are defenseless against an attack. Throughout all history archers were excellent defensive units, not a case of 4-1-1. Most castles were defended by archers on the walls, not only by pikemen.

              To make things worse, obvious combined arms tactics don't work. E.g., if you have archers and pikemen stacked together, you'd expect the archers to fire a volley before the melee starts. You know, like catapults do. Because that's how battles worked ever since mankind discovered missile combat. But guess what? In this game archers are a melee unit, so that doesn't happen.

              Comment


              • #22
                Originally posted by sophist
                Someday all computers will have a quantum device within to allow true random number generation by measuring quantum properties that are effectively random.
                Maybe this is not that future technology. I have such device in my lab here in Olomouc. It is based in splitting weak light beam on a fiber optic beamspliter and detecting single photons by sensitive detectors. We used it for generation of very high quality random numbers. It is much simpler and easier to use even than the radioactive decay thing. It is placed in a box 25x20x10 cm and connected through parallel cable to my computer. But in principle it can be placed even on a PCI board. I know about at least three other quantum optics groups in Europe that routinely use such devices.

                Originally posted by Karhgath
                Yeah, but until then, classical computers are unable to do it =) quantum computers are a LONG way ahead, and will change a LOT of things. Until then, we're stuck with classical science and classical computers =)
                You can do a lot of things mixing quantum systems and classical computers even today (mainly quantum cryptography and related things). But I agree that quanutm computers will bring a whole new world. Hard to say how far it is, the progress is very fast but there is still a lot to resolve.

                Comment

                Working...
                X