On-line: guests 0. In total there are: 0 [information..]
AuthorTopic
Renegat23
administrator


Post №: 502
Joined: 14.07.07
Rank: 4

Awards: Молодец! Спасибо за интересный материал!!!За безудержный оптимизм!;-)
link post  Posted: 03.10.07 07:14. Post subject: Раритет. Краткая история развития компьютерных шахмат


Первый шахматный компьютер.

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

Идея Тьюринга.

Удивительно, что первая шахматная программа была написана еще до изобретения первого компьютера. Это программа была придумана одним провидцем, совершенно точно предугадавшим изобретение программируемых компьютеров, способных играть в шахматы. Этим человеком был Алан Тьюринг, один из величайших математиков всех времен. Тьюринг возглавлял группу ученых, взломавших немецкий код “Enigma”, что в определенной мере предрешило исход Второй Мировой войны. Он очень любил шахматы, но несмотря на все свои невероятные усилия, имея гигантский интеллект, Тьюринг все равно оставался довольно посредственным шахматистом. Вскоре после окончания войны, он написал алгоритм, с помощью которого можно было бы обучить машину играть в шахматы. Но поскольку на тот момент еще не существовало компьютера, который был бы способен выполнять подобные алгоритмы, то он решил сам выступить в этой роли. Следуя своим же инструкциям, Тьюринг действовал как «человек-компьютер», и у него уходило более получаса на то, чтобы совершить один ход. Одна такая партия, в которой «Бумажная машина» Тьюринга проиграла одному из его коллег, была записана.
Вот как проходила эта историческая партия:

«Бумажная машина» Тьюринга - Алик Гленни. ,
Манчестер 1952 год

1.e4 e5 2.Kc3 Kf6 3.d4 Cb4 4.Kf3 d6 5.Cd2 Kc6 6.d5 Kd4 7.h4 Cg4 8.a4 K:f3+ 9.g:f3 Ch5 10.Cb5+ c6 11.d:c6 0-0 12.c:b7 Лb8 13.Ca6 Фa5 14.Фe2 Kd7 15.Лg1 Kc5 16.Лg5 Cg6 17.Cb5 K:b7 18.0-0-0 Kc5 19.Cc6 Лfc8 20.Cd5 C:c3 21.C:c3 Ф:a4 22. Kpd2? [22.h5! - и слон в ловушке] 22…Кe6 23.Лg4 Kd4? [23… Л:b2! 24.C:b2 Л:c2+] 24.Фd3 Kb5 25.Cb3 Фa6 26.Cc4 Ch5 27.Лg3 Фa4 28.C:b5 Ф:b5 29.Ф:d6 Лd8 0-1

Стратегии Шеннона

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

Шахматы вместо атомных бомб. Во время войны США построили гигантскую лабораторию в Лос Алмосе, в пустыне Нью Мексико, с целью создания атомного оружия. Разработка правильной формы зарядов и детонаторов, которая повлекла бы цепную реакцию, требовала большого количества вычислений.

В 1946 году венгро-американский математик по имени Джон фон Ньюманн получил задание построить мощную вычислительную машину, которая позволила бы ускорить расчеты. В 1950 году он представил компьютер гигантских размеров под названием MANIAC 1. Машина состояла из тысяч вакуумных трубок и переключателей. Она могла выполнять до 10.000 операций в секунду. К тому же, компьютер был программируемым.

Вместо того, чтобы немедленно приступить к работе над бомбами, ученые начали проводить с компьютером различные эксперименты. И одной из первых была написана именно шахматная программа. Это были уменьшенные шахматы, 6х6 (без слонов). Несмотря на это, этой программе требовалось 12 минут на то, чтобы продумать следующие 4 полухода ; со слонами та же самая операция заняла бы три часа.

В середине пятидесятых этот компьютер провел три партии. Первую партию он сыграл сам с собой, и белые выиграли, во второй партии против компьютера играл сильный шахматист. Эта партия продолжалась 10 часов и закончилась победой шахматиста. Последнюю партию компьютер сыграл с молодой девушкой, научившейся играть в шахматы всего за неделю до этого. Компьютер победил на 23-ем ходу. Первый раз за всю историю машина превзошла человека в интеллектуальной игре.

Ниже мы приводим текст второй, вошедшей в историю шахматной партии этого компьютера (ограничения: доска 6х6, без слонов, не допускается ходы пешек на 2 клетки в первоначальной позиции, без рокировок).

MANIAC 1 - Человек,
Лос Аламос, 1956:

1.d3 b4 2.Kf3 d4 3.b3 e4 4.Ke1 a4 5.b:a4? [5.Kd2 и 6.Kd2-c4+ Kbc:c4 7.b3:c4 с хорошей игрой] 5…K:a4 6.Kp2? Kc3 7.K:c3 b:c3+ 8.Kpd1 f4 9.a3 Лb6 10.a4 Лa6 11.a5 Kpd5 12.Фa3 Фb5 13.Фа2+ Кре5 14.Лb1 Л:a5 15.Л:b5 Л:а2 16.Лb1 [с целью предотвратить мат: 16…Ла1] 16…Ла5 17.f3 Ла4 18.f:e4 c4 19.Kf3+ Kpd6 20.e5+ Kpd5 21.e:f6Ф Kc5 22.Фf6:d4+ Kpc6 23.Kf3 e5 мат.

Шахматы и математика.

Основной проблемой при создании шахматных программ является очень большое число возникающих продолжений. В обычной позиции возможно около 40 легальных ходов, а если посчитать каждый ответный ход, то получается 40х40 = 1600 возможных позиций. Это означает, что после каждых двух полуходов возникает 1600 вариантов возможных продолжений. После двух ходов – 2.5 млн., после трех – 4.1 млрд. В среднем за одну партии производится около 40 ходов. Это означает, что количество возможных ходов равно 10 128. Это число значительно больше числа атомов в изученной нами части вселенной (всего лишь жалкие 10 80).

Очевидно, что при таком уровне развития техники, ни компьютер, ни любая другая машина не в состоянии вести партию путем вычисления всех возможных последующих ходов. Однако и люди не являются идеальными игроками. Вопрос состоит в том, достаточно ли велики ресурсы компьютера для того, чтобы победить стратегический гений человека. Первые компьютеры рассчитывали до 500 позиций в секунду, т.е. 90.000 за 3 минуты – время, отпускаемое на соревнованиях для одного хода. Это означает, что за это время они могли продумать только 1.5 хода, что соответствует очень слабой игре - уровень начинающего шахматиста. Для того чтобы просчитывать на полуход больше, необходимо было продумывать 15.000 позиций в секунду, то есть в 30 раз больше, чем осуществляли те первые компьютеры. Но даже два хода – это очень немного. Так, что тогда казалось нереальным, что компьютеры когда-нибудь смогут играть на уровне гроссмейстеров высокого класса.

Альфа-Бета.

Первый прорыв в этом направлении был осуществлен в 1958 году тремя учеными (Ньюэл, Шоу и Симон) из Университета Карнеги-Меллон в Питтсбурге. Именно они сделали важное открытие. Они утверждали, что если отбросить довольно большую часть поиска возможных вариантов, то это не повлияет на конечный результат. Они назвали это алгоритмом Альфа-Бета. Важно заметить, что в данном случае использовалась только математика и каких-либо специальных знаний в области шахмат не требовалось.

Рассмотрим как работает этот алгоритм в общем виде: компьютер, проанализировав один из возможных ходов, переходит к работе над другим. Если последующий вариант оказывается хуже предыдущего, то мы можем прекратить исследование продолжений второго хода. При этом не важно, насколько хуже он был. Программа все равно предпочтет первый ход.

Для того, чтобы прийти к такому же результату, что и программы с полномасштабным поиском, Альфа-Бета просматривает на порядок меньше комбинаций. И теперь ЭВМ могли просчитывать игру уже на 5-6 полуходов вперед. В середине 70-х самые быстрые компьютеры (например, серии CDC Cyber) могли просчитывать на 7 полуходов вперед, при такой мощности они уже пользовались славой достойных соперников. Но даже на Альфа - Бете для того, чтобы подняться на один полуход выше, необходимо увеличить скорость в пять раз. На пути опять встало непомерно большое количество расчетов.

Компьютер «Belle».

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

Он и его коллега из лаборатории Белл решили создать специальный компьютер, начиненный сотнями чипов, стоимостью около 20.000$. Они назвали его «Belle», и он был предназначен только для игры в шахматы.

Этот компьютер мог совершать до 180.000 операций в секунду, тогда как суперкомпьютеры того времени исследовали лишь 5.000 позиций за то же время. «Belle» мог продумывать позицию на 8-9 полуходов вперед, что ставило его на уровень шахматиста мастер класса. Он победил на Всемирном шахматном турнире среди компьютеров, а так же на многих других шахматных турнирах, в период с 1980 по 1983 год, но вскоре после этого он был вытеснен другим шахматным компьютером под названием «Cray X-MPs», стоимость которого в тысячу раз превышала стоимость «Belle».

Шахматные чипы.

В середине 80-х профессор Ганс Берлинер, компьютерный ученый Университета Карнеги - Меллон, придумал, как усовершенствовать компьютер Кена Томпсона. Берлинер, который, кроме того, был чемпионом мира в шахматах по переписке, создал шахматный компьютер HiTech.

Вместе со своим аспирантом Карлом Эбелингом, он создал компьютерный чип нового поколения. Однако HiTech с параллельно действовавшими 64-мя чипами, хоть и с небольшим отставанием, но все же проиграл Cray X-MPs на всемирном чемпионате среди компьютеров в 1986 году.

Вскоре после этого другие студенты Берлинга (Фенг-хсиунг Хсу, Мюррей Кемпбелл и другие) разработали свой собственный компьютер ChipTest , а позже и Deep Thought. Он стоил около 5.000$ и мог продумывать до 500.000 позиций в секунду. Позже Хсу и Кемпбелл расстались со своим учителем и присоединились к IBM. Совместно в Джо Хоан они построили нынешний IBM-компьютер Deep Blue.

Deep Blue

Компьютер, против которого в Филадельфии и Нью-Йорке играл Гарри Каспаров, представлял собой сервер IBM SP/2, оборудованный большим количеством специально разработанных чипов, производящих мгновенные вычисления. Каждый чип осуществляет 2-3 млн. операций в секунду. При использовании около 200 таких чипов общая скорость работы программы может достичь 200 млн. операций в секунду.

Глубина расчетов против игровой силы.

Что же такое 200 млн. операций в секунду для шахматной программы? Кен Томпсон, основатель «Belle», Unix и компьютерного языка "С", в 80-х поставил несколько интересных экспериментов, целью которых было установить связь между операционной скоростью компьютера и его игровым потенциалом.

Томпсон заставил Белл играть с самим собой, придав одной из сторон больший игровой потенциал. В среднем, компьютер, способный продумывать вперед на один полуход, имеет игровой потенциал равный приблизительно 200 ЭЛО. Продумывая вперед на четыре полухода, Белл играл на уровне 1230 ЭЛО, на девять полуходов - 2328 ЭЛО.

Если продолжить данную кривую, которая выравнивается по мере приближения к максимальному значению, можно вычислить, что, продумывая вперед на 14 полуходов, компьютер достигнет уровня чемпиона мира (2800 ЭЛО).

Заключение экспертов выглядит следующим образом: если вы хотите соревноваться с чемпионом мира за обладание титула, необходимо создать компьютер, который бы выполнял до 1 миллиарда операций в секунду (и продумывал последующие 14 полуходов). Deep Blue очень близок к этому, но все же его мощность пока еще не так высока.

Micros

Естественно, качество программного обеспечения имеет большое значение. Ведущие на сегодняшний день компьютерные программы типа Fritz и Junior, используя самые быстрые компьютеры, исследуют до 600.000 позиций в секунду. Реально они рассчитаны на состязания с игроками, чей игровой потенциал свыше 2600, т.е. могут соревноваться со всеми кроме 100 ведущих игроков мира. В соревнованиях по быстрым шахматам с ними может соревноваться лишь приблизительно десять ведущих шахматистов, а в блиц турнирах только 2-3 шахматиста смогут составить достойную конкуренцию.

Атака на два фронта.

Важно отметить, что многочисленные книги по теории дебютов играют огромную роль в формировании игрового потенциала компьютеров. Обобщенные знания и опыт многих поколений шахматистов могут спокойно уместиться на жестком диске и использоваться компьютером на первой стадии игры, т.е. в дебюте. Компьютерные программы знают десятки миллионов дебютных позиций и имеют доступ к информации по каждой из них (какие ходы были сделаны, какие из них результативные, какого ранга игрок и т.д.). Зачастую программа делает 15-20 первоначальных ходов прежде, чем начинает по-настоящему соревноваться. Без преимущества от накопленных человеком знаний дебютной теории, программы были бы значительно слабее.

Помимо тех существенных преимуществ, которые приобретают компьютеры, используя накопленные за всю историю шахмат дебютные знания, они также обладают преимуществом в эндшпиле.

Эндшпильные базы данных.

И снова, пионером этой программы, был вездесущий Кен Томпсон. В 80-х он начал создание базы данных всех возможных эндшпильных позиций с 4 или 5 фигурами на доске. В типичном пятифигурном окончании, например, король и два слона с одной стороны против короля и коня - с другой, содержится 121 миллион возможных позиций. А с пешкой, которая двигается несимметрично, это число возрастает до 335 миллионов. Томпсон написал программы, которые генерировали все возможные позиции и прорабатывали все силовые линии в каждом эндшпиле. Он также сжал полученную в результате базу до такой степени, что на однин стандартный CD-ROM помещалась информация о 20 эндшпилях. Используя эти базы данных, компьютер может идеально играть в любом окончании («как Бог»). В любой позиции при данной расстановке фигур, компьютер моментально вычисляет, будет ли партия выигрышной, ничейной или проигрышной и за сколько ходов что может произойти.

Зачастую, он предсказывает победу или мат более чем за 50 ходов. В случае проигрышной позиции он выстраивает оптимальную защиту.

Эндшпильные базы данных, разработанные Томпсоном, использует Deep Blue, и даже компьютерные программы Fritz теперь применяют их при разработке различных вариантов продолжений. Вопрос о том, как это повлияет на их игровой потенциал, пока остается открытым.

В некоторых из пятифигурных эндшпилей человеку очень трудно или порой невозможно добиться компьютерного мастерства. Например, ни один человек не сможет переиграть компьютер в ситуации: королева и пешка c одной стороны, против королевы с другой. Однако эти пятифигурные эндшпили еще «цветочки» по сравнению с шестифигурными, которые в настоящее время разрабатывает Томпсон. В некоторых шестифигурных эндшпилях для победы необходимо проделать более 200 хорошо просчитанных ходов. Однако, даже сильнейшие игроки мира порой не в состоянии определить как изменилась ситуация после 100 ходов, которые были совершенно необходимы по мнению компьютера.

Естественно, развитие такого компьютерного обеспечения идет на пользу компьютерам вообще. Шестифигурные эндшпили Томпсона, которые содержат от 8 до 20 миллиардов возможных ходов каждый, могут быть уменьшены до размеров, подходящих для DVD. К счастью, семифигурные эндшпили, содержащие 1/2 триллиона возможных ходов каждый, пока еще очень далеки. И, скорее всего, эти два направления развития анализа - дебютные и эндшпильные базы данных - никогда не пересекутся. Кажется маловероятным, что кто-либо когда-нибудь увидит компьютер, который сыграет 1.е4 и поставит мат в 40 ходов. Но с уверенностью можно сказать, что уже через нескольких лет или десятилетий компьютер будет обыгрывать в шахматы чемпиона мира, это лишь вопрос времени.

Когда это произойдет?

Когда точно это произойдет? Когда компьютер победит чемпиона мира в обычном матче? Вот прогнозы некоторых ведущих экспертов, сделанные в период с 1991 по 1994гг.:

1992 Профессор Монти Ньюборн
1993 Джон МакКарти
1994 Ганс Берлинер, Фенг-Сиунг Хсу
1995 Мюррей Кэмбелл, Дональд Мичи, Майк Валов
1999 Клод Шэннон, Фредерик Фридель
2001 Джон Нанн
2010 Гарри Каспаров
2018 Кен Томпсон

Источник: Фредерик Фридель,
"Schach am PC", Markt & Technik, Германия, 1995.

Say thanks!: 0 
Profile Reply
No new replys


Тему читают:
- user online
- user offline
All times are GMT  2 Hours. Hits today: 0
You can: smiles yes, images yes, types no, poll no
avatars yes, links on, premoderation on, edit new post no