EpochPermutation generates bounded, non-repeating sequences without storing a shuffled array. The sequence is divided into epochs. Epoch seeds can depend on time, system state, external events, or new ...