"Революция науки... отменяется, товарищи!"

29 сентябрь, 2003 - 23:00Андрей Зубинский
С момента публикации книги, которая должна была потрясти мир, прошло уже достаточно времени. Был первый, взрывной, спрос на нее в самый первый день продаж (практически весь пробный тираж -- 50 тыс. экземпляров -- за один день!). Было первое эхо этого взрыва, затихающее по сей день, -- еще почти 200 тыс. экземпляров книги нашли своих читателей по всему миру. Были восторженные обзоры в желтоватой прессе, сдержанные -- в серьезных деловых изданиях, скептические -- в специализированных научных. Казалось бы, слишком много внимания для 1280-страничного (!) манускрипта, напичканного весьма специфическими иллюстрациями (их больше 900) и текстами программ (почти 800), посвященного, по сути, единственному аспекту одной из многочисленных теорий прикладной математики. Но название книги и личность ее автора, похоже, воплотили самые заветные мечты книгоиздателя. Еще бы, ведь это "A New Kind of Science" и сам Стэфен Вольфрам! Для названия уже придумали аббревиатуру (нечасто такое бывает с книгами) -- естественно, ANKS. А для Вольфрама -- одновременно удачливого бизнесмена, компания которого умудряется выживать пару десятков лет в весьма узкой и требовательной к производителю нише научно-математического ПО, почти вундеркинда (он получил докторскую степень Ка­лифорнийского технологического института в 20 лет), ничего и придумывать не надо. Он -- создатель пакета Mathematica и автор ANKS.

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


Клеточные автоматы

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

Многие наверняка видели или пытались хоть раз "поиграть" в компьютерную игру "Жизнь" (Life). Весьма своеобразная "игра", со времени своего появления сильно утратившая популярность из-за радикального, можно сказать сейсмического, сдвига "пользовательского континента". Пик популярности Life пришелся на времена "дорогих университетских компьютеров" и, соответственно, "университетских пользователей". Широкая аудитория владельцев дешевых ПК предпочитает другие игры -- это не хорошо и не плохо, просто так оно есть. И вряд ли после выхода в свет ANKS ситуация изменится.

Основа игры Life -- клеточный автомат (КА). Термин этот старый, его происхождение затерялось где-то в конце 40-х годов прошлого столетия. Неофициально считается, что у КА как термина есть два автора -- Станислав Улам (Ulam) и Джон фон Нейман. Причем Уламу приписывается авторство слова "клеточный" (cellular), а фон Нейману -- "автомат".

Математик Улам, в свое время работавший с Эдвардом Теллером в проекте водородной бомбы, знаменит как автор техники моделирования методом Монте-Карло и весомым вкладом в теорию чисел. Джон фон Нейман был "универсалом" в математике, но в контексте нашего рассказа наиболее важным является упоминание о докладе "Общая и логическая теория автоматов", представленном им в 1948 г. на научном симпозиуме в Пасадене, и о серии лекций в университете штата Иллинойс "Теория и организация сложных автоматов". Именно в этих работах фон Неймана был поставлен вопрос о принципиальной возможности создания неких машин, воспроизводящих самих себя. Задача, надо сказать, непростая -- в реальном, вещественном, мире автоматические машины способны создавать что-то намного более простое, чем они сами. Главными достижениями фон Неймана в те времена были: предположение о потенциальной простоте самовоспроизводящегося автомата -- вероятно, что-то порядка 10, 12 или 15 элементарных частей" (почти дословный перевод лекционных материалов 1949 г. фон Неймана); модель среды функционирования таких автоматов ("резервуар, в котором находятся в больших количествах элементарные части"); и наконец, -- формальное доказательство возможности построения такой "искусственной жизни" (этот термин здесь не для красного словца -- первым признаком жизни всегда являлась способность к самовоспроизводству, и, кстати, игра Life так называется совсем не случайно). Однако сложность формализации базовых понятий в этой модели (что собой представляют "резервуар" и "элементарные части"?) стала серьезным препятствием на пути дальнейших исследований. Пока за дело не взялся работавший в то время вместе с фон Нейманом Станислав Улам, решивший... максимально абстрагировать задачу, заменив и без того абстрактный "резервуар" на ячеистое пространство (в математическом смысле), а "элементарную часть" -- на ее номер в ячейке пространства. Впрочем, мы можем обратиться к первоисточнику -- статье Улама, где он дает точную и исчерпывающую формулировку идеи: "...бесконечная сетка или граф точек, каждая из которых имеет конечное число соединений с ее "соседями". Каждая точка может характеризоваться одним из конечного числа "состояний". Состояния соседей в момент времени t(n) определяет по специальным правилам состояние точки в момент t(n + 1)... Одной из целей теории является выяснение существования подсистем точек, способных к "самовоспроизводству", т. е. к порождению идентичных подсистем". Интересно, что впоследствии сам фон Нейман на этом пути добился впечатляющих результатов -- к 1952 г. он создал модель самовоспроизводящегося клеточного автомата, использующего всего 29 возможных состояний ячейки, но, заинтересовавшись чем-то другим, настолько надежно отложил "в стол" эту разработку, что она была опубликована только после смерти ученого. Улам продолжал исследовать КА, издал несколько работ, и до начала 70-х годов клеточные автоматы были уделом узкого круга специалистов.

Все изменилось в 1970 г., когда знаменитый "mathematics writer" (пришлось умышленно оставить несуществующее в русском языке понятие то ли "писателя-математика", то ли "математического писателя" без перевода) Мартин Гарднер в разделе... "Математические игры" журнала Scientific American в персональной колонке опубликовал короткую статью "Фантастические комбинации новой игры Джона Конвея Life". Собственно, со статьи Гарднера, привлекшей внимание к новой "забаве", и автора этой забавы -- Конвея (математика из Кэмбриджского университета, предложившего писателю тему статьи) и началась эпоха КА -- не очень редкий, но все же забавный случай, когда игра становится тем стартовым усилием, которое надо приложить к математической теории для ускорения ее развития.

"Революция науки... отменяется, товарищи!"
Конрад Цузе у "консоли" ЭВМ Z3
Пока мы говорили о событиях в Новом Свете. Но примерно в это же время -- в конце 60-х годов, в городе, ставшем родиной квантовой физики, общей теории относительности, вычислительных машин и языков программирования высокого уровня, была издана книга "Rechnender Raum" -- "Считающее пространство". Город -- естественно, Берлин. А вот личность автора книги заслуживает отдельного рассказа. Конрад Цузе (Konrad Zuse) является разработчиком действительно самых первых полноценных программируемых вычислительных машин -- в 1938 г. он создает работающую ЭВМ Z1 со всеми признаками современного компьютера: основанную на бинарной системе счисления, с раздельными процессором и памятью, причем "архитектуры фон Неймана" -- отдельными адресными пространствами памяти программ и данных (привычный термин закавычен потому, что в 1938 г. его еще не существовало, зато был немецкий патент Z23139/GMD Nr. 005/021 Цузе, в котором эта архитектура, "переизобретенная" в 1945 г., уже была описана). В 1941 г. Цузе завершает разработку полнофункциональной машины Z3 -- первого в мире двоичного программируемого компьютера с такими для тех времен "излишествами", как способность процессора обрабатывать числа с плавающей точкой, аппаратным вычислителем квадратного корня и вводом программ-данных с перфолент. В 1945 г. для улучшенной модели Z3 (Z4) Цузе создает первый язык программирования высокого уровня -- Планкалкюль (Plankalkuel). Однако в этом случае Цузе нам интересен не столько как архитектор вычислительных систем, системный программист и конструктор, сколько как ученый, высказавший неожиданно смелую для своего времени мысль в уже упомянутой книге "Rechnender Raum". Мысль эта и сегодня кажется шокирующей: Вселенная (по Цузе) -- это гигантский компьютер, работающий в дискретном времени и пространстве. Причем (как и обещалось ранее, наступает момент пересечения фабул), Цузе в рассмотрении этого предположения ссылается... именно на работы фон Неймана и Улама и даже использует новый по тем временам термин "клеточный автомат". Естественно, в книге 1969 г. Цузе не претендовал ни на построение "модели всего", ни на лавры создателя единой "теории всего", ни, наконец, на формальную точность и даже применимость предположения во всех случаях. Кажущийся детерминизм "Вселенной по Цузе" (дискретные время и пространство, простой "алгоритм работы" входят якобы в противоречие с принципами и теоремами квантовой физики) в свое время быстро подавил возникший интерес к идее -- не помогла даже защита со стороны Нобелевского лауреата физика Жерара ‘т Хоофта (Gerard ‘t Hooft), который выразил принципиальное согласие с "Цузе-детерминизмом".

"Революция науки... отменяется, товарищи!"
Z3 -- настоящая машина для серьезных вычислений образца 1941 г.: тактовая частота 5,33 Hz (это не ошибка -- именно герц), объем памяти -- 64 слова, два регистра, АЛУ с плавающей точкой
Идеям Цузе опять было суждено возродиться за океаном. Двое ученых -- Эдвард Фредкин и Томмазо Тоффоли из Массачусетского технологического института -- фактически продолжили и развили их. Но уже на качественно новом уровне -- ими были даже разработаны модели элементной базы "вселенского компьютера", соответствующие строгим требованиям теоретической физики (в первую очередь -- соблюдающие обратимость физических законов и принципа сохранения аддитивных величин, частный случай которого -- закон сохранения энергии; со всем этим можно ознакомиться в статье "Conservative Logic", множество копий ее легко найти в Сети). Основополагающие теоретические работы Фредкина и Тоффоли датируются началом 80-х годов, впоследствии они переросли в статьи и монографии, отстаивающие, в том числе, и "Цузе-детерминизм" (статья "Finite Nature" -- "Конечная Природа"), и наконец, в очень интересные сетевые ресурсы (так, Эдвард Фредкин создал и поддерживает сайт www.digitalphilosophy.org). К слову, личность Фредкина даже в нашем перечне экстраординарных людей может показаться необычной -- в отличие от фактически вундеркиндов фон Неймана и Вольфрама, Фредкин пришел в науку поздно -- в 34 года. Но до этого он уже успел стать миллионером, владельцем собственного острова (так и называемого -- Ed Fredkin Island). Просто гипертрофированный образец self-made man и self-made интеллектуала (удостоенного Марвином Мински титула "Эйнштейноподобный Эд", а Фейнманом -- звания "бриллиантового мыслителя"), экстравагантного во всем -- от учреждения премии в 100 тыс. долл. автору шахматной программы, которая победит чемпиона мира, до убеждения в том, что в масштабах Вселенной информация более значима, чем вещество и энергия. При этом большинство физиков-теоретиков считают Фредкина представителем "другого лагеря", да и сами Мински и Фейнман не разделяли идейной цепочки фон Неймана -- Улама -- Цузе -- Фредкина. Слишком уж она революционна даже для выдающихся мыслителей.

"Революция науки... отменяется, товарищи!"
Современный инструмент KA-анализа
Еще одна фабула нашего рассказа позволит коснуться более приземленных и полезных вещей, чем революционные теоретические изыскания с помощью модифицированной игры Life. А именно, -- решения задач моделирования физических процессов с применением клеточных автоматов. Вот и еще одна точка пересечения -- если вспомнить начало истории, Станислав Улам -- один из основателей всей цепочки идей, был "по совместительству" разработчиком мощнейшего метода моделирования, известного как метод Монте-Карло. К этим лаврам Улама можно, похоже, добавить и венок за еще одно, без сомнения, явившееся событием в прикладной математике, открытие. Клеточные автоматы сегодня становятся достойным инструментом, расширяющим набор "математических отмычек" для тайн реального физического мира. Томмазо Тоффоли, например, всерьез занимался и занимается вопросами количественной оценки методов моделирования на основе КА (точности, сходимости и т. д.) -- исключительно важными исследованиями, превращающими экзотический аппарат в объект науки. Здесь появляются и своя терминология ("сеточный газ", например), и свои виртуальные исследовательские установки (чего только стоит название "символьный суперколлайдер"), и наконец, программные продукты конкретного целевого назначения. Так, решение вопросов моделирования нелинейных волновых уравнений с помощью КА, рассмотренное в работе Даниэля Острова и Руди Рукера, нашло воплощение в пакете анализа... масштабных электрических сетей CAPOW. Подобных разработок существует немало, однако проект CAPOW позволяет разобраться как с идеями, положенными в основу процесса моделирования, так и с нюансами реализации этих идей -- пакет CAPOW для платформы Windows распространяется с открытыми исходными текстами.

Естественно, за пределами этого краткого экскурса остались имена тысяч ученых, внесших свой вклад в теорию и практику применения теории КА, и автор статьи вынужден ограничиться только важным упоминанием того факта, что КА с момента появления самого термина никогда не были уделом "альтернативной науки".


ANKS

А как же, собственно, "виновник" появления этой статьи, многостраничный и многокилограммовый фолиант Вольфрама? Не самое интересное, что можно сказать о нем, -- мы уже успели "пробежаться" (пусть совершенно поверхностно) по перечню главных идей этой книги, совершенно ее не упоминая. Более интересно то, что в ANKS... практически не указываются все перечисленные первоисточники (а также -- неперечисленные, начиная с Ньяя-сутр конца I в. н. э., в доктрине "Моментальности сущего" которых многими учеными -- сторонниками "Цузе-детерминизма" -- усматриваются основы представлений о дискретности времени и пространства). Еще интереснее, что с точки зрения практика ANKS может показаться книгой вообще бесполезной -- в ней нет ответов на самые главные вопросы практики использования математических методов: насколько они хороши и для каких областей применения годятся? Не менее легендарная и экзотическая личность -- Рэй Курцвейл -- в своем эссе об ANKS вообще высказал мысль, что вся книга построена вокруг одного-единственного злополучного "правила КА # 110" (собственно, это одно из описаний клеточного автомата, приводящее к "интересным результатам" -- игравшие в Life хорошо знают, что есть такие начальные конфигурации, быстро деградирующие и самоуничтожающиеся в ходе "развития", и таких немало -- собственно, конфигурация и правила, по которым клетки-ячейки изменяют свои состояния, и есть "правило КА"). Злополучным оно названо потому, что вскоре после выхода в свет ANKS возник публичный скандал, причем источником информации для него был более чем уважаемый в научном мире журнал "Nature" -- в своей статье Джим Джайлз (Jim Giles, Nature, 417, 2002) объявил подлинного автора "правила # 110" -- Мэтью Кука (Matthew Cook), сотрудника Wolfram Research и ассистента Вольфрама. В свою очередь, Кук до выхода ANKS успел выступить с докладом о своем открытии (которое по соглашению между работодателем и работником уже ему не принадлежало) на конференции по КА в Институте Санта-Фе. Короче говоря, в судебном порядке из материалов конференции доклад Кука был изъят, а сам Кук упомянут на печатных страницах разве что в статье Джайлза да на этих страницах "Компьютерного Обозрения".

В общем, принципиальной новизны (кроме "правила # 110/Мэтью Кука") в мучительно осиленных за год восьми сантиметрах страниц (считать их по-другому в таком фолианте трудно) отыскать нелегко. Возможно, по этой причине самые радикальные из обозревателей уже нашли новый вариант раскрытия аббревиатуры названия -- A New Kind of Scientology. Скепсис научного сообщества подогревается и тем фактом, что работа такого масштаба и такой продолжительности (20 лет!) проводилась фактически в полной изоляции и анонсирование ее плодов сопровождалось исключительно громкими заявлениями (чего стоит только название).

Так что можно спать спокойно -- никакой революции (кроме хорошо известной путаницы между моделью и моделируемым объектом) и новой науки не будет. Как и прежде, хорошее моделирование колебаний маятника дифференциальным уравнением ни в коем случае не означает, что маятник -- это дифференциальное уравнение. А клеточные автоматы остаются действительно очень интересным разделом прикладной математики, инструментарий которого позволит в ряде случаев строить весьма эффектные и удачные модели. В каких именно случаях, насколько удачные -- это дело ученых.