Let d ∈ N + d \in \mathbb{N}^+ d ∈ N + be a positive integer, and u ⃗ ∈ N d \vec{u} \in \mathbb{N}^d u ∈ N d be a vector.
Definition. Two vectors u ⃗ , v ⃗ ∈ N d \vec{u}, \vec{v} \in \mathbb{N}^d u , v ∈ N d are neighboring, denoted as u ⃗ ∼ v ⃗ \vec{u} \sim \vec{v} u ∼ v , if ∥ u ⃗ − v ⃗ ∥ ∞ = 1 \Vert \vec{u} - \vec{v} \Vert_\infty = 1 ∥ u − v ∥ ∞ = 1 .
We are interested in the following research problem.
Problem. Design an ϵ \epsilon ϵ -differentially private algorithm to report
arg max i ∈ [ d ] u i .
\underset{i \in [d]}{\arg\max} \, u_i.
i ∈ [ d ] arg max u i .
Laplacian Mechanism
Since ∥ u ⃗ − v ⃗ ∥ ∞ = 1 \Vert \vec{u} - \vec{v} \Vert_\infty = 1 ∥ u − v ∥ ∞ = 1 , it is possible that ∥ u ⃗ − v ⃗ ∥ 1 = d \Vert \vec{u} - \vec{v} \Vert_1 = d ∥ u − v ∥ 1 = d .
A naive approach would be adding independent Laplacian noise X i ∼ L a p ( ϵ / d ) X_i \sim \mathcal{Lap}( \epsilon / d) X i ∼ L a p ( ϵ / d ) to each coordinate of u ⃗ \vec{u} u , and then return
M ( u ⃗ ) ≐ arg max i ∈ [ d ] ( u i + X i ) .
\mathcal{M}(\vec{u}) \doteq \underset{ i \in [d] }{\arg \max} \big( u_i + X_i \big).
M ( u ) ≐ i ∈ [ d ] arg max ( u i + X i ) .
Theorem (Privacy Guarantee). The algorithm is ϵ \epsilon ϵ -differentially private.
Proof.
This follows directly from Laplacian mechanism.
□ \square □
Theorem (Utility Guarantee). With probability at least 1 − β 1 - \beta 1 − β , it holds that
u M ( u ⃗ ) ≥ ( max i ∈ [ d ] u i ) − d ϵ ln d β .
u_{ \mathcal{M}(\vec{u}) } \ge \left( \max_{i \in [d] } u_i \right) - \frac{d}{\epsilon} \ln \frac{d}{\beta}.
u M ( u ) ≥ ( i ∈ [ d ] max u i ) − ϵ d ln β d .
Proof.
For each i ∈ [ d ] i \in [d] i ∈ [ d ] ,
Pr [ ∣ X i ∣ ≥ d ϵ ln d β ] ≤ β d .
\Pr \left[ |X_i| \ge \frac{d}{\epsilon} \ln \frac{d}{\beta} \right] \le \frac{\beta}{d}.
Pr [ ∣ X i ∣ ≥ ϵ d ln β d ] ≤ d β . Via union bound,
Pr [ ∃ i ∈ [ d ] : ∣ X i ∣ ≥ d ϵ ln d β ] ≤ β .
\Pr \left[ \exists i \in [d] : |X_i| \ge \frac{d}{\epsilon} \ln \frac{d}{\beta} \right] \le \beta.
Pr [ ∃ i ∈ [ d ] : ∣ X i ∣ ≥ ϵ d ln β d ] ≤ β . □ \square □
Report Noisy Max
Laplacian Noise
It is possible to add Laplacian noise X i ∼ L a p ( 2 / ϵ ) X_i \sim \mathcal{Lap}(2 / \epsilon) X i ∼ L a p ( 2/ ϵ ) to each coordinate of u ⃗ \vec{u} u , and then return
M ( u ⃗ ) ≐ arg max i ∈ [ d ] ( u i + X i ) .
\mathcal{M}(\vec{u}) \doteq \underset{ i \in [d] }{\arg \max} \big( u_i + X_i \big).
M ( u ) ≐ i ∈ [ d ] arg max ( u i + X i ) .
Theorem (Privacy Guarantee). The algorithm is ϵ \epsilon ϵ -differentially private.
Proof.
We prove that for each k ∈ [ d ] k \in [d] k ∈ [ d ] , and each u ⃗ , v ⃗ ∈ N d \vec{u}, \vec{v} \in \mathbb{N}^d u , v ∈ N d s.t., v ⃗ ∼ u ⃗ \vec{v} \sim \vec{u} v ∼ u , it holds that
e − ϵ ⋅ Pr [ M ( v ⃗ ) = k ] ≤ Pr [ M ( u ⃗ ) = i ] ≤ e ϵ ⋅ Pr [ M ( v ⃗ ) = k ] .
e^{-\epsilon} \cdot \Pr[ \mathcal{M}(\vec{v}) = k] \le
\Pr[ \mathcal{M}(\vec{u}) = i ]
\le
e^\epsilon \cdot \Pr[ \mathcal{M}(\vec{v}) = k].
e − ϵ ⋅ Pr [ M ( v ) = k ] ≤ Pr [ M ( u ) = i ] ≤ e ϵ ⋅ Pr [ M ( v ) = k ] . By symmetry, we prove the claim for just k = n k = n k = n .
For each u ⃗ ∈ N d \vec{u} \in \mathbb{N}^d u ∈ N d and each sequence s ⃗ = ( s 1 , … , s n − 1 ) ∈ R n − 1 \vec{s} = (s_1, \ldots, s_{n - 1} ) \in \mathbb{R}^{n - 1} s = ( s 1 , … , s n − 1 ) ∈ R n − 1 , define
z ( u ⃗ , s ⃗ ) = max j ∈ [ n − 1 ] ( u j + s j ) .
z (\vec{u}, \vec s) = \max_{j \in [n - 1] } \big( u_j + s_j \big).
z ( u , s ) = j ∈ [ n − 1 ] max ( u j + s j ) . Let X j ∼ L a p ( ϵ / 2 ) , j ∈ [ n ] X_j \sim \mathcal{Lap}(\epsilon / 2), j \in [n] X j ∼ L a p ( ϵ /2 ) , j ∈ [ n ] , and denote X ⃗ n − 1 ≐ ( X 1 , … , X n − 1 ) \vec X_{n - 1} \doteq (X_1, \ldots, X_{n - 1}) X n − 1 ≐ ( X 1 , … , X n − 1 ) .
The event M ( u ⃗ ) = n \mathcal{M}(\vec{u}) = n M ( u ) = n happens if and only if
z ( u ⃗ , X ⃗ n − 1 ) < u n + X n .
z( \vec{u} , \vec X_{n - 1} ) < u_n + X_n.
z ( u , X n − 1 ) < u n + X n . Fix a sequence s ⃗ = ( s 1 , … , s n − 1 ) ∈ R n − 1 \vec s = (s_1, \ldots, s_{n - 1} ) \in \mathbb{R}^{n - 1} s = ( s 1 , … , s n − 1 ) ∈ R n − 1 :
Pr [ M ( u ⃗ ) = n ∥ X ⃗ n − 1 = s ⃗ ] = Pr [ X n > z ( u ⃗ , s ⃗ ) − u n ] = { 1 2 exp ( − ϵ 2 ⋅ ∣ z ( u ⃗ , s ⃗ ) − u n ∣ ) , if z ( u ⃗ , s ⃗ ) − u n > 0 , 1 − 1 2 exp ( − ϵ 2 ⋅ ∣ z ( u ⃗ , s ⃗ ) − u n ∣ ) , if z ( u ⃗ , s ⃗ ) − u n ≤ 0.
\begin{aligned}
\Pr\big[ \mathcal{M}(\vec{u}) = n \Vert \vec X_{n - 1} = \vec s \big]
&= \Pr \big[ X_n > z( \vec{u} , \vec{s} ) - u_n \big] \\
&= \begin{cases}
\begin{aligned}
\frac{1}{2} \exp \left( -\frac{\epsilon}{2} \cdot | z( \vec{u} , \vec{s} ) - u_n| \right),
\end{aligned}
&\text{ if } z( \vec{u} , \vec{s} ) - u_n > 0, \\
\begin{aligned}
1 - \frac{1}{2} \exp \left( -\frac{\epsilon}{2} \cdot | z( \vec{u} , \vec{s} ) - u_n| \right),
\end{aligned}
&\text{ if } z( \vec{u} , \vec{s} ) - u_n \le 0.
\end{cases}
\end{aligned}
Pr [ M ( u ) = n ∥ X n − 1 = s ] = Pr [ X n > z ( u , s ) − u n ] = ⎩ ⎨ ⎧ 2 1 exp ( − 2 ϵ ⋅ ∣ z ( u , s ) − u n ∣ ) , 1 − 2 1 exp ( − 2 ϵ ⋅ ∣ z ( u , s ) − u n ∣ ) , if z ( u , s ) − u n > 0 , if z ( u , s ) − u n ≤ 0. Similarly,
Pr [ M ( v ⃗ ) = n ∥ X ⃗ n − 1 = s ⃗ ] = Pr [ X n > z ( v ⃗ , s ⃗ ) − v n ] = { 1 2 exp ( − ϵ 2 ⋅ ∣ z ( v ⃗ , s ⃗ ) − v n ∣ ) , if z ( v ⃗ , s ⃗ ) − v n > 0 , 1 − 1 2 exp ( − ϵ 2 ⋅ ∣ z ( v ⃗ , s ⃗ ) − v n ∣ ) , if z ( v ⃗ , s ⃗ ) − v n ≤ 0.
\begin{aligned}
\Pr\big[ \mathcal{M}(\vec{v}) = n \Vert \vec X_{n - 1} = \vec s \big]
&= \Pr \big[ X_n > z( \vec{v} , \vec{s} ) - v_n \big] \\
&= \begin{cases}
\begin{aligned}
\frac{1}{2} \exp \left( -\frac{\epsilon}{2} \cdot | z( \vec{v} , \vec{s} ) - v_n | \right),
\end{aligned}
&\text{ if } z( \vec{v} , \vec{s} ) - v_n > 0, \\
\begin{aligned}
1 - \frac{1}{2} \exp \left( -\frac{\epsilon}{2} \cdot | z( \vec{v} , \vec{s} ) - v_n| \right),
\end{aligned}
&\text{ if } z( \vec{v} , \vec{s} ) - v_n \le 0.
\end{cases}
\end{aligned}
Pr [ M ( v ) = n ∥ X n − 1 = s ] = Pr [ X n > z ( v , s ) − v n ] = ⎩ ⎨ ⎧ 2 1 exp ( − 2 ϵ ⋅ ∣ z ( v , s ) − v n ∣ ) , 1 − 2 1 exp ( − 2 ϵ ⋅ ∣ z ( v , s ) − v n ∣ ) , if z ( v , s ) − v n > 0 , if z ( v , s ) − v n ≤ 0. Let Δ ≐ z ( u ⃗ , s ⃗ ) − u n − ( z ( v ⃗ , s ⃗ ) − v n ) \Delta \doteq z( \vec{u} , \vec{s} ) - u_n - (z( \vec{v} , \vec{s} ) - v_n) Δ ≐ z ( u , s ) − u n − ( z ( v , s ) − v n ) .
The assumption ∥ u ⃗ − v ⃗ ∥ ∞ = 1 \Vert \vec{u} - \vec{v} \Vert_\infty = 1 ∥ u − v ∥ ∞ = 1 implies that ∣ Δ ∣ ≤ 2 |\Delta| \le 2 ∣Δ∣ ≤ 2 .
WLOG, assume that z ( u ⃗ , s ⃗ ) − u n ≤ z ( v ⃗ , s ⃗ ) − v n z( \vec{u} , \vec{s} ) - u_n \le z( \vec{v} , \vec{s} ) - v_n z ( u , s ) − u n ≤ z ( v , s ) − v n .
Then
Pr [ X n > z ( v ⃗ , s ⃗ ) − v n ] = Pr [ X n + Δ > z ( u ⃗ , s ⃗ ) − u n ] .
\Pr \big[ X_n > z( \vec{v} , \vec{s} ) - v_n \big]
= \Pr \big[ X_n + \Delta > z( \vec{u} , \vec{s} ) - u_n \big].
Pr [ X n > z ( v , s ) − v n ] = Pr [ X n + Δ > z ( u , s ) − u n ] . Define Y n ≐ X n + Δ Y_n \doteq X_n + \Delta Y n ≐ X n + Δ , which is also a Laplacian random variable with distribution L a p ( Δ , 2 / ϵ ) \mathcal{L}ap (\Delta, 2 / \epsilon) L a p ( Δ , 2/ ϵ ) .
It follows that Y n Y_n Y n is ( ϵ , 0 ) (\epsilon, 0) ( ϵ , 0 ) -close to X n X_n X n , and
Pr [ M ( u ⃗ ) = n ∥ X ⃗ n − 1 = s ⃗ ] Pr [ M ( v ⃗ ) = n ∥ X ⃗ n − 1 = s ⃗ ] = Pr [ X n > z ( u ⃗ , s ⃗ ) − u n ] Pr [ Y n > z ( u ⃗ , s ⃗ ) − u n ] ≤ e ϵ .
\begin{aligned}
\frac{
\Pr\big[ \mathcal{M}(\vec{u}) = n \Vert \vec X_{n - 1} = \vec s \big]
}{
\Pr \big[ \mathcal{M}(\vec{v}) = n \Vert \vec X_{n - 1} = \vec s \big]
}
=
\frac{
\Pr \big[ X_n > z( \vec{u} , \vec{s} ) - u_n \big]
}{
\Pr \big[ Y_n > z( \vec{u} , \vec{s} ) - u_n \big]
}
\le e^\epsilon.
\end{aligned}
Pr [ M ( v ) = n ∥ X n − 1 = s ] Pr [ M ( u ) = n ∥ X n − 1 = s ] = Pr [ Y n > z ( u , s ) − u n ] Pr [ X n > z ( u , s ) − u n ] ≤ e ϵ . Remark 1. We can also verifies this via the close form expressions.
If 0 ≤ z ( u ⃗ , s ⃗ ) − u n 0 \le z( \vec{u} , \vec{s} ) - u_n 0 ≤ z ( u , s ) − u n , clearly we have
Pr [ M ( u ⃗ ) = n ∥ X ⃗ n − 1 = s ⃗ ] Pr [ M ( v ⃗ ) = n ∥ X ⃗ n − 1 = s ⃗ ] ≤ exp ( ϵ ) .
\begin{aligned}
\frac{\Pr\big[ \mathcal{M}(\vec{u}) = n \Vert \vec X_{n - 1} = \vec s \big] }{ \Pr \big[ \mathcal{M}(\vec{v}) = n \Vert \vec X_{n - 1} = \vec s \big] }
\le \exp(\epsilon).
\end{aligned}
Pr [ M ( v ) = n ∥ X n − 1 = s ] Pr [ M ( u ) = n ∥ X n − 1 = s ] ≤ exp ( ϵ ) . Consider z ( v ⃗ , s ⃗ ) − v n ≤ 0 z( \vec{v} , \vec{s} ) - v_n \le 0 z ( v , s ) − v n ≤ 0 .
Let a ≐ ∣ z ( u ⃗ , s ⃗ ) − u n ∣ a \doteq |z( \vec{u} , \vec{s} ) - u_n| a ≐ ∣ z ( u , s ) − u n ∣ , ∣ b ≐ z ( v ⃗ , s ⃗ ) − v n ∣ |b \doteq z( \vec{v} , \vec{s} ) - v_n| ∣ b ≐ z ( v , s ) − v n ∣ , and c = 1 / 2 ⋅ exp ( − ϵ / 2 ⋅ b ) ∈ [ 0 , 1 / 2 ] c = 1 / 2 \cdot \exp \left( - {\epsilon} / {2} \cdot b \right) \in [0, 1 / 2] c = 1/2 ⋅ exp ( − ϵ / 2 ⋅ b ) ∈ [ 0 , 1/2 ] .
Then a , b ≥ 0 a, b \ge 0 a , b ≥ 0 , a − b ≤ 2 a - b \le 2 a − b ≤ 2 , and
Pr [ M ( u ⃗ ) = n ∥ X ⃗ n − 1 = s ⃗ ] Pr [ M ( v ⃗ ) = n ∥ X ⃗ n − 1 = s ⃗ ] = 1 − 1 2 exp ( − ϵ 2 ⋅ a ) 1 − 1 2 exp ( − ϵ 2 ⋅ b ) = 1 − c ⋅ exp ( − ϵ 2 ⋅ ( a − b ) ) 1 − c ≤ 1 − c ⋅ exp ( − ϵ ) 1 − c = 1 e ϵ e ϵ − 1 + 1 − c 1 − c = 1 e ϵ ( e ϵ − 1 1 − c + 1 ) ≤ 1 e ϵ ( e ϵ − 1 1 − 1 / 2 + 1 ) = 1 e ϵ ( 2 e ϵ − 1 ) ≤ exp ( ϵ ) .
\begin{aligned}
\frac{\Pr\big[ \mathcal{M}(\vec{u}) = n \Vert \vec X_{n - 1} = \vec s \big] }{ \Pr \big[ \mathcal{M}(\vec{v}) = n \Vert \vec X_{n - 1} = \vec s \big] }
&=
\frac{
1 - \frac{1}{2} \exp \left( -\frac{\epsilon}{2} \cdot a \right)
}{
1 - \frac{1}{2} \exp \left( -\frac{\epsilon}{2} \cdot b \right)
} \\
&=
\frac{
1 - c \cdot \exp \left( -\frac{\epsilon}{2} \cdot (a - b) \right)
}{
1 - c
} \\
&\le
\frac{
1 - c \cdot \exp \left( -\epsilon \right)
}{
1 - c
} \\
&=
\frac{1}{e^\epsilon}
\frac{
e^\epsilon - 1 + 1 - c
}{
1 - c
} \\
&=
\frac{1}{e^\epsilon}
\left(
\frac{
e^\epsilon - 1
}{
1 - c
}
+ 1
\right) \\
&\le
\frac{1}{e^\epsilon}
\left(
\frac{
e^\epsilon - 1
}{
1 - 1 / 2
}
+ 1
\right) \\
&=
\frac{1}{e^\epsilon}
\left(
2 e^\epsilon - 1
\right) \\
&\le \exp(\epsilon).
\end{aligned}
Pr [ M ( v ) = n ∥ X n − 1 = s ] Pr [ M ( u ) = n ∥ X n − 1 = s ] = 1 − 2 1 exp ( − 2 ϵ ⋅ b ) 1 − 2 1 exp ( − 2 ϵ ⋅ a ) = 1 − c 1 − c ⋅ exp ( − 2 ϵ ⋅ ( a − b ) ) ≤ 1 − c 1 − c ⋅ exp ( − ϵ ) = e ϵ 1 1 − c e ϵ − 1 + 1 − c = e ϵ 1 ( 1 − c e ϵ − 1 + 1 ) ≤ e ϵ 1 ( 1 − 1/2 e ϵ − 1 + 1 ) = e ϵ 1 ( 2 e ϵ − 1 ) ≤ exp ( ϵ ) . Finally, consider z ( u ⃗ , s ⃗ ) − u n < 0 , z ( v ⃗ , s ⃗ ) − v n > 0 z( \vec{u} , \vec{s} ) - u_n < 0, z( \vec{v} , \vec{s} ) - v_n > 0 z ( u , s ) − u n < 0 , z ( v , s ) − v n > 0 .
Let a ≐ ∣ z ( u ⃗ , s ⃗ ) − u n ∣ a \doteq |z( \vec{u} , \vec{s} ) - u_n| a ≐ ∣ z ( u , s ) − u n ∣ , ∣ b ≐ z ( v ⃗ , s ⃗ ) − v n ∣ |b \doteq z( \vec{v} , \vec{s} ) - v_n| ∣ b ≐ z ( v , s ) − v n ∣ , and c = 1 / 2 ⋅ exp ( − ϵ / 2 ⋅ b ) ∈ [ 0 , 1 / 2 ] c = 1 / 2 \cdot \exp \left( - {\epsilon} / {2} \cdot b \right) \in [0, 1 / 2] c = 1/2 ⋅ exp ( − ϵ / 2 ⋅ b ) ∈ [ 0 , 1/2 ] .
Then a , b ≥ 0 a, b \ge 0 a , b ≥ 0 , a + b ≤ 2 a + b \le 2 a + b ≤ 2 , and
Pr [ M ( u ⃗ ) = n ∥ X ⃗ n − 1 = s ⃗ ] Pr [ M ( v ⃗ ) = n ∥ X ⃗ n − 1 = s ⃗ ] = 1 − 1 2 exp ( − ϵ 2 ⋅ a ) 1 2 exp ( − ϵ 2 ⋅ b ) = 1 − c ⋅ exp ( − ϵ 2 ⋅ ( a − b ) ) c ≤ 1 − c ⋅ exp ( − ϵ ) c = 1 c − 1 e ϵ ≤ 2 − exp ( − ϵ ) ≤ exp ( ϵ ) .
\begin{aligned}
\frac{\Pr\big[ \mathcal{M}(\vec{u}) = n \Vert \vec X_{n - 1} = \vec s \big] }{ \Pr \big[ \mathcal{M}(\vec{v}) = n \Vert \vec X_{n - 1} = \vec s \big] }
&=
\frac{
1 - \frac{1}{2} \exp \left( -\frac{\epsilon}{2} \cdot a \right)
}{
\frac{1}{2} \exp \left( -\frac{\epsilon}{2} \cdot b \right)
} \\
&=
\frac{
1 - c \cdot \exp \left( -\frac{\epsilon}{2} \cdot (a - b) \right)
}{
c
} \\
&\le
\frac{
1 - c \cdot \exp \left( -\epsilon \right)
}{
c
} \\
&=
\frac{1}{c} -
\frac{
1
}{
e^\epsilon
} \\
&\le
2 - \exp(-\epsilon) \\
&\le \exp(\epsilon).
\end{aligned}
Pr [ M ( v ) = n ∥ X n − 1 = s ] Pr [ M ( u ) = n ∥ X n − 1 = s ] = 2 1 exp ( − 2 ϵ ⋅ b ) 1 − 2 1 exp ( − 2 ϵ ⋅ a ) = c 1 − c ⋅ exp ( − 2 ϵ ⋅ ( a − b ) ) ≤ c 1 − c ⋅ exp ( − ϵ ) = c 1 − e ϵ 1 ≤ 2 − exp ( − ϵ ) ≤ exp ( ϵ ) . Integrating over X ⃗ n − 1 = s ⃗ \vec X_{n - 1} = \vec s X n − 1 = s for all possible s ⃗ \vec s s finishes the proof.
□ \square □
Theorem (Utility Guarantee). With probability at least 1 − β 1 - \beta 1 − β , it holds that
u M ( u ⃗ ) ≥ ( max i ∈ [ d ] u i ) − 1 ϵ ln d β .
u_{ \mathcal{M}(\vec{u}) } \ge \left( \max_{i \in [d] } u_i \right) - \frac{1}{\epsilon} \ln \frac{d}{\beta}.
u M ( u ) ≥ ( i ∈ [ d ] max u i ) − ϵ 1 ln β d .
Proof.
For each i ∈ [ d ] i \in [d] i ∈ [ d ] ,
Pr [ ∣ X i ∣ ≥ 1 ϵ ln d β ] ≤ β d .
\Pr \left[ |X_i| \ge \frac{1}{\epsilon} \ln \frac{d}{\beta} \right] \le \frac{\beta}{d}.
Pr [ ∣ X i ∣ ≥ ϵ 1 ln β d ] ≤ d β . Via union bound,
Pr [ ∃ i ∈ [ d ] : ∣ X i ∣ ≥ 1 ϵ ln d β ] ≤ β .
\Pr \left[ \exists i \in [d] : |X_i| \ge \frac{1}{\epsilon} \ln \frac{d}{\beta} \right] \le \beta.
Pr [ ∃ i ∈ [ d ] : ∣ X i ∣ ≥ ϵ 1 ln β d ] ≤ β . □ \square □
Exponential Noise
It is possible to add Exponential noise X i ∼ E x p ( 2 / ϵ ) X_i \sim \mathcal{Exp}(2 / \epsilon) X i ∼ E x p ( 2/ ϵ ) to each coordinate of u ⃗ \vec{u} u , and then return
M ( u ⃗ ) ≐ arg max i ∈ [ d ] ( u i + X i ) .
\mathcal{M}(\vec{u}) \doteq \underset{ i \in [d] }{\arg \max} \big( u_i + X_i \big).
M ( u ) ≐ i ∈ [ d ] arg max ( u i + X i ) . Following the same vein, we have
Pr [ M ( u ⃗ ) = n ∥ X ⃗ n − 1 = s ⃗ ] = Pr [ X n > z ( u ⃗ , s ⃗ ) − u n ] = { exp ( − ϵ 2 ⋅ ∣ z ( u ⃗ , s ⃗ ) − u n ∣ ) , if z ( u ⃗ , s ⃗ ) − u n > 0 , 1 , if z ( u ⃗ , s ⃗ ) − u n ≤ 0.
\begin{aligned}
\Pr\big[ \mathcal{M}(\vec{u}) = n \Vert \vec X_{n - 1} = \vec s \big]
&= \Pr \big[ X_n > z( \vec{u} , \vec{s} ) - u_n \big] \\
&= \begin{cases}
\begin{aligned}
\exp \left( -\frac{\epsilon}{2} \cdot | z( \vec{u} , \vec{s} ) - u_n| \right),
\end{aligned}
&\text{ if } z( \vec{u} , \vec{s} ) - u_n > 0, \\
\begin{aligned}
1 ,
\end{aligned}
&\text{ if } z( \vec{u} , \vec{s} ) - u_n \le 0.
\end{cases}
\end{aligned}
Pr [ M ( u ) = n ∥ X n − 1 = s ] = Pr [ X n > z ( u , s ) − u n ] = { exp ( − 2 ϵ ⋅ ∣ z ( u , s ) − u n ∣ ) , 1 , if z ( u , s ) − u n > 0 , if z ( u , s ) − u n ≤ 0. And
Pr [ M ( v ⃗ ) = n ∥ X ⃗ n − 1 = s ⃗ ] = Pr [ X n > z ( v ⃗ , s ⃗ ) − v n ] = { exp ( − ϵ 2 ⋅ ∣ z ( v ⃗ , s ⃗ ) − v n ∣ ) , if z ( v ⃗ , s ⃗ ) − v n > 0 , 1 , if z ( v ⃗ , s ⃗ ) − v n ≤ 0.
\begin{aligned}
\Pr\big[ \mathcal{M}(\vec{v}) = n \Vert \vec X_{n - 1} = \vec s \big]
&= \Pr \big[ X_n > z( \vec{v} , \vec{s} ) - v_n \big] \\
&= \begin{cases}
\begin{aligned}
\exp \left( -\frac{\epsilon}{2} \cdot | z( \vec{v} , \vec{s} ) - v_n | \right),
\end{aligned}
&\text{ if } z( \vec{v} , \vec{s} ) - v_n > 0, \\
\begin{aligned}
1 ,
\end{aligned}
&\text{ if } z( \vec{v} , \vec{s} ) - v_n \le 0.
\end{cases}
\end{aligned}
Pr [ M ( v ) = n ∥ X n − 1 = s ] = Pr [ X n > z ( v , s ) − v n ] = { exp ( − 2 ϵ ⋅ ∣ z ( v , s ) − v n ∣ ) , 1 , if z ( v , s ) − v n > 0 , if z ( v , s ) − v n ≤ 0. It is straightforward to check that
Pr [ M ( u ⃗ ) = n ∥ X ⃗ n − 1 = s ⃗ ] Pr [ M ( v ⃗ ) = n ∥ X ⃗ n − 1 = s ⃗ ] ≤ exp ( ϵ ) .
\begin{aligned}
\frac{\Pr\big[ \mathcal{M}(\vec{u}) = n \Vert \vec X_{n - 1} = \vec s \big] }{ \Pr \big[ \mathcal{M}(\vec{v}) = n \Vert \vec X_{n - 1} = \vec s \big] }
\le \exp(\epsilon).
\end{aligned}
Pr [ M ( v ) = n ∥ X n − 1 = s ] Pr [ M ( u ) = n ∥ X n − 1 = s ] ≤ exp ( ϵ ) . Exponential Mechanism
The exponential mechanism is defined by its output distribution:
Pr [ M ( u ⃗ ) = i ] ∝ exp ( ϵ ⋅ u i / 2 ) , ∀ i ∈ [ d ] .
\Pr[\mathcal{M}(\vec{u}) = i] \propto \exp \left( \epsilon \cdot u_i / 2 \right), \quad \forall i \in [d].
Pr [ M ( u ) = i ] ∝ exp ( ϵ ⋅ u i /2 ) , ∀ i ∈ [ d ] . Normalizing these probabilities give
Pr [ M ( u ⃗ ) = i ] = exp ( ϵ ⋅ u i / 2 ) ∑ j ∈ [ d ] exp ( ϵ ⋅ u j / 2 ) , ∀ i ∈ [ d ] .
\Pr[\mathcal{M}(\vec{u}) = i]
= \frac{
\exp \left( \epsilon \cdot u_i / 2 \right)
}{
\sum_{j \in [d] } \exp \left( \epsilon \cdot u_j / 2 \right)
},
\quad \forall i \in [d].
Pr [ M ( u ) = i ] = ∑ j ∈ [ d ] exp ( ϵ ⋅ u j /2 ) exp ( ϵ ⋅ u i /2 ) , ∀ i ∈ [ d ] .
Theorem (Privacy Guarantee). The algorithm is ϵ \epsilon ϵ -differentially private.
Proof.
Fix a u ⃗ ∈ N d \vec{u} \in \mathbb{N}^d u ∈ N d .
We prove that for each i ∈ [ d ] i \in [d] i ∈ [ d ] , and each v ⃗ ∼ u ⃗ \vec{v} \sim \vec{u} v ∼ u , it holds that
e − ϵ ⋅ Pr [ M ( v ⃗ ) = i ] ≤ Pr [ M ( u ⃗ ) = i ] ≤ e ϵ ⋅ Pr [ M ( v ⃗ ) = i ] .
e^{-\epsilon} \cdot \Pr[ \mathcal{M}(\vec{v}) = i] \le \Pr[ \mathcal{M}(\vec{u}) = i ] \le e^\epsilon \cdot \Pr[ \mathcal{M}(\vec{v}) = i].
e − ϵ ⋅ Pr [ M ( v ) = i ] ≤ Pr [ M ( u ) = i ] ≤ e ϵ ⋅ Pr [ M ( v ) = i ] . By symmetry, we prove the claim for just i = n i = n i = n .
Pr [ M ( u ⃗ ) = n ] Pr [ M ( v ⃗ ) = n ] = exp ( ϵ ⋅ u n / 2 ) exp ( ϵ ⋅ v n / 2 ) ⋅ ∑ j ∈ [ d ] exp ( ϵ ⋅ v j / 2 ) ∑ j ∈ [ d ] exp ( ϵ ⋅ u j / 2 ) ≤ exp ( ϵ / 2 ) ⋅ exp ( ϵ / 2 ) = exp ( ϵ ) .
\begin{aligned}
\frac{\Pr[ \mathcal{M}(\vec{u}) = n] }{\Pr[ \mathcal{M}(\vec{v}) = n] }
&= \frac{
\exp \left( \epsilon \cdot u_n / 2 \right)
}{
\exp \left( \epsilon \cdot v_n / 2 \right)
}
\cdot \frac{
\sum_{j \in [d] } \exp \left( \epsilon \cdot v_j / 2 \right)
}{
\sum_{j \in [d] } \exp \left( \epsilon \cdot u_j / 2 \right)
} \\
&\le
\exp( \epsilon / 2 )
\cdot \exp( \epsilon / 2 ) \\
&= \exp( \epsilon ).
\end{aligned}
Pr [ M ( v ) = n ] Pr [ M ( u ) = n ] = exp ( ϵ ⋅ v n /2 ) exp ( ϵ ⋅ u n /2 ) ⋅ ∑ j ∈ [ d ] exp ( ϵ ⋅ u j /2 ) ∑ j ∈ [ d ] exp ( ϵ ⋅ v j /2 ) ≤ exp ( ϵ /2 ) ⋅ exp ( ϵ /2 ) = exp ( ϵ ) . The inequality follows since
u i − v i ≤ ∥ u ⃗ − v ⃗ ∥ ∞ ≤ 1 , ⟹ exp ( ϵ ( u i − v i ) / 2 ) ≤ exp ( ϵ / 2 ) , ∀ i ∈ [ d ] .
\begin{aligned}
u_i - v_i \le \Vert \vec{u} - \vec{v} \Vert_\infty \le 1,
\implies \exp( \epsilon (u_i - v_i) / 2) \le \exp( \epsilon / 2), \, \forall i \in [d].
\end{aligned}
u i − v i ≤ ∥ u − v ∥ ∞ ≤ 1 , ⟹ exp ( ϵ ( u i − v i ) /2 ) ≤ exp ( ϵ /2 ) , ∀ i ∈ [ d ] . □ \square □
Theorem (Utility Guarantee). With probability at least 1 − β 1 - \beta 1 − β , it holds that
u M ( u ⃗ ) ≥ ( max i ∈ [ d ] u i ) − 2 ϵ ⋅ ln ∣ S ∣ ∣ S O P T ∣ ⋅ β .
u_{ \mathcal{M}(\vec{u}) } \ge \left( \max_{i \in [d] } u_i \right) - \frac{2}{\epsilon} \cdot \ln \frac{|S|}{|S_{OPT}| \cdot \beta}.
u M ( u ) ≥ ( i ∈ [ d ] max u i ) − ϵ 2 ⋅ ln ∣ S O P T ∣ ⋅ β ∣ S ∣ .
Proof.
For each t ∈ R t \in \mathbb{R} t ∈ R , the un-normalized probability mass assigned to the set S ≐ { i ∈ [ d ] : u i ≤ t } S \doteq \{ i \in [d] : u_i \le t \} S ≐ { i ∈ [ d ] : u i ≤ t } is at most ∣ S ∣ ⋅ exp ( ϵ ⋅ t / 2 ) |S| \cdot \exp \left( \epsilon \cdot t / 2\right) ∣ S ∣ ⋅ exp ( ϵ ⋅ t /2 ) .
On the other hand, the un-normalized probability mass assigned to the set S O P T ⊆ [ d ] S_{OPT} \subseteq [d] S O P T ⊆ [ d ] consisting of optimal solutions is ∣ S O P T ∣ ⋅ exp ( ϵ ⋅ ( max i ∈ [ d ] u i ) / 2 ) |S_{OPT}| \cdot \exp \left( \epsilon \cdot \left( \max_{i \in [d] } u_i \right) / 2\right) ∣ S O P T ∣ ⋅ exp ( ϵ ⋅ ( max i ∈ [ d ] u i ) /2 ) .
Pr [ u M ( u ⃗ ) ≤ t ] ≤ ∣ S ∣ ⋅ exp ( ϵ ⋅ t / 2 ) ∣ S O P T ∣ ⋅ exp ( ϵ ⋅ ( max i ∈ [ d ] u i ) / 2 ) ≤ ∣ S ∣ ∣ S O P T ∣ exp ( ϵ ( t − max i ∈ [ d ] u i ) / 2 ) .
\begin{aligned}
\Pr \left[ u_{ \mathcal{M}(\vec{u}) } \le t \right]
&\le
\frac{
|S| \cdot \exp \left( \epsilon \cdot t / 2\right)
}
{
|S_{OPT}| \cdot \exp \left( \epsilon \cdot \left( \max_{i \in [d] } u_i \right) / 2 \right)
} \\
&\le \frac{|S|}{|S_{OPT}|} \exp \left( \epsilon \left( t - \max_{i \in [d] } u_i \right) / 2 \right).
\end{aligned}
Pr [ u M ( u ) ≤ t ] ≤ ∣ S O P T ∣ ⋅ exp ( ϵ ⋅ ( max i ∈ [ d ] u i ) /2 ) ∣ S ∣ ⋅ exp ( ϵ ⋅ t /2 ) ≤ ∣ S O P T ∣ ∣ S ∣ exp ( ϵ ( t − i ∈ [ d ] max u i ) /2 ) . To bound the last term by β \beta β , we can set
t = ( max i ∈ [ d ] u i ) − 2 ϵ ⋅ ln ∣ S ∣ ∣ S O P T ∣ ⋅ β .
t = \left( \max_{i \in [d] } u_i \right) - \frac{2}{\epsilon} \cdot \ln \frac{|S|}{|S_{OPT}| \cdot \beta}.
t = ( i ∈ [ d ] max u i ) − ϵ 2 ⋅ ln ∣ S O P T ∣ ⋅ β ∣ S ∣ . □ \square □
Gumbel Noise
A random variable X X X follows the Gumbel distribution G u m b e l ( μ , b ) \mathcal{Gumbel}(\mu, b) G u mb e l ( μ , b ) if its density is given by
p ( x ) ≐ 1 b ⋅ exp ( − ( x − μ ) / b − e − ( x − μ ) / b ) = 1 b ⋅ e − ( x − μ ) / b ⋅ exp ( − e − ( x − μ ) / b ) , ∀ x ∈ R .
p(x)
\doteq \frac{1}{b} \cdot \exp \left( - (x - \mu) / b - e^{- (x - \mu) / b} \right)
= \frac{1}{b} \cdot e^{ - (x - \mu) / b } \cdot \exp \left(- e^{- (x - \mu) / b} \right), \forall x \in \mathbb{R}.
p ( x ) ≐ b 1 ⋅ exp ( − ( x − μ ) / b − e − ( x − μ ) / b ) = b 1 ⋅ e − ( x − μ ) / b ⋅ exp ( − e − ( x − μ ) / b ) , ∀ x ∈ R . It follows that the cumulative distribution of X X X is
Pr [ X ≤ t ] = ∫ − ∞ t 1 b ⋅ e − ( x − μ ) / b ⋅ exp ( − e − ( x − μ ) / b ) d x = − ∫ − ∞ t exp ( − e − ( x − μ ) / b ) d e − ( x − μ ) / b = ∫ exp ( − ( t − μ ) / b ) ∞ exp ( − y ) d y = exp ( − e − ( t − μ ) / b ) .
\begin{aligned}
\Pr[ X \le t ]
&= \int_{-\infty}^t \frac{1}{b} \cdot e^{ - (x - \mu) / b } \cdot \exp \left(- e^{- (x - \mu) / b} \right) \, d x \\
&= - \int_{-\infty}^t \exp \left(- e^{- (x - \mu) / b} \right) \, d e^{ - (x - \mu) / b } \\
&= \int^{\infty}_{\exp(- (t - \mu) / b)} \exp \left(- y \right) \, d y \\
&= \exp \left(- e^{ - (t - \mu) / b } \right).
\end{aligned}
Pr [ X ≤ t ] = ∫ − ∞ t b 1 ⋅ e − ( x − μ ) / b ⋅ exp ( − e − ( x − μ ) / b ) d x = − ∫ − ∞ t exp ( − e − ( x − μ ) / b ) d e − ( x − μ ) / b = ∫ e x p ( − ( t − μ ) / b ) ∞ exp ( − y ) d y = exp ( − e − ( t − μ ) / b ) .
Theorem. If we add Gumbel noise X i ∼ G u m b e l ( 0 , 2 / ϵ ) X_i \sim \mathcal{Gumbel}(0, 2 / \epsilon) X i ∼ G u mb e l ( 0 , 2/ ϵ ) to each coordinate of u ⃗ \vec{u} u , and then return
M ( u ⃗ ) ≐ arg max i ∈ [ d ] ( u i + X i ) ,
\mathcal{M}(\vec{u}) \doteq \underset{ i \in [d] }{\arg \max} \big( u_i + X_i \big),
M ( u ) ≐ i ∈ [ d ] arg max ( u i + X i ) , the output has the same distribution as the one of exponential mechanism.
Proof.
Let b = 2 / ϵ b = 2 / \epsilon b = 2/ ϵ , and Z i ≐ u i + X i Z_i \doteq u_i + X_i Z i ≐ u i + X i .
Then Z i ∼ G u m b e l ( u i , b ) Z_i \sim \mathcal{Gumbel}(u_i, b) Z i ∼ G u mb e l ( u i , b ) , and
Pr [ M ( u ⃗ ) = n ] = ∫ − ∞ ∞ ( p ( z n ) ⋅ ∏ i ∈ [ n − 1 ] Pr [ Z i ≤ z n ] ) d z n = ∫ − ∞ ∞ ( 1 b ⋅ e − ( z n − u n ) / b ⋅ exp ( − e − ( z n − u n ) / b ) ⋅ ∏ i ∈ [ n − 1 ] exp ( − e − ( z n − u i ) / b ) ) d z n = e u n / b ⋅ ∫ − ∞ ∞ ( 1 b ⋅ e − z n / b ⋅ exp ( − e − z n / b ⋅ ∑ i ∈ [ n ] e u i / b ) ) d z n = − e u n / b ⋅ ∫ ∞ 0 exp ( − y ⋅ ∑ i ∈ [ n ] e u i / b ) d y ( y ≐ e − z n / b ) = exp ( u n / b ) ∑ i ∈ [ n ] exp ( u i / b ) .
\begin{aligned}
\Pr[ \mathcal{M}(\vec{u}) = n]
&= \int_{-\infty}^\infty \left( p(z_n) \cdot \prod_{i \in [n - 1]} \Pr[ Z_i \le z_n ] \right) \, d z_n \\
&= \int_{-\infty}^\infty \left(
\frac{1}{b} \cdot e^{ - (z_n - u_n) / b } \cdot \exp \left(- e^{- (z_n - u_n) / b} \right)
\cdot
\prod_{i \in [n - 1]} \exp \left(- e^{- (z_n - u_i) / b } \right)
\right) \, d z_n \\
&= e^{ u_n / b } \cdot \int_{-\infty}^\infty \left(
\frac{1}{b} \cdot e^{ - z_n / b } \cdot \exp \left(- e^{- z_n / b} \cdot \sum_{i \in [n ]} e^{ u_i / b } \right)
\right) \, d z_n \\
&= - e^{ u_n / b } \cdot \int_{\infty}^0
\exp \left( - y \cdot \sum_{i \in [n ]} e^{ u_i / b } \right)
\, d y
& (y \doteq e^{-z_n/b} ) \\
&= \frac{ \exp \left( u_n / b \right) }{
\sum_{i \in [n]} \exp \left( u_i / b \right)
}.
\end{aligned}
Pr [ M ( u ) = n ] = ∫ − ∞ ∞ p ( z n ) ⋅ i ∈ [ n − 1 ] ∏ Pr [ Z i ≤ z n ] d z n = ∫ − ∞ ∞ b 1 ⋅ e − ( z n − u n ) / b ⋅ exp ( − e − ( z n − u n ) / b ) ⋅ i ∈ [ n − 1 ] ∏ exp ( − e − ( z n − u i ) / b ) d z n = e u n / b ⋅ ∫ − ∞ ∞ b 1 ⋅ e − z n / b ⋅ exp − e − z n / b ⋅ i ∈ [ n ] ∑ e u i / b d z n = − e u n / b ⋅ ∫ ∞ 0 exp − y ⋅ i ∈ [ n ] ∑ e u i / b d y = ∑ i ∈ [ n ] exp ( u i / b ) exp ( u n / b ) . ( y ≐ e − z n / b ) □ \square □
Reference
[1] C. Dwork and A. Roth, “The Algorithmic Foundations of Differential Privacy,”
[2] The Gumbel-Max Trick for Discrete Distributions
[3] D. Durfee and R. M. Rogers, “Practical Differentially Private Top-k Selection with Pay-what-you-get Composition,” in Advances in Neural Information Processing Systems, 2019, vol. 32. Accessed: Sep. 13, 2022.
← Back to all notes Back to top ↑