Я испытал этот механизм на популяции из 100 идентичных осцилляторов. Изначально был создан случайный разброс их напряжений между базовым (нулевым) уровнем и порогом. Я отобразил этот разброс на диаграмме в виде совокупности точек, взбирающихся в направлении порога по общей для них кривой заряда, которая представляет собой зависимость напряжения от времени. Даже с помощью средств компьютерной графики мне не удалось выявить какой-либо определенной картины в их коллективном движении – полная путаница.
В данном случае проблемой оказался слишком большой объем информации. И здесь я оценил по достоинству еще одно преимущество метода стробов, предложенного Пескином: этот метод не только позволяет упростить анализ, но и представляет собой наилучший способ визуализации поведения системы. Все осцилляторы остаются невидимыми за исключением именно тех моментов, когда запускается какой-то конкретный осциллятор. В такие моменты свет воображаемого строба подсвечивает остальные осцилляторы, показывая их мгновенные напряжения. Затем вся эта система вновь погружается в темноту до наступления следующего момента, когда запускается определенный осциллятор. Модель Пескина обладает тем свойством, что осцилляторы запускаются по очереди – никто и никогда не нарушает эту очередь; таким образом, 99 других осцилляторов запускаются в темноте, до того как произойдет вспышка следующего строба.
Отображаемые на компьютере, эти вычисления мелькали так быстро, что изображение на экране буквально мельтешило: 99 осцилляторов быстро взбирались вдоль кривой заряда, изменяя свои позиции с каждой очередной вспышкой строба. Теперь полученная картина не вызывала сомнений. Точки собирались в группы, образуя маленькие пакеты синхронизма, которые объединялись в более крупные пакеты, подобно каплям дождя, которые собираются в ручейки, стекающие по оконному стеклу.
Это казалось просто сверхъестественным – система синхронизировала сама себя. Бросая вызов Филипу Лорену и всем прочим скептикам, которые утверждали, что синхронизация светлячков невозможна в принципе и что такое явление «противоречило бы всем законам природы», компьютер демонстрировал, что большая совокупность маленьких осцилляторов, не обладающих разумом, способна достигать синхронизма автоматически. Наблюдая за этим явлением, я испытывал чувство, близкое к мистическому ужасу. Наблюдатель поневоле испытывал ощущение, что осцилляторы словно договариваются между собой о совместных действиях, сознательно стремясь к порядку, хотя ни о чем подобном, разумеется, не могло быть и речи. Каждый из них лишь автоматически реагировал на импульсы, посылаемые другими осцилляторами, не преследуя при этом никакой конкретной цели.
Чтобы убедиться в том, что картина, увиденная мною с первой попытки, не была чистой случайностью, я повторял моделирование десятки раз, каждый раз при других произвольно выбранных начальных условиях и для других количеств осцилляторов – и каждый раз я наблюдал тенденцию к синхронизации. Похоже, Пескин пришел к правильному выводу. Теперь моя задача заключалась в том, чтобы получить строгое математическое доказательство. Только «железное» математическое доказательство продемонстрировало бы – причем так, как не мог бы сделать ни один компьютер в мире – неизбежность синхронизма, а еще лучше, если бы такое доказательство показало, почему именно наступление синхронизма неизбежно. Я обратился за помощью к своему другу Ренни Миролло, специалисту по математике, работающему в Бостонском колледже.
К тому времени я был знаком с Ренни Миролло уже около десяти лет. Будучи студентами-выпускниками Гарвардского университета, мы вместе отдыхали по выходным дням, вместе обедали по будням, уделяя в своих беседах примерно равное количество времени математике и женщинам. Но в те дни нам не приходилось работать вместе. По своему образованию Ренни Миролло был «чистым» математиком, тогда как я специализировался в прикладной математике. По этой причине мы понимали друг друга – но не всегда и не во всем.
Для своей докторской диссертации Ренни выбрал очень абстрактную тему. Интуиция подсказывала ему правильность некой теоремы – проблема заключалась лишь в том, чтобы найти доказательство этой теоремы. Ренни потратил три года на поиск доказательства и в конце концов понял, что доказать ее невозможно: он нашел контрпример, опровергающий эту теорему. Таким образом, три года жизни были потрачены зря. Однако этот отрицательный результат не поверг Ренни в отчаяние – он решил переключиться на какое-нибудь новое направление математики, решить какую-либо из ключевых проблем этого направления и написать диссертацию. На все это Ренни решил отвести себе один год.
Моя совместная работа с Ренни началась примерно в 1987 г. В этой совместной работе мы как бы дополняли друг друга. Обычно я предлагал ему какую-либо задачу, разъяснял ее научный контекст, выполнял компьютерное моделирование и предлагал интуитивные аргументы. Ренни придумывал стратегии, позволяющие прояснить проблему, а затем находил способы доказательства соответствующей теоремы.
Когда я рассказал Ренни о своих компьютерных экспериментах с моделью Пескина, поначалу он проявил, скажем так, спокойный интерес к этой проблеме. Однако после того как он разобрался в ней глубже, его начало разбирать нетерпение: в то время он напоминал мне боксера, готовящегося выйти на ринг. Он предоставил мне совсем немного времени, чтобы подытожить выполненную мною работу, но уже вскоре начал настаивать на том, что будет использовать свой собственный подход к решению этой проблемы.
Ренни безжалостно упростил мою модель. Его не заботили подробности, предусмотренные в исходной модели цепи, которую предложил Пескин – со всеми ее конденсаторами, резисторами и напряжениями. Единственной важной чертой этой модели, по мнению Ренни, является то, что каждый осциллятор следует кривой напряжения с замедлением роста в верхней ее части – по мере приближения к пороговому значению. Таким образом, он с самого начала заложил именно такую геометрию. Он отказался от схемы электрической цепи, которую предложил Пескин, заменив ее некой абстрактной переменной, изменяющейся по тому же закону, что и напряжение осциллятора: периодический подъем до порогового значения, запуск, сброс. Затем его воображение нарисовало совокупность из n таких переменных, идентичных друг другу и взаимодействующих между собой по описанному выше принципу: когда один осциллятор запускается, он «подтягивает» все остальные осцилляторы на некую фиксированную величину или до порогового значения (если оно будет достигнуто раньше).
Эта усеченная модель не только оказалась значительно проще первоначальной (что сильно упрощало математические выкладки), но и допускала более широкую область применения. Вместо чисто электрической интерпретации в терминах напряжения мы могли теперь рассматривать такую переменную как меру готовности любого из осцилляторов к запуску, будь то клетка сердца или сверчок, нейрон или светлячок.
Нам удалось доказать, что такая обобщенная система почти всегда становится синхронизированной – при любом количестве осцилляторов и при любых начальных условиях[15]. Ключевым ингредиентом в доказательстве является понятие «абсорбции» – обозначение идеи о том, что если один осциллятор проталкивает другой осциллятор за пороговое значение, они остаются синхронизированными навсегда, как если бы один осциллятор поглотил другой. Такие поглощения были заметны в моих компьютерных экспериментах, когда у наблюдателя складывалось впечатление, будто осцилляторы сливаются вместе, подобно каплям дождя, стекающим по оконному стеклу. Кроме того, такие слияния необратимы: как только два осциллятора запускаются вместе, они никогда не рассинхронизируются сами по себе, поскольку их динамика идентична; к тому же они одинаково связаны со всеми остальными осцилляторами, поэтому даже когда они испытывают толчок, их синхронизм не нарушается: ведь они испытывают одинаковый толчок. Следовательно, абсорбции действуют подобно храповому механизму, всегда приближая систему к синхронизму.
Основой доказательства является аргумент, демонстрирующий, что последовательность поглощений объединяет осцилляторы в группы, размеры которых все время увеличиваются – до тех пор, пока все они не образуют одну гигантскую совокупность. Если вы не математик, вас, наверное, интересует, как можно доказать все это. Существует бесконечно большое число способов запуска такой системы; как же в таком случае можно охватить одним доказательством все эти бесчисленные варианты? И где гарантия, что в конечном счете произойдет количество поглощений, достаточное для того, чтобы привести такую систему к полному синхронизму?
Ниже излагаются наши рассуждения по этому поводу. Не волнуйтесь, если какие-то детали этих рассуждений покажутся вам непонятными. Моя задача в данном случае заключается лишь в том, чтобы дать вам самое общее представление о том, как выстраиваются такие доказательства. Трудно рассчитывать на что-либо большее, если ваши познания в области математики ограничиваются курсом геометрии, который вы проходили в старших классах школы и который зачастую преподается в механистическом и авторитарном стиле. На самом деле конструирование математического доказательства – весьма творческий процесс, полный нечетких идей и образов, особенно на ранних стадиях этого процесса. Строгие формулировки появляются позже. (Если это не особенно интересует вас, можете пропустить следующие несколько страниц.)
Первым шагом является каталогизация всех возможных начальных конфигураций. Вернемся, например, к случаю двух осцилляторов. По причине использования Пескином уловки со стробами нам вовсе необязательно наблюдать за осцилляторами все время. Достаточно сосредоточиться на одном моменте в каждом цикле. В качестве такого момента мы выбрали момент непосредственно после запуска осциллятора A и его возвращения к исходному состоянию. Тогда на осцилляторе B может быть любое «напряжение» между исходным состоянием и порогом. Представляя напряжение на осцилляторе B в виде точки на числовой оси, исходное состояние на которой отображается нулем, а порог – единицей, мы видим, что существует линейный сегмент разных возможностей. Этот одномерный сегмент охватывает все возможные начальные условия для данной системы (поскольку нам известно, что осциллятор A находится в 0 [только что запустился и сбросился в исходное состояние], единственной переменной является B, который должен пребывать где-то вдоль линейного сегмента между 0 и 1).