Поделиться в MAX

Архитектура 100-клеточного шахматного движка на Rust битборды, PSQT и тест AI vs AI

Аватар автора
Архитектура 100-клеточного шахматного движка на Rust: битборды, PSQT и тест AI vs AI В этом большом ролике я решил показать вам «под капотом» моего движка на Rust (скомпилированного в WebAssembly). Рассказываю об архитектуре, о том, с чем я столкнулся при написании правил для такой большой доски, и демонстрирую процесс тестирования. Особое внимание в ролике уделяется фигуре Витязь (ходит как слон ИЛИ как конь). Я покажу, как я подбирал для неё PSQT (таблицы позиционной оценки): Была попытка сделать агрессивную версию (огромный бонус за центр) — на глубине 4 она дала прирост +14%, но на глубине 6 движок начинал зевать фигуры. Сейчас я тестирую сбалансированную версию, и процесс замены кода, компиляции и запуска тестов происходит прямо в ролике! Также покажу, как я гоняю тестовые партии AI vs AI (в реальной жизни я запускаю 8 окон на виртуальной машине, но для наглядности в видео показал 1 партию). Разбираем логи, смотрим, как движок думает и ставит маты. Таймкоды: 00:00 - Вступление и описание проекта (доска 10x10, 2 новые фигуры) 01:30 - Архитектура движка (Кор, Правила, Поиск, Оценка) 03:30 - Базовая стоимость фигур: от пешки (100) до Витязя (720-780) 05:30 - Алгоритм поиска: Альфа-бета, итеративное углубление, Quiescence 08:00 - Что такое PSQT и почему для Витязя это вызов 10:00 - Агрессивная табличка: плюсы, минусы и результаты тестов (500 партий) 13:30 - Замена кода PSQT на сбалансированную версию в Rust 16:00 - Компиляция движка (cargo build --release) и прогон...

0/0


0/0

0/0

0/0

0/0