Проблема в том, что в го существует более 10>170 возможных позиций для полноразмерной доски 19 × 19. Если найти гарантированно кратчайший маршрут на карте относительно легко, найти гарантированную победу в го почти нереально. Даже если гонять алгоритм миллиард лет, он сможет исследовать лишь крохотную часть полного дерева возможностей. Отсюда вытекает два вопроса. Первый: какую часть дерева должна исследовать программа? Второй: какой ход она должна сделать, исходя из той части древа, которую исследовала?
Сначала ответим на второй вопрос. Основная идея, используемая практически во всех прогностических программах, состоит в том, чтобы приписывать оценку ценности ответвлениям дерева — самым отдаленным будущим состояниям — и затем двигаться назад, выясняя, насколько хороши варианты выбора ближе к корню[336]. Например, посмотрев на две позиции в нижней части схемы на рис. 16, можно дать оценку +5 (с точки зрения черных) позиции слева и +3 позиции справа, поскольку камень белых в углу намного более уязвим, чем сбоку. Если эти оценки верны, то черные могут ожидать от белых хода вбок, что приведет к позиции, представленной справа; следовательно, разумно приписать ценность +3 начальному ходу черных в центр. С небольшими вариациями это схема, использованная шахматной программой Артура Самуэля, победившей своего создателя в 1955 г.[337], Deep Blue, обыгравшей чемпиона мира по шахматам Гарри Каспарова в 1997 г., и AlphaGo, одолевшей бывшего чемпиона мира по го Ли Седоля в 2016 г. Для Deep Blue написали фрагмент программы, оценивавший позиции как ответвлений, на основании, главным образом, своего собственного знания шахмат. Программы Самуэля и AlphaGo изучили их сами по опыту тысяч или миллионов тренировочных игр.
Первый вопрос — какую часть дерева должна исследовать программа — является примером одного из самых важных вопросов в сфере ИИ: какие вычисления должен делать агент? В случае игровых программ это жизненно важно, поскольку они располагают малым, фиксированным временем, и тратить его на бесцельные расчеты — верный путь к проигрышу. Для людей и других агентов, действующих в реальном мире, это еще важнее, потому что реальный мир несравненно сложнее: без качественного выбора никакое количество вычислений не сделает ни малейшей зарубки в проблеме принятия решения о том, как действовать. Если вы ведете машину и на дорогу выходит лось, нет смысла размышлять о том, следует ли обменять евро на фунты стерлингов или черным сделать первый ход в середину доски.
Способность людей управлять своей вычислительной деятельностью так, чтобы принимать разумные решения в разумное время, по меньшей мере столь же потрясающа, как и их способность верно воспринимать информацию и рассуждать. Представляется, что мы приобретаем ее естественно и без усилий. Когда отец учил меня играть в шахматы, то объяснил мне правила, но не учил конкретным умным алгоритмам выбора, какую часть дерева исследовать, а какую игнорировать.