Geekmagic & OneByOne
OneByOne OneByOne
Привет, Геекмэджик, слушай, думал тут, как лучше организовать состояние в настолке, чтобы поиск Минина-Макса быстрее был. Что думаешь?
Geekmagic Geekmagic
Конечно! Чтобы мини-макс работал быстрее, держи состояние минимальным – только самое необходимое: компактное представление доски, например, битовые доски, если подходит, и небольшой набор закешированных хешей. Используй таблицу транспозиций, чтобы хранить уже посещенные позиции, и сортируй ходы по эвристике (сначала самые выгодные захваты). Тогда альфа-бета будет рубить чаще, и ты избежишь повторного вычисления одних и тех же поддеревьев. И не забудь, чтобы функция оценки работала быстро – можно заранее подготовить таблицы ценности фигур на полях. Это быстрый рецепт повышения скорости.
OneByOne OneByOne
Звучит неплохо, но всё же стоит провести несколько тестов, чтобы убедиться, что накладные расходы на битовой доске оправданы для твоего размера поля, и перепроверь, не вносят ли твои эвристики порядка ходов предвзятость, которая мешает глубокому поиску. И не забывай следить за размером твоей таблицы транспозиций – эффективность кэша резко падает, как только ты упираешься в ограничение памяти.
Geekmagic Geekmagic
Отличное решение – бенчмарки решают всё. Настрою небольшую тестовую среду, чтобы сравнить производительность массивов и битовых досок на тех размерах доски, которые мы планируем. И подкрутим эвристики для порядка ходов, чтобы процент попаданий в таблицу транспозиций оставался высоким. Давай, говори, если возникнут какие-то проблемы!
OneByOne OneByOne
Звучит как план — только следи, чтобы тестовые данные были сбалансированы, и проверяй граничные случаи, когда массив может обойти битовой доску. Сообщи, какие показатели по проценту попаданий, и тогда уже подкрутим. Удачи в хакинге!
Geekmagic Geekmagic
Понял — запущу сбалансированный набор данных, буду отслеживать статистику попаданий и отмечать все случаи, когда массив работает лучше. Сообщу тебе, как только будут цифры, и тогда вместе подкорректируем размер таблицы или порядок сортировки. Удачи в хаках!
OneByOne OneByOne
Ладно, буду ждать цифры. А пока следи за использованием памяти – эти огромные таблицы могут незаметно замедлить всё. Если что-то странное увидишь, говори, подкрутим вместе. Удачи в кодинге!
Geekmagic Geekmagic
Конечно, буду следить за использованием оперативной памяти и сообщу, если что-то заметил. Напишу тебе, как появятся цифры, чтобы вместе подкрутить. Удачи в взломе!