wtf at these numbers?
wtf at these numbers?
What about spintronics? Quantum mechanics can violate all sorts of rules about causality and stuff, so would it be possible to locally generate a nondeterministic state in a system like that?Originally Posted by divisortheory
screw that, i barely passed algebra... wait i failed it
I'd never heard of that before, seems interesting though. It sounds possible using a system like that, but of course it would require special hardware in the computer to be able to analyze the electron states or whatever. So it still wouldn't violate the principle that source of a truely random number generator would have to be a specialized piece of hardware measuring some sort of natural phenomena, and not something that can be done through a software algorithm.Originally Posted by Charla
Does this mean it is also impossible for a software routine to output different results each time it is run, if each time it is given the same exact parameters (including anything it reads for itself, like system clock, etc.)?
Yes.Originally Posted by Khamsin
Ever played freecell? It doesn't store thousands of different games. The cards are chosen at random and when you select a "game number" you are simply handing it a "seed" for the random number generator. If you want to try that game again you select the same seed and you get the same cards.
This could happen in ffxi too if you knew which random number generator it used. Collect a long enough string random numbers and you'll be able to figure out the seed and position and predict the next numbers. Practically this is impossible because so many random things are going on (monster movement, NM spawn times, etc.
Modern operating systems have pretty good random number generators though which are cryptography secure(You won't be able to predict the outcome, ever). For example they will seed themselves off the clocks. Your computer has two clocks for real time and for the cpu. By setting up a an alarm on the real-time clock and looping while waiting on the cpu clock to tick once it can count the amount of times it loops and that will always be random, than you can seed further information from there. As the operating system runs it will collect entropy from interrupts and various other activity in the system(like disk activity) that will make the RNG more.. random.
I really can't begin to describe how inadequate the subject of this thread is for cryptography though because you're trusting a source that isn't local for your random numbersHardware sources that are "good enough" have been around for a long time and used extensively in vegas (and even regulated by law I think, but not sure). Quantum based random number generation won't do that much for you unless you can trust the source (you own the bitch) and practically it isn't going to be that much more random than what we already have when using enough sources of entropy.
dilbert > xkcd
Dilbert's a strip for corporate whores
Damn hippies, cut your hair.
No.Originally Posted by Devek
Or did you mean for it to never output the same result across a theoretically inifinte number of executions each with the ability to run for an infinite amount of time?Code://BigInt is a class that represents an integer whose size is limited only by the amount of memory in the machine. BigInt NextNumber(int ArbitraryParam1, double ArbitraryParam2) { static BigInt Value(0); return Value++; }
Yep you misread that.
in that case write a network server with the function listed above, and clients connect to the network server to get the next number.Originally Posted by aurik
Eventually the server will crash because it ran out of memory and have to be reset at which point it will start generating the same number again. However, the person asking the question said "does this mean that it is impossible". i.e. does one follow from the other. The answer is no. The reason it is impossible for software (or any machine) to generate a different output every time it is run is due to the fact that machines have a finite amount of memory.
You're still misreading it.
Enlighten me then.
sounds equivalent toDoes this mean it is also impossible for a software routine to output different results each time it is run, if each time it is given the same exact parameters (including anything it reads for itself, like system clock, etc.)?
Is it possible to write a program that never generates the same output under any circumstances? If not, is it due to the fact that software alone cannot produce truly random numbers?
The answer to the first question is No, and the answer to the second question is No.
The static data area qualifies as a parameter under his question, therefore you can't vary it from run to run.Does this mean it is also impossible for a software routine to output different results each time it is run, if each time it is given the same exact parameters (including anything it reads for itself, like system clock, etc.)?
I ran into a website very similar to this at the beginning of my summer when I was writing some software and was just interested in "truly random numbers". A coworker passed it off to me. I forgot the name of it but it was based on a similar idea with the random process of decaying elements. You would request a certain amount of numbers and they'd use their service to securely give you those random numbers.
You misread it.. he asked if a program with the same inputs would produce the same results each time it was ran and it will. Until algorithms magically get minds of their own and decide to answer 4 one day instead of 2 it will always be that way. Come on man...Originally Posted by divisortheory
If you're talking about a program that always generates unique data... well obviously a program with finite resources can only provide a finite set of unique answers. Next thing you know you'll respond that water is indeed wet but I have no idea what that has to do with any question posed in this thread.
Except that, even when algorithms and/or computers do magically get minds of their own and decide to answer 4 one day and 2 the next day, it will STILL only be able to output a finite set of values due to the fact that the value will have to be contained in a FINITE AMOUNT OF MEMORY, and a finite amount of memory can only represent a finite number of values. Therefore, the limitation that a subroutine can only generate a finite number of values is a direct consequence of computers having a finite amount of memory, not a limitation imposed by pseudo-random numbers.Originally Posted by Devek
If you want to start talking about computers with infinite amounts of memory, please say so because that will change the discussion entirely. I was working under the assumption that the person who posed the question was speaking of machines which are not theoretically impossible to create.
Even with a true hardware RNG which relies on photonic emission in semiconductors, the answer to the original question is a resounding NO, because to satisfy the constraints of the problem you can't make use of the photonic emissions, since they would constitute an input and obviously will not be the same every time.
Why don't you spew more technobabble instead of admitting you misread the question?