If this is your first visit, be sure to
check out the FAQ by clicking the
link above. You may have to register
before you can post: click the register link above to proceed. To start viewing messages,
select the forum that you want to visit from the selection below.

Anything but Random

From programing we know that nothing happens for a random reason. Errors, or fluke results are all due to an unforseen proccess, BUT its not random. So this leads me to wonder what is a random number. For computing my guess is that they use a function to spit out arandom number. But the function must have a varible input, otherwise we would always get the same return. My guess is that all funtions that produce a random number or string must be based off the system clock? If this is true, couldnt built in random number generators provided by Microsoft Visual Studio be reverse engeneered so that one could predict a random number? IF so This could be a security issue if Passwords were randomly generated... I hope this makes sense.
~Poe

You're right. Most random number functions rely on a "seed" and that seed usually comes out of the system clock. However, even if you could reverse engineer the function to predict the number, it's still nearly impossible to guess a randomly generated password since for that, you'd have to know the time at which it was generated down to the last millisecond. Finding that out is nearly impossible, since there are 60000 milliseconds in a minute, 3600000 in an hour and 86400000 in a day. Needless to say, that's a hell of a lot of possible seeds.

You are actually on the right track with this (or at least some think) there is a man doing research on this and says, "he found a way," or "he is on the brink of finding it." I misplaced the link to the site but there is a complete site on it. Just google for it.

I really haven't made an opinion on this subject. However I feel that all things are possible!

The only "true" random number generators are they made on hardware, using signal/noise that cant be predicted (yet).

One could argue that as soon as it can be predicted, it's not random anymore. As soon as the signal/noise you're talking about can be predicted, those random numbers will become nothing but pseudo-random numbers.
Entropic sources are right now an excellent basis for random numbers, but that's only based on the fact that there are so many factors involved that it is too hard to predict it. And as soon as they become predictable (not likely to happen very soon, but possible), there goes your randomness.

Compare it to rolling the dice. Most people would say that that's completely random, but I don't think so: if you take into consideration gravity, the movement of the solar system, the movement of the person throwing the dice, the bounce-factor of the table, the hardness of the dice, wind, and billions of other factors (I guess you could say that the breathing of every single person on this earth manipulates how the dice roll) you don't have randomness anymore.

I don't even believe that there is one source out there that can be called completely random.

Some programs generate their "random" numbers based on the way a person types the input (time between each key stroke). I'm pretty sure this is true for encryption programs such as PGP or GnuPG. Seems like this is a pretty good source of randomness because as someone types in their passphrase, they probably aren't going to type at a completely consistent rate.

As far as Visual Studio goes, I'm pretty sure the clock is used for a seed for random numbers. In VB it uses the Timer variable as a default when no seed is given. This variable holds how many seconds have passed since midnight.

I agree with Negative. I don't think that anything is completely random. But there are some things that are less predictable than others.

Negative, excellent point. Now, I just can't help but reply to this thread. Some time ago, I read a book on chaos physics and your particular response (along with this thread about randomness) reminds me of something called the Lorenz Attractor (strange attractors) and another idea known as the Butterfly Effect (sensative dependence on initial conditions).

Entropic sources are right now an excellent basis for random numbers, but that's only based on the fact that there are so many factors involved that it is too hard to predict it.

Perfect example of the Butterfly Effect. Not only does this work with rolling dice but also many other instances, such as long term weather prediction. The problem being is, that you could have seemingly indentical initial conditions but all it takes it one of the countless factors to change, even if on the smallest of scales, and the outcomes can vary drastically (I refer to a very famous controlled experiment that was attempted to replicate weather patterns based on indentical initial conditions). Predicting these outcomes is nearly impossible simply because of the vast number of factors influencing it.

if you take into consideration gravity, the movement of the solar system, the movement of the person throwing the dice, the bounce-factor of the table, the hardness of the dice, wind, and billions of other factors (I guess you could say that the breathing of every single person on this earth manipulates how the dice roll) you don't have randomness anymore

You're absolutely correct. now if we could just get rid of those annoying billions of factors .
Now, the reason I mention strange attractors is simply because no matter how random something may appear to be, sometimes it still follows a loose pattern. Think of a flag fluttering, cigarette smoke rising from the cigarette, etc. Although the actions may never replicate exactly, they also don't vary drastically either. They seem to follow an observable pattern of some sort. So, it seems that there may exist, a pattern even in the most random of events.

I don't even believe that there is one source out there that can be called completely random

On that, I agree with you. But, applying pattern to something seemingly random to a point where it has a very precise, predictable, behavior? that's another story.

The object of war is not to die for your country but to make the other bastard die for his - George Patton

Randomness is really just our term for any sequence of events that lies beyond the threshold of predictability. "Suitably unpredictable" might be a better term, but I digress.

As for the original point, for now it is random enough to be suitable for our current needs, but as processing power increases it may well be possible to predict things like interference. That being said, there would be other problems with predicting it, and it is (IMO) going to prove to be one of those things that yields diminishing returns.

Chris Shepherd
The Nelson-Shepherd cutoff: The point at which you realise someone is an idiot while trying to help them.
\"Well as far as the spelling, I speak fluently both your native languages. Do you even can try spell mine ?\" -- Failed Insult
Is your whole family retarded, or did they just catch it from you?

guys that is some real deep stuff, and i enjoyed reading, esp about the butterfly effect, really interesting stuff, anyways isnt a completly random generated characters could be from a human and not a machine, because not everybody thinks alike and that COULD be completly random, maybe im wrong

The thing that interests me the most about the randomness is how it relates to compression.

There are a lot of factors involved, including what kind of predictability the compression algorithm is designed to remove (RLE off the top of my head, don't know about others), but generally the compressed output is considered to be heavily random. When you can no longer compress something, at least in the scope of the compression algorithm used, that is considered perfectly random. Of course, different algorithms have different points of view on what is random.

To an RLE (Run Length Encoding) algorithm, this is considered perfectly random ("qwertyuiop") while this is not ("qoiipowwittt"). RLE compression detects duplicate characters like "ttt" and can compress them in special ways. I'd imagine that there are other algorithms that would consider the first example to be non-random (it might detect the characters are just a run along the top row of a keyboard) while the second example is somewhat more random since it can't be compressed as much by it besides the duplicate characters. But the compressed output would in the end be considered strongly-random.

Those definitions and limited views on what is random is interesting to me. I'm not going to devote my life to studying it (although I will become an Engineer/Scientist), but whenever I can I love to point those things out. Cheers.