Одним из самых ранних и прекраснейших примеров компьютера является поразительный древнегреческий антикитерский механизм – созданная две тысячи лет назад аналоговая машина, которая могла имитировать движения небес[133]. Механизм с ручным приводом использовал указатели, чтобы воспроизвести движения пяти планет, которые древние греки могли видеть невооруженным глазом (а также рассчитывал другие явления, такие как затмения)[134]. Этот механизм представляет собой самый ранний известный пример машины для предсказания будущего.
Этот аналоговый компьютер – если хотите, древнегреческий суперкомпьютер – был продуктом первой великой научной революции эллинистической цивилизации, примерно с 330 по 30 г. до н. э. Используя антикитерский механизм, древние греки могли представить разработанные ими теории о движении планет. К XIX в. английский эрудит Чарльз Бэббидж (1791–1871) механизировал вычисления с помощью своей разностной машины, в которой зубчатые колеса переносили цифры для решения сложных задач (рис. 17). Для виртуального человека нам нужна машина, которая сможет одновременно представлять теории о том, как работает человеческое тело, и обрабатывать колоссальные объемы данных.
Наука моделирования – третий ингредиент виртуального человека – всерьез зародилась во время проекта «Манхэттен» по созданию первого ядерного оружия, одного из самых важных и противоречивых исследований XX в. Среди множества проблем, которые предстояло решить, была работа над математическими расчетами взрывных ударных волн, выраженными в форме уравнений в частных производных, включая уравнения динамики жидкости Навье – Стокса, с которыми мы столкнулись ранее. Задача заключалась в том, чтобы выяснить, как сфокусировать ударные волны с помощью «линз», чтобы сжать расщепляющийся материал до критической массы, когда вышедшая из-под контроля цепная реакция высвобождает колоссальное количество разрушительной энергии.
Проект «Манхэттен» изначально опирался на калькуляторы и компьютеры, которые, как и антикитерский механизм, являются аналоговыми, то есть используют для выполнения вычислений измеримые физические объекты, такие как расстояние или напряжение. Еще одним примером являются логарифмы, а также калькуляторы с ручным управлением. Однако прохождение фугасной ударной волны внутри ядерной боеголовки потребовало огромного количества вычислений, поскольку зависело от более сложных уравнений в частных производных. Каждый расчет приходилось проверять и перепроверять.
Должен был быть менее трудоемкий способ решения всех этих уравнений, и именно выдающийся и влиятельный венгерский математик Джон фон Нейман (1903–1957) познакомил оружейников с одним из первых электронных цифровых компьютеров, ЭНИАК (электронный числовой интегратор и вычислитель), заработавшим в 1945 г. в Пенсильванском университете. Вскоре последовали относительно мощные перфокарточные машины IBM[135].
При изучении возможности создания двухступенчатого термоядерного оружия, в котором атомная бомба деления используется для запуска водородной термоядерной бомбы, динамика жидкости стала чрезвычайно сложной. Математическое моделирование, от нагрева термоядерного оружия до гидродинамики его взрывного расцвета, известного как «Суперпроблема», сыграло центральную роль в разработке первой в мире водородной бомбы «Айви Майк», которая в 1952 г. была взорвана на атолле Эниветок Маршалловых островов Тихого океана.

Рисунок 17. Разностная машина Бэббиджа № 1 (фото Карстена Ульриха; Wikimedia Commons, cc BY-SA 2.5)
В то время как ЭНИАК использовался для некоторых ранних расчетов, Лос-Аламосская версия – математический анализатор, числовой интегратор и компьютер, или MANIAC, – была задумана (и, по иронии судьбы, получила это название, хотя он ненавидел подобные аббревиатуры) греко-американским физиком Николасом Метрополисом (1915–1999) и использовалась для моделирования экспериментов с оружием[136]. Это новаторское использование компьютеров проложило путь к моделированию всех видов потоков крови, и не в последнюю очередь крови, проходящей через человеческое сердце.
Проект «Манхэттен» также предоставил ключевую информацию о том, как моделировать события на молекулярном уровне, благодаря ключевой фигуре, которая внесла огромный вклад в вычислительную науку и помогла выяснить, как инициировать термоядерную реакцию[137], Станиславу Уламу (1909–1984), чья жена Франсуаза была одной из женщин-«компьютеров» в Лос-Аламосе. Он отметил, что это была крупнейшая математическая работа, когда-либо осуществленная, «значительно более масштабная, чем любые астрономические расчеты, выполненные ранее на ручных компьютерах»[138].
Улам пришел к моделированию случайного процесса – цепной ядерной реакции – с помощью так называемого метода Монте-Карло. Этот влиятельный метод получил свое название потому, что для запуска моделирования использует компьютерные (псевдо) генераторы случайных чисел (сродни случайности, наблюдаемой в играх в казино Монте-Карло). Случайность позволила Уламу быстрее находить решения.
Результаты извлекаются путем усреднения результатов огромного количества отдельных симуляций, что является еще одним примером того, как ансамбли – в данном случае «усреднение ансамбля» – могут придать смысл случайным процессам. Метрополис в сотрудничестве с другими в 1953 г. представил самую известную форму метода Монте-Карло, который использует повторную случайную выборку, например, для изучения того, как нейтроны диффундируют через расщепляющийся материал, такой как плутоний. Это оказалось быстрым и эффективным способом создания состояния термодинамического равновесия (когда прекращаются общие или макроскопические изменения) совокупности молекул в любой фазе вещества – твердой, жидкой или газообразной – без необходимости вдаваться в подробности того, как молекулы движутся на самом деле, то есть их молекулярной динамики[139]. Вместо этого в том, что сейчас называется методом Монте-Карло с алгоритмом Метрополиса, случайные числа используются для случайных движений частиц, атомов или молекул после случайно выбранных начальных условий для определения среднего, равновесного состояния.
Эта ранняя работа и многие другие инновации в области информатики и компьютерного моделирования в Лос-Аламосе – наряду с параллельными усилиями по созданию ядерного оружия в бывшем Советском Союзе и Великобритании – заложили основу для многих методов, которые сейчас используются для анализа динамики жидкостей в прогнозировании погоды, безопасности ядерных реакторов, открытии лекарств и во множестве других областей, включая, конечно, виртуальное моделирование людей.
Альтернатива статистическим методам Монте-Карло Улама появилась в 1950-х гг. в так называемой Ливерморской национальной лаборатории Лоуренса в Калифорнии, когда Берни Алдер (1925–2020) и Томас Уэйнрайт (1927–2007) впервые смоделировали реальные движения атомов и молекул, основанные на законах движения Ньютона, решая уравнения Ньютона при столкновении атомов. Ученые использовали крошечные шаги во времени, чтобы проследить за получающимся атомным танцем на UNIVAC, первом электронном компьютере, используемом в Ливерморе, который мог отслеживать 100 твердых сфер, рассчитывая примерно 100 столкновений в час. Перейдя на компьютер IBM-704, они смогли обрабатывать 2000 столкновений в час для нескольких сотен частиц[140].

Рисунок 18. Моделирование плавления. Траектории частиц в молекулярно-динамических расчетах. В твердом состоянии (вверху) частицы движутся вокруг четко определенных положений; в жидкости (внизу) они перемещаются из одного положения в другое (Шуньчжоу Ван, Центр вычислительных наук, UCL)
Используя этот альтернативный подход, который вскоре стал известен как классическая молекулярная динамика, в 1957 г. Алдер и Уэйнрайт показали, что при сжатии системы твердых сфер претерпевают фазовый переход из жидкости в твердое состояние (рис. 18)[141]. Это было важное открытие, поскольку оно показало, что большие изменения в материале, такие как замерзание, можно понять с точки зрения составляющих его молекул, что стало, возможно, первым, казалось бы, реалистичным моделированием материи.