Информационные технологии и шахматы
Автор: Вишневский А.Н.
Журнал: Вестник Хабаровской государственной академии экономики и права @vestnik-ael
Рубрика: Проблемы информационных технологий
Статья в выпуске: 1, 2014 года.
Бесплатный доступ
Сегодня и в будущем невозможно обучить специалиста в любой области знаний без информационных технологий. Работа по созданию компьютерных шахматных программ в значительной степени способствовала совершенствованию и развитию информационных технологий.
Короткий адрес: https://sciup.org/14319818
IDR: 14319818
Текст научной статьи Информационные технологии и шахматы
Сегодня и в будущем без информационных технологий невозможно подготовить специалиста ни в одной области знания. Совершенствованию и развитию информационных технологий во многом способствовала работа над созданием компьютерных шахматных программ.
Информационные технологии (ИТ) охватывают все области создания, передачи, хранения и восприятия информации. При этом ИТ, часто ассоциируют именно с компьютерными технологиями, так как появление компьютеров вывело ИТ на новый уровень, как когда-то печат ное дело, а затем, телевидение.
Ежегодно компьютерная техника совершенствуется, позволяет решать всё более сложные задачи.
Студенту, изучающему информационные технологии, очень полезно знать, что огромную роль в создании сложных компьютерных программ оказали попытки написания именно шахматных программ, способных успешно бороться с сильнейшими шахматистами мира.
Что такое шахматы? Спорт, наука, искусство? В шахматах есть черты всего перечисленного выше. Многие рассматривают шахматы как спорт, потому что здесь есть борьба. Это наука, потому что в шахматах есть теория, и изучение этой теории требует научного подхода. Систематизация, анализ, оценка - всё это характерные черты, присущие науке. Это искусство, потому что сама шахматная партия есть продукт творчества двух шахматистов. Во время игры идёт сложная позиционная борьба, создаются красивые многоходовые комбинации.
Как влияют шахматы на человека? Что думают об этом люди, вписавшие своё имя в историю совсем не на шахматном поприще?
«Жизнь подобна шахматам: мы создаем план, но он находится в зависимости от того, что угодно будет сделать партнёру, то есть судьбе» (Артур Шопенгауэр).
«Шахматы - гимнастика ума» (В.И. Ленин).
«Шахматная игра - не просто праздное развлечение. С её помощью можно приобрести или укрепить в себе ряд очень ценных качеств ума, полезных в человеческой жизни, так что они становятся привычками, служащими во всех случаях. Ведь жизнь есть подобие шахматной игры; в жизни мы тоже стремимся что-нибудь выиграть и при этом вступаем в борьбу с соперниками или противниками, в жизни встречается такое огромное разнообразие добрых и дурных событий, являющихся в некоторой мере результатом нашего благоразумия или отсутствия такового» (Бенджамин Франклин).
«Шахматы – это не просто спорт. Они делают человека мудрее и дальновиднее, помогают объективно оценивать сложившуюся ситуацию, просчитывать поступки на несколько ходов вперёд» (В.В. Путин).
В процессе занятия шахматами развиваются память, воображение, логическое мышление, творческое мышление, ответственность.
История развития компьютерных шахмат
Когда компьютеров ещё не было, люди уже задумывались над созданием шахматного автомата. Известна история про «Турка», созданного в XVIII в. для Марии-Терезии, австрийской императрицы. Аппарат играл на удивление хорошо, но, увы, оказался фальшивкой – внутри сидел живой шахматист.
Следующий шаг был сделан после Второй мировой войны, когда один из лучших математиков того времени Алан Тьюринг создал алгоритм для обучения машины игре в шахматы. В 1947 г. он специфицировал первую шахматную программу.
Одновременно с Тьюрингом этой задачей занимался ещё один математик –
Клод Шеннон. В 1949 – 1950 гг. он обозначил главную проблему: с каждым ходом число вариантов продолжений будет расти. Исследователь выделил два способа перебора вариантов: А-стратегия, с перебором всех без исключения вариантов, и B-стратегия, исключающая неподходящие варианты, исходя из шахматного опыта людей. Первый компьютер был спроектирован фон Нейманом для ведения сложных расчётов при создании ядерного оружия. В 1950 г. появился первый образец, способный производить 10000 операций в секунду. Одним из первых экспериментов с аппаратом стало написание шахматной программы .
В СССР разработкой шахматных компьютеров занялись в 1963 г. при участии экс-чемпиона мира М. Ботвинника. До 1980 г. «Каисса» обыгрывала американские варианты, в дальнейшем отставание в развитии вычислительной техники не позволило добиваться новых результатов.
Принципы и алгоритмы компьютерных шахмат
Главная проблема – это слишком большое количество вариантов.
В обычной позиции в среднем существует порядка 40 возможных ходов, и столько же ответных.
Каждая пара полуходов – это 1600 позиций, две пары 1600*1600=2,5 млн позиций, три пары – 4 млрд позиций.
Математики оценивают количество различных шахматных партий величиной 10 в 120 степени – так называемое число Шеннона (для сравнения: число атомов в изученной части Вселенной – 1080). Число различных позиций, возникающих на шахматной доске во время игры, несомненно, меньше, ведь в разных партиях могут возникать одинаковые позиции. Рассчитанное число позиций в шахматах около 1043, включая некоторые невозможные позиции. Условно, с учетом легальности позиций, можно считать их количество приблизительно равным 1040.
Если заложить абсолютно все позиции в базу данных компьютера, то игра шахматной программы станет идеальной из любой позиции и всегда будет приводить к лучшему исходу (если позицию хотя бы в каком-то варианте можно выиграть, программа обязательно найдет этот выигрыш). Однако, чтобы записать все эти позиции на носитель информации, понадобится хранилище данных, физические размеры которого сопоставимы с размером Луны. Поэтому компьютерам остается только возможность делать анализ в ходе партии, рассчитывать ближайшие несколько ходов и оценивать позицию в перспективе. Сколько ходов могли просчитать компьютеры?
Производительность первых моделей составляла лишь 500 позиций в секунду, то есть лишь 1,5 хода, если считать, что время хода – 3 минуты, а это уровень начинающего шахматиста. В 1958 г. ученые Питтсбургского университета придумали «алгоритм альфа-бета», позволяющий исключить большое количество вариантов без ущерба для конечного результата. Стоит отметить, что альфа-бета-поиск и его разновидности составляют ядро и современных шахматных программ. Его суть в следующем: анализируется первый вариант, если второй вариант хуже первого, его не надо считать до конца, так как в любом случае из этих двух вариантов будет выбран первый. В результате работы данного алгоритма требуется просмотреть на порядок меньше позиций, и ЭВМ смогли просчитывать уже 5 – 6 полуходов, самые быстрые даже 7. Компьютеры стали играть сильнее, но все же соревноваться с сильными игроками ещё не удавалось. В разработку эффективных методов перебора внесли большой вклад и советские математики А. Брудно и В. Арлазаров. Известным математиком Александром Брудно, много сделавшим в области шахматного программирования, был разработан специальный алгоритм так называемого ранжирования, позволяющий компьютеру в определённой позиции играть наилучшим образом.
Это был прототип современных баз малофигурных окончаний. Однако в те далекие времена требовались не одни сутки для расчётов 4 – 5 фигурных окончаний. Владимир Арлазаров – один из создателей шахматной «Каиссы», победившей на чемпионате мира среди шахматных программ в 1974 году.
При разработке вышеперечисленных алгоритмов решалась, прежде всего, математическая задача, то есть подход изначально был «компьютерным». Но есть и другой вариант: проанализировать опыт ведущих шахматистов и формализовать принципы игры, которыми пользуется человек. Такой компьютер будет играть быстрее и «по-человечески». Первым за эту задачу взялся Михаил Ботвинник. Он потратил много лет на создание собственного шахматного компьютера, но, к сожалению, не довел работу до конца, оставив лишь массу теоретических материалов.
Суперкомпьютеры
Следующим шагом было создание компьютеров специально для шахмат, позволяющих совершать большое количество операций в секунду. Первый такой компьютер был создан в лаборатории Белл Кеном Томпсоном, он производил 180 000 операций в секунду (обычные компьютеры – лишь 5 000) и просчитывал позицию на 8 – 9 полуходов. Этот компьютер победил на Всемирном шахматном турнире компьютеров и во многих других турнирах в начале 80-х гг., но уступил новому гораздо более мощному Cray X_MPs. Компьютер Томпсона был усовершенствован, но так и не смог победить лидера. Далее появился Chip Test и Deep Thought, способный считать 500 000 операций в секунду. DT сыграл две партии с действующим чемпионом мира Каспаровым и проиграл обе, зато одержал победу над несколькими гроссмейстерами.
Этой разработкой заинтересовались представители IBM, и работа продолжилась: был создан знаменитый Deep Blue, победивший на турнире компьютеров, и выигравший у сильнейшей шахматистки мира – Юдит Полгар. Одновременно проводился блиц-турнир с участием программы «Fritz», поделившей первое место с Каспаровым, и уступившей ему лишь в дополнительном матче.
Насколько глубоко должен считать компьютер, чтобы соревноваться с сильнейшими шахматистами? Нагляднее всего оценить соотношение с уровнем Эло:
– 1 полуход – 200 Эло;
– 4 полухода – 1230 Эло;
– 9 полуходов – 2328 Эло;
– 14 полуходов – 2800 Эло.
Данное разделение глубины расчёта вариантов и силы игры программы достаточно условно, так как важен ещё и алгоритм оценки отдельно взятой позиции.
В 1996 г. состоялся первый матч Deep Blue с Каспаровым, в котором чемпион мира одержал победу со счётом 4:2. Deep Blue – это 6-процессорный суперкомпьютер, способный просчитывать 100 млн позиций в секунду. Через год состоялся матч-реванш с модернизированным 8процессорным Deep Blue, считающим вдвое быстрее. Компьютер впервые победил лучшего шахматиста со счётом 3.5:2.5. В то время компьютер не умел оценивать позицию и строить игру на основании этой оценки. Рост силы игры достигался исключительно за счёт увеличения мощности «железа». Даже алгоритм перебора всё ещё использовал «брутфорс», то есть перебирались все варианты, но очень быстро.
Суперкомпьютер – вещь штучная, рядовому пользователю недоступная. Дальнейшее развитие было связано с улучшением алгоритмов и снижением требований к аппаратной части тем более, что и персональные компьютеры все это время не стояли на месте. В матче с Крамником играл Deep Fritz на двухпроцессорном сервере Compaq ProLiant DL760 на про- цессорах Xeon и RAM 2-16Гб. Такой компьютер, конечно, рядовому пользователю ещё недоступен, но всё же он выпускается серийно. Матч закончился вничью со счётом 4:4. В 2003 г. состоялся ещё один матч Каспарова против компьютера Deep Junior, работавшем на 4процессорной системе с процессорами Pentium IV 1.9 ГГц и 3 Гб оперативной памяти. Junior – первая программа, демонстрирующая «человечную» игру, и способная пойти на жертву ради инициативы. Матч закончился вничью. В следующем матче Каспаров играл на виртуальной трехмерной доске в 3D-очках, делая ходы при помощи голосовых команд. Этот матч также закончился вничью.
Шахматные базы данных
Было бы странно не использовать накопленный людьми опыт. Создание дебютных баз позволило вообще не считать первые 20 – 25 ходов, а пользоваться готовыми наработками. Но и опыт компьютеров также пригодился: начиная с 1980-х гг. Кен Томпсон стал создавать базу 4-х – 5-фигурных эндшпильных окончаний. Теперь компьютеру не надо считать по новой – можно использовать существующие наработки. Эндшпильные базы постоянно дорабатываются и пополняются, в ход пошли уже 6 – 7-фигурные эндшпили.
Соревноваться с компьютером в эндшпиле стало гораздо сложнее, ведь ошибки программа не допустит, сколько бы ходов ни занял розыгрыш, зато ошибкой шахматиста мгновенно воспользуется. Иногда для победы нужно сделать сотню точных ходов, что человеку удаётся край- не редко. Возможна ли ситуация, когда дебютная база соединится с эндшпильной и компьютер будет «начинать и выигрывать»? С увеличением на 1 фигуру количество возможных ходов увеличивается значительно, а значит, требуется гораздо больше времени и ресурсов, и 7-фигурные эндшпили пока ещё только начали просчитывать.
Можно ли победить компьютер при игре в шахматы
Компьютеры стали играть гораздо сильнее, а при игре в быстрые шахматы, где времени на счёт мало, шансов у шахматиста практически не оставалось. Пришло время искать слабые места.
Чем отличается игра компьютера? В первую очередь надежностью. Программа строго следует алгоритму и неспособна на авантюры. Логика игры не соответствует человеческой: например, в одной из партий компьютер предпочел мат в пять ходов с жертвой ладьи взятию ферзя в один ход, хотя большинство шахматистов выбрали бы второй вариант – ведь с лишним ферзем сложно не выиграть. Компьютер опирается на базы, поэтому найденная дебютная новинка или просто нестандартный, пусть и слабый ход – это шанс в борьбе с ним.
В 5 – 6 и частично в 7-фигурном эндшпиле программа заведомо будет играть идеально, без ошибок. А вот при большем количестве фигур возможности живого игрока возрастают.
При переборе позиций на некоторую глубину компьютер их оценивает и в конечном итоге выбирает вариант, в кото- ром получит преимущество. Как производится оценка? По формальным факторам, выраженным в условных пешках. Оценивается непосредственно наличие фигур, их активность, расположение пешек: изолированные, сдвоенные, проходные, отсталые, контроль полей в центре и вблизи короля и т.д. Чем точнее модель оценки позиции, тем лучше программа владеет позиционной игрой, но поскольку модель жестко задана, то имённо здесь компьютер легче всего «подловить» (например, программа неуверенно ведет себя в закрытых позициях). Ну и главное «оружие» человека – это нестандартность мышления. «Антикомпьютерные шахматы» повысили шансы гроссмейстеров в игре с искусственным интеллектом. Но выявление слабостей немедленно привело к работе по их устранению.
Современные шахматные программы
С развитием технологий производительности персональных компьютеров стало хватать для работы программ с высоким рейтингом Эло. Программы стали модульными: отдельно создаются интерфейс, базы данных и движки. Отдельные модули совместимы и используют единый протокол UCI. Базы данных включают в себя дебютную энциклопедию, энд-шпильные окончания, а также все партии, сыгранные на турнирах высокого уровня. Базы регулярно обновляются и доступны для любителей и профессионалов.
Помимо коммерческих программ стали появляться частные разработки. Первым появился движок Ruffian, который сначала потеснил Fritz и Shredder, но но- вые версии «гигантов» оказались сильнее. Следующим «нарушителем спокойствия» стал движок Fruit, игравший с каждой версией всё лучше и лучше. Fritz понадобилось выпустить девятую версию, чтобы на равных вести борьбу с новичком.
А пока «старички» воевали с «новичками», появилась шахматная программа «Рыбка» . Созданная шахматистом с высоким рейтингом, побеждающая всех и вся и с каждой версией подтверждающая своё превосходство. Первая версия «Рыбки» не умела играть эндшпили, но до них и не доходило дело! Впервые программа научилась хорошо вести позиционную игру. Васик Райлих отошел от традиционной оценки позиции, а вместо нее использовал таблицы готовых оценок, полученных в результате анализа большого количества партий. «Рыбка-3» на двухпроцессорном компьютере имеет рейтинг 3 250 Эло, что гораздо выше, чем у действующего чемпиона мира.
Сегодня количество шахматных движков насчитывает несколько сотен имён, причём в списке периодически появляются новые. Регулярно проводятся турниры с целью выявить самый сильный движок. Высокая конкуренция и частый выход новых версий способствует постоянному росту уровня игры.
Перспективы шахматных программ
При игре человека с компьютером есть некая несправедливость: компьютер имеет доступ к множеству баз – дебютных, эндшпильных, партий ведущих игроков. Логично такой доступ дать и шахматисту-человеку. В этом случае борьба искусственного интеллекта с биологическим будет идти в более равных условиях: нестандартность мышления человека против счётных способностей машины. Во многих движках уже реализована возможность игры в шахматы Фишера. В этом случае влияние дебютных наработок также сводится к нулю.
Но человеку не обязательно соперничать с компьютером: память (дебютная, эндшпильная и пр.) и безупречный счёт вариантов машины в симбиозе с позиционным и творческим мышлением человека могут обогатить и усилить игру. Вспомним матч Каспарова с Deep Blue, где «человечная» игра машины вызвала подозрение, что её направлял шахматист.
Создатель «Рыбки» считает, что его программа – это в первую очередь аналитический инструмент для самоподготовки шахматиста. В самом деле, подавляющее большинство серьезных игроков уже используют компьютеры для просчёта дебютных вариантов, анализа сыгранных в сильнейших турнирах партий.
Сотрудничество или мошенничество? В крупных турнирах организаторы контролируют отсутствие компьютерных подсказок, но на менее важных турнирах это не всегда реально, что открывает чи-терам простор для «творчества». Если легализовать использование шахматных программ на турнирах, в партиях, без сомнения, будет намного меньше счётных ошибок, но будет ли интересной такая игра? Такая легализация уже произошла: интересным шагом в плане развития компьютерных шахмат стали турниры по пе- реписке. По сути, это соединение возможностей человеческого интеллекта и математического анализа компьютерной техники. При этом шахматист не должен выполнять функцию оператора ЭВМ, а может активно включаться в анализ вариантов развития партии, помогая компьютеру выбрать лучший.
Казалось бы, если основная схватка происходит между программами, партии будут предопределены и скучны. И действительно, очень много партий по переписке заканчивается вничью. Но не будем забывать, что лишь человек способен играть ярко, рискованно, неожиданно. Пока – лишь человек. А что будет дальше – увидим...
Суть шахмат
Общение с шахматами требует, хотя мы часто этого и не замечаем, большого умственного напряжения. Ввиду того, что шахматы – это явление сложное, переплетающееся с многочисленными областями человеческой жизни, они сами становятся предметом изучения, объектом различных научных исследований. Для точного определения роли шахмат в общественной жизни следует обратиться к истории, философии, социологии, психологии, математике, истории искусств, истории нравов и другим отраслям знания.
Столь обширный диапазон связей шахматной игры с гуманитарными науками и её активная роль в повседневной жизни привели к тому, что шахматы стали частью духовной культуры общества, обогатили её интересными достижениями и ценными качествами. Это метко сформулировал один из выдающихся амери- канских шахматных деятелей А. Бисно: «Шахматы содержат в себе элементы культуры искусства и интеллектуальных достижений всей цивилизации». Ещё полнее выразил эту мысль в 1954 г. советский шахматист Я. Рохлин: «Мы не собираемся утверждать, что шахматы создают ценности прикладного значения, но, подобно любой форме искусства, шахматное творчество создает реальные культурные ценности, которые в своей совокупности вносят известный вклад в сокровищницу мировой культуры. Недаром крупнейшие национальные библиотеки и музеи многих стран бережно хранят произведения шахматного искусства (древние рукописи, печатные издания прошлых веков и другие шахматные материалы), изучение которых может открыть ещё одну грань жизни человека различных эпох. Интересные и ценные шахматные экспонаты хранятся в Грановитой палате Кремля и Государственном Эрмитаже. Не случайно энциклопедические словари, систематизирующие все отрасли человеческого знания, уделяют почетное место шахматам и лучшим шахматистам мира, составляющим гордость культурного человечества. Изучая многовековую историю шахмат, мы видим, как в шахматных произведениях получают реальное отражение характер и уровень творческой мысли человека, различные бытовые и художественные влияния.
В течение многих поколений, начиная с первых письменных сообщений о шахматной игре, делались попытки дать точное определение сущности шахмат. Среди них есть преувеличенные и уродливо раздутые псевдонаучные рассуждения, имеются и многочисленные определения, сделанные как бы мимоходом, при исследовании совсем других проблем, встречаются блестящие мысли о шахматах, высказанные артистами, мыслителями и шахматистами-практиками, публицистами и государственными деятелями.
Есть также попытки создать крупные теоретические труды, часть которых получила большое значение, но в большинстве случаев, к сожалению, не давшие обобщённых определений. Литература о философии шахмат довольно обширна, но, к сожалению, она не дала произведений, достойных внимания, которые в течение длительного времени не потеряли бы актуальности. Шахматы ждут большой «чистки» и наведения порядка в связанных с ними необычайно сложных и интересных научных и творческих проблемах.
Шахматы. Человек. Общество
«Социальный статус шахмат в большинстве развитых стран мира достаточно высок. Мы же отстаём. Если на спортивных достижениях это пока не сильно сказывается (очень велико наследие, доставшееся нам от советской шахматной школы), то в более широком масштабе подобное отставание отражается на интеллекте нации» – это строки из тезисов выступления К.Н. Илюмжинова на заседании ГОССОВЕТА РФ.
В качестве вывода хочется заметить: «Нельзя без шахмат воспитать по – настоящему мыслящего человека» (А. Сухомлинский).