Допустим, мы настроим турнирную программу таким образом, что при каждой победе А будет звенеть колокольчик, а при каждой победе Б – раздаваться гудок. Когда мы запустим марафон, наблюдатель, не знающий ничего о программе, заметит, что колокольчик звенит довольно часто, а гудок не раздается почти никогда. Наблюдателю захочется узнать, чем объясняется эта закономерность. Закономерность побед А над Б можно выявить и описать, не принимая интенциональную установку, но она все равно потребует объяснения. Единственным – и верным – объяснением может быть тот факт, что генерируемые А “убеждения” о том, что сделает Б, если… оказываются лучше, чем генерируемые Б “убеждения” о том, что сделает А, если… В таком случае, чтобы найти объяснение, необходимо принять интенциональную установку (см. главы 33 и 42, где приводятся примеры других каузальных связей, которые не поддаются объяснению, пока вы не принимаете интенциональную установку).
Пока все идет хорошо, но эти “решения” и “выборы” кажутся лишь вроде как решениями и выборами. Такое впечатление, что им недостает чего-то, что свойственно подлинной свободе выбора: возможности поступить иначе. Но давайте внимательнее изучим конкретный пример, ведь внешность бывает обманчива. Для этого добавим в нашу турнирную программу третью шахматную программу, программу В. Допустим, программа В лучше программ А и Б и побеждает их почти всегда. Также допустим, что первые двенадцать ходов в паре таких партий в точности повторяются и программа В выигрывает обе партии, побеждая и программу А, и программу Б, но после двенадцатого хода партии идут не совсем одинаково. По завершении партий эксперты приходят к выводу, что программа В с большой вероятностью проиграла бы, если бы 12-м ходом, последним общим ходом обеих партий, программа А или программа Б провела бы рокировку. Рокировка 12-м ходом давала ключ к победе, который не заметила ни программа А, ни программа Б.
Пожимая плечами, разработчик программы А говорит: “Программа А могла бы провести рокировку”. Разработчик программы Б добавляет: “Моя программа, программа Б, тоже могла бы провести рокировку”. Но разработчик программы А прав, а разработчик программы Б ошибается! Как такое может быть? Турнирная программа Т детерминистична, и если мы снова сыграем те же партии в точно том же самом состоянии, ни программа А, ни программа Б не проведет рокировку! Разве разработчик программы А не заблуждается? Не обязательно. Что мы пытаемся выяснить, когда спрашиваем, могла ли программа А поступить иначе? Снова и снова рассматривая в точности такой же случай, мы не получим никакой информации, но рассматривая похожие случаи, мы увидим более полную картину. Если мы выясним, что во многих подобных обстоятельствах в других партиях программа А все же продолжает процесс оценки, замечает плюсы подобных ходов и совершает их, это подтвердит убежденность разработчика, что программа А могла бы провести рокировку.
Как минимум, мы можем обнаружить, что переключение единственного бита в генераторе (псевдо) случайных чисел заставило бы программу А провести рокировку. Допустим, разработчик программы А проанализирует фактическое исполнение программы и выяснит, что в этом случае программа А перестала “думать” на мгновение раньше нужного. (Любая шахматная программа, какой бы прекрасной она ни была, вынуждена в какой-то момент принудительно прерывать свои поиски.) Программа А рассматривала возможность рокировки и начала анализировать ее исход, но время поджимало, а потому программа А обратилась к своему генератору случайных чисел, то есть, по сути, подбросила монетку, и выбрала ход, который сочла лучшим на тот момент – и этим ходом стала не рокировка. Но если бы псевдослучайным числом стала единица, а не ноль, программа А подумала бы над своим ходом немного дольше и в итоге провела бы рокировку. “Просто переключите один бит в случайном числе – и программа А победит!” – заявляет разработчик. Мы же скажем, что в таком случае просчет программы А с рокировкой оказался непредвиденным результатом неудачного обращения к генератору случайных чисел.
Когда мы обратимся к разработчику программы Б, он не сможет подобным образом подтвердить свое заявление, что программа Б могла бы провести рокировку. Программа Б действительно “знает”, что рокировка в сложившейся ситуации допустима, и, возможно, даже некоторое время “рассматривала” возможность рокировки, но выбрать рокировку в этом случае даже не собиралась. Рокировка была для нее сложным ходом – одним из тех ходов, которые в газетных шахматных задачах помечают символом “!”, – и выходила далеко за пределы ограниченных аналитических способностей программы Б. Итак, у нас есть полностью детерминистический мир – программа Т, – в котором программа А могла провести рокировку, а программа Б провести ее не могла. Разница между программами А и Б реальна и объяснима – это разница в компетентности или способностях. Можно сформулировать это очевидно парадоксальным образом:
Программа А могла провести рокировку в момент времени t, но во вселенной в момент времени t рокировки произойти не могло.
Что дает нам право так описывать ситуацию? Все просто: если мы считаем программу А отделенной от ее непосредственной среды – куда входит и генератор случайных чисел, – то не предопределено, проведет ли программа А рокировку. Это зависит от того, что, строго говоря, находится за пределами программы А. В момент времени t вселенная пребывала в таком состоянии, которое не допускало проведение рокировки программой А, но программа А в этом “не виновата”. Программа Б, напротив, провести рокировку не могла, потому что рокировка была не в ее природе. Чтобы представить, как программа Б проводит рокировку, нам пришлось бы внести слишком много поправок в реальность.
Это полезное открытие – мы нашли различие между тем, что “могли бы” сделать программы А и Б, которое не зависит от индетерминизма. Даже в детерминистическом мире мы видим, что программа А может делать вещи, которые не может делать программа Б, и это различие отчасти объясняет, почему программа А побеждает программу Б. Тот факт, что в этом мире царит истинный детерминизм, а потому программы А и Б могут делать только то, что они на самом деле делают в конкретном случае (и делали бы снова и снова при повторении точно тех же самых обстоятельств), просто не интересен и не имеет отношения к получаемому нами объяснению совершенно объективной и наглядной закономерности: программа А побеждает программу Б.
Шахматная программа не является моральным агентом и не несет моральной ответственности за свой выбор – ее мир абсолютно аморален, и нарушение одного из шахматных правил для шахматной программы просто немыслимо, а следовательно, не требует штрафов. Однако, как мы только что увидели, даже в простом детерминистическом мире компьютерных шахмат мы можем найти реальное и важное различие между программами А и Б. Порой, когда программа А делает глупость или наоборот поступает мудро, мы можем сказать: “Программа А могла бы поступить иначе, но программа Б иначе поступить не могла”. Если вы считаете это ошибкой, “потому что ни программа А, ни программа Б вообще не могли бы поступить иначе, поскольку мир детерминистичен”, ошибку на самом деле совершаете вы.