Шахматно-шашечная семья
В Полевском прошел очередной семейный турнир по шахматам и шашкам. 8 семей бились за победу, а ДержательМикрофона Максим Исаенко не только пообщался с претендентами на победу, но и разобрался в особенностях соревнований
В Полевском прошел очередной семейный турнир по шахматам и шашкам. 8 семей бились за победу, а ДержательМикрофона Максим Исаенко не только пообщался с претендентами на победу, но и разобрался в особенностях соревнований
Вы вечно проигрываете в крестики-нолики? Устали от бесконечных издевок окружающих? Чувствуете себя неполноценным членом общества? Тогда вы обратились по адресу! Сегодня у вас есть уникальная возможность пройти наш обучающий курс по беспроигрышной стратегии, который стартует уже сегодня! Присоединяйтесь сейчас и получите скидку 10% по промокоду НЕУДАЧНОЕ_ВСТУПЛЕНИЕ!
Автор потерял нужную картинку из инета, не судите строго
Как видно, максимальная выгода от этих знаний – спорить с детишками на конфетки (хотя и они быстро раскусят фокус), а программу, способную никогда не проигрывать в крестики-нолики, может написать даже школьник. Самым примитивным методом в данном случае является дерево игровых ситуаций: перебор всех возможных исходов игры, где в конце партии заполнены все клетки поля.
Смотрите, корень нашего дерева – пустое поле 3х3. Первый игрок имеет возможность сделать ход на одну из девяти позиций – рисуем дереву девять веток с разными позициями крестиков (там внизу есть картинка). На следующем ходе у каждой ветки с крестиком есть восемь свободных мест для ноликов, то есть каждой ветке рисуем по восемь новых, где в различных комбинациях на поле две клетки заняты крестиком и ноликом. Итого имеем 9х8 – 72 ветки. Следуя такой логике, на дальнейшем шаге у дерева появится по 7 ответвлений, так как свободно только 7 клеток для крестика, количество теперь веток стало 9х8х7=504. Конечное число решений – листиков нашего дерева – равно 9! (все же знают, что это не девять с восклицанием, а факториал? – 9х8х7х6х5х4х3х2х1) или 362880. Теперь достаточно вбить компьютеру все эти исходы и запрограммировать выбирать только выигрышные.
Первые ветви дерева решений
Но тут даже с первого взгляда понятно, что такой способ слишком «деревянный»: некоторые ветви приводят к победе еще до того, как заполнится все поле, так что мы, по сути, выполняем тонну ненужных вычислений. Нужно уметь не только выбрать кратчайший путь к выигрышу, но и отсечь ненужные ветви – короче, подстричь наше дерево. Первая задача реализуется с помощью алгоритма минимакс, который сводит к минимуму счет противника, максимизируя при этом свой (то есть – выбирая наиболее возможную короткую ветвь). Вторая задача решается методом альфа-бета отсечения, который при переборке различных узлов дерева отсекает заранее проигрышные.
Ну вот, дерево подстригли, причесали – теперь полное количество его узлов сократилось до 256158, и программа всегда будет выигрывать или заканчивать партию вничью за секунды.
Таким образом, крестики-нолики являются примером игры, находящейся в состоянии «ничейной смерти»: любой игрок (даже если он полный чайник, а противник чемпион мира), применяющий правильную теорию, может выиграть или в худшем случае свести ее к ничьей. Такая полностью просчитанная игра теряет смысл, ведь опыт и квалификация игроков больше не имеют веса, и соревновательный момент уступает место вычислениям.
Но крестики-нолики – игра очень примитивная, самая длинная партия в ней равна всего девяти ходам, так что построить и просчитать дерево решений для нее можно даже вручную (развлечение для людей с кучей свободного времени).
Вот, например, с шашками дела обстоят интереснее: кроме большого поля у них и правила на порядок сложнее, так что при подсчетах оказывается, что листьев у дерева решений около 5х10^20. Это пять и рядом двадцать нулей. Думаете, это мало? Оно и понятно, у нас мозг просто не способен представить число такого порядка, но для сравнения: чтобы выстроить цепочку от Земли до Марса из бусинок размером с атом потребуется как раз 5,5х10^20 бусинок. Очевидно, что число это офигеть какое большое, и пятидесяти компьютерам не просто так потребовалось почти 20 лет (двадцать лет, Карл!), чтобы полностью рассчитать все возможные исходы шашек и выстроить их дерево решений.
Сие знаменательное событие произошло в 2007 году благодаря команде канадских исследователей во главе с Джонатаном Шеффером, и с этого момента шашки официально вошли в список полностью решенных игр. Если оба соперника не совершают ошибок, то партия всегда заканчивается ничьей. Тут нужно учесть, что речь идет об английских шашках – чекерс; в них назад бьет только дамка.
Статья Шеффера и его коллег в журнале Science
Таким образом, человек даже теоретически больше никогда не обыграет компьютер в шашки, так как с первого его хода известны все выигрышные решения, и каждый шаг лишь приближает компьютер к победе. Ничейная смерть шашек была предсказана еще в 50-е, и спустя полвека прогноз подтвердился. Но не стоит грустить: если крестики-нолики имеют короткую беспроигрышную стратегию, то для шашек она гораздо-гораздо сложнее, так что и воспользоваться ей может только компьютер. По сути, 2007 был значим только для математиков. Как многие заметили, после 2007 года шашки не умерли, и в игре между двумя человеческими существами решающее значение все еще имеет опыт, а не вычислительные мощности мозга.
Сейчас на меня наверняка налетят шахматные снобы, утверждающие, что приличные люди вообще не играют в шашки. И действительно, а как обстоят дела у шахмат?
Название MANIAC, кстати, — это аббревиатура: Mathematical Analyzer Numerical Integrator and Automatic Computer. "… Компания Metropolis выбрала имя MANIAC в надежде остановить поток глупых аббревиатур для названий машин»
После изобретения в 1971 году первого микропроцессора, у ученых появилась возможность задействовать более мощные компьютеры, а значит, сохранять в памяти машины еще больше победных комбинаций. В 1974 году был организован первый чемпионат по шахматам среди программ, в 1978 году машина обыграла международного мастера по шахматам, а в 1981-м Cray Blitz стал первым компьютером, получившим рейтинг мастера.
Но несмотря на то, что с появления первого компьютера, играющего в шахматы, прошло уже много времени, алгоритм программы оставался на уровне решения крестиков-ноликов: легендарный суперкомпьютер Deep Blue от компании IBM использовал типовой метод поиска по шахматному дереву— минимаксный алгоритм с альфа-бета-отсечениями. Преимущество того или иного компьютера заключалось лишь в мощности процессора и количестве загруженных в него победных ходов живых шахматистов.
Кстати, легендарным Deep Blue стал 11 мая 1997 года, когда выиграл матч из шести партий у чемпиона мира Гарри Каспарова. Интересно, что за восемь лет до этого в Нью-Йорке Каспаров победил более слабого предшественника Deep Blue под названием Deep Thought. Тогда он высказал такую мысль: «Если компьютер сможет превзойти в шахматах лучшего из лучших, это будет означать, что ЭВМ в состоянии сочинять самую лучшую музыку, писать самые лучшие книги. Не могу в это поверить. Если будет создан компьютер с рейтингом 2800, то есть равным моему, я сам сочту своим долгом вызвать его на матч, чтобы защитить человеческую расу». Что ж, ему явно пришлось пересмотреть свои взгляды.
Матч 1997 года, который стал предметом документального фильма «Человек против машины»
Окончательно и бесповоротно человечество проиграло железякам в 2005-м: в этот год представитель нашей расы в последний раз смог одержать верх над программой. Сегодня рейтинг живых шахматистов настолько отстал от их железных соперников, что человеку больше никогда не выиграть партию с машиной. На начало сентября 2022 года наивысший шахматный рейтинг человека составляет 2861, а программы 3535.
Чувствуете, как повеяло киберпанком? Но несмотря на такие потрясающие успехи компьютеров, сама игра так и остается нерешенной: нам неизвестно, как закончилась бы идеально просчитанная партия, где обе программы знают последствия каждого хода вплоть до конца игры. Ученые лишь предполагают (но до сих пор не могут доказать), что белые обладают преимуществом первого хода, так как в идеальной игре черные могут только реагировать на создаваемые ими угрозы. Некоторую надежду в этой области вселяет активное развитие квантовых компьютеров, которые могут вести поиск одновременно по нескольким ветвям дерева решений, но тем не менее какого-то революционного алгоритма для самого поиска мы не имеем, и идеальной стратегии для чайников не существует.
Рейтинг шахматных программ
Хотя еще в 1960-х шахматы были своеобразным испытательным полигоном при проверке различных методов создания искусственного интеллекта, сложные стратегические игры и сегодня служат этой цели. В чистом виде они не представляют особой ценности, но подходы, используемые для обучения и самообучения машин, имеют большое значение для науки. Кроме того, мне кажется, сама мысль о том, что мы знаем, как рассчитать шахматы, но пока просто не имеем для этого ресурсов, очень вдохновляет.
Напомню, тактика – локальное противоборство в какой-то части поля. Стратегия – общее положение сил в игре. Если в шахматах вы лишились дорогой фигуры, ваши шансы на победу обычно заметно уменьшаются, то есть тактика очень сильно влияет на стратегию. В го и поле больше, и фишек огромное количество – поэтому хитрости и поддавки здесь вполне могут стать более близким путем к победе, чем прямая и открытая политика завоевания.
Обычный метод перебора, которым пользуются компьютеры для выбора выигрышной стратегии в шахматах, здесь просто не уместен. Во-первых, дерево решений го необычайно огромно – на начальной позиции существует 55 вариантов ходов (в шахматах – 20), и «растет» оно быстрее – после первых двух ходов соперников существует уже около 16 миллиардов позиций для следующего (в шахматах – меньше ста тысяч). А во-вторых, го – игра, в которой очень важен опыт.
Настоящий мастер способен оценивать ситуацию на поле с помощью распознавания визуальных образов, а человеческий мозг приспособлен к этому гораздо лучше компьютера. Умение узнать на доске некий общий рисунок, который не повторяется каждый раз в точности – задача для машины куда более сложная, чем просто молниеносный подсчет. Именно по этой причине даже после первых серьезных проигрышей людей в шахматы, считалось, что компьютерам не скоро удастся добиться того же в го.
Но вот настал 2016 год и программа AlphaGo, разработанная корпорацией Google, в прямом эфире победила мирового мастера с девятым даном – Ли Седоля. Это стало возможно благодаря новому подходу обучения, который кардинально отличается от обучения шахматных компьютеров. Помните, что Deep Blue использовал обычный метод перебора дерева решений просто с кучей оптимизаций и на самом деле кроме мощных процессоров и больших объемов памяти он недалеко ушел от железяк 60-х.
AlphaGo – революционная программа, в ней нет базы данных с удачными ходами чемпионов или оценочного алгоритма, лишь самые базовые правила, которым учат новичков. Всему остальному она научилась сама, проигрывая тысячи партий с собой. В основе компьютера лежит нейронная сеть, моделирующая работу органического мозга. Главное новшество AlphaGo заключается в использовании глубинного обучения — метода, успешно применявшегося для распознавания образов (например, для поиска картинок в Google Images). Но как ни парадоксально именно из-за этого разработчики не знают, каким конкретным образом программа оценивает ситуацию в игре: система настолько сложна, что анализировать все уровни обработки информации в целом не представляется возможным.
Синтез интеллектуального подхода, свойственного людям, и высокой скорости вычислений делает AlphaGo уникальной. Методы, реализованные в этом проекте, сейчас проходят проверку для применения подобных программ жизни. Уже сегодня они помогают выстраивать модели химических реакций в живых организмах и могут диагностировать некоторые заболевания на ранних стадиях.
Довольно простая статья о работе AlphaGo.
Поэтому как ни грустно признавать наше поражение по всем фронтам (и в шашках, и в шахматах, и даже в го) – все же мы не проигрываем впустую. Такие программы, как AlphaGo только лишний раз доказывают невероятную силу человеческого разума и задают высокую планку для следующих поколений. Несмотря на окончательную победу машин, го не только не потеряла статус интересной настольной игры, но и вышла за эти рамки, став важным этапом в истории развития искусственного интеллекта, также как шашки или шахматы.
Telegram - Mem's_Bakery
В рамках семейной акции "Отвлеки ребенка от смартфона" постоянно придумываю сыну различные игры и занятия. То конструктор соберем, то в настолки порубимся.
На днях вспомнил об одной любимой забаве детства - игру в Чапаева. Для тех, кто не в теме: игроки выставляют по восемь шашек по краям поля и, щелкая по ним, пытаются выбить все шашки противника. Тот, кто выигрывает раунд, передвигает свои шашки на линию вперед. Побеждает тот, кто пройдет все поле.
Однако играть обычными шашками мне показалось скучно...
И тут на глаза попалась горка скрепышей. Клей, немного времени - и скучные шашки превратились в яркие Скрепышашки!
А самое главное, благодаря разным героям, можно отыгрывать даже различные сценарии.
Сын в восхищении, сидим, придумываем задания на ходу!
Может, кому тоже пригодится.
Отличных семейных выходных!