Главная > Разное > Математика в биологии и медицине
<< Предыдущий параграф
Следующий параграф >>
<< Предыдущий параграф Следующий параграф >>
Макеты страниц

Глава 5. РОЛЬ ВЫЧИСЛИТЕЛЬНОЙ ТЕХНИКИ

5.1. ОБЩИЕ ПРИНЦИПЫ

За исключением лишь небольшого числа одаренных людей, человечество с незапамятных времен смотрит на арифметические вычисления как на тяжелую нудную работу, от которой необходимо избавиться любой ценой и любыми доступными средствами. Долгую историю имеют конторские счеты (по существу это примитивное цифровое вычислительное устройство с выполнением операций вручную), которые, по-видимому, были изобретены независимо в различных частях мира и кое-где применяются до сих пор. После того как в конце XVI в. были изобретены логарифмы, незаменимым механическим инструментом стала логарифмическая линейка. Первая логарифмическая линейка появилась в 20-х годах XVII столетия. Она дала возможность выполнять более сложные вычисления, хотя аналоговый характер прибора (числа изображаются расстояниями) значительно ограничивает точность при многих расчетах. Тем не менее логарифмической линейкой по-прежнему широко пользуются математики, ученые и инженеры во всем мире. Существует также и ряд специализированных счетных устройств: таблицы готовых расчетов в бухгалтерии, автоматические весы в бакалейно-гастрономических магазинах или счетчики на автозаправочных станциях. Во всех этих устройствах используются заранее подготовленные таблицы или шкалы, позволяющие очень быстро производить операции умножения при различных денежных расчетах.

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

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

Аналогичные соображения применимы также и к более сложным настольным счетным машинам. Это механические цифровые устройства, предназначенные для выполнения основных арифметических действий (сложения, вычитания, умножения и деления) и имеющие ряд вспомогательных устройств для накопления результатов и выполнения операций сокращения. Более дешевые счетные машины обычно управляются вручную и их применяют, когда объем вычислений относительно невелик, а также для целей обучения. Для очень продолжительных вычислений, когда требуется большая скорость и гибкость, необходимы более крупные и более дорогие счетные машины. Обычно они приводятся в действие электромотором, хотя по принципу действия по-прежнему являются механическими. Настольные счетные машины такого общего типа используются уже очень много лет, и до самого последнего времени с их помощью выполняли практически все сколько-нибудь сложные научные расчеты. Огромные преимущества настольных счетных машин по сравнению с методами вычислений вручную общеизвестны. Числа вводятся в машину быстро и точно путем поворота ручек или нажима кнопок; все арифметические действия выполняются внутри самой машины; при тщательном планировании последовательности вычислений можно избежать записи большого числа промежуточных результатов. Разумеется, при вычислениях могут возникать ошибки, хотя и не так часто, как при работе вручную, поэтому обычно в последовательность вычислений включается ряд операций по проверке результата.

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

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

Хотя настольные счетные машины представляют собой большой шаг вперед по сравнению с другими методами вычислений, их недостатки довольно очевидны, и поэтому появились серьезные основания для разработки машины совершенно другого типа. Соответствующая электронная схема, в которой используются лампы или транзисторы и электрические цепи, безусловно, позволяет гораздо быстрее выполнять основные арифметические действия, чем чисто механические устройства. Однако преимуществами этих средств нельзя воспользоваться, если вмешательство человека не будет сведено к минимуму. Это означает, что необходимо не только избавиться от медленной записи, чтения и передачи чисел человеком, но нужно каким-то образом перестроить весь план работы, с тем чтобы оператор не должен был принимать никаких решений в процессе вычислений. Именно в решении этих проблем, а не только в увеличении скорости внутренних операций состоит настоящая революция, вызванная современными автоматическими электронными вычислительными машинами.

Вычислительные машины начали разрабатывать в конце второй мировой войны. Первыми машинами, имевшими основные конструктивные особенности современных вычислительных устройств, были вычислительная машина EDSAC, начавшая работать в 1949 г. в Кембриджском университете, и вычислительная машина SEAC, изготовленная Национальным бюро стандартов США в 1950 г. В этих первых машинах использовались электронные лампы, которые в настоящее время заменены транзисторами, позволившими уменьшить габариты вычислительных машин и обладающими значительно более высокой надежностью. К настоящему времени достигнуты большие успехи в области микроминиатюризации аппаратуры. Все это позволит создать настольные электронные вычислительные машины и снизить продолжительность основных операций до наносекунд, что означает тысячи миллионов операций в секунду. В настоящее время выпущен ряд превосходных руководств, в которых читатель может найти детальное описание существующих машин и конкретные рекомендации по работе с ними.

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

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

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

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

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

К счастью, эту трудность можно в значительной мере исключить путем хорошего программирования. Как мы видели, в обычной настольной счетной машине также имеются очень большие возможности появления ошибок при повторных вычислениях. При этом только крупные ошибки выявляются сразу, а для того, чтобы предупредить накопление небольших ошибок, требуется проводить тщательные проверки на всех этапах. Эти проверки составляют важную часть всей последовательности вычислений. Но ведь такие же проверки составляют неотъемлемую часть программы электронной вычислительной машины. Вследствие своего большого быстродействия электронная вычислительная машина позволяет осуществить значительно больше арифметических проверок, чем настольная счетная машина. Следовательно, при хорошо составленной программе электронная вычислительная машина обеспечивает вовсе не меньшую, а значительно большую надежность результатов.

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

Таковы некоторые основные идеи, связанные с применением электронных вычислительных машин. Широкое распространение вычислительной техники радикально повлияло на наши вычислительные возможности, на масштабы обработки данных и в итоге — на общее направление научно-исследовательских работ и выбор методов их осуществления. К этому аспекту мы еще вернемся в разд. 5.5 и 5.6, а пока более внимательно рассмотрим некоторые основные задачи, для решения которых целесообразно применение вычислительных машин, и методы, позволяющие исследователям использовать преимущества этой новой техники.

Прекрасным пособием для знакомства с вычислительными методами может служить недавно вышедшая книга Холлингдейла и Тутилла [35].

<< Предыдущий параграф Следующий параграф >>
Оглавление