Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
krav.doc
Скачиваний:
1
Добавлен:
01.05.2025
Размер:
3.45 Mб
Скачать

2 .7. Графы вычислительных процессов

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

подсчета распространения ошибки в каком-либо арифмети­ческом вычислении.

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

Рис. 2.1. Граф вычислительного процесса и = (x+

+y)*z.

На рис. 2.1 изображен граф вычи­слительного процесса, соответствующий примеру из предыдущего раздела, и = + у)*z. Граф следует читать снизу вверх, следуя стрелкам. Сначала выполняются операции, расположенные на каком-либо горизонтальном уровне, после этого — операции, расположенные на более высоком уровне, и т.д. Из рис. 2.1, например, ясно, что х и y сна­чала складываются, а потом умножаются на г. Граф, изображенный на рис. 2.1, является только изображением самого вычислительного процесса. Для подсчета общей ошибки результата необходимо дополнить этот граф коэффициентами, которые пишутся"около стрелок согласно следующим правилам.

Сложение

П усть две стрелки, которые входят в кружок сложения, выходят из двух кружков с величинами a1 и a2. Эти величины могут быть как исходными, так и результатами предыдущих вычислений. Тогда стрелка, ведущая от a1 к знаку + в кружке, получает коэффициент a1/(a1 + a2), стрелка же, ведущая от a2 к знаку + в кружке, получает коэффициент a2/(a1+a2).

Вычитание

Если выполняется операция а1 — a2, то соответствующие стрелки получают коэффициенты a1/(a1 — a2) и —a2/(a1— a2).

Умножение

Обе стрелки, входящие в кружок умножения, получают коэффициент +1.

Деление

Если выполняется деление a1/a2 , то стрелка от a1 к косой черте в кружке получает коэффициент +1, а стрелка от a2 к косой черте в кружке получает коэффициент -1.

Смысл всех этих коэффициентов следующий: относительная ошибка

результата любой операции (круж­ка) входит в результат следующей

Рис 2.2 Граф операции, умножаясь на коэффи­циент у стрелки, соединяющей эти две

вычислительного операции.В качестве примера можно рас­смотреть рис. 2.2, который отли­-

процесса , отли- чается от 2.1 только тем, что около стрелок расставлены соответствую­щие

чающийся от графа коэффициенты. Предположим, что три исход­ные величины на рис. 2.1

Рис 2.1 тем , что около имеют относительные ошибки округления, равные соответственно ix, iy и iz,

стрелок поставлены ко- и посмотрим, как применяется пра­вило подсчета ошибки.

эффициенты распростра- Сначала рассмотрим сложение. Относитель­ная ошибка

нения ошибок. величины х составля­ет ix; эта ошибка войдет в резуль­тат

следующей операции (сложе­ния) умноженной на коэффициент у стрелки,

соединяющей х в кружке со знаком + в кружке:

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

со знаком + в кружке:

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

Теперь можно применить то же правило к умножению. Один из сомножителей есть сумма х и у, ошибку которой мы только что вычислили; эта ошибка, согласно изложен­ным выше правилам, войдет в результат умножения умноженной на +1. Относительная ошибка сомножителя z, равная iz также войдет в результат умножения умноженной на +1. При выполнении операции умножения появляется ошибка округления, равная r2. Полная ошибка результата операции умножения выразится следующим образом:

Если все результаты соответствующим образом округ­лены (имеется в виду симметричное округление), то

ни одна из ошибок округления не превзойдет 5-10-t.

Поэтому

Если х и у оба йеотрицательны, то сумма

н е может быть больше 1, и окончательно мы имеем

2.8. ПРИМЕРЫ

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

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

речить тому, что кажется само

собой разумеющимся в клас­сической математике.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]