People actually spend a lot of time on good ways to pick
pseudo-random numbers. They try a bunch of different complicated
formulas, and try to make sure that patterns don’t pop up. But we can
build a simple one pretty easily to pick pseudo-random numbers from 1 to
10.
random i = 7 * i mod 11
Since it’s a function, it needs to have an input. It then multiplies
that input by 7, and then finds the remainder when dividing by 11.
We’ll give it the previous number it picked as input, and it will give
us back the next one. Suppose we start at 1. Then we get the
following:
random 1 -> 7
random 7 -> 5
random 5 -> 2
random 2 -> 3
random 3 -> 10
random 10 -> 4
random 4 -> 6
random 6 -> 9
random 9 -> 8
random 8 -> 1
Since the answer is always a reminder when dividing by 11, it’ll be
somewhere between 0 and 10. But it should be pretty easy to convince
ourselves that if the number we give as input is between 1 and 10, then 0
isn’t a possibile answer: if it were, then we’d have found two numbers,
both less than 11, that multiply together to give us a multiple of 11.
That’s impossible because…. 11 is prime. So we’re guaranteed that this
process picks numbers between 1 and 10. It seems to pick them in a
non-obvious order with no really obvious patterns, so that’s good. We
appear to have at least a good start on generating random numbers.
Notice a couple things:
- We had to pick somewhere to start. In this case, we started out by giving an input of 1. That’s called the seed. If you use the same seed, you’ll always get the exact same numbers back! Why? Because it’s really just a complicated math problem, so if you do the same calculation with the same numbers, you’ll get the same result.
- To get the next number, we have to remember something (in our case, the last answer) from the previous time. That’s called the state. The state is important, because it’s what makes the process give you different answers each time! If you didn’t remember something from the last time around, then you’d again be doing the same math problem with the same numbers, so you’d get the same answer.
The Algorithm Method for randoming words is : First - Last Method
For Letter :
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
Z Y X W V U T S R Q P O N M L K J I H G F E D C B A
Z Y X W V U T S R Q P O N M L K J I H G F E D C B A
Example :
SECURE
become
SECURE
become
HVXFIV