В 1968-м, когда вышли роман и фильм «Космическая одиссея 2001 года», никто не мог точно сказать, сумеют ли компьютеры превзойти человека в шахматах и способны ли они на что-либо еще, кроме механического запоминания и расчетов. Разумеется, на заре компьютерной эры не было недостатка в прогнозах относительно потенциала машин. Утопические мечты о полностью автоматизированном мире соседствовали с мрачными антиутопическими предсказаниями — сюжетами на ту же тему.
Есть один важный момент, который следует учесть, прежде чем оценивать чужие прогнозы или делать свои собственные. Каждая новая прорывная технология, каждое изменение в динамике развития общества имеют ряд положительных и негативных последствий и побочных эффектов, которые могут проявиться спустя некоторое время, зачастую — довольно неожиданно. Взять хотя бы наиболее обсуждаемый итог машинного века — снижение возможностей для трудоустройства. Автоматизация производства, широкое использование компьютеров, оргтехники, домашних бытовых приборов и т.п. — все эти бурные процессы, начавшиеся в 1950-е годы, привели к исчезновению миллионов рабочих мест и целых профессий, однако стремительное повышение производительности труда привело к беспрецедентному экономическому росту и создало еще больше рабочих мест, чем было потеряно.
Должны ли мы жалеть джонов генри, лишившихся работы из-за паровых машин? Или конторских машинисток, конвейерных рабочих или лифтеров, которым пришлось переквалифицироваться или вообще сменить профессию, потому что новые технологии сделали их ненужными? Или же надо полагать, что все эти люди были счастливы оттого, что машины освободили их от скучной, физически тяжелой или опасной работы?
Наше отношение имеет значение, но не потому, что мы можем остановить шествие технического прогресса (это невозможно, даже если бы мы очень хотели), а потому, что наше восприятие связанных с технологиями перемен влияет на то, насколько хорошо мы можем к ним подготовиться. Между утопическими и антиутопическими картинами полностью автоматизированного, изобилующего искусственным интеллектом будущего, к которому мы движемся со все возрастающей скоростью, есть много места для других сценариев. Каждый из нас должен сделать выбор: принять новые вызовы или сдаться. Мы будем участвовать в формировании этого будущего, определяя условия наших взаимоотношений с новыми технологиями, или же позволим кому-то сделать это за нас?
Как и я, поколения ученых были заинтригованы шахматами и идеей создания машин, способных играть в шахматы. Математиками, физиками и инженерами, сформировавшими в 1950-е годы первую волну кибернетиков и программистов, едва ли двигало романтическое представление об этой игре, пусть даже они были ее страстными поклонниками. Но все же некоторые из этих умов, в высшей степени склонных к логическому, рациональному мышлению, настаивали на том, что, сумев научить машину хорошо играть в шахматы, мы сможем проникнуть в тайны человеческого мышления.
В подобную мыслительную ловушку попадает каждое поколение, когда речь идет об искусственном разуме. Мы путаем исполнение — способность машины повторить или превзойти результаты человека — с методом, которым достигаются эти результаты. Такой ошибки невозможно избежать, когда дело касается высшего интеллекта, свойственного исключительно Homo Sapiens.
Фактически существует два отдельных, но взаимосвязанных варианта этого заблуждения. Первый — «машина может научиться делать Х только в том случае, если она достигнет общего интеллектуального уровня, близкого к человеческому». Второй — «если мы сможем создать машину, способную делать Х так же хорошо, как человек, мы сможем узнать нечто очень важное о природе разума».
Романтизация и очеловечивание машинного интеллекта вполне естественны. Когда мы изобретаем что-то новое, логично смотреть на имеющиеся модели, а разве есть лучшая модель интеллекта, чем человеческий разум? Однако попытки создать машину, мыслящую как человек, раз за разом терпят неудачу, притом что мы успешно делаем машины, которые оказываются способны повторить наши результаты не используя наш метод.
Чтобы быть полезными или превзойти природу, машины не должны копировать естественные процессы. Это становится очевидным из тысячелетий развития технологий и в равной степени применимо к программному обеспечению и интеллектуальным машинам. Самолеты не машут крыльями, чтобы летать, а вертолетам и вовсе не нужны крылья. В природе нет колес, но они отлично нам служат. Так нужно ли компьютерному мозгу имитировать работу человеческого разума, чтобы добиваться результатов? Для исследования этой проблемы — как и многих других проблем, имеющих отношение к связи человеческого и машинного мышления, — шахматы оказались идеальной лабораторией.
За пределами научной фантастики вопрос о том, может ли машина быть разумной, не волновал специалистов и широкую общественность до тех пор, пока в 1940-е годы на смену механическим и аналоговым технологиям не начали приходить цифровые технологии, а в 1950-е вакуумные трубки не уступили место полупроводникам. Лишившись возможности наблюдать невооруженным глазом за процессами, происходящими внутри машины, люди словно бы начали их одушевлять. Механические счетные машины существуют с XVII века, и к середине XIX столетия появились тысячи их настольных кнопочных версий. Первая программируемая вычислительная машина была разработана Чарльзом Бэббиджем в 1834 году, а первую «компьютерную» программу написала Ада Лавлейс в 1843-м.
Несмотря на впечатляющую сложность этих машин, никто всерьез не задумывался об их разумности, как не размышлял о разумности карманных часов или паровозов. Даже если вы не знали, как работают механические устройства наподобие кассового аппарата, вы могли слышать, что внутри крутятся шестеренки. Вы могли открыть его и посмотреть, как вращается механизм. При всей поразительности того факта, что машина выполняет «мыслительные» математические и логические задачи быстрее человека, мало кто пытался сравнить ее работу с работой человеческого ума.
Отчасти это объясняется относительно понятной природой первых машин, отчасти — невысоким уровнем знаний о человеческом разуме. Мы прошли длинный путь с IV века до нашей эры, когда Аристотель считал, что разум и чувства находятся в сердце, а мозг служит для охлаждения крови. Недаром мы до сих пор говорим, что «чувствуем сердцем». Только в конце XIX века с открытием нейронов стало возможным представление о мозге как об электрическом вычислительном устройстве. До этого мозг виделся больше метафизической, чем физической сущностью, — в частности, как считалось во времена Древнего Рима, вместилищем «животных духов» и души.
Если оставить в стороне вопрос о душе, сегодня никто не спорит с тем, что разум — это гораздо больше, чем сумма физических составляющих человека и его опыта. Разум выходит за рамки мышления и включает в себя восприятие, чувства, память и, самое явное, волю — способность иметь и выражать желания и намерения. Клетки мозга, выращенные в чашках Петри из стволовых клеток, безусловно, интересны для научных экспериментов, но, лишенные возможности обрабатывать информацию, они не являются разумными.
Если оглянуться назад на историю компьютеров, создается впечатление, будто, как только была изобретена первая ЭВМ, следующим же шагом стала попытка научить ее играть в шахматы. В первые десятилетия развития компьютерной техники шахматы всегда находились на переднем фронте. Причина не только в репутации игры, но и в том, что многие из отцов-основателей вычислительной науки были увлеченными шахматистами и быстро увидели в этой игре потенциал служить отличной площадкой для тестирования своих теорий и изобретений.
Как машины играют в шахматы? Базовый подход остается неизменным с 1949 года, когда американский математик и инженер Клод Шеннон описал его в своей статье «Программирование компьютера для игры в шахматы». Он предложил вычислительный метод, или «программу», для ЭВМ общего назначения, идею которой несколькими годами ранее сформулировал Алан Тьюринг. Это было на столь раннем этапе информационной эпохи, что Шеннон взял слово «программа» в кавычки, как жаргонизм.
Подобно многим его последователям, Шеннон, рассуждая об играющем в шахматы устройстве, делал оговорку, что «возможно, оно не имеет никакого практического значения». Но ученый разглядел теоретическую ценность такой машины для иных областей — от маршрутизации телефонных звонков до перевода с одного языка на другой. Шеннон объяснил, почему считает шахматы и шахматный автомат хорошей тестовой площадкой:
Обратите особое внимание на третий пункт, где Шеннон несколькими словами преодолевает разрыв между компьютерной наукой и метафизическим миром. Поскольку игра в шахматы предполагает наличие мышления, значит, либо шахматная машина способна мыслить, либо мышление — это вовсе не то, чем мы привыкли его считать. Также следует отметить, что математик говорит об «искусной игре», — то есть простое знание правил и генерация в заданных ими рамках случайных ходов или же извлечение ходов из памяти (базы данных) не является признаком мышления.
Этот подход перекликается с идеей, высказанной Норбертом Винером в его фундаментальном труде «Кибернетика» (1948): «Вопрос в том, можно ли построить машину, играющую в шахматы, и являются ли способности такого рода существенным отличием человеческого разума от машины».
Шеннон описал различные факторы, которые потребуются для создания шахматной программы, включая правила, определение ценности фигур, функцию оценки и, самое важное, возможные методы поиска. В качестве фундаментального алгоритма поиска он использовал так называемый принцип минимакса, который первоначально был сформулирован в теории игр и впоследствии применялся во многих других сферах для принятия решений в условиях неопределенности. Говоря простым языком, алгоритм минимакса оценивает все доступные варианты и сортирует их от лучшего к худшему.
С помощью системы оценки шахматная программа ранжирует как можно больше возможных вариантов ходов в заданной позиции и определяет ценность каждой выявленной позиции. Ход, получающий максимальную оценку, помещается вверху списка как самый предпочтительный. В идеале программа должна проанализировать все возможные действия обоих игроков на столько ходов вперед, насколько позволит время.
Важным вкладом Шеннона было то, что он предложил две ключевые стратегии поиска — «тип А» и «тип Б». Попросту говоря, тип А — это всеохватывающий поиск, метод «грубой силы», предполагающий, что все возможные в рамках правил ходы и варианты исследуются все глубже и глубже с каждым ходом. Тип Б — метод «интеллектуального поиска» — опирается на относительно эффективный алгоритм, работающий во многом так же, как мозг шахматиста: он фокусируется только на нескольких хороших ходах и тщательно анализирует их, вместо того чтобы рассматривать все.
Выбор шахматного хода можно сравнить с выбором пирожного, когда вы стоите перед длинной витриной в кондитерской. Вам не нужно внимательно изучать каждый вид пирожного, чтобы сделать заказ. Вы уже знаете, какие пирожные вам нравятся, как они выглядят, из каких ингредиентов состоят, каковы на вкус. Поэтому вы быстро сужаете свой выбор до нескольких предпочтительных вариантов — и вот их-то уже оцениваете более внимательно.
Но вдруг вы замечаете в углу витрины новое лакомство, которое раньше никогда не видели. Оно выглядит довольно аппетитно. Теперь вам нужно остановиться — может быть, навести справки у продавца — и задействовать свою функцию оценки, чтобы понять, понравится ли вам это блюдо. Почему оно выглядит так аппетитно? Потому что похоже на одно из тех пирожных, которые вы ели раньше и любите. Именно так сильные шахматисты начинают оценивать ходы еще до того, как приступают к логическим расчетам. Ответственный за сопоставление с образцом участок нашего головного мозга подает сигнал, когда обнаруживает что-то интересное.
Рискуя злоупотребить этим сравнением и вызвать у вас голод, подчеркнем, что сама кондитерская также имеет значение. Если в это заведение вы заходите каждый день, вы будете делать выбор почти автоматически, возможно, исходя из времени дня или вашего настроения. Но что если вы оказались в кондитерской, в которой никогда не бывали раньше, например, в другой стране? Вы ничего не знаете о здешних пирожных, и ваша интуиция и опыт ничего не могут вам подсказать. В этом случае вам придется использовать метод грубой силы, стратегию поиска типа А: потребуется собрать информацию о каждом пирожном, его ингредиентах и вкусе. Чтобы принять правильное решение и выбрать пирожное, которое вам действительно понравится, вам надо будет потратить гораздо больше времени.
Именно так действуют начинающие шахматисты и, в некоторой степени, более сильные игроки, когда сталкиваются с совершенно новой и хаотичной позицией. Но шахматы — игра, имеющая ограничения, и для каждой позиции существуют модели и маркеры, которые наша интуиция может распознать и интерпретировать. Любая из примерно десятков тысяч позиций, запечатленных в памяти сильного мастера, может быть разбита на составные части, перевернута, изменена — и все равно останется полезной. Запоминается только последовательность дебютных ходов, в остальных же случаях сильные игроки полагаются не столько на память, сколько на сверхбыстрый поиск аналогий.
Когда я смотрю на шахматную позицию в своей или чужой партии, в моем процессе выбора ходов очень мало того, что можно назвать осознанным систематическим поиском. Некоторые ходы бывают вынужденными, скажем, если ваш король находится под шахом или если все остальные ходы очевидно проигрывают. На протяжении сражения такое происходит регулярно, например, когда ваша фигура под угрозой и вам необходимо спасти ее, иначе вам грозит дефицит материала. Некоторые партии включают несколько десятков вынужденных ходов, в сущности не требующих никакого поиска. Приличный игрок делает их практически на уровне рефлексов, подобно тому, как вы автоматически реагируете на красный и зеленый сигналы светофора.
Если нет необходимости в вынужденном ходе, то в каждой позиции обычно имеется три-четыре пригодных хода, а иногда десять или больше. Опять же, прежде чем в моей голове запускается систематический поиск, я выбираю несколько так называемых ходов-кандидатов для расчета с большей глубиной. Разумеется, если это моя партия, я не начинаю с нуля: я планирую стратегию и ищу наиболее подходящие варианты уже в то время, пока соперник обдумывает свой ход. Если он пошел так, как я ожидал, я могу ответить почти мгновенно. Зачастую я просчитываю варианты на четыре-пять ходов вперед, и если ситуация развивается согласно моему плану, делаю паузу только для того, чтобы перепроверить свои расчеты.
Бóльшую часть всего времени, необходимого для поиска и оценки, я трачу на основной вариант — ход, который я изначально выбрал как наиболее подходящий. Я использую свое умение рассчитывать ходы для проверки интуиции. Если соперник делает неожиданный ход, мне может потребоваться дополнительное время, чтобы изучить ситуацию на доске с точки зрения вновь открывшихся возможностей и слабых мест.
Человеческий ум не компьютер; он не может последовательно, один за другим, изучить все ходы-кандидаты и оценить каждый из них вплоть до хода последней пешки, как это делает шахматная машина. Даже самый дисциплинированный человеческий ум в пылу борьбы начинает метаться с одного на другое. В этом состоит одновременно и слабость, и сила человеческого мышления. Иногда эти бессистемные блуждания только ослабляют анализ. В других случаях они приводят к озарениям, к красивым или парадоксальным ходам, которых не было в вашем первоначальном списке кандидатов.
В книге «Шахматы как модель жизни» я написал о том, как воображение и интуиция помогают прорваться сквозь кажущийся непроходимым лес расчетов. Не могу удержаться от искушения еще раз процитировать Михаила Таля, восьмого чемпиона мира по шахматам, которого прозвали «рижским кудесником» за его ошеломительные полеты шахматной фантазии. В одной из своих книг Таль поведал о том, что происходило у него в голове, когда он обдумывал возможную жертву коня в партии, сыгранной им в 1964 году с гроссмейстером Васюковым:
«Мысли громоздятся одна на другую. Тонкий ответ противника, пригодный в одном случае, вдруг переносится мною в другую ситуацию и там, естественно, оказывается совершенно непригодным. В общем, в голове возникает совершенно хаотическое нагромождение всяких ходов, подчас даже не связанных друг с другом, и пресловутое "дерево вариантов", от которого тренеры рекомендуют отсекать по веточке, у меня разрастается с неимоверной скоростью.
И вдруг мне почему-то вспомнилось классическое двустишие Корнея Ивановича Чуковского:
Ох, нелегкая это работа,
Из болота тащить бегемота.
Не знаю, по какой ассоциации этот бегемот влез на шахматную доску, но хотя зрители были убеждены, что я продолжаю изучать создавшуюся позицию, я на самом деле пытался в это время понять, как же бегемота вытаскивают из болота. Помнится, в моих мыслях фигурировали домкраты, рычаги, вертолеты и даже веревочная лестница. После долгих размышлений не нашел ни одного способа вытащить его из трясины и со злостью подумал: "Ну и пусть тонет!"
И вдруг бегемот исчез. Как он пришел на шахматную доску, так и ушел. Сам ушел! А позиция вдруг оказалась не столь уж сложной. Я как-то сразу понял, что все варианты просчитать невозможно и что жертва коня носит чисто интуитивный характер. А так как она сулила интересную игру, то, конечно, удерживаться не стал.
А назавтра с большим удовольствием прочел в газете, что Михаил Таль после сорокаминутного тщательного обдумывания позиции осуществил точно рассчитанную жертву фигуры…»
Таль обладал редким чувством юмора, был человеком исключительной честности и блестящего шахматного ума. Мыслительная дисциплина и способность к концентрации, безусловно, важны для профессионального шахматиста, но я подозреваю, что мы гораздо чаще полагаемся на такие вот интуитивные озарения, чем нам хотелось бы признать.
Игра в шахматы — жесткая борьба, а не лабораторный эксперимент. Колоссальное психологическое давление, неустанное тиканье часов — в таких условиях даже опытным гроссмейстерам трудно сохранять дисциплину мышления. Зрительное воображение слабеет, повышая вероятность серьезных промахов. Иногда вы тратите десять минут на обдумывание основного хода-кандидата и вдруг обнаруживаете, что это роковая ошибка. Паника! Отчаяние! Или же после хода противника вы видите возможность для блестящего победного удара. Восторг! Сделать ход немедленно в надежде на то, что интуиция вас не подвела? Или же потратить десять минут и проверить свою интуицию? Понятно, что компьютеры не переживают подобных психологических драм; это еще одна — наряду со способностью анализировать миллионы позиций в секунду — ключевая причина, объясняющая, почему над машинами так трудно одержать победу.
В 1949 году Клод Шеннон не надеялся на успех программ типа А, предполагающих анализ всех доступных ходов с максимально возможной глубиной. Цифры казались невероятными. Шеннон рассчитал, что даже если машина типа А будет оценивать миллион позиций в секунду (что «очень оптимистично»), на каждый ход потребуется больше 16 минут, а на среднюю партию в 40 ходов — больше десяти с половиной часов. И все равно игра машины будет очень слабой, поскольку исследование дерева вариантов всего на три хода вперед позволяет победить лишь очень слабого человеческого игрока.
Главной проблемой шахматного программирования является великое множество позиций в дереве перебора — мы называем это коэффициентом ветвления. С самого начала количество вариантов было столь огромно, что их перебор мог бы поглотить всю вычислительную мощь самого высокопроизводительного компьютера. Каждая сторона начинает имея 16 боевых единиц: восемь пешек и восемь старших фигур. Число возможных комбинаций первых четырех ходов составляет более 300 млрд, и, хотя 95% вариантов откровенно плохи, программа типа А будет перебирать их все, чтобы убедиться в этом.
Дальше — хуже. Из начальной позиции можно сделать около 40 допустимых ходов. С учетом ответных ходов мы получаем 1600 позиций — и это всего после двух полуходов, один из которых сделан белыми и один — черными. После двух полных ходов (четырех полуходов) возникает 2,5 млн позиций, а после трех — 4,1 млрд! Поскольку в среднем партия продолжается примерно 40 ходов, число позиций достигает астрономических величин. А общее количество допустимых позиций в шахматах сопоставимо с количеством атомов в Солнечной системе.
Поэтому Шеннон, сам заядлый шахматист, возлагал надежды на стратегию типа Б, которая работает более избирательно и эффективно. Вместо того чтобы просчитывать все возможные ходы и позиции на одинаковую глубину, алгоритм типа Б, как хороший игрок, должен изначально отбросить все плохие и незначительные ходы и сосредоточить внимание на наиболее перспективных вариантах и вынужденных ответах, исследуя их как можно глубже.
Люди быстро учатся тому, что в каждой позиции есть относительно небольшое число разумных ходов, и чем сильнее игрок, тем быстрее и точнее он осуществляет первичную сортировку и отсеивание. Новички больше играют как машины типа А, пытаясь перебрать все доступные варианты и просчитать их последствия. Этот метод грубой силы работает разве что у компьютеров, способных проанализировать миллионы позиций в секунду, но не у людей — даже чемпион мира может оценить не больше двух-трех позиций в секунду.
Если в данной позиции вам удастся найти четыре-пять наиболее разумных ходов и отбросить остальные — что не так-то просто, — дерево вариантов все равно разветвится очень быстро. Следовательно, даже если вы сможете создать алгоритм типа Б, который будет вести более интеллектуальный поиск, все равно потребуется огромная скорость обработки и невероятная память, чтобы оценить эти миллионы позиций.
Я уже упоминал о «бумажной машине Алана Тьюринга», первой работоспособной шахматной программе. Я даже имел честь сыграть с воссозданной версией программы на современном компьютере — это произошло на праздновании столетнего юбилея Тьюринга в Манчестере в 2012 году, куда я был приглашен в качестве выступающего. По современным меркам программа довольно слаба, но ее все равно следует рассматривать как огромное достижение, учитывая тот факт, что Тьюринг не имел возможности протестировать ее на компьютере.
Когда несколько лет спустя появились первые ЭВМ, умевшие выполнять шахматные программы, они работали так удручающе медленно, что специалисты заключили: Шеннон был прав и все надежды на прогресс следует связывать с программами типа Б. Логичный вывод, поскольку машины, способные развивать «оптимистичную» скорость перебора миллион позиций в секунду, будут созданы только через несколько десятилетий. До тех пор машине потребовалось бы на каждый ход несколько недель, чтобы достичь глубины поиска, необходимой для игры среднего уровня, и несколько лет — чтобы глубина поиска соответствовала сильной игре. Однако предположение о том, что имитация человеческого метода лучше грубой вычислительной силы, оказалось во многом неверным, причем далеко не в первый и не в последний раз.
Следующий шаг в развитии компьютерных шахмат был сделан в 1956 году в Центре ядерных исследований в Лос-Аламосе. Здесь теории Винера, Тьюринга и Шеннона впервые воплотились в реальной шахматной машине. Когда в центр доставили один из первых в мире компьютеров — гигантского монстра MANIAC-1 с 2400 вакуумными трубками и революционной возможностью хранения программ в памяти, ученые-разработчики водородной бомбы немедленно опробовали машину, написав для нее шахматную программу. А как же еще? Из-за ограниченных ресурсов устройства им пришлось использовать уменьшенную доску шесть на шесть клеток и исключить слонов. После партии с самим собой и проигрыша сильному шахматисту (игравшему без ферзя) компьютер победил девушку, едва знакомую с правилами игры. Так человек впервые уступил машине в интеллектуальной игре.
Спустя год после этого исторического события, в 1957-м, группа исследователей из Университета Карнеги–Меллона провозгласила, что раскрыла секрет создания алгоритма типа Б, который всего через десять лет победит чемпиона мира по шахматам. Учитывая, насколько медленными и дорогими в те времена были компьютеры, это утверждение звучало не менее дерзко, чем заявление Джона Кеннеди, пообещавшего 25 мая 1961 года, что Соединенные Штаты к концу десятилетия отправят человека на Луну.
Возможно, исследователи из Университета Карнеги–Меллона просто не осознавали масштаба проблемы. Даже если бы вся индустриальная мощь Америки была брошена на создание компьютера, способного к 1967 году переиграть самых сильных шахматистов планеты, эта задача вряд ли была бы выполнена. Программа Apollo потребовала разработки новых материалов и инновационных технологий, и предсказание Кеннеди осуществилось только благодаря прорывам почти во всех соответствующих технологических областях. Тем не менее цель, поставленная авторами космической программы, отвечала общему уровню технического развития того времени. Ответственные за Apollo в 1961 году представляли, что им нужно сделать, чтобы отправить человека на Луну, даже если точно не знали как.
Напротив, компьютеры, способные составить конкуренцию чемпиону мира по шахматам, появились только в 1997 году, через 30 лет после обещанного командой из Университета Карнеги–Меллона срока, — и это при том, что вычислительная мощность компьютеров удваивалась примерно каждые два года согласно закону Мура. Их сенсационный «сверхумный» алгоритм быстро показал свою неработоспособность, и было неясно, каким путем следовать дальше. Шахматы оказались слишком сложной игрой, компьютеры — чересчур медленными. Если бы в 1960-е годы на разработку шахматных программ потратили на несколько миллионов человеко-часов больше, это привело бы к впечатляющим успехам в области программирования и разработки аппаратного обеспечения, но компьютерное оборудование, способное хранить достаточные объемы информации и выполнять сложные программы с достаточно высокой скоростью, чтобы играть на уровне гроссмейстеров, стало доступным только в 1980-х.
Создание такой шахматной программы к 1967 году было делом немыслимым и вряд ли удалось бы к 1977-му, даже если бы на него израсходовали сумму, эквивалентную бюджету NASA. Суперкомпьютер Cray-1, установленный в Лос-Аламосской национальной лаборатории в 1976-м, был самым мощным компьютером в мире со скоростью 160 млн операций в секунду (160 мегафлопсов). Сравним это с программой Deep Junior, с которой я сыграл вничью в 2003 году. Она работала на компьютере с четырьмя процессорами Pentium 4, каждый из которых функционировал примерно в 20 раз быстрее, чем суперкомпьютер Cray-1, и играла не хуже и даже лучше, чем требовавшая использования специализированного оборудования Deep Blue в 1997-м.
Дело было не в скорости: просто Deep Blue перебирала в среднем в 50 раз больше позиций в секунду, чем Deep Junior, — 150 млн против 3 млн. Но техническая скорость — только один из факторов шахматной силы машины. Чтобы получить максимальную отдачу от аппаратного обеспечения, в первую очередь необходимо иметь эффективную программу. Как показали усилия нескольких поколений шахматных программистов, начиная с 1970-х годов, уровень шахматных способностей программы тем выше, чем чаще происходит ее оптимизация и чем «умнее» процедуры поиска.
Когда же программисты добавляют в алгоритм поиска различные элементы, связанные с шахматной спецификой, приходится искать компромиссное решение. Самые простые шахматные программы должны понимать, например, что такое мат и какова относительная ценность фигур. Если вы научите машину, что и ладья и слон стоят трех пешек — тогда как ладья в действительности сильнее слона, — она не станет сильным игроком. Компьютеры очень хорошо и быстро справляются с подсчетом материала и узнают, у кого больше фигур на доске, а программистам не нужно глубоко разбираться в шахматах, чтобы правильно присвоить фигурам стандартные значения.
Далее следуют более абстрактные шахматные знания: надо понимать, кто контролирует больше пространства на доске, как расположены пешки, находится ли король в безопасности и т.п. Каждый раз, когда вы даете компьютеру новую информацию для оценки хода, поиск замедляется. Короче говоря, шахматная программа может быть либо быстрее и глупее, либо медленнее и умнее. Найти баланс непросто, и потребовались десятилетия, чтобы создать машины, которые были бы достаточно умными и достаточно быстрыми для того, чтобы бросить вызов сильнейшим шахматистам мира.
Хотя первоначальные прогнозы не оправдались, на протяжении следующих 20 лет в компьютерных шахматах наблюдался устойчивый прогресс. Неумолимое развитие вычислительных мощностей по закону Мура и достигнутые методом проб и ошибок успехи в программировании привели к созданию в 1977 году шахматных машин, способных играть на экспертном уровне — то есть так, как играют лучшие 5% шахматистов. Компьютеры по-прежнему делали множество вопиюще нелогичных ходов, которые никогда бы не сделал даже слабый игрок. Но они стали достаточно быстрыми для того, чтобы компенсировать эти случайные промахи грамотной обороной и выверенной тактикой.
Увеличение скорости работы аппаратного обеспечения было только одним из факторов прогресса. Значительную роль сыграли более совершенные программы, ускоряющие процесс поиска. Был разработан алгоритм «альфа-бета», который позволял программам быстрее отсекать слабые ходы и глубже просчитывать остальные. Он представлял собой улучшенную версию алгоритма «минимакс», описанного Шенноном как стратегия типа A, или метод грубой силы. Программы, которые использовали «альфа-бета», отвергали любой ход, получавший более низкую оценку, чем уже рассмотренный. Благодаря этому ключевому усовершенствованию и другим изменениям программы типа A стали доминировать над программами типа Б. Эффективное использование грубой силы перевешивало любую попытку сымитировать человеческое мышление и интуицию в шахматной машине. Некоторые шахматные знания были необходимы, но важнейшим условием победы являлась скорость.
Все современные шахматные программы основаны на применении отсекающего алгоритма «альфа-бета» к базовой концепции минимакса. На эту структуру программисты накладывают оценочную функцию и настраивают ее для достижения оптимальных результатов. Первые шахматные программы, разработанные с использованием этого метода и установленные на самых мощных компьютерах того времени, достигли довольно высокого уровня шахматного мастерства. К концу 1970-х годов программы, управлявшие первыми персональными компьютерами типа TRS-80, уже могли побеждать большинство шахматистов-любителей.
Следующий прорыв произошел благодаря компании Bell Laboratories из Нью-Джерси, давшей миру несколько изобретений и нобелевских лауреатов. Кен Томпсон создал специализированный шахматный компьютер Belle с сотней микропроцессоров. Эта машина могла перебирать 180 000 позиций в секунду, тогда как обычные универсальные суперкомпьютеры того времени справлялись лишь с пятью тысячами. При глубине расчета до девяти полуходов Belle мог играть на уровне мастера и значительно превосходил другие шахматные машины. С 1980 по 1983 год он победил почти во всех соревнованиях по компьютерным шахматам, пока его не превзошла программа, работавшая на следующем поколении суперкомпьютеров Cray.
Шахматные программы для персональных компьютеров — Sargon, ChessMaster и другие — продолжали совершенствоваться и становиться сильнее вследствие быстрого роста вычислительной мощности процессоров от Intel и AMD. Вернулись и специализированные шахматные компьютеры наподобие Belle, на этот раз в виде целого поколения машин, разработанных в Университете Карнеги–Меллона. Профессор Ханс Берлинер, специалист по компьютерным технологиям, а также чемпион мира по игре в шахматы по переписке, вместе со своей командой создал машину HiTech, которая в 1988 году играла на уровне гроссмейстера. Однако вскоре ее превзошло детище учеников Берлинера — аспирантов Мюррея Кэмпбелла и Сюй Фэнсюна. Их специализированный шахматный компьютер Deep Thought стал в ноябре 1988-го первой в истории машиной, победившей гроссмейстера в турнирной партии. После завершения учебы в 1989 году Кэмпбелл и Сюй Фэнсюн вместе с Deep Thought присоединились к IBM, где их проект получил новое имя, созвучное словосочетанию Big Blue («Голубой гигант»), как часто называют компанию. Так Deep Thought превратился в Deep Blue, и началась новая глава в истории шахматных машин.