Skip to contents

Dwork and Roth's basic composition theorem: if M_i is (eps_i, delta_i)-differentially private for i in 1..k, then the mechanism returning all k outputs is (sum eps_i, sum delta_i)-differentially private – "the epsilons and the deltas add up". The budget consumed is therefore the plain sum, whatever the mechanisms are, and the Laplace scale a sensitivity-1 query can afford at step i is 1/eps_i.

Usage

Kcompo(y, epsilons, deltas = NULL)

Arguments

y

Data the mechanisms are run on; only the length is reported.

epsilons

Per-mechanism privacy parameters, strictly positive.

deltas

Per-mechanism delta parameters; NULL means pure differential privacy (all zero).

Value

List with estimate, epsilon_total, delta_total, k, epsilon_max, epsilon_min, epsilon_mean, laplace_scale, pure_dp, n, method.

Details

Formula: eps_total = sum_i eps_i, delta_total = sum_i delta_i.

References

Dwork and Roth (2014), The Algorithmic Foundations of Differential Privacy, Foundations and Trends in Theoretical Computer Science 9(3-4):211-407, section 3.5, Theorem 3.16. doi:10.1561/0400000042

Examples

V <- c(1, 2, 3, 4, 5, 6, 7, 8)
Kcompo(V, V)
#> $estimate
#> [1] 36
#> 
#> $epsilon_total
#> [1] 36
#> 
#> $delta_total
#> [1] 0
#> 
#> $k
#> [1] 8
#> 
#> $epsilon_max
#> [1] 8
#> 
#> $epsilon_min
#> [1] 1
#> 
#> $epsilon_mean
#> [1] 4.5
#> 
#> $laplace_scale
#> [1] 1.0000000 0.5000000 0.3333333 0.2500000 0.2000000 0.1666667 0.1428571
#> [8] 0.1250000
#> 
#> $pure_dp
#> [1] 1
#> 
#> $n
#> [1] 8
#> 
#> $method
#> [1] "eps_total = sum eps_i, delta_total = sum delta_i, Dwork & Roth (2014) Thm 3.16"
#> 
#> attr(,"class")
#> [1] "morie_rich_result" "list"