24 lines
721 B
Python
24 lines
721 B
Python
NUMSIGNERS = 15
|
|
ATTACKER_SHARE = 0.495
|
|
CHANCE_OF_SUCCESS = 0.049
|
|
SCORE_DIFFERENTIAL = 10
|
|
ATTACKER_VOTE = 0.95
|
|
import random
|
|
|
|
def sim():
|
|
d = -SCORE_DIFFERENTIAL * 15
|
|
while d < 0 and d > -(SCORE_DIFFERENTIAL * 15)-1000:
|
|
if random.random() < ATTACKER_SHARE:
|
|
for i in range(NUMSIGNERS):
|
|
if random.random() < ATTACKER_SHARE:
|
|
d += ATTACKER_VOTE
|
|
else:
|
|
d += min(CHANCE_OF_SUCCESS, 0.95)
|
|
else:
|
|
for i in range(NUMSIGNERS):
|
|
if random.random() < ATTACKER_SHARE:
|
|
pass
|
|
else:
|
|
d -= min(1 - CHANCE_OF_SUCCESS, 0.95)
|
|
return 1 if d >= 0 else 0
|