def main(): #read in results file results = open("results.txt","r") questions = [] for line in results: line = line.replace("\n","") line = line.replace("\r","") questions.append(line.split(",")) windows = [] #do queries for each line in the file for q in questions: window = tk.Tk() grid = Grid('gridConf.txt') if(q[3] == "MDP"): valueIteration = ValueIteration(grid) grid = valueIteration.runValueIteration() elif(q[3] == "RL"): qValueLearning = QValueLearning(grid) grid = qValueLearning.runQValueLearning() gridPolicies = grid.get_policies_() terminal_states = grid.terminal boulder_states = grid.boulder answer = "" if(q[4] == "stateValue"): answer = grid.gridStates[int(q[1])][int(q[0])].get_max() elif(q[4] == "bestPolicy"): answer = grid.gridStates[int(q[1])][int(q[0])].getPolicy(0.0)[1] elif(q[4] == "bestQValue" and q[3] == "RL"): answer = grid.gridStates[int(q[1])][int(q[0])].getPolicy(0.0)[0] index = questions.index(q) + 1 answer = "Question " + str(index) + ": " + ",".join(q) + ": " + str(answer) if(q[3] == "MDP"): draw_board(window, gridPolicies, [row[:-1] for row in terminal_states], boulder_states, max_reward(terminal_states), max_punishment(terminal_states), q[2], 'value-iteration', answer) elif(q[3] == "RL"): draw_board(window, gridPolicies, [row[:-1] for row in terminal_states], boulder_states, max_reward(terminal_states), max_punishment(terminal_states), q[2], 'q-learning', answer) windows.append(window) #display all queries for window in windows: window.mainloop()