Г Л А В А   1

 

Элемены теории погрешностей

 

 

§ 1. Источники погрешностей и приближенные числа

 

Источники и виды погрешностей. Процесс решения задачи с использованием вычислительной техники проходит целый ряд этапов: построение математической модели, разработка или выбор численного метода, разработка алгоритма, программирование, проведение вычислений. Некоторые из этих этапов могут являться источником погрешностей и оказывать тем самым свое влияние на достоверность (точность) окончательного результата. Рассмотрим основные источники погрешностей.

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

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

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

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

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

В подтверждение сказанного рассмотрим простой пример[1]. Пусть нужно решить систему двух линейных уравнений:

 

 

Рассмотрим два способа решения.

Первый способ. Исключая x1 из первого уравнения: , и подставляя это выражение во второе уравнение, получаем: .

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

Второй способ. Исключая x1 из второго уравнения: , получаем для x2 формулу . После вычислений получаем ,  – правильное (с точностью до шести десятичных цифр) решение.

Количественные характеристики погрешностей. Погрешность является мерой точности результата. Для количественной характеристики этой меры используют понятия абсолютной и относительной погрешностей.

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

 

.                                        (1.1)

 

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


Решая неравенство (1.1) получим

 

.

 

Для последнего соотношения часто используют запись: .

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

 

.                                             (1.2)

 

Относительную погрешность часто выражают в процентах.

Приближенные числа. При работе с приближенными числами используют понятия значащих и верных значащий цифр.

Значащими цифрами приближенного числа  называются все цифры в его записи, начиная с первой ненулевой слева. Например:

 

           ,

           ,

           .             Все значащие цифры подчеркнуты.

 

Значащая цифра приближенного числа  называется верной, если абсолютная погрешность числа не превосходит единицы разряда, соответствующего этой цифре[2].

Пусть, например,  и . Тогда  имеет три верные значащие цифры (они подчеркнуты). Оставшиеся значащие цифры (в данном случае это 8 и 3) называются сомнительными.

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

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

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

Информацию о том, что число  является приближенным значением числа x с абсолютной погрешностью  часто записывают в виде

 

,

 

причем числа  и  принято записывать с одинаковым числом знаков после запятой[3].

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

 

 или .

 

Если же в результате измерений (или вычислений) получено число  с абсолютной погрешностью , то этот результат следует записать в виде

.

 

Информацию о том, что число  является приближенным значением числа x с относительной погрешностью  записывают в виде

 

.

Например, записи

 

,

 

означают, что  .

 

 

§ 2. Прямая задача теории погрешностей

 

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

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

Погрешность функций. Пусть    функция одного неизвестного. Аргумент функции задан приближенным числом  с абсолютной погрешностью . Абсолютная погрешность значения функции согласно (1.1) определяется как . Рассматривая разность точного (неизвестного) и приближенного значений функции как приращение функции, вызванное приращением аргумента , и применяя теорему Лагранжа о замене приращения функции ее дифференциалом, можно получить следующее выражение для :

 

.                                        (1.3)

 

Разумеется, что функция  должна быть дифференцируема.

Эта формула непосредственно обобщается на случай функции многих переменных :

 

.                             (1.4)

Примеры.

, .

, .

 

Погрешности арифметических операций. Используя формулу (1.4) можно легко получить формулы для определения абсолютных и относительных погрешностей результатов арифметических операций. Так, например, для суммы или разности двух слагаемых a и b можно записать функцию двух переменных , абсолютная погрешность которой согласно (1.4) определяется как

 

.                      (1.5)

 

Ø Замечание. При сложении большого количества слагаемых, погрешность суммы, вычисленная по формуле (1.5), оказывается сильно завышенной. В этом случае часто применяют статистическую оценку погрешности суммы:

,

 

где n – число слагаемых в сумме , а m – номер десятичного разряда, до которого округляется результат. Эту формулу используют при .<

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

 

.                           (1.6)

 

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

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

 

 (50%).

 

Следовательно, при малых погрешностях исходных данных (0.016%) в итоге получился весьма неточный результат. Нетрудно заметить, что даже при случайных изменениях  и  на единицу их разность может принимать значения 0, 1, 2, 3, 4. Поэтому при организации вычислительных алгоритмов следует избегать вычитания близких чисел.

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

Для абсолютных и относительных погрешностей произведения и частного получим из (1.4) следующие результаты:

 

,   ,

(1.7)

,   .

 

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

 

 

§ 3. Обратная задача теории погрешностей

 

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

Для функции одной переменной допустимая погрешность аргумента определяется согласно (1.3) выражением:

 

.                                      (1.8)

 

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

 

, .                           (1.9)

 

Пример. Для определения модуля Юнга по прогибу стержня прямоугольного сечения применяется формула , где l – длина стержня, b и d – основание и высота поперечного сечения, S – стрела прогиба, P – нагрузка. Требуется определить, с какой точностью следует измерить длину l и стрелу S, чтобы погрешность E не превышала 5% при условии, что P известна с точностью до 0.1%, а величины b и d с точностью до 1%;  м,  м.

Применяя формулы (1.7) для относительной погрешности произведения и частного получим

 

.

 

По условия задачи известно, что , , . Тогда . По принципу равных влияний на долю  и  приходится по 0.95%. Следовательно,  и . Отсюда предельно допустимые абсолютные погрешности м  и м.

 

 

§ 4. Особенности машинной арифметики

 

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

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

При решении научных и инженерных задач в основном используются вещественные числа. В памяти компьютера они представлены в форме с плавающей точкой (floating point). Десятичное число D  в этой форме записи имеет вид , где m и n – соответственно мантисса числа и его порядок. Например, число 357.5 можно записать в виде: , , . Последняя запись – нормализованная форма числа с плавающей точкой. Таким образом, если представить мантиссу числа в виде , то при  получим нормализованную форму числа с плавающей точкой. Обычная же запись числа в виде 357.5 называется формой записи с фиксированной точкой. Такое представление чисел в компьютерах используется только на этапах их ввода или вывода, в то время как хранение и обработка вещественных чисел осуществляется именно в форме с плавающей точкой.

Все сказанное выше в равной степени относится к любой системе счисления с произвольным основанием. Например, в двоичной системе счисления (в которой, собственно, и проводятся все операции над числами в компьютере) вещественное число можно представить в виде , где  – целые числа из диапазона . В силу ограниченности разрядной сетки процессора количество разрядов мантиссы k не может быть сколь угодно большим, величина порядка n также ограничена и находится в пределах от  до . Это приводит к тому, что множество вещественных чисел, с которым работает компьютер не является бесконечным.

Можно показать, что при заданных k,  и  это множество содержит

 

                               (1.10)

 

чисел. При этом минимальное и максимальное по модулю из этих чисел имеют значения

 ,      ,                  (1.11)

 

и называются, соответственно, машинным нулем и машинной бесконечностью.

Границы порядка  и  определяют ограниченность вещественных числе по величине, а разрядность k – дискретность распределения их на отрезке числовой оси.

В настоящее время большинство производителей процессоров придерживаются стандарта IEEE 754[4] для арифметических операций над двоичными числами с плавающей точкой. Данный стандарт предусматривает наличие двух двоичных форматов: с одинарной точностью и двойной точностью. Ниже в таблице приведены размер отводимой памяти, значения k,  и , а также приблизительные значения  и  для этих форматов.

 

Точность

Байты

k

Одинарная

4

24

-125

128

Двойная

8

53

-1021

1024

 

Указанная двоичная разрядность k соответствует 6-9 десятичным разрядам при одинарной точности и 15-17 разрядам при двойной точности.

Конечное количество разрядов мантиссы приводит к тому, что при вычислениях с помощью компьютера неизбежны погрешности округления. Так, например, если при 6 десятичных разрядах к числу 0.214724 прибавить число, меньшее по модулю половины последнего разряда (т.е. меньшее по модулю 0.0000005), в результате получится то же самое число 0.214724. Величина ошибки округления определяется количеством разрядов мантиссы. При округлении по дополнению (которое, как правило, и реализуется в компьютерах) максимальная относительная погрешность округления равна

.                                           (1.12)

 

Величина  называется машинной точностью или машинным e.  Для чисел, представленных в форматах с одинарной () и двойной () точностью стандарта IEEE 754, максимальная относительная погрешность округления, вычисленная по формуле (1.10) равна, соответственно,   и .

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

Пусть требуется найти сумму пяти четырехразрядных чисел:

 

 

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

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

Вопросы для самоконтроля

1.     Каковы основные источники погрешностей?

2.     Что называется верной цифрой числа?

3.     Как по записи приближенного числа оценить его абсолютную и относительную погрешности?

4.     Как правильно записывать результат приближенных вычислений или измерений?

5.     Что составляет прямую и обратную задачи теории погрешностей?

6.     Как определяется погрешность приближенного значения функции многих переменных?

7.     Как получить формулы для определения погрешностей арифметических операций?

8.     Что такое нормализованная форма записи числа?

9.     Каковы особенности вычисления сумм приближенных чисел с использованием компьютера?

 



[1] Пример позаимствован из [12].

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

[3] По сути, это означает, что в записи приближенного числа оставляют все верные цифры плюс одну сомнительную.

[4] IEEE – институт инженеров по электротехнике и электронике (США).