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

книги из ГПНТБ / Варжапетян, А. Г. Готовность судовых систем управления

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

ЗАКЛЮЧЕНИЕ

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

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

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

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

 

Приложение

АЛГОЛ-ПРОГРАММА ВЫЧИСЛЕНИЯ

I

ФУНКЦИИ ГОТОВНОСТИ

 

ЧИСЛЕННЫМ МЕТОДОМ

 

begin integer N;

comment N — количество участков, иа которые разбивается временной интервал;

read ( N) ;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

begin real (р, ß, у, t, h, г;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

comment ß — параметр

потока

восстановления,

 

 

 

 

 

V — параметр

Стх

в

распределении

Релея,

 

 

 

 

Іі

— шаг интегрирования;

 

 

 

 

 

 

 

 

array

S

[1 : 2];

integer

 

v,

i,

j,

k,

l,

rrt,

n,

p ,

q,

r;

 

array

a

[0

: (3X/V)

+

2 ],

w

[o :

N ] \

read

 

(ß,

у,

/г);

 

k := m :=

0 ;

n ~ N ;

for

i

: =

0

 

step

 

1

until

2

do

 

begin

t : =

0 ;

for

j : =

m

step 1 until n do

 

 

 

begin

go

to if

k =

0

then

A A

else

if

к =

1

 

 

then

A B

else

AC;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

A A

: S

[1]

:= f/y f 2;

S

[2 ]

:

=

(t f 2)/(2Xy f 2); go

to AD;

 

A B

:

S

[1 ] :=

ß;

5

[2]

:=

— (ßX /)

go

to

AD;

 

 

A C :

S

[1] :=

1;

S

[2] :=

((f 2)/(2Xy f 2);

 

 

A D :

a

[/]

:=

S

[1 ]Xexp

(S

[2 1);

/

 

/- )-/;

 

end

/';

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

comment

В ячейки a 0 — a.v заносятся

значения

плотности

распределения

времени

безотказной

работы,

в

ячейки

а,у+і—а2,ѵ+і — значения плот­

ности распределения времени восстановления, в ячейки агд'+г-—аз.ѵ+г —

значения

вероятности

 

безотказной

работы;

 

 

 

/п ;-— j ; ./2 ;

ті -J- N "j- 1; /2 ;~~ k 4 - I

 

 

 

 

 

end i;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

comment Этот участок программы будет изменяться в зависимости от функций

распределения

 

времени

отказа

системы

и

времени

восстановления;

і : =

0 ;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

R R :

j

:= j

 

-j- 1; z := 0;

if / =

1 then v : =

 

0else

 

V :=

2

X /V -j- 2;

for

q : =

0

 

step

1

until

N do

 

 

begin

go to

if

q

1 <C 0

then DD else DE;

 

 

 

 

 

 

D E :

z := 0;

for i

:=

0

step

1

until

q

— 1

do

 

 

 

begin

r

: =

l

~

1;

m

 

q — t — 1;

p

: = 0 ;

 

 

 

 

 

 

BA

: S

[/] :=

0;

go

to if

m<C 0

then

BD

else

BE;

 

 

 

B E

:for

k

 

0

step

1 until

m do

 

 

 

 

 

 

 

 

S

[/] :=

 

S

[/]

-f- a [ v +

<7 — г —

6 — P ] X

a

[ N

-j- k -f-

1 ] -|-

 

a

[ v

 

q i к

— г] X a

[ N

+

k

-\- 2];

go

to

if l —

\

192

 

 

 

 

 

 

 

 

 

 

 

 

 

ПРИЛОЖЕНИЕ II

 

then

В В

else

ВС;

 

 

 

 

 

 

 

 

В В : 1 1= I

 

1; р '• =

1; г := > 2; т. : = q і — 2; go to BA ;

 

В С : 2 t =

z +

w. It]

X

S [1] +

w

[i + 1]

X

S [2]

end

i;

 

 

 

 

 

 

 

 

 

 

 

 

D D

: ф :=

a

[ v

+

q]

+

(h f 2/4) X

г;

if /' =

I

then

w [p] :=

<P;

print (cp)

 

 

 

 

 

 

 

end q;

 

1

then

 

 

else

Fin;

 

 

 

 

go to if / =

 

R R

 

 

 

 

comment При

j

=

1

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

стоты отказов с учетом ремонта, при / =

 

2 определяются значения готовности;

Fin:

 

 

 

 

 

 

 

 

 

 

 

 

 

end

end

Приведенная АЛГОЛ-программа реализована на электронной вычислительной машине БЭСМ-4 с помощью транслятора АЛЬФА.

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

 

Приложение

АЛГОЛ-ПРОГРАММА ОПТИМИЗАЦИИ

П

с т р у к т у р ы систе м ы

 

ПО КРИТЕРИЮ ФУНКЦИИ го т о в н о с т и

 

begin integer k, г; real в;

 

read (k , г, 8);

 

com m en ts — число типов элементов, г — число ограничений,

е — величина

допуска по значению функции готовности при использовании «принудительного

склеивания» близких

вариантов;

 

 

 

 

ß,

 

 

 

begin integer i, /,

п,

h,

z,

M ,

m, p,

l,

c, d,

a, b,

d,

v;

 

 

real V, PQ, X , D ,

 

Q,

QQ,

A B , A P ;

 

 

 

 

 

 

 

integer array S,

H

 

[1 :

k] ;

 

array

C,

SC,

Н Н

[1 : г ] ,

P ,

q [1

: k ] ,

W [ I l k ,

1 : r ] ,

C K

[1

: r] ; read (С, P ,

W);

 

 

 

 

 

comment С, P , W

— массивы исходных данных;

 

 

 

 

for i

:=

1 step

1

until

k do

 

 

 

 

 

 

 

 

 

begin

q [i] :=

1

 

P [t];

S

[i] := I

 

 

 

 

 

 

end;

 

0 ;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

A1 : i:=

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

J42 t £ :=

I -J—1;

S

 

[i]

:=

S

[t ]

1; for

j —

1

step

1

until

r do

13 А. Г. Варжапетян

 

 

 

 

 

 

 

 

 

 

 

 

 

193

ПРИЛОЖЕНИЯ

begin

S C

[/]

:= 0;

for

n :=

1;

n -j-

1 while

и ^ k

do

S C

l j ] : =

S C

{j]

+

S

[ k ] X

 

W

[n,

j ]

 

 

 

end; j : = 0 ;

 

 

 

 

 

 

 

 

 

 

 

51

: j

: =

j

-j-

1;

if

S C

[/] >

C

[/]

then

S

[t ] :=

S [i] — 1 else

if

/ <

r

then

go

to

В I

else

if

i = k

then

go to

 

A 1

else go

to

A2\

 

 

 

 

 

 

 

 

 

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

V

 

 

1; for

і

:=

1

step

1

until

k

 

do

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

begin

 

V' :=

V X

(1 —

q

[t] f s

[/]);

S

 

[i] :=

0

 

 

 

 

 

 

 

 

 

 

 

end;

i

:=

0 ;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

A 3

: i

i

- f

I;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

A 4

: S [/] :=

S

 

[i]

+

1;

P Q

:=

1 —

q

[i] t

S [/]; if PQ<3 Vthen

 

go

to

 

,44

else

if

 

i ф

 

k

then

go

to

ЛЗ

else

i

:=

0;

 

 

 

 

 

 

 

 

K l

: i := i - f 1; n := 0 ;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

K 2

: n

: =

n

 

1; for

j :=

1

step

1

until

r

do

 

H H [/]

:=

n

X

W

[i,

/];

i := 0;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

B 2

: /

 

:= / -j-

1;

 

if

j <C r

then

go

to

K 2

else if

Н Н

 

[у] ^

C [/]

then

go

to

 

52

else

H

 

[/]

:=

n +

1;

if

і ф

 

k

then

go

to

 

K l

else

 

 

 

 

/ := 0; z :=

2;

M

: =

H

[1] — S

 

[1]

+

 

1;

 

 

 

 

 

 

 

 

 

 

 

 

 

begin

 

array

S5,

 

t,

C T ,

CE,

C P

[I

: r],

QC

[1

: 40];

 

CC

[l

: r;

1

: 40],

 

Q R

[1

: 50],

C R

 

[I

:

r,

1 : 50];

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

|

 

 

integer array

N C

[1

: k,

1 : 40],

T N [1

: k,

1 : 40],

Т Е

[1

;

30,

1 : 40];

 

for

j :=

1 step

1

until

r do t [/] :=

 

С

[1 ]/C

[/];

 

 

 

 

 

 

 

 

 

comment Определение массивов исходных данных с учетом первоначаль­

 

ной структуры;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

А : for h :=

 

1

step

 

 

1

until M

 

do

 

 

 

 

 

 

 

 

 

 

 

 

 

 

begin

QC

[/i]

 

:=

0; for

i :=

1

step

 

1

until z — 1 do

 

 

 

 

 

 

 

 

 

QC [ЛІ :=

 

QC [ A ] + V [i]

 

N C

 

U, h]

 

 

 

 

 

 

 

 

 

 

 

 

 

end;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

begin CC

[j,

h ]

:=

0;

for

i : =

 

1

step

i

until

z —

1

do

 

 

 

 

 

 

 

CC

[/,

h ]

~

C C [j,

/i]

-j- N C

[i,

h ]

X

W

[i,

/]

 

 

 

 

 

 

 

end;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

for

 

h :=

1,

/i +

1

while hsc: H

 

[z]

do

QR

[h] —

q

[z] f

(A +

S

[z 1— 1);

 

for

 

h :=

1,

h

 

 

1

while

h ^ .

H

[z]

do

for

 

j

 

 

1,

у

X 1 while

j ^ r

do

C R

[j.

A] :=

(A .+

5

[z] —

1) X

 

W (z,

/);

 

 

 

 

 

 

 

 

 

 

for

 

с :=

1 step 1

until

M

do

for d :=

1

step

1

 

until

 

 

 

 

 

H

[z]

do

Т Е

 

[1,

1 ]

 

 

:=

0;

 

for

/

:= 1

step

1

untilr

do

 

 

 

 

begin C T

[j]

 

 

0;

for

i := z -f-

1 step

1

until

A

 

do

 

 

 

 

 

 

 

C

C T

[/],:=

 

Q T

[/] +

S

[t]

X

 

W

[f,

/]

 

.

 

 

 

 

 

 

 

 

 

 

m

ПРИЛОЖЕНИЕ II

 

end;

for /

: =

1 step

1

u n til

r

do

C E

[/] : = C

[/]

 

C T

[/];

a :=

0;

 

 

b : = 0; c : = 1; d : = I;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

E 7

: A P

:=

10 f

18 X 0,9;

p

'■= a\

if

c =

p

then

 

go

to

F I

else

go

to

F 3 ;

 

F 3

: p \=

p +

1;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

F I

 

: l

: =

d\

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

F 5 : / : = /

+

1;

Q ; =

QR

[c]

+

QC [d];

if

QR

[p ]

<

Q then

go

to

F 2

 

else

a

: =

a +

1;

go

to

£3;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

F 2 : QQ :=

QR \p -|-

QC

[/]];

if QQ — Q<C e then go to

FA else

go

to

£ 5 ;

 

FA : A B

:=

0;

for i : =

z

+

1 step

1

u n til

k do C K

[ / ]

; =

C K [j ] -{- W

[г, / ];

 

A B

:=

A B +

(<

[УI X

(C R

[j, с ] + С С

[j,

d]

+

С К

 

[у])

X

(C R

[/,

p ]

+

 

C C

[j,

l]))/C

IJ]

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

end;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

if

A B ^

 

A P

then go to

F 6 else

A P

: =

A B ]

a

\=

p\

ß : =

/;

 

 

 

 

 

com m ent

О пределение

кандидата

в

оптимальную

 

последовательность;

 

FQ : if

р

ф

 

с

then go to

F 3

else

/ : =

 

b;

if

/ =

d

then

go to

F 7

else

go

to

E2\

£ 2

: / : = / +

1 ;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

£ 7

: p ; =

c;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

£ 4

: p

: =

p -)- 1;

if

QC [1]

<

Q

then

go to £1 else

b ; =

b

1;

go

to

£ 2 ;

£ 1

: QQ :=

QR [/?]

QC [/];

if

QQ — Q < E then

go

 

to

£ 3

else

go

to

£ 4 ;

£ 3

: A B

:=

0;

for /

;=

1

step

1

u n til

r

do

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

begin

 

C K

[/]

: =

0;

for

i ; =

г +

1

step

1

u n til

k

do

 

C K

[/]

: = C K

[/]

+

 

«7

 

[i, Л ;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

A B

:=

A B

 

(■

] X

(C R

[у, с]

-)- С С

[j,

d ]

-)-

C K

[/]) X

 

(C R [j, p\ -(-

 

C C

(j,

l]))IC

[j]

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

end;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

if

l =f= d

then go

to

£ 5

else A P

:=

A B ] a

p]

ß

;=

 

/;

 

 

 

 

 

 

 

com m ent

О пределение

кандидата

в

оптимальную

последовательность;

 

£ 5

: if

l=f=

d

then go to

£ 2

else

 

c : =

d;

a

; =

ß;

 

 

 

 

 

 

 

 

 

 

 

 

com m ent

О пределение члена оптимальной последовательности;

 

 

 

 

for

j

:=

1

step

1

u n til

r

do C P

[y ] : =

C C

[/,

d ]

+

C R [j,

c];

 

 

 

 

 

for

/

: =

1

step

1

u n til

r

doif

C P

[ j ] ^

C E [j ]

then

 

 

 

 

 

 

 

 

 

 

 

go

to

£ 6

else

Т Е

[c, d ]

: =

0;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

com m ent

Вклю чение выбранного варианта структуры в оптимальную после­

довательность;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

go

to

£ 7 ;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

£ 6

: fo r

i

; =

1

step

1

u n til

z — 1do

fo r

h

: =

1,

h -j-

 

1

w hile

h ^ . M

 

do

T N

[i,

h ]

: = N C [t,

Л];

v

: =

 

0; m

: =

0;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

LA : m := m -\- \] n : = 0;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

£ 3

: n :=

n -f- 1;

if

Т Е

[m,

n ] Ф

0

then

go to

L I

else

v

 

v -j- 1;

 

 

for

i

: =

1,

i

+

1

w hile

i=g: z —

1

do

N C [i, v ]

: =

 

T N

[t, n ];

 

 

 

 

13*

195

ПРИЛОЖЕНИЯ

comment Оформление заголовка для следующей таблицы, т. е. занесение оптимальной последовательности в массив {У };

N C [г, о] := т -j- S

[z] —

1;

 

 

 

 

 

 

 

LI : if

п =f= М

then

go

to

L3 else

if

m ф

H

[z]

then go

to

L4 else

if z=j= k

then

 

 

 

 

 

 

 

 

 

 

begin

M

: =

v;

z

: =

z

 

l;

g o

to

A

 

 

 

 

 

end;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

begin

array P P [/i];

 

 

 

 

 

 

 

 

 

 

 

В :

ft :=

ft -\-

1;

P P

[ft]

:=

1;

for

i :=

1

step 1 until ft do

P P

[/i]

:=

P P

[ft]

X (I

? (i) t

N C [i,

ft]);

if ft ф

v then

go

to

В

else print

(P P ,

NC)

 

 

 

 

 

 

end

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

end end

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Приложение

АЛГОЛ-ПРОГРАММА ВЫБОРА

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ІЙ

ОПТИМАЛЬНОГО ЧИСЛА

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

КОНТРОЛИРУЕМЫХ ПАРАМЕТРОВ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

begin integer

а 2,

с,

і,

},

k,

l,

т,

п,

р ,

s,

w

 

 

 

 

 

 

 

 

 

 

 

 

read (п, w);

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

begin real

al,

 

q,

t;

 

 

[1 : tu],

F

[1

: w ] ,

 

Q [1 : w ] ,

 

[1

: w ] ,

 

[I ; ш],

real

array

A

[1 : ии],

В

 

R

T

X [ 1 : и],

 

У [ 1 : пУ,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

read

(t,

 

q.

 

В ,

Q,

R ,

 

 

T)\

for i:=

1

step

1 until w

 

do

 

 

 

begin F [£]

:=

R

[г]

 

 

X

T [t];al

:=

F [t];

 

 

 

 

 

 

 

 

 

A

[t]

:=

1/exp

(al);

A

[t]

:=

A

[£] X

В

[t]

 

 

 

 

 

 

 

 

 

end;

print (A);

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

begin i

:=

1;

j

:=

1; X

[j]

:=

 

A

[£]; / :=

/ +

1; X

[i]

:=

T

[/];

 

 

j

:=

І +

 

1;

X

( j)

 

 

 

:=

Q

[»];/

:=

/

+

I;

X

[/]

 

 

 

:= В [£];/:=

/ +

X [/] := F [£];

m : = 0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

end;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0;

 

 

begin H

: i

 

:=

 

i +

1;

for

k :=

1 step

1

until

n

do

Y

[ k ]

:=

 

 

begin

ft

 

:=

 

1; Y [ft] :=

A

[£];

ft

:=

ft +

1;

Y

[ft] := T

[£];

 

 

 

 

ft :=

 

ft +

1;

у

[ft] :=

Q [£];

ft := ft + 1; У

[ft]:=

В

[/];

ft :=

ft +

1;

y [ f t ] : = f [ £ ]

196

ПРИЛОЖЕНИЕ III

end

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

end;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

begin

j

:= 0;

H I

 

: j

 

:=

/

+

5;

 

s :=

/;

ft :=

ft 4 - 5;

p

:= ft;

 

 

 

 

Y

[ft] ;=

X [/] +

F

 

[t];

/ ;=

/ — 1;

k : =

 

k -

1;

Y

[A] :=

X [ j]

+

В [fl;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

j

:=

j

_

1;

k

:=

ft -

 

i;

Y

 

[A]

 

 

X

[/]

+

Q

[*];'

 

 

 

 

 

 

 

 

if

Y

[ k ] ^ >

q

then go

to

H 2

else go to

ЯЗ;

 

 

 

 

 

 

 

 

 

 

 

 

 

H 2 : ft :=

ft 3;

go

 

to D l;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ЯЗ

: j

:=

j -

 

1;

ft ~

 

k

-

1;

Y

[ k ]

:=

X

[/]

+

T

[i];

 

 

 

 

 

 

if Y

 

[ A ] >

t

then

go

to Я4 else go to Я5;

 

 

 

 

 

 

 

 

 

 

 

 

Я4 : k : =

k

— 2;

go

 

to D l;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Я5

: k

:=

k

 

1;

j : =

p\ a

;==

К

[/];

К

[A] :=

1/exp

(al);

 

 

 

 

j

:=

; -

1;

К

[A] ;=

К

[ k]

X

Y

[/];

k

:=

p

 

 

 

 

 

 

 

 

 

 

 

end;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

D l : j :=

s; if

/ =

 

m

then

go

to

D2

else

go

to

Я1;

 

 

 

 

 

 

 

 

 

D 2 : c :

 

=

k]

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

begin A

:= 0;

D3

; ft :=

A -j-

1;

p

: =

k;

j

: =

0;

/ ; = / - ) -

1;

 

 

 

 

D 6

: if

К

[A] >

X

[/]

then go to D4 else go to D5;

 

 

 

 

 

 

 

 

 

D4 : j :=

j -j- 5; if j >

 

m then go to D7 else go to D 6 ;

 

 

 

 

 

 

 

D7

: s :=

/;

 

j

:=

j — 4;

k

 

 

k

 

1;

if

К

[A] ^

X

 

[/]

then

 

 

 

go to D9

else

go

to D 8 ;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

D9 : / : = / +

 

1;

ft :=

ft +

I;

if

Y [ f t ] ^

X

 

[/]

then

 

go

to

DIO

 

 

else

 

go

to

D 8 ;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

DIO : j

:=

j

— 3;

 

ft :=

 

ft —

1;

if

Y

[ft]=s: X

[/]

then

 

go

to

D14

 

else

 

go

to

D13;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

D14

: /' :=

/

-J-

1;

ft: =

ft +

1;

if

 

Y

[ft] ^

X

 

[/]

then

 

go

to

DIO

 

 

else

 

go

to

D15;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

D 8

: j :=

s;

go

to

D 16;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

D ll

 

: j

:=

/ +

1;

go

to

D16;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

D13 : j : =

/ +

 

4;

go

to

D16;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

D 15 : / :=

/

+

 

3;

go

to

D16;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

D16 : k : = p \

 

X

[ j]

 

:=

Y

[ft];

/

:=

/ +

1;

ft :=

ft +

1;

X

[/]

:=

Y

[ft];

j

:=

/

+

1;

ft :=

ft +

1;

X

[/]

:=

Y

[ft];

j

 

:=

j

+

1;

ft :=

ft +

1;

 

X

[/] :=

Y

[ft];

j

: =

j +

1;

ft :=

ft +

1;

X

[/]

:=

Y

 

[ft];

 

 

 

 

Я 6

; m

/;

go

to

Я7;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

D5

: s :=

/;

j

:=

/

+ 1 ;

ft ;=

ft +

1; if

F

[ f t ] ^

X

[/']

then go

to Я 8

 

else

 

go to

Я9;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Я9 : / :=

/ — 2; go

to

Я12;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Я 8 : j

:=

j

+

 

1; ft :=

ft -[-

1; if F

[ft ] ^

X

[/' ] then go to Я10

else go to Я 11

90

197

ПРИЛОЖЕНИЯ

Я10 : ft := ft +

2;

go

to

Я 25;

Я П

: }

:=

j — 3;

 

 

 

 

 

 

 

 

 

Я12 : if / =

0

then

go

to Я13

else

go

to

Я14;

 

 

 

 

 

 

 

 

 

 

Я13 : / :=

у +

1;

go

to H20;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Я14 : у :=

j — 3;

if

7

[ft]s£

X

[/]

then

go

to Я16

else go

to

Я15;

 

Я15 : У:=

j

-j- 4; go to

Я20;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Я16

: у :=

у

+

1;

ft :=

ft +

1; if

 

К[ft]s=CX

[/] then

go

 

to

Я11

 

 

else

go

to

Я 17;

Я17 : j

:= j -(- 3;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Я20

: if у =

s then go

to

Я18 else go to Я19;

 

 

 

 

 

 

 

 

 

 

 

Я18 : У:=

ret -j- s;

 

/ :=

m;

m :=

ret +

5;

a2 :=

s —

1;

 

 

 

 

 

 

Я21

: X

[у] :=

X

[f];

j

~

j

1;

/ : = / + l ;

 

if

/ =

o2

then

 

 

 

go to Я22 else go to Я21;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Я22

: у :=

s;

 

ft :=

p;

X

[/']

:=

У

[ft]; j

:=

j

+

1;

ft

 

 

:=

ft + 1;

 

X [/]

:=

К [ft];

у :=

/

+

 

1;

ft :=

ft +

1;

X

[ / }

:=

 

Y

 

 

[ft]; j

— j

+ 1;

ft :=

 

ft +

1;

X

[y] :=

 

Y

[ft];

j

 

:=

/ +

1;

ft ;=

ft +

 

1;

 

 

X

[/']

:= К

[ft];

Я25 : if k — c then go to Я23 else go to 03;

 

 

 

 

 

 

 

 

 

 

Я23 : print (Я, X); if

j =

w

then

go

to

Я24

else

 

go

 

 

to

Я;

 

 

Я19

: ft := p;

X

[j]

:=

Y

[ft]; A

:= ft +

1; у :=

j

+

1;

X

[ j]

:= Y

[ft];

ft :=

 

ft +

1;

У:=

j

+

1;

X

[у]

;=

К

[ft];ft:=

ft +

 

1;

j := j

+

1;

 

 

X []]

:=

Y [ft];

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ft :=

 

ft +

1;

У:=

j

+

1;

X

[y]

:=

Y [ft];

j ~

 

j

+

1;

 

 

 

 

 

 

 

if у =

s

then

go

to

Я25 else

go

to

Я26;

 

 

 

 

 

 

 

 

 

 

 

 

Я26

: I

:=

s;

X

[у] :=

X

[/];

j

 

:=

у +

1;

s :=

s +

1;

 

 

 

 

 

 

 

if s >

m

then

go

to Я27

else

go

to

Я26;

 

 

 

 

 

 

 

 

 

 

 

 

Я27 : У:=

j — 1; go to

Я 6 ;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Я7 : у :=

у +

 

1;

-X

[/ ] :=

0 ;

if

 

у =

re

then go

to

Я25

 

 

 

 

 

 

 

else

go

to

Я7;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Я24:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

end

end

end

198

 

Приложение

ПРОЦЕДУРА-ФУНКЦИЯ ДЛЯ ПОЛУЧЕНИЯ

IV

СЛУЧАЙНЫХ ВЕЛИЧИН

 

С ПРОИЗВОЛЬНЫМИ ЗАКОНАМИ

 

РАСПРЕДЕЛЕНИЯ

 

НАЗНАЧЕНИЕ

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

Последовательность случайных величин, обладающих заданной плотностью распределения, может быть получена путем преобразования из последовательности независимых случайных величин, равномерно распределенных в интервале [0 , 1 ].

Пусть имеется случайная величина £, равномерно распределенная в интервале [0, 1 ], и непрерывная случайная величина т], функция распределения которой F (t) и плот­

ность распределения f ( t).

Тогда равенство

 

 

 

 

 

 

 

 

 

(П.1)

 

 

— СО

 

 

 

 

при / ( 0 >

0 задает взаимно-однозначное соответствие между переменными

| и т|.

Пользуясь равенством

(П .1), имеем:

 

 

 

 

1) для

равномерного

распределения

на

(а,

Ь)

 

 

т

О

при

t <

а, / > 6 ;

 

 

=

при

а;с; t ^ . Ь ,

 

 

 

( b — а) -1

 

тогда

 

 

 

 

 

 

 

 

г| = а + 1

(6 — а);

(П.2)

2 ) для нормального распределения величин с дисперсией о2 и математическим

ожиданием т

(П.З)

3) для показательного распределения

/ ( 0

0 при t < <mln;

 

=

при / > J'nun,

 

Я, exp ['— Я, (t — Ь)]

тогда

(П.4)

4) для распределения Релея

t

ПРИЛОЖЕНИЯ

200

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