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

5.2. НАУЧНЫЕ ВЫЧИСЛЕНИЯ И ЧИСЛЕННЫЙ АНАЛИЗ

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

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

Пусть, например, принято допущение (вероятно, ошибочное), что для решения некоторой практической научной задачи необходимо просуммировать бесконечный ряд

Исследователь нематематик, которому неизвестны строгие условия сходимости рядов такого типа, естественно, решит, что нужно последовательно суммировать члены ряда до тех пор, пока не окажется, что добавление новых слагаемых мало меняет сумму. Вначале ряд сходится довольно медленно. Если взять первые сто членов, то сумма их составит около 5,19, и при этом последний член будет равен всего 0,01. Добавление еще 10 членов, каждый из которых не превышает 0,01, увеличит сумму почти на 0,1. При выполнении этих вычислений на настольной счетной машине (довольно трудоемкая работа) наблюдательный исследователь легко придет к выводу, что здесь что-то не так. Обратившись за консультацией к математику, он сразу узнает о том общеизвестном факте, что в действительности этот ряд расходится и в зависимости от числа членов сумма его может оказаться сколь угодно большой. Это, вероятно, заставит его сделать вывод, что первоначально принятое допущение в чем-то ошибочно и его необходимо тщательно исследовать и изменить. Посмотрим теперь, что произойдет, если для суммирования такого ряда будет запрограммирована вычислительная машина. Обычно в учебниках рекомендуется прекращать вычисления, если последнее слагаемое меньше некоторого произвольно выбранного малого числа. Но это правило может оказаться неудовлетворительным даже для абсолютно сходящихся рядов (если ряд сходится очень медленно), не говоря уже о расходящихся. Однако вычислительная машина и в этом случае все же выдаст конечное число и, следовательно, допустит грубую ошибку, поскольку конечного результата здесь вообще не существует. Обычно ряды, подлежащие суммированию, сходятся довольно быстро, и никаких трудностей не возникает. Например, никаких затруднений не вызывает ряд иногда ошибка такого рода может быть допущена как раз тогда, когда решается какая-то важная задача.

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

Аналогичные проблемы часто возникают и при решении дифференциальных уравнений.

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

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

Его нулями являются целые числа 1, 2, 3,..., 20. Поэтому при любом математическом методе нахождения нулей многочлена записанного в правой части равенства, должны быть получены именно эти числа (во всяком случае, если вычисления могут быть выполнены с абсолютной точностью).

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

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

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

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

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

Хорошим введением в элементы численного анализа, где специально рассматривается использование вычислительных машин в научных исследованиях, может служить книга Хемминга [33].

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