KnigaRead.com/
KnigaRead.com » Компьютеры и Интернет » Базы данных » Охота на электроовец. Большая книга искусственного интеллекта - Марков Сергей Николаевич

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

На нашем сайте KnigaRead.com Вы можете абсолютно бесплатно читать книгу онлайн Марков Сергей Николаевич, "Охота на электроовец. Большая книга искусственного интеллекта" бесплатно, без регистрации.
Перейти на страницу:

В Канаду на чемпионат мира среди шахматных программ 1977 г. Ботвинник отправился не в роли участника, а в роли почётного гостя. Два года спустя он, не теряя оптимизма, писал: «Итак, остался один шаг до практической игры…» [758]

Оставаясь верным выбранному направлению, Ботвинник упорно работал над совершенствованием эвристик. На смену «зонам» пришли «цепочки», у фигур появились «пятнышки», присваиваемые на основе анализа «пучков траекторий», как отдельный элемент анализа появилась Mg* — жертвенная комбинация Греко. На непосвящённого читателя нарратив Ботвинника производил впечатление тягостной алхимии. Нарастало напряжение и внутри команды — после ряда конфликтов в конце 1980-х команду покинули Штильман и Резницкий, после чего проект «Пионер» был закрыт, чтобы затем возродиться с другой командой программистов под названием Chess Computer Sapiens («Разумный шахматный компьютер»). Работа над программой продолжалась до самой смерти Ботвинника в 1995 г. К сожалению, единственным непосредственным продуктом работы Ботвинника и его коллег стали статьи, книги, а также заявления о решении нескольких шахматных этюдов.

Перебравшийся в США Борис Штильман стал сотрудником Университета Колорадо в Денвере (University of Colorado, Denver), где продолжил изыскания в области решения сложных переборных задач, опубликовав компендиум своих идей под названием «Лингвистическая геометрия: от перебора к построению». Штильман постарался обобщить конструктивную часть идей, выработанных в работе над «Пионером», рассматривая возможность декомпозиции поисковой задачи на несколько независимых компонентов. Он пришёл к выводу, что некоторые задачи, подобные этюду Рети [759], могут быть решены при помощи предлагаемого подхода более эффективно, чем при использовании классических подходов.

3.5.7 Прогресс в компьютерных шахматах в конце XX века

Меж тем прогресс в компьютерных шахматах не стоял на месте — в начале 1980-x гг. программы достигли уровня игры профессионалов.

В 1981 г. программа Cray Blitz для суперкомпьютера Cray, созданная Робертом Хайаттом, Гарри Нельсоном и Альбертом Гоуэром, набрала пять из пяти очков в чемпионате штата Миссисипи. В четвёртом туре программа победила бывшего чемпиона штата мастера Джозефа Сентефа, что стало первой в истории победой компьютера над мастером по шахматам в турнирной игре.

Хотя в некоторых источниках Сентеф упоминается как международный мастер, в действительности он имел лишь звание национального мастера [760]. На момент игры с Cray Blitz сила игры Сентефа, по всей видимости, соответствовала 2160–2180 пунктам. Сегодня доктор Сентеф, уважаемый специалист в области медицины, так вспоминает своё поражение: «Не лучший момент моей жизни. Я несколько раз обыгрывал Cray Blitz, но [в этот раз] в цейтноте допустил ошибку. Мне не нравится быть печально известным — и всего по одной игре» [761].

Семь лет спустя предшественник Deep Blue, шахматный компьютер Deep Thought, одержал первую турнирную победу над международным гроссмейстером [762] — роль жертвы была уготована Бенту Ларсену.

Конец 1980-х — начало 1990-х гг. были ознаменованы ростом интереса к шахматным программам в среде профессиональных шахматистов. Машины наконец-то стали интересными соперниками. Впервые в истории людям удалось взглянуть на древнюю игру совершенно новым взглядом — с позиции интеллекта, существенно отличающегося от человеческого. И хотя в отношении игры машин часто звучали обвинения в «чрезмерном материализме», «отсутствии стратегического мышления», шахматисты не переставали удивляться тактическим способностям электронных игроков и их уникальной способности защищать, казалось бы, безнадёжные позиции.

На первый взгляд казалось, что программы конца 1990-х мало чем отличались от программ 1970–1980-х. Когда я впервые в 1999 г. погрузился в чтение исходных кодов программы Crafty — наследницы Cray Blitz, созданной Робертом Хайаттом, — я узнал в ней по сути всё ту же «Каиссу» — по крайней мере тогда я не увидел в алгоритмах никаких революционных нововведений. Конечно, за два десятилетия программы научились весьма эффективно использовать многопроцессорные машины и увеличившиеся объёмы оперативной памяти, некоторые ранние идеи оформились в виде общепринятых методов, но в целом казалось, что развитие теории шахматного программирования забуксовало.

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

Наступившая в 1980-х эра персональных компьютеров принесла с собой многократное удешевление машинного времени и во много раз увеличила число программистов. Это привело к двум важным последствиям. Во-первых, значительный прогресс был достигнут в области совершенствования средств разработки: появились удобные инструменты отладки, новые оптимизирующие компиляторы, общедоступные библиотеки функций — всё это позволило повысить качество программного кода, уменьшить количество рутинного труда при написании программ, облегчить процесс последующей их доработки. Во-вторых, программисты 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, и, оказавшись в стенах университета, предложил проект по созданию новой продвинутой шахматной программы.

Перейти на страницу:
Прокомментировать
Подтвердите что вы не робот:*