Subversion Repositories Remote Hare Voting

Rev

Rev 63 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 63 Rev 64
Line 19... Line 19...
19
##
19
##
20
## To download the complete source distribution, use Subversion:
20
## To download the complete source distribution, use Subversion:
21
##
21
##
22
##      % svn co http://www.bikmort.com/hare
22
##      % svn co http://www.bikmort.com/hare
23
##
23
##
24
## $Id: tally.py 63 2007-09-25 03:00:26Z jtkorb $
24
## $Id: tally.py 64 2007-10-15 15:48:23Z jtkorb $
25
 
25
 
26
import sys
26
import sys
27
import math 
27
import math 
28
import copy
28
import copy
29
import random
29
import random
Line 324... Line 324...
324
                else:
324
                else:
325
                    trace(1, "Not enough chosen candidates to fill all positions")
325
                    trace(1, "Not enough chosen candidates to fill all positions")
326
                    break
326
                    break
327
 
327
 
328
	winners = str(u.winners)
328
	winners = str(u.winners)
-
 
329
	if fParallel:
329
	trace(1, "RESULTS FOR UNIVERSE %d (p = %f): %s" % (u.id, u.p, winners))
330
	    trace(1, "RESULTS FOR UNIVERSE %d (p = %f): %s" % (u.id, u.p, winners))
330
	if winners not in Universe.results: Universe.results[winners] = 0.0
331
	if winners not in Universe.results: Universe.results[winners] = 0.0
331
	Universe.results[winners] += u.p
332
	Universe.results[winners] += u.p
332
 
333
 
333
    if fParallel:
334
    if fParallel:
334
	trace(0, "\nUsed %d parallel universes (skipped %d low probability)" %
335
	trace(0, "\nTracked %d alternative decisions (skipped %d with low probability)" %
335
	    (Universe.id, Universe.dropped))
336
	    (Universe.id, Universe.dropped))
336
 
337
 
337
    trace(0, "\nFINAL RESULTS")
338
    trace(0, "\nFINAL RESULTS")
338
 
339
 
339
    lWinners = []
340
    lWinners = []
340
    for winner in Universe.results.keys():
341
    for winner in Universe.results.keys():
-
 
342
	if fParallel:
341
	lWinners.append("%f: %s" % (Universe.results[winner], winner))
343
	    lWinners.append("%f: %s" % (Universe.results[winner], winner))
-
 
344
	else:
-
 
345
	    lWinners.append("%s" % winner)
342
    lWinners.sort()
346
    lWinners.sort()
343
    lWinners.reverse()
347
    lWinners.reverse()
344
 
348
 
345
    for winner in lWinners:
349
    for winner in lWinners:
346
	trace(0, winner)
350
	trace(0, winner)