plot_sim_vs_darkfi_distribution.py 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. from lottery import *
  2. from matplotlib import pyplot as plt
  3. TARGET=1
  4. AIRDROP=1000
  5. NODES=5
  6. LOTTERY_FILE = "/tmp/lottery_history.log"
  7. SIM_LOTTERY_FILE = "/tmp/sim_lottery_history.log"
  8. lottery = []
  9. with open(LOTTERY_FILE) as f:
  10. buf = f.read()
  11. lines = buf.split("\n")
  12. RUNNING_TIME = len(lines)
  13. for line in lines[500:-1]:
  14. ret = line.split(",")
  15. lottery +=[[int(ret[0], 16), int(ret[1], 16)]]
  16. if __name__ == "__main__":
  17. dt = DarkfiTable(AIRDROP, 0.5, 0.8, 0.8, TARGET, int(RUNNING_TIME/float(NODES)))
  18. darkies = [Darkie(AIRDROP/float(NODES)) for i in range(NODES)]
  19. for darkie in darkies:
  20. dt.add_darkie(darkie)
  21. dt.background(True, False)
  22. dt.write()
  23. sim_lottery = []
  24. with open(SIM_LOTTERY_FILE) as f:
  25. buf = f.read()
  26. lines = buf.split("\n")
  27. RUNNING_TIME = len(lines)
  28. for line in lines[500:-1]:
  29. ret = line.split(",")
  30. sim_lottery +=[[float(ret[0]), float(ret[1])]]
  31. plt.scatter([i[0] for i in lottery], [1]*len(lottery), c="#000000")
  32. plt.scatter([i[1] for i in lottery], [3]*len(lottery), c="#ff0000")
  33. plt.scatter([i[0] for i in sim_lottery], [-1]*len(sim_lottery), c="#000000")
  34. plt.scatter([i[1] for i in sim_lottery], [-3]*len(sim_lottery), c="#00ff00")
  35. plt.legend(["darkfid y", "darkfid T", "simulation y", "simulation T"])
  36. plt.savefig("/tmp/lottery_dist.png")