Пред.
След.
Макеты страниц
Распознанный текст, спецсимволы и формулы могут содержать ошибки, поэтому с корректным вариантом рекомендуем ознакомиться на отсканированных изображениях учебника выше Также, советуем воспользоваться поиском по сайту, мы уверены, что вы сможете найти больше информации по нужной Вам тематике ДЛЯ СТУДЕНТОВ И ШКОЛЬНИКОВ ЕСТЬ
ZADANIA.TO
§ 3.5. Чувствительность вычислительных алгоритмов к ошибкам округленияВыполнение вычислений на ЭВМ сопровождается появлением вычислительной погрешности, связанной в первую очередь с необходимостью округления результата каждой арифметической операции. Даже если разрядность ЭВМ велика, существует реальная опасность, что выполнение большого числа операций приведет к накоплению погрешности, способной значительно или даже полностью исказить вычисляемый результат. Однако и при небольшом числе действий результат вычислений может оказаться совершенно неправильным, если алгоритм слишком чувствителен к ошибкам округления. Начинающий вычислитель часто склонен игнорировать ошибки округления. На первых порах при решении простых задач, в особенности если новичок не задумывается о точности найденных решений, его позицию нетрудно понять. Однако решение серьезных задач (когда число арифметических операций превышает миллиарды, в вычисления вкладываются значительные средства, а результат следует получить с гарантированной точностью и за принятые на основании расчетов решения приходится нести ответственность) предполагает совсем иное отношение к вычислительной погрешности. 1. Порядок выполнения операций.Решение математической задачи на ЭВМ сводится в конечном итоге к выполнению последовательности простейших арифметических и логических операций. Однако часто одно и то же математическое выражение допускает различные способы вычисления, отличающиеся только порядком выполнения операций. Если вычисления производить точно, то они (при любом способе вычисления) будут приводить к одному результату. Однако результаты вычислений на ЭВМ уже зависят от порядка выполнения операций и различие в вычислительной погрешности может быть весьма значительным. Рассмотрим простой, но полезный пример вычисления на ЭВМ суммы Пусть Так как множитель, с которым входит а в формулу для оценки погрешности, убывает с ростом Иногда неудачно выбранный порядок операций либо приводит к полной потере точности, либо вообще не дает возможности получить результат из-за переполнения. Пример 3.29. Пусть на ЭВМ типа IBM PC требуется вычислить произведение порядке сразу же приводит к исчезновению порядка, так как 2. Катастрофическая потеря точности.Иногда короткая последовательность вычислений приводит от исходных данных, известных с высокой точностью, к результату, содержащему недопустимо мало верных цифр или вообще не имеющему ни одной верной цифры. В этом случае, как было отмечено в § 3.2, принято говорить о катастрофической потере точности. В примере 3.29 мы сталкивались с ситуацией, когда неудачный порядок вычисления произведения привел к неверному нулевому значению результата. Рассмотрим другие примеры. Пример 3.30. Известно, что функция
Возможность вычисления значения экспоненты прямым суммированием ряда (3.20) кажется привлекательной. Пусть для вычислений используется
В сумму вошло 36 слагаемых и значение очередного В чем причина катастрофической потери точности? Дело в том, что вычисленные слагаемые ряда неизбежно содержат погрешности, причем для некоторых (для слагаемых с 5-го по 13-е) величина погрешности превосходит значение самого искомого результата. Налицо явный дефект алгоритма, к обсуждению которого мы еще вернемся в конце этого параграфа. В данном случае переход к вычислениям с удвоенной длиной мантисс Однако всего лишь удвоенное значение аргумента Заметим тем не менее, что реальные машинные алгоритмы вычисления Приведем теперь пример, когда к катастрофической потере точности приводит еще более короткая последовательность вычислений. Пример 3.31. Пусть при
Заметим, что при Вычисление по эквивалентной формуле Интересно отметить, что Замечание. Не всегда катастрофическая потеря точности в промежуточных вычислениях действительно является катастрофой. Все зависит от того, как в дальнейшем используется результат. 3. Обусловленность вычислительного алгоритма.По аналогии с понятием обусловленности математической задачи можно ввести понятие обусловленности вычислительного алгоритма, отражающее чувствительность результата работы алгоритма к малым, но неизбежным ошибкам округления. Вычислительно устойчивый алгоритм называют хорошо обусловленным, если малые относительные погрешности округления (характеризуемые числом ем) приводят к малой относительной вычислительной погрешности Если При очень большом значении числа обусловленности алгоритм можно считать практически неустойчивым. Применим, например, алгоритм, первоначально предложенный в примере 3.26, для вычисления конечной серии из Для решения хорошо обусловленной задачи нет смысла применять плохо обусловленный алгоритм. Именно такими являются алгоритмы, первоначально предложенные в примерах 3.26 и 3.30. Вернемся к примеру 3.30. Задача вычисления функции Рассмотрим задачу суммирования ряда Рассмотрим теперь обусловленность алгоритма прямого вычисления по формуле (3.21). Если величина х не слишком мала
Если алгоритм, предназначенный для решения хорошо обусловленной задачи, оказался плохо обусловленным, то его следует признать неудовлетворительным и попытаться построить более качественный алгоритм. В примерах 3.30 и 3.31 это удалось сделать сравнительно легко. Однако для плохо обусловленных задач дело обстоит иначе. Ключ к пониманию дает следующее высказывание [67]: "Если задача плохо обусловлена, то никакие усилия, потраченные на организацию изощренных вычислений, не могут дать правильных ответов, исключая случайности" Здесь требуется серьезное переосмысление постановки вычислительной задачи.
|
1 |
Оглавление
|