Этот пост является частью 12-месячного проекта ускоренного обучения Month to Master. На октябрь моя цель - победить чемпиона мира Магнуса Карлсена в шахматной партии.

Вчера я подумал, могу ли я обойти традиционный подход к обучению шахматам и вместо этого разработать алгоритм оценки шахматной доски, который я мог бы воспроизвести в своей голове, эффективно превратив меня в медленный шахматный компьютер.

Сегодня я подумал, как бы это сделать, и буду использовать этот пост в качестве первого из нескольких постов, чтобы исследовать эти идеи:

Метод 1: экстремальные проблемы с памятью

Шахматы имеют конечное количество состояний, а это означает, что 32 шахматные фигуры могут быть расположены только на 64 квадратах разными способами.

Не только это, но и для каждого из этих состояний существует связанный лучший ход.

Следовательно, теоретически я могу стать лучшим шахматистом в мире исключительно с помощью грубой силы, просто запомнив все возможные пары конфигураций шахматной доски и связанные с ними лучшие ходы.

Фактически, у меня уже есть преимущество: еще в ноябре 2016 года Я стал гроссмейстером памяти, запомнив перетасованную колоду игральных карт за одну минуту 47 секунд. Я могу просто использовать ту же мнемоническую технику, чтобы запомнить все конфигурации шахматной доски.

Если бы я хотел быть умным, я мог бы даже ранжировать конфигурации шахматной доски по популярности (на основе записей шахматных матчей) или вероятности (на основе количества способов, которыми может быть достигнута конфигурация). Поступая так, я могу начать с запоминания всех наиболее популярных конфигураций шахматной доски, а затем перейти к наименее вероятным.

Таким образом, если у меня не хватит времени, по крайней мере, я запомню самые полезные пары конфигураций и лучших ходов.

Но эта проблема «нехватки времени» оказывается очень большой проблемой ...

Предполагается, что существует порядка 10⁴³ возможных конфигураций шахматной доски. Таким образом, даже если бы я мог запоминать одну конфигурацию каждую секунду, мне все равно потребовалось бы чуть меньше одного триллиона триллионов триллионов лет (3,17 × 10 лет), чтобы запомнить все возможные конфигурации.

Я пытаюсь ограничить этот вызов примерно месяцем, так что это немного подталкивает.

Кроме того, если бы у меня был один триллион триллионов триллионов лет в запасе, я мог бы выучить шахматы традиционным способом. Было бы намного быстрее.

Метод 2: сделайте это как компьютер

Даже у компьютеров нет мощности, чтобы использовать метод грубой силы. Вместо этого им нужно использовать набор алгоритмов, которые пытаются приблизиться к подходу грубой силы, но за гораздо меньшее время.

Вот как в целом работает шахматный компьютер ...

Для любой данной конфигурации шахматной доски шахматный компьютер будет сыграть все возможные разрешенные ходы, что приведет к появлению ряда новых конфигураций. Затем для каждой из этих новых конфигураций компьютер снова будет играть каждый разрешенный ход и так далее, переходя ко всем возможным будущим состояниям шахматной доски.

В какой-то момент компьютер перестанет ветвиться и оценит каждую из полученных шахматных досок. Во время этой оценки компьютер использует алгоритм для вычисления относительных шансов на победу белых по сравнению с черными на основе конкретной конфигурации доски.

Затем компьютер возвращает все эти результаты вверх по дереву и определяет, какой ход первого порядка произвел наибольшее количество будущих состояний с высокими относительными шансами на победу.

Наконец, компьютер играет этот лучший ход в реальной игре.

Другими словами, сила компьютера зависит от 1. того, насколько глубоко компьютер входит в дерево, и 2. насколько точен алгоритм оценки компьютера.

Интересно, что практически все шахматные компьютеры оптимизируются по глубине, а не по оценке. В частности, производители шахматных компьютеров попытаются разработать алгоритмы оценки, которые будут «достаточно хорошими», но действительно быстрыми.

Имея чрезвычайно быстрый алгоритм оценки, шахматная программа может обрабатывать гораздо больше шахматных конфигураций и, таким образом, может исследовать гораздо больше уровней дерева, размер которого растет экспоненциально от уровня к уровню.

Итак, если бы я хотел точно воспроизвести шахматный компьютер, но в моем мозгу, мне нужно было бы иметь возможность экстраполировать, запоминать и быстро оценивать тысячи конфигураций шахматной доски каждый раз, когда я хотел сделать ход.

Поскольку для такого рода вычислений я намного медленнее, чем компьютер, у меня снова просто не хватит времени. Не в игре. Не в месяц. Но в моей жизни много раз.

Таким образом, в отличие от компьютеров, я не могу полагаться на глубину - и остается только один вариант: научиться вычислять алгоритмы оценки в моей голове.

Другими словами, могу ли я научиться выполнять алгоритм оценки в своей голове, и, если я могу, может ли этот алгоритм быть эффективным, не выходя за пределы первого уровня дерева?

Ответ на второй вопрос - да: Недавно, используя глубокое обучение, исследователи построили эффективные шахматные компьютеры, которые оценивают глубину только на один уровень и работают так же хорошо, как лучшие шахматные компьютеры в мире (хотя они примерно в 10 раз медленнее) .

Возможно, я смогу придумать, как преобразовать этот алгоритм оценки во что-то, что я могу выполнять вычисления в моей голове, а-ля какой-нибудь сложный математический трюк в уме.

У меня есть некоторые идеи о том, как это сделать, но мне нужно немного поэкспериментировать, прежде чем поделиться. Надеюсь, к завтрашнему дню мне будет чем поделиться.

Прочтите следующий пост. Прочтите предыдущий пост.

Макс Дойч - заядлый ученик, создатель продукта и подопытный кролик в Месяце, чтобы стать мастером.

Если вы хотите участвовать в рассчитанном на год проекту ускоренного обучения Макса, обязательно подпишитесь на этот средний аккаунт.