Выбрать главу

ИИ тесно связан с играми – не потому, что существует естественная корреляция между играми и интеллектом, а потому, что специалисты в области теории вычислительных систем обожают определенные типы загадок и игр. Стратегические игры (нарды или го), а также шахматы – любимые среди разработчиков игр. Если посмотреть в Википедии статьи о венчурных инвесторах и создателях технологических корпораций, окажется, что в детстве они обожали игру Dungeons & Dragons.

С тех самых пор как в 1950-х гг. в одной из своих работ Алан Тьюринг представил свой тест, призванный определить, может ли машина мыслить, специалисты в области информатики использовали шахматы для проверки интеллектуальных способностей вычислительной техники. Только спустя полвека удалось создать компьютер, способный победить гроссмейстера. В 1997 г. компьютер IBM Deep Blue нанес поражение Гарри Каспарову. А победа AlphaGo, программного ИИ, над самым сильным игроком в го Кэ Цзе в трех из трех партий в 2017 г. нередко воспринимается как доказательство скорого появления сильного ИИ. Правда, внимательный взгляд на эту программу и ее культурный контекст раскрывает совершенно другую историю.

AlphaGo – программа, созданная человеком и работающая на аппаратном обеспечении, подобно программе «Hello, world!», с которой мы уже сталкивались в главе 2. Разработчики описали принципы ее работы в 2016 г. в статье для международного научного журнала Nature[11]. Она начинается с таких строк: «Все игры с полной информацией обладают оптимальной функцией оценки, v* (s), которая определяет исход игры для каждой позиции на доске или состояния s при идеальной игре всех игроков. Такие игры могут быть решены путем рекурсивного вычисления функции оптимальной оценки в поисковом дереве, содержащем около bd возможных последовательностей ходов, где b – ширина игры (количество возможных ходов в позиции), d – глубина игры (то есть длительность)». Все это совершенно очевидно человеку, у которого за плечами годы практики в области математики, однако большинство из нас предпочло бы более простое и очевидное для неспециалистов объяснение.

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

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

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

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

вернуться

11

Silver et al., “Mastering the Game of Go with Deep Neural Networks and Tree Search,” 484.