Слаботочка Книги

0 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 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199

заранее занесенным в память массивом исходных данных (вероятности отказов, длительности проверок, характеристики тестов).

Эту же процедуру можно проделать заранее и составить инструкцию по очередности применения тестов в- зависимости от результатов предьщущих, например: «если тест успешный, то далее провести тест ti, если же тест 4 неуспешный, то провестигтест tj» (рис. 16.1),

Пример 16.1. Система состоит из восьми элементов и может быть проверена шестью тестами, описание которых приводится в табл. 16.1. Известны затраты, связанные с проведением каждого теста: = 1; = 2; Cg = 1,2; = 1,5; Cs = 2,5; Се = 1,3, причем предполагается, что величины не зависят от порядка применения тестов.

Таблица 16.1 Матрица тестов


Номер элемента

Рис. 16.1. Пример инструкции для проверки системы

Q1 Я

1

Априорные вероятности отказа элементов также известны: = 0,1; 2 = 0,1; <?з= 0,2; 94 = 0,3; = 0,1; = 0,5; = 0,5; % = 0,2.

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

. Решение. Находим величины qt для каждого элемента: ?1 = 0,05; 2 = 0,05; = 0,1; q, = 0,15; 5 = 0,05; ~q = 0,25; ~q, = 0,25; % = 0,1. Вычисляем величины для каждого теста:

Qi"= 91 +?2 +15 + 6= 0,4; = ?2 + 94 + 97 = 0,45; Q" = 9з + 95 + 9б = 0,4; =-- q+q = 0,4;

Ql" = 9i + 9з + 94 + 9I = 0,35; Q<-» = + 9 + = 0,4.. Далее для каждого теста находим:

g<o) = 1/0,4 = 2,5; = 2/0,45 » 4,44;

gi-> = 1,2/0,4 = 3,0; g-) = 1,5/0,4 = 3.75; g<-) = 2,5/0,35 « 7,14; g<-> = 1.3/0,4 = 3.25.

Видно, что первым применяемым тестом должен быть t, так как величина

является наименьшей.



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

Осталось подмножество элементов Q<> = {3, 4, 7, 8}. Вычислим для каждого из оставшихся тестов Q":

Qr =~Я + Я7= 0.2; Q,*> = 9з = 0,1; Qi" =8 = 0,1; Q[ -

= 0,25: Q<" =,+"58 = 0,35,

а затем gl*:

g<)=2/0,2 =10; g<) = 1,2/0,1 = 12; g(О =1,5/0,1 = 15; §<•> = 2,5/0,25=

= 10; gW = 1,3/0,35 = 3,71.

Таким образом, после успешного теста 4 следует проводить тест 4- Само по себе проведение этого теста может быть, в свою очередь, успешным и неуспешным. Рассмотрим на этот раз вторую возможность: отказавший элемент находится в подмножестве, которое проверяется тестом 4. т. е. среди элементов Q<> = {7,8}.

Начало проверки

Рис. 16.2. Первый фрагмент инструкции проверки (для примера 16.1). В кружках - номера отказавших элементов, выявленных данной проверкой


Ясно, ЧТО на последнем шаге нужно выбирать тот тест, который характеризуется минимальной стоимостью и при этом позволяет проверить любой элемент из двух оставшихся. Такими тестами являются только t, и 4- Из них следует отдать предпочтение тесту t, как более дешевому.

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

Если нужно составить инструкцию с описанием последовательности проверок, то следует зафиксировать полученную только что последовательность (рис. 16.2) и вернуться к тому этапу, когда проводился тест 4, но теперь положить.

Рис. 16.3. Второй фрагмент инструкции проверки (для примера 16.1)

После


что он оказался неуспешным, т. е. искать отказавший элемент среди подмножества Q = {3, 4}. В результате оказывается построенным второй фрагмент инструкции (рис. 16.3).

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




Рис. 16.4. Полная инструкция проверки (для примера 16.1)

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

Вероятность неуспешного исхода теста при проверке работоспособности

некоторого подмножества Qj (или Qj):

/или (37= 2 iV

Если проверкой, проведенной ранее, установлено, что отказавший элемент принадлежит подмножеству Qj, то вероятность наличия его в подмножестве Q„, таком, что Q„ сг Qj, будет

Пусть для некоторого подмножества Qj, содержащего отказавший элемент, каким-либо образом определена программа последовательного разбиения его, ведущая к локализации отказа на уровне элемента. Обозначим эту программу (стратегию) а (Qj). Если на первом шаге разбиений применяется тест tit) 6 Ти то а (Qj), очевидно, можно представить следующим образом:

a(Qj) = r4. o{Q.U, a(Qtj,)].

Математическое ожидание стоимости реализации стратегии а (Qj) при этом может быть найдено рекуррентно по формуле

С [а (Qj)] = 4 + Q.-) С la (Qf.,)] + (1 -Qo) С [a (Q-,)],

(16.1)

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

Идея метода динамического программирования состоит в систематическом рассмотрении подмножеств Qj сг Q и отыскании для каждого из них теста 6




0 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 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199
Яндекс.Метрика