Задать вопрос
@ffff567

Как можно еще уменьшить количество комбинаций в игре крестики нолики?

на поле 3 на 4 где надо составить 3 в ряд 48000 комбинаций примерно

на поле 4 на 4 где надо составить 4 в ряд не хватает оперативной памяти компьютера
только с 5 хода можно проанализировать до конца и то комбинаций с 5 хода оклло 12 миллионов.
Может я что то неправильно сделал в коде 4 на 4
на доске 3 на 4 было 1.2 миллирна комбинаций но после того как я ввел в алгоритм проверку на вилку то количество комбинаций уменьшилось до 48000

на доске 4 на 4 я использую тот же самый алгоритм как и на досках меньшего размера.
если есть на доске 2 выигрыша то компьютер сделает ход там где вилка.
68a8d82f47c89725094009.jpeg
def вилка(позиция, hist, zero_index): 
    for num in zero_index:
        поб=0
        rr=позиция.copy()
        rr[num]=глубина
        for num2 in zero_index:
            if num2!=num:
                rr2=rr.copy()
                rr2[num2]=глубина
                for b in адреса[num2]:
                    if all(rr2[ind]%2==очередь and rr2[ind] for ind in b):
                        поб+=1
                        break
        if поб==2: 
            temp_словарь[tuple(rr)]=hist+[num]
            return True
  • Вопрос задан
  • 51 просмотр
Подписаться 1 Простой 6 комментариев
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы