История вне морали

В истории развития информационных технологий имеются страницы, которые трудно читать без внутреннего содрогания, но то, что на них написано, важно знать хотя бы для того, чтобы не творить зло повторно. Дело в том, что ровно 60 лет назад была произведена бомбардировка японских городов Хиросима и Нагасаки, и это событие обозначило в истории человечества начало атомной эры. Едва ли не впервые в 1945 г. человек сотворил техногенную катастрофу, по масштабам сопоставимую с крупнейшими природными, вроде Агадирского или Ашхабадского землетрясения. Как ни странно, одно великое бедствие, Вторая мировая война, породило другое — «холодную войну», у причинных истоков которой оказались выдающиеся мировые умы.

В середине XX в. атомная бомба превратилась в системный фактор, доминировавший в политическом, научном, промышленном и других отношениях и определявший устройство мира. Кстати говоря, сегодня подобная системная роль уготована информационным технологиям, обещающим новую экономику. Поэтому полезно напомнить, как системный фактор в виде бомбы сказался на развитии ИТ, в частности компьютеров и математики, а в качестве примеров рассмотреть события из прошлого нашей страны.

Первый этап: создание бомбы

Л.В. Канторович

Аналитическая работа физиков в ведущих странах мира над вопросом, получит ли фашистская Германия атомное оружие в руки первой, привела к активизации политиков и выделению государственных ресурсов, что позволило приступить к форсированию его создания. Начальные работы над бомбой проходили в непосредственной близости от лабораторных столов и сводились в значительной мере к поиску принципиальных и технологических решений по созданию опытных образцов. Главными в ходе этого этапа были физики и химики, а возникавшие расчетные задачи хотя и носили вариантный характер, выполнялись все же лишь на арифмометрах типа «Феликс» и электромеханических машинах «Мерседес», «Рейнметалл» да с помощью логарифмических линеек специальной конструкции с длиной шкалы в 1 м (см. журнал «Наука и жизнь», №5/05, с. 84), как у Е.И. Забабахина, одного из известнейших конструкторов зарядов для атомных и водородных бомб, первого директора ФЯЦ ВНИИТФ. Но наряду с этим в СССР к 1948 г. уже были задействованы научно-производственные ресурсы Академии наук и промышленности.

В Москве образовали ЛИП АН (прародитель Курчатовского РНЦ), с 1944 г. в Математическом институте им. В.А. Стеклова (МИАН) существовало Расчетное бюро, которое возглавлял К.А. Семендяев, в лаборатории №8 Геофизической комплексной экспедиции АН СССР создали группу под началом А.Н. Тихонова, в Ленинграде работали сотрудники ЛОМИ под руководством Л.В. Канторовича, в том числе и на машинно-счетной станции (МСС) на Карповке. Они решали задачи для НИИ-11 в Арзамасе (прародителе Саровского ФЯЦ ВНИИЭФ). В ЛИП АН были сформированы два расчетных отдела под руководством С.Л. Соболева, в Обнинске вокруг работ, связанных с атомными реакторами и возмущениями атмосферы и толщи Земли в результате подрыва ядерных зарядов, начал формироваться научный центр, а расчеты в числе других выполнял Г.И. Марчук.

К моменту проведения испытаний первой атомной бомбы в СССР уже шли работы по проектированию первых универсальных электронных цифровых вычислительных машин (УЭЦВМ) МЭСМ в Энергетическом институте АН УССР, которыми руководил С.А. Лебедев, и «Стрелы» в СКБ №245 (главный конструктор С.Я. Базилевский), а также М-2 в Энергетическом институте АН СССР под руководством С.И. Брука.

Какие же классы задач пришлось решать математикам на первом этапе? Разумеется, участвовать в постановках задач. Это сплошь и рядом оказывалось непростым делом и приводило к совершенно неизвестным постановкам, для которых не существовало даже методов решения. Следовательно, их необходимо было разработать, а затем построить соответствующий вычислительный процесс с использованием имеющихся средств и, наконец, выполнить массовые расчеты.

Так, группа А.Н. Тихонова участвовала в решении задачи по оценке энергии взрыва, для чего А.Н. Тихонову и А.А. Самарскому пришлось разработать метод конечных разностей в лагранжевых переменных. Кроме того, для значительного ускорения получения конечных результатов А.А. Самарский нашел способ распараллеливания счета, когда 10—15 вычислителей одновременно решали на «Мерседесах» какие-нибудь отдельные куски задачи и обменивались промежуточными результатами. Предложенная Л.Д. Ландау модельная задача взрыва с границей в виде шара, описываемая обыкновенными дифференциальными уравнениями, была обобщена до полной системы уравнений в частных производных с учетом уравнения переноса — расчеты для нее были выполнены уже в 1949 г.

И.М. Гельфанд

Расчетами сложных систем получения кондиционного расщепляющегося материала (урана-235 и плутония) совместно с физиком И.К. Кикоиным занимался С.Л. Соболев. В их работе значительное внимание уделялось постановке задачи, так как технологические процессы на строящихся фабриках были в подавляющем большинстве настолько сложными, что требовали весьма трудоемкого системного анализа производства.

Как вспоминает академик В.С. Владимиров, группа Л.В. Канторовича и Расчетное бюро МИАН (РБ) были задействованы в проекте «Плутоний», который имел отношение к атомной бомбе с плутониевым зарядом. «Сначала мы считали критическую массу заряда в форме шара — и метод выделения особенностей по Канторовичу очень помогал, потому что сингулярность очень большая. А если ее выделить, то остальная часть вычислялась через интегральные логарифмы. Потом потребовался расчет для заряда в форме цилиндра — там оказалось сложнее, потому что уже требовалось численное интегрирование, но тогда мне пришла в голову идея заменить интеграл по объему интегралом по поверхности, что упрощало расчет». Интересно, что эта группа использовалась для выполнения расчетов, связанных с методами функционального анализа, а в дальнейшем из нее вышли видные представители национальной школы вычислительных методов алгебры (В.Н. Фаддеева и В.Н. Кублановская). Этими сотрудниками было многое сделано для понимания сущности вычислительного процесса для таких методов. Как вспоминают они, тестовые расчеты в основном выполнялись на «Мерседесах», а большие — на Карповке на МСС с использованием счетно-аналитических машин.

Особую роль при решении задач играли вопросы точности и времени получения результата, так в РБ и на МСС появились способы двойного счета и распараллеливания процесса вычисления.

РБ МИАН существовало еще до возникновения атомной программы, оно выполняло расчеты таблиц для артиллерийской стрельбы по указанию ГАУ МО СССР под руководством К.А. Семендяева. Приобретенный РБ опыт вычислительных работ очень пригодился и для атомной программы. Так, начиная с программы «Плутоний» была широко использована внедренная в РБ организация вычислений, при которой в конце всякого этапа производился контроль правильности — строили графики рассчитанных функций, следили за их гладкостью и т.п. Для ускорения расчета пользовались не только разбиением процесса вычисления на небольшие куски, но и выполняли их параллельно там, где это возможно. Следует отметить, что как побочный продукт работы РБ и ВЦ АН СССР появилась весьма популярная у вычислителей книга К.А. Семендяева «Семизначные таблицы математических функций».

По признанию А.Б. Морозовой, сотрудницы К.А. Семендяева, он хорошо воспринимал задачи от физиков, был их замечательным постановщиком и «великим организатором вычислительного процесса».

Еще два важных направления выполнения расчетов были связаны с реакциями деления атомных ядер вещества и процессами диффузии, которые интересовали разработчиков зарядов бомб и конструкторов реакторов. Так появился интерес к ветвящимся процессам, малоизученному классу случайных процессов и дифференциальным уравнениям диффузионного типа. Были созданы расчетные методики для простейших моделей этих математических объектов, среди их авторов — Н.А. Дмитриев и Г.И. Марчук.

Целиком свои бомбы

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

С.К. Годунов

В Советском Союзе к началу 50-х годов было уже несколько научно-производственных центров, которые работали по атомной и термоядерной программам. Промышленный взгляд на разработки и производство новых бомб требовал более точных сведений о зарядах, но возможности для натурной проверки научных и инженерных рекомендаций по очевидным причинам были крайне ограничены. Так родилось понятие вычислительного эксперимента, широкое распространение которого стало серьезным стимулом для развития ЭВМ и вычислительной математики в целом.

Значительная часть экономических возможностей страны была ориентирована на развитие военного потенциала, и в частности на создание «ядерного щита», что привело не только к созданию новых производств, но и к структурным изменениям в имеющихся научно-технических и образовательных учреждениях. Создаются многочисленные отраслевые НИИ и СКБ, заводы и цеха, смыслом деятельности которых становится разработка и производство изделий, технологий, оборудования и материалов для атомной отрасли. Система образования начинает готовить специалистов соответствующего профиля. Так, появляются специализации по вычислительной математике, технике и прочим отраслям, представлявшим интерес в тот момент. Начинается время информационных технологий в России.

В 1953 г. в АН СССР происходит важная реорганизация, в ходе которой создаются Институт точной механики и вычислительной техники (ИТМиВТ) и Отделение прикладной математики в МИАН (ОПМ), к этому же времени складываются и вычислительные коллективы в Арзамасе и на Урале. МГУ, ЛГУ, МФТИ и МИФИ готовят ИТ-специалистов.

Чем же интересны 50-е годы в развитии ИТ под влиянием атомной индустрии? Прежде всего появлением ВТ и теми переменами, которые она внесла во многие виды деятельности. Ускорение научной и проектной работы сказалось на темпах производства и разнообразии атомного оружия, что в свою очередь предъявило новые требования не только к ВТ, но и к вычислительной математике.

В этот период были разработаны и эксплуатировались УЭЦВМ «Стрела», МЭСМ, БЭСМ, БЭСМ-2, М-2, М-20 и «Урал», которые позволили вести расчеты для более близких к реальным моделям процессов и изделий, потребовавшие совершенствования и разработки новых математических методов. Вот для примера характеристики БЭСМ — ламповая трехадресная машина с быстродействием 1 тыс. операций в секунду, оперативная память объемом в 1024 39-разрядных чисел; для ввода чисел (на перфокартах) существовала постоянная память — диодное запоминающее устройство емкостью 376 чисел. Отладка программ проводилась с пульта в потактовом режиме. Ошибки «отлавливались» в процессе выполнения отдельных операций.

На первых порах из-за необходимости программирования и невысокой скорости вычислений на ВМ у заказчиков расчетов имелось недоверие к результатам работы, которое преодолевалось по мере усложнения решаемых задач и повышения качества результатов, например, по точности решения. Собственно, в это десятилетие происходит становление программирования как специальности, а вычислительной математики — как глубокого раздела всей математики.

В МГУ, ЛГУ и ОПМ создаются школы по численным математическим методам, которые стимулируются интересом к атомным проблемам, а именно к приближенному решению алгебраических и дифференциальных уравнений.

Особую роль в этот период играет ОПМ, сотрудники которого имеют доступ к «Стреле» и БЭСМ и решают задачи для разработчиков бомб. Один только краткий перечень имен этих сотрудников, ставших действительными членами и членами-корреспондентами РАН, впечатляет: К.А. Семендяев, И.М. Гельфанд, А.А. Ляпунов, А.А. Самарский, Н.Н. Яненко, С.К. Годунов, К.И. Бабенко и др.

Воспользуемся юбилейным отчетом ИПМ РАН за первые двадцать лет и приведем названия лишь нескольких отчетов той поры.

«О решении одного нелинейного уравнения диффузии», работа 1952 г. В ней исследуется процесс перемешивания разноплотных слоев вещества, и это направление исследований по развитию возмущений на контактных границах актуально и поныне. В работе следующего года «Один метод решения уравнения теплопроводности» И.М. Гельфанда, С.К. Годунова, А.М. Молчанова и др. рассматривается случай нелинейного уравнения и обосновывается схема расчета для интегрального представления решения. Тогда же А.А. Самарский подготовил отчет «О методах разностного счета уравнений параболического типа», в котором описан общий подход к построению разностных схем на основе интегро-дифференциального метода. Вот как комментирует эту работу член-корреспондент РАН А.В. Забродин: «Именно тогда было показано, что нелинейные задачи с разрывными решениями надо формулировать и решать в терминах закона сохранения. Теперь это классическое положение».

Остановим свое внимание еще на двух отчетах. Один из первых результатов по кумуляции энергии — основному механизму, использовавшемуся при разработке ядерных зарядов, описан в работе А.И. Жукова и К.А. Семендяева «Расчет разрывов при численном решении газодинамических задач методами характеристик». В ней приведен численный алгоритм расчета движения фронта волны к центру.

Изобретение метода разностных схем для решения уравнений теплопроводности, позже получившего название «прогонка», содержится в отчете И.М. Гельфанда и О.В. Локуциевского (1953 г.).

Завершим иллюстрации работ ОПМ тех лет рассказом о первой методике проведения двумерных расчетов на ЭВМ и ее реализации на доработанной ЭВМ «Стрела». В 1954 г. появилась первая методика двумерных расчетов, изложенная в отчете «Решение задачи об асимметричном движении газа с ударной волной» К.И. Бабенко, И.М. Гельфанда, Н.А. Дмитриева, М.В. Келдыша, О.В. Локуциевского, Н.Н. Ченцова, где впервые была использована «матричная прогонка». Два года спустя, когда при конструировании зарядов возникла проблема более детального геометрического описания процессов, протекающих при работе зарядов, потребовалось учесть при математическом моделировании двумерный характер нестационарного движения вещества в изделиях. Для этого инженерам и программистам под руководством А.Н. Мямлина и М.Р. Шура-Бура пришлось разработать три методики выполнения двумерных расчетов, которые открыли возможности для проведения вычислений не только для атомных проектов, но и для авиа- и ракетостроения. А ведь «Стрела» имела в то время характеристики — 2 тыс. операций в секунду и 2048 чисел в оперативной памяти.

Н.Н. Яненко

В том же десятилетии в СССР появляются работы по автоматизации программирования, начало которым положено в диссертации аспиранта А.П. Ершова. Естественно, что организация вычислительного процесса теперь не только рассматривается на подготовительной алгоритмической стадии работы расчетчиков, но и переносится на уровень программ. Складывается понятие жизненного цикла расчета от постановки задачи до обсуждения результатов ее расчетов с заказчиком, что и по сей день можно считать наиболее общей моделью жизненного цикла программ. В работах А.А. Ляпунова и Ю.И. Янова рассмотрена теоретическая модель программы, они были опубликованы в первых выпусках сборника «Проблемы кибернетики». Для М-20 в ОПМ была создана одна из первых библиотек стандартных программ в отделе М.Р. Шура-Бура (группа моих однокурсников Г. Игошева, В. Ковда, В. Собельман и Н. Демидович).

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

Третий этап: путь к плазме

Работы по термоядерным реакциям, приведшие к созданию водородной бомбы, в США начались еще в 1942 г., а ее наземный подрыв они совершили десять лет спустя на атолле Эниветок. В СССР аналогичные работы начались в конце 40-х, и менее чем через год после американцев, в 1953 г., в Казахстане был осуществлен воздушный взрыв собственной бомбы. Этот путь был пройден быстрее отечественными учеными и инженерами в значительной мере благодаря тому, что была развита «фабрика счета», перенесенная на ЭВМ и позволившая, в частности, оценить энергию взрыва бомбы на порядок лучше, чем в американском проекте.

Занятия проектом водородной бомбы оказались важной ступенью формирования вычислительной математики, приведшей к развитию численных методов для дифференциальных уравнений в частных производных. Так, решение подобных уравнений разностными методами приводило к необходимости заниматься выбором величины шага сетки при замене на разностные уравнения. Удача сопутствовала устойчивости получаемых решений, т.е. малым изменениям решений при незначительных изменениях в величинах данных. Разработанные в пятидесятые годы, в частности сотрудниками ОПМ, устойчивые разностные схемы для основных типов уравнений составили серьезный вклад в развитие вычислительной науки и практического счета. Уместно отметить, что они определили и широкое проникновение устойчивых схем в расчеты из других областей техники, а в дальнейшем стимулировали создание А.Н. Тихоновым так называемых методов решения обратных некорректных задач, которые очень популярны в научно-технической практике. К этому классу относят попытки определить по результатам наблюдения каких-то явлений причины, их вызвавшие. Однако извечные попытки решения подобных задач «в лоб» сплошь и рядом приводили и приводят к неустойчивым результатам и говорят о некорректности таких постановок. А.Н. Тихонов предложил иной подход: исходные данные для них должны быть известны со своей точностью, тогда, заменяя некорректную задачу на семейство корректных, зависящих от некоторого параметра, можно прийти к устойчивому решению.

Дальнейший путь «бомбардиров» лежал в направлении управляемых термоядерных реакций, т.е. в своеобразный «энергетический рай» — во искупление занятий смертоносными бомбами. Расчеты, связанные с устойчивыми состояниями плазмы, тесно привязанные к расчетам для экспериментов на устройствах для создания и поддержания термоядерной реакции в мирных целях, стали в последнюю четверть XX в. весьма распространенными. И можно было наблюдать, как весьма продвинутые вычислительные методы становились популярными не только у математиков. Ими активно пользовались и физики, и астрофизики, перенося их, в частности, на решение интегральных уравнений и существенно расширяя при этом круг охватываемых задач.

Математическое моделирование

Завершить целостное восприятие отношений в треугольнике понятий «бомбы, компьютеры, математика» поможет математическое моделирование, которое позволит не только выявить их взаимодействие, но и придаст этому комплексу важное содержание. Начну с напоминания о том, что в конце прошлого века стала весьма актуальной апокалиптическая картина «ядерной зимы», т.е. того, как будет выглядеть Земля в случае ядерных конфликтов, могущих иметь самые разные причины. Попытки образумить человечество с амвонов в храмах, политических трибун или профессорских кафедр действовали слабо. Тогда подключились подвижники вроде академика Н.Н. Моисеева, которые стали строить на компьютерах различные численные модели того, «что будет, если...».

А.А. Самарский

Интерес подобных моделей кроме исследовательского состоит прежде всего в демонстрации возможностей, которые предоставляет на сегодня упомянутая выше триада с естественной заменой «бомбы» на «знания», позволяющих не только анализировать статус человечества, но и строить прогнозы, поддающиеся количественной оценке, что равносильно управляемым прогнозам.

Предпосылки для подобных шагов следует усматривать не столько в вычислительной мощи компьютеров, сколько в тех знаниях, которые получены людьми в самых различных областях, и в навыках их анализа, в том числе с помощью вычислительной математики. Для иллюстрации хочу обратить внимание читателей на книгу А.А. Самарского и А.П. Михайлова «Математическое моделирование», в которой авторы убедительно показывают, что эта методология достигла весьма высокой степени общности и прошла путь от анализа ядерного заряда до математических объектов, представляющих сложные экологические системы, включающие даже климатические и социальные компоненты. Математические модели, рассматриваемые А.А. Самарским и его учениками, базируются на фундаментальных законах природы и включают трудно формализуемые объекты, а также системы моделей. Исследование подобных моделей проводится с помощью вычислительных экспериментов, само понятие вычислительного эксперимента утвердилось в далекую пору создания атомных бомб и отражало еще более давние традиции открытия планет «на кончике пера».

Интерес к работам А.А. Самарского вызван еще и тем обстоятельством, что он был одним из тех, кто способствовал превращению триады «бомбы — компьютеры — математика» из линейной в устойчивую треугольную, учитывающую все взаимные связи между составляющими.

Заметно, что сегодняшние ИТ-специалисты уделяют все больше внимания системному анализу продуктов и технологий, при котором методология математического моделирования составляет достойную конкуренцию все еще живучей 3П («пол—потолок—палец»).

Драмы и награды

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

В заключение считаю своим приятным долгом указать источники сведений для данной статьи: знания, почерпнутые в ходе учебы на мехмате МГУ в 1953—58 гг. и дальнейшей работы до 1993 г. в качестве специалиста по прикладной математике и вычислителя; двухтомник, посвященный Л.В. Канторовичу; книги — упомянутая выше А.А. Самарского и А.П. Михайлова, а также Б.М. Писаревского и В.Т. Харина «Беседы о математике и математиках»; юбилейные материалы ИПМ РАН.