Как надо , не стоит , создавать шахматный движок
Пост 2. Как работает движок, который учится стилю
Мы строим шахматный движок, который воспроизводит индивидуальный стиль игры. Не силу. Именно манеру.
Вот как устроена система:
Компоненты:
1. Генератор ходов — перебирает все допустимые ходы из позиции 2. Оценочная функция — вычисляет «силу» хода по формальным признакам 3. Основная модель — предсказывает силу хода по обучаемым весам 4. Shift-модель — вариативная модель для диверсификации опыта 5. Модуль синтеза — комбинирует оценки 6. Модуль обучения — обновляет веса 7. Буфер данных — хранит пары «позиция — сила хода»
Алгоритм выбора хода прост:
· Генерируем все допустимые ходы · Для каждого вычисляем оценку E и предсказание модели N · Выбираем ход по формуле: m* = argmax [α·E + β·N]
Два веса. Линейная комбинация. Просто.
Но именно здесь начинаются вопросы. Оценочная функция учитывает только материальный перевес, контроль клеток, шах и мат. Классические признаки — мобильность, безопасность короля, структура пешек — отсутствуют.
Глубина расчёта — 4 полухода. Полноценного поиска нет.
Это осознанное ограничение. И о том, почему так — в следующем посте.