sometime people like me who are not good in English and who knows only simple words of English, sometime faces very complex words which we don't understand and google also didn't help us much.

some of the complex names are below

1) 'Seed' I have seen this word in Advance Random Plugin. I don't know what it means and when i did search in google then i found this image . Now i am confused what this does in Advance Random.

2) 'Permutation' this word also can find in advance random plugin, 'Seed' word i have listened/read before many times but 'Permutation', I have never ever seen/read this word before. When i did google then it says permutation means 'Change'. Now I don't understand what actually 'change' or 'permutation' do here.

3) 'Threshold' this word i found in 'BHTsmartrandom' plugin. when i google this word then it says 'Threshold' means "gateway" or we can say that a way which passes through doors. I don't know what 'Threshold'actually does.

Currently i remember only these 3 words. Please if anyone can explain me what exactly these things does and what are meaning then please

A string of characters used as the seed for random number generation. The same seed will always provide the same sequence of numbers. An empty string (the default) will use a random seed, ensuring the sequence of numbers is different every time.The seed is effectively a key for ensuring you produce the same random number sequence each time - this is useful if you want to allow users to replay/reload procedurally-generated content, for example.

2) Permutation

A permutation is the number of ways in which members of a set can be arranged, e.g. the letters ABC have 6 permutations: ABC ACB BAC BCA CAB CBA. In Advance Random you can create a random permutation table:

Create permutation table

Generate a randomly ordered sequence of numbers. Length is how many numbers to generate, and Offset is the first number in the sequence. For example a length of 3 with an offset of 1 will generate the numbers 1, 2 and 3, and then randomly shuffle them.

3) Threshold

A threshold is usually a value that if exceeded will trigger an action. From Black Hornet's description of the BHTsmartrandom plugin:

A Threshold value lets you configure how the cycle repeats when all of the numbers are used, and the sequence needs to continue/cycle. A Threshold=0 will completely ignore the previous sequence, so the numbers will be random within the same range again, but it is possible that the last number of the sequence may be the same as the first of the next. For example; 2,5,4,1,3 could be followed by 3,1,4,2,5. The value 3 will repeat because the sequence must be regenerated and no logic is applied to test the last value of the last sequence. A Threshold=1, would guarantee that the first number of the next sequence would not be a 3, so there would not be a repeat immediately when the sequence restarts. Care is still required not to abuse the Threshold, as if it is too large (that is, greater than half the range), it is impossible to guarantee not repeating the same values.

Seed - "A pseudorandom number generator's number sequence is completely determined by the seed: thus, if a pseudorandom number generator is reinitialized with the same seed, it will produce the same sequence of numbers."

It is used as a basis to get a specific set of random numbers. The term seed I believe does come from a plant's seed. The same set of random numbers will always "grow" from the same seed.

Permutation - "In mathematics, permutation is the act of arranging the members of a set into a sequence or order"

In construct, a permutation table is a randomized set of numbers that are saved and can be referenced at a later time.

Threshold - "Minimum or maximum value (established for an attribute, characteristic, or parameter)"

Generally speaking, this is a cutoff value at which something takes effect.

Thanks for your reply and it really helped me to understand these words, still there are some points

1) I got understand Threshold complete and no confusion.

2) Now I understand what is Permutation but a little confusion

For example a length of 3 with an offset of 1 will generate the numbers 1, 2 and 3, and then randomly shuffle them.

according to above line I understand that offset of 2 will generate the number 1,2 and 3 and then again 1,2 and 3 and after this randomly shuffle. I mean if offset is 1 then there will no randomness for the first time and if offset will be 2 then there will No randomness for 2 times and then after than random will start. Am i right ?

3) From your explanation about seed i understand that if seed will be 0 then each time random sequence will be different but if seed will be 1 then first random sequence will be repeated for all next sequences. Am I Right?

Thanks for your reply and it really helped me to understand these words, still there are some points

1) I got understand Threshold complete and no confusion.

2) Now I understand what is Permutation but a little confusion

> For example a length of 3 with an offset of 1 will generate the numbers 1, 2 and 3, and then randomly shuffle them.

according to above line I understand that offset of 2 will generate the number 1,2 and 3 and then again 1,2 and 3 and after this randomly shuffle. I mean if offset is 1 then there will no randomness for the first time and if offset will be 2 then there will No randomness for 2 times and then after than random will start. Am i right ?

No, the offset determines the starting number for the permutation table so, a length of 3 with offset 2 will shuffle 2,3 and 4; an offset of 5 would shuffle 5,6 and 7 etc. The numbers in the table will remain in that order from the initial table creation until you use the "shuffle permutation table" action.

3) From your explanation about seed i understand that if seed will be 0 then each time random sequence will be different but if seed will be 1 then first random sequence will be repeated for all next sequences. Am I Right?

Think of it like this: when you pick a random number it does so from a very large list of random numbers - this list is fixed and unchanging; the seed says "start reading numbers from this point in the list". If you use the same seed then it will always start reading from the same point, so you get the same (pseudo-)random number sequence each time. If you don't add a seed value then it will start reading from any point in the list, so you'll get a different sequence each time.

Note that you don't have to use a number for this list - it can be a string, so if the player has entered a character name (for example) you could use that to always generate the same random number sequence.

Years ago when writing code, we just had one way to generate random numbers. Randomize... But, a bunch of mathematicians got together, drew some squiggles on a blackboard and found out that the method of generating random numbers in computers wasn't really all that random.

To solve this problem, they came up with a brilliant idea. They'd throw another random number inside the code that made the random number and make it really random. That method was called 'seeding.' The problem with that was, if you used the same seed, it once again, generated random numbers that weren't all that random. As a matter of fact, if you used the same seed over and over again, it would generate the same sequence of 'random' numbers.

To get around that and make truly random numbers (well, mostly), people who write code started 'seeding' their random numbers with the computer's clock. Randomize(timer). That way, every single time the program ran, a new seed was used and therefore, a new sequence of randomness. Well, a less predictable one anyway.

But that also lead to other ideas. Seeding can now be used to generate really random numbers using something like the clock OR, you can repeat the 'random' sequence by using the same seed. That means, you can create a really random sequence of numbers or you can create a random sequence of numbers that will repeat each time you restart the program.