Главная страница  Анализ эмпирических данных 

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 [ 76 ] 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105

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

Примеры.

Оператор присваивания Y = Х*2 -{- А при X - 2 присваивает Y то же самое значение, что и оператор Y = Х**2 + А, однако при всех других значениях величины X значения оператора Y в обоих случаях существенно отличаются друг от друга.

В операторе присваивания Y = [Q(A)-Qo]P(A)+RC-V) при X, таком, что Q(A) = Qo, любая ошибка в Р(Х) ие будет влиять на присваиваемое значение Y, однако при других значениях величина X ошибки в Р{Х) может существенно влиять на значения, принимаемые оператором Y.

Для того чтобы при наличии этих ошибок выполнялось соотношение Р/(Е) - Р/(Е) i < на наборе тестовых данных Ei, необходимо не только существование подобной хитрой ошибки в программе Lj, но еще необходимо, чтобы набор входных данных, выбранный в качестве контрольного примера, содержал значения, равные или очень близкие к значению той точки, в которой происходит совпадение результатов. Для определения математического выражения вероятности возникновения такой ситуации надо разработать способ оценки значений функций Р/, соответсгву-ющих неверной программе L/, и подмножества этих значений, связанного с тени функциями Р/, для которых при определенных Eft из G/ выполняется неравенство РИЕ,е)-Р/(Е,)<Д,.

Эти соображения могут быть детализированы путем определения вероятности удовлетворительного выполнения программы, т. е.

Вер[РИЕО-Р/(Е)<Д,

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



Вер О РИЕ,) - Е/(Е,) К Д,] > 1-

Var[FHE,)] =

d£t J

Var(EO + V;,

где V/ - дисперсия функции Р/ [М {Et)], а значение величины dFj{Et)/dEt вычисляется в точке Et = M{Et) и характеризует относительную изменчивость функции Fj. Таким образом.

Var(E,)<Д(l-Y)

влечет (х).

Если выполняется N прогонов программы на случайно выбранных наборах данных Et из подпространства входных данных Gy, то легко показать, что вы-

дание М [Fj (Е,)} = F; (Е), для определения этой вероятности может быть использовано обобщенное неравенство Чебышева, которое имеет место для любого k>0, если {л:)-неотрицательная функция случайной переменной X:

Поскольку по определению математическое ожидание квадрата разности текущего значения случайной величины и ее ожидаемого значения есть не что иное, как дисперсия случайной величины М{[Еу(Е)- - Е/ (Е()]} = Var [Fj {Et)], то, заменяя k на Д?, получим

Var[F[(E,)] А?

Если Var [Fj (£,)] < Д* (1 - у), то

Вер[Е/{Е,)-Ру(Ег)<Д,]>у. (*)

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

Полученные результаты могут быть уточнены, если принять во внимание распределение вероятностей наборов входных данных Et. Тогда для дисперсии оценки F/(E() имеем следующее приближенное выражение:



Var (Е,)<д2(1 -y)N

свидетельствует о справедливости соотношения ( ).

Выполнение этого условия облегчается с ростом N. Поэтому при фиксированных значениях всех других количественных характеристик с ростом N увеличивается вероятность у того, что при любом наборе входных данных Е( результат работы программы будет находиться в пределах допустимых отклонений.

В общем случае, поскольку набор входных данных Е( является точкой многомерного пространства, т. е. Et = E<(Ji, .... Хп), предыдущие выражения должны быть заменены их -мерными аналогами. Тогда предыдущее неравенство представляется в виде

{ Z [4г1Var (Х,) -f v; < Д?(1 - V).

что влечет за собой (к).

Для простоты при выводе предыдущего выражения предполагалось, что Xk выбираются независимо, и поэтому в нем не учтены смешанные моменты Xk-

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

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

- неверный оператор ветвления, примером которого могло бы служить использование во втором операторе программы Л (разд. 6.1) .LE. вместо .LT.

6.3. Оценка неопределенности данных о надежности

Один из методов измерения надежности программы был описан в гл. 5 и состоял в выполнении прогонов на некоторых наборах входных данных, состоя-

полнение неравенства



1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 [ 76 ] 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105

© 2000 - 2018 ULTRASONEX-AMFODENT.RU.
Копирование материалов разрешено исключительно при условии цититирования.