def cost_blackjack(network): AI = Player('AI', network=network) stats = AI.getPlayerPerformance(10, False) win_rate = stats[0] ave_bank = stats[1] ave_reward = stats[2] cost = win_rate + ave_bank / 1000.0 + 1.1 * ave_reward return cost
def trainGeneration(models, epoch, mutation_rate, print_info): for i in range(epoch): max_network = getMaxNetwork(models) AI = Player('AI', network=max_network) stats = AI.getPlayerPerformance(10, False) win_rate = stats[0] ave_bank = stats[1] if print_info == True and i % 10 == 0: print("Epoch: " + str(i) + " - Win rate: " + str(round(win_rate * 100.0, 1)) + "% - Ave. bank (5 plays): $" + str(round(ave_bank, 2))) for i in range(len(models)): models[i] = mutateNetwork(max_network, mutation_rate * (0.60 - win_rate) / 0.60)