АЛЕКСАНДР АНДРЕЕВИЧ САМАРСКИЙ (родился в 1919 г. в с. Н.-Ивановское Донецкой области) — академик АН СССР, зав. отделом Института прикладной математики им. М. В. Келдыша АН СССР, зав. кафедрами в МГУ им. М. В. Ломоносова и МФТИ, член ряда редколлегий научных журналов, председатель Научного совета по комплексной проблеме * Математическое моделирование» АН СССР. Герой Социалистического Труда, лауреат Ленинской и Государственной премий. Широко известен в нашей стране и за рубежом фундаментальными работами в области численных методов, математической физики и вычислительного эксперимента. Активный пропагандист и популяризатор методов и идей прикладной математики.
МИХАЙЛОВ АЛЕКСАНДР ПЕТРОВИЧ (родился в 1947 г. в Москве) — доктор физико-математических наук, старший научный сотрудник Института прикладной математики им. М. В. Келдыша АН СССР, член Научного совета по комплексной проблеме «Математическое моделирование» АН СССР. Специалист по вычислительной математике и математическому моделированию.
Художники: Е. А. Коган Л. X. Насыров
Содержание
Введение 3
ЭВМ как инструмент познания 5
Первые шаги вычислительного эксперимента 44
Математическое моделирование — микромир, клетка, Вселенная 72
Компьютеры в роли пророков 106
Заключение 126
Введение
Эта книга обращена к школьникам, но авторы хотели бы обсудить на ее страницах вполне взрослые проблемы. Ведь пройдет 5 — 10 лет, и нынешние старшеклассники примут на свои плечи часть ответственности за будущее общества, за жизнь на планете.
Стремительное развитие человечества, теснейшая связь внешне отдаленных явлений и событий, вопросы неведомые еще вчера и ждущие немедленного решения сегодня, все, что укладывается в емкое понятие «ускорение», — визитная карточка нашего времени. Путь вперед представляется неширокой тропой, движение по которой требует тщательного выбора. Любой неверный шаг — это шаг навстречу экономическим потрясениям, истощению земных ресурсов или к военным столкновениям.
Борьба созидательных и разрушительных сил ведется и на обширных полях научно-технического прогресса. Она имеет своих героев и антигероев. Американскому президенту Г. Трумэну, отдавшему приказ о бомбардировке Хиросимы и Нагасаки, конструктору смертоносных ракет «ФАУ» В. фон Брауну, «отцу» американской водородной бомбы Э. Теллеру в нашей памяти противостоят светлые имена И. В. Курчатова, С. П. Королева, М. В. Келдыша, предложивших пути мирного использования нового вида энергии и космической техники.
Эту борьбу начинали и малоизвестные «участники», среди которых были первые компьютеры. С их помощью рассчитывались траектории и режимы работы двигателей космических аппаратов, процессы, протекающие в веществе при развитии ядерных и термоядерных реакций. Несмотря на это, трудно было предсказать потомкам тогдашних ЭВМ, громоздких и ненадежных, столь блестящую карьеру.
С тех пор прошло почти 40 лет, и из персонажа карикатур — электронного шкафа с подмигивающим пультом — компьютеры превратились в катализаторов научно-технического прогресса. Слова «ЭВМ», «микропроцессор», «дисплей» у всех на устах.
Компьютеры помогают делать научные открытия, работают в различных системах управления, руководят станками. Появились термины «компьютеризация», «компьютерная грамотность», новый смысл приобрело слово «информатика».
Через два года в мировом парке ЭВМ будет свыше полутора миллиона компьютеров. Огромная сила! Что сулит вычислительная техника человечеству?
Ответить на эти вопросы помогает многолетняя история работы компьютеров в науке. Ведь наука — не только колыбель ЭВМ, но и наиболее развитая область их применения. Для ученых ЭВМ стали незаменимым инструментом познания и прогноза сложнейших явлений. Возник новый научный метод — вычислительный эксперимент. Это словосочетание звучит непривычно, даже парадоксально, однако без широкого внедрения этой новой методологии научно-технический прогресс будет невозможен. Поэтому главная забота авторов — рассказ о способах применения компьютеров в научно-технических исследованиях, о становлении и успехах вычислительного эксперимента.
«В фантастических романах главное это было радио. При нем ожидалось счастье человечества. Вот радио есть, а счастья нет», — как-то заметил советский сатирик И. Ильф. Ученые не обещают компьютерного счастья. Но они доподлинно знают, что при правильном использовании компьютеры раскрывают свою истинную ценность, становясь надежными помощниками человека.
ЭВМ как инструмент познания
Компьютер глазами исследователя. Взгляд на компьютеры может быть совершенно разным. Инженер видит в них воплощение новейших технологий микроэлектроники, директор фирмы по производству ЭВМ озабочен конкурентоспособностью своих изделий, домашней хозяйке небезразличны размеры и внешний вид персонального слуги. Для исследователя на первый план выходят, пожалуй, три характеристики — быстродействие, память и средства общения компьютера с человеком.
Подпольный миллионер А. И. Корейко из романа И. Ильфа и Е. Петрова «Золотой теленок» слыл среди своих сослуживцев туповатым, но удивительно быстро считающим в уме сотрудником. «Слушайте, Александр Иванович, — спрашивал сосед, — сколько будет восемьсот тридцать шесть на четыреста двадцать три? — Триста пятьдесят три тысячи шестьсот двадцать восемь, — отвечал Корейко, подумав самую малость».
Приняв за «самую малость» одну секунду, получаем, что «рекордсмен» из Черноморска за это время выполнял примерно одну арифметическую операцию. Прекрасное быстродействие! Ради справедливости скажем, что в действительности встречаются люди еще более способные к устному счету, чем вымышленный литературный персонаж. И все же средний современный компьютер по части вычислений заткнет за пояс целую армию молодцев, подобных Александру Ивановичу. Нечего и говорить о так называемой супер-ЭВМ, чьи возможности в этой области превосходят быстродействие всего человечества, если оно, включая младенцев, занималось бы только вычислениями.
А зачем нужно считать так много и так быстро?
Вопрос не столь уж наивный. Действительно, в конце 40-х — начале 50-х гг. бытовало мнение, что несколько крупных тогдашних ЭВМ могут удовлетворить все запросы на вычисления в любой промышленно развитой стране.
Старшеклассник легко решит систему двух линейных алгебраических уравнений с двумя неизвестными, по заданным численным коэффициентам уравнений найдет численное значение неизвестных. Не составит большого труда решение трех-четырех, а может быть, пяти уравнений. Вряд ли кто-нибудь без крайней необходимости возьмется за систему десятого порядка, а на решение вручную 20 уравнений не хватит, наверное, всей жизни. И не потому, что не известно, как надо решать эти задачи. С незапамятных времен существует правило Крамера — вычисляй один определитель, дели его на другой и получишь значение одного из неизвестных. Но с ростом порядка системы стремительно растет объем вычислений.
(...)
Сейчас мало кого удивляет объем быстрой памяти современных суперкомпьютеров — несколько миллионов слов длиной 64 бит. Масштаб, сравнимый с текстом Большой Советской Энциклопедии. С такой памятью можно, в принципе, подступаться к уже упоминавшейся задаче определения параметров потока в миллионе расчетных точек вокруг самолета. Не отстают от крупных ЭВМ и их меньшие собратья — мини-компьютеры и микропроцессоры. Правда, длина слова у них обычно составляет 16, реже 32 бита в отличие от восьмибайтовых слов суперкомпьютеров.
Во внешней памяти компьютера записываются сведения, не требующие немедленного доступа. Поэтому ее сегодняшние характеристики сопоставимы, пожалуй, с огромной информационной емкостью крупного книгохранилища. Для многих задач, решаемых на ЭВМ, объем внешней памяти ограничен, наверное, лишь финансовыми возможностями владельцев вычислительной техники. В самом деле, очень компактные магнитные диски имеют емкость, в тысячи раз превышающую быструю память лучших суперкомпьютеров.
Как же достигаются в ЭВМ такое быстродействие, такие объемы памяти и вообще как устроены компьютеры? Подробное описание какой-либо конкретной ЭВМ вряд ли имеет смысл. Лет 10 — 15 назад специалист по ЭВМ легко перечислил бы основные компьютеры и их примерные характеристики. Иное дело сейчас. Ассортимент ЭВМ помимо привычных малых, средних и больших машин включает микропроцессоры, мини-машины, персональные и домашние компьютеры, школьные ЭВМ и множество других. Появились первые гибриды, например супермикрокомпьютеры. Стоимость компьютеров колеблется от нескольких десятков до нескольких миллионов долларов в зависимости от качества и разнообразия предлагаемых ими услуг. Принципиальная же схема всех компьютеров одинакова и известна уже полтора столетия. Ее предложил английский математик Ч. Бэббидж. Мечтая возродить математическую славу своей страны, он разработал проект «ана-
грузки на машину. Даже при умеренных аппетитах исследователя число расчетных точек должно быть не меньше сотни по каждому измерению — длине, высоте, ширине. Задача, как говорят в таких случаях, трехмерная. Всего же получается как минимум 106 расчетных узлов. При меньшем числе нельзя получить картину обтекания с достаточной для практики разрешающей способностью. Ведь форма самолета очень сложная — фюзеляж, крылья, хвостовое оперение, двигатели, элементы управления...
Вычислители умеют сводить задачу обтекания к многократному решению системы линейных алгебраических уравнений, порядок которой равен числу расчетных узлов. По очень оптимистическим оценкам, для расчета требуется выполнить 1012 операций, а это сутки непрерывной работы самого мощного суперкомпьютера. Причем авиационный инженер получит в результате картину потока при некоторой заданной скорости самолета и при фиксированном угле атаки, т. е. всего лишь один вариант из множества возможных случаев.
А нужен ли столь подробный расчет? Давайте прикинем необходимые величины на логарифмической линейке, воплотим чертежи в металл, продуем в аэродинамической трубе отдельные части самолета, посадим в него экипаж героев-испытателей и — вперед. Словом, как в старые добрые времена. Обоснованный ответ на подобные вопросы — одна из дальнейших наших целей. А пока запомним несколько цифр. При создании в начале века самолета братьев Райт эксперименты в аэродинамических трубах обошлись в несколько десятков тысяч долларов, бомбардировщик 40-х гг. потребовал миллион, а корабль многоразового пользования «Шаттл» — 100 млн. долларов. Столь же сильно возрастает время продувки в расчете на одну трубу — почти 10 лет для современного аэробуса.
Способности человека к вычислениям ограничены не только быстродействием. Матрица уже знакомого нам определителя двадцатого порядка — таблица с четырьмя сотнями чисел. Над ними необходимо проделать множество манипуляций, чтобы получить лишь одно число — значение определителя. Количество промежуточных выкладок и результатов, которые надо записывать и некоторое время хранить, огромно. Если пользоваться бумагой, то «единого грамма ради» придется потратить, без преувеличения, не одну тонну древесины.
Несколько тысячелетий бумага верно служила людям для записи, хранения и передачи информации. Но известная поговорка «бумага все стерпит» становится неверной сегодня, когда человечество оперирует огромными потоками различных сведений и переходит к безбумажной информатике, изобретая все более эффективные носители информации.
Этот переход необратим. И не только в науке и технике, но и во многих других видах деятельности. Экономика СССР за последние 30 лет выросла примерно в 10 раз. По мнению экономистов, сложность управления народным хозяйством увеличилась уже в 100 раз. Трудно вообразить себе весь объем экономической информации, необходимой нашей стране, промышленность которой выпускает не менее миллиона различных видов изделий. Да и в быту числа начинают сильно теснить человека. Приходится обращаться к машинной памяти.
Термин 41 память ЭВМ» требует пояснения. В компьютере числа представляются не в десятичной, а в двоичной системе счисления, с помощью последовательности нулей и единиц. Любое десятичное число записывается как сумма степеней двойки, а 0 или 1 —
Принципиальная схема компьютера.
«Аналитическая машина» стала первой универсальной вычислительной машиной или вычислительной машиной с гибким программным управлением (компьютером). Возможность быстро и гибко менять программу вычислений без вмешательства человека — вот что отличает компьютеры от других вычислительных устройств, например табуляторов.
В современных компьютерах программа вычислений определяется не только знаком получаемых результатов, но и множеством других условий.
Центральная часть компьютера состоит из двух процессоров, выполняющих арифметические и логические операции, и памяти, хранящей команды программы и результаты вычислений (см. рис. на с. 12). Перед началом вычислений в память записываются программа и другие исходные данные. Первый процессор извлекает из памяти команды, второй — данные, которые обрабатывает согласно команде, полученной из первого процессора, и заносит результаты вычислений в память. Их действия похожи на работу оркестра, с той важной разницей, что заранее неизвестно, какой лист партитуры будет открыт в следующий миг. Да и содержание самой партитуры (памяти) меняется в зависимости от того, что сыграют музыканты после очередного взмаха дирижерской палочки.
Проект Бэббиджа не был осуществлен. Предшественники ЭВМ начали создаваться лишь в довоенное время в Германии (машина К. Цузе) и в США (машины Г. Айткена и А. Атанасова). Эти устройства, наверное, не имели шансов на выживание, хотя бы из-за низкого быстродействия и крайней ненадежности. Например, одна из американских машин размером 15 м в длину и 3 м в высоту имела 46 тыс. вакуумных трубок. Каждые 6 минут какая-нибудь из трубок обязательно выходила из строя.
Однако, создав эти машины, ученые убедились, что вычислительные автоматы с огромным числом логических элементов могут реально работать. Замечательное совпадение — в эти же годы английский математик А. Тьюринг рассмотрел некоторые гипотетические машины. Предполагалось, что эти машины (дискретные автоматы) шаг за шагом выполняют действия по определенной программе. Тьюринг теоретически доказал, что существует универсальная машина, способная реализовать действия произвольной сложности. При этом ее устройство в принципе может быть очень простым. Машина Тьюринга и компьютер — не одно и то же. Но вместе с практическими доказательствами Атанасова, Айткена и Цузе этот результат вселил уверенность в будущих конструкторов ЭВМ.
Ученые поняли также преимущества двоичной системы счисления, которая впервые применялась Атанасовым. Благодаря ей вся информация в машине представляется мозаикой нулей и единиц. Поэтому носители информации — электронные лампы, полупроводники, ферритовые намагничивающиеся сердечники — должны находиться не более чем в двух состояниях. Цифра 0 отвечает, скажем, тому, что через лампу течет ток или намагничен сердечник, иначе получаем цифру 1. К тому же удобными становятся действия над числами, сводящиеся к запоминанию простых таблиц сложения и умножения. Потренировавшись в поразрядном сложении двоичных чисел, нетрудно установить правила: 0+0= = 0, 1 +0=0+1 = 1, 1 + 1 = 1 + . В последнем случае в данный разряд заносится нуль, а 1 переходит в старший разряд. Здесь предполагается, что из младшего разряда приходит нуль. Если же младший разряд «дарит» единицу, то возможно «столкновение» в одном разряде трех единиц и тогда 1 + 1 + 1 = = 1 + 1 + .
Эти и другие простейшие операции в машине
выполняют логически активные элементы, называемые вентилями. Пусть не смущает нас этот ¦сантехнический» термин. Организация компьютера действительно напоминает водопроводную сеть в том смысле, что вентили «открывают» и «закрывают» потоки информации. В отличие от кранов вентили еще и преобразуют информацию («вода» превращается в другую «жидкость»). Каждый вентиль имеет два входа. На них подается сигнал 0 или 1. На единственном выходе вырабатывается либо 0, либо 1. Особое положение занимает вентиль НЕ (логическое отрицание) с двумя выходами. Работа вентилей описывается простыми таблицами (см. рис. на с. 14) независимо от технического исполнения. Если речь идет
0 поразрядном сложении, то вентиль ИЛИ способен лишь к действиям 0+0, 1+0, 0+1. Операция
1 + 1 + 1 ему не под силу — нужно устройство с тремя входами. Призвав на помощь вентили И и НЕ, легко получить логическую схему одноразрядного сумматора двоичных чисел. Заметно сложнее дело обстоит с многоразрядным сумматором, не говоря уже об устройстве для умножения.
Соединяя входы и выходы различных вентилей, из них, как из кирпичиков, получают логическую схему компьютера — огромное «здание» с изощренной архитектурой. В этом конструкторам помогает алгебра «высказываний», разработанная английским математиком Дж. Булем в начале прошлого века. В булевой алгебре рассматриваются функции от любого числа переменных, принимающие только два значения. Каждая переменная также принимает лишь два значения. Этот аппарат очень удобен как раз для компьютеров, оперирующих с россыпью нулей (истинные высказывания) и единиц (ложные высказывания).
KOHEЦ ФPAГMEHTA КНИГИ
|