==================== P(Compromise|Guard) ==========================

PassiveEvilGuard compromise rate at [success_rate, adversary_capacity, path_bias_pct]:
(As expected, P(CompromisedExit|PassiveEvilGuard) ~= c/n)
New extrema at [10000, 0.75, 0.05, 70]: 0.0489855846236
New extrema at [10000, 0.75, 0.25, 70]: 0.252824098978
New extrema at [10000, 0.75, 0.45, 70]: 0.453292291221
New extrema at [10000, 0.75, 0.65, 70]: 0.651239888609
New extrema at [10000, 0.75, 0.8500000000000001, 70]: 0.845948471499
[10000, 0.75, 0.8500000000000001, 70]

UnrepentantEvilGuard compromise rate at [success_rate, adversary_capacity, path_bias_pct]:
(As expected, P(CompromisedExit|UnrepentantEvilGuard) = 1.0)
New extrema at [10000, 0.75, 0.05, 70]: 1.0
[10000, 0.75, 0.8500000000000001, 70]

ProbabalisticEvilGuard compromise rate at [success_rate, adversary_capacity, path_bias_pct]:
P(CompromisedExit|ProbabalisticEvilGuard) <= (c/n)*(100/PATH_BIAS_PCT)
New extrema at [10000, 0.75, 0.05, 70]: 0.0641538461538
New extrema at [10000, 0.75, 0.25, 70]: 0.386709736964
New extrema at [10000, 0.75, 0.45, 70]: 0.695431472081
New extrema at [10000, 0.75, 0.65, 70]: 0.994813119756
New extrema at [10000, 0.75, 0.8500000000000001, 70]: 1.0
[10000, 0.75, 0.8500000000000001, 70]

OmniscientEvilGuard compromise rate at [success_rate, adversary_capacity, path_bias_pct]:
P(CompromisedExit|OmniscientEvilGuard) <= (c/n)*(100/PATH_BIAS_PCT)
New extrema at [10000, 0.75, 0.05, 70]: 0.0713570713571
New extrema at [10000, 0.75, 0.25, 70]: 0.368157781907
New extrema at [10000, 0.75, 0.45, 70]: 0.640582607454
New extrema at [10000, 0.75, 0.65, 70]: 0.913658881812
New extrema at [10000, 0.75, 0.8500000000000001, 70]: 0.999881544658
[10000, 0.75, 0.8500000000000001, 70]

OmniscientEvilGuard compromise at [success_rate, adversary_capacity, path_bias_pct]:
P(CompromisedExit|OmniscientEvilGuard) <= (c/n)*(100/PATH_BIAS_PCT)
New extrema at [10000, 0.75, 0.2, 20]: 0.923076923077
New extrema at [10000, 0.75, 0.2, 40]: 0.514037267081
New extrema at [10000, 0.75, 0.2, 60]: 0.339663501583
New extrema at [10000, 0.75, 0.2, 80]: 0.246594175728
[10000, 0.75, 0.2, 80]


==================== Circuits pwnt per client =========================

UnrepentantEvilGuard compromised circs at [success_rate, adversary_capacity, path_bias_pct]:
circs_per_client ~= success_rate*c/n*MIN_CIRCS      for c/n < PATH_BIAS_PCT || c/n < success_rate
                 ~= success_rate*circ_attempts*c/n  for c/n > PATH_BIAS_PCT && c/n > success_rate
New extrema at [100000, 0.75, 0.05, 50]: 0.761847630474
New extrema at [100000, 0.75, 0.25, 50]: 3.7874
New extrema at [100000, 0.75, 0.45, 50]: 6.9507552245
New extrema at [100000, 0.75, 0.65, 50]: 32.9502688172
New extrema at [100000, 0.75, 0.8500000000000001, 50]: 63872.0
[100000, 0.75, 0.8500000000000001, 50]

PassiveEvilGuard compromised circs at [success_rate, adversary_capacity, path_bias_pct]:
circs_per_client ~= success_rate * circ_attempts * c/n
New extrema at [100000, 0.75, 0.05, 50]: 3814.0
New extrema at [100000, 0.75, 0.25, 50]: 19004.0
New extrema at [100000, 0.75, 0.45, 50]: 33870.0
New extrema at [100000, 0.75, 0.65, 50]: 48850.0
New extrema at [100000, 0.75, 0.8500000000000001, 50]: 63845.0
[100000, 0.75, 0.8500000000000001, 50]

ProbabalisticEvilGuard compromised circs at [success_rate, adversary_capacity, path_bias_pct]:
circs_per_client ~= success_rate * circ_attempts * c/n
New extrema at [100000, 0.75, 0.05, 50]: 3971.0
New extrema at [100000, 0.75, 0.65, 50]: 64979.0
New extrema at [100000, 0.75, 0.8500000000000001, 50]: 84854.0
[100000, 0.75, 0.8500000000000001, 50]

OmniscientEvilGuard compromised circs at [success_rate, adversary_capacity, path_bias_pct]:
circs_per_client ~= circ_attempts * c/n
New extrema at [100000, 0.75, 0.05, 50]: 4917.0
New extrema at [100000, 0.75, 0.25, 50]: 25141.0
New extrema at [100000, 0.75, 0.45, 50]: 45100.0
New extrema at [100000, 0.75, 0.65, 50]: 64926.0
New extrema at [100000, 0.75, 0.8500000000000001, 50]: 85085.0
[100000, 0.75, 0.8500000000000001, 50]


===================== False Positives ============================

Startup false positive counts at [num_circs, success_rate, min_circs, path_bias_pct]:
(Results are some function of success_rate - path_bias_pct vs min_circs)
New extrema at [1000000, 0.8, 25, 70]: 9704
New extrema at [1000000, 0.8, 50, 70]: 1571
New extrema at [1000000, 0.8, 75, 70]: 469
New extrema at [1000000, 0.8, 100, 70]: 143
New extrema at [1000000, 0.8, 125, 70]: 54
New extrema at [1000000, 0.8, 150, 70]: 31
New extrema at [1000000, 0.8, 175, 70]: 6
New extrema at [1000000, 0.8, 225, 70]: 3
New extrema at [1000000, 0.8, 250, 70]: 0
[1000000, 0.8, 250, 70]

Startup false positive counts at [num_circs, success_rate, min_circs, path_bias_pct]:
(Results are some function of success_rate - path_bias_pct vs min_circs)
New extrema at [1000000, 0.45, 25, 30]: 4893
New extrema at [1000000, 0.45, 50, 30]: 497
New extrema at [1000000, 0.45, 75, 30]: 96
New extrema at [1000000, 0.45, 100, 30]: 15
New extrema at [1000000, 0.45, 125, 30]: 8
New extrema at [1000000, 0.45, 150, 30]: 2
New extrema at [1000000, 0.45, 175, 30]: 0
[1000000, 0.45, 250, 30]

False positive counts at [num_circs, success_rate, scale_circs, path_bias_pct]:
(Results are some function of success_rate - path_bias_pct vs scale_circs)
New extrema at [1000000, 0.7, 100, 70]: 16805
New extrema at [1000000, 0.7, 150, 70]: 13963
New extrema at [1000000, 0.7, 200, 70]: 11911
New extrema at [1000000, 0.7, 250, 70]: 11067
New extrema at [1000000, 0.7, 300, 70]: 10310
New extrema at [1000000, 0.7, 350, 70]: 9828
New extrema at [1000000, 0.7, 400, 70]: 9273
New extrema at [1000000, 0.7, 450, 70]: 8294
[1000000, 0.7, 500, 70]

False positive counts at [num_circs, success_rate, scale_circs, path_bias_pct]:
(Results are some function of success_rate - path_bias_pct vs scale_circs)
New extrema at [1000000, 0.75, 100, 70]: 3554
New extrema at [1000000, 0.75, 150, 70]: 1833
New extrema at [1000000, 0.75, 200, 70]: 1126
New extrema at [1000000, 0.75, 250, 70]: 544
New extrema at [1000000, 0.75, 300, 70]: 412
New extrema at [1000000, 0.75, 350, 70]: 237
New extrema at [1000000, 0.75, 400, 70]: 132
New extrema at [1000000, 0.75, 450, 70]: 54
New extrema at [1000000, 0.75, 500, 70]: 33
[1000000, 0.75, 500, 70]

False positive counts at [num_circs, success_rate, scale_circs, path_bias_pct]:
(Results are some function of success_rate - path_bias_pct vs scale_circs)
New extrema at [1000000, 0.8, 100, 70]: 147
New extrema at [1000000, 0.8, 150, 70]: 17
New extrema at [1000000, 0.8, 200, 70]: 2
New extrema at [1000000, 0.8, 250, 70]: 0
[1000000, 0.8, 500, 70]

False positive counts at [num_circs, success_rate, scale_circs, path_bias_pct]:
(Results are some function of success_rate - path_bias_pct vs scale_circs)
New extrema at [1000000, 0.55, 100, 50]: 4878
New extrema at [1000000, 0.55, 150, 50]: 2765
New extrema at [1000000, 0.55, 200, 50]: 1619
New extrema at [1000000, 0.55, 250, 50]: 1136
New extrema at [1000000, 0.55, 300, 50]: 681
New extrema at [1000000, 0.55, 350, 50]: 462
New extrema at [1000000, 0.55, 400, 50]: 292
New extrema at [1000000, 0.55, 450, 50]: 232
New extrema at [1000000, 0.55, 500, 50]: 105
[1000000, 0.55, 500, 50]

False positive counts at [num_circs, success_rate, scale_circs, path_bias_pct]:
(Results are some function of success_rate - path_bias_pct vs scale_circs)
New extrema at [1000000, 0.6, 100, 50]: 545
New extrema at [1000000, 0.6, 150, 50]: 108
New extrema at [1000000, 0.6, 200, 50]: 25
New extrema at [1000000, 0.6, 250, 50]: 7
New extrema at [1000000, 0.6, 300, 50]: 0
[1000000, 0.6, 500, 50]

False positive counts at [num_circs, success_rate, scale_circs, path_bias_pct]:
(Results are some function of success_rate - path_bias_pct vs scale_circs)
New extrema at [1000000, 0.45, 100, 30]: 16
New extrema at [1000000, 0.45, 150, 30]: 0
[1000000, 0.45, 500, 30]


===================== DoS Attack Duration ========================

DoS attack durations (in circs) at [success_rate, dos_success_rate, path_bias_pct, scale_thresh]:
New extrema at [0.8, 0.25, 30, 300]: 426
New extrema at [0.8, 0.2, 30, 300]: 348
New extrema at [0.8, 0.15000000000000002, 30, 300]: 304
New extrema at [0.8, 0.10000000000000002, 30, 300]: 295
New extrema at [0.8, 0.05000000000000002, 30, 300]: 226
New extrema at [0.8, 1.3877787807814457e-17, 30, 300]: 205
[0.8, 1.3877787807814457e-17, 30, 300]

DoS attack durations (in circs) at [success_rate, dos_success_rate, path_bias_pct, scale_thresh]:
New extrema at [0.8, 0.25, 30, 200]: 219
New extrema at [0.8, 0.25, 30, 300]: 618
New extrema at [0.8, 0.25, 30, 400]: 861
New extrema at [0.8, 0.25, 30, 500]: 1050
New extrema at [0.8, 0.25, 30, 700]: 1069
New extrema at [0.8, 0.25, 30, 800]: 1224
New extrema at [0.8, 0.25, 30, 900]: 1472
New extrema at [0.8, 0.25, 30, 1000]: 1715
[0.8, 0.25, 30, 1000]

DoS attack durations (in circs) at [success_rate, dos_success_rate, path_bias_pct, scale_thresh]:
New extrema at [0.8, 0.05, 30, 200]: 138
New extrema at [0.8, 0.05, 30, 300]: 230
New extrema at [0.8, 0.05, 30, 400]: 302
New extrema at [0.8, 0.05, 30, 500]: 415
New extrema at [0.8, 0.05, 30, 600]: 439
New extrema at [0.8, 0.05, 30, 700]: 561
New extrema at [0.8, 0.05, 30, 800]: 594
New extrema at [0.8, 0.05, 30, 900]: 670
New extrema at [0.8, 0.05, 30, 1000]: 747
[0.8, 0.05, 30, 1000]
