C++的差分隐私laplace噪声实现
double noisyCount(int sensitivity,double epsilon) { //assert(epsilon > 0); int d = rand(); if(d == 0) d++; else if(d == RAND_MAX) d--; double uniform = (double)d/RAND_MAX- 0.5; double s=(double)sensitivity; return s / epsilon * Math::Sign(uniform) * Math::Log(1 - 2.0 * Math::Abs(uniform)); }