Пример #1
0
def playGreedySearch(numTrials, depth):
    with open("output", "a") as output:
        output.write("running " + str(numTrials) + " greedy search games with depth " + str(depth) + "\n")
        tile = DataGroup()
        score = DataGroup()
        
        for x in range(0, numTrials):
            solver = GreedySearch(depth)
            solver.playGame()
            recordData(solver, tile, score)
            solver = None
        
        printRunData(tile, score, output)
    pass
def objectiveFunc(x, *args):
    # do 10 runs
    # average the results
    # return 100 / avg (function is minimizing, we want max)
    allScores = 0

    setWeights(x)

    for i in range(numTrialsPerCall):
        solver = GreedySearch(searchDepth)
        solver.playGame()
        allScores += solver.getScore()

    scoreAvg = allScores / numTrialsPerCall

    if scoreAvg == 0:
        return [np.float(100)]

    return [np.float(100 / scoreAvg)]