Цель современных исследований в области теоретической химии сегодня – не столько обнаружение новых законов, сколько поиск новых способов применения уже известных законов ко все более сложным системам. Несмотря на огромную вычислительную мощность современных суперкомпьютеров, совершенно невозможно учесть все параметры и решить все уравнения, необходимые для моделирования молекулярной системы, в которой действуют законы квантовой механики. Даже самые простые, на первый взгляд, системы, образованные всего лишь горсткой частиц, на самом деле – не поддающийся решению математический кошмар. Именно в этой ситуации в игру вступают компьютеры, и компьютерные симуляции позволяют обойти эти сложности путем использования техник, позволяющих получить приблизительные решения ранее не разрешимых задач. Чтобы вы смогли лучше себе представить, о чем я рассказываю, я загадаю вам математическую загадку.
Представим себе, что мы решаем уравнение x·(3+x) = 27, и нам надо найти число, которое, умноженное на сумму самого себя и трех, давало в результате 27.
Читатели, которые разбираются в математике, не увидят особых трудностей: это банальное уравнение второго порядка, и существует специальная техника решения подобных уравнений. Точный ответ – 3,9083269 и десятичные доли до бесконечности…
Однако если вы не сильны в математике, придется вам использовать более хитрый механизм: действовать наугад. Можно заменять х случайными числами: попробуем провести расчеты и постепенно приблизиться к решению. Например, можем начать с единицы и подставлять числа по мере увеличения:
Почти сразу мы поймем, что правильный ответ находится где-то между тремя и четырьмя. Попробуем подставить несколько чисел между тремя и четырьмя:
Ну вот, теперь мы знаем, что решение находится где-то между 4 и 3,9. Продолжим:
Теперь мы знаем, что решение находится в диапазоне между 3,90 и 3,91. Мы можем продолжать эти действия до бесконечности, пока точность решения нас не удовлетворит. Возможно, что в некоторых ситуациях нам вполне достаточно точности до одной десятой и ответ 3,9 вполне приемлем; в то время как для других ситуаций понадобится точность три-четыре, а может, и десять цифр после запятой. Основной вывод состоит в том, что, даже не зная, как решаются квадратные уравнения, совершив только четыре операции, мы смогли найти удовлетворительное решение. И не только: мы использовали механическую процедуру подбора, которая не потребовала ни фантазии, ни творческих подходов и замечательно годится для превращения в рабочий алгоритм для компьютера. Достаточно задать значения х, последовательно выполнить операции и повторять снова и снова, пока не будет получена требуемая точность. Очевидно, что эта техника не представляет большого практического интереса, но дает вам представление о рассуждениях, которые мы используем для систем, описываемых уравнениями, слишком сложными для математического решения.
Исследования новых лекарств и их взаимодействия с белками человеческого тела, изучение трехмерной структуры белков или других сложных молекул, а также работа по передовым направлениям, таким как искусственный фотосинтез или альтернативные источники энергии – это все примеры задач, требующих применения сложного компьютерного моделирования.
Такие процессы, как перенос электронов между молекулами белков при синтезе хлорофилла или открытие или закрытие клеточных каналов, на самом деле слишком сложны и быстры, чтобы можно было их изучить непосредственно в лаборатории с пробирками и перегонным кубом. Единственным доступным способом остается моделирование на компьютере различных гипотез и проверка, какой из предложенных механизмов является самым выгодным с энергетической точки зрения.
Запомните: природа очень скаредна на энергию. Самым вероятным процессом будет тот, который требует наименьших расходов энергии.
Проблема состоит в том, что невозможно решить уравнения, описывающие поведение одного-единственного атома углерода, – представьте, каково это пытаться работать с молекулой протеина, в которой их тысяча.
Самой подходящей стратегией для этого случая служит максимальное упрощение: есть ли в системе параметры, которые можно проигнорировать? Что-то не очень важное, что можно опустить и что осложняет мне жизнь?
Представьте, что вы хотите поразить пулей мишень, находящуюся в двух метрах перед вами. Нужно ли вычислять влияние гравитации и сопротивления воздуха на пулю? Очевидно, нет, потому что пуля будет находиться в воздухе долю секунды, и единственным ключевым фактором будет мишень.
Но спросите о том же самом снайпера, который должен поразить далекую цель, – он вам ответит: чтобы прицелиться как следует, он должен внести коррективы, учитывающие ветер и гравитацию.
Поэтому хороший химик должен быть готов решить на компьютере две задачи:
a) максимально упростить рассматриваемую систему и доказать, что упрощения не влияют слишком сильно на конечный результат;