def futureProjections(ep_greedy, numIters, numEpGreedyTrials): csp, scores, projections = createCSPWithVariables(futureWeek, futureYear,future) addConstraints(csp, salaryCap) search = BacktrackingSearch() for i in range(0, numEpGreedyTrials): if i > 0: ep_greedy -= .1 print 'BacktrackingSearch with epsilon-greedy value of %f' % ep_greedy for k in range(1,4): if i + 1 == numEpGreedyTrials and (k == 1 or k == 2): continue average = 0.0 for j in range(0, numIters): search.solve(csp,numLineups,ep_greedy,k) computedProjections = [] for assignment in search.allAssignments: projection = computeFutureProjection(assignment,projections) computedProjections.append(projection) average += float(max(computedProjections)) / float(numIters) print 'Average Max Projection with comparison index %d: %f' % (k, average) print '\n'
def pastPerformance(ep_greedy, numIters, numEpGreedyTrials): for i in range(0, numEpGreedyTrials): if i > 0: ep_greedy -= .1 print 'BacktrackingSearch with epsilon-greedy value of %f' % ep_greedy for k in range(1, 4): average = 0.0 for j in range(0,numIters): win = 0 total = 0 for w in evalWeeks: csp, scores, projections = createCSPWithVariables(w, evalYear, future) addConstraints(csp, salaryCap) search = BacktrackingSearch() search.solve(csp,numLineups,ep_greedy,k) win_from_week, total_from_week = printProjectedResults(search,scores,w,projections,percentLineupsUsed) win += win_from_week total += total_from_week if total > 0: average += float(win)/(total*float(numIters)) print 'Average win percentage with comparison index %d: %f' % (k, average) print '\n'