Summary
UNU.RAN-based sampling strategies should support explicit seeding for reproducible sampling.
Currently, sampling through UNU.RAN is not fully controllable from the public API. This makes examples, tests, benchmarks, and scientific experiments harder to reproduce.
This issue focuses specifically on the UNU.RAN integration layer and its strategy/configuration objects.
Problem
Users should be able to create a UNU.RAN sampling strategy with an explicit seed and receive reproducible samples for the same distribution and sample size.
This is important for:
- Reproducible examples.
- Deterministic tests.
- Comparing different sampling methods.
- Scientific workflows that require reproducible stochastic results.
Expected behavior
Two independent UNU.RAN sampling strategies initialized with the same seed should produce identical samples for the same distribution and sample size.
The implementation should avoid hidden process-global RNG state. Each UNU.RAN sampler instance should own its own random generator or random stream.
Acceptance criteria
- UNU.RAN sampling strategies accept a seed through a public API.
- Same seed, same distribution, and same sample size produce reproducible samples.
- Different seeds produce different samples.
- Reproducibility does not depend on test execution order.
- Tests are added for reproducible UNU.RAN sampling.
- Examples or documentation mention seeded UNU.RAN sampling.
Summary
UNU.RAN-based sampling strategies should support explicit seeding for reproducible sampling.
Currently, sampling through UNU.RAN is not fully controllable from the public API. This makes examples, tests, benchmarks, and scientific experiments harder to reproduce.
This issue focuses specifically on the UNU.RAN integration layer and its strategy/configuration objects.
Problem
Users should be able to create a UNU.RAN sampling strategy with an explicit seed and receive reproducible samples for the same distribution and sample size.
This is important for:
Expected behavior
Two independent UNU.RAN sampling strategies initialized with the same seed should produce identical samples for the same distribution and sample size.
The implementation should avoid hidden process-global RNG state. Each UNU.RAN sampler instance should own its own random generator or random stream.
Acceptance criteria