if np.random.randint(0, 10000) / 10000.0 > temp: states[i], states_value[i] = sudoku.best_child(states[i]) if sudoku.same_states(states[i], previous_states[:, i]): states[i] = sudoku.random_child(states[i]) states_value[i] = sudoku.value(states[i]) previous_states[current_storing_state, i] = copy.deepcopy(states[i]) else: states[i] = sudoku.random_child(states[i]) states_value[i] = sudoku.value(states[i]) previous_states[current_storing_state, i] = copy.deepcopy(states[i]) if sudoku.goal_test(states[i]): print(states_value) print(states[i]) print( sudoku.board_clashes(states[states_value.index( max(states_value))])) exit() current_storing_state += 1 if current_storing_state == STORED_STATES: current_storing_state = 0 print(states_value) print(states[states_value.index(max(states_value))]) print(sudoku.board_clashes(states[states_value.index(max(states_value))]))