Перейти к содержанию

3.5.5 Первые матчи шахматных программ и история Каиссы

Материал из Охота на электроовец: Большая Книга Искусственного Интеллекта

И всё-таки самым известным советским проектом в области компьютерных шахмат стала программа, созданная другим творческим коллективом. В начале 1960-х гг. одна из машин М-20 оказалась в распоряжении Института теоретической и экспериментальной физики (ИТЭФ). Математическим отделом института руководил в то время Александр Кронрод — ученик знаменитого академика Лузина. Участник боёв под Москвой в 1941 г., Кронрод получил на фронте два ранения и за проявленную храбрость был награждён орденом Красной Звезды. Вернувшись с фронта, Александр Семёнович продолжил своё обучение на механико-математическом факультете МГУ, где под руководством Лузина создал теорию функций двух переменных. Эта работа легла в основу его кандидатской диссертации, блестяще защищённой в 1949 г. По итогам защиты Кронроду присуждена степень доктора физико-математических наук, минуя степень кандидата. Официальными оппонентами Кронрода на защите были академики Мстислав Келдыш и Андрей Колмогоров, а также профессор Дмитрий Меньшов.

Отдел Кронрода в ИТЭФ был занят численным решением физических задач, связанных с созданием атомного оружия. Атомная тематика в некотором смысле роднила советских и американских кибернетиков, хотя их работа и заключалась в создании оружия, способного принести друг другу неумолимую ядерную смерть. К счастью, выяснение отношений произошло в итоге за шахматной доской.

Карьера Кронрода в области вычислительной математики началась в 1945 г., когда он, будучи студентом четвёртого курса, устроился на работу в вычислительный отдел Лаборатории № 2 АН СССР (сейчас — Национальный исследовательский центр «Курчатовский институт»). Кронрод был женат, в 1943 г. у него родился сын, и молодая семья нуждалась в жилье и дополнительных источниках дохода. По воспоминаниям коллег, Кронрод ничего не делал спустя рукава, поэтому занялся вычислительной математикой всерьёз и вскоре обнаружил, что это весьма интересная область‚ во многом отличная от чистой математики.

Арсенал вычислительной техники, доступный советским учёным во второй половине 1940-х гг., включал в себя электрические арифмометры, табуляторы и механизмы для сортировки перфокарт. Вскоре Кронрод познакомился с талантливым инженером Николаем Бессоновым, который из нескольких табуляторов и сконструированного им релейного умножающего устройства создал своеобразный «комбайн», способный решать более сложные вычислительные задачи. Успех этого проекта натолкнул Бессонова и Кронрода на мысль о создании универсальной цифровой вычислительной машины с программным управлением. Проект такой релейной вычислительной машины (РВМ-1) был принят к производству. В конструкцию машины были заложены оригинальные и весьма передовые идеи, например каскадный метод для осуществления параллельных расчётов. При этом важно учитывать, что Бессонов и Кронрод ничего не знали ни о работах Эйкена, ни о работах Цузе: первые западные публикации о вычислительных машинах стали известны в СССР только в конце 1940-х гг. Если бы РВМ-1 была построена в сжатые сроки, то, вероятно, могла бы соревноваться в скорости вычислений с первыми электронными машинами или даже превзойти их.

В 1949 г. Курчатов и Ландау порекомендовали Кронрода Алиханову, руководившему в тот момент созданием нового атомного института (позже получившего название ИТЭФ). Получив от последнего предложение возглавить математический отдел, Кронрод принял его и, перейдя во вновь сформированное учреждение, привёл с собой и Бессонова. Здесь они начали работы по постройке РВМ, которые, однако, продвигались мучительно медленно.

Существует мнение, что одной из главных причин медленного прогресса было недостаточно серьёзное отношение к проекту, вызванное его сравнительной дешевизной. Более умудрённые в управленческой магии коллеги советовали Кронроду ускорить производство, выполнив, например, контакты из золота: это не сильно улучшило бы качество машины, но сделало бы её дороже, что в итоге могло изменить отношение к ней. Однако Кронрод со смехом отвергал подобные советы. В результате, когда РВМ была построена, на сцену уже вышли электронные машины, и хотя РВМ и была способна состязаться с первыми из них, но у неё, конечно, уже не было будущего.

Кронрод был не из тех людей, которые рефлекторно цепляются за отжившие, пусть и дорогие лично им, идеи. Он быстро оценил преимущество электронных элементов перед релейными и активно включился в обсуждение конструкций первых ЭВМ. И всё же РВМ глубоко в душе осталась любимым его детищем — когда её демонтировали, на глазах Кронрода были слёзы[1]. Впрочем, век РВМ был не таким уж коротким — полностью завершённая в 1957 г. машина оставалась в строю до 1965-го. Благодаря исключительной надёжности машина оказалась весьма полезной для решения экономических задач, требовавших обработки больших массивов информации. В частности, именно на РВМ-1 выполнялись в 1961–1962 гг. расчёты цен по новой системе ценообразования[2].

За работы по численному решению физических задач, выполненные в 1950–1955 гг., Кронрод был удостоен Сталинской премии и награждён орденом Трудового Красного Знамени.

В 1955 г. отдел Кронрода получил в своё распоряжение первую ЭВМ, которой стала машина М-2, сконструированная коллективом под руководством Исаака Брука. Первые опыты с М-2 привели Кронрода к мысли, что вычислительные задачи — это не главное, для чего может быть употреблена ЭВМ. Главное — научить машину думать, решать творческие задачи. С этого момента одним из главных увлечений Кронрода становится область, получившая название «эвристического программирования». Вокруг Кронрода быстро формируется кружок учеников и единомышленников из числа математиков и физиков. В комнате, соседней с той, в которой стояла машина М-2, начал работать «кружок Кронрода». Здесь обсуждались методы распознавания образов‚ транспортная задача, задачи теории автоматов и многие другие. Кронрод предложил выбрать эталонную задачу‚ продвижение в решении которой позволяло бы сделать выводы о прогрессе, достигнутом в области эвристического программирования. Первой такой задачей стала карточная игра в подкидного дурака. Несмотря на кажущуюся несерьёзность, это — сложная игра, не имевшая разработанной теории и в то же время допускающая простое описание позиции, что было крайне важным в условиях дефицита памяти и вычислительной мощности машины. В процессе создания программы авторы выработали ряд общих принципов создания игровых систем ИИ.

И всё же программа для игры в подкидного дурака была слишком локальным явлением. Кронрод предложил использовать другую игру — шахматы, которые пользовались всемирной популярностью[3]. Но для реализации такого амбициозного для того времени проекта мощностей М-2 было явно недостаточно. Поэтому проект стартовал только вслед за появлением в ИТЭФ новой машины — М-20. Созданием шахматной программы занялись Владимир Арлазаров, Георгий Адельсон-Вельский, Александр Животовский и Анатолий Усков.

В 1965 г. в порядке международного обмена группа западных учёных посетила СССР. В составе весьма представительной делегации был и автор термина «искусственный интеллект» Джон Маккарти. Визит начался с участия в III Всесоюзном совещании по автоматическому управлению (технической кибернетике), которое было открыто 20 сентября в Одессе и продолжилось на борту парохода «Адмирал Нахимов»[4]. Затем был организован тур по советским научно-исследовательским институтам. Делегация посетила Киев, где состоялась встреча с академиком Глушковым и профессором Ивахненко, а также с директором Киевского института автоматики Борисом Тимофеевым. Также состоялись поездки в Тбилиси, где западных гостей встречал директор Института систем управления Академии наук Грузинской ССР Арчил Элиашвили. Грузинские учёные продемонстрировали зарубежным коллегам экспериментальную систему, способную распознавать произносимые вслух цифры, а также робота с голосовым управлением. Затем последовали визиты в Баку, Минск, Ленинград и Москву[5].

В Москве Джона Маккарти встретил его старый знакомый — академик Андрей Ершов. Ершов и Маккарти познакомились в декабре 1958 г. в Теддингтоне (Великобритания) на конференции по автоматизации мыслительных процессов. Вместе с Ершовым Маккарти отправился в Новосибирск, в Академгородок (Ершову стоило больших трудов согласовать этот визит), откуда через Москву вернулся домой[6]. О тёплых отношениях, сложившихся в ходе этой поездки между Ершовым и Маккарти, свидетельствует их переписка. Например, Маккарти пересылает Ершову слова одной из песен Боба Дилана, а сам просит Ершова прислать ему запись песни «Шла машина из Тамбова»[7]. Спустя три года Маккарти повторно посетит Академгородок, где проведёт два месяца в качестве сотрудника Вычислительного центра, прочитав курс по верификации программ в Новосибирском государственном университете[8].

За время поездки Маккарти познакомился с Кронродом и узнал о советских усилиях в области шахматного программирования, тогда же и родилась идея об организации первого международного матча: программа ИТЭФ против детища Маккарти.

Позже Маккарти вспоминал крылатую фразу Кронрода: «Шахматы — это дрозофила искусственного интеллекта». Рассуждая об этой фразе, он заметил, что, с одной стороны, шахматы совершенно очевидно не являются «дрозофилой» для всех областей ИИ, но, с другой стороны, и дрозофила не является «дрозофилой» для всех исследований в области генетики[9].

Матч между советской и американской шахматными программами начался в ноябре 1966-го и продлился около года: четыре партии игрались одновременно, а ходы программ передавались по телеграфу. Программа ИТЭФ одержала победу в матче со счётом 3 : 1 (две победы и две ничьих).

По оценкам гроссмейстеров Бронштейна и Таля, программа ИТЭФ играла в силу третьего шахматного разряда[10].

До наших дней сохранился интереснейший документ — исходный код шахматной программы ИТЭФ для машины М-20[11]: 121 страница бланков, заполненных машинными кодами, снабжёнными загадочными комментариями типа «Таня не журись», «шлёп», «дребедень», «пуп» и даже «ухуду пешки», в полной мере даёт представление о секретных техниках советских программистов 1960-х. На самом деле за этими словами нередко скрывались аббревиатуры названий соответствующих подпрограмм. Например, УХУДУ — подпрограмма упорядочения ходов, удовлетворяющих данному условию, ПУП — подпрограмма переупорядочения ходов[12], [13].

Команда Кронрода придерживалась подхода, который получил название «программирование в содержательных обозначениях». Этот метод, предложенный в 1953 г. Александром Брудно, предполагал использование для написания программ специальных бланков, в правой части которых записывались машинные коды, а в левой — соответствующие им команды в содержательной, удобной для чтения человеком форме[14]. Естественными противниками этого подхода были сторонники языков высокого уровня, таких как алгол, к числу которых относились уже знакомые нам академик Ершов, Владимир Курочкин (между прочим, автор знаменитой реализации Алгол-60 для машин БЭСМ, получившей прозвище «Алгол Курочкина»), а также Константин Семендяев, соавтор «Справочника по математике для инженеров и учащихся втузов», в народе называвшегося не иначе как «Бронштейн — Семендяев».

В 1960-е между сторонниками обоих лагерей разразилось эпическое сражение, выплеснувшееся на страницы периодических изданий в виде ряда писем, рецензий и статей[15]. Сторонники «программирования в содержательных обозначениях» настаивали на неэффективности кода, производимого компиляторами алгола, неудобстве отладки (важно понимать, что в 1960-е отладка программ, написанных на алголе, всё равно происходила в машинных кодах) и на том, что экономия, достигаемая за счёт автоматизации перевода программы из человеко-читаемой формы в машинный код, является эфемерной. Гораздо проще нанять кодировщиц, месячная заработная плата которых сопоставима с себестоимостью часа работы машины, которые будут переводить в машинный код «содержательные обозначения»[16]. В конечном счёте победа досталась сторонникам языков высокого уровня, хотя программирование в машинных кодах иногда применяется и в наши дни там, где важно добиться максимальной производительности программ. В частности, современные шахматные программы нередко содержат вставки на языке ассемблера[17] или напрямую в машинных кодах.

К сожалению, в развитие шахматного проекта ИТЭФ вмешалась политика, и в этот раз, увы, вовсе не в позитивном ключе. В 1968 г. Кронрод стал одним из подписантов «Письма девяноста девяти» — коллективного открытого письма советских математиков в защиту своего коллеги Александра Есенина-Вольпина, принудительно помещённого в психиатрическую больницу в связи с его диссидентской деятельностью. Вероятно, это и стало причиной увольнения Кронрода и ряда его коллег из ИТЭФ. Адельсон-Вельский, Арлазаров и Усков перешли в Институт проблем управления АН СССР, где спустя некоторое время стартовала работа над новой шахматной программой, основанной на исходных текстах программы ИТЭФ. В её разработке участвовали Михаил Донской, Александр Битман, Андрей Леман, А. М. Бараев и Марианна Розенфельд. Последняя и предложила рабочее название программы: КВО, то есть программа, которая всех обыгрывает[18].

Аппаратной платформой для новой программы стал один из британских мейнфреймов ICL 4/70, закупленных СССР в начале 1970-х. Эта машина была совместима с IBM 360, при этом на неё не распространялись экспортные торговые ограничения времён холодной войны[19]. В те годы активно обсуждалась возможность широкой программы кооперации с компанией ICL, которая предлагала передачу СССР технической документации на машины, совместную работу над программным обеспечением, а также общий проект по созданию ЭВМ четвёртого поколения[20].

В 1972 г. программа, разработанная сотрудниками Института проблем управления, играла уже весьма неплохо, и газета «Комсомольская правда» предложила организовать на своих страницах товарищеский матч машины против читателей. Именно в ходе подготовки к этому матчу шахматный обозреватель «Комсомолки» Виктор Хенкин предложил дать программе имя «Каисса» в честь богини-покровительницы шахмат[21].

Забавно, что в некоторых источниках Каиссу называют «древнегреческой богиней шахмат» или «древнегреческой музой шахмат». Разумеется, это нонсенс. Прототип современных шахмат — индийская игра чатуранга (санскр. चतुरङ्ग; caturaṅga, от названия боевого построения, упоминающегося в Махабхарате), она возникла в Индии во времена правления династии Гуптов примерно в V в., то есть спустя шесть веков после завершения древнегреческого периода. На территории Греции эта игра под названием «затрикион» (zατρίκιον) появляется в византийский период, ещё несколькими веками позже[22]. Каисса — героиня одноимённой поэмы английского писателя-востоковеда Уильяма Джонса, написанной в 1763 г. и опубликованной в 1772 г. Сюжет поэмы незатейлив: Марс, пленённый красотой дриады Каиссы, смог добиться её взаимности лишь благодаря изобретению шахмат[23]. Вполне вероятно, что имя Каисса восходит к имени нимфы Скаккии (Scacchia) — героини опубликованной в 1527 г. поэмы Марко Джироламо Виды «Игра в шахматы» (Scacchia, Ludus) (шахматы в средневековой латыни обозначались словом scacci)[24]. Так что, вероятно, «Каисса» — это всё та же многострадальная «чатуранга», совершившая полное приключений лингвистическое путешествие.

Но вернёмся к матчу на страницах «Комсомольской правды». Его регламент был прост: матч состоял из двух партий, игравшихся с переменой цвета. На совершение хода уходила одна неделя. Ходы читателей выбирались путём голосования. В субботу в газете публиковалась очередная позиция, до вторника редакция получала письма, в четверг ночью «Каисса» «обдумывала» свой ответ. Матч продлился почти год — с января по ноябрь 1972 г. — и завершился победой людей со счётом 1,5 : 0,5[25].

Быстрое развитие вычислительной техники в 1970-е гг. на фоне высокого интереса к шахматам привело к стремительному расцвету шахматного программирования. С 1970 г. стартовал ежегодный Северо-Американский чемпионат по шахматам среди компьютерных программ. В первом чемпионате приняли участие шесть программ, а в 1973 г. — уже 12. Четыре первых года чемпионом становится программа под незамысловатым названием Chess, созданная студентами Ларри Аткином и Дэвидом Слейтом из Северо-Западного университета (Northwestern University, штат Иллинойс, США). Разработка программы была начата в 1968 г. Первоначально в число разработчиков входил также Кейт Горлен, но в 1970 г. он покинул команду. Первые версии программы (включая 3.6 от 1972 г.) относились к шенноновскому типу B, как и программа Маккарти. Обаяние идей Шеннона, который рассматривал тип B в качестве более совершенного подхода, похоже, владело умами американских разработчиков, в то время как ранние советские программы относились к более прагматичному на тот момент типу A.

Впрочем, весной 1973 г. Аткин и Слейт решаются на смену парадигмы. «Версия 3.6 стала окончательным результатом серии эволюционных изменений оригинальной программы и содержала в себе большую часть недостатков её первоначального дизайна. Chess 3.6 была, как динозавр, представителем вымирающего вида, — писали авторы. — Являясь по своей сути программой Шеннона типа B, она была основана на переборе „в глубину“ с альфа-бета-отсечениями и рассматривала более-менее фиксированные по длине варианты. Примитивная функция оценки позиции использовалась для оценки терминальных узлов дерева и для выбора n лучших ходов для дальнейшего изучения. Элементарных оценки и перебора Chess 3.6 было достаточно для того, чтобы в большинстве случаев совершать ходы, выглядящие разумно, и не подставлять фигуры под одно-двухходовые угрозы. По всей видимости, этого хватало для того, чтобы играть в силу слабого третьего разряда [class C player] и какое-то время обыгрывать другие программы». Chess 4.0 и его наследники получили более простую модульную архитектуру и относились к шенноновскому типу A[26].

Матч 1967 г. и последующие публичные выступления советской шахматной программы подогревали желание организовать международные соревнования, и в августе 1974 г. Международная федерация по обработке информации (International Federation for Information Processing, IFIP) организовала первый чемпионат мира по шахматам среди компьютерных программ. Он состоялся в стокгольмском отеле «Биргер Ярл». Директором турнира был Дэвид Леви.

Из шестнадцати «приглашённых» программ за звание чемпиона мира в итоге сразилось тринадцать — четыре из США (Chess 4.0, CHAOS, Tech 2 и Ostrich), три из Великобритании (Master, Beal, A16chs) и по одной из СССР («Каисса»), Канады (Ribbit), Австрии (Frantz), Швейцарии (Tell), Норвегии (Freedom) и Венгрии (Papa).

Транспортировка мейнфреймов для участия в соревнованиях в 1974 г. представлялась не слишком реалистичной задачей — не только из-за высокой стоимости и сложности перевозки, но и из-за политических и бюрократических проблем. Использовать имевшуюся в Стокгольме машину ICL авторы «Каиссы» не могли из-за особенностей отечественной операционной системы, поэтому советская программа, как и многие другие, участвовала в соревновании по телефону. Работу операторов программ в машинных залах контролировали представители IFIP, они должны были следить за тем, чтобы никто не вмешивался в ход партий. В турнирном зале за шахматными досками с телефонными трубками в руках сидели авторы программ — регламент чемпионата требовал присутствия в зале одного из авторов программы. Оператором «Каиссы» в Стокгольме был Михаил Донской, а в Москве — Владимир Арлазаров. Ходы программ по громкой связи транслировались в конференц-зал ИПУ, где собирались болельщики.

Позже Донской вспоминал, что был единственным участником, претендовавшим на второе место в чемпионате (именно его он обещал тем, кто отправил его на соревнования), в то время как остальные претендовали только на первое. В результате всё обернулось ровным счётом наоборот: именно «Каисса» заняла первое место, выиграв все четыре турнирные партии (турнир проходил по швейцарской системе) и опередив на одно очко программы Chess 4.0, CHAOS и Ribbit. Поскольку «Каисса» и Chess 4.0 не пересеклись в ходе турнира, было решено организовать между ними отдельную игру, которая завершилась вничью. Донскому была вручена для «Каиссы» золотая медаль чемпиона мира среди шахматных программ, сданная потом на хранение в ИПУ. В годы перестройки её след затерялся в музеях шахматных клубов[27] (дорогой читатель или читательница, если вы случайно найдёте её, обязательно дайте нам об этом знать).

С чисто шахматной точки зрения первый чемпионат мира представлял не слишком впечатляющее зрелище — партии были полны ошибок, заметных даже шахматным любителям. В последнем туре «Каисса» встретилась с программой Ostrich. В ходе партии американская программа дважды упустила возможность выигрыша (в одном из вариантов она могла дать мат в шесть ходов) и в итоге потерпела поражение. В демонстрационной игре против Chess 4.0 «Каиссе» вновь повезло — противник также упустил победу[28].

Всё это было вполне ожидаемо: «Каисса» в ту пору играла, по оценке Донского, в силу слабого первого разряда[29]. Однако с научной точки зрения прогресс был огромным. Написанная на смеси фортрана и ассемблера «Каисса» была способна на своей машине просматривать лишь около 200 позиций в секунду (в миллион раз меньше, чем Deep Blue, созданный спустя 20 лет). Однако уже тогда её авторы смогли реализовать в ней алгоритмы, ставшие затем фундаментом шахматного программирования на многие десятилетия. «Каисса» была способна обдумывать ходы во время хода противника, рационально распределять время на обдумывание, использовала представление позиции на доске в виде набора 64-битных масок[30], использовала динамические эвристики для упорядочения ходов в дереве перебора (так называемая «служба лучших ходов» — прообраз современных методов сортировки вариантов), была оснащена дебютной библиотекой, в которой содержалось в общей сложности около 10 000 ходов для различных дебютных позиций, и использовала революционную технику сокращения числа перебираемых вариантов, получившую название «эвристика пустого хода»[31].

Суть этого метода заключается в следующем: если в некоторой позиции внутри дерева перебора передать очередь хода сопернику и проанализировать его ответы при помощи перебора с урезанной глубиной, то, если в результате обнаружится, что противник, несмотря на возможность выполнить ход дважды, всё-таки не смог найти ход-опровержение с достаточной оценкой, перебор в данной позиции можно завершить, вернув оценку, равную верхней границе. Конечно, в шахматах бывают ситуации, когда любой из возможных ходов хуже, чем отсутствие хода. Подобное положение называется цугцванг (от нем. Zugzwang — принуждение к ходу). Однако возникают они достаточно редко, и их возможное появление можно в ряде случаев предсказать при помощи дополнительных правил (например, не применять эвристику пустого хода в пешечных эндшпилях с блокированными пешками) или с использованием ещё одного «проверочного» шага перебора с ещё более урезанной глубиной рассмотрения вариантов.

Впрочем, сохранить лидерство в области компьютерных шахмат, как и в космической гонке, Советскому Союзу не удалось. В 1977 г. в Торонто Chess 4.6 берёт реванш и становится чемпионом мира. «Каисса» делит второе место с другой американской программой, уже знакомой нам Duchess из Университета Дьюка. В первом туре чемпионата в партии Duchess против «Каиссы» разыгралась настоящая драма: «Каисса» на ровном месте отдала ладью и проиграла, что многие зрители в зале посчитали проявлением ошибки в программе. Однако, когда после партии «Каиссе» предъявили позицию после ожидаемого от неё «правильного» хода, она продемонстрировала головокружительную комбинацию противника с жертвой ферзя, ведущую к неминуемому мату[32]. Ценой этого красивого поражения стала утрата чемпионского титула.

Третье и последнее выступление «Каиссы» на чемпионате мира состоялось в 1980 г., где она поделила 6–11-е места. Примечательно, что первое место в чемпионате досталось не Chess 4.9, которая была, наряду с «Каиссой», одной из двух главных претенденток на победу, а программе Кена Томпсона — Belle. Из 18 участников III чемпионата восемь были из США, трое из Великобритании и трое из Канады. Социалистический лагерь был представлен одной лишь «Каиссой»[33], [34].

В 1990 г. команда из девяти программистов, возглавляемая Донским, выпустила новую версию «Каиссы», написанную на языке Си для операционной системы MS-DOS. Обновлённая программа участвовала во Второй компьютерной олимпиаде, разделив 4–6-е места (из 11 участников)[35], [36].

Сегодня сложно дать однозначный ответ на вопрос о том, почему «Каисса» не смогла сохранить лидерство. Сами авторы считали, что дело было в отставании аппаратной базы: машина, которую использовала «Каисса», была медленнее, чем у конкурентов[37]. Кроме того, команда «Каиссы» щедро делилась алгоритмическими находками с сообществом шахматных программистов — принципы работы программы были детально описаны в ряде статей[38], [39], [40], [41], [42], а затем и в книге[43], посвящённой методам шахматного программирования. Нельзя исключать и влияние субъективных факторов: интересы разработчиков со временем меняются, на смену творческим подъёмам приходят творческие кризисы, разработчики могут свернуть на неправильный путь, теряя время на попытки развития непродуктивных идей, в конце концов, люди стареют и утрачивают энергию и задор, поэтому смену лидеров в том или ином направлении можно считать во многом естественным процессом.

Рискну предположить, что результат первых чемпионатов был во многом случайным. Каждая из программ-участниц сыграла в каждом из турниров всего по четыре партии. При приблизительно равной силе игры лучших программ распределение мест между ними могло быть практически каким угодно. К сожалению, организовать эксперимент из многих тысяч или хотя бы сотен игр для установления исторической истины сегодня вряд ли представляется возможным. Одно можно сказать с уверенностью: алгоритмы, изобретённые авторами «Каиссы», были действительно революционными для своего времени и её создатели внесли огромный вклад в развитие компьютерных шахмат.

  1. Ландис Е. М., Яглом И. М. (2001). Об Александре Семёновиче Кронроде / Успехи математических наук. Т. 56, вып. 5(341). С. 191–201 // https://doi.org/10.4213/rm448
  2. Гутер Р.С., Полунов Ю.Л. (1981). От абака до компьютера / Изд. 2-е исп. и доп. — М.: Знание // http://elib.ict.nsc.ru/jspui/bitstream/ICT/1354/4/abacus_1981b.pdf
  3. Ландис Е. М., Яглом И. М. (2001). Об Александре Семёновиче Кронроде / Успехи математических наук. Т. 56, вып. 5(341). С. 191–201 // https://doi.org/10.4213/rm448
  4. Академия наук СССР, Трапезников В.А., Национальный комитет СССР по автоматическому управлению (1967). Оптимальные системы, статистические методы: труды III Всесоюзного совещания по автоматическому управлению (технической кибернетике), Одесса, 20–26 сентября 1965 г. Наука // https://books.google.ru/books?id=S_fmAAAAMAAJ
  5. Nelson W. L. (2011). 1965 USSR Trip / MYBELLLABSDAYS // https://mybelllabsdays.wordpress.com/2011/12/04/1965-ussr-trip/
  6. Маккарти Д. (2006). Вспоминая Андрея Петровича Ершова / Андрей Петрович Ершов — учёный и человек / под ред. А. Г. Марчука. — Новосибирск: Издательство Сибирского отделения РАН // https://www.iis.nsk.su/files/book/file/Ershov_kniga.pdf
  7. Маккарти Д. (1965). Письмо Андрею Ершову / Архив академика А. П. Ершова // http://ershov.iis.nsk.su/node/777848
  8. Маккарти Д. (2006). Вспоминая Андрея Петровича Ершова / Андрей Петрович Ершов — учёный и человек / под ред. А. Г. Марчука. — Новосибирск: Издательство Сибирского отделения РАН // https://www.iis.nsk.su/files/book/file/Ershov_kniga.pdf
  9. McCarthy J. (2005). The History of Computer Chess: An AI Perspective (Video). Mountain View, CA, USA: Computer History Museum // https://www.youtube.com/watch?v=AvU_fnLWRRk
  10. Кронрод А.С. (2004) Беседы о программировании / Предисл. Л. А. Кронрод. Послесл. В. Л. Арлазарова. Изд. 2-е, стереотипное. — М.: Едиториал УРСС // https://nsu.ru/xmlui/handle/nsu/9050
  11. http://greko.su/m20-itef.pdf
  12. Рузайкин Г. И., Коновалов С. П. (2005). Рассказ «бабки-повитухи» / Мир ПК. № 10 // https://www.osp.ru/pcworld/2005/10/317270/
  13. Адельсон-Вельский Г. М., Арлазаров В. Л., Битман А. Р., Животовский А. А., Усков А. В. (1970). О программировании игры вычислительной машины в шахматы / Успехи математических наук. Т. 25, вып. 2 (152). С. 221—260 // http://mi.mathnet.ru/umn5324
  14. Гутер Р. С., Арлазаров В. Л., Усков А. В. (1965). Практика программирования: Справочник. — М.: Наука.
  15. Ершов А.П., Лавров С.С., Семендяев К.А. (1966). Письмо в «Литературную газету» / Архив академика А. П. Ершова // http://ershov.iis.nsk.su/node/806835
  16. Гутер Р. С., Арлазаров В. Л., Усков А. В. (1965). Практика программирования: Справочник. — М.: Наука.
  17. * Язык ассемблера (assembly language) — язык программирования низкого уровня. Он представляет собой систему обозначений, используемую для представления в удобочитаемой форме программ, записанных в машинном коде. Команды языка соответствуют отдельным командам, выполняемым процессором машины, или их коротким последовательностям. Поскольку наборы команд различаются в зависимости от используемой аппаратной платформы, в действительности мы имеем дело не с единым языком, а с классом аппаратно-специфичных языков, хотя и разделяющих обычно некоторые условные обозначения. Например, команда ADD, используемая для сложения чисел, почти во всех этих языках называется именно так.
  18. Костинский А. (2002). Компьютерные программы, как конец спортивных шахмат / Радио Свобода // https://www.svoboda.org/a/24203756.html
  19. Berenyi I. (1970). Computers in Eastern Europe / Scientific American, Vol. 223, Iss. 4.
  20. Малиновский Б. Н. (1995). История вычислительной техники в лицах. — К.: фирма «КИТ», ПТОО «А.С.К.» // http://lib.ru/MEMUARY/MALINOWSKIJ/0.txt
  21. Донской М. История «Каиссы» / Виртуальный компьютерный музей // http://www.computer-museum.ru/games/kaissa1.htm
  22. Chess: Ancient precursors and related games / Encyclopædia Britannica. 2002 // https://www.britannica.com/topic/chess
  23. Chalmers A., Johnson S. (1810). The Works of the English Poets, from Chaucer to Cowper: Including the Series Edited with Prefaces, Biographical and Critical. J. Johnson // https://books.google.ru/books?id=b0LVAAAAMAAJ
  24. Murray H. J. R. (2015). A History of Chess. Skyhorse Publishing // https://books.google.ru/books?id=dNSBCgAAQBAJ
  25. Донской М. История «Каиссы» / Виртуальный компьютерный музей // http://www.computer-museum.ru/games/kaissa1.htm
  26. Müller K., Schaeffer J. (2018). Man Vs. Machine: Challenging Human Supremacy at Chess. New York, NY, USA: Russell Enterprises, Incorporated // https://books.google.ru/books?id=0GV2DwAAQBAJ
  27. Донской М. История «Каиссы» / Виртуальный компьютерный музей // http://www.computer-museum.ru/games/kaissa1.htm
  28. Wall B. Kaissa // http://billwall.phpwebhosting.com/articles/Kaissa.htm
  29. * Первый разряд соответствует силе игры в 1800–2000 пунктов Эло, рейтинг Эло — метод расчёта относительной силы игроков в играх с двумя игроками; эту систему рейтингов разработал американский профессор физики венгерского происхождения Арпад Эло; новичкам соответствует рейтинг Эло 1000–1200, разница в 100 пунктов между двумя игроками означает, что сильнейший игрок набирает в среднем 64% очков, разница в 200 пунктов — 76% очков.
  30. ** Архитектура машины позволяла выполнять быстрые операции с 64-разрядными целыми числами, в которых каждый разряд соответствует одному из полей шахматной доски; сегодня эти технологии называются bitboards — дословно «битовые доски»; впервые этот подход предложил ещё Шура-Бура.
  31. Владимир Арлазаров: Персона дня — 19.10.2018 / Российская Шахматная Федерация // https://ruchess.ru/persons_of_day/vladimir_arlazarov_pd/?sphrase_id=180658
  32. Computer chess pioneer Mikhail Donskoy passes on // https://en.chessbase.com/post/computer-che-pioneer-mikhail-donskoy-paes-on
  33. 3rd World Computer Chess Championship / ICGA Tournaments: Tournaments between computer programs: chess, draughts, checkers, Go, backgammon, and more // https://www.game-ai-forum.org/icga-tournaments/tournament.php?id=68
  34. Reseña histórica del ajedrez por computadora (VI) // http://www.anacadigital.com/historia/anaca5_1_89.htm
  35. Horváth Z. (1990). Report on the 2nd Computer Olympiad. ICCA Journal, Vol. 13, No. 3.
  36. 2nd Computer Olympiad, Chess / ICGA Tournaments: Tournaments between computer programs: chess, draughts, checkers, Go, backgammon, and more // https://www.game-ai-forum.org/icga-tournaments/tournament.php?id=142
  37. Костинский А. (2002). Компьютерные программы как конец спортивных шахмат / Радио Свобода // https://www.svoboda.org/a/24203756.html
  38. Арлазаров В. Л., Битман А. Р. (1968). Обыграет ли машина человека? / Шахматы в СССР. № 2. С. 9—11.
  39. Адельсон-Вельский Г. М., Арлазаров В. Л., Битман А. Р., Животовский А. А., Усков А. В. (1969). О программировании шахматной игры / Труды первой зимней школы по математическому программированию. Вып. II. С. 216—252.
  40. Адельсон-Вельский Г. М., Арлазаров В. Л., Битман А. Р., Животовский А. А., Усков А. В. (1970). О программировании игры вычислительной машины в шахматы / Успехи математических наук. Т. 25, вып. 2 (152). С. 221—260 // http://www.mathnet.ru/links/e353ff456f77590009af6ba9f008f4cb/rm5324.pdf
  41. Adelson-Velsky G., Arlazarov V., Donskoy M. (1975). Some Methods of Controlling the Tree Search in Chess Programs. Artificial Ingelligence, Vol. 6, No. 4, pp. 361–371.
  42. Adelson-Velsky G., Arlazarov V., Donskoy M. (1977). On the Structure of an Important Class of Exhaustive Problems and Methods of Search Reduction for them. Advances in Computer Chess 1
  43. Адельсон-Вельский Г. М., Арлазаров В. Л., Битман А. Р., Донской М. В. (1983). Машина играет в шахматы. — М.: Наука // http://www.computer-museum.ru/books/kaissa.pdf

Loading comments...