Kotok-McCarthy, также известная как A Chess Playing Program for the IBM 7090 Computer, была первой компьютерной программой, убедительно игравшей в шахматы . Она также запомнилась тем, что участвовала и проиграла первый шахматный матч между двумя компьютерными программами. Псевдокод программы представлен на рисунке 11.15. [1]
В период с 1959 по 1962 год однокурсники Элвин Берлекамп , Алан Коток , Майкл Либерман, Чарльз Ниссен и Роберт А. Вагнер написали программу, будучи студентами Джона Маккарти в Массачусетском технологическом институте .
Основываясь на знаковой программе Алекса Бернстайна 1957 года [2], созданной в IBM , и на процедурах IBM 704 Маккарти и Пола В. Абрахамса, они добавили альфа-бета-обрезку к minmax по предложению Маккарти, чтобы улучшить генератор правдоподобных ходов. Они писали на Фортране и FAP на очищенном машинном времени. После того, как MIT получил 7090 от IBM , один ход занимал от пяти до двадцати минут. К 1962 году, когда они окончили университет, программа завершила фрагменты четырех игр на уровне, «сравнимом с любителем, имеющим опыт около 100 игр». [3] Коток, примерно в возрасте 20 лет, опубликовал их работу в MIT Artificial Intelligence Memo 41 и свою бакалаврскую диссертацию. [3]
В 1965 году Маккарти, к тому времени работавший в Стэнфордском университете , посетил Советский Союз . Группа, использовавшая компьютер М-2 в лаборатории Александра Кронрода в Московском институте теоретической и экспериментальной физики (ИТЭФ), бросила ему вызов на матч. [4] Кронрод считал Kotok-McCarthy лучшей программой в Соединенных Штатах в то время. [5] Хотя некоторые из ее недостатков были известны в 1965 году [6] и были исправлены в программе Гринблатта в проекте MAC MIT , Kotok-McCarthy уже не находилась в разработке и устарела на три года.
Георгий Адельсон-Вельский , Владимир Арлазаров , Битман, Анатолий Усков и Александр Животовский выиграли матч по переписке , который проводился по телеграфу в течение девяти месяцев в 1966-1967 годах. Программа Котока-Маккарти проиграла матч со счетом три к одному [5] , и первые две партии были сыграны со слабой версией. [7] Группу ИТЭФ консультировали русский шахматный мастер [ нужна ссылка ] Александр Р. Битман и трехкратный чемпион мира Михаил Ботвинник . [8] По данным Музея компьютерной истории , Маккарти «использовал улучшенную версию» [9] в 1967 году, но какие именно улучшения были сделаны, неизвестно.
В 1967 году Mac Hack VI [10] Ричарда Гринблатта с Дональдом Э. Истлейком III стал почетным членом Шахматной федерации США [ требуется ссылка ], когда кто-то проиграл ему в турнире в Массачусетсе . Кронрод потерял свое директорство в ИТЭФ и свою профессорскую должность из-за жалоб пользователей физики на то, что математические ресурсы ИТЭФ использовались для игр. Михаил Донской, Арлазаров и Усков разработали программу ИТЭФ в Каиссу [ требуется ссылка ] в Институте наук об управлении, и в 1974 году она стала чемпионом мира по компьютерным шахматам . [11] Дебаты продолжались [12] около сорока лет после первого теста о том, превосходит ли подход Шеннона [13] типа А методом грубой силы, используемый ИТЭФ, селективную стратегию типа B, используемую Котоком-Маккарти. [7] Однако успех таких программ, как Chess 4.5 Северо-Западного университета, в которой использовалась стратегия типа A, [14] [15] привел к тому, что стратегия типа A стала более предпочтительной, по крайней мере для проектов, где целью была игровая сила, а не понимание мыслительных процессов человека. [16] Однако в последнее время шахматные программы, использующие нейронные сети для оценки позиций, такие как Giraffe, Alpha Chess Zero и Leela Chess Zero , используют поиск по дереву Монте-Карло , чтобы обеспечить более глубокий поиск, не оценивая каждую позицию.
{{cite journal}}
: Цитировать журнал требует |journal=
( помощь ){{cite journal}}
: Цитировать журнал требует |journal=
( помощь ){{cite web}}
: Внешняя ссылка в |author=
( помощь ){{cite journal}}
: Цитировать журнал требует |journal=
( помощь )CS1 maint: несколько имен: список авторов ( ссылка ){{cite journal}}
: Цитировать журнал требует |journal=
( помощь ){{cite journal}}
: Цитировать журнал требует |journal=
( помощь ){{cite journal}}
: Цитировать журнал требует |journal=
( помощь )CS1 maint: multiple names: authors list (link)