def main(): # Run Experiments start = time() for cname in sorted(CONTESTS): for t in xrange(NTRIALS): cattr = CONTESTS[cname] c, g, a, params = cattr['c'], cattr['g'], cattr['a'], cattr['p'] contest = Contest(c, g, a, params) e = Election([contest]) e.run() for aname in sorted(AUDITS): outcome, nballots = e.audit(AUDITS[aname])[0] # assumes 1 contest if outcome != contest.outcome[0]: results[cname][aname]['e'] += 1 results[cname][aname]['n'] += nballots end = time() # Report Results for cname in sorted(CONTESTS): print cname for aname in sorted(AUDITS): avg_nballots = results[cname][aname]['n'] / float(NTRIALS) avg_nerrors = results[cname][aname]['e'] / float(NTRIALS) print '\t%s\t%f\t%f' % (aname, avg_nballots, avg_nerrors) print 'Runtime: ' + str(end - start)