Problem Description
Downstream libraries or academic researchers using differential-privacy may desire to implement deterministic tests or substitute an alternative source of randomness, e.g., external random source.
However, RNG and seed-setting only appears to be implemented within algorithms::numerical-mechanisms-testing. These classes are not designed for external use and cannot be linked against in some contexts (e.g., bzl testonly).
Proposed Solution
- Create a new RNGNumericalMechanism abstract class and non-testing RNGNumericalMechanismBuilder
- Implement non-testing
RNGXYZMechanism and, optionally, SeededXYZMechanism as convenience
- Re-implement test
SeededXYZMechanism classes with non-testing mechanisms
- Optionally implement warning/notice for use
- Implement safe downstream deterministic test cases, e.g., in PyDP
Alternative
Rely on asymptotic test cases or non-reproducible examples/research.
Problem Description
Downstream libraries or academic researchers using
differential-privacymay desire to implement deterministic tests or substitute an alternative source of randomness, e.g., external random source.However, RNG and seed-setting only appears to be implemented within
algorithms::numerical-mechanisms-testing. These classes are not designed for external use and cannot be linked against in some contexts (e.g., bzl testonly).Proposed Solution
RNGXYZMechanismand, optionally,SeededXYZMechanismas convenienceSeededXYZMechanismclasses with non-testing mechanismsAlternative
Rely on asymptotic test cases or non-reproducible examples/research.