I would like to randomly select one element from an array, but each element has a known probability of selection.
All chances together (within the array) sums to 1.<
Ruby solution using the pickup gem:
require 'pickup' chances = {0=>80, 1=>20} picker = Pickup.new(chances)
Example:
5.times.collect { picker.pick(5) }
gave output:
[[0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 1, 1], [0, 0, 0, 0, 0], [0, 0, 0, 0, 1]]