Ejemplo n.º 1
0
def rappor(n,f,p,q,m):
    n=str(n)
    bloom=BloomFilter()
    noisydata=bloom.add_data(n,m)
    
    
# Permanent randomized response  
    for i in range(len(noisydata)):
        choose=np.random.randint(0,totalnum)
        if noisydata[i]==1:
            if choose/totalnum<=f/2:
                noisydata[i]=0
        else:
            if choose/totalnum<=f/2:
                noisydata[i]=1

                
                    

                    
    # Instantaneous randomized response
    for i in range(len(noisydata)):
         choose=np.random.randint(0,totalnum)
         if noisydata[i]==1:
             if choose/totalnum<=1-q:
                 noisydata[i]=0
         else:
             if choose/totalnum<=p:
                 noisydata[i]=1
                 
    return noisydata