Шрифт:
Интервал:
Закладка:
II. Некоторые черты вычислительных машин
Вычислительные машины. Типичные операции
После этих общих замечаний разрешите мне быть более определенным и перейти к той части предмета, о которой я могу говорить уже подробно, с привлечением данных специального характера и технических деталей. Как я уже отмечал, эта часть проблемы связана с искусственными автоматами и особенно с вычислительными машинами. Последние имеют некоторое сходство с центральной нервной системой или, по крайней мере, с определенной стороной ее функций. Разумеется, вычислительная машина гораздо проще нервной системы, проще в том смысле, который имеет здесь значение. Тем не менее представляет определенный интерес проанализировать проблему организмов и организации с точки зрения этих относительно простых искусственных автоматов и установить черты сходства последних с центральной нервной системой в этой, так сказать, «лягушачьей перспективе».
Начну с некоторых утверждений относительно вычислительных машин как таковых.
Идея использовать в целях вычисления автомат относительно нова. Хотя вычислительные автоматы не являются наиболее сложными искусственно созданными автоматами, если рассматривать их с точки зрения тех окончательных результатов, которые можно получить с их помощью, тем не менее они отличаются наивысшей степенью сложности в том смысле, что производят наиболее длинную цепь событий, следующих друг за другом и определяющих одно другое.
В настоящее время имеются вполне определенные и обоснованные соображения относительно того, когда имеет смысл применять быстродействующие вычислительные машины, а когда нет. Этот критерий обычно выражается через число умножений, входящих в математическую проблему. Считают, что применение быстродействующей вычислительной машины в общем оправдывает себя, если вычислительная задача содержит миллион или более последовательных умножений.
В более фундаментальных логических терминах это выражается следующим образом. В рассматриваемых областях (т. е. в тех частях – обычно прикладной – математики, где используются такие машины) математический опыт указывает на желательность доведения точности вычислений приблизительно до десяти десятичных разрядов.
Одно умножение представляется поэтому требующим, по меньшей мере, 10×10 шагов (цифровых умножений), откуда следует, что миллион умножений требует, по меньшей мере, 108 операций. В действительности, однако, умножение двух десятичных знаков не является элементарной операцией. Существуют различные способы разбиения его на элементарные операции, и все эти способы имеют приблизительно одинаковую степень сложности. Наиболее простой способ оценки степени сложности умножения двух чисел в десятичной системе счисления состоит в следующем: вместо того чтобы учитывать число десятичных разрядов, рассматривают число разрядов, которое требуется в двоичной системе счисления (с основанием 2 вместо 10) при той же точности вычислений. Одна десятичная цифра соответствует приблизительно трем двоичным, следовательно, десять десятичных знаков соответствуют приблизительно тридцати двоичным. В силу этого умножение, о котором говорилось выше, состоит не из 10×10, а из 30×30 элементарных шагов, т. е. не из 102, а из 103 шагов. (Двоичные цифры подчиняются принципу «да или нет», «все или ничего», так как имеют только значения 0 или 1. Поэтому их умножение является действительно элементарной операцией. Заметим, кстати, что эквивалентом 10 десятичных знаков является, более точно, не 30, а 33 двоичных знака, но 33×33 приблизительно равно 103.) Отсюда, следовательно, вытекает, что имеется больше оснований считать, что миллиону умножений (в указанном выше смысле) соответствует 109 элементарных операций.
Требования точности и надежности
Я не знаю никакой другой области человеческой деятельности, где результат действительно зависит от последовательности, состоящей из миллиарда (109) шагов в каком бы то ни было искусственном устройстве и где к тому же каждая операция на самом деле имела бы значение для результата (или, по крайней мере, могла бы иметь для него значение со значительной вероятностью). А именно эта ситуация имеет место в области вычислительных машин, именно это является их наиболее характерной чертой, вызывающей наибольшие затруднения.
Действительно, за последние два десятилетия созданы автоматы, которые выполняют сотни миллионов или даже миллиарды операций, прежде чем выдают результат. Однако действие этих автоматов не последовательное. Такое большое количество операций является следствием того, что по разным соображениям желательно проделать один и тот же эксперимент несколько раз. Такие кумулятивные, повторяющиеся, накапливающиеся процедуры могут, например, повышать «вес» результата, т. е. (и это существенный аспект) увеличивать значимый результат – «сигнал» – по сравнению с искажающим его «шумом». Так, например, при любом разумном методе подсчета числа реакций, происходящих в микрофоне до того, как будет произведен членораздельный звуковой сигнал, мы придем к величине, равной многим десяткам тысяч. Аналогичные оценки для телевидения приводят к величине, равной десяткам миллионов, а в случае радарной установки, возможно, даже многим миллиардам. Для любого из автоматов такого рода справедливо, однако, следующее: влияние ошибок, которые автомат совершает в своей работе, на окончательный результат обычно соответствует той доле, которую ошибочные шаги составляют в общем числе шагов, осуществленных автоматом. (Для всех примеров, которые приведены выше, это не совсем верно, однако это утверждение достаточно для качественной характеристики ситуации.) Таким образом, чем большее число операций требуется для того, чтобы получить результат, тем меньше оказывается значимость каждой операции в отдельности.
К вычислительным машинам это правило не применимо. Каждая операция в них является (или может оказаться) столь же существенной, что и результат в целом; любая ошибка может сделать полностью недействительным весь результат. (Справедливость этого утверждения не абсолютна; однако, по-видимому, почти 30 % всех операций, которые обычно применяются в вычислительных машинах, – такого типа.) Таким образом, вычислительные машины занимают исключительное место среди продуктов человеческой деятельности. Помимо того что они должны быстро выполнять миллиарды и более операций, от них требуется, чтобы в значительной части вычислительной процедуры (часть эта строго определяется заранее) не было ни одной погрешности.
Действительно, для того чтобы быть уверенным в том, что машина в целом исправна и не имеет дефектов, могущих расстроить всю ее работу, существующая практика обычно требует, чтобы во всей процедуре не встречалось ни единой
- Журнал PC Magazine/RE №05/2008 - PC Magazine/RE - Прочая околокомпьтерная литература
- Применение технологий электронного банкинга: риск-ориентированный подход - Леонид Лямин - Прочая околокомпьтерная литература
- Журнал PC Magazine/RE №11/2008 - PC Magazine/RE - Прочая околокомпьтерная литература
- Журнал PC Magazine/RE №07/2009 - PC Magazine/RE - Прочая околокомпьтерная литература
- Шифровальщики. Как реагировать на атаки с использованием программ-вымогателей - Олег Скулкин - Прочая околокомпьтерная литература
- Руководство по компьютерной безопасности и защите информации для Больших Боссов - Карл Шкафиц - Прочая околокомпьтерная литература
- Журнал PC Magazine/RE №03/2008 - PC Magazine/RE - Прочая околокомпьтерная литература
- Компьютер + мобильник: эффективное взаимодействие - Виктор Гольцман - Прочая околокомпьтерная литература
- Задачник о смысле жизни - Илья Галахов - Прочая детская литература / Математика / Периодические издания
- Цифровой журнал «Компьютерра» № 181 - Коллектив Авторов - Прочая околокомпьтерная литература