ПРИЛОЖЕНИЕ IV
Процедура-функция rav |
Процедура-функция norm |
Рис. П .1. Блок-схема процедуры-функции
тогда
г) = (—2а2 Іп |)1/2 = а V —2 In | ; |
(П.5) |
5)для распределения Вейбулла
f (t) = |
1 exp (— |
|
= |
b a t а —1 exp (— Ы а), |
тогда |
|
|
|
|
|
|
*1 |
|
|
|
(П .6 ) |
6) для распределения |
типа \ - = f |
(t), где 0 ^ t < оо, |
|
11 = |
г)!, |
если |
|
|
ТІ2 |
, |
если |
Т)а < |
|
|
здесь
% = - — 1п|;
-(П.7)
ПЯ= а + й ^ 2 |і — 6 ); ■
ПРИЛОЖЕНИЯ
7) для распределения Пуассона в качестве значения случайной величины вы дается то целочисленное значение т, при котором выполняется неравенство
m + 1
|
|
|
|
|
і=і |
і |
<; |
- |
2 |
|
|
|
(П .8 ) |
|
|
|
|
|
|
|
|
|
(=0 |
|
|
|
|
8 ) |
для |
логарифмически-нормального |
распределения |
|
|
|
|
/ Ш |
- |
М |
c x p f |
I g < - l g m \ |
- |
М |
c::D f |
l g ^ - l g a \ |
(П.9) |
|
П ) |
|
a t - 2 л |
P V |
|
2 о3 |
) ~ |
2 я Ы |
р \ |
2 b2 |
) ’ |
|
|
|
|
|
|
|
/ |
12 |
|
|
|
|
|
|
|
тогда |
т) = |
10111, где |
г]., = а -)- b |
£ь |
|
|
|
|
|
|
9) |
для |
гамма-распределения |
|
|
|
( |
|
|
|
|
|
|
|
|
/(0 = |
|
t b- |
1 |
|
|
|
|
|
|
|
|
|
(6 — 1) аь exp |
|
|
|
|
тогда
(П.10)
На основании формул (П .2)—(П.10) составлена процедура-функция, с помощью которой могут быть получены случайные числа по любому закону с заданной плот ностью распределения. Блок-схема этой процедуры-функции приведена на рис. П. 1*.
ОБРАЩЕНИЕ К ПРОЦЕДУРЕ И ЕЕ ОСОБЕННОСТИ
Процедура & х (a, b, k) включает в себя: а, Ь — переменные типа real; k — переменную типа integer.
В данной процедуре а, Ь — параметры законов; k — номер закона.
При первом обращении к процедуре нужно положить k = 0, чтобы происходило присвоение величинам начальных значений. При последующих обращениях к за дается числами от 1 до 10 в зависимости от номера закона. Переменные а, Ь, k — входные параметры. В начале основной программы необходимо описать мі и м2 как переменные типа real.
ОПИСАНИЕ ПРОЦЕДУРЫ
При первом обращении к процедуре-функции & х величинам «1 и «2 присваива
ются начальные значения. При последующих обращениях по значению k опреде ляется вид закона распределения и реализуется одна из формул (П.2)— (П.10).
Во всех операторах, реализующих формулы (П.2)—(П.10), участвуют вспомога тельные процедуры-функции гаѵ и norm, с помощью которых получаются псевдо
случайные числа соответственно по законам: равномерному |
в промежутке [0 , 1 ] |
и нормальному с математическим ожиданием 0 и дисперсией |
1. |
* В связи со спецификой машинного ввода и вывода индексы в процедурах запи сываются В одну строку с. основными обозначениями,
|
Приложение |
ПРОЦЕДУРА ПОЛУЧЕНИЯ |
V |
ГИСТОГРАММЫ И СРЕДНЕГО ВРЕМЕНИ |
|
РАБОТЫ СИСТЕМЫ |
|
НАЗНАЧЕНИЕ
Процедура & г служит для получения гистограммы непрерывной случайной величины,
N N
суммарного времени работы системы, а также для получения сумм ^ t~[t |
t 5lt |
і=1 /=і
N
Для построения гистограммы необходимо знать Т’зад и Лг“, поэтому до получения гистограммы в процедуре определяются также эти величины.
Блок-схема процедуры представлена на рис. П.2.
ОБРАЩЕНИЕ К ПРОЦЕДУРЕ И ЕЕ ОСОБЕННОСТИ
Процедура |
(fc, т, N , |
A t, е, k.2, k l , Т, |
t2, t3, |
14, б) включает в себя: 1с, N, |
A t , е, k2, |
Т, t2, |
13, 14, б — переменные типа |
real; k l |
— переменную типа integer; |
пг — массив типа |
real. |
|
|
|
Пусть |
в основной программе: |
|
|
|
1С— время работы системы; |
|
|
m [0 : 13] — гистограмма, |
массив чисел; |
|
|
|
N — количество испытаний; |
|
|
|
k2 — постоянная; |
|
|
|
|
k l — постоянная для переключателя; |
|
|
Т — суммарное время работы системы за N испытаний; |
|
|
N |
N |
|
N |
|
|
г=і |
/=і |
|
/=і |
в— погрешность;
б— наибольшее число, представимое в ЦВМ.
Тогда обращение к процедуре может быть записано и без формальных параметров.
Процедура имеет следующие |
особенности: |
1. При первом обращении к |
обязательно нужно положить к2 = 0. В этом |
случае происходит присвоение величинам начальных значений и уход из процедуры.
При последующих обращениях k2 |
может иметь л ю б о е отличное от нуля значение. |
2 . б — любое большое |
число |
такое, |
что если 12 V ö |
V |
б, то |
соответ |
ственно |
12 : = б V |
Ö : = |
б V |
й |
: = б. |
|
|
|
|
|
3. Процедура !РГ выдает на печать массив из трех чисел: A t , |
число |
реализа |
ций N , |
начальное время хО. |
|
|
|
|
|
|
|
В программе, где будет использована процедура 2РТ, нужно обязательно |
предусмотреть переключатель с двумя метками |
|
|
|
|
|
|
|
switch L : = |
/VI, |
N 2 , |
|
|
|
где Ml |
: процедура |
получения |
tc; |
go |
to L |
[AI]; |
|
|
|
N 2 |
; процедура |
получения |
характеристик |
надежности |
невосстанавливаемых |
|
систем (0 >н.в). |
|
|
|
|
|
|
|
|
ПРИЛОЖЕНИЯ
В любой программе процедурой !РГ можно пользоваться сколько угодно раз, однако сначала будет строиться одна гистограмма, затем полностью другая и т. д.
Пусть, например, нужно построить три гистограммы. Метки будут выглядеть так:
і : |
= 0; Ml : процедура получения |
tc; |
& т\ |
go |
to L |
[йі] |
|
|
|
М2 : &w. D; |
k l : = |
0; |
k l : = 2; i |
: = |
i -\- |
1; if i < |
3 then go to Ml. |
Необходимо задать |
tc, s, М2 , б — входные формальные параметры и М , |
М, At, |
Т, й , |
й; t4; k 1 — выходные |
формальные |
параметры. |
|
|
|
В основной программе необходимо описать следующие переменные х0, |
х і, х99, |
х100 — переменные типа |
real; |
й , і 4 — переменные |
типа integer; ml [0: 13] — |
массив |
типа real. |
|
|
|
|
|
|
|
|
|
|
|
ОПИСАНИЕ ПРОЦЕДУРЫ |
|
|
|
|
|
|
|
|
|
|
Для определения Т’зад (sup |
х) и At производится выборка 100 случайных чисел; |
под случайными числами |
понимается |
случайное |
время работы системы tc. Кроме |
|
|
|
|
|
|
|
л |
|
|
л |
х0, так, что х99 |
того, определяются квантили 0,99 и 0,01, т. е. а'0і09 = |
х99 и х0і01 = |
меньше только одного |
числа из выборки, а тогда |
|
|
|
|
|
|
|
Гзэд = х99 - |
х0; |
At = |
І 2 & .. |
|
|
(П .11) |
После определения |
Т зяд и At берется выборка чисел объема яі = 200 и произ |
водится |
расчет эмпирических |
частот |
|
|
|
|
|
|
|
|
|
|
|
лі |
(і : = |
0, |
1, . . |
13), |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
где ѵ(п1' — количество элементов в выборке объема пі, попавших в t-й интервал.
Величина ѵ (п к 1' вычисляется следующим образом.
Если в t-й реализации система отказала в момент времени tc, то номер интервала, соответствующий /-й реализации, определяется по формуле
|
|
|
|
= |
entier ((tc — х0)/Д t + |
1), |
|
(П.12) |
где entier (х) — целая |
часть |
х. |
|
|
|
|
|
|
|
После каждой |
реализации |
в і-й |
интервал, определяемый |
по формуле (П.12), |
добавляется |
1, т. е. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
( |
ѵн |
15 |
+ |
если *(/> = |
*і; |
(П.13) |
|
|
|
|
I |
|
|
если t(^ =j=k 1 . |
|
|
|
|
|
|
|
Если 1 = 0, |
то |
= |
0 для |
k l |
= |
0...........13, |
причем |
в |
13-й |
интервал попадают |
все случайные числа, превосходящие х99, а в нулевой интервал — все случайные числа, меньшие, чем х0 .
|
|
|
|
ПРИЛОЖЕНИЕ VI |
Далее |
выполняется второй |
этап |
вычислений. Полагаем объем равным я2 : = |
|
|
|
ѵ (п2) |
|
«1 -}- 200. |
Вновь рассчитываем |
частоты ——— , затем берем объемы яЗ, я4 и т. д. |
до тех пор, пока не выполнится условие |
|
|
|
(nk) |
ѵ (пк-\) |
|
|
|
і______ JT______ |
(П.14) |
|
|
nk |
Ilk — 1 |
|
|
|
Одновременно с получением гистограммы определяется суммарное время работы системы ^ (с , а также ^ t \ , £ ^ t \ .
После выполнения условия (П.14) А nk, х0 выводится на печать и осуще ствляется переход на вторую метку переключателя.
|
Приложение |
ПРОЦЕДУРА |
VI |
ПОЛУЧЕНИЯ |
|
ВСЕХ ПУТЕЙ ГРАФА |
|
НАЗНАЧЕНИЕ
Процедура 5Р составлена для нахождения всех путей графа от начальной вер шины до конечной. Процедура составлена так, что все найденные пути запоминаются.
Блок-схема процедуры приведена на рис. П.З.
ОБРАЩЕНИЕ К ПРОЦЕДУРЕ
Процедура 5° (q, п, т, он, ак, аі, а2, с1, с2 ) включает в себя: q, п, пг, ан, ак — переменные типа integer; cl, с2 — массивы; аі, а2 — массивы типа integer.
Пусть в основной программе:
q — число вершин, входящих в самый длинный путь, уменьшенное на единицу;
п— исходное число дуг;
т— суммарное число вершин, входящих во все пути;
|
|
|
|
|
|
ан— 1 — начальная |
вершина графа и всех путей; |
|
|
ак — конечная |
вершина всех путей; |
аі |
[1 |
: я] |
— все входы дуг графа; |
а2 |
[1 |
: я] |
— все выходы дуг графа; |
cl |
[1 |
: т ] |
— массив для записи вершин всех путей графа; |
с2 |
[1 |
: т ] |
— массив для записи номеров мест вершин в массивах аі и а2 . |
Тогда обращение к процедуре может быть записано без формальных параметров.
ПРИЛОЖЕНИЯ
ОПИСАНИЕ ПРОЦЕДУРЫ
|
Граф задается дугами, записываемыми с помощью определенных выше массивов |
сі, с2 , |
аі, |
а2 . |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
П е р в ы й |
э т а п . |
Началу всех путей ан = |
|
1 (в массиве сі) при условии, что |
сі |
[1] |
: |
= |
1, |
всегда |
соответствует с2 |
[1] |
: = |
0. Далее, если сі |
[2] |
: = |
о2 |
[1], то |
с2 |
[2] |
: = |
1. |
Если |
сі |
[3] : = |
а2 |
[/], то с2 |
[3] |
: |
= |
/ |
и т. д. Затем среди аі |
ищем |
вход, |
который совпадает с выходом, записанным |
в сі |
[2]. Когда он найден, то: |
|
1) запоминаем |
его |
номер |
j |
: — ja : — |
j (первый |
раз); |
|
|
|
|
|
|
2) |
|
а2 |
[/] записываем в сі |
[3], а в с2 [3] записываем номер / |
найденных аі и а2 . |
|
Теперь среди аі отыскиваем вход, который совпадает с последним из найденных |
сі и т. д. до тех пор, пока вновь найденное сі не будет совпадать с ак. |
|
|
|
Ищем |
новый |
путь. |
Снова |
сі [А] |
: = |
1, |
с2 |
[ft] |
: = 0, cl |
[ft -)- |
1 ] : = о2 [1 ], |
с2 |
[ft + |
1 ] : |
= |
1, |
и далее в аі |
ищем, |
начиная |
с |
аі |
[уз -)- 1 ], |
вход, |
совпадающий |
с cl [ft + |
1 ], |
и т. д., |
пока не найдем все пути, имеющие первыми двумя |
вершинами |
аі |
[1] и а2 [1]. Так же ищем все пути, имеющие первыми двумя вершинами аі [2] |
и а2 [2] и т. д. Когда дойдем до такой пары аі |
[s] и а2 [s], что аі |
[s] = |
ан, то в сі |
после очередного пути заносим признак конца первого этапа — 1, |
а в соответствую |
щие с2 |
заносим п + |
1, где п — номер последней дуги |
графа. |
|
|
|
|
|
|
В т о р о й |
э т а п . |
Берем первые три вершины первого пути и ищем среди а 1 |
вход, совпадающий с сі |
[3], но такой, чтобы соответствующее ему а2 |
было отлично |
от сі |
[4], и далее продолжаем вычисления, как на первом этапе. |
|
|
|
|
После того как все отвечающие указанному условию пути исчерпаны, в сі зано |
сим признак конца второго этапа — 2 и после проверки выполнения условия г2 < [ q
(г2 — счетчик) |
можно |
переходить к следующему этапу. |
Т р е т и й |
э т а п . |
Берем четыре вершины и поступаем так же, как на предыду |
щих этапах. При выполнении условия г2^> q в сі заносим после последней вершины 0.1 — конец всех путей. Затем осуществляем выход из процедуры.
|
Приложение |
ПРОЦЕДУРА ПОЛУЧЕНИЯ |
ѴИ |
ХАРАКТЕРИСТИК НАДЕЖНОСТИ |
|
ВОССТАНАВЛИВАЕМЫХ СИСТЕМ ПО РЕАЛИЗАЦИЯМ АЛЬТЕРНИРУЮЩЕЙ
ПОСЛЕДОВАТЕЛЬНОСТИ (СРЕДНИЕ ДАННЫЕ)
НАЗНАЧЕНИЕ
Процедура |
служит для получения среднего времени работы, среднего времени |
восстановления |
и коэффициента готовности по формулам: |
|
Е *.і |
|
і=і |
где tp — случайное время работы; N |
— число реализаций; t B — случайное время |
восстановления; Т ср~— среднее время |
работы; tcp — среднее время восстановления; |
ftp — коэффициент готовности. |
|
Блок-схема процедуры приведена |
на рис. П.4. |
ПРИЛОЖЕНИЕ VII
Рис. П .4. Блок-схема процедуры ^у.
ПРИЛОЖЕНИЯ
ОБРАЩЕНИЕ К ПРОЦЕДУРЕ И ЕЕ ОСОБЕННОСТИ
Процедура |
(<р, |
fa, |
d, |
e l, s2, k \ , k.2, |
N max) |
включает в себя: |
k2 — пере |
менную типа integer; tp, |
te, |
d, |
e l, |
E2 , k \ , Wmax — переменные типа real. |
Обращение к процедуре может быть записано и без формальных параметров, |
если в основной программе ввести следующие обозначения: |
|
tp — случайное |
время |
работы; |
|
|
|
/в — случайное |
время |
восстановления; |
|
|
d — постоянная, |
принимающая значение |
0 или 1; |
|
еI, е2 — погрешности; |
|
|
|
|
|
|
k l , k2 — постоянные; |
|
|
|
|
|
|
|
Лішах — число, которое |
ограничивает |
количество реализаций. |
|
Среди указанных обозначений |
tp, fa, e l, |
е2, Al, |
Лішах — входные |
параметры; |
k2, d — выходные параметры. |
|
|
|
|
|
Процедура |
имеет |
следующие |
особенности: |
|
|
1. При первом обращении к процедуре надо положить А1 = 0, в результате чего величинам присваиваются начальные значения, а для дальнейшего счета надо поло
жить k \ |
Ф 6. |
где |
используется процедура |
^ у, необходимо |
описать Т ра , |
|
2. |
В |
программе, |
Т в а , |
Т р \ а , Т в і а , N a , |
іа, |
j a — переменные типа real. |
|
|
3. |
В |
программе, |
где |
используется процедура |
необходимо |
предусмотреть |
переключатель с двумя метками |
|
|
|
|
|
|
|
|
switch L1 : = |
N 1, N2, |
|
|
где |
N1 |
: процедура получения <р ів\ â°y; |
go to L \ |
[A2]; |
|
N 2 |
: продолжение |
программы. |
|
|
|
|
4. |
Процедура |
построена так, что при первом обращении к процедуре полу |
чения ф и /в должно обязательно получаться только время работы, при втором обра щении — только время восстановления и т. д., т. е. при нечетном обращении должно получаться время работы, а при четном — время восстановления.
5. В процедуре & у введена постоянная d, которая после первого обращения к ^ у
имеет значение 1, а потом все время равна 0 (так же, как и в процедуре |
п, в опи |
сании которой этот |
вопрос изложен подробно). |
|
6 . Процедура & у |
выдает на печать следующие числа: первое — среднее время |
работы; второе — среднее время восстановления; третье — коэффициент готовности; четвертое — количество реализации.
Если же количество реализаций N больше или равно ІѴтах, а приводимое ниже условие (П.15) не выполнено, то будут печататься следующие числа: первое — сред нее время работы за N реализаций; второе — среднее время восстановления за N реализаций; третье — среднее время работы з а N — 100 реализаций.
ОПИСАНИЕ ПРОЦЕДУРЫ
В начале программы проводим 200 реализаций, т. е. 200 раз обращаемся к блоку получения случайного времени работы и случайного времени восстановления, в ре зультате чего получаем суммарное время работы и суммарное время восстановления
100 |
|
100 |
Т р 1 в = 2 / Р/, |
7blfl=.j*Bt- |
І — 1 |
|
1=1 |
затем проводим еще 2 0 0 реализаций и получаем |
|
200 |
|
200 |
Т р 2 а = ^ t p i , |
Т'в2а = |
/• |
(=i |
|
i=i |