User:Munin295/Random circuit

This article covers two categories of random circuits:


 * Random Number Generator
 * Generates a random sequence of numbers.


 * Random Pulse Generator
 * Outputs a pulse at random intervals.

Random number generator
A random number generator (aka RNG) is a circuit that can generate a sequence of numbers with no recognizable pattern.

All of the RNGs below depend on the stack maximums of the items they move around:
 * A 64-stackable item is any item with a stack maximum of 64 items (for example, apples, sticks, cobblestone, etc.).
 * A 16-stackable item is any item with a stack maximum of 16 items (for example, ender pearls, signs, snowballs, etc.).
 * A non-stackable item is any item which cannot be stacked (for example, tools, weapons, armor, doors, boats, minecarts, etc.).

Basic RNG
Two basic random number generators are used as components in more complex RNGs.


 * Basic 2-RNG


 * 1x3x2 (6 block volume), 1-wide, flat, silent
 * circuit delay: 3 ticks (rising) and 1 tick (falling)


 * Outputs either power level 1 or 3 while on, power level 0 while off.


 * When the input turns on, the dropper will randomly choose to push either the stackable item or the non-stackable item into the hopper, causing the comparator to output either power level 1 or 3. Because the powered dropper is a solid/opaque block, it will also deactivate the hopper, preventing it from pushing the item back to the dropper until the input turns off.


 * The output power level can be used as is (for example, to subtract 1 or 3 from a comparator in subtraction mode), but more often the output is connected to a line of two redstone dust so that the output is 0 or not 0 (to randomly power a repeater, activate a mechanism component, etc.).


 * Variations: If the dropper is powered indirectly (for example, by quasiconnecitvity or an adjacent powered block), the hopper won't be deactivated and will immediately push the item back into the dropper. This turns the circuit into a monostable rising edge detector with a 3.5-tick output pulse (still with a random power level of 1 or 3).


 * With only two items in the dropper, both output power levels will be chosen with equal probability. The probability of the output levels can be changed by adding additional stackable and non-stackable items to the dropper (which must all be different from each other so they won't stack). For example, with two different stackable items and three different non-stackable items, the RNG will output power level 1 40% of the time and power level 3 60% of the time.


 * Earliest Known Publication: 14 March 2013


 * Basic 3-RNG


 * 1x3x3 (9 block volume), 1-wide, silent
 * circuit delay: 3 ticks (rising) and 1 tick (falling)


 * Outputs power levels 1, 2, or 4 while on, power level 1 while off (but see variations below).


 * When building this circuit, wait until the hopper is deactivated by the powered dust before putting five 16-stackable items in its far right slot. Then put a 64-stackable item, a 16-stackable item, and a non-stackable item in the dropper.


 * Before the input turns on, the hopper's five 16-stackable items are enough to produce a power level 1 output from its comparator (even a single 64-stackable item would be enough for that). These five items should never be returned to the dropper, so the comparator's output will never drop below power level 1.


 * When the input turns on, the dropper will push an item into the hopper, which will be placed in the hopper's left slot. It takes 23 64-stackable items (or five 16-stackable items and three 64-stackable items, or six 16-stackable items) to produce power level 2, so if the 64-stackable item is pushed that won't be enough to increase the output power level, but if the 16-stackable item is pushed the output power level will increase to 2. And if the non-stackable item is pushed, the output power level will increase to 4.


 * The hopper is held deactivated by the powered dust when the circuit is off, and by the powered dropper when the circuit is on. But, when the input turns off, there is a brief 1-tick moment when the dropper has just turned off, but the torch attached to it hasn't turned on again. This allows the hopper to activate for 1 tick, pushing an item back into the dropper. A hopper always pushes items from its left slots first, so the hopper will push back the item the dropper pushed into it, rather than any of the 16-stackable items in its far right slot, allowing the circuit to reset itself.


 * Variations: You can remove one of the items from the dropper to create a 2-RNG with different power level outputs than the regular 2-RNG: removing the 64-stackable item outputs power levels 2 or 4, removing the 16-stackable item outputs power levels 1 or 4, and removing the non-stackable item outputs power levels 1 or 2.


 * You can add additional redstone dust leading from the hopper to a block next to it, and then down to the side of the comparator. This 2-wide variation will keep the comparator's output off while the input is off.


 * With only three items in the dropper, all three output power levels will be chosen with equal probability. The probability of the output levels can be changed by adding additional 64-stackable, 16-stackable, and non-stackable items to the dropper (which must all be different from each other so they won't stack). For example, with one 64-stackable item, one 16-stackable item, and two different non-stackable items, the RNG will output power level 1 25% of the time, power level 2 25% of the time, and power level 4 50% of the time.


 * Additional items can be added to the hopper to increase all of the output power levels.


 * Earliest Known Publication: 16 April 2013

Analog RNG

 * Analog 1d2-RNG


 * 2×3×3 (18 block volume), silent
 * circuit delay: 3 ticks


 * Outputs power levels 1 or 2 while on, 0 while off.


 * This is a basic 3-rng with the non-stackable item removed.


 * Analog 1d3-RNG


 * 4×4×3 (48 block volume), silent
 * circuit delay: 4 ticks


 * Outputs power levels 1 to 3 while on, 0 while off.


 * The basic 3-rng outputs power levels 1, 2, or 4, which is almost correct for a 1d3 RNG. To correct it, another line is added to subtract 1 from the output when it should be 4. The additional comparator is added to the output line to make sure the two lines are calculated at the same time (otherwise it would be power level 4 for 1 tick, then power level 3 as desired).


 * Analog 16-RNG
 * 5&times;8&times;4 (160 block volume)
 * circuit delay: 8.5 ticks


 * Outputs power levels 0 to 15 while on, power level 0 while off.


 * Uses four 2-RNGs to subtract 1, 2, 4, and/or 8 from 15.


 * Reducing the number of 2-RNGs reduces the possible outputs: three 2-RNGs produces an 8-RNG, and two 2-RNGs produces a 4-RNG (the exact power levels depend on the power level provided to the subtraction comparators).


 * Earliest Known Publication: 10 June 2013



Binary RNG
…


 * 1-Bit Binary RNG


 * 1×6×2 (12 block volume), flat, silent
 * circuit delay: 4 ticks




 * Close N-Bit Binary RNG


 * 1×7×2 (14 block volume) per output, silent
 * circuit delay: 4 ticks




 * Spaced N-Bit Binary RNG


 * 2×6×2 (24 block volume) per output, silent
 * circuit delay: 4 ticks



Unary RNG
A unary rng (aka "random selector") has one input and multiple outputs -- when the input turns on, one random output turns on.

…


 * Unary 2-RNG


 * 3×5×2 (30 block volume), flat, silent
 * circuit delay: 4 ticks



Random pulse generator
A random pulse generator (RPG) outputs a pulse at random intervals.

Clock RPG
A clock RPG produces a pulse when a clocked random number generator produces an output in the correct range.

…

Update RPG
An update RPG produces a pulse when a specific block update occurs.

…