Deep Blue — шахматный суперкомпьютер, разработанный компанией IBM. 11 мая 1997 года выиграл матч из 6 партий у тогдашнего чемпиона мира Гарри Каспарова.

В названии «Deep Blue» (дословно — «тёмно-синий» или, в переносном значении, «глубокая печаль») сочетается название проекта «Deep Thought» () и прозвище, которое дали ІВМ: «Big Blue» (в русском передаётся как «Голубой гигант»).

История создания Прямым предшественником Deep Blue была шахматная машина Deep Thought, которая, в свою очередь, была создана на основе машины .

Шахматная машина ChipTest была спроектирована и изготовлена группой аспирантов университета Карнеги-Меллон. У истоков создания машины ChipTest стоял Фэн Сюн Сю, который занимался ею в рамках своего диссертационного проекта на соискание научной степени PhD по информатике. Диссертация была посвящена разработке специализированных шахматных СБИС. Впоследствии эти СБИС использовались в составе аппаратной части шахматных машин ChipTest и Deep Thought. Позднее к проекту присоединились аспиранты Томас Анансараман (программная часть) и Мюррей Кэмпбелл (программная часть, шахматная подготовка). Также заметный вклад в осуществление проектов ChipTest и Deep Thought внесли Андреас Новатчук, Майкл Браун, Питер Янсен и другие.

В процессе выбора хода ChipTest в основном использовал типовые методы поиска по шахматному дереву, применявшиеся в большинстве шахматных программ — минимаксный алгоритм поиска с альфа-бета-отсечениями и оценочную функцию, дававшую оценку конечным позициям. Аналогичный принцип работы впоследствии использовали Deep Thought и Deep Blue.

Разработка ChipTest началась в 1985 году. Финансирование проекта осуществлялось по линии диссертационных расходов Фэн Сюн Сю. К концу 1986 года создание ChipTest было в основном закончено. В 1987 году ChipTest выигрывает 18-й Северо-Американский чемпионат по шахматам среди компьютерных программ. Незадолго до этого авторы ChipTest начали создание следующей шахматной машины — Deep Thought.

В Deep Thought оценочная функция стала сложнее и учитывала больше позиционных факторов. Для некоторых факторов впервые использовалась автоматическая настройка. Аппаратная оценочная функция была переведена на FPGA. Количество специализированных шахматных процессоров было увеличено сначала до 2-х, а впоследствии и до 24-х (в Deep Thought II). Создание Deep Thought было в основном завершено в 1988 году.

В 1988 году Deep Thought принял участие в шахматном турнире, проходившем в Лонг-Бич (США), где поделил первое-второе место вместе с гроссмейстером Энтони Майлсом. В турнире он опередил нескольких гроссмейстеров, в том числе экс-чемпиона мира Михаила Таля.

В 1989 году Deep Thought выигрывает 6-й Чемпионат мира по шахматам среди компьютерных программ, проводившийся в Эдмонтоне (Канада).

В 1989—90 годах Deep Thought проигрывает двум сильнейшим на тот момент шахматистам в мире, сначала Гарри Каспарову в матче со счётом 0 : 2, а затем Анатолию Карпову 0 : 1. К этому времени рейтинг Deep Thought достиг уровня в 2552 пункта по шкале USCF. В соревнованиях Deep Thought играл в различных конфигурациях — количество шахматных процессоров менялось от двух до шести, а общая скорость перебора от 700 тыс. до 2 млн шахматных позиций в секунду. В качестве головной машины, к которой подключались внешние шахматные процессоры, использовались рабочие станции университета Карнеги-Меллон. В частности, в играх с Каспаровым использовались три рабочие станции Sun-4, соединённые по сети, и 6 шахматных процессоров.

В 1989 году корпорацией IBM принято решение начать проект по созданию шахматной машины, для осуществления которого нанимаются разработчики Deep Thought. В течение 1989—90 годов, по мере окончания обучения в университете, Томас Анансараман, Фэн Сюн Сю и Мюррей Кэмпбелл переходят на работу в IBM. Фэн Сюн Сю начинает разработку специализированного шахматного микропроцессора, целиком помещающегося на одном кристалле кремния, который предполагается использовать в качестве основы новой шахматной машины — Deep Blue.

В 1991—92 годах закончено создание машины Deep Thought II, которая представляет собой усиленный вариант Deep Thought, с дополнительными шахматными процессорами. Томас Анансараман покидает проект. Его место занимает сотрудник IBM, Джозеф Хоэн.

В 1995 году разработка шахматного микропроцессора закончена. В сентябре того же года, на основе двух шахматных микропроцессоров, была получена первая работоспособная версия Deep Blue I. Корпорация IBM нанимает гроссмейстера Джоэла Бенджамина для работы над шахматной подготовкой Deep Blue I. В феврале 1996 года, в Филадельфии, Deep Blue I проигрывает матч Гарри Каспарову со счётом 2 : 4.

После матча, в течение 1996 года, Фэн Сюн Сю вносит значительные изменения в конструкцию шахматного микропроцессора. В декабре 1996 года, по заказу IBM, сторонними поставщиками начато изготовление новых шахматных процессоров. В начале 1997 года изготовленные процессоры начинают поступать в IBM. Джозеф Хоэн адаптирует программное обеспечение под новые аппаратные возможности машины. Мюррей Кэмпбелл и Джозеф Хоэн активируют и настраивают новые позиционные факторы оценочной функции. Часть факторов выставляется программой автоматической настройки. Джоэл Бенджамин осуществляет игровое тестирование новой версии Deep Blue (сначала на 24-процессорной, а перед матчем на полной, 480-процессорной версии машины). По его замечаниям Джозеф Хоэн и Мюррей Кэмпбелл производят корректировку коэффициентов позиционных факторов в оценочной функции. За несколько месяцев до начала нового матча группа гроссмейстеров в лице Джоэла Бенджамина и подключившихся впоследствии Ника де Фирмиана, Джона Федоровича и Мигеля Ильескаса начинает подготовку дебютной книги Deep Blue. Незадолго до начала матча производится сборка новой машины — Deep Blue II — на основе нового, более производительного сервера IBM. В мае 1997 года Deep Blue II выигрывает матч у Гарри Каспарова со счётом 3 : 2.

Результаты в соревнованиях 8-й чемпионат мира среди компьютеров (Гонконг, 1995) — 3—5 место (3½ из 5). Матч Deep Blue — Каспаров (Филадельфия, февраль 1996) — 2 : 4 № Участник 1 2 3 4 5 6 + − = Очки1 Каспаров, Гарри 0 1 ½ ½ 1 13 1 2 42 Deep Blue 1 0 ½ ½ 0 01 3 2 2

Матч Deep Blue — Каспаров (Нью-Йорк, май 1997) — 3½ : 2½ № Участник 1 2 3 4 5 6 + − = Очки1 Каспаров, Гарри 1 0 ½ ½ ½ 01 2 3 2½2 Deep Blue 0 1 ½ ½ ½ 12 1 3 3½

Устройство Deep Blue Deep Blue II представлял собой суперкомпьютерный кластер RS/6000 SP (от ) компании IBM. Он состоял из двух стоек с размещёнными в них 30 узлами, построенными на базе рабочих станций RS/6000. На каждом узле был установлен процессор P2SC (одномикросхемное исполнение процессора POWER2) и две платы расширения с 8 специализированными шахматными процессорами на каждой плате под шину MCA. Таким образом всего использовалось 480 шахматных процессоров и 30 процессоров P2SC. Два узла использовали процессоры P2SC с тактовой частотой 135 МГц, а остальные 28 узлов — процессоры P2SC с тактовой частотой 120 МГц. На каждом узле были установлены 1 ГБ ОЗУ и 4 ГБ дисковой памяти. Узлы обменивались данными между собой по высокоскоростной сети. Один из процессоров P2SC был назначен главным, а остальные — вспомогательными. В свою очередь, каждый специализированный шахматный процессор работал на частоте 24 МГц и перебирал от 2 до 2,5 миллионов шахматных позиций в секунду, что примерно в сто раз больше, чем у аналогичных по частоте универсальных процессоров. Шахматные процессоры были изготовлены по 0,6-микронной КМОП-технологии и содержали около 1,5 миллиона транзисторов каждый. Программное обеспечение Deep Blue II было написано на языке С и работало под управлением операционной системы AIX 4.2.

Структурно Deep Blue состоял из двух частей: программной части, реализованной на универсальном компьютере и ведущей расчёт на первые несколько ходов глубины; аппаратной части на основе быстрых специализированных шахматных микропроцессоров, дополнительно ускоряющих и углубляющих поиск в ходе дальнейшего расчёта.

Такая структура позволяла, с одной стороны, использовать сложную и относительно просто изменяемую шахматную программу на универсальном компьютере, а с другой стороны, использовать высокую скорость специализированных шахматных микропроцессоров. Для увеличения гибкости аппаратной части машины в конструкцию шахматных микропроцессоров Deep Blue II была опционально добавлена поддержка возможности подключения внешних FPGA, корректирующих аппаратный поиск и оценку. Теоретически, это позволило бы приблизить аппаратный поиск по сложности и гибкости к программному поиску. Из-за нехватки времени к началу матча 1997 года эта возможность не была реализована и потому никогда не использовалась.

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

Оценочная функция Deep Blue была реализована на аппаратном уровне (на шахматных процессорах). В конструкцию аппаратной оценочной функции было заложено около 8000 настраиваемых признаков позиции. Значения отдельных признаков объединялись в общую оценку, которая затем использовалась Deep Blue для оценки качества просматриваемых шахматных позиций.

В процессе поиска по дереву шахматных ходов Deep Blue использовал стандартные методы организации перебора, известные в то время: NegaScout (одна из модификаций альфа-бета-отсечений), форсированный вариант, итеративное углубление, таблицы перестановок и другие. Использовался также разработанный авторами метод продления единственных ходов (Singular extensions).

Deep Blue II использовал две дебютные книги. Одна из них, подготовленная вручную, использовалась в течение первых нескольких ходов в партии, до начала расчётов. После того, как позиция на доске выходила за рамки первой книги и компьютер начинал расчёт вариантов, подключалась вторая (расширенная) книга, созданная на основе базы данных игр гроссмейстеров. Эта книга, на основании результатов использования рассматриваемой позиции в ранее состоявшихся партиях, вводила некоторую поправку к расчётной оценке позиции. В некоторых случаях, если у одного из возможных ходов поправка была положительной и намного превышала таковую у других ходов, Deep Blue мог сделать ход сразу, без дополнительного перебора.

Общая скорость системы менялась в широких пределах, в зависимости от свойств рассматриваемых позиций. В ходе матча 1997 года общая средняя скорость системы составляла 126 миллионов позиций в секунду. Максимальная установившаяся скорость, наблюдавшаяся в матче, составляла 330 миллионов позиций в секунду. Стоимость Deep Blue составила около 10 млн долларов США.

Матчи против Каспарова

Первый матч Первый матч Deep Blue c Каспаровым состоялся в Филадельфии (США) с 10 по 17 февраля 1996 года. Призовой фонд матча составлял , из которых получал победитель, а проигравший. Матч проводился в Конференц-центре Филадельфии и состоял из 6 партий. Организацией матча занималась АСМ.

Во время матча сам Deep Blue находился в лаборатории IBM в , штат Нью-Йорк. Связь с ним осуществлялась путём удалённого доступа по сети. На случай проблем со связью на месте проведения матча, в Филадельфии, были размещены две резервные машины меньшей мощности. Функции оператора машины исполнял Фэн Сюн Сю. Иногда, если игра продолжалась достаточно долго, его сменяли Мюррей Кэмпбелл и Джозеф Хоэн.