1974 год положил начало новому, более серьезному этапу в развитии шахматного программирования
Владимир Арлазаров: «В нашей команде разработчиков программы-чемпиона большинство даже не имели шахматного разряда» |
Научить компьютер играть в шахматы — одна из самых интересных задач в сфере искусственного интеллекта. Она была поставлена уже на заре вычислительной техники, в конце 50-х годов. В шахматах существуют определенные уровни мастерства, степени качества игры, которые могут дать четкие критерии интеллектуального роста машины. Поэтому компьютерными шахматами активно занимались ученые умы во всем мире. Но шахматы — игра, соревнование, и чтобы продемонстрировать свои логические способности, компьютеру необходим непосредственный противник. В 1974 году впервые прошел чемпионат мира по шахматам не между людьми, а между компьютерными программами. Победителем этого состязания стала советская шахматная программа «Каисса».
«Каисса» (была такая богиня, покровительница шахмат) создавалась в Москве, в Институте проблем управления Академии наук. Возможностями ЭВМ играть в шахматы здесь всерьез заинтересовались еще в середине 60-х, и уже в 1967 году одна из разработанных нашими программистами систем играла с американской шахматной программой. В начале 70-х в мире накопилось такое количество шахматных разработок, что встал вопрос о создании ассоциации шахматного программирования. Такая ассоциация была образована при поддержке крупнейшей международной организации по информатике International Federation of Information Processing (IFIP). А первый чемпионат мира среди шахматных программ в 1974 году прошел в рамках очередного конгресса IFIP (такие конгрессы собирались раз в три года) в Стокгольме.
Надо помнить габариты тогдашних ЭВМ, на которых работали программы-участники. «Каисса», например, разрабатывалась на машине фирмы ICL, занимавшей в институте зал площадью примерно в 150 кв. метров. Размеры остальных претендентов, как правило, были не менее внушительны. Поэтому разместить непосредственно в Стокгольме удалось только две-три машины, а остальные участники чемпионата общались между собой по телефону (мы имеем в виду, конечно, разработчиков, а не компьютеры). В зале, где происходил конгресс, находились представители команд каждой страны, а к тем ЭВМ, на которых выполнялись шахматные программы, IFIP отправила своих наблюдателей. Они должны были лично удостовериться в том, что играет действительно машина.
Владимир Львович Арлазаров, один из основных разработчиков «Каиссы», рассказывает, что в течение четырех дней 16 участников чемпионата играли друг с другом по швейцарской системе. Каждая команда участвовала в четырех партиях, и победителем становилась программа, набравшая наибольшее число очков.
Победа советской шахматной программы была неожиданной. Все прочили лавры чемпиона американской разработке Chess 4, которую, как это умеют делать американцы, широко разрекламировали в преддверии первого мирового состязания. Создатели «Каиссы» не готовили программу специально к чемпионату. Как мы уже отмечали, шахматное программирование представлялось одной из наиболее интересных задач искусственного интеллекта, на которой лучше всего проверялись методы перебора. Как отмечает Владимир Арлазаров, сейчас ни одна шахматная программа не обходится без использования этих методов, но в те годы у такого «переборного» пути шахматного программирования было немало оппонентов. Разработчики «Каиссы» ставили перед собой сложную задачу — добиться результата как при очень глубоком переборе, но при этом суметь уложиться в конечное время. Победа на чемпионате по компьютерным шахматам свидетельствовала, что эту задачу удалось с успехом решить.
Можно было бы предположить, что шахматную программу должны писать никак не меньше чем кандидаты в мастера. Однако это было не так. В команде разработчиков программы-чемпиона, лидерами которой были Владимир Арлазаров, Михаил Донской и Георгий Адельсон-Вельский, большинство даже не имели разряда. В сочетании «шахматное программирование» на первом месте стоит именно программирование, и для создания эффективной шахматной программы нужны были классные профессионалы в этом деле. А у крупных шахматистов компьютерные шахматы, как правило, не вызывали большого интереса. Это была прежде всего научная задача, а чемпионат мира — научное мероприятие, на котором шло не только соревнование, но и интенсивный обмен идеями. Это потом, в 80-е, особенно с появлением персональной вычислительной техники, создание шахматных программ стало занятием сугубо коммерческим, а в научной сфере интерес к ней постепенно угасал. Коммерция была несовместима со свободным обменом научной информацией.
Надо отметить, что к 1974 году уровень ЭВМ как шахматных игроков был не очень высок.
Машина, победившая на первом компьютерном чемпионате, оценивалась как шахматист третьего разряда. Фактически это первый серьезный уровень, соответствующий игре нормального шахматиста, а не просто человека, знающего, как ходят фигуры. Успех программы в некоторой степени определялся и мощностью вычислительной машины. Участники чемпионата были вольны выбирать, на какой технике они представят свою шахматную разработку, потому оказывались не совсем в равных условиях. Однако накладывать какие-либо ограничения было невозможно — участие в чемпионате поддерживалось теми фирмами и организациями, в которых использовалась машина, либо теми, которые сами производили машины, и для них это была, конечно, прекрасная возможность прорекламировать свои разработки.
Наша команда должна была довольствоваться тем, что имела. И понимая, что делают программу не на самой мощной машине, разработчики стремились компенсировать отставание в быстродействии предельно тщательным подходом к программированию. Именно поэтому был выбран язык Ассемблер.
Конечно, победа «Каиссы» на мировом чемпионате по компьютерным шахматам не могла пройти незамеченной. В стране это событие было воспринято прежде всего как большой успех советской науки. О программе-чемпионе сразу заговорили, появились публикации в центральной прессе. Сам первый чемпионат получил большой резонанс в мире. Он наглядно продемонстрировал всем, что вычислительные машины могут самостоятельно решать такие сложные логические задачи, как игра в шахматы. Проигрыш русским подстегнул американцев, и после 1974 года в исследования по шахматному программированию стали делаться очень серьезные финансовые вложения. Фактически 1974 год положил начало новому, более серьезному этапу в развитии шахматного программирования. До середины 80-х чемпионаты мира по шахматам между вычислительными машинами проходили с той же регулярностью, что и конгрессы IFIP. Мы продолжали принимать в них участие, но с ростом коммерциализации компьютерных шахмат эта задача потеряла для наших разработчиков научный интерес. Кроме того, отставание советской вычислительной техники от западной, где уже появлялись специализированные шахматные машины, росло с угрожающей скоростью, и мы в конце концов потеряли возможность соревноваться на равных.