Пока Gemini никак не обновляется, пришла в голову идея дать игрокам возможность заглянуть в мозги компьютерного противника в CHECKERS во время игры. Наверное, далеко не каждому это будет интересно, но тем, кто разбирается в этом и интересуется подобными игровыми движками, это будет интересной находкой на SMD. А если не интересно, то эта возможность никак не мешает.
Что нового:
1. Анимация заголовков окошка окончания игры и блокировка кнопок на время ее проигрывания.
2. Анимация кнопки Restart Game и задержка ее активации.
3. Защита от двойного нажатия при выходе на титульный экран.
Все эти задержки нужны для того, чтобы защитить игрока от случайных двойных нажатий.
4. Новое управление:
ABC - выбор шашек и ход
XYZ - переворот доски.
MODE - ИИ статистика.
5. И, самое главное, ИИ статистика. Окно AI STATISTICS - это возможность заглянуть прямо в "мозг" компьютерного оппонента и понять, как именно он принимает решения.
![[SMD] ИИ-эксперимент с Русскими шашками 316581-0](https://www.emu-land.net/forum/index.php?action=dlattach;topic=92858.0;attach=316581;image)
Настройки просмотра
VIEW MODE (Режим просмотра): Эта настройка позволяет переключать отображение данных. В режиме TURN показывается статистика вычислений только за один конкретный выбранный ход. В режиме TOTAL значения суммируются, показывая общий объем работы ИИ за всю игру до этого момента.
TOTAL MOVES (Всего ходов): Этот пункт позволяет перемещаться по истории ходов. Он показывает номер рассматриваемого хода компьютера по отношению к общему количеству ходов, которые он уже сделал (например, 5/12).
Как ИИ оценивает игру
EVALUATION (Оценка позиции): Это математическое выражение "настроения" компьютера. Если число положительное (с плюсом), ИИ считает, что позиция складывается в его пользу и он выигрывает. Если число отрицательное - он понимает, что проигрывает. Пометка SE перед числом означает, что была применена "статическая оценка" в самом начале игры или при нулевой глубине поиска.
MAX REACHED DEPTH (Максимальная глубина поиска): Демонстрирует, на сколько шагов вперед (полуходов) ИИ смог реально заглянуть во время расчета текущего хода. Из-за динамической природы игры реальная глубина может превышать базовые настройки ИИ.
ALPHA-BETA CUTOFFS (Альфа-бета отсечения): Это показатель "умной лени" алгоритма. Когда ИИ во время перебора вариантов понимает, что определенная ветка ходов ведет к гарантированно худшему результату, чем уже найденный, он не тратит время на ее дальнейший просчет и "отсекает" ее. Это число показывает, сколько плохих путей было успешно проигнорировано для экономии времени.
Детали вычислительного процесса
DEPTH SEARCH (Поиск в глубину): Показывает количество позиций на доске, которые были просчитаны ИИ в рамках основного, стандартного дерева вариантов.
QUIESCENCE SEARCH (Поиск в фазе покоя): Это продвинутая функция ИИ, которая включается, когда на доске происходят серии взятий фигур. ИИ продолжает просчитывать узлы за пределами своей обычной глубины, пока ситуация на доске не стабилизируется, чтобы не оценить позицию ошибочно в самом разгаре размена фигур. Если этот поиск отключен в настройках, здесь будет написано OFF.
STATIC EVALUATION (Статическая оценка): Показывает количество ситуаций, когда ИИ достигал предела своей глубины поиска (лимита ходов вперед) и прекращал перебор вариантов. В этот момент он просто оценивал текущее состояние доски, подсчитывая ценность пешек, дамок и их расположение.
FORCED EXTENSIONS (Принудительные продления): Это количество раз, когда ИИ собирался завершить анализ ветки, но вынужден был продолжить расчет, потому что ситуация на доске требовала этого (например, нужно было совершить обязательное взятие фигуры).
TOTAL NODES (Всего узлов): Это общий объем работы "мозга" компьютера за этот ход. Представляет собой сумму всех изученных позиций (Depth Search + Quiescence Search + Static Evaluation + Forced Extensions).
-----------
Это далеко не полный список элементов ИИ, позже добавлю еще. Возможно, придется добавлять еще одну или даже две дополнительные страницы в AI STATISTICS. А с ростом у ИИ игровых навыков, скорее всего, все-таки придется добавлять еще одну страницу.