Выбрать главу

А вот программный код допрашивать бесполезно. Терморектальный криптоанализ (как и любой иной) ему неопасен. И даже комментарии к коду на иврите или русском матерном (он же – технический) ни о чём не говорят.

Так что в области программного обеспечения мы имеем абсолютно реальные и абсолютно неопознанные объекты. Которые, если мы расслабимся, принесут нам куда больше проблем, нежели жукоглазые монстры. Сомневаетесь? А отключите-ка антивирус с файрволом!

Дмитрий Шабанов: Цепочка следов антилопы

Автор: Дмитрий Шабанов

Опубликовано 21 декабря 2011 года

Я хочу начать с того, что некоторые задачи, которые могли бы показаться простыми, решаются чрезвычайно сложно или не решаются вообще. Для примера возьмём задачу n тел. Интересные сведения об этой проблеме можно найти, например, тут.

Со времён Ньютона наука знает, как описать движение одиночного тела, не взаимодействующего с иными телами. Оно будет двигаться прямолинейно и с постоянной скоростью под воздействием силы инерции. Кроме того, мы знаем, как ведут себя два тела (которые для упрощения можно представить как две точки, обладающие массой): они притягиваются друг к другу с силой, пропорциональной произведению их масс и обратно пропорциональной расстоянию между ними. Раз Исаак Ньютон в XVII веке решил задачу для одной и для двух точек, наверное, с тех пор наука значительно продвинулась в своем понимании взаимодействия тел?

Так вот, общее решение задачи для трёх тел не найдено до сих пор. Возможность решений этой задачи для некоторых частных случаев показал в конце XVIII века Леонард Эйлер, и вскоре такие решения получил Жозеф Лагранж. После длительных усилий Анри Пуанкаре в конце XIX века доказал, что такая задача не имеет прямого математического решения: она не решается через алгебраические и трансцедентные функции координат и скоростей. В начале XX века финский математик Карл Зундман нашёл решение этой задачи в виде сходящихся рядов. Увы, ряды Зундмана не позволяют получить долгосрочный и точный прогноз динамики трёх тел и, кроме того, требуют для своего вычисления колоссальной, малодоступной даже сейчас вычислительной мощности.

А как в таком случае можно управлять движением космических кораблей? Решая ограниченную задачу трёх тел, вычисляют движение тела малой массы (космического корабля) и поле притяжения двух крупных тел (например, Земли и Луны), на движение которых малое тело не влияет. А кроме того, управление космическими кораблями включает в себя постоянное внесение корректив в их движение.

Постойте-постойте. Ведь реальные небесные тела (кстати, представляющие из себя не материальные точки, а сплошь и рядом сложные комплексы из многих частей с разной плотностью) не производят никаких вычислений, решая, куда им двигаться! Как им это удаётся?

Другой пример. Почти в каждой клетке нашего тела непрерывно работает множество рибосом - молекулярных роботов, соединяющих аминокислотные остатки в соответствии с программой, отражённой в структуре РНК. В секунду к цепочке присоединяются десятки аминокислот, несколько секунд - и сложный белок готов. Синтезированный полимер представляет собой гибкую цепочку, на которой регулярно расположены разнообразные радикалы - заряжённые и нет, полярные и неполярные, способные к взаимодействию друг с другом и индифферентные. Белковая цепь начинает сворачиваться определённым образом ещё по мере своего роста; иногда на характер такого сворачивания влияют белки-шапероны (их название происходит от "шафера", в нашей традиции называемого "свидетелем"), в некоторых случаях уже синтезированная цепь подвергается химической модификации, влияющей на взаиморасположение её частей.

Задача моделирования конформации (пространственного расположения) молекулы белка - одна из сложнейших расчётных задач, решаемых на современных компьютерах. Почему это так сложно для современных компьютеров и так просто для молекул белка, сворачивающихся безо всяких раздумий?

Потому что алгоритмы наших вычислений не соответствуют характеру взаимодействия в нашей физической действительности. Мы просчитываем линейные цепочки причинно-следственных отношений. Эти цепочки - ветвящиеся, и количество вариантов в них нарастает, как число зёрен в легенде о награде для изобретателя шахмат. Просчёт всех - астрономическая задача; приходится просчитывать лишь некоторые, которые определённый алгоритм выбирает как наиболее перспективные, но всё равно такая задача оказывается необычайно сложна. Может, ситуацию исправят квантовые компьютеры?