The problem with the entire concept of a random number being 'not predictable' is that that is impossible to start from
you can obfuscate it out of human comprehension and make it very difficult mathematically
How can you define a number without having a way to define the number?
The problem with predictability is that you would have to know all the information history and that is impossible to start from.
This is not a problem in deterministic systems.misterT said:The problem with predictability is that you would have to know all the information history and that is impossible to start from
What is it good for then? I mean what are the potential uses of pure random data.. I have some in mind (monte carlo methods, compressed sensing.. etc.), but those can be done perfectly well with pseudo RNG.
...
()blivion said:I was under the impression that there was the the real random part, coming from the mains line sensing... then some PRNG firmware in the PIC? I guess we are not talking about your OTHER PIC RNG stuff eh? So your saying the random number component is fed raw into a PC for further use?...
()blivion said:I was under the impression that we were gathering our data from inside/under the noise floor? Even though mains is high current/voltage and low impedance, the noise area should be a "fragile" realm, prone to all sorts of influence. Though, now that you mention entropy+pattern = entropy, it may not matter either way. Since adding any kind of influence would be helping, not hurting the randomness... Correct? I still think with this current system there are still ways for (B) though. ...
Sceadwian said:The problem with the entire concept of a random number being 'not predictable' is that that is impossible to start from; all random numbers depend on some form of predictability...
Now if someone wants a clever challenge... "Chaoscillator"
... the unpredictability exists in the AC mains waveform shape and timing, both being affected by everything connected to the mains. All power factors, currents drawn, surges and spikes from appliance events etc. That noise component was measured and is +/-50 to 100 counts on every mains half cycle.
So the random number generator only has to calculate the digits of pi to be truly random..
I could predict those "random numbers" using MrRB's Hardware RNG. If a number sequence is infinite (not repeating), it does not mean it is random.
Mr RB said:That is correct, the unpredictability exists in the AC mains waveform shape and timing, both being affected by everything connected to the mains. All power factors, currents drawn, surges and spikes from appliance events etc. That noise component was measured and is +/-50 to 100 counts on every mains half cycle. Also my simple algorithm hashes three bits from totally different mains cycles, so events that affected one cycle may not have affected the others, blending and improving the overall entropy.
()blivion said:...Analog LFSR like device.
Take a delayline, such as a pizeo unit with multiple taps, power one end of it with a low-Q oscillator, use Op-Amp circuits to feed the instantaneous signal at said taps back into the system in a quasi-XOR fashion. Make a few more taps at any point, doesn't matter. And feed all data points into some A2D converters. The various states will depend on other states from other times + temperature + oscillator frequency.
MisterT said:I would be very interested to see (somehow) if the AC mains noise has a fractal nature.. like noise in (digital) communication channels is very likely to be fractal. Cantor set or similar. I think even the Die Hard test does not test for fractal patterns. Fractals could also be an interesting starting idea for your clever challenge.
...
MrAL said:... It has to be an infinite sequence, so lets do that then.
Back some years ago this would be much harder to do, but with today's computers with their huge memory space it's not as bad.
We need an infinite sequence, ie one that is truly infinite in nature. Here we can start with the number pi, the one we are all so familiar with:
3.14159...etc, etc.
MrAL said:... Another idea is to generate random length ramps using a microcontroller and resistor and capacitor. Using a standard pseudo random generator in the uC, the ramps it creates with the R and C are then ADC sampled at random times determined by another random generator and noisy one shot with it's output time partially obtained from the previous sampling result. Should give some very hard to predict numbers.
MrAL said:... Another idea is to generate random length ramps using a microcontroller and As Eric also mentioned every generator repeats at some point, but one that does not EVER repeat has got to be pretty nice. ...
()blivion said:... "chaoscillator"
IMO, A working chaoscillator will be purely analog memory, and will have a sufficient amount of positive feedback that the signal control becomes totally unstable. A "signal ouroboros" if you will. It wouldn't hurt to have other forms of "random" input as well, to help change it up a bit.
Scaedwian said:... this might seem like pedantry but RNG's are taken VERY seriously in some circles and mathematically speaking there is no possibility of a truly unpredictable system ...
Scaedwian said:... Here's something a little lighter to consider. Tonight's winning pick 4 in Ohio was 2223. That sequence appears in pi (excluding the initial 3) at positions 14,668, 25,469, and 35,271. Isn't it just amazing they are each about 10E4 apart?
...
[pi as number generator]
Good to have you onboard.There are a couple of issues with Pi and similar systems. I proposed a non-repeating Pi based algorithm system in a previous thread discussion with MisterT, but it is non-random in that if someone has some previous data it is easy enough to find the location within Pi and know all future data. Also the idea of "generating an infinite length non-repeating string" is flawed as it cannot be done by a computer as no computer has an infinite number of states. Essentially to generate ANY infinite length non-repeating string the PC needs to have and process the data of all previous states, this applies to calculating Pi too. So it just runs out of memory.
[pseudo random number generator to real world ramp generator + sporadic ADC sampling]
An excellent Chaoscillator idea! It's not entirely self contained being that it uses some math processing as part of the loop, but sounds workable. I particularly like RC solutions because of their simplicity and ease of simulation and 'scoping, and because RC slope->digital input triggering points are always unpredictable within some uV or even mV.
Only a closed loop algorithmic generator with a limited number of states has a global repeat. Something based on real world entropy (like my hardware RNG) doesn't repeat. Only the normal repeats of small data sections determined by normal random statistics.
Very cool,but hardly amazing. The fact that Pi conforms to a mathematical relationship means it is highly likely that there are numerous strong frequencies, you probably just discovered a frequency where Pi reacts with base 10 at roughly 10e4. Even though Pi is without an exact repeat it may have strong data trends at certain frequencies. That's probably a great argument AGAINST using Pi for RNG seeding?
Do you have a link to some Pi data >1Mb or so? I can run it through my entropy display software and see if it shows obvious trends.
I think that would qualify as a Chaoscillator, and it's a clever idea using different taps into an electromechanical device like a piezo delay line. The down side I think would be the complexity and need for specialsed hardware, multiple ADCs, difficulty simulating etc.
RC slope->digital input triggering points are always unpredictable
Do you have a link to some Pi data >1Mb or so? I can run it through my entropy display software and see if it shows obvious trends.
misterT said:I would be very interested to see (somehow) if the AC mains noise has a fractal nature.. like noise in (digital) communication channels is very likely to be fractal. Cantor set or similar. I think even the Die Hard test does not test for fractal patterns. Fractals could also be an interesting starting idea for your clever challenge.
I guess if you knew that we would be using pi itself all by itself then it may not be too difficult to find a stream of data that matches your given stream, but that doesnt mean that you found the right stream.
Believe it or not, this is just like a pseudo random number generator algo except the PRNG repeats while pi does not repeat. The fact that we find similar strings in multiple places doesnt mean anything. Let me give a counter example...
we have the string 314, what is the next number?
If we start from the very beginning we would see 314 and then a 1 (as in 3141592) but how do we know the sender was starting at the beginning and not some other place in the multitude of digits?
To find out what would happen with another location instead of the 'correct' one we would look at more strings. We would find strings 3140, 3141, 3142, etc.. up to 3149, so that means we didnt do any better than if we just guessed 10 times. And it is the same with an PRNG as we could see the same string 314 to start with and then see 10 combinations of 314x.
So what is the difference?
The difference is that the PRNG must repeat due to the limited precision of the algorithm, while given enough computing time pi never repeats. Yes sub strings repeat and that is just nature, but once you think you've found a sub string that identifies the exact position in the digits of pi you look at one more digit and find that it's not really the right place.
Normally when i say 'generator' i mean an algorithm that is purely mathematical in some way and does not include real world chaos of any kind.
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?