Программы сегодня знают гораздо больше, чем четыре года назад. Однако программирование «интеллекутальности» становится все сложнее и сложнее
Diep начала разрабатываться в 1994 году. В 2003 году она заняла пятое место на чемпионате мира среди компьютеров, играя на 512 процессорах SGI Origin3800, а в 2004-м стала уже третьей. Главный разработчик новой версии Diep3d, Винсент Дипэвен, возглавляет группу из нескольких разработчиков. Они не имеют постоянного источника финансирования, все держится на энтузиазме. Сам Дипэвен называет новую версию еще не устоявшейся, полагая, что из-за неустраненных ошибок программа потеряла очки в чемпионате 2004 года.
Дипэвен — квалифицированный специалист в области распараллеливания и аппаратных средств многопроцессорных вычислительных систем. Он изучал компьютерные науки в Дании, в Университете Утрехта. Мастер спорта ФИДЕ по шахматам. В 19 лет стал чемпионом Дании по быстрым шахматам среди лиц не старше 20 лет.
Шахматные программы совершенствуются, а процессоры становятся все мощнее, и это продолжится, если закон Мура будет действовать. А человек будущего вряд ли научится играть гораздо сильнее Каспарова. Если учесть, что все крупные поединки с человеком компьютеры как минимум не проигрывают, то не означает ли это, что машины в этой области человека уже победили?
По моим оценкам, если закон Мура останется в силе, к 2066 году шахматные программы смогут осуществлять поиск на любую мыслимо необходимую глубину и играть практически идеально.
Что касается современных игр человека с компьютером, то они не очень хорошо отражают реальную расстановку сил. Компании—разработчики программ могут зарабатывать миллионы, только побеждая человека. Так, в матче с программой Fritz Крамник начал просто крушить ее. Когда стало ясно, что Крамник выигрывает, внезапно в Internet появились сотни сообщений, что матч скучен. Да, Крамник — скучный игрок (Дипэвен имеет в виду, что Крамник играет в позиционном, «неинтересном», а не атакующем стиле. — М.К.), но в то время он был лучшим в мире, сильнее Каспарова. Внезапно Крамник стал играть, допуская ошибки уровня начинающего шахматиста, и матч закончился вничью.
А как насчет матча Каспарова с Deep Blue в 1997 году?
Шахматные программы прогрессируют год от года. Я уверен, что, будучи где-то на трехтысячном месте в мире по силе игры (среди людей), легко одолел бы Deep Blue. Реальность такова, что по-прежнему есть много гроссмейстеров, которые могут сокрушить машину, если им за это будут платить.
Когда компьютер будет сильнее человека, точно сказать нельзя, но в этом нет сомнений. Я чувствую, что компьютеры входят в мир гроссмейстеров из top 100 — при игре с контролем времени два часа на 40 ходов, затем еще по часу на 20 ходов и по полчаса до конца партии. При более коротком контроле машины сильнее. А ведь top 100 — это где-то на 200 единиц рейтинга ниже, чем у Каспарова. Это означает, что Каспаров выиграл бы матч, но отдельную партию может и проиграть.
Неясно, когда компьютер будет сильнее человека в дебюте. Если кто-то из ведущих гроссмейстеров получит очень хорошую позицию в дебюте, он выиграет партию. В середине игры и даже в окончании (раньше окончания были слабым местом шахматных программ) компьютеры уже играют не хуже ведущих шахматистов мира.
А есть ли еще слабые места у программ?
Программы ошибаются в каждой игре, иногда делают стратегически очень слабые ходы, а это может привести к поражению. В тактике компьютеры очень сильны, они могут делать ходы на уровне шахматиста с рейтингом 2800 (примерно уровень Каспарова. — М.К.).
Как вы считаете, каким будет главный путь развития шахматных программ в будущем — метод «грубой силы» (за счет высокой производительности компьютера, на основе перебора с утонченными эвристическими алгоритмами для отсечения ненужных ветвей) или более интеллектуальный подход, с умением оценивать позицию, в чем-то напоминающем мышление шахматиста?
Я считаю, что правильный путь — интеллектуальный, максимальное использование в программах шахматных знаний. Diep в этом отношении лучше всех других программ, в ней я пробую воспроизвести человеческое понимание позиции. Программы сегодня знают гораздо больше, чем четыре года назад. Однако программирование «интеллекутальности» становится все сложнее и сложнее.
И еще важно использование общей таблицы хеширования, что требует применения парадигмы общей памяти и низких задержек межсоединения. Программы, которые этого не делают, вынуждены ограничивать глубину перебора. К примеру, довольно сильная программа Hydra отличается остро атакующим стилем игры: умение хорошо оценить позицию требует большей интеллектуальности.
Она как раз работает на кластере. Для демонстрации масштабируемости ее авторы сравнивают одну плату FPGA без использования таблицы хеширования в последних шести полуходах (это дает гигантские потери качества игры) с N платами при том же ограничении применения таблицы хеширования. Такая оценка масштабирования программы — плохая характеристика реальной силы игры. А сама аппаратура кластера, применяемого с программой Hydra, по сути, для поиска хода неэффективна, а потому глобальных перспектив у подхода, используемого разработчиками этой программы, нет. Лучше применять несколько процессоров с общим полем памяти и общей таблицей хеширования.
Известно ли вам о шахматной программе «Пионер», которую разрабатывали в СССР под руководством знаменитого Михаила Ботвинника? Она должна была отличаться, по замыслу разработчиков, высоким «интеллектом».
Да, в 70-х годах она наделала много шума. Действительно, почему такая сильная шахматная нация, как Россия, создала так мало сильных шахматных программ? Я помню, например, Centaur, которая в 1997 году была не так плоха. Все русские, которых я знаю, кто написал несколько байтов кодов шахматных программ, теперь имеют прекрасную работу в США.