litbaza книги онлайнРазная литератураОхота на электроовец. Большая книга искусственного интеллекта - Сергей Сергеевич Марков

Шрифт:

-
+

Интервал:

-
+

Закладка:

Сделать
1 ... 86 87 88 89 90 91 92 93 94 ... 482
Перейти на страницу:
труда при написании программ, облегчить процесс последующей их доработки. Во-вторых, программисты 1990-х уже могли себе позволить принятие решений на основе статистически значимых экспериментов. Добавив в программу новую эвристику или изменив значения того или иного параметра, программисты уже могли позволить себе тестовый турнир, в котором новая версия программы могла сыграть несколько сотен или даже тысяч партий. Этого было всё ещё недостаточно в ряде случаев, но по крайней мере позволяло избежать грубых ошибок.

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

Одновременно с развитием программ продолжалось совершенствование микропроцессорной техники. Закономерным продуктом симбиоза программных и аппаратных технологий 1990-х стал амбициозный проект компании IBM — шахматный суперкомпьютер Deep Blue.

История Deep Blue началась в 1985 г. с конфликта, возникшего между Хансом Берлинером и строптивым аспирантом по имени Фэнсюн Сюй по прозвищу Си-Би (англ. CB, сокращение от Crazy Bird — сумасшедшая птица)[763]. Казалось бы, что за пустяк? У кого только не было проблем с Берлинером? Даже президент Кеннеди пострадал от него: в своей знаменитой речи 26 июня 1963 г. он, произнеся по-немецки фразу «Я — берлинец» [Ich bin ein Berliner], якобы вставил в неё ненужный в данном случае артикль ein, тем самым превратив её в заявление «Я — берлинский пончик». Жаль, что это всего лишь городская легенда. А деятельного Ханса Берлинера уж точно никто не назвал бы пончиком. Этот человек сделал для компьютерных шахмат очень много.

Берлинер родился в 1929 г. в Берлине в еврейской семье. После прихода Гитлера к власти семья была вынуждена бежать из страны и переселиться в Вашингтон (Федеральный округ Колумбия, США). Проявивший незаурядный талант к шахматам, Ханс в 20 лет стал чемпионом округа, а спустя три года выиграл в чемпионате штата Нью-Йорк. В 1965 г. Берлинер победил в V Всемирном чемпионате по шахматам по переписке. В 1974 г. Ханс защитил диссертацию по информатике в Университете Карнеги — Меллона под руководством Аллена Ньюэлла (одного из создателей шахматной программы NSS). Диссертация была посвящена шахматному программированию и озаглавлена «Шахматы как решение проблем: разработка тактического анализатора».

Главным шахматным детищем Берлинера была программа HiTech[764]. Берлинер занимался шахматным программированием с начала 1960-х гг., когда работал в IBM, и, оказавшись в стенах университета, предложил проект по созданию новой продвинутой шахматной программы.

Первая версия программы демонстрировала неплохой уровень игры, однако испытывала трудности в момент перехода игры из одной стадии в другую (например, из миттельшпиля[765] в эндшпиль[766]). Это привело Берлинера к выводу, что слабость HiTech заключалась в недостаточной гладкости оценочной функции. Например, в миттельшпиле плохо защищённый король в центре доски — существенная слабость позиции, в то время как в эндшпиле централизованный король обычно является преимуществом. Но где проходит граница между миттельшпилем и эндшпилем? Программа, играющая за сторону, король которой хорошо защищён, в отличие от короля противника, будет стараться максимально оттянуть размен фигур, формально определяющий переход в эндшпиль, и тем самым может критически ухудшить свою позицию. Это было похоже на уже упоминавшийся нами «эффект горизонта» (этот термин, кстати говоря, ввёл Берлинер).

Берлинер уже применял идею повышения гладкости оценочной функции при создании программы для другой игры — нардов. Коэффициент ветвления игрового дерева в нардах существенно выше, чем в шахматах: в каждом из его узлов существует порядка восьми сотен альтернатив[767], причём многие из них равнозначны, так как связаны с различными равновероятными вариантами выпадения игральных костей. При таком обилии вариантов их перебор не может заметно улучшить качество выбора ходов программой, поэтому наличие эффективной оценочной функции является одним из ключевых факторов успеха. Программа для игры в нарды, созданная Берлинером в конце 1970-х, предназначалась для компьютера DEC PDP-10 и получила название BKG. Ранние версии BKG (вплоть до 8.0) играли в целом довольно неплохо, но всё же не могли соперничать с сильнейшими игроками-людьми. В очередной версии Берлинер решил применить новый подход, использующий нечёткую логику для определения фаз игры. Этот подход получил название SNAC (Smoothness, Nonlinearity, and Application Coefficients — «Гладкость, нелинейность и коэффициенты применения»). Использование этого подхода усилило программу в достаточной мере, чтобы Берлинер смог бросить перчатку действующему чемпиону мира по нардам Луиджи Вилле.

Рис. 72. Ханс Берлинер (на переднем плане) и Карл Эбелинг, разработчики программы HiTech, 1985 г.

В состоявшемся в 1979 г. матче BKG 9.8 выиграла у Виллы со счётом 7 : 1, став первой компьютерной программой, победившей чемпиона мира в какой-либо игре. Впрочем, Берлинер позже утверждал, что победа была в значительной степени обусловлена случаем, поскольку машине больше везло с выпадениями костей. По крайней мере, более поздний анализ показал, что игра Виллы была практически безупречной, в то время как программа в ряде случаев допускала ошибки (которыми Вилле не посчастливилось воспользоваться)[768].

В середине 1980-х Берлинер пребывал в расцвете своего творческого периода. В конце 1985 г. его программа HiTech заняла первое место на Шестнадцатом Северо-Американском чемпионате по шахматам среди компьютерных программ, в 1986 г. победила со счётом 2 : 0 международного гроссмейстера по шахматам среди женщин Яну Майлс, а двумя годами позже одержала победу в товарищеском матче со счётом 3,5 : 0,5 над 74-летним гроссмейстером Арнольдом Денкером.

Так какие проблемы могли возникнуть у всемирно известного специалиста с простым тайваньским аспирантом?..

В начале 1985 г. профессор Кунг, куратор (faculty advisor) Фэнсюна Сюя, попросил юношу помочь Берлинеру с одной из технических проблем. Обсуждаемое решение не нравилось ни Берлинеру, ни самому Сюю, который после некоторых раздумий пришёл к выводу, что корень проблемы кроется в самом подходе Берлинера. Фэнсюн предложил радикально новую конструкцию, основанную отчасти на идеях конкурентов мэтра, однако последний отверг подобную новацию. В ответ Фэнсюн Сюй в недипломатичной форме раскритиковал подход Берлинера и заявил, что утратил интерес к проекту. Мудрый Кунг постарался вразумить юношу, объяснив, что ему следовало бы проявить побольше такта. С учётом предшествующих проступков академическая карьера Фэнсюна Сюя была под угрозой, и Кунг настоял на том, чтобы Сюй подготовил детальное обоснование своей идеи в виде технического отчёта и устроил по нему презентацию. Так Фэнсюн Сюй очутился в дивном новом мире компьютерных шахмат[769].

3.5.8 Появление и развитие проекта Фэнсюна Сюя

Несмотря на исключительный авторитет Берлинера в области компьютерных шахмат, Фэнсюн Сюй осмелился вступить в спор с мэтром, и с этого момента

1 ... 86 87 88 89 90 91 92 93 94 ... 482
Перейти на страницу:

Комментарии
Минимальная длина комментария - 20 знаков. Уважайте себя и других!
Комментариев еще нет. Хотите быть первым?