Работая с математиками Брюсом Богосяном и Хунъян Ваном из Университета Тафтса в Бостоне, Питер решил провести расследование. Они исследовали базовый пример хаоса, называемый обобщенной схемой Бернулли, с числами с плавающей запятой. Несмотря на простоту, схема математически эквивалентна многим другим динамическим системам, встречающимся в физике, химии, биологии и технике. Биологи уже знали, что, несмотря на простоту схемы Бернулли и других, они выходят за рамки обычного компьютерного моделирования из-за ограниченной точности компьютеров[117].
Но в полной мере проблема с числами с плавающей запятой не была изучена до тех пор, пока Питер и его коллеги не ввели в схему все возможные начальные условия в интервале от 0 до 1 – весь один миллиард чисел с плавающей запятой одинарной точности – и сравнили ансамбли своих симуляций с «правильным» ответом (схема Бернулли, что удивительно, поддается полному анализу с использованием математических инструментов, которые управляют реальным, континуальным миром, таких как интегрирование, дифференцирование и разложение в степенные ряды). Результат их поразил[118].
Среди выдающихся математиков семьи Бернулли, бежавших в Швейцарию, спасаясь от испанских преследований протестантов, Якоб (1655–1705) известен своим вкладом в исчисление и область вероятностей, а также открытием е, или числа Эйлера – фундаментальной константы. Его продуктивная карьера включала открытие рецепта хаоса (названной в его честь схемой Бернулли), который использует простое правило для сопоставления одного числа с другим в последовательной цепочке повторяющихся вычислений. На каждой итерации действительные числа от 0 до 1 многократно умножаются на постоянное число, известное как греческая буква бета.
В работе Бернулли бета имела значение 2, и правило, которое он использовал для создания схемы, было простым: если результат удвоения превышает значение 1, в следующей итерации используется только остаток (то, что математики называют mod 1). Если вы начнете где-то между 0 и 1, вы будете перемещаться случайным образом, в конечном итоге оказываясь в местах, равномерно распределенных между 0 и 1. Это отличительная черта хаоса. И снова это поведение можно уловить в форме странного аттрактора и выразить в терминах орбит.
Брюс Богосян, Хунъян Ван и Питер сравнили известную математическую реальность схемы Бернулли, где параметр бета был обобщен за пределы числа 2, с тем, что предсказал цифровой компьютер. Они обнаружили, что когда постоянный множитель был равен 2, как в исходной схеме Бернулли (любое четное целое число), поведение, предсказанное компьютером, было попросту неверным. Проблема не в их компьютере или алгоритме, который они использовали, а в числах с плавающей запятой.
С числами одинарной точности, независимо от начального числа или условия, вы не получите правильного равномерного распределения отображений между 0 и 1, но всегда достигнете 0 после всего лишь 23 итераций и застрянете там. Причину легко понять: в двоичном представлении эффект умножения на 2 заключается в простом сдвиге самого правого, наименее значимого бита на одну цифру влево при каждой итерации схемы. При использовании двойной точности требуется 52 итерации, чтобы застрять на 0. В попытке быть точнее вы просто продляете свое ожидание, пока нестабильные орбиты превращаются в бессмыслицу.
Давайте теперь повторим схему с бета 4/3, что, очевидно, является рациональным числом. Вычисление в уме (удвойте это число, а затем используйте остаток) выявляет то, что математики называют нестабильной периодической орбитой, где точки 2/3 и 1/3 повторяются бесконечно. Но когда эти точки, составляющие периодическую орбиту, выражаются в двоичном формате арифметики с плавающей запятой, округление становится проблемой. В двоичном формате 2/3 равно 0,10101… до бесконечности, а 1/3 равно 0,010101… до бесконечности. Поскольку компьютеры не могут точно представить эти числа, они их округляют, и в результате некоторые части динамики полностью теряются.
Когда дело доходит до нечетных значений бета, предсказания компьютера работают достаточно хорошо, и, по словам Брюса Богосяна, многие люди находят в этом утешение[119]. Для общего случая нецелых значений предсказания компьютера «не являются явно ошибочными». Если, конечно, не провести судебную экспертизу с использованием ансамблей, которая выявляет ошибки до 15 % по сравнению с точными результатами континуальной (нецифровой) математики. Эти ошибки являются следствием ухудшения качества набора нестабильных периодических орбит, которые может вычислить цифровой компьютер.