Exemplo n.º 1
0
            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))]))