Most, if not all, state lotteries use those ping pong ball machines for their televised drawings.
Just what degree of randomness can be acheived with these? I mean, the balls go into the bin in the same order every time, bounce around for a few seconds, and then the selections are made. It seems like an insufficient amount of time to really mix things up.
Clearly, a properly constructed computer program could generate truly random numbers faster and better, and this is what is used when you do a “Quick Pick” at the lottery dealer. But my theory has always been that using a computer to do the actual drawing, while probably statistically more random and therefore fairer, would never be accepted by the average lottery purchaser, who would be suspicious of a process that cannot be seen (i.e., the balls are visible – the electrons are not).
Yes, I’m certain it’s long enough to mix things up. If the rate of appearance in successive lotteries of each number, over a statistically representative period of time, appears to be random, then it surely is.
Incidentally, the British Premium Bonds, which are a lottery in all but name, have been selected by a computer random number generation for decades, without any quibbles that I’m aware of.
a computer can’t generate a random number at all. there are some good algorithms to create number sequences that are really close to random, but they’ll never be truely random example rn link - there’s plenty of others (just google “computer generated random numbers”)
i don’t know the details of lottery drawings, but bouncing ping pong balls seems like a good tactic to get randomness.
it’s the same idea as a roulette table.
The OP raises a very good point with regard to the randomness of ping pong balls; with all the factors affecting each ball (e.g. collisions with each other and with the sides of the container) how do we know that it is random at all? I tried bringing up this point in a GD thread about consciousness (trying to argue free will) but it never got answered.
In theory, if the balls were always initially laid out in exactly the same arrangement and spun at exactly the same rate for exactly the same amount of time, the results should come out the same every time.
Ping Pong balls have been tampered with, using white-out/glue type materials injected into some of the balls. I believe PA had the most notorious case. But that involves cheating. If there is no cheating, i.e., the balls are carefully measured to make sure there is no sig. difference in weight, balls are randomly selected from different groups, etc., then no worries.
“Anyone who considers arithmetical methods* of producing random digits is, of course, in a state of sin.” John von Neumann (1951).
*That is, “computational methods” in today’s terms.
But there are very good sources of random noise that have been used to produce random bits as add-on devices in computers. Extremely useful for generating random cryptographic keys. But since software can always be easily fiddled with, I wouldn’t trust a lottery that used a computer.
It’s perfectly possible for a nonpredictible element to be introduced, which in turn can randomise the number system present so as to provide a quasi-random system. The nonpredictible element can be something as simple as ‘how long between entering the first and second letters of the username’.
But we don’t live in a world of theory, we live in a world of reality.
In reality, the balls are never laid out in exactly the same arrangement and are never spun at exactly the same rate for exactly the same amount of time. And not only that, but the environment in which the events occur are never exactly the same each time. The things you mention - “all the factors affecting each ball” - don’t prevent randomness, they cause it. Just the sheer overwhelming number of changes that occur from every tiny little thing that happens, from the amount of humidity in the air to the tiny indentations to the cage that result from thousands of collisions, ensure that a statistical randomness ensues.
We don’t live in a clockwork universe, even in theory. Quantum mechanics takes care of that on the small scale and time takes care of that on the large scale.
FYI - Most computers use the system time as the “nonpredictible element.” The computer can’t predict at what second you will start up the program, so it’s a reasonably random seed value for the psuedorandom sequencer.
Vegas slot machines often use a computer to generate a random (or rather, psuedorandom) number. The wheels going around are all for show. Once you pull the lever your fate is sealed. The ROM chips in these computers are regulated to prevent cheating, and quite a bit of effort goes into the regulation. Someone has to pour through all of the code and make sure that the machine really does generate a random number. It’s much easier to regulate ping pong balls than computer ROM chips.
It is possible to generate random numbers electronically, just not with your typical desktop PC. What you need is a circuit called a “noise generator” and you connect this to the input of an A/D converter. A PC has no hardware of this sort, and therefore can’t generate true random numbers. This type of number generation is very rare in computers, but is done on occasion.
FWIW, a popular fuel for noise generators is radioactive decay. Point your geiger counter at a chunk of uranium (or whatever) and count the time between decay events.
I think Intel was going to build random number generators into its chipsets that used “thermal noise from a resistor”. I don’t know if anything ever came of it though… the documentation on Intel’s site appears to be somewhat out-of-date.
it sounds like the lotteries aren’t just relying on the balls bouncing in an airstream. they also use different draw machines and different sets of balls, which themselves are selected randomly.
Actually, all intel chipsets since the i8xx series and the Via C3 processor both have hardwre RNG’s built in. However, I am not aware of any programs that utilise this feature.
Note that it is possible to generate cryptographic-strength randomness with a standard PC, using a much stronger variant of GorillaMan’s keypresses. Rather than use one interval as the random element, the idea is to generate a running average of the typical interval between events (keypresses, mouse movements, et cetera), calculate the difference between that and each new interval, and then take only a few of the least significant bits from that to add to your randomness pool. A similar technique used for network servers is to replace the interface input with high-precision timing info from the receipt of network packets, which will not be predictable from the remote network. Although these are generated numbers, if it’s done right there’s no predictable state that you can extract from a record of the randomness output by such an arrangement.
Maybe someone can comment on something I heard once. That is, that a system with 3 or more degrees of freedom is essentially random. The lottery vacuum ball machine certainly has more than that. For instance, I had this thing called the “dancing man;” it was a stick figure with a weighted head and weighted arms and legs that could spin. If you spun the guy he’d do this really cool “dance” with the weights reinforcing or antagonizing each other at various times and was supposed to be an example of how three degrees of freedom (2 arms and a leg/hip) is enough to create randomness. Of course, the amount of force you apply in the spin is a variable as well. Anyone want to back this up or call bs?
This is a major difference between “hard to predict” and “random”. Systems with a several objects with several methods of motion are merely “hard to predict”. Note: not “impossible to predict”. Ping Pong ball lotteries work because the difficulty of prediction exceeds anyone’s computational capabilities in the time required. (But Roulette wheels are a bit too close to feasible now.)
Note that there are many levels of “quasi-random” depending on the application. Using low order bits of clocks and keyboard/mouse motion are good enough for very low level purposes such as initing PC games. But they are lousy for anything that requires real security. E.g., cryptography and lotteries.
[QUOTE=ftg]
This is a major difference between “hard to predict” and “random”. Systems with a several objects with several methods of motion are merely “hard to predict”. Note: not “impossible to predict”. Ping Pong ball lotteries work because the difficulty of prediction exceeds anyone’s computational capabilities in the time required. (But Roulette wheels are a bit too close to feasible now.)]
To the contrary, this “dancing man” gets right to the heart of why a lottery is secure: chaos. In fact, the dancing man is more complicated than it really needs to be. A double pendulum is already plenty chaotic and sensitively dependant on initial conditions.
In one sense, the motion of the balls in the lottery is entirely deterministic (ignore QM for the moment) and thus merely hard to predict. In another sense, you can only know the initial conditions just so accurately and within that little blob of error lie configurations with wildly different long-term behaviors, becoming effectively random as far as any observer can tell.
I heard secondhand that it took longer to read the HW generated random value than it did to calculate it with SW. Moore’s law wins again (and yes, I know Moore’s law technically refers to gate count not frequency).