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

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

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

Вот как вспоминал сам Ботвинник состоявшийся между ними диалог: «Цель игры — выигрыш материала. Это хорошо, — сказал Заде. — Но ведь целей и траекторий, по которым можно пробиться к этим целям, превеликое множество! Как же вы собираетесь ограничить информацию об этом?..

Я сказал Заде, что давно уже об этом думаю, даже знаю, как назвать это ограничение — „горизонт“ (Заде одобрил термин), но ещё его не формализовал…» [750]

Охота на электроовец. Большая книга искусственного интеллекта - image124.jpg

Идея траекторий всерьёз увлекла Ботвинника. Вскоре он дал формальное определение «горизонта» (не путать с «эффектом горизонта»!) как предельно допустимого времени (в полуходах), которое дано для взятия неприятельской фигуры. Статья Ботвинника с описанием его идей после долгих споров была опубликована в «Бюллетене Центрального шахматного клуба СССР» в порядке обсуждения [751]. Идеи Ботвинника встретили достаточно жёсткую оппозицию со стороны математиков и программистов. Позже в своих воспоминаниях Михаил Донской назовёт поставленную Ботвинником задачу научить компьютер мыслить как человек безумной и неконструктивной [752]. Градус споров был вполне понятен — речь шла о том, на что следует расходовать машинное время, ценившееся в те годы на вес золота. Недостаточно формализованные идеи Ботвинника вызывали раздражение у большинства программистов: им было понятно, что для того, чтобы превратить идеи Ботвинника в чёткий алгоритм и работающий машинный код, нужно потратить много времени и сил, причём положительный исход этого вовсе не гарантирован.

Впрочем, сам Ботвинник был полон энтузиазма. Вот как вспоминает свою первую встречу с ним будущий двенадцатый чемпион мира по шахматам Анатолий Карпов:

На первом же занятии он как бы между прочим сообщил нам, что начал работать над шахматной программой для ЭВМ, которая через несколько лет начнёт обыгрывать не только мастеров, но и гроссмейстеров, а со временем не оставит шансов и чемпиону мира. Говорил он спокойно, убеждённо и аргументированно. Мы — дети — поняли только одно: мэтр сошёл с дистанции, но вместо себя готовит бездушного шахматного киборга, который расправится со всеми и снова возвысит имя своего создателя. Шокированные, мы на несколько секунд притихли, а мастер, заметив произведённое впечатление, окинул нас сильным, холодным и уверенным взглядом и сказал:

— Не волнуйтесь, ребята! Сама по себе моя машина не заработает. В неё надо вдохнуть жизнь, вложить душу, а сделать это смогут только талантливые шахматисты — программисты. Вот вы и будете первыми [753].

В 1968 г. в издательстве «Наука» вышла книга Ботвинника, название которой — «Алгоритм игры в шахматы» — звучало как ответ критикам, однако, вопреки заголовку, книга не содержала законченного алгоритма шахматной программы. В предисловии к английскому изданию книги её переводчик Артур Браун, научный обозреватель газеты The New York Times, высказался о содержании следующим образом: «Я думаю, что эта книга является фундаментальной [seminal] работой. Как и все начала [seeds], она компактна, безотлагательна [urgent] и загадочна [cryptic]» [754]. Впрочем, в среде математиков и программистов нашлись и те, кто по крайней мере с осторожным энтузиазмом встретил идеи Ботвинника. К ним относились, например, выступивший в роли редактора книги уже знакомый нам Николай Криницкий [755], соавтор Анатолия Китова, а также новосибирский программист Владимир Бутенко, позже создавший собственную шахматную программу «Эврика» [756].

В числе тех, кто проявил интерес к идеям Ботвинника, был также член-корреспондент АН СССР Алексей Ляпунов, один из основоположников кибернетики, который пригласил Ботвинника выступить на семинаре в Новосибирском государственном университете. Вот что пишет об этой истории сам Ботвинник:

Каким образом узнал Алексей Андреевич о моей работе по шахматной программе — не знаю, скорей всего, от нашего общего друга Н. А. Криницкого. После того как в 1968 году вышла книжка «Алгоритм игры в шахматы», Ляпунов прислал письмо, где настаивал, чтобы я сделал доклад на его семинаре.

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

Доклад на семинаре был в сентябре 1969 года.

Дальнейшее развитие идей Ботвинника было связано (во многом под влиянием замечаний Ляпунова, сделанных им на семинаре) с введением понятия зоны игры [757]. Она включала в себя атакующую фигуру (для неё был придуман специальный термин — «комлевая», «комель» — это часть растения, рога, пера или волоса, прилегающая к корню), перемещающуюся по комлевой траектории с целью забрать фигуру-мишень, а также две команды «отрицающих фигур», действующих по «траекториям отрицания» и старающихся соответственно помочь либо помешать комлевой фигуре выполнить её задачу.

Как и в случае со многими другими эвристиками, расставить точки над i при оценке разумности применения эвристики может только вычислительный эксперимент. Конечно, при скрупулёзном анализе эвристик Ботвинника у программиста-практика неизбежно возникнет ряд вопросов. Например: если вариант в усечённом дереве игры заканчивается взятием фигуры-мишени, можем ли мы быть уверены в стабильности терминальной позиции? Что, если за этим взятием следует ответное взятие фигуры или даже хуже — мат? Как быть, если комлевая фигура в процессе перемещения по своей траектории перестала, например, защищать другую фигуру, будет ли взятие этой фигуры противником включено в зону игры? Работы Ботвинника не содержат ответов на эти вопросы, как и на многие другие. Но, быть может, при попытке практической реализации подхода Ботвинника можно было найти на все эти вопросы вполне разумные ответы?

В январе 1972 г. академик Аксель Берг помог с открытием научной темы по работе над программой во ВНИИЭ (Всесоюзный научно-исследовательский институт электроэнергетики), где Ботвинник руководил одной из лабораторий. Вопрос с выделением машинного времени был решён, вскоре нашлись и программисты. Ими стали Борис Штильман и Александр Юдин, позже к команде подключились также Михаил Цфасман и Александр Резницкий.

В работе над программой сразу же возник целый ряд трудностей, и набор эвристик стал быстро разрастаться. В то время как Юдин был занят созданием библиотек дебютов и эндшпилей, Штильман пытался воплотить в жизнь идеи Ботвинника о траекториях и зоне игры.

В 1976 г., зная о работе группы Ботвинника, организаторы II чемпионата мира среди шахматных программ прислали ему приглашение, при составлении ответа на которое родилось название программы — «Пионер», предложенное Штильманом (сам Ботвинник предлагал назвать программу «Человек»).

Однако путь к созданию полноценной шахматной программы, основанной на радикальных идеях, был долгим и тернистым. В качестве промежуточной цели Ботвинник хотел добиться того, чтобы программа была способна решать шахматные этюды, и даже отчитался о некоторых успехах в этой области. Например, «Пионер», по заявлению Ботвинника, мог решить сложный шахматный этюд авторства Гии Надареишвили. Описание того, каким образом было получено решение, вышедшее из-под пера Михаила Моисеевича, внушало сторонним наблюдателям ужас: «Штильман действовал решительно. Как аэронавт, он стал сбрасывать „балласт“, то есть выключать подпрограммы, не имеющие прямого отношения к этому этюду. Правда, Боря немного увлёкся, он отключал и нужные подпрограммы, так что полного авторского решения получить не удалось. Из-за неведомой технической ошибки никак не удавалось закончить одно поддерево (правда, когда я сообщил Г. Надареишвили об этом казусе, он очень удивился: оказывается, ПИОНЕР формировал важное поддерево, о наличии которого не подозревал сам автор!), и я дал указание запретить ПИОНЕРу его анализировать. Пришлось вновь вводить паллиативные правила, заменявшие отсутствующую позиционную оценку, и в итоге, когда уже и не надеялись на благополучное окончание эксперимента, произошло чудо».

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