Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

книги из ГПНТБ / Журавлев, Ю. П. Системное проектирование управляющих ЦВМ

.pdf
Скачиваний:
15
Добавлен:
22.10.2023
Размер:
12.85 Mб
Скачать

Для (5 = 2

и 2~п< 1

выражение для расчета среднеквадратиче­

ского значения

ошибки

операции сложения — вычитания принимает

вид

 

 

2~п

______________________ ______

o , s - д -

5/ 312-22|Ч-18й-22Ь— 16-2-“(6/e-22it—22* + 2 - 2ll)-f 144.2-fc.

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

определения среднеквадратических значений ошибок округления, воз­

никающих

при

выполнении

операций

 

умножения

(6 2 )

и

деле­

ния (бз):

 

3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

{(1 — Р- ")* [In Р2 ( 1 - Р - я ) - 1 ]

+

2 К З (1 — р - « — |3-я ) (Р2— 1)

 

 

 

 

 

 

 

 

+ р - 1 (1 -

In Р) + р - 2

[In

Р - 2 р - Ч п р (1

_

Р - » )

_ р - > _ 2 р - » +

IJ}

X

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

Х ( Р ^ + * —

р - « + 2 +

р - ** —

 

 

+ 2/fep2 — 1}

8 ;

 

 

 

 

 

з

--------------------------------

 

 

 

 

 

 

 

 

 

 

 

 

 

Р-1

 

 

 

 

 

■57ГГр~‘-

 

п V [P4fc+t- p - tt-2P*iSojp*j .

 

 

 

 

 

 

 

 

 

 

1~0

 

 

 

 

В последнем выражении:

 

 

 

 

 

 

 

 

 

 

 

1

 

Г (1 - р - я ) г

Р - 2

 

dv

 

 

 

 

 

 

Г

 

 

 

 

 

 

 

 

 

 

2

 

2v2

( 1 _ Р - П _ Г

,)2

 

 

 

 

]

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

/

 

 

 

 

 

 

 

dv

 

 

 

 

 

 

Г Г 0

— Р- " ) 2

Р " 2

 

 

 

 

 

 

 

 

-

J !

 

 

2 v 2

2

 

(1 _ _ р - П _ р - 1 ) 2

'

 

 

 

/ - 1

 

 

 

 

 

 

 

 

 

 

 

 

 

Р В - Г ” )

 

( l - p - n ) 2

Р—2 •

dv

 

 

 

 

 

 

Г

 

 

 

 

 

 

 

 

 

 

2 v 2

 

2

 

( l - p - * _ p - > ) 2

 

 

 

J

 

 

 

 

 

 

 

 

р- 1

 

 

 

 

 

 

 

 

 

 

 

 

При [5 = 2 и

2 - п- с 1

среднеквадратические

значения

 

ошибок

округления, возникающих при выполнении операции умножения и де­ ления, рассчитываются по формулам:

(16.2« — 3 - 2 - ^ — 24й— 1);

з

2

V 10 (16 - 24fe — 2~4h — 8)

12 \ГЪ

3 5 0

П Р И Л О Ж Е Н И Е 3

ЭКСПЕРИМЕНТАЛЬНЫЕ ПРОВЕРКИ МЕТОДОВ РАСЧЕТА РАЗРЯДНОЙ СЕТКИ

I. В § 4.9 описан искусственный прием исследования инструмен­ тальной ошибки ЦВМ с целью проверки гипотезы о независимости ошибок однократных округлений в элементарных арифметических операциях вычислительного процесса. В соответствии с этим при­ емом был проведен эксперимент на ЦВМ с запятой, фиксированной перед старшим из 44 двоичных разрядов, округление в которой про­ изводится путем отбрасывания младших разрядов, выходящих за пределы разрядной сетки.

Эксперимент, проведенный автором совместно с Л. В. Павлю­ ченко, заключался в вычислении определенных интегралов

■t

методом Симпсона, причем в

качестве подынтегральных функций

y i j = f i j ( x) были использованы

случайным образом выбранные 100

кубических парабол, 100 квадратных парабол и 1000 прямых, для каждой из которых искусственным приемом, описанным в § 4.9, осуществлялась выборка 32 различных разультатов за счет слу­ чайного изменения величины свободного члена dij.

Коэффициенты a,-, bt, с,-, dij, пределы а< fn и шаг интегрирова­ ния hi выбирались случайным образом из некоторых диапазонов

сучетом следующих ограничений.

1)Величины а%, bu с,, dij, at, ^ должны быть кратными цело­

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

На величину шага интегрирования /г,- наложено дополнительное ограничение, заключающееся в том, что значения h i /З должны пред­

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

ft/3=M-2-\

где М — целое, положительное число.

2) Поскольку на каждом шаге интегрирования методом Симп-

351

еона вычисляется сумма

У 2 М - 1 + 4г/2й1 + i/2m + l,

то для исключения масштабных коэффициентов, отличных от еди­ ницы, налагается очередное ограничение:

т а х | 2т- 1 + ‘1у 2 т+ У2т+0 1< 1.

3) Чтобы исключить систематическую составляющую 'инструмен­ тальной ошибки при вычислении величины интеграла па очередном шаге интегрирования для различных значений свободного члена подынтегральной функции, на промежуточные результаты ах3, Ьхг, сх налагаются ограничения, а именно;

0 < |а х 31, \Ьх2\, |с х |< 1 —2-44,

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

4) Выборки инструментальных ошибок для каждой кривой обес­ печиваются случайным выбором величины свободного члена таким образом, чтобы выполнялись ограничения, оговоренные в пп. 1—3.

Можно показать,

что при таких ограничениях в квадрате

 

 

— 1<(/<1,

— 1<лг< 1

 

с интервалом

дискретности, равным 2~44, можно

провести (244) 4 =

= 2 П6= 1050 различных

прямых линий и еще больше квадратных и

кубических парабол.

 

исследования

описывается сле­

Алгоритм

экспериментального

дующими правилами.

1. Для очередной из исследуемых кривых Q раз случайным об­ разом изменяется величина свободного члена. Интегрирование ведет­ ся методом Симпсона е шагом интегрирования hi. Ограничения, наложенные на выбор коэффициентов ах, Ьх, с шага hi и пределов а,, Ро приводят к тому, что на каждом шаге интегрирования имеет место только одна ошибка округления. Следовательно, длина Ni цепочки последовательных операций с округлениями определяется количеством шагов интегрирования функции fц(х):

Одновременно вычисляется точное значение интеграла и опре­ деляется абсолютная величина инструментальной ошибки Д,j.

2. По Q опытам рассчитываются средневыборочные значения

Д, инструментальной ошибки, исправленная дисперсия генеральной совокупности и наблюдаемое значение величины Хн2:

(/)

Nf a‘U

3 5 2

1

г

3

4

5

Б

7

8

Рис.

1.

где (Тоир — среднеквадратическое

значение ошибки однократного

округления, определяемое с помощью выражения:

"окР --- y-jj- * f

поскольку округление осуществляется отбрасыванием младших раз­ рядов.

3. Производится сравнение %2in с х2кр- Уровень значимости выбран равным 0,01 и, поскольку количество Q выборок для каждой

кривой в

эксперименте не

изменяется

(<2= 32),

то сравнение х2*н

для всех

кривых выполняется с величиной, равной

52,2.

4. Осуществляется переход к пункту 1 для исследования очеред­

ной кривой.

 

 

 

 

 

Блок-схема

алгоритма

экспериментальных

проверок гипотезы

о независимости

ошибок

однократных

округлений

приведена на

рис. 1. Пояснений требуют только лишь блоки 2

и 4.

Блок 2 вычисляет точное значение интеграла методом Симпсона за один шаг интегрирования, причем

Абсолютная погрешность вычисленного значения не превосходит единицы младшего разряда (2~44).

2 3 — 4 5 8

3 5 3

Ёлок 4 предназначен для случайного изменения свободного чле­ на йц исследуемой кривой, которое выполняется следующим обра­ зом. Код свободного члена di(j-i) кривой, принадлежащей к семей­ ству кривых данной выборки, сдвигается влево и вправо на 11 дво­ ичных разрядов. Сдвиг выполняется логический, т. е. знаковые раз­ ряды также сдвигаются, а освободившиеся разряды заполняются нулями. Число с единицей в знаковом разряде, получившееся в результате сдвига влево, рассматривается как отрицательное. За­ тем над исходным числом и обоими результатами сдвига выполняет­ ся поразрядная операция сложения по модулю 2. Полученный ре­ зультат рассматривается как d;,-, если одновременно выполняются условия

|6/и(**)|<1, | 6М *” )1<1-

Здесь х*, х** соответственно те значения, при которых подын­ тегральная функция fuj-i) принимает максимальное и минимальное значения.

В противном случае код числа dij сдвигается вправо до тех пор, пока эти условия не будут выполнены. Знаковый разряд при этом не сдвигается. Если в знаковом разряде единица, то освобо­ дившиеся при сдвиге разряды заполняются единицами. В против­ ном случае — нулями.

При /= 1 значения du задаются так, чтобы в значащих разрядах

было примерно одинаковое

количество нулей и единиц.

Результаты проведенного эксперимента показали, что ни для

одной из 1200 выборок не

наблюдалось выполнение неравенства

 

2 . _

2

 

ЗСкр

' %<Н'

Вкачестве примера можно рассмотреть три случайных выборки,

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

 

 

Р.

 

 

 

h i

— J

(а ,х 3

+

Ь,хг +

с,х + d lt) dx,

 

 

a,

 

 

 

 

 

 

Pj

 

 

 

 

h i

=

J (b2x 2 +

c2x +

d 2j) dx,

 

 

a2

 

 

 

 

 

Pa

 

 

 

 

h i

=

\

(c3x +

d tj ) dx.

 

Ограничения, налагаемые на коэффициенты, пределы и шаг ин­ тегрирования кривых, позволили выбрать их так, как это показано

втабл. 7.

Впоследнем столбце приведено количество шагов интегрирова­ ния, равное длине цепочки округлений.

Записанные в таблице значения dtj следует понимать так, что

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

3 5 4

Т а б л и ц а 7

 

a t

I b i

Сг

d H

аг.

 

h i

V 3

N .г

 

 

i

 

 

 

 

 

 

 

 

h i

2 -з

2 - ’

2 - 6

2-8

3

3

6 -2 -'з

2

 

1024

т

4

 

h i

0

— 2 -з

2-5

2-4

57

57

57-2"20

19•

2_ 20

16384

64

64

/si

0

0

2-4

2-4

255

255

255

85

0-24

65636

— 256

256

256 1

----

 

 

 

 

 

256 ^

 

Наблюдаемое значение Х;„ рассчитано в соответствии с выраже ниями:

S (Aii-Д .)1

Х?в-

(/>А/Гао к р

3-6817,6

19,9,

1024

 

 

(&г)

^г)2

3-148 580

 

 

А^2 *^ОКР

= 27,1,

 

16384

 

 

Е ( & z i - Л.)!

 

 

v2

(/)

 

3-473 187

: 21, 6 .

АЗи =

‘ °окР

65536

 

 

 

Поскольку по условиям эксперимента заранее было известно

значение критической точки

%2кр = 52,2, то на печать выдавались

только значения %2гн для каждой

из 1200 выборок и длина N, це­

почки округлений.

 

 

 

 

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

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

23*

355

 

X 3

I

 

1

 

8

128 Л

 

64 Х + 256

 

 

Л',

- 1024

 

 

Ха =

1 9 ,9

 

д >*

д1J__X 1

 

1

+ 8

7,66

58,7

2

—9

—9,34

87,2

3

+ П

10,66

113,6

4

0

—0,34

0,1

5

—22

—22,34

499,1

6

—6

—6,34

40,2

7

+ 3 9

+ 38,66

1494,6

8

1

1,34

1,8

' 9

+ 3

+ 2 ,6 6

7,1

10

+ 5

+ 4 ,6 6

21,7

11

—8

—8,34

69,6

12

0

—0,34

0,1

13

—2

—2,34

5,5

14+ 2

15+ 6

16—Б

17—44

18—2

19+ 2 3

20+ 1 3

21+ 1 22 —33

23+11

24—8

25+ 4

260

27+ 6

28—7

29+ 2

30+ 1 8

31+ 1

32

+ 6

 

 

о

■»

---- •»«!'--

- ■ ■*’------• ~~

+

1,66

 

+ 5 ,6 6

32,0

—5,34

28,5

—44,34

1966,0

—2,34

5,5

+ 2 2 ,6 6

513,5

 

12,66

160,3

 

0,66

0,4

—33,34

1111,6

 

10,66

113,6

—8,34

69,6

 

3,66

13,4

—0,34

0,1

+ 5 ,6 6

32,0

—7,34

53,9

+ 1,66

2,8

+

17,66

311,9

 

0,66

0,4

 

+ 5 ,6 6

32,0

 

 

 

 

 

 

 

Т а б л и ц а 8

 

8 Х *

+ 32 Х +

16

 

16 х

+

16

 

 

N , = 16384

 

 

N 3 =

65536

 

 

Ха — 27, 1

 

 

Xa = 21,6

 

д .

2 j

а 2

(Д 2* - Д 2 )2

Дз*

й з 1 ~ Г з

 

<д з * - д /

2J

 

+ 9 7

+ 9 8 ,8

9760

+ 102

+ 8 7 ,9

 

7728

+ 4

+ 5 ,8

33

+ 8 7

+ 7 2 ,9

 

5317

—45

—43,2

1867

+ 2

— 12,1

 

146

146

— 144,2

20794

—299

—313,1

 

98031

+ 3 7

+ 3 8 ,8

1505

+ 179

+ 164,9

 

27112

+ 43

+ 4 4 ,8

2006

—43

—57,1

 

3258

—21

19,2

369

18

—32,1

 

1024

—8

—6,2

38

+ 2 5

+ 10,9

 

118

+ 182

+ 183,8

33782

— 11

—25,1

 

629

—5

- 3 ,2

10

+ 171

+ 156,9

 

24653

— 174

— 172,2

29667

—75

—89,1

 

7937

+ 12

+

13,8

190

+ 19

+ 4 ,9

 

24

—77

—75,2

5656

— 14

—28,1

 

788

+ 3

+ 4 ,8

23

—50

—64,1

 

 

4101

—38

—36,2

1311

+ 40

+ 2 5 ,9

 

 

671

+ 6

+ 7 ,8

60

—9

—23,1

 

 

532

 

 

1853

+ 16

+ 17,8

316

—29

—43,1

 

+ 1

+ 2 ,8

8

—207

—221,1

 

48852

— 15,1

 

227

—49

—47,2

2229

— 1

 

+ 9

+ 10,8

116

+309

+294,91

 

86986

—25

—23,2

538

—6

—20,1

 

403

+ 141

+ 142,8

20390

—22

—36,1

 

1301

+ 26

+ 2 7 ,8

772

+167

+ 142,9

 

20439

— 11

- 9 , 2

85

— 127

—41,1

 

1687

—3

— 1Л

1,4

—49

—63,1

 

3976

+ 69

+ 7 0 ,8

5011

+ 2 9

+ 14,9

 

223

+ 2 7

+ 2 8 ,8

829

+326

+ 311,9

 

97303

— 11

- 9 , 2

85

+ 86

+ 7 1 ,9

 

5178

—40

—38,2

1459

—90

— 104,1

 

10831

—98

—96,2

9255

—4

— 18,1

327

+ з

 

4,8

23

+ 5

- 9 ,1

 

82

+ 18

 

19,8

3921

— 133

— 147,1

 

21570

Рассмотрим два

различных

случая

расчета

разрядной сетки

с ориентацией на некоторую конкретную задачу:

 

1)

математические

ожидания

ошибок

всех типов равны нулю;

2)

математические

ожидания

ошибок

всех

типов отличны от

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

последних.

 

результата вычислений в пер­

Если Ау — максимальная ошибка

вом случае, то для

второго случая эта же ошибка Л у* удваивается

за счет смещения

математического

ожидания относительно нуля

влево или вправо на величину Ду:

I | —j2ЛУ1.

Сравнение рассчитанных разрядностей результатов R и R* для первого и второго случая показывает, что ошибка не превышает одного разряда:

R — R* =

Е log, J

_У_ + :

Б log2

У

 

 

Л»

 

24*

' Б lo g ,1у |

Е log2 1Лу. Б log, У | +

Б log, 2Лу | —

 

= Б log2

2Ду_

Е log, 2 = 1 .

 

Лу

Это тем более справедливо, что вероятность появления небла­ гоприятной ситуации, соответствующей второму случаю, чрезвычай­ но мала.

Цель второго этапа экспериментальных исследований заключа­ лась в проверке корректности аналитических методов расчета раз­ рядной сетки. Суть этих проверок заключалась в следующем. Для некоторых достаточно сложных задач аналитическим путем на ос­ нове баланса среднеквадратических значений ошибок рассчитыва­ лась разрядная сетка, а затем экспериментальным путем проверя­ лась справедливость полученных результатов. Характер проверок можно проследить на примере одной из выбранных для исследова­ ния задач. В частности, среди других была выбрана для исследова­ ния задача определения траектории искусственного спутника Земли по данным засечек радиолокационных систем, решаемая методом Рунге — Кутта четвертого порядка на ЦВМ с фиксированной запя­ той. В результате засечки спутника в момент времени t определя­ лись три координаты его положения в пространстве, а также зна­

чения их

первых

и вторых производных.

Эти данные

поступали

в ЦВМ,

которая

рассчитывала координаты

положения

спутника

к моменту времени t+At. Через промежуток времени At проводилась повторная засечка спутника и определялась ошибка вычислений траектории. Вновь полученные данные использовались в качестве новых начальных условий интегрирования и т. д. Шаг Ат интегри­ рования и темп At засечек были выбраны постоянными (At<A f).

Исследования проводились по следующей схеме.

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

ния а т трансформированной ошибки,

которая

оказалась функцией

дальности и углов наклонения орбит.

■ .

 

Поэтому для последующего анализа были выбраны участки

траекторий, характеризующихся определенными

диапазонами AD

358

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

б) Известная цена младшего (и любого другого) разряда в еди­ ницах реального значения координат (км) и количество операций с округлениями позволили рассчитать среднеквадратическое значе­ ние Ои инструментальной ошибки, накопившейся в результате AtjAx шагов интегрирования. Эта ошибка не зависит от характера траектории.

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

г) В литературе отсутствуют сведения об общих приемах оцен­

ки погрешностей методов

Рунге — Кутта

для

дифференциальных

уравнений порядка выше

первого. Тем не

менее,

разность

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

а2 + а2

МI MJ

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

О,2 постоянной.

Итак

величины о2 и о2 = ао2 можно считать заданными.

д)

Выбирается допустимое значение с среднеквадратической

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

сетка, содержащая

более 40

разрядов,

либо

требуемая точность

не будет обеспечена.

 

а рассчитывается разрядная сетка

Для

выбранного

значения

и, в частности, разрядность R on операционного

устройства.

2.

Экспериментальные

проверки.

Поскольку с изменением допу

стимого среднеквадратического значения результирующей ошибки а будет изменяться величина Ron и наоборот, то среднеквадратическое значение ошибки результата, если операционное устройство обра­

батывает Ron — разрядные

операнды

обозначается символом

.

Пусть для выбранного

значения

 

* ои

а в результате аналитических

расчетов оказалось: R 0п = 27.

 

 

Тогда аналитические методы расчета разрядной сетки можно считать корректными, если выполняются условия:

аЯ>27 < 0 < °^<27.

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

3 5 9

Рис. 2.

а) Были выбраны 30 различных траекторий с достаточно близ­ кими начальными условиями, для каждой из которых выполнялся

общий

баланс ошибок, описанный выше.

б)

Для

выбранного а расчеты привели к R0п = 27.

■в)

Для

каждой траектории предварительно были рассчитаны

результаты А1/Ат шагов интегрирования в удвоенной разрядной сет­ ке ЦВМ. Эти результаты были округлены в 42 разряде и точным считался результат, полученный в единицах 41 разряда после за­ пятой, т. е. вне пределов разрядной сетки ЦВМ. Эти результаты использовались в качестве эталонов.

г) Каждая из траекторий последовательно рассчитывалась в 40—, 38—, 36—, 34— и т. д. разрядных сетках. Сравнение полу­ ченных в этих условиях результатов с эталоном для данной тра­ ектории позволяло оценить абсолютные ошибки результатов вычисразрядностей Ron операндов, обрабатываемых операционным устрой-

лений в единицах цены 41 разряда после запятой для различных ством. «Усечение» операндов осуществлялось программным путем

сдискретностью в два двоичных разряда.

д) Совокупность абсолютных значений ошибок всех траекторий

для фиксированного значения R0п рассматривалась как выборка,

а исправленная генеральная дисперсия — как среднеквадратическое значение ошибки результатов.

3 6 0

Соседние файлы в папке книги из ГПНТБ