Skip to contents

The probability mass on which the \(e^\epsilon\) bound fails.

Usage

morie_approx_dp(
  mech,
  D,
  D_prime,
  epsilon = 1,
  n_samples = 20000,
  bins = 50,
  seed = NULL
)

Arguments

mech

function of (data) returning one release; called repeatedly.

D, D_prime

neighbouring datasets.

epsilon

the epsilon whose bound is being tested.

n_samples

draws per dataset.

bins

histogram bins.

seed

optional integer seed.

Value

list with delta_empirical, n_violating_bins.

Details

Delta is not slack. At \(\delta = 1/n\) a mechanism may release one record outright and still satisfy the definition, so delta belongs well below 1/n – cryptographically small, not merely small.

References

Dwork, C. and Roth, A. (2014). FnTTCS, 9(3-4), Sec. 2.3.

Examples

set.seed(1)
m <- function(d) sum(d) + morie_dp_laplace_mechanism(0, 1, 1)$release
morie_approx_dp(m, rep(1, 10), rep(1, 9),
  epsilon = 1,
  n_samples = 2000
)$delta_empirical < 1
#> [1] TRUE