Adds independent Laplace noise with scale \(\Delta / \epsilon\) to each counting query and returns the index of the largest noisy count. For monotone sensitivity-1 counting queries the released index is (epsilon, 0)-differentially private (Dwork-Roth 2014, Claim 3.9); the winning noisy count may be released at no extra privacy cost, the losing counts must not be.
Details
Determinism: noise comes from the shared Lehmer minstd stream, so a given seed reproduces the same selection in both language arms. Laplace draws by inverse CDF, \(x = -b\, sign(u - 1/2) \log(1 - 2 |u - 1/2|)\). Ties: first maximum in scan order wins in both arms.
References
Dwork, C., and Roth, A. (2014). The algorithmic foundations of differential privacy. FnT-TCS 9(3-4), 211-487. Section 3.3, Report Noisy Max and Claim 3.9.
Examples
Reportm(counts = c(1, 2, 3, 4, 5, 6, 7, 8), epsilon = 5L)
#> $index
#> [1] 7
#>
#> $winner
#> [1] 7.954373
#>
#> $estimate
#> [1] 7
#>
#> $epsilon
#> [1] 5
#>
#> $scale
#> [1] 0.2
#>
#> $n
#> [1] 8
#>
#> $method
#> [1] "Report Noisy Max (Dwork-Roth 2014, Claim 3.9)"
#>
#> attr(,"class")
#> [1] "morie_rich_result" "list"
