Компьютерные шахматы - Computer chess
Эта статья является частью серии статей о |
Шахматное программирование |
---|
Представительства Совета |
Шахматные компьютеры |
Шахматные движки |
Компьютерные шахматы включает как оборудование (выделенные компьютеры), так и программного обеспечения способен играть шахматы. Компьютерные шахматы предоставляют игрокам возможность тренироваться даже в отсутствие противников-людей, а также предоставляют возможности для анализа, развлечения и обучения.
Компьютерные шахматные приложения, которые играют на уровне мастера шахмат или выше, доступны на оборудовании от суперкомпьютеров до смартфонов. Также доступны автономные игровые автоматы. Stockfish, GNU Chess, Fruit и другие бесплатные приложения с открытым исходным кодом доступны для различных платформ.
Компьютерные шахматные приложения, реализованные в аппаратном или программном обеспечении, используют другую парадигму, чем люди, для выбора своих ходов: они используют эвристические методы для построения, поиска и оценки деревьев, представляющих последовательности ходов из текущей позиции, и пытаются выполнить лучшую такую последовательность во время играть в. Такие деревья обычно довольно большие, от тысяч до миллионов узлов. Скорость вычислений современных компьютеров, способных обрабатывать от десятков тысяч до сотен тысяч узлов и более в секунду, в сочетании с эвристиками расширения и сокращения, сужающими дерево до наиболее важных узлов, делают такой подход эффективным.
Первыми шахматными машинами, способными играть в шахматы или сокращенные шахматные игры, были программы, работающие на цифровых компьютерах в начале века электронных ламп (1950-е годы). Ранние программы играли настолько плохо, что их мог победить даже новичок. В течение 50 лет, в 1997 году, шахматные движки работающие на суперкомпьютерах или специализированном оборудовании были способны победить даже лучших игроков-людей. В 2010, Монро Новорожденный, Профессор компьютерных наук в Университет Макгилла, заявил: «наука сделана». Тем не менее, решение шахмат в настоящее время невозможно для современных компьютеров из-за чрезвычайно большого количества возможных вариаций игры.[1]
Доступность и игровая сила
Шахматные машины / программы доступны в нескольких различных формах: как автономные шахматные машины (обычно микропроцессор, на котором запущена программная шахматная программа, но иногда как специализированная аппаратная машина), программы, работающие на стандартных ПК, веб-сайты и приложения для мобильных устройств. устройств. Программы работают на всех, от суперкомпьютеров до смартфонов. Требования к оборудованию для программ минимальны: размер приложений на диске не превышает нескольких мегабайт, используется несколько мегабайт памяти (но может использоваться гораздо больше, если он доступен), и достаточно любого процессора с тактовой частотой 300 МГц или выше. Производительность будет немного меняться в зависимости от скорости процессора, но достаточный объем памяти для хранения большой таблицы транспонирования (до нескольких гигабайт и более) более важен для силы игры, чем скорость процессора.
Большинство доступных коммерческих шахматных программ и машин представляют собой супергроссмейстерскую игровую силу (ELO 2700 или выше) и используют преимущества многоядерных и многопоточных компьютерных архитектур ЦП. Лучшие программы, такие как Stockfish превзошли даже игроков калибра чемпионов мира. Большинство шахматных движков взаимодействуют с графическим интерфейсом, например Winboard или же Шахматная база сила игры, контроль времени и другие параметры, связанные с производительностью, регулируются через графический интерфейс. Большинство графических интерфейсов также позволяют игроку настраивать и редактировать позиции, возвращать ходы, предлагать и принимать ничьи (и уйти в отставку), иметь функцию «тренера», чтобы рекомендовать ход, когда игрок сомневается, и отображать анализ движка как игра прогрессирует.
Есть несколько шахматные движки Такие как Саргон, IPPOLIT, Stockfish, Хитрый, Фрукты и Шахматы GNU которые можно загрузить (или получить исходный код иным образом) из Интернет бесплатно.
Типы и особенности шахматного софта
Возможно, самый распространенный тип шахматного программного обеспечения - это программы, которые просто играют в шахматы. Вы делаете ход на доске, а ИИ вычисляет и воспроизводит ответ, и вперед и назад, пока один игрок не уйдет. Иногда шахматный двигатель, который вычисляет ходы, и графический интерфейс пользователя (GUI) - это отдельные программы. В графический интерфейс можно импортировать различные движки, чтобы вы могли играть против разных стилей. Двигатели часто имеют просто простой текст Интерфейс командной строки в то время как графические интерфейсы могут предлагать различные наборы элементов, стили доски или даже 3D или анимированные элементы. Поскольку последние движки настолько сильны, движки или графические интерфейсы могут предлагать способ ограничить силу движка, чтобы у игрока было больше шансов на победу. Универсальный шахматный интерфейс (UCI) такие Фриц или же Рыбка может иметь встроенный механизм для уменьшения Рейтинг Эло движка (через параметры UCI uci_limitstrength и uci_elo). Некоторые версии Фриц есть режимы Handicap и Fun для ограничения текущего движка или изменения процента ошибок, которые он делает, или изменения его стиля. Фриц также есть режим друга, в котором во время игры он пытается соответствовать уровню игрока.
Шахматные базы данных позволяют пользователям искать в большой библиотеке исторических партий, анализировать их, проверять статистику и составлять вступительный репертуар. Шахматная база (для ПК), пожалуй, самая распространенная программа для этого среди профессиональных игроков, но есть альтернативы, такие как База данных шахмат Шейна (Scid) [2] для Windows, Mac или Linux, Шахматный помощник[3] для ПК,[4] Chess PGN Master Герхарда Калаба для Android[5] или Chess-Studio Джордано Виколи для iOS.[6]
Такие программы как Играть в шахматы позволяют вам играть в игры против других игроков через Интернет.
Программы обучения шахматам обучают шахматам. Шахматист были обучающие видео от IM Джош Вайцкин и GM Ларри Кристиансен. Стефан Мейер-Кален предложения Шредер Chess Tutor на основе учебников Step Роба Бруниа и Кор Ван Вейгердена. Чемпионы мира Магнус Карлсен Компания Play Magnus недавно выпустила приложение Magnus Trainer для Android и iOS. Шахматная база имеет Фриц и Чесстер для детей. У Convekta есть большое количество обучающих приложений, таких как CT-ART и его линия Chess King, основанная на учебных пособиях GM Александра Калинина и Максима Блоха.
Существует также Программное обеспечение для решения шахматных задач.
Компьютеры против людей
После обнаружения проверки опровержения - применение альфа-бета обрезка для оптимизации оценки хода - в 1957 г. Университет Карнеги Меллон предсказал, что компьютер победит чемпиона мира среди людей к 1967 году.[7] Он не ожидал трудностей с определением правильного порядка для оценки ходов. Исследователи работали над улучшением способности программ определять убийственная эвристика ходы с необычно высокой результативностью, которые нужно было пересмотреть при оценке других ветвей, но в 1970-е годы большинство ведущих шахматистов считали, что компьютеры не скоро смогут играть в Владелец уровень.[8] В 1968 г. Международный мастер Дэвид Леви сделал знаменитую ставку что ни один шахматный компьютер не сможет победить его за десять лет,[9] а в 1976 г. Старший мастер и профессор психологии Элиот Херст из Университет Индианы писал, что «единственный способ, которым текущая компьютерная программа может когда-либо выиграть одну игру против ведущего игрока, - это для ведущего, возможно, в пьяном оцепенении, играя одновременно 50 игр, совершать какую-нибудь грубую ошибку один раз в год».[8]
В конце 1970-х годов шахматные программы внезапно начали побеждать лучших игроков-людей.[8] Год заявления Херста, Северо-Западный университет с Шахматы 4.5 на Пол Массон Чемпионат Америки по шахматам Класс B level стал первым, кто выиграл человеческий турнир. Леви выиграл пари в 1978 году, победив Шахматы 4.7, но он добился первой компьютерной победы над игроком Мастер-класса на уровне турнира, выиграв одну из шести игр.[9] В 1980 г. Belle начал часто побеждать Мастерс. К 1982 году две программы играли на уровне мастера, а три были немного слабее.[8]
Внезапное улучшение без теоретического прорыва удивило людей, которые не ожидали, что способности Белль исследовать 100 000 позиций в секунду - около восьми слоев - будет достаточно. Спраклены, создатели успешной микрокомпьютерной программы Саргон, по оценкам, 90% улучшений связано с более высокой скоростью оценки и только 10% - с улучшением оценок. Новый ученый заявил в 1982 году, что компьютеры "играют ужасный шахматы ... неуклюжие, неэффективные, расплывчатые и просто уродливые ", но люди проиграли им, сделав" ужасные промахи, поразительные промахи, непонятные упущения, грубые просчеты и тому подобное "гораздо чаще, чем они думали" короче говоря; компьютеры выигрывают, прежде всего, благодаря их способности находить и использовать просчеты в человеческих инициативах ".[8]
К 1982 году шахматные программы на микрокомпьютерах могли оценивать до 1500 ходов в секунду и были столь же сильны, как и шахматные программы для мэйнфреймов пятью годами ранее, и могли побеждать почти всех игроков. Хотя они могли заглядывать вперед лишь на один или два слоя больше, чем во время их дебюта в середине 1970-х, это улучшило их игру больше, чем ожидали эксперты; кажущиеся незначительными улучшения «по-видимому, позволили преодолеть психологический порог, после которого станет доступен богатый урожай человеческих ошибок», Новый ученый написал.[8] При просмотре SPOC в 1984 г., БАЙТ написал, что «компьютеры - мэйнфреймы, мини и микропроцессоры - обычно играют в уродливые, неэлегантные шахматы», но отметил Роберт Бирн Заявление о том, что «тактически они более свободны от ошибок, чем средний игрок-человек». Журнал описал SPOC как «новейшую шахматную программу» для IBM PC с «удивительно высоким» уровнем игры и оценил ее рейтинг USCF как 1700 (класс B).[10]
В 1982 г. Чемпионат Северной Америки по компьютерным шахматам, Монро Новорожденный предсказал, что шахматная программа может стать чемпионом мира в течение пяти лет; директор турнира и международный мастер Майкл Вальво предсказано десять лет; Спракленс предсказал 15; Кен Томпсон предсказал более 20; и другие предсказывали, что этого никогда не произойдет. Однако наиболее распространенное мнение гласило, что это произойдет примерно в 2000 году.[11] В 1989 году Леви потерпел поражение от Глубокая мысль в выставочном матче. Однако Deep Thought все еще был значительно ниже уровня чемпионата мира, как тогдашний действующий чемпион мира. Гарри Каспаров продемонстрировал две сильные победы в 1989 году. Так продолжалось до матча 1996 года с IBM Темно-синий что Каспаров проиграл свою первую партию компьютеру на контроле времени турнира в Deep Blue - Каспаров, 1996, игра 1. Фактически, эта игра была первым разом, когда действующий чемпион мира проиграл компьютеру, используя обычный контроль времени. Однако Каспаров перегруппировался, чтобы выиграть три и рисовать две из оставшихся пяти игр матча, на убедительную победу.
В мае 1997 года обновленная версия Темно-синий в ответном матче обыграл Каспарова 3½ – 2½. Документальный фильм, в основном о противостоянии, был снят в 2003 году под названием Игра окончена: Каспаров и машина. IBM поддерживает веб-сайт событие.
а | б | c | d | е | ж | грамм | час | ||
8 | 8 | ||||||||
7 | 7 | ||||||||
6 | 6 | ||||||||
5 | 5 | ||||||||
4 | 4 | ||||||||
3 | 3 | ||||||||
2 | 2 | ||||||||
1 | 1 | ||||||||
а | б | c | d | е | ж | грамм | час |
С увеличением вычислительной мощности и улучшенными функциями оценки шахматные программы, работающие на имеющихся в продаже рабочих станциях, начали конкурировать с ведущими игроками. В 1998 г. Мятежник 10 побежден Вишванатан Ананд, который в то время занимал второе место в мире со счетом 5–3. Однако в большинство из этих игр не играли при обычном контроле времени. Из восьми игр четыре были блиц игры (пять минут плюс пять секунд задержки Фишера (см. Контроль времени ) за каждый ход); эти повстанцы выиграли 3–1. Две были полублиц-партии (по пятнадцать минут на каждую сторону), в которых Rebel также выиграл (1½ – ½). Наконец, две партии были сыграны как обычные турнирные (сорок ходов за два часа, один час внезапной смерти); Здесь Ананд выиграл ½ – 1½.[12] В быстрые игры компьютеры играли лучше, чем люди, но при классическом контроле времени, при котором определяется рейтинг игрока, преимущество было не столь очевидным.
В начале 2000-х годов коммерчески доступные программы, такие как Младший и Фриц смогли сыграть вничью с экс-чемпионом мира Гарри Каспаровым и чемпионом мира по классике Владимир Крамник.
В октябре 2002 г. Владимир Крамник и Deep Fritz соревновались в восьми играх Мозги в Бахрейне матч, закончившийся ничьей. Крамник выиграл 2-ю и 3-ю партии "условно". антикомпьютерная тактика - играйте консервативно, чтобы получить долгосрочное преимущество, которое компьютер не видит в поиске по дереву игры. Однако Фриц выиграл пятую партию после серьезной ошибки Крамника. Шестую игру комментаторы турнира назвали «зрелищной». Крамник в лучшем положении в начале миттельшпиль, попробовал пожертвовать фигурой для достижения сильной тактической атаки, стратегия, которая, как известно, очень рискованна против компьютеров, которые наиболее сильно защищаются от таких атак. Верный своей форме, Фриц нашел надежную защиту, и атака Крамника прекратилась, оставив его в плохой позиции. Крамник отказался от игры, считая, что позиция проиграна. Однако человеческий и компьютерный анализ после игры показал, что программа Фрица вряд ли смогла добиться победы, и Крамник фактически пожертвовал ничьей. Последние две игры завершились вничью. Учитывая обстоятельства, большинство комментаторов по-прежнему считают Крамника более сильным игроком в матче.[нужна цитата ]
В январе 2003 года Гарри Каспаров сыграл Младший, еще одна шахматная компьютерная программа, в Нью-Йорк. Матч закончился со счетом 3–3.
В ноябре 2003 года Гарри Каспаров сыграл X3D Fritz. Матч закончился со счетом 2–2.
В 2005 году, Гидра, специализированный шахматный компьютер с нестандартным оборудованием и шестьюдесятью четырьмя процессорами, а также победитель 14-го IPCCC в 2005 году проиграл седьмое место Майкл Адамс 5½ – ½ в матче из шести игр (хотя подготовка Адамса была гораздо менее тщательной, чем подготовка Крамника к серии 2002 года).[13]
В ноябре – декабре 2006 г. чемпион мира. Владимир Крамник играл Deep Fritz. На этот раз победил компьютер; матч закончился со счетом 2–4. Крамнику удалось просмотреть вводную книгу компьютера. В первых пяти партиях Крамник вывел игру в типичную «антикомпьютерную» позиционную борьбу. Он проиграл одну игру (с видом на помощника в одном ), и нарисовал следующие четыре. В заключительной партии, пытаясь сыграть вничью, Крамник сыграл более агрессивно. Сицилийская защита и был раздавлен.
Было предположение, что интерес к шахматным соревнованиям между человеком и компьютером резко упадет в результате матча Крамника и Дип Фрица в 2006 году.[14] Согласно Newborn, например, «наука сделана».[15]
Матчи человек-компьютер в шахматах показали, что лучшие компьютерные системы опередили чемпионов по шахматам среди людей в конце 1990-х годов. В течение 40 лет до этого была тенденция, что лучшие машины получали около 40 баллов в год в Рейтинг Эло в то время как лучшие люди набирали только примерно 2 балла в год.[16] Наивысшая оценка, полученная компьютером в соревновании людей, была Глубокая мысль рейтинг USCF в 1988 г. составил 2551, и ФИДЕ больше не принимает результаты человеко-компьютерных игр в свои рейтинговые списки. Для оценочных машин были созданы специализированные пулы Elo, предназначенные только для машин, но такие числа, хотя и похожи по внешнему виду, не должны сравниваться напрямую.[17] В 2016 г. Шведская ассоциация шахматных компьютеров оценочная компьютерная программа Комодо на 3361.
Шахматные движки продолжать улучшаться. В 2009 году шахматные движки, работающие на более медленном оборудовании, достигли гроссмейстер уровень. А мобильный телефон Выиграл категория 6 турнир с рейтингом 2898: шахматный движок Hiarcs 13 работает внутри Карманный Фриц 4 на мобильном телефоне HTC Touch HD выиграл турнир Copa Mercosur в Буэнос-Айрес, Аргентина с 9 победами и 1 ничьей 4–14 августа 2009 г.[18] Pocket Fritz 4 выполняет поиск менее 20 000 позиций в секунду.[19] Это контрастирует с такими суперкомпьютерами, как Deep Blue, которые просматривают 200 миллионов позиций в секунду.
Продвинутые шахматы - это разновидность шахмат, разработанная Каспаровым в 1998 году, в которой один человек играет против другого человека, и оба имеют доступ к компьютерам для повышения своей силы. Получившийся в результате "продвинутый" игрок, как утверждал Каспаров, был сильнее, чем человек или компьютер в одиночку, это было многократно доказано на соревнованиях по Freestyle Chess.
Сегодняшние игроки склонны рассматривать шахматные движки как инструменты анализа, а не противников.[20] Шахматный гроссмейстер Эндрю Солтис заявил в 2016 году: «Компьютеры слишком хороши», и этот чемпион мира Магнус Карлсен не будет играть в компьютерные шахматы, потому что «он просто все время проигрывает, и нет ничего более удручающего, чем проигрывать, даже не будучи в игре».[21]
Компьютерные методы
Со времен механических машин, которые играли ладейные и королевские концовки, и электрических машин, которые играли в другие игры, такие как шестнадцатеричный (игра) в первые годы 20 века ученые и теоретики стремились разработать процедурное представление о том, как люди учатся, запоминают, думают и применяют знания, и игра в шахматы из-за своей устрашающей сложности стала "Дрозофила искусственного интеллекта (ИИ) ».[22] Процедурное разрешение сложности стало синонимом мышления, и первые компьютеры, еще до эры шахматных автоматов, в народе назывались «электронными мозгами». Начиная со второй половины 20 века, было разработано несколько различных схем для представления знаний и мышления применительно к игре в шахматы (и другие игры, такие как шашки):
- на основе поиска (минимакс / алфавит или выборочный поиск)
- основанный на знаниях (PARADISE)
- статистическая выборка (поиск по дереву Монте-Карло)
- генетические алгоритмы
- машинное обучение
Используя эвристику «целей и средств», шахматист-человек может интуитивно определять оптимальные результаты и способы их достижения, независимо от количества необходимых ходов, но компьютер должен систематически проводить свой анализ. Большинство игроков согласны с тем, что глядя как минимум на пять шагов вперед (десять слои ) при необходимости требуется для хорошей игры. Обычные правила турнира дают каждому игроку в среднем по три минуты на ход. В среднем на каждую шахматную позицию приходится более 30 разрешенных ходов, поэтому компьютер должен изучить квадриллион возможностей, чтобы заглянуть вперед на десять уровней (пять полных ходов); тот, который может проверять миллион позиций в секунду, потребует более 30 лет.[8]
Самые ранние попытки процедурного представления игры в шахматы предшествовали эпохе цифровой электроники, но цифровой компьютер с хранимой программой дал возможность вычислить такую сложность. Клод Шеннон в 1949 году изложил принципы алгоритмического решения шахмат. В этой статье игра представлена «деревом» или цифровой структурой данных выборов (ветвей), соответствующих ходам. Узлы дерева были позициями на доске в результате выбора хода. Невозможность изобразить всю шахматную партию путем построения дерева от первого до последнего хода стала очевидной: в шахматах в среднем 36 ходов на позицию, а в среднем игра длится около 35 ходов до отказа (60-80 ходов при игре. мат, пат или другая ничья). Есть 400 возможных позиций после первого хода каждого игрока, около 200 000 после двух ходов каждое и почти 120 миллионов после всего 3 ходов каждое. Поэтому был предложен ограниченный просмотр (поиск) до фиксированной глубины с последующим использованием предметно-ориентированных знаний для оценки конечных позиций. Результатом будет своего рода промежуточная позиция (позже именуемая «минимаксом») при наличии хороших ходов с обеих сторон, и ее оценка сообщит игроку о том, насколько хороши или плохи выбранные ходы. Операции поиска и сравнения на дереве хорошо подходят для компьютерных вычислений; представления тонких шахматных знаний в оценочной функции не было. Ранние шахматные программы страдали в обеих областях: поиск в обширном дереве требовал вычислительных ресурсов, намного превышающих доступные, а на то, чтобы выяснить, какие шахматные знания были полезны и как их кодировать, потребовались бы десятилетия.
Парадигма раннего поиска под названием альфа – бета обрезка Система определения верхних и нижних границ возможных результатов поиска и поиска до совпадения границ логарифмически уменьшила коэффициент ветвления дерева игр, но шахматные программы по-прежнему не могли использовать экспоненциальный взрыв дерева. Это естественным образом привело к так называемому «выборочному поиску», в котором используются шахматные знания (эвристика) для выбора нескольких предположительно хороших ходов из каждой позиции для поиска и удаления остальных без поиска. Но шахматы - это не игра, предназначенная для тематического изучения, и качество или плохое качество хода не может быть определено для многих ходов в игре, поэтому выборочный поиск часто приводил к отсечению лучшего хода или ходов. В течение следующих 25 лет, когда доминировала парадигма выборочного поиска, не было достигнуто никакого прогресса. Лучшей программой, выпущенной за это время, был Mac Hack VI 1967 года; он играл примерно на том же уровне, что и средний любитель (класс C по рейтинговой шкале шахматной федерации США).
В 1974 году в программе Chess 4.0 Северо-Западного университета впервые была реализована другая парадигма поиска. Альтернатива, описанная в статье Шеннона 1949 года, называлась поиском по всей ширине или методом «грубой силы». При таком подходе ищутся все альтернативные ходы в узле, и ни одно из них не удаляется. Они обнаружили, что время, необходимое для простого перебора всех ходов, было намного меньше, чем время, необходимое для применения наукоемкой эвристики для выбора лишь нескольких из них, а преимущество предотвращения преждевременного или случайного отсечения хороших ходов привело к существенно более высокой производительности. .
Разработчикам компьютерной системы для игры в шахматы необходимо решить ряд принципиальных вопросов реализации. К ним относятся:
- Графический пользовательский интерфейс (GUI) - как вводятся ходы и сообщаются пользователю, как записывается игра, как устанавливаются элементы управления временем и другие особенности интерфейса
- Представительство в Правлении - как отдельная позиция представлена в структурах данных;
- Методы поиска - как определить возможные ходы и выбрать наиболее перспективные для дальнейшего изучения;
- Оценка листа - как оценить значение позиции доски, если с этой позиции не будет производиться дальнейший поиск.
Графический пользовательский интерфейс
Компьютерные шахматные программы обычно поддерживают ряд распространенных де-факто стандарты. Почти все современные программы могут читать и записывать игровые ходы как Обозначение портативных игр (PGN), и может читать и записывать отдельные позиции как Обозначение Форсайта – Эдвардса (FEN). Старые шахматные программы часто понимали только длинная алгебраическая запись, но сегодня пользователи ожидают, что шахматные программы будут понимать стандартные алгебраическая шахматная система обозначений.
С конца 1990-х программисты начали разрабатывать отдельно двигатели (с Интерфейс командной строки который вычисляет, какие ходы самые сильные в позиции) или графический интерфейс пользователя (GUI), который предоставляет игроку шахматную доску, которую он может видеть, и фигуры, которые можно перемещать. Движки передают свои ходы в графический интерфейс с помощью протокола, такого как протокол обмена данными шахматного движка (CECP) или Универсальный шахматный интерфейс (UCI). Разделив шахматные программы на эти две части, разработчики могут написать только пользовательский интерфейс или только движок, без необходимости писать обе части программы. (Смотрите также шахматные двигатели.)
Разработчики должны решить, подключать ли движок к дебютной книге и / или эндшпилю. столы или оставьте это графическому интерфейсу.
Представительства Совета
В структура данных используется для представления каждой шахматной позиции является ключом к производительности генерации ходов и оценка позиции. Методы включают элементы, хранящиеся в массиве («почтовый ящик» и «0x88»), позиции элементов, хранящиеся в списке («список элементов»), коллекции наборов битов для местоположений элементов («битовые доски "), и закодированный Хаффманом позиции для компактного длительного хранения.
Методы поиска
Компьютерные шахматные программы рассматривают шахматные ходы как игровое дерево. Теоретически они исследуют все ходы, затем все встречные ходы к этим ходам, затем все противодействующие им ходы и так далее, где каждый отдельный ход одного игрока называется "слой ". Эта оценка продолжается до тех пор, пока не будет достигнута определенная максимальная глубина поиска или программа не определит, что была достигнута последняя" листовая "позиция (например, мат). На каждом слое выбирается" лучший "ход игрока; один игрок пытается максимизировать счет, другой - для минимизации. С помощью этого чередующегося процесса будет достигнут один конкретный конечный узел, оценка которого представляет искомое значение позиции. Его значение сохраняется в корне, и эта оценка становится оценкой позиции на доска.Этот процесс поиска называется минимаксом.
Наивная реализация этого подхода позволяет осуществлять поиск только на небольшую глубину за практический промежуток времени, поэтому были разработаны различные методы, чтобы значительно ускорить поиск хороших ходов.
В первая статья по теме был от Клод Шеннон в 1950 г.[23] Он предсказал две основные возможные стратегии поиска, которые будут использоваться, которые он назвал «Тип A» и «Тип B».[24] до того, как кто-либо запрограммировал компьютер для игры в шахматы.
Программы типа A будут использовать "грубая сила "подход, исследующий каждую возможную позицию за фиксированное количество ходов с помощью минимаксный алгоритм. Шеннон считал это непрактичным по двум причинам.
Во-первых, имея примерно тридцать возможных ходов в типичной реальной позе, он ожидал, что поиск примерно 109 позиции, которые смотрят на три хода вперед для обеих сторон (шесть слои ) потребовалось бы около шестнадцати минут, даже в «очень оптимистичном» случае, когда шахматный компьютер оценивал миллион позиций каждую секунду. (Чтобы достичь такой скорости, потребовалось около сорока лет.)
Во-вторых, он игнорировал проблему покоя, пытаясь оценить только позицию, которая находится в конце обмен фигур или другая важная последовательность ходов («линий»). Он ожидал, что адаптация типа A, чтобы справиться с этим, значительно увеличит количество позиций, которые необходимо рассмотреть, и еще больше замедлит программу.
Шеннон предположил, что вместо того, чтобы тратить впустую вычислительную мощность на плохие или тривиальные ходы, в программах «типа B» использовались бы два улучшения:
- Нанять поиск покоя.
- Посмотрите только на несколько хороших ходов для каждой позиции.
Это позволит им заглянуть дальше («глубже») в наиболее важные линии в разумные сроки. Проверка временем подтвердила первый подход; все современные программы перед оценкой позиций используют поиск в состоянии покоя. Второй подход (теперь называется прямая обрезка) был удален в пользу расширений поиска.
Адриан де Гроот опросили ряд шахматистов разной силы и пришли к выводу, что оба мастера а новички просматривают от сорока до пятидесяти позиций, прежде чем решить, какой ход сыграть. Первых намного лучше делает то, что они используют распознавание образов навыки, основанные на опыте. Это позволяет им исследовать одни линии гораздо глубже, чем другие, просто не учитывая ходы, которые они могут считать плохими.
Еще одним доказательством этого является то, что хорошим игрокам-людям гораздо легче вспомнить позиции из настоящих шахматных партий, разбивая их на небольшое количество узнаваемых под-позиций, а не полностью случайное расположение одинаковых фигур. Напротив, у плохих игроков одинаковый уровень запоминания для обоих.
Проблема с типом B заключается в том, что он полагается на то, что программа способна решить, какие ходы достаточно хороши, чтобы их можно было рассмотреть (`` правдоподобно '') в любой заданной позиции, и это оказалось гораздо более сложной проблемой, чем решение ускоренного типа. Поиск с использованием превосходного оборудования и методов расширения поиска.
Программы с полным поиском (методом «грубой силы») выиграли по той простой причине, что их программы лучше играли в шахматы. Такие программы не пытались имитировать мыслительные процессы человека, но полагались на полную ширину альфа-бета и Negascout поиски. Большинство таких программ (включая все современные программы сегодня) также включали довольно ограниченный селективный часть поиска, основанная на поисках в состоянии покоя и, как правило, на расширениях и сокращении (особенно при обрезке нулевого хода с 1990-х гг.), которые запускались на основе определенных условий в попытке отсеять или уменьшить явно плохие ходы (ходы истории) или исследовать интересные узлы (например, проверьте расширения, проходные пешки на седьмой классифицировать, так далее.). Однако триггеры расширения и сокращения нужно использовать очень осторожно. Слишком много времени, и программа тратит слишком много времени на поиск неинтересных позиций. Если обрезать слишком много, есть риск вырезать интересные узлы. Шахматные программы различаются в зависимости от того, как и какие типы правил сокращения и расширения включены, а также функции оценки. Некоторые программы считаются более избирательными, чем другие (например, Темно-синий было известно, что они менее избирательны, чем большинство коммерческих программ, потому что они могут позволить себе выполнять более полный поиск по всей ширине), но все они имеют базовый поиск по всей ширине в качестве основы и все имеют некоторые избирательные компоненты (Q-поиск, сокращение / расширения).
Хотя такие дополнения означали, что программа действительно не проверяла каждый узел в пределах своей глубины поиска (так что это не было бы по-настоящему грубой силой в этом смысле), было обнаружено, что редкие ошибки из-за этих выборочных поисков стоили сэкономленного дополнительного времени, потому что он мог искать глубже. Таким образом, шахматные программы могут получить лучшее из обоих миров.
Эвристика поиска и другие оптимизации
Чтобы сделать шахматные программы сильнее, можно использовать множество других оптимизаций. Например, таблицы транспонирования используются для записи позиций, которые были ранее оценены, чтобы сохранить их пересчет. Таблицы опровержения записывать ключевые ходы, которые «опровергают» то, что кажется хорошим ходом; они обычно сначала пробуются в различных позициях (поскольку ход, опровергающий одну позицию, скорее всего, опровергнет другую). Недостатком является то, что таблицы транспонирования на большой глубине слоя могут быть довольно большими - от десятков до сотен миллионов записей. Таблица преобразования IBM Deep Blue в 1996 году, например, насчитывала 500 миллионов записей. Слишком маленькие таблицы транспонирования могут привести к тому, что на поиск несуществующих записей из-за обмолота будет тратиться больше времени, чем на время, сэкономленное найденными записями. Многие шахматные движки используют размышляя, поиск более глубоких уровней времени оппонента, похожего на людей, чтобы увеличить их игровую силу.
Современные шахматные программы обычно используют множество независимых от предметной области расширений и сокращений, выполняя поиск в одних узлах на произвольную глубину, а в других - на меньшую глубину, в зависимости от конфигурации и истории ходов в дереве. Это контрастирует с выборочным поиском или сокращением вперед ранней эпохи: все ходы просматриваются до некоторой глубины; узлы удаляются только на основе того, что найдено, а не упреждающе, применяя знания шахмат, специфичные для предметной области.
Конечно, более быстрое оборудование и дополнительная память могут улучшить игру в шахматную программу. Гиперпоточные архитектуры могут незначительно повысить производительность, если программа работает на одном ядре или на небольшом количестве ядер. Большинство современных программ предназначены для использования преимуществ нескольких ядер для параллельного поиска. Другие программы предназначены для работы на компьютере общего назначения и распределяют генерацию ходов, параллельный поиск или оценку между выделенными процессорами или специализированными сопроцессорами.
Знания против поиска (скорость процессора)
В 1970-х годах большинство шахматных программ выполнялось на суперкомпьютерах, таких как Control Data Cyber 176 или Cray-1, что свидетельствует о том, что в тот период развития компьютерных шахмат вычислительная мощность была ограничивающим фактором производительности. Большинство шахматных программ изо всех сил пытались найти глубину более трех слоев. Только после появления аппаратных шахматных машин 1980-х годов связь между скоростью процессора и знаниями, закодированными в функции оценки, стала очевидной.
Было подсчитано, что удвоение скорости компьютера дает примерно от пятидесяти до семидесяти Эло очков в игровой силе (Леви и новорожденный 1991:192).
Оценка листа
Для большинства шахматных позиций компьютеры не могут предвидеть все возможные финальные позиции. Вместо этого они должны смотреть вперед на несколько слои и сравните возможные позиции, известные как листья. Алгоритм, который оценивает листья, называется "функция оценки ", и эти алгоритмы часто сильно различаются в разных шахматных программах.
Функции оценки обычно оценивают позиции с точностью до сотых долей пешки (так называемый центипаун) и рассматривают материальную ценность наряду с другими факторами, влияющими на силу каждой стороны. При подсчете материала для каждой стороны типичное значение для кусков составляет 1 балл за пешка, 3 балла за рыцарь или же епископ, 5 баллов за ладья, и 9 баллов за Королева. (Видеть Относительная ценность шахматной фигуры.) король иногда дается произвольно высокое значение, например 200 баллов (Бумага Шеннона ) to ensure that a checkmate outweighs all other factors (Levy & Newborn 1991:45). By convention, a positive evaluation favors White, and a negative evaluation favors Black.
In addition to points for pieces, most evaluation functions take many factors into account, such as pawn structure, the fact that a pair of bishops are usually worth more, centralized pieces are worth more, and so on. The protection of kings is usually considered, as well as the phase of the game (opening, middle or endgame).
The output of the evaluation function is a single scalar, quantized in centipawns or other units, which is a weighted summation of the various factors described. The evaluation putatively represents or approximates the value of the subtree below the evaluated node as if it had been searched to termination, i.e. the end of the game. During the search, an evaluation is compared against evaluations of other leaves, eliminating nodes that represent bad or poor moves for either side, to yield a node which by convergence, represents the value of the position with best play by both sides.
There is no analytical or theoretical framework for what the evaluation function should contain. Nor is it completely ad hoc.Dozens to hundreds of individual factors are agglomerated into a constant.
Таблицы для эндшпиля
Endgame play had long been one of the great weaknesses of chess programs, because of the depth of search needed. Some otherwise master-level programs were unable to win in positions where even intermediate human players can force a win.
To solve this problem, computers have been used to analyze some шахматный эндшпиль positions completely, starting with король и пешка against king. Such endgame tablebases are generated in advance using a form of ретроградный анализ, starting with positions where the final result is known (e.g., where one side has been mated) and seeing which other positions are one move away from them, then which are one move from those, etc. Кен Томпсон was a pioneer in this area.
The results of the computer analysis sometimes surprised people. In 1977 Thompson's Belle chess machine used the endgame tablebase for a king and ладья against king and Королева and was able to draw that theoretically lost ending against several masters (see Philidor position#Queen versus rook ). This was despite not following the usual strategy to delay defeat by keeping the defending king and rook close together for as long as possible. Asked to explain the reasons behind some of the program's moves, Thompson was unable to do so beyond saying the program's database simply returned the best moves.
Most grandmasters declined to play against the computer in the queen versus rook endgame, but Уолтер Браун accepted the challenge. A queen versus rook position was set up in which the queen can win in thirty moves, with perfect play. Browne was allowed 2½ hours to play fifty moves, otherwise a draw would be claimed under the правило пятидесяти ходов. After forty-five moves, Browne agreed to a draw, being unable to force checkmate or win the rook within the next five moves. In the final position, Browne was still seventeen moves away from checkmate, but not quite that far away from winning the rook. Browne studied the endgame, and played the computer again a week later in a different position in which the queen can win in thirty moves. This time, he captured the rook on the fiftieth move, giving him a winning position (Levy & Newborn 1991:144–48), (Nunn 2002:49).
Other positions, long believed to be won, turned out to take more moves against perfect play to actually win than were allowed by chess's fifty-move rule. As a consequence, for some years the official FIDE rules of chess were changed to extend the number of moves allowed in these endings. After a while, the rule reverted to fifty moves in all positions — more such positions were discovered, complicating the rule still further, and it made no difference in human play, as they could not play the positions perfectly.
Over the years, other база данных эндшпилей formats have been released including the Edward Tablebase, the De Koning Database and the Nalimov Tablebase which is used by many chess programs such as Rybka, Шредер и Фриц. Tablebases for all positions with six pieces are available.[25] Some seven-piece endgames have been analyzed by Marc Bourzutschky and Yakov Konoval.[26] Programmers using the Lomonosov supercomputers in Moscow have completed a chess tablebase for all endgames with seven pieces or fewer (trivial endgame positions are excluded, such as six white pieces versus a lone black король ).[27][28] In all of these endgame databases it is assumed that castling is no longer possible.
Many tablebases do not consider the fifty-move rule, under which a game where fifty moves pass without a capture or pawn move can be claimed to be a draw by either player. This results in the tablebase returning results such as "Forced mate in sixty-six moves" in some positions which would actually be drawn because of the fifty-move rule. One reason for this is that if the rules of chess were to be changed once more, giving more time to win such positions, it will not be necessary to regenerate all the tablebases. It is also very easy for the program using the tablebases to notice and take account of this 'feature' and in any case if using an endgame tablebase will choose the move that leads to the quickest win (even if it would fall foul of the fifty-move rule with perfect play). If playing an opponent not using a tablebase, such a choice will give good chances of winning within fifty moves.
The Nalimov tablebases, which use state-of-the-art сжатие techniques, require 7.05 ГБ of hard disk space for all five-piece endings. To cover all the six-piece endings requires approximately 1.2 Туберкулез. It is estimated that a seven-piece tablebase requires between 50 and 200 Туберкулез of storage space.[29]
Endgame databases featured prominently in 1999, when Kasparov played an exhibition match on the Internet against the остальной мир. A seven piece Королева и пешка endgame was reached with the World Team fighting to salvage a draw. Евгений Налимов helped by generating the six piece ending tablebase where both sides had two Queens which was used heavily to aid analysis by both sides.
Открытие книги
Chess engines, like human beings, may save processing time as well as select strong variations as expounded by the masters, by referencing an opening book stored in a disk database. Opening books cover the opening moves of a game to variable depth, depending on opening and variation, but usually to the first 10-12 moves (20-24 ply). Since the openings have been studied in depth by the masters for centuries, and some are known to well into the middle game, the valuations of specific variations by the masters will usually be superior to the general heuristics of the program.
While at one time, playing an out-of-book move in order to put the chess program onto its own resources might have been an effective strategy because chess opening books were selective to the program's playing style, and programs had notable weaknesses relative to humans, that is no longer true today.[когда? ] The opening books stored in computer databases are most likely far more extensive than even the best prepared humans, and playing an early out-of-book move may result in the computer finding the unusual move in its book and saddling the opponent with a sharp disadvantage. Even if it does not, playing out-of-book may be much better for tactically sharp chess programs than for humans who have to discover strong moves in an unfamiliar variation over the board.
Computer chess rating lists
CEGT,[30] CSS,[31] SSDF,[32] и WBEC[33] maintain rating lists allowing fans to compare the strength of engines. Various versions of Stockfish, Komodo and Houdini dominate the IPON rating list in the late 2010s.
CCRL (Computer Chess Rating Lists) is an organisation that tests computer chess engines ' сила by playing the programs against each other. CCRL was founded in 2006 to promote computer-computer competition and tabulate results on a rating list.[34]
The organisation runs three different lists: 40/40 (40 minutes for every 40 moves played), 40/4 (4 minutes for every 40 moves played), and 40/4 FRC (same time control but Chess960).[Примечание 1] Pondering (or постоянный мозг ) is switched off and timing is adjusted to the AMD64 X2 4600+ (2.4 GHz) ЦПУ используя Crafty 19.17 BH as a benchmark. Generic, neutral открытие книг are used (as opposed to the engine's own book) up to a limit of 12 moves into the game alongside 4 or 5 man tablebases.[34][35][36]
История
The pre-computer age
The idea of creating a chess-playing machine dates back to the eighteenth century. Around 1769, the chess playing автомат называется Турок, became famous before being exposed as a hoax. Before the development of digital computing, serious trials based on automata such as Эль-Аджедресиста of 1912 which played a king and rook versus king ending, were too complex and limited to be useful for playing full games of chess. The field of mechanical chess research languished until the advent of the digital computer in the 1950s.
Early software age: selective search
Since then, chess enthusiasts and computer engineers have built, with increasing degrees of seriousness and success, chess-playing machines and computer programs.One of the few chess grandmasters to devote himself seriously to computer chess was former Чемпион мира по шахматам Михаил Ботвинник, who wrote several works on the subject. He also held a doctorate in electrical engineering. Working with relatively primitive hardware available in the Советский союз in the early 1960s, Botvinnik had no choice but to investigate software move selection techniques; at the time only the most powerful computers could achieve much beyond a three-ply full-width search, and Botvinnik had no such machines. In 1965 Botvinnik was a consultant to the ITEP team in a US-Soviet computer chess match (see Kotok-McCarthy ).
The later software age: full-width search
One developmental milestone occurred when the team from Северо-Западный университет, который отвечал за Шахматы series of programs and won the first three ACM Computer Chess Championships (1970–72), abandoned type B searching in 1973. The resulting program, Chess 4.0, won that year's championship and its successors went on to come in second in both the 1974 ACM Championship and that year's inaugural Чемпионат мира по компьютерным шахматам, before winning the ACM Championship again in 1975, 1976 and 1977. The type A implementation turned out to be just as fast: in the time it used to take to decide which moves were worthy of being searched, it was possible just to search all of them. In fact, Chess 4.0 set the paradigm that was and still is followed essentially by all modern Chess programs today.
The rise of chess machines
In 1978, an early rendition of Ken Thompson's hardware chess machine Belle, entered and won the North American Computer Chess Championship over the dominant Northwestern University Chess 4.7.
The microcomputer revolution
Technological advances by orders of magnitude in processing power have made the brute force approach far more incisive than was the case in the early years. The result is that a very solid, tactical AI player aided by some limited positional knowledge built in by the evaluation function and pruning/extension rules began to match the best players in the world. It turned out to produce excellent results, at least in the field of chess, to let computers do what they do best (calculate) rather than coax them into imitating human thought processes and knowledge. В 1997 г. Темно-синий, a brute-force machine capable of examining 500 million nodes per second, defeated World Champion Garry Kasparov, marking the first time a computer has defeated a reigning world chess champion in standard time control.
Super-human chess
В 2016 г. энергетический ядерный реактор asked experts to characterize the playing style of computer chess engines. Мюррей Кэмпбелл of IBM stated that "Computers don't have any sense of aesthetics... They play what they think is the objectively best move in any position, even if it looks absurd, and they can play any move no matter how ugly it is." Grandmasters Andres Soltis and Сьюзан Полгар stated that computers are more likely to retreat than humans are.[21]
The next generation: Neural nets and monte-carlo tree search
В AlphaZero program uses a variant of Поиск в дереве Монте-Карло without rollout.[37] В Королевское общество с Венки Рамакришнан states that with Deep Blue, "we could say that the victorious programs were designed with (chess) algorithms based on our own understanding — using, in this instance, the experience and advice of top grand masters... (Deep Blue) was just a dumb machine... (But with AlphaZero), that way of programming is changing dramatically.[38]
График
- 1769 – Вольфганг фон Кемпелен строит the Turk. Presented as a chess-playing automaton, it is secretly operated by a human player hidden inside the machine.
- 1868 – Charles Hooper presents the Ajeeb automaton — which also has a human chess player hidden inside.
- 1912 – Leonardo Torres y Quevedo строит Эль-Аджедресиста, a machine that could play King and Rook versus King endgames.
- 1941 – Predating comparable work by at least a decade, Конрад Зузе develops computer chess algorithms in his Plankalkül programming formalism. Because of the circumstances of the Second World War, however, they were not published, and did not come to light, until the 1970s.
- 1948 – Норберт Винер книга Кибернетика describes how a chess program could be developed using a depth-limited minimax search with an функция оценки.
- 1950 – Клод Шеннон publishes "Programming a Computer for Playing Chess", one of the first papers on the algorithmic methods of computer chess.
- 1951 – Алан Тьюринг is first to publish a program, developed on paper, that was capable of playing a full game of chess (dubbed Turochamp ).[39][40]
- 1952 – Dietrich Prinz develops a program that solves chess problems.
а | б | c | d | е | ж | |||
6 | 6 | |||||||
5 | 5 | |||||||
4 | 4 | |||||||
3 | 3 | |||||||
2 | 2 | |||||||
1 | 1 | |||||||
а | б | c | d | е | ж |
- 1956 – Лос-аламосские шахматы is the first program to play a chess-like game, developed by Paul Stein and Mark Wells for the МАНИАК I компьютер.
- 1956 – Джон Маккарти изобретает alpha-beta search algorithm.
- 1957 – The first programs that can play a full game of chess are developed, one by Alex Bernstein[41] и один русский programmers using a БЭСМ.
- 1958 – NSS becomes the first chess program to use the alpha-beta search algorithm.
- 1962 – The first program to play credibly, Kotok-McCarthy, опубликовано на Массачусетский технологический институт.
- 1963 – Grandmaster Давид Бронштейн побеждает М-20 running an early chess program.[42]
- 1966–67 – The first chess match between computer programs is played. Москва Institute for Theoretical and Experimental Physics (ITEP) defeats Kotok-McCarthy at Стэндфордский Университет by telegraph over nine months.
- 1967 – Mac Hack VI, к Richard Greenblatt и другие. вводит transposition tables and employs dozens of carefully tuned move selection heuristics; it becomes the first program to defeat a person in tournament play. Mac Hack VI played about C class level.
- 1968 – Scottish chess champion Дэвид Леви makes a 500 фунт bet with AI pioneers Джон Маккарти и Дональд Мичи that no computer program would win a chess match against him within 10 years.
- 1970 – Monty Newborn и Ассоциация вычислительной техники organize the first North American Computer Chess Championships в Нью-Йорке.
- 1971 – Кен Томпсон, an American Computer scientist at Bell Labs and creator of the Unix operating system, writes his first chess-playing program called "chess" for the earliest version of Unix.[43]
- 1974 – Дэвид Леви, Ben Mittman and Monty Newborn organize the first Чемпионат мира по компьютерным шахматам which is won by the Russian program Каисса.
- 1975 – After nearly a decade of only marginal progress since the high-water mark of Greenblatt's MacHack VI in 1967, Northwestern University Chess 4.5 is introduced featuring full-width search, and innovations of bitboards and iterative deepening. It also reinstated a transposition table as first seen in Greenblatt's program. It was thus the first program with an integrated modern structure and became the model for all future development. Chess 4.5 played strong B-class and won the 3rd World Computer Chess Championship that year. Northwestern University Chess and its descendants dominated computer chess until the era of hardware chess machines in the early 80's.
- 1976 – In December, Canadian programmer Питер Р. Дженнингс релизы Microchess, the first game for microcomputers to be sold.[44]
- 1977 – In March, Fidelity Electronics releases Шахматный претендент, the first dedicated chess computer to be sold. В International Computer Chess Association is founded by chess programmers to organize computer chess championships and report on research and advancements on computer chess in their journal. Also that year, Applied Concepts released Борис, a dedicated chess computer in a wooden box with plastic chess pieces and a folding board.
- 1978 – Дэвид Леви wins the bet made 10 years earlier, defeating Chess 4.7 in a six-game match by a score of 4½–1½. The computer's victory in game four is the first defeat of a human master in a tournament.[9]
- 1979 – Фредерик Фридель organizes a match between IM Дэвид Леви и Chess 4.8, which is broadcast on German television. Levy and Chess 4.8, running on a CDC Cyber 176, the most powerful computer in the world, fought a grueling 89 move draw.
- 1980 – Fidelity computers win the World Microcomputer Championships each year from 1980 through 1984. In Germany, Hegener & Glaser release their first Мефисто dedicated chess computer. The USCF prohibits computers from competing in human tournaments except when represented by the chess systems' creators.[45] The Fredkin Prize, offering $100,000 to the creator of the first chess machine to defeat the world chess champion, is established.
- 1981 – Cray Blitz wins the Mississippi State Championship with a perfect 5–0 score and a performance rating of 2258. In round 4 it defeats Joe Sentef (2262) to become the first computer to beat a master in tournament play and the first computer to gain a master rating.
- 1984 – The German Company Hegener & Glaser's Мефисто line of dedicated chess computers begins a long streak of victories (1984–1990) in the World Microcomputer Championship using dedicated computers running programs ChessGenius и Мятежник.
- 1986 – Software Country (see Software Toolworks ) вышел Chessmaster 2000 based on an engine by David Kittinger, the first edition of what was to become the world's best selling line of chess programs.
- 1987 – Фредерик Фридель and physicist Matthias Wüllenweber found Шахматная база, releasing the first chess database program. Stuart Cracraft releases Шахматы GNU, one of the first 'chess engines ' to be bundled with a separate графический интерфейс пользователя (GUI), chesstool.[46]
- 1988 – Передовые технологии, разработан Ганс Берлинер и Carl Ebeling, wins a match against grandmaster Арнольд Денкер 3½–½. Глубокая мысль shares first place with Тони Майлз in the Software Toolworks Championship, ahead of former world champion Михаил Таль and several grandmasters including Самуил Решевский, Уолтер Браун и Михаил Гуревич. It also defeats grandmaster Бент Ларсен, making it the first computer to beat a GM in a tournament. Его рейтинг for performance in this tournament of 2745 (USCF scale) was the highest obtained by a computer player.[47][48]
- 1989 – Deep Thought demolishes David Levy in a 4-game match 0–4, bringing to an end his famous series of wagers starting in 1968.
- 1990 – On April 25, former world champion Анатолий Карпов lost in a simul to Hegener & Glaser's Mephisto Portorose M68030 chess computer.[49]
- 1991 – The ChessMachine based on Ed Schröder's Мятежник wins the World Microcomputer Chess Championship
- 1992 – ChessMachine wins the 7th Чемпионат мира по компьютерным шахматам, the first time a microcomputer beat mainframes. GM Джон Нанн релизы Секреты ладейной концовки, the first book based on endgame tablebases developed by Кен Томпсон.
- 1993 – Deep Thought-2 loses a four-game match against Бент Ларсен. Chess programs running on personal computers surpass Mephisto's dedicated chess computers to win the Microcomputer Championship, marking a shift from dedicated chess hardware to software on multipurpose personal computers.
- 1995 – Fritz 3, running on a 90Mhz Pentium PC, beats Deep Thought-2 dedicated chess machine, and programs running on several super-computers, to win the 8th Чемпионат мира по компьютерным шахматам в Гонконге. This marks the first time a chess program running on commodity hardware defeats specialized chess machines and massive super-computers, indicating a shift in emphasis from brute computational power to algorithmic improvements in the evolution of chess engines.
- 1996 – IBM's Темно-синий loses a six-game match against Гарри Каспаров, 2–4.
- 1997 – Deep(er) Blue, a highly modified version of the original, wins a six-game match against Гарри Каспаров, 3.5-2.5.
- 2000 – Stefan Meyer-Kahlen and Rudolf Huber draft the Универсальный шахматный интерфейс, a protocol for GUIs to talk to engines that would gradually become the main form new engines would take.
- 2002 – Владимир Крамник draws an eight-game match against Deep Fritz.
- 2003 – Kasparov draws a six-game match against Deep Junior and draws a four-game match against X3D Fritz.
- 2004 – a team of computers (Гидра, Deep Junior и Фриц ), wins 8½–3½ against a rather strong human team formed by Веселин Топалов, Руслан Пономарев и Сергей Карякин, who had an average Эло rating of 2681. Fabien Letouzey releases the source code for Fruit 2.1, an engine quite competitive with the top closed source engines of the time. This leads many authors to revise their code, incorporating the new ideas.
- 2005 – Rybka выигрывает IPCCC tournament and very quickly afterwards becomes the strongest engine.[50]
- 2006 – the world champion, Владимир Крамник, is defeated 4–2 by Deep Fritz.
- 2009 – Карманный Фриц 4 running on a smartphone, wins Copa Mercosur, an International Master level tournament, 9½/10 earning a performance rating of 2900.[18] A group of pseudonymous Russian programmers release the source code of Ippolit, an engine seemingly stronger than Rybka. This becomes the basis for the engines Robbolito and Ivanhoe, and many engine authors adopt ideas from it.
- 2010 – Before the Чемпионат мира по шахматам 2010, Topalov prepares by sparring against the supercomputer Blue Gene with 8,192 processors capable of 500 trillion (5 × 1014) floating-point operations per second.[51] Rybka developer, Vasik Rajlich accuses Ippolit of being a clone of Rybka.
- 2011 - The ICGA strips Rybka of its WCCC titles.[52][53]
- 2017 – AlphaZero, a neural net-based digital automaton, beats Stockfish 28–0, with 72 draws, in a 100-game match.
- 2019 – Лила Чесс Зеро (LCZero v0.21.1-nT40.T8.610) defeats Stockfish 19050918 in a 100-game match 53.5 to 46.5 for TCEC season 15 title.[54]
Categorizations
Выделенное оборудование
These chess playing systems include custom hardware with approx. dates of introduction (excluding dedicated microcomputers):
- Belle 1976
- Bebe, a strong bit-slice processor 1980
- Передовые технологии 1985
- ChipTest 1985
- Глубокая мысль 1987
- Deep Thought 2 (Deep Blue prototype)~1994
- Темно-синий 1996, 1997
- Гидра, predecessor was called Brutus 2002
- AlphaGo 2015
- AlphaZero 2017
Commercial dedicated computers
In the late 1970s to early 1990s, there was a competitive market for dedicated chess computers. This market changed in the mid-90s when computers with dedicated processors could no longer compete with the fast processors in personal computers.
- Boris in 1977 and Boris Diplomat in 1979, chess computers including pieces and board, sold by Applied Concepts Inc.
- Chess Challenger, a line of chess computers sold by Fidelity Electronics from 1977 to 1992.[55] These models won the first four World Microcomputer Chess Championships.[нужна цитата ]
- ChessMachine, РУКА -based dedicated computer, which could run two engines:
- "The King", which later became the Chessmaster engine, was also used in the TASC R30 dedicated computer.
- Gideon, a version of Мятежник, in 1992 became the first microcomputer to win the Чемпионат мира по компьютерным шахматам.[56]
- Excalibur Electronics sells a line of beginner strength units.
- Мефисто, a line of chess computers sold by Hegener & Glaser. The units won six consecutive World Microcomputer Chess Championships.[нужна цитата ]
- Novag sold a line of tactically strong computers, including the Constellation, Sapphire, and Star Diamond brands.
- Phoenix Chess Systems makes limited edition units based around Сильная рука и XScale processors running modern engines and emulating classic engines.
- Saitek sells mid-range units of intermediate strength. They bought out Hegener & Glaser and its Mephisto brand in 1994.
Recently, some hobbyists have been using the Мультиэмуляторная супер система to run the chess programs created for Fidelity or Hegener & Glaser's Mephisto computers on modern 64 bit operating systems such as Windows 10.[57] The author of Мятежник, Ed Schröder has also adapted three of the Hegener & Glaser Mephisto's he wrote to work as UCI engines.[58]
DOS programs
These programs can be run on MS-DOS, and can be run on 64 bit Windows 10 via emulators such as DOSBox или же Qemu:[59]
Известные теоретики
Well-known computer chess theorists include:
- Георгий Адельсон-Вельский, a Soviet and Israeli mathematician and computer scientist
- Ганс Берлинер, American computer scientist and world correspondence chess champion, design supervisor of HiTech (1988)
- Михаил Ботвинник, Soviet electrical engineer and world chess champion, wrote Пионер
- Alexander Brudno, Russian computer scientist, first elaborated the alphabeta pruning algorithm
- Feng-hsiung Hsu, the lead developer of Темно-синий (1986–97)
- Профессор Роберт Хаятт развитый Cray Blitz и Crafty[60]
- Danny Kopec, American Professor or Computer Science and International Chess Master, developed Kopec-Bratko test
- Александр Кронрод, Soviet computer scientist and mathematician
- Профессор Monroe Newborn, chairman of the computer chess committee for the Association of Computing Machinery
- Клод Э. Шеннон, American computer scientist and mathematician
- Алан Тьюринг, English computer scientist and mathematician
Решение шахмат
The prospects of completely решение chess are generally considered to be rather remote. It is widely conjectured that there is no computationally inexpensive method to solve chess even in the very weak sense of determining with certainty the value of the initial position, and hence the idea of solving chess in the stronger sense of obtaining a practically usable description of a strategy for perfect play for either side seems unrealistic today. However, it has not been proven that no computationally cheap way of determining the best move in a chess position exists, nor even that a traditional alpha-beta searcher running on present-day computing hardware could not solve the initial position in an acceptable amount of time. The difficulty in proving the latter lies in the fact that, while the number of board positions that could happen in the course of a chess game is huge (on the order of at least 1043[61] до 1047), it is hard to rule out with mathematical certainty the possibility that the initial position allows either side to force a mate or a threefold repetition after relatively few moves, in which case the search tree might encompass only a very small subset of the set of possible positions. It has been mathematically proven that generalized chess (chess played with an arbitrarily large number of pieces on an arbitrarily large chessboard) is EXPTIME-complete,[62] meaning that determining the winning side in an arbitrary position of generalized chess provably takes exponential time in the worst case; however, this theoretical result gives no lower bound on the amount of work required to solve ordinary 8x8 chess.
Мартин Гарднер с Minichess, played on a 5×5 board with approximately 1018 possible board positions, has been solved; its game-theoretic value is 1/2 (i.e. a draw can be forced by either side), and the forcing strategy to achieve that result has been described.
Progress has also been made from the other side: as of 2012, all 7 and fewer pieces (2 kings and up to 5 other pieces) endgames have been solved.
Chess engines
A "chess engine" is software that calculates and orders which moves are the strongest to play in a given position. Engine authors focus on improving the play of their engines, often just importing the engine into a графический интерфейс пользователя (GUI) developed by someone else. Engines communicate with the GUI by following standardized protocols such as the Универсальный шахматный интерфейс разработан Stefan Meyer-Kahlen and Franz Huber or the Chess Engine Communication Protocol developed by Tim Mann for Шахматы GNU и Winboard. Шахматная база has its own proprietary protocol, and at one time Millennium 2000 had another protocol used for ChessGenius. Engines designed for one operating system and protocol may be ported to other OS's or protocols.
Chess web apps
В 1997 г. Internet Chess Club released its first Java client for playing chess online against other people inside one's webbrowser.[63] This was probably one of the first chess web apps. Free Internet Chess Server followed soon after with a similar client.[64] В 2004 г. Международная заочная шахматная федерация opened up a web server to replace their email based system.[65] Chess.com started offering Live Chess in 2007.[66] Шахматная база /Playchess had long had a downloadable client, but they had a web interface by 2013.[67]
Another popular web app is tactics training. The now defunct Chess Tactics Server opened its site in 2006,[68] followed by Chesstempo the next year,[69] и Chess.com added its Tactics Trainer in 2008.[70] Шахматная база added a tactics trainer web app in 2015.[71]
Шахматная база took their chess game database online in 1998.[72] Another early chess game databases was Chess Lab, which started in 1999.[73] Новое в шахматах had initially tried to compete with Шахматная база by releasing a NICBase program for Windows 3.x, but eventually, decided to give up on software, and instead focus on their online database starting in 2002.[74]
One could play against the engine Шредер online from 2006.[75] В 2015 г. Шахматная база added a play Fritz web app,[76] as well as My Games for storing one's games.[77]
Starting in 2007, Chess.com offered the content of the training program, Chess Mentor, to their customers online.[78] Top GMs such as Сэм Шенкленд и Уолтер Браун have contributed lessons.
Смотрите также
Примечания
- ^ The first number refers to the number of moves which must be made by each engine, the second number refers to the number of minutes allocated to make all of these moves. The repeating time control means that the time is reset after each multiple of this number of moves is reached. For example, in a 40/4 time control, each двигатель would have 4 minutes to make 40 moves, then a new 4 minutes would be allocated for the next 40 moves and so on, until the game was complete.
Рекомендации
- ^ Sreedhar, Suhas. "Checkers, Solved!". IEEE Spectrum. Институт инженеров по электротехнике и электронике.
- ^ http://scid.sourceforge.net SCID.
- ^ [1] В архиве 20 августа 2008 г. Wayback Machine
- ^ http://www.exachess.com ExaChess for Mac
- ^ http://kalab.com/pgnviewer/
- ^ https://www.facebook.com/chessstudioapp/
- ^ Simon, H.A.; Newell, A. (1958). "Heuristic problem solving: The next advance in operations research" (PDF). Исследование операций. 6 (1): 7. Дои:10.1287/opre.6.1.1. Получено 10 февраля 2018.
- ^ а б c d е ж грамм Hapgood, Fred (23–30 December 1982). "Computer chess bad-human chess worse". Новый ученый. pp. 827–830. Получено 22 января 2015.
- ^ а б c Douglas, J R (December 1978). "Chess 4.7 versus David Levy". BYTE. п. 84. Получено 17 октября 2013.
- ^ Flock, Emil; Silverman, Jonathan (March 1984). "SPOC / The Chess Master". BYTE. pp. 288–294. Получено 8 сентября 2015.
- ^ Stinson, Craig (Jan 1982). "Chess Championship: Machines Play, People Watch". Мягкая линия. п. 6. Получено 13 июля 2014.
- ^ "Rebel vs Anand". Rebel.nl. Получено 2010-04-03.
- ^ "Chess News – Adams vs Hydra: Man 0.5 – Machine 5.5". ChessBase.com. Получено 2010-04-03.
- ^ Once Again, Machine Beats Human Champion at Chess New York Times, December 5, 2006
- ^ "Once Again, Machine Beats Human Champion at Chess". Нью-Йорк Таймс. 5 декабря 2006 г.. Получено 30 апреля 2010.
- ^ Computer Chess: The Drosophila of AI 30 октября 2002 г.
- ^ Deep Thought wins Fredkin Intermediate Prize, Ганс Берлинер
- ^ а б "Pocket Fritz 4 wins Copa Mercosur". Chess.co.uk. Архивировано из оригинал на 2011-09-30. Получено 2010-04-03.
- ^ Stanislav Tsukrov, Pocket Fritz author. Pocket Fritz 4 searches less than 20,000 positions per second.
- ^ "World chess champion Magnus Carlsen: 'The computer never has been an opponent'". Deutsche Welle. 16 апреля 2016 г.. Получено 26 августа 2016.
- ^ а б "20 Years Later, Humans Still No Match For Computers On The Chessboard". NPR.org. 2016. Получено 28 июн 2020.
- ^ What this means is that chess, like the common fruit fly, is a simple and more accessible and familiar paradigm to experiment with technology that can be used to produce knowledge about other, more complex systems.
- ^ Wheland, Norman D. (October 1978). "A Computer Chess Tutorial". BYTE. п. 168. Получено 17 октября 2013.
- ^ (Shannon 1950 )
- ^ Kirill Kryukov. "Endgame Tablebases Online". Kirill-kryukov.com. Получено 2010-04-03.
- ^ «Открытый шахматный дневник 301–320». Xs4all.nl. Получено 2010-04-03.
- ^ http://tb7.chessok.com Сайт Ломоносова, позволяющий зарегистрированному пользователю получить доступ к базе таблиц из 7 частей, и форум с найденными вакансиями.
- ^ «Кто от этого выиграет? (Шахматная головоломка)» Пример шахматной позиции, найденной из базы шахматных таблиц Ломоносова.
- ^ Размеры Rybka Lounge / Computer Chess / Tablebase, http://rybkaforum.net/cgi-bin/rybkaforum/topic_show.pl?tid=9380, 19 июня 2012 г.
- ^ CEGT 40/20, Большой турнир по шахматам, 12 октября 2008 г., архивировано из оригинал 1 марта 2012 г., получено 21 октября 2008
- ^ Computerschach und Spiele - вечный рейтинг, Computerschach und Spiele, 18 марта 2007 г., получено 21 мая 2008
- ^ Рейтинг SSDF, Шведская ассоциация шахматных компьютеров, 26 сентября 2008 г., получено 20 октября 2008
- ^ Рейтинговый список BayesianElo от WBEC Ridderkerk, получено 20 июля 2008
- ^ а б CCRL, http://www.computerchess.org.uk/ccrl/, 19 июня 2012 г.
- ^ Доска обсуждения CCRL, http://kirill-kryukov.com/chess/discussion-board/viewtopic.php?f=7&t=2808, 19 июня 2012 г.
- ^ Компьютерные шахматные страницы Адама, http://adamsccpages.blogspot.co.uk/2012/05/ccrl.html, 19 июня 2012 г.
- ^ Сильвер, Дэвид; Хуберт, Томас; Шриттвизер, Джулиан; Антоноглоу, Иоаннис; Лай, Мэтью; Гез, Артур; Ланкто, Марк; Сифре, Лоран; Кумаран, Дхаршан; Грэпель, Тор; Лилликрап, Тимоти; Симонян, Карен; Хассабис, Демис (2017). «Освоение шахмат и сёги путем самостоятельной игры с использованием общего алгоритма обучения с подкреплением». arXiv:1712.01815 [cs.AI ].
- ^ "Венки Рамакришнан: Станут ли компьютеры нашими властителями? ». Возможные умы: двадцать пять подходов к ИИ (Разжечь ред.). Penguin Press. 2019. стр. 174. ISBN 978-0525557999.
- ^ Шахматы, подраздел главы 25 «Цифровые компьютеры в играх» журнала «Faster than Thought», изд. Б. В. Боуден, Питман, Лондон (1953). В сети.
- ^ Игра по шахматному алгоритму Тьюринга
- ^ "Chessville - Ранние компьютерные шахматные программы - Билла Уолла - Прекрасный мир шахмат Билла Уолла". Archive.is. Архивировано 21 июля 2012 года.. Получено 1 декабря 2014.CS1 maint: BOT: статус исходного URL-адреса неизвестен (связь)
- ^ Давид Бронштейн - М-20, повтор на Chessgames.com
- ^ Деннис Ричи (Июнь 2001 г.). "Кен, Unix и игры". Журнал ICGA. 24 (2).
- ^ https://www.computerhistory.org/chess/orl-4334404555680/
- ^ «Новые ограничения». БАЙТ. Январь 1981 г. с. 292. Получено 18 октября 2013.
- ^ https://web.cecs.pdx.edu/~trent/gnu/bull/02/nb.html#SEC6
- ^ Сюй (2002) стр. 292
- ^ Новорожденный (1997) стр. 159
- ^ Выборочный поиск. Июнь 1990 г.
- ^ [2] Международный чемпионат по компьютерным шахматам в Падерборне 2005
- ^ «Challenger использует суперкомпьютер на чемпионате мира по шахматам». Шахматная база.
- ^ [3] В архиве 30 марта 2014 г. Wayback Machine
- ^ Риис, д-р Сорен (2 января 2012 г.). «Грубая ошибка правосудия в компьютерных шахматах (часть первая)». Новости Chessbase. Получено 19 февраля 2012.
- ^ https://cd.tcecbeta.club/archive.html?season=15&div=sf&game=1 TCEC 15 сезон
- ^ {{citeweb | url =http://www.ismenio.com/chess_cc1.html%7Ctitle=Fidelity Chess Challenger 1 - первый в мире шахматный компьютер | first = Ismenio | last = Sousa | access-date = 25 сентября 2016 г.}}
- ^ https://research.tilburguniversity.edu/en/publications/the-7th-world-computer-chess-championship-report-on-the-tournamen
- ^ http://rebel13.nl/rebel13/rebel%2013.html
- ^ http://rebel13.nl/dedicated/dedicated%20as%20uci.html
- ^ http://rebel13.nl/download/more%20dos%20oldies.html
- ^ "Домашняя страница доктора Роберта Хаятта". Cis.uab.edu. 2004-02-01. Получено 2010-04-03.
- ^ Размер пространства состояний и дерева игр для шахмат были впервые оценены в Клод Шеннон (1950), «Программирование компьютера для игры в шахматы» (PDF), Философский журнал, 41 (314), заархивировано оригинал (PDF) 6 июля 2010 г., получено 30 декабря 2008 Шеннон дал оценку 1043 и 10120 соответственно, меньше оценок в Сложность игры таблица, которая из Виктор Аллис тезис. Видеть Число Шеннона для подробностей.
- ^ Авиезри Френкель; Д. Лихтенштейн (1981), «Вычисление идеальной стратегии для шахмат n × n требует экспоненциального времени от n», J. Combin. Теория Сер. А, 31 (2): 199–214, Дои:10.1016/0097-3165(81)90016-9
- ^ «Архивная копия». Архивировано из оригинал на 1997-06-20. Получено 2019-07-08.CS1 maint: заархивированная копия как заголовок (связь)
- ^ «Архивная копия». В архиве из оригинала от 12.12.1998. Получено 2019-07-08.CS1 maint: заархивированная копия как заголовок (связь)
- ^ «Архивная копия». В архиве из оригинала 31.08.2004. Получено 2004-08-31.CS1 maint: заархивированная копия как заголовок (связь)
- ^ https://web.archive.org/web/20071006143047/http://www.chess.com/echess/
- ^ https://web.archive.org/web/20131217045511/http://play.chessbase.com/js/apps/playchess/
- ^ «Архивная копия». Архивировано из оригинал на 2006-04-08. Получено 2006-04-08.CS1 maint: заархивированная копия как заголовок (связь)
- ^ «Архивная копия». В архиве из оригинала 13.06.2007. Получено 2007-06-13.CS1 maint: заархивированная копия как заголовок (связь)
- ^ «Архивная копия». В архиве из оригинала 18.02.2008. Получено 2008-02-18.CS1 maint: заархивированная копия как заголовок (связь)
- ^ https://web.archive.org/web/20150504000924/http://training.chessbase.com/js/apps/Training/
- ^ https://web.archive.org/web/20000511014758/http://www.chessbase-online.com/
- ^ «Архивная копия». В архиве из оригинала от 19.02.1999. Получено 2019-07-08.CS1 maint: заархивированная копия как заголовок (связь)
- ^ «Архивная копия». В архиве из оригинала от 08.10.2002. Получено 2002-10-08.CS1 maint: заархивированная копия как заголовок (связь)
- ^ «Архивная копия». В архиве из оригинала от 05.12.2006. Получено 2006-12-05.CS1 maint: заархивированная копия как заголовок (связь)
- ^ http://fritz.chessbase.com/
- ^ http://mygames.chessbase.com/
- ^ «Архивная копия». В архиве из оригинала от 14 декабря 2007 г.. Получено 2007-12-14.CS1 maint: заархивированная копия как заголовок (связь)
Источники
- Сюй, Фэн-сюн (2002), За Deep Blue: создание компьютера, победившего чемпиона мира по шахматам, Princeton University Press, ISBN 0-691-09065-3
- Леви, Дэвид; Новорожденный, Монти (1991), Как компьютеры играют в шахматы, Computer Science Press, ISBN 0-7167-8121-2
- Новорожденный, Монти (1975), Компьютерные шахматы, Academic Press, Нью-Йорк
- Новорожденный, Монти (1997), Каспаров против Deep Blue: компьютерные шахматы достигают совершеннолетия, Спрингер, ISBN 0-387-94820-1 (На самом деле эта книга охватывает компьютерные шахматы с первых дней до первого матча между Deep Blue и Гарри Каспаровым.)
- Нанн, Джон (2002), Секреты концовок без пешек, Публикации Гамбита, ISBN 1-901983-65-X
- Шеннон, Клод Э. (1950), «Программирование компьютера для игры в шахматы» (PDF), Философский журнал, Сер.7, Т. 41 (314), заархивировано оригинал (PDF) 6 июля 2010 г., получено 21 июн 2009
- Освоение игры: история компьютерных шахмат в Музей истории компьютеров
- Хронология истории компьютерных шахмат Билла Уолла
дальнейшее чтение
- Новые архитектуры в компьютерных шахматах - Тезис о том, как построить шахматный движок
- Коулз, Л. Стивен (30 октября 2002 г.), Компьютерные шахматы: дрозофила ИИ, Журнал доктора Добба
- Хуберман (Лисков), Барбара Джейн (1968), Программа для игры в шахматы., Стэнфордский университет, факультет компьютерных наук, технический отчет CS 106, Стэнфордский проект по искусственному интеллекту, памятка AI-65
- Лазар, Мэтью (2011). Грубая сила или интеллект? Медленный рост компьютерных шахмат ". Ars Technica.
- Новорожденный, Монти (1996). В поисках Каспарова, Материалы симпозиумов по прикладной математике Американского математического общества: математические аспекты искусственного интеллекта, т. 55, стр. 175–205, 1998 г. На основании доклада, представленного на зимнем собрании Американского математического общества 1996 г., Орландо, Флорида, 9–11 января, 1996 г.
- Новорожденный, Монти (2000). Вклад Deep Blue в ИИ, Анналы математики и искусственного интеллекта, т. 28, стр. 27–30, 2000 г.
- Новорожденный, Монти (2006). Тео и Осьминог на чемпионате мира 2006 года по программам автоматического мышления, Сиэтл, Вашингтон, 18 августа 2006 г.
- Стиллер, Льюис (1996), Полилинейная алгебра и шахматные эндшпили (PDF), Беркли, Калифорния: Институт математических наук, Игры без шанса, Публикации ИИГС, Том 29, получено 21 июн 2009
внешняя ссылка
- Список рейтингов шахматного движка и файлы игры в формате PGN
- Освоение игры: история компьютерных шахмат на Музей истории компьютеров
- ACM Computer Chess Билла Уолла
- Информация и ресурсы по компьютерным шахматам - Блог о создании компьютерного шахматного движка
- Защита чести человечества, статья Тим Краббе про шахматы в "антикомпьютерном стиле"
- Руководство по таблицам для эндшпиля
- GameDev.net - Шахматное программирование от Франсуа-Доминика Лараме Партия 1 2 3 4 5 6
- Страница теории компьютерных шахмат Колина Фрейна
- ""Как REBEL играет в шахматы "Эда Шредера" (PDF). (268 КБ)
- «Играй в шахматы с Богом» - Играйте в шахматы по базе данных эндшпиля Кена Томпсона
- Вики по шахматному программированию
- Форумы компьютерных шахматных клубов
- Сильнейшие компьютерные шахматные движки с течением времени
Средства массовой информации
- История компьютерных шахмат: взгляд на искусственный интеллект - полная лекция с участием Мюррея Кэмпбелла (IBM Deep Blue Project), Эдварда Фейгенбаума, Дэвид Леви, Джон Маккарти и Монти Ньюборн. в Музей истории компьютеров