Randomness & Sampling
Algorithms that generate random choices or representative samples.
Randomness and sampling algorithms select, shuffle, estimate, or explore using controlled random behavior.
Fisher-Yates Shuffle
Randomly shuffles a list so every ordering is equally likely.
Reservoir Sampling
Selects a fixed-size random sample from a stream of unknown length.
Rejection Sampling
Samples from a target distribution by rejecting some easier samples.
Importance Sampling
Estimates quantities by sampling more often from important regions.
Box-Muller Transform
Generates normally distributed random values from uniform random values.
Linear Congruential Generator
Generates pseudorandom numbers with a simple linear recurrence.
Mersenne Twister
Generates pseudorandom numbers with a very long period.
Metropolis-Hastings
Samples from a target distribution by accepting or rejecting proposed moves.
Poisson Disk Sampling
Places random points while keeping a minimum distance between them.
Stratified Sampling
Samples separately from groups so each group is represented.
Sobol Sequence
Generates low-discrepancy samples that cover a multidimensional space evenly.
Alias Method
Samples from a discrete weighted distribution in constant time after preprocessing.
Halton Sequence
Generates deterministic low-discrepancy points from radical inverses in prime bases.
Hammersley Sequence
Generates low-discrepancy points using an index coordinate and radical inverse coordinates.
Latin Hypercube Sampling
Samples each dimension so every interval stratum is used exactly once.
Gibbs Sampling
Samples a joint distribution by repeatedly sampling each variable from its conditional distribution.
Inverse Transform Sampling
Samples a target distribution by applying its inverse CDF to uniform random values.
Multinomial Sampling
Draws counts or categories according to a discrete probability vector.
Cranley-Patterson Rotation
Randomizes low-discrepancy samples by adding a random offset modulo one.
Knuth Shuffle
Knuth Shuffle draws samples while controlling distribution, coverage, or variance.
PCG Random Number Generator
PCG Random Number Generator generates deterministic pseudorandom sequences from a seed.
Xorshift Random Number Generator
Xorshift Random Number Generator generates deterministic pseudorandom sequences from a seed.
Xoshiro Random Number Generator
Xoshiro Random Number Generator generates deterministic pseudorandom sequences from a seed.
SplitMix64
SplitMix64 generates deterministic pseudorandom sequences from a seed.
Middle Square Weyl Sequence
Middle Square Weyl Sequence places samples with low discrepancy for better coverage.
Ziggurat Algorithm
Ziggurat Algorithm draws samples while controlling distribution, coverage, or variance.
Marsaglia Polar Method
Marsaglia Polar Method draws samples while controlling distribution, coverage, or variance.
Knuth-Yao Sampling
Knuth-Yao Sampling draws samples while controlling distribution, coverage, or variance.
Systematic Sampling
Systematic Sampling draws samples while controlling distribution, coverage, or variance.
Cluster Sampling
Cluster Sampling draws samples while controlling distribution, coverage, or variance.
Bootstrap Resampling
Bootstrap Resampling reuses observed data to estimate uncertainty.
Jackknife Resampling
Jackknife Resampling reuses observed data to estimate uncertainty.
Sequential Importance Resampling
Sequential Importance Resampling reuses observed data to estimate uncertainty.
Slice Sampling
Slice Sampling samples from a probability distribution for estimation.
Hamiltonian Monte Carlo
Hamiltonian Monte Carlo samples from a probability distribution for estimation.
No-U-Turn Sampler
No-U-Turn Sampler draws samples while controlling distribution, coverage, or variance.
Quasi-Monte Carlo Integration
Quasi-Monte Carlo Integration samples from a probability distribution for estimation.
Erdos-Renyi Graph Generation
Generates a random graph by independently including possible edges with fixed probability.
Barabasi-Albert Model
Generates scale-free-style networks by preferentially attaching new nodes to high-degree nodes.
Watts-Strogatz Model
Generates small-world networks by rewiring a regular ring lattice with some probability.
Configuration Model
Configuration Model addresses degree-constrained graph generation by matching random degree stubs to produce a graph with a target degree sequence.
Randomized Rounding
Turns fractional optimization values into integral choices using probabilities derived from the fractional solution.
Alias Table Construction
Preprocesses a discrete distribution so weighted samples can be drawn in constant time.