Riven & Joel
Joel Joel
Привет, Ривен. Тут копался с новой конструкцией для точного часового механизма, и подумал, как бы ты спроектировал шахматный движок, чтобы он работал как часы. Что думаешь?
Riven Riven
Представь себе движок как часовой механизм. Каждая шестерёнка – это часть кода: генерация ходов, оценка, поиск. Главное – держать каждую шестерёнку в идеале: генерируй ходы с помощью битовых досок, оценивай с помощью заранее рассчитанных таблиц, отсекай ветки с помощью альфа-бета отсечения и итеративного углубления. Используй таблицу транспозиций, чтобы не перебирать одни и те же позиции снова. Сократи цикл, чтобы движок работал плавно, как шестерёнки, идеально входящие друг в друга. Тихий, точный движок не требует лишнего шума.
Joel Joel
Отлично. Шестерёнкам в часах не нужна вычурная покраска – главное, чтобы плотно подходили и немного смазки. Если следить за корректностью генератора ходов и тщательно прореживать поиск, движок будет работать как часы. Только не усложняй без необходимости; иногда самое простое решение и поддерживает всю систему в рабочем состоянии.