Искусственный интеллект - [14]

Шрифт
Интервал

 – ширина игры (количество возможных ходов в позиции), d – глубина игры (то есть длительность)». Все это совершенно очевидно человеку, у которого за плечами годы практики в области математики, однако большинство из нас предпочло бы более простое и очевидное для неспециалистов объяснение.

Чтобы понять AlphaGo, стоит вспомнить об игре в крестики-нолики, известной большинству детей. Делая первый ход и располагая знак в центре сетки, вы либо выигрываете, либо играете вничью. Первый ход дает преимущество: у вас будет пять ходов, в то время как у вашего соперника – всего четыре. Большинство детей интуитивно понимают это и, играя с терпеливыми взрослыми, настаивают на праве первого хода.

Достаточно просто написать компьютерную программу для игры в крестики-нолики против человека (первая такая программа была составлена в 1952 г.). Существует алгоритм, набор правил, применение которых позволит компьютеру всегда побеждать или играть вничью. Подобно «Hello, world!», программирование игры в крестики-нолики считается простым упражнением на вводных уроках информатики.

Го – игра куда более сложная, однако также играется на доске, представляющей собой сетку. Каждому игроку дается горстка черных или белых камешков. Новички играют на сетке из девяти горизонтальных и девяти вертикальных линий, мастера – на сетке 19×19. Черные ходят первыми, размещая камень на пересечении линий. Следом ходят белые, также помещая камень на пересечении. Игроки ходят по очереди, стремясь «захватить» камни соперника и окружить их.

Люди играют в го около 3000 лет. Разработчики и поклонники этой игры изучали ее закономерности начиная с 1965 г., а первая программа для го была написала в 1968 г. Существует целое научное направление, посвященное только этой игре, названное (как ни странно) компьютерное го.

Игроки и исследователи компьютерного го годами накапливали записи игр, которые выглядят примерно так:


>(; GM [1]

>FF [4]

>SZ [19]

>PW [Sadavir]

>WR [7d]

>PB [tzbk]

>BR [6d]

>DT [2017 – 05–01]


PC [The KGS Go Server athttp://www.gokgs.com/]


>KM [0.50]

>RE [B+Resign]

>RU [Japanese]

>CA [UTF-8]

>ST [2]

>AP [CGoban:3]

>TM [300]

>OT [3x30 byo-yomi]

>; B [qd]; W [dc]; B [eq]; W [pp]; B [de]; W [ce]; B [dd]; W [cd]; B [ec]; W [cc]; B [df]; W [cg]; B [kc]; W [pg]; B [pj]; W [oe]; B [oc]; W [qm]; B [of]; W [pf]; B [pe]; W [og]; B [nf]; W [ng]; B [nj]; W [lg]; B [mf]; W [lf]; B [mg]; W [mh]; B [me]; W [li]; B [kh]; W [lh]; B [om]; W [lk]; B [qo]; W [po]; B [qn]; W [pn]; B [pm]; W [ql]; B [rq]; W [qq]; B [rm]; W [rl]; B [rn]; W [rj]; B [qr]; W [pr]; B [rr]; W [mn]; B [qi]; W [rh]; B [no]; W [on]; B [nn]; W [nm]; B [nl]; W [mm]; B [ol]; W [mp]; B [ml]; W [ll]; B [np]; W [nq]; B [mo]; W [mq]; B [lo]; W [kn]; B [ri]; W [si]; B [qj]; W [qk]; B [kq]; W [kp]; B [ko]; W [jp]; B [lp]; W [lq]; B [jq]; W [jo]; B [jn]; W [in]; B [lm]; W [jm]; B [ln]; W [hq]; B [qh]; W [rg]; B [nh]; W [re]; B [rd]; W [qe]; B [pd]; W [le]; B [md])


Человеку может показаться, что текст выше – полная бессмыслица, но он структурирован для компьютерной обработки. Такая структура называется «Умный игровой формат» (SGF, Smart Games Format). Из набора цифр и букв мы узнаем о том, кто играл партию, где, какие ходы были сделаны и как игра завершилась.

Ход игры описан в той части, где мы видим максимально плотный текст. Колонки в го маркированы в алфавитном порядке слева направо, а строки – сверху вниз. В нашем случае черные (B) ходили первыми и поместили камешек на пересечении колонок q и d, что записано как;B [qd]. Следующие символы;W [dc] говорят о том, что камень белых (W) оказался на пересечении d и c. Каждый последующий ход записан в подобном формате. Итог игры (RE) зафиксирован как RE [B+Resign], что означает капитуляцию черных.

Разработчики AphaGo собрали огромный массив данных из 30 млн SGF-файлов. Все эти архивы не искусственно симулированные матчи, а записи реальных игр, сыгранных реальными людьми (и иногда компьютерами). Так, играя в го на одном из множества сайтов, любители и профессионалы, по сути, добавляли опыт своей игры в массив. На самом деле не так уж и сложно создать видеоигру в го: в интернете можно найти достаточно инструкций и свободного исходного кода. Кроме того, все видеоигры могут сохранять данные партий. Правда, одни из них делают это, другие – нет. Некоторые хранят данные ваших партий и затем передают их разработчикам. Создатели сайтов для онлайн-игры в го публикуют онлайн архивы сыгранных партий в виде огромных пакетов. В результате все эти пакеты были объединены в массив из 30 млн игр, собранный командой AlphaGo.

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


Рекомендуем почитать
История географических названий Руси

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


«Боевая стрельба из пистолета. Израильский стиль»

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


Метод солнечных обращений

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


Затаенное имя - Тайнопись в 'Слове о полку Игореве'

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


Крестоносцы, Они же татары

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


Электрошокеры - осторожно, злая собака!

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