Семь главных игр в истории человечества. Шашки, шахматы, го, нарды, скрабл, покер, бридж
Шрифт:
В августе 1989 года Шеффер сидел за столиком в лондонской пятизвездочной гостинице Park Lane, он покачивал ногой и грыз ногти. Денег, выделенных ему на исследования в области шашек, не хватало на то, чтобы снять номер в этой гостинице, поэтому, когда нужно было привести себя в порядок, он пользовался туалетом в холле. Каждое утро он вез Chinook на метро в Park Lane и устанавливал рядом с собой все это громоздкое оборудование, которое включало вычислительную
Люди и машины прибыли в Лондон, чтобы участвовать в первой компьютерной олимпиаде. На десятках столов, расставленных в огромном банкетном зале, компьютеры с помощью посредников вроде Шеффера играли друг с другом в шахматы и шашки, а также в оваре, бридж, китайские шахматы, четыре в ряд, домино, го, гомоку, реверси, рэндзю и скрабл. Разговоры программистов и шорох передвигаемых фишек перемежались клацаньем клавиатур.
Противниками Chinook в категории шашек были такие программы, как Colossus, Sage Draughts, Checker Hustler, Tournament Checkers и, наконец, просто Checkers. Последняя программа заслуживала особого внимания. Ее создателем был разработчик программного обеспечения, концертирующий пианист и редактор журнала Hang Gliding. Тем не менее Chinook оставила позади всех представителей искусственного интеллекта и завоевала в Лондоне золотую медаль.
Шеффер и Трелор праздновали победу, однако не забывали о том, что на лондонской площадке не было самого выдающегося игрока в шашки, Мариона Тинсли. К этому моменту второй этап триумфальной карьеры Тинсли длился уже почти два десятилетия. «Многое смущало меня, – недавно признался мне Шеффер. – Как обыграть Тинсли? Ведь речь идет не об обычном человеке. Речь идет – и я говорю это не в отрицательном смысле – об отклонении от нормы. Речь идет о человеке, наделенном экстраординарными способностями. Сама мысль о нем вселяла в меня ужас».
Помимо быстрого поиска и точной оценки для победы над мастером Шефферу нужно было встроить в Chinook еще два ключевых элемента: дебюты и эндшпили. Каждая партия игры в шашки начинается одинаково: с 24 фишек, расставленных по своим полям определенным образом, иначе говоря, с предсказуемой мозаикой возможностей. Большинство подобных игр заканчиваются тоже одинаково – истощением резервов игроков и победой одного из них или ничьей. Распространенность и типичность этих вариантов порождают обширную теоретическую
С точки зрения компьютерных вычислений обсчет каждой позиции эндшпиля в реальном времени обошелся бы слишком дорого. Гораздо рациональнее было обсчитывать корректные розыгрыши эндшпилей заранее и загружать эти знания в Chinook. Поначалу это легко. Если на доске одна шашка (рядовая ситуация для эндшпиля), возможных позиций всего 120: простая шашка может находиться на одном из 28 полей, а дамка – на одном из 32 полей; при этом фишка может быть белой или черной. Однако если шашек две, позиций уже 7000. При трех шашках их больше четверти миллиона. При четырех – семь миллионов, при пяти – 150 миллионов, при шести – два с половиной миллиарда, а при семи – 35 миллиардов.
Иными словами, Шефферу нужно было научить Chinook выполнять с помощью механических операций то, что ведущие игроки делали с помощью интуиции и опыта. Целый месяц Шеффер по два часа в день педантично загружал в компьютер дебютные ходы из семитомного справочника по шашкам. (И это было еще немного. Кен Томпсон, разработчик операционной системы Unix и шахматной машины Belle, три года по часу в день вводил с клавиатуры строки из «Энциклопедии шахматных дебютов».) Что касается эндшпилей, Шеффер запустил на машинах обсчет бесчисленных комбинаций шашек и результатов. Через два с лишним месяца вычислений эндшпили с четырьмя шашками были завершены – как раз к лондонскому турниру 1989 года. В те времена драгоценные базы данных хранили на магнитной ленте – носитель был похож на огромную аудиокассету. С этим необычным предметом Шеффер разъезжал по соревнованиям, проводившимся в разных уголках мира. Даже единственный поврежденный бит информации в его массиве – одна единица вместо нуля – делал всю базу данных бесполезной.
Конец ознакомительного фрагмента.