A random number is a number chosen from a pool of limited or unlimited numbers that has no discernible pattern for prediction. The pool of numbers is almost always independent from each other. However, the pool of numbers may follow a specific distribution. For example, the height of the students in a school tends to follow a normal distribution around the median height. If the height of a student is picked at random, the picked number has a higher chance to be closer to the median height than being classified as very tall or very short. The random number generators above assume that the numbers generated are independent of each other, and will be evenly spread across the whole range of possible values.
A random number generator, like the ones above, is a device that can generate one or many random numbers within a defined scope. Random number generators can be hardware based or pseudo-random number generators. Hardware based random-number generators can involve the use of a dice, a coin for flipping, or many other devices.
A pseudo-random number generator is an algorithm for generating a sequence of numbers whose properties approximate the properties of sequences of random numbers. Computer based random number generators are almost always pseudo-random number generators. Yet, the numbers generated by pseudo-random number generators are not truly random. Likewise, our generators above are also pseudo-random number generators. The random numbers generated are sufficient for most applications yet they should not be used for cryptographic purposes. True random numbers are based on physical phenomena such as atmospheric noise, thermal noise, and other quantum phenomena. Methods that generate true random numbers also involve compensating for potential biases caused by the measurement process.
Part of what I do is study typical behavior of large combinatorial structures by looking at pseudorandom instances. But many commercially available pseudorandom number generators have known defects, which makes me wonder whether I should just use the digits (or bits) of $\pi$.
A colleague of mine says he "read somewhere" that the digits of $\pi$ don't make a good random number generator. Perhaps he's thinking of the article "A study on the randomness of the digits of $\pi$" by Shu-Ju Tu and Ephraim Fischbach. Does anyone know this article? Some of the press it got (see e.g. ) made it sound like $\pi$ wasn't such a good source of randomness, but the abstract for the article itself (see ) suggests the opposite.
If you are worried about the quality of random digits that you're getting, then you may want to use cryptographic random number generators. For example, finding a pattern in the Blum-Blum-Shub random number generator would probably yield a new algorithm for factoring large integers! Cryptographic random number generators will run more slowly than the "commercial" random number generators you're talking about but you can certainly find some that will generate digits faster than algorithms for computing $\pi$ will.
In a technical sense, no. A good pseudorandom number generator would be one that you can plug into any randomized algorithm and expect to see the same behavior that you would from an actual random number generator. One way of making a technical definition out of this is to say that the pseudorandom number generator cannot be distinguished from truly random (with probability bounded away from 1/2) by any polynomial time test.
For the same reason, no fully deterministic sequence can be a good random sequence. Instead, to fit this definition, you need to use a pseudorandom number generator that takes some number n of truly random bits as an input seed and generates from them a longer sequence (polynomial in n) of pseudorandom bits that cannot be distinguished from random by a polynomial time algorithm.
I'd say no if you are using the random numbers to generate cryptographic keys, then you immediately open yourself to attacks, because the attacker can probably mimic your random number generator, and thus you add one weak link into the chain.
Cryptographic PRNG's are the gold standard since if you have a practical way to detect the slightest non-randomness in the output, that is considered a break against the generator, and a significant research result (in cryptanalysis) if the PRNG was considered any good (say if it was based on AES, the Advanced Encryption Standard, in some sensible way). It's easy to make them deterministic: for any key K, just take the encryptions E(0), E(1), E(2), ... where E is the encryption function.
I'm in need of a C++ (pseudo, i don't care) random number generator that can get me different numbers every time I call the function. This could be simply the way I seed it, maybe there's a better method, but every random generator I've got doesn't generate a new number every time it's called. I've got a need to get several random numbers per second on occasion, and any RNG i plug in tends to get the same number several times in a row. Of course, I know why, because it's seeded by the second, so it only generates a new number every second, but I need to, somehow, get a new number on every call. Can anyone point me in the right direction?
You only need to seed the generator once with srand() when you start, after that just call the rand() function. If you seed the generator twice with the same seed, you'll get the same value back each time.
I am so fed up with the password generator's limited options. The auto generated password never really works, I need to manually edit the passwords every single time. Here's an example from Lufthansa's Miles-and-more.com.
Smart Passwords include symbols, numbers, as well as both uppercase and lowercase letters. Additionally, if you're using Smart Password as your default password generation option, 1Password will use both the passwordrules attribute on the field, if available, or check a list of password rules collected by our friends at Apple.
I also want to bump this, I just upgraded to 1Password 8 desktop and thought the password generator would have evolved, but not really. Probably 70% of all the passwords I create these days I do so on a computer and require some kind of manual input from me to massage the password for the following reasons:
Has anyone noticed that 1password's generator is a lot worse at this than LastPass or Bitwarden? I feel like I have to keep cycling passwords before I find one that uses more than 1 number and 1 special characters.
I am looking for a seeded random number generator that creates a pool of numbers as a context. It doesn't have to be too good. It is used for a game, but it is important, that each instance of the Game Engine has its own pool of numbers, so that different game instances or even other parts of the game that use random numbers don't break the deterministic character of the generated numbers.
Any good PRNG library should be able to do this. GNU Scientific Library provides support for generating random numbers via many diferent algorithms, and from many probability distributions. Each call to gsl_rng_alloc sets up an independent random number generator with its own state, which you can seed using gsl_rng_set. You probably want to use different seeds for different parts of the program, and depending on which PRNG algorithm you use, some particular seeds might not work very well. Copying and pasting a few numbers from random.org is probably a good way of getting seeds.
If you are an SQG or LQG of hazardous waste, you must obtain and use a U.S. EPA identification number. The U.S. EPA uses a 12-character number that starts with the postal code of the state in which the generator is located to monitor and track hazardous waste activities. You will need to use your identification number when you send hazardous waste off site for management and disposal.
CESQGs are not required to have U.S. EPA or Illinois EPA generator identification numbers. However, CESQGs should ask both the facility accepting their waste and the waste hauler if they require manifests. If either do require manifests, you need to apply for an Illinois EPA generator identification number.
Both the U.S. EPA and Illinois EPA identification numbers stay with the property when ownership changes. If you move your business, you must notify Illinois EPA of your new location and submit new forms.
The Illinois Uniform Hazardous Waste Manifest is a multi-copy shipping document that tracks hazardous waste from its point of generation to the treatment, storage, and disposal facility (TSDF). The manifest is required by the U.S. Department of Transportation, U.S. EPA and Illinois EPA. It allows the waste generator to confirm that the waste has been properly delivered and that no waste has been lost or unaccounted for.
If a generator does not receive a copy of the manifest signed by the TSDF within 30 days of the date that the waste was accepted by the initial transporter, the generator should contact both the transporter and the TSDF to obtain a replacement photocopy. If this does not resolve the problem, the generator must file an exception letter with Illinois EPA within 60 days. The exception letter should be addressed to the Illinois EPA Bureau of Land - Solid Waste Management Section and state that your facility did not receive a signed copy of the manifest (Part 1) from the TSDF and include steps you have taken to attempt to resolve the problem.
The Illinois Pollution Control Board has changed the 35 Ill. Adm. Code 809 rules. This means that nonhazardous special waste generators will no longer have to submit a Nonhazardous Special Waste Annual Report for nonhazardous special wastes that are shipped out of state. Effective July 16, 2015, generators are no longer required to submit any manifest copies to Illinois EPA. If you are a nonhazardous special waste TSDF and receive waste from off site, you are required to file a Nonhazardous Special Waste Annual Report" by February 1 of each year. If you have trouble opening the pdf links, try right-clicking and saving the file, then open the pdf in Adobe Acrobat outside of your browser.
dca57bae1f