123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899 |
- import math
- def get_b_0(k, epsilon, ell, u):
- # plot([(1+(1+u)*epsilon*x)/((1-ell)*x+(1+u)*epsilon*x+1), 0.25], (x, 0, 1))
- return ((1+(1+u)*epsilon*k)/((1-ell)*k+(1+u)*epsilon*k+1))
- def get_delta_e(phi_e, gamma, K, n, epsilon):
- return math.sqrt(abs(math.log(phi_e)*32*epsilon/(gamma*K**2*math.log(n))))
- def get_phi_e(delta_e, gamma, K, n, epsilon):
- return math.exp(-1*gamma*((delta_e*K)**2)*math.log(n)/(32*epsilon))
- def get_delta_age_ell(phi_age_ell, c, K, n):
- C=c*math.log(n)
- return math.sqrt((2*C*K/n) - (2*math.log(phi_age_ell)/C))
- def get_phi_age_ell(delta_age_ell, C, K, n):
- return math.exp(((C**2)*K/n) - ((delta_age_ell**2)*C/2))
- def get_delta_age_u(u, c, K, n):
- C=c*math.log(n)
- #delta_age_u**2/(1+delta_age_u)=A
- A = ((2*C*K/n) - (2*math.log(u)/C))
- #quadratic of the form x^2 - A*x - A = 0
- #only one positive root as A is always positive.
- root = 0.5 * (A + math.sqrt(A**2+4*A))
- return root
- def get_phi_age_u(delta_age_u, C, K, n):
- return math.exp(((C**2)*K/n) - ((delta_age_u**2)*C/(2*(1+delta_age_u))))
- def get_delta_n(gamma, epsilon, K, n):
- return gamma*K*(math.log(n))**3/(epsilon*n)
- def get_delta_ell(delta_e, delta_age_ell, delta_n):
- return delta_e + delta_age_ell - (delta_e * delta_age_ell) - ((1 - delta_e) * delta_n)
- def get_delta_u(delta_e, delta_age_u, delta_n):
- return delta_e + delta_age_u + delta_e * delta_age_u + ((1 + delta_e) * delta_n)
- def get_p_i(phi_e, epsilon, phi_age_ell, phi_age_u, C):
- phi_e_honest = phi_e**C
- print(phi_e_honest)
- phi_e_byz = (phi_e**(epsilon**2))**C
- print(phi_e_byz)
- p1 = phi_e_honest + 2*phi_age_ell + phi_e_byz
- p2 = phi_e_honest + 2*phi_age_u + phi_e_byz
- p3 = phi_e_honest + phi_age_ell
- p4 = phi_e_byz + phi_age_u
- return [p1, p2, p3, p4]
- n=10**8
- K=20
- c=40
- C=c*math.log(n)
- gamma=1
- epsilon=0.2
- delta_e = 0.1
- delta_age_ell = 0.12
- delta_age_u = 0.11
- #phi_age_ell_1=0.02
- #phi_age_u_1=0.02
- #phi_e=5*(10**-30)
- #delta_age_u_1 = get_delta_age_u(phi_age_u_1, c, K, n)
- #print("delta_age_u is: ", delta_age_u_1)
- #delta_age_ell_1 = get_delta_age_ell(phi_age_ell_1, c, K, n)
- #print("delta_age_l is: ", delta_age_ell_1)
- delta_e_2 = get_delta_e(5*(10**-30), gamma, K, n, epsilon)
- print("delta_e_2 is: ", delta_e_2)
- delta_n = get_delta_n(gamma, epsilon, K, n)
- print("delta_n is: ", delta_n)
- delta_ell = get_delta_ell(delta_e, delta_age_ell, delta_n)
- print("delta_ell is: ", delta_ell)
- delta_u = get_delta_u(delta_e, delta_age_ell, delta_n)
- print("delta_u is: ", delta_u)
- b_0 = get_b_0(K, epsilon, delta_ell, delta_u)
- print("b_0 is: ", b_0)
- phi_age_ell = get_phi_age_ell(delta_age_ell, C, K, n)
- print("phi_age_ell is: ", phi_age_ell)
- phi_age_u = get_phi_age_u(delta_age_u, C, K, n)
- print("phi_age_u is: ", phi_age_u)
- phi_e = get_phi_e(delta_e, gamma, K, n, epsilon)
- print("phi_e is: ", phi_e)
- print("phi_e^(epsilon^2) is: ", phi_e**(epsilon**2))
- [p1, p2, p3, p4] = get_p_i(phi_e, epsilon, phi_age_ell, phi_age_u, C)
- print(p1, p2, p3, p4)
|