Как стать автором
Обновить

Шахматные алгоритмы, которые думают почти так же, как человек, только лучше

Время на прочтение 6 мин
Количество просмотров 37K
Всего голосов 21: ↑18 и ↓3 +15
Комментарии 30

Комментарии 30

НЛО прилетело и опубликовало эту надпись здесь
Человек раньше был сильнее машины, потому что он обладает интуицией — она позволяла выбрать правильный ход быстро и без глубокий просчетов (скорее всего они проводятся, но подсознательно)
Когда машина достигла такой мощности, что она теперь может просчитывать партии на 25 ходов вперед и далее, интуиция человека нивелировалась и машина стала обыгрывать чемпионов.

Программа AlphaGo в 2017 победила в матче против Кэ Цзе, сильнейшего в мире игрока в игру го — это был последний рубеж, который людям удавалось удерживать против машин.
Человек раньше был сильнее машины, потому что он обладает интуицией

Не сколько интуицией, сколько позиционной игрой. Машина находила выигрыш, условно, пешки в 3 хода. А шахматист, который отдал пешку, видит, что можно все фигуры поменять, остаться с слоном против слона и двумя проходными пешками на разных флангах против трёх в центре. Своим королём и слоном он затормозит пешки в центре, а машина за двумя зайцами на крайних вертикалях доски не угониться. Компьютеру, чтобы не брать «бесплатную» пешку нужно было-бы считать на 30-40 ходов вперёд (это 60-80 полуходов, довольно глубоко даже для современных движков, запущенных не на серверах).
Как раз-таки «жадность к пешкам» движков эксплуатировалась, в том числе, тем-же Каспаровым, когда он обыгрывал движки))
Нет там никакой интуиции. Человек использует наработанный опыт. То есть в процессе проведения игр в памяти откладываются выигрышные ходы в определённых комбинациях. Чем больше играешь, тем больше «база».
До определённого момента программы каждый раз заново просчитывали лучший ход, тратя на это гору времени, а потом кому-то в голову пришла мысль о том, что можно сохранить в базе удачные ходы. С этого момента программы получили аналог «опыта». Это был конец времён, когда человек мог потягаться с программой.
С некоторых пор в каждую бочку начали пихать нейросети. Инструмент безусловно мощный, но не без изъянов. Так, например, распознавалки картинок могут определить что на картинке с вероятностью в 30% животное, но с вероятностью 80% кошка. Аналогичные грабли могут выползти у нейросети натасканной на шахматы. Просто попадётся игрок, чья манера игры не вписывается в ту, на которой(ых) проходило обучение.
Ну и вишенка на торте — человек может что-то прозевать, а программа нет(отлаженная программа).
А вообще, лично я считаю, у шахмат не заслуженный имидж жутко интеллектуальной игры. По факту это такая же мастурбация для мозга, как те же пасьянсы. Не однократно видел как по-настоящему умные люди разгромно проигрывали в шахматы весьма недалёким людям.
НЛО прилетело и опубликовало эту надпись здесь
Запоминание «выигрышных ходов» — это ваша фантазия, чаще всего нужно считать варианты. И интуиция работает, особенно когда на просчет времени или сил нету.

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

А бывает, что весьма недалекие люди рассуждают на умные темы. Маструбация для ЧСВ.

Согласен на все 300% :-)
НЛО прилетело и опубликовало эту надпись здесь
Ферзевый — он лав…

Я например знаю хорошо только три — один ферзевый гамбит и пару, названий которых не помню

Ого, у меня рейтинг (на lichess) ~2050 rapid, ~1950 blitz, я очень много учу дебютную часть, играю последние годы только d4 (очень редко c4) и не могу с уверенностью сказать, что хотя-бы в общих чертах знаю этот (d4) дебют o-O )))
НЛО прилетело и опубликовало эту надпись здесь
на d5, в основном, ферзевый (с4) или, гораздо реже, лондонку (bf4).
На е4 очень долго не мог определиться, где мне комфортнее (кстати, до сих пор ищу).
Сицилианка как-то не по душе, хотя её я знаю не так, чтобы поверхностно. В итоге перебрав множество систем (заодно и расширив свою дебютн. базу) пришёл к трём основным ответам на е4. Это Защита каро-канн (в основном сейчас, e4 — с6), Скандинавская защита (редко, е4 — d5) или Защита Алехина (совсем редко, e4 — Nf6, играю, в основном её только для того, чтобы выбить привычную дебютную почву из-под ног соперника, заодно сканирую его умение разыгрывать дебют. Кстати, Скандиавка выполняет ту-же самую роль. Там такая ситуация, когда белым не надо играть с4, а они играют. Даже нац мастер сыграл против меня с4… ).

с вами одно удовольствие играть

Мы можем как-нибудь сыграть))

Интересное чувство когда вроде все ходишь правильно, а становится все хуже и хуже.

Да, особенно, когда хуже не у вас, а у вашего противника))
Вы предлагаете мне потратить пол года жизни на то чтоб стать шахматным задротом? Спасибо, обойдусь.
Не примите за оскорбление. То, что Вы шахматный задрот это не плохо. В конце концов каждый из нас тратит кучу времени на бесполезные занятия. Плохо то, что вы своё задротство воспринимаете за признак интеллектуальной продвинутости.
По поводу запоминания — у вас крайне странное представление о том, как работает человеческая память. НО если Вам, вдруг станет интересно, то можете оторваться на денёк от ческома и почитать на эту тему статьи.
НЛО прилетело и опубликовало эту надпись здесь
Грубо говоря, если ты знаешь конкретный дебют, а твой соперник нет — ты скорее всего выиграл, без относительно того, умен ты или нет. Можно просто заучить. Машины имеют дебютную библиотеку несравнимую с реальным шахматистом.

Машина довольно легко играет и эндшпиль, есть библиотека всех окончаний для любых 7 фигур, где есть мат в 549 ходов. База, кстати говоря, не особо и большая, 16ТБ.

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

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

Этой грубой оценки достаточно, чтобы разница между сильнейшими шахматистами и машиной на данный момент была примерно такая же, как и между кандидатами в мастера и Чемпионом Мира.
Человек уже не соперник для компьютера. Причем, даже без дебютных и эндшпильных библиотек. Причем, даже фора не поможет:
2014 — американский гроссмейстер, Хикару Накамура, проиграл мини-матч программе Stockfish 5 со счётом 1-3 (+0=2-2). Две первые партии человек играл с форой в одну пешку, а две последующие без форы, но с использованием подсказок шахматной программы Rybka 3.

Можно просто заучить.

В шахматах «заучить» недостаточно в любом случае.
Она умеет мыслить позиционно

Хотелось бы строгого доказательства, а не голословных заявлений.

Alpha Zero не использует ничего, кроме правил.

Т.е. веса в процессе обучения не подстраивались, вот как её запустили так она с изначальным набором весов и работает до сих пор?

А если подстраивались, то не означает ли это, что благодаря ёмкости своей нейросети alpha zero смогла упаковать значительно больший «справочник дебютов» чем любой составленный человеком, и это позволяет ей лучше оценивать текущую ситуацию используя меньшую глубину поиска, и никакого тактического мышления там нет, просто оптимизированные таблицы решений?
Она умеет мыслить позиционно

Хотелось бы строгого доказательства, а не голословных заявлений.


Вы, наверное, пропустили в статье. Вот доказательство:
После 20-го хода на доске творится невообразимая стратегическая борьба. Но если нейросеть шаг за шагом минимально укрепляет свою позицию, избавляясь даже от призрачных слабостей, то движок с 24-го по 29-й ход просто топчется на месте ладьёй.
Интересно, что Stockfish в упор не видит стратегических решений Alpha Zero, оценивая позицию как абсолютно ничейную. Но в результате минимальных укреплений позиции к 39-му ходу оказывается, что все фигуры белых активны, а чёрный конь и слон занимают пассивную оборонительную позицию. А после размена ферзей и ладей даже Stockfish оценивает преимущество нейросети в +2,2. Ещё несколько ходов – и король черных зажат в углу доски, а конь в одиночку не способен справиться с проходной пешкой. Поэтому программа сдалась.


Т.е. веса в процессе обучения не подстраивались, вот как её запустили так она с изначальным набором весов и работает до сих пор?


Нет, «Alpha Zero не использует ничего, кроме правил.» — означает, что сетка не использовала ГОТОВЫХ баз партий, окончаний, сеток ценности фигур и т. д. при подстройке весов.
Вот доказательство

нет, я всё понял "на доске творится нёх" — это значит что те кто анализируют партию не понимают что в ней происходит


сетка не использовала ГОТОВЫХ баз партий

как обычно чукча не читатель — чукча минусатор, я где-то сказал про ГОТОВЫЕ базы партий?

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


AlphaZero училась оценивать позиции сама, на основе миллионов игр. Поэтому она может считать варианты на относительно небольшую глубину. Но правильнее оценивать промежуточные позиции (можно назвать это «интуицией»).


По-вашему это принципиально отличается от того как играет человек? Что вы называете «тактическим мышлением»?

Любая шахматная программа подключается к таблицам Налимова (Ломоносова). В настоящее время они созданы для 7-и (и меньше) фигурных окончаний (короли тоже считаются фигурами) и занимают 140 ТБ.


8-и фигурные никто пока даже считать не начал ибо и считать "вечность" и места нужно много-много ПБ :)


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


Разумеется против нормальной программы с огромной базой с экспертной оценкой дебютов и подключеной к таблицам Налимова (Ломоносова) у человека нет шансов.

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

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

АльфаЗеро как раз не считает глубоко. Перечитайте статью

Да, перепутал — имел в виду AlphaBeta.

Так где же алгоритм Alpha Zero? Ради него и открыл вашу статью, а увидел только воду.

а сегодня уже создана нейросеть с рейтингом около 5000 Эло, что в разы превосходит даже сильнейших игроков.

Рейтинг эло точная оценочная шкала, и если бы нейросеть достигла 5к. она бы выиграла любой шахматный движок (~макс 3.5к Эло) прммерно в 100 партиях из 100 независимо от контроля времени.
Но этого не произошло.
То что нейросеть не умела играть перед матчем и всего потренила 4-10ч перед игрой — это неагрессивная маркетинговая реклама нейросети в конкретных интересах.

Эксперт по искусственному интеллекту Джоанна Брайсон отметила, что «способность Google к хорошей рекламе» ставит его в сильную позицию против претендентов. «Речь идет не только о найме лучших программистов. Это также очень политически, поскольку помогает сделать Google максимально сильным в переговорах с правительствами и регулирующими органами, рассматривающими сектор ИИ».
Цитата из Wiki о нейросети


Или 2 партии «космос — земля», сыгранные в ничьи — полит.пиар.

Вот пиар, который уже сложнее идентифицировать в чьих интересах он вброшен.
в шахматы заложен некий код, поскольку в ДНК человека — 64 кодона, столько же, сколько клеток на доске.

уникальных комбинаций на шахматной доске больше чем атомов в видимой вселенной

Окей как насчёт боя топового гросса против обычного. У Гросса 1 секунда на ход, у противника 60 минут. Топового гросса при этом мы вырубаем когда ход не его.

Не окей.
Как насчет Шахбокса, шахмат Фишера или прочее не относящиеся к равным условиям для расчета Эло.

Нейросеть использует метод Монте-Карло, который высчитывает математическое ожидание комплекса ходов.

Учёный изнасиловал журналиста. Добейте, чтобы не страдал.
Описание работы движка, в принципе, содержит те же ключевые слова, но в другом порядке. Смысл передан в корне неверно, особенно это заметно далее. AlphaZero — не "нейросеть", а движок, использующий методы Монте-Карло и нейронные сети.

> Чтобы было более понятно, преимущество в 0,5 пешки – это уже неплохо для шахматиста. В целую пешку – серьёзный перевес. В 3 пешки – подавляющее преимущество, которое можно практически без проблем довести до победы.

Это довольно избитая фраза из учебников, которая, как мне кажется, мало отражает действительность. Слишком многое зависит от позиции. Глядя на матчи супер гроссов, которые легко могут отдать (или вернуть) качество или пару пешек за преимуществе в атаке, эта фраза все больше кажется оторванной от жизни.
Статья исключительно хвалит Alpha Zero, но сейчас ситуация в шахматных движках заметно изменилась. За это время сделали много движков основанных на нейросетях основываясь в начале на статьях разработчиков Alpha Zero, лучшая программа — LCZero (Leela), которая уже работает не на специальных тензорных процессорах, а на обычных видеокартах.

Stockfish тоже усилился заметно за эти пару лет, последнее заметное усиление — добавление быстрых сетей на ЦП — NNUE для более точной оценки позиции. Есть все основания полагать, что эти программы уже заметно сильнее той версии Alpha Zero. ИМХО такой гибридный подход с оценкой нейросетями и альфа-бета отсечением вариантов даже ближе к человеческому подходу, и на текущий момент является наиболее эффективным (судя по результам чемпионата TCEC).

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