![](https://habrastorage.org/webt/ta/zc/9l/tazc9llbx61hsjisrquzrd-qd5u.jpeg)
Стратегии — один из самых давних и почтенных жанров компьютерных игр. Ценители жанра вроде вашего покорного слуги проводили в них тысячи и тысячи часов — и, судя по объёмам дофамина и эндорфинов, это время точно не было потрачено впустую (ну, и мозги это дело прокачивает неплохо, пожалуй). Но с чего всё началось? И какая компьютерная стратегия на самом деле была первой?
Как нетрудно догадаться, первой стратегической игрой, которой человек попытался обучить машину, были шахматы. Причём самая ранняя попытка ознаменовалась курьёзом вполне в духе авантюрного и ироничного XVIII столетия, когда вся просвещённая публика обожала хитроумные устройства, а возможности шестерёнок и часовых механизмов казались бесконечными. В 1769 году знаменитый изобретатель Вольфганг фон Кемпелен представил в Вене невероятную разработку «Механический турок» — автоматизированное устройство для игры в шахматы. Манекен в человеческий рост, одетый по османской моде того времени, рукой-манипулятором двигал фигуры на шахматной доске, установленной на солидных габаритов коробке. Внутри коробки вращались загадочные шестерни, а механизм приходилось периодически подзаводить ключом. Устройство произвело фурор при дворе австрийской императрицы Марии-Терезии, а затем отправилось в долгий тур по всей Европе.
![](https://habrastorage.org/webt/p-/kr/mz/p-krmzpawpob5ffowpfgwbjzyn0.jpeg)
Как считается, автомат играл в шахматы даже с монаршими особами, сумев победить таких великих стратегов и тактиков, как Фридрих II и Наполеон Бонапарт. Однако чуду техники было более чем прозаическое объяснение: внутри сидел скрытый системой зеркал вполне живой и очень толковый мастер игры, который с помощью воистину хитроумной механики фон Кемпелена видел ходы противника и двигал свои фигуры с помощью руки-манипулятора. Историки до сих пор гадают, кто именно играл за «пультом» — известно лишь с некоторой степенью вероятности, что в 1809 году Наполеона обыграл «турком» знаменитый шахматист Иоганн Баптист Альгайер. Никакого ИИ, само собой, в XVIII веке создать было нельзя. И всё же нельзя не отдать должное мастерству и изобретательности мастера Вольфганга.
![](https://habrastorage.org/webt/fv/e2/nn/fve2nnehyxpdddfdkhn0bhwjxus.jpeg)
Однако идея о том, чтобы научить машину играть в шахматы, снова овладела научно-инженерными умами, как только уровень развития техники позволил хотя бы попытаться это сделать. Уже в 1912 году испанский изобретатель Леонардо Торрес-и-Кеведо создал шахматную машину El Ajedrecista, «шахматист». Она работала на реле, играла только за белые фигуры и могла выигрывать простейший эндшпиль, когда у белого игрока на доске оставались король и ладья, а у чёрных — только король. О ходах это порождение дизельпанка сигнализировало несколькими лампочками — фигуры двигал человек. А если игрок-человек нарушал правила игры, ходя фигурой короля не так, как ему полагается, машина возмущённо сигналила и при тройном нарушении прекращала игру.
![](https://habrastorage.org/webt/e8/qs/5h/e8qs5hib3gk0zvjc25amrm3rcdg.jpeg)
В 1920 году сын Леонардо Гонсало усовершенствовал устройство: теперь фигуры двигала сама машина с помощью магнитов, а при победе она объявляла сопернику шах и мат через громкоговоритель.
![](https://habrastorage.org/webt/z-/en/1c/z-en1c8e6ykzbcqnttnzjvlhadq.jpeg)
В 1951 году начиналась эпоха полноценных компьютеров, и об их обучении игре в шахматы одновременно задумались уже Алан Тьюринг и один из основоположников кибернетики Норберт Винер. Впрочем, они не были первыми: Клод Шеннон ещё в 1950 году написал статью «Программирование компьютера для игры в шахматы», заложившую многие последующие успехи в этом направлении.
![](https://habrastorage.org/webt/ur/bp/nt/urbpnt0vntiwmrzkjiqdbolsyp0.jpeg)
Уже в 1956 году в ядерной лаборатории Лос Аламоса написали программу для MANIAC I по игре в упрощённые шахматы на доске 6х6 без слонов и двойных ходов пешками: полноценную доску и полный набор правил один из первых фон-неймановских мейнфреймов ещё не тянул в принципе. Машина, конечно, тупила и тормозила, продула опытному шахматисту, но сумела-таки обыграть недавно научившуюся шахматам сотрудницу лаборатории. Естественно, никакого графического отображения не было: компьютер выдавал только ходы, а фигуры на вполне материальной доске двигали сами люди.
![](https://habrastorage.org/webt/5e/o4/19/5eo419n8035ba5vhfvsk2qbjawa.jpeg)
В 1957 году американский компьютерщик из IBM (и шахматист в одном лице) Алекс Бернштейн при участии нескольких коллег написал первую в истории программу для полноценной игры в шахматы с компьютером для IBM 704. Правда, программа едва помещалась в невеликой памяти машины — зато для обдумывания хода ей требовалось всего лишь около восьми минут.
Шахматная программа Бернштейна выбирала наиболее вероятные плодотворные ходы и тщательно их исследовала, сравнивая один с другим по ряду параметров (большая база данных позволяла обсчитывать возможные движения фигур по полям доски). Также программа проверяла ситуацию и возможности в порядке убывания важности: для начала, не находится ли король под шахом? Если да, нужно или съесть угрожающую ему фигуру, или вывести короля из-под удара. Если шаха не было, программа просчитывала: можно ли съесть вражескую фигуру, не находится ли своя фигура под возможным ударом и что в данном случае было бы полезнее. Так, для её алгоритма спасти или взять ладью было важнее, чем спасти или взять пешку.
![](https://habrastorage.org/webt/kg/hc/22/kghc22onhwmnsmun-ewtdbnbnvw.jpeg)
Чем умнее и доступнее становились компьютеры, тем больше программистов разрабатывали шахматные программы для них — в том числе потому, что шахматы считались важной и полезной для интеллекта игрой, а крупные шахматные чемпионаты с битвами великих гроссмейстеров завладевали вниманием мировых СМИ и болельщиков лишь немногим меньше, чем футбольные или хоккейные матчи. Сделать программу, способную уверенно обыгрывать гроссмейстера, не удавалось до самых 90-х годов — но сделать это пытались многие, и далеко не только в США. Советские компьютерщики тоже обожали шахматы, разрабатывали программы для советских ЭВМ и при этом опирались на сильнейшую советскую шахматную школу со множеством имён мирового уровня.
![](https://habrastorage.org/webt/kh/vh/ry/khvhrygmd8-y7siid9nwbyesiiq.jpeg)
Это нашло отражение даже в творчестве Стругацких:
Фёдор же Симеонович Киврин забавлялся с машиной, как ребёнок с игрушкой. Он мог часами играть с ней в чет-нечет, обучил её японским шахматам, а чтобы было интереснее, вселил в машину чью-то бессмертную душу — впрочем, довольно жизнерадостную и работящую.
Масла в огонь мировой популярности шахмат подливала конкуренция советской и западных шахматных школ. Уже в 1966 году состоялся первый в мире советско-американский шахматный матч между компьютерными программами. Идея о нём возникла во время визита в СССР у американского программиста Джона Маккарти, участвовавшего в разработке шахматного алгоритма Kotok-McCarthy 1962 года для IBM 7090. Американец из Стэнфорда встретился с Владимиром Арлазаровым из Института теоретической и экспериментальной физики — который, в свою очередь, вместе с Анатолием Усковым, Георгием Адельсоном-Вельским и другими коллегами в 1964 году сделали шахматный алгоритм для ЭВМ М-20.
![](https://habrastorage.org/webt/u5/og/bh/u5ogbhiryzirmsbct5l164x0sz4.jpeg)
Арлазаров и Маккарти «забились» на матч своих программ и компьютеров буквально по переписке — ходы передавались между ИТЭФ и Стэнфордом по телеграфу. Алгоритмы были уже более-менее проработанными: по словам Маккарти, их детище играло на уровне «продвинутого новичка, сыгравшего около сотни партий», и на тот момент это была лучшая шахматная программа в США. IMB 7090 для обсчёта одного хода требовалось от 5 до 20 минут. Советская ЭВМ была гораздо более медлительной: ход она обсчитывала примерно за ночь. Но… зато советский алгоритм оказался более совершенным. И выиграл в четырёх партиях со счётом 3:1.
![](https://habrastorage.org/webt/6w/fp/ly/6wfplyumgxktyhi-eq6cvbanom4.jpeg)
Впрочем, игра 1966 года была самодеятельностью учёных поверх границ, а первый официальный в мире чемпионат между компьютерными программами состоялся только в 1974-м. За СССР выступала программа «Каисса», написанная Арлазаровым на ассемблере на основе его наработок середины 60-х для британской ЭВМ ICL System 4/70. Программа была крайне продвинутой, имела дебютную книгу на 10 000 ходов, использовала новый алгоритм отсечения позиций и впервые использовала побитовое представление доски. «Каисса» умела производить анализ во время хода соперника, использовала эвристику нулевого хода и сложные алгоритмы для управления временем. И убедительно выиграла чемпионат у программ-конкурентов, принеся своим разработчикам золотую медаль. Впрочем, хорошим шахматистам-людям, даже крепким любителям, «Каисса» и другие компьютерные шахматисты 70-х всё же чаще проигрывали.
![](https://habrastorage.org/webt/cl/l1/kc/cll1kc-asv2mdn5bbfxe6bx9bzi.jpeg)
Однако успехи этих программ показали, что машины в принципе можно научить играть в игры стратегического и тактического характера — и далеко не только в шахматы. Уже в 70-е в США существовало немалое количество любимых гиками настольных стратегий. Идея прикрутить к ним ИИ и сразиться с компьютером — особенно всё более доступным в виде ПК — буквально витала в воздухе. Самые первые игры в жанре компьютерной стратегии (к которым мы будем относить и тактические игры, которые в английской терминологии часто рассматриваются как отдельная категория) увидели свет в конце 70-х годов. С рассказа о них мы начнём нашу следующую часть.
![](https://habrastorage.org/webt/sq/1w/aw/sq1waw4gy7gyl2hd3eooyqz0ui4.jpeg)
Ну а компьютерные шахматы продолжали бурно развиваться. В 1990-х они стали уверенно побеждать топовых гроссмейстеров. Ну а ныне люди даже не берутся всерьёз противостоять мощным шахматным алгоритмам: дело это по определению проигрышное.
А вот в более комплексных и сложных стратегиях у ИИ пока что это не слишком получается, несмотря на усилия разработчиков. Почему так — тоже попробуем разобраться дальше.
Оставайтесь с нами!
![](https://habrastorage.org/webt/hc/88/sb/hc88sbzi7apcmcvqt2icby4azas.jpeg)