Tải bản đầy đủ (.doc) (19 trang)

Mô hình hóa hệ ngẫu nhiên

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (138.46 KB, 19 trang )

bài tập mô hình hoá
Nội dung: Mô hình hoá hệ ngẫu nhiên
Đề bài:
Đánh giá độ tin cậy của hệ thống kỹ thuật có các phần tử nối song song
Cho hệ thống kỹ thuật có các phần tử nối song song có độ tin cậy lần lợt nh sau:
p1 p2 p3
0,7 0,75 0,8
0,75 0,7 0,6
0,6 0,7 0,6
0,85 0,75 0,8
0,65 0,8 0,7
0,75 0,2 0,8
Hãy mô hình hoá để tính độ tin cậy hệ thống.
So sánh độ tin cậy theo công thức lý thuyết P
htlt
với độ tin cậy thực nghiệm P
httn
.
1. Phân tích đề bài.
1
Mô hình hoá hệ ngẫu nhiên là một trong các phơng pháp đợc dùng nhiều trong thực
tế để tìm đợc một chỉ tiêu chất lợng nào đó khi có sự tác động ngẫu nhiên của môi trờng
xung quanh và sự tác động này sẽ ảnh hởng trực tiếp tới chỉ tiêu chất lợng cần xét đó.
Trong bài toán trên ta thờng gặp nhiều trong thực tế các hệ thống mà gồm các phần tử nối
song song với nhau với điều kiện các phần tử hoạt động độc lập nhau và sự làm việc bình
thờng của hệ thống phụ thuộc vào sự làm việc an toàn của một trong các phần tử. Ví dụ nh
để thắp sáng một phân xởng ngời ta lắp các bóng đèn song song với nhau thì sự cố mất
điện sẽ xảy ra khi tất cả các bóng đèn đều bị hỏng. Tuy nhiên nh bài toán trên thì sự hỏng
hóc của các phần tử là xảy ra ngẫu nhiên với một độ tin cậy nào đó. Bài toán đặt ra là phải
tìm độ tin cậy của toàn hệ thống. Những bài toán loại này thì phơng pháp mô hình hoá hệ
ngẫu nhiên tỏ ra rất có hiệu quả.


Nội dung của phơng pháp mô hình hoá hệ ngẫu nhiên.
Phơng pháp mô hình hoá hệ ngẫu nhiên là xây dựng trên máy tính một quan hệ giữa
đại lợng cần xác định với sự tác động đầu vào của nó mang tính ngẫu nhiên với một phân
bố nào đó, trên có sở đó ta nhận đợc một dáng điệu của đại lợng đang xét. Để thu đợc
dáng điệu của đại lợng đang xét ta phải thực hiện các phép thử, sau mỗi phép thử ta sẽ thu
đợc các thông tin có liên quan đến dáng điệu đó. Khi số phép thử tăng lên thì lợng thông
tin thu đợc cũng tăng lên cho đến khi ta xây dựng đợc một dáng điệu gần chính xác với
một sai số nhất định. Nh vậy phơng pháp này có khối lợng tính toán lơn do đó nó phải đợc
thực hiện trên máy tính và sau khi thử đủ các phép thử ta phải tiến hành xử lý kết quả để
thu đợc kết quả mong muốn.
2. Phân tích và xác định các biến ngẫu nhiên.
Đối với từng phần tử của hệ thống nói trên thì dòng các sự kiện xảy ra hỏng hóc có
các tính chất sau:
+ Dừng, cờng độ xảy ra các sự kiện là hằng số.
+ Các sự kiện xảy ra hoàn toàn độc lập nhau.
+ Tại một thời điểm chỉ có 1 sự kiện xảy ra.
Nh vậy dòng sự kiện nói trên là một dòng tối giãn. Và độ tin cậy của từng thiết bị đợc
đánh giá qua xác suất thời gian làm việc tin cậy lớn hơn tuổi thọ của phần tử. Nh vậy với
một cờng độ hỏng hóc cho trớc thì biến ngẫu nhiên ở đây chính là thời gian làm việc tin
cậy của phần tử.
Khi hệ thống gồm 3 phần tử nối song song với độ tin cậy của các phần tử cho trớc
thì biến ngẫu nhiên là một giá trị đánh giá sự hỏng hóc của toàn hệ thống.
3. Phân tích thuật giải.
Nh ta đã biết với hệ thống có các phần tử nối song song thì độ tin cậy của toàn hệ
thống phụ thuộc vào độ tin cậy của từng phần tử và đợc xác định theo biểu thức sau:

n
i
ihtlt
)p(P

1
11
=
=
Trong đó: n là số phần tử mắc song song
p
i
là độ tin cậy của phần tử thứ i.
Nh vậy với bài toán trên thuật giải đợc xây dựng nh sau:
+ Lấy một số ngẫu nhiên có phân bố x = U(0,1)
2
+ So sánh giá trị x với từng độ tin cậy của các phần tử nếu nh x<=(1-p1) và x<=(1-
p2) và x<=(1-p3) thì N0= N0+1.
+ Sau N lần phép thử ta có độ tin cậy của hệ thống
N
N
P
httn
0
=
4. L u đồ thuật toán.
Trên cơ sơ thuật giải ở trên lu đồ thuật toán cho hệ thống đợc mô tả dới đây.
Nhập số liệu
p1,p2,p3
Lấy x=U(0,1)
Nhập N
No = 0, i=0
x<=(1-p1)
x<=(1-p2)
x<=(1-p3)

Đ
Đ
N1=N1+1
S
S
S
No=No+1
i=i+1
i=N
S
N
N
P
htnt
0
=
Đ
5. Trong thuật giải bài toán này đã đợc trình bày nh lu đồ thì điều kiện đầu cho trớc là các
độ tin cậy của các phần tử, ta tiến hành mô phỏng bằng cách thử lần lợt từng giá trị một của
giá trị ngẫu nhiên nhận đợc với độ tin cậy của các phần tử cho đến khi số phép thử đạt đợc
đến 1 giá trị cho trớc nào đó thì cho phép ngừng mô phỏng và thực hiện việc xử lý kết quả
nhận đợc.
3
Bài toán trên đợc mở rộng cho trờng hợp khi thay đổi số phép thử N. Cũng cùng
thuật giải nh trên với số các phép thử khác nhau ta sẽ thu đợc một tập các giá trị của độ tin
cậy của hệ thống. Các giá trị đó đợc xây dựng thành đồ thị các giá trị P
httn
nh trong chơng
trình dới đây.
6. Viết ch ơng trình mô phỏng.

Chơng trình mô phỏng hệ thống ngẫu nhiên trên đợc xây dựng trên ngôn ngữ C có
mã nguồn nh sau:
#include"iostream.h"
#include"math.h"
#include"conio.h"
#include"stdio.h"
#include"stdlib.h"
#include"dos.h"
#include"graphics.h"
#define Enter 13
#ifndef _MOU_H_
#define _MOU_H_
void mainc(void);
void Graph(void);
void Print(void);
void Result(void);
void help(void);
void button(int x1,int y1,int x2,int y2,int color,char s[],int
color_s,int size);
void button2(int x1,int y1,int x2,int y2,int color,char s[],int
color_s,int size);
void button1(int x1,int y1,int x2,int y2,int color);
void _line(int x1, int y1, int x2, int y2, int color);
void Write_text(int x1, int y1,double x,char*s,int color);
void Write_text1(int x1, int y1,int x,char*s,int color);
void write_value(int*x,int*y,char*s);
void read_value(int*x,int*y,char*s);
double Nhap_p1(void);
double Nhap_p2(void);
double Nhap_p3(void);

int Nhap_N(void);
int mouse_x,mouse_y;
int Reset_mouse(void)
{
4
_AX=0;
geninterrupt(0x33);
return(_AX);
}
void Show_mouse(void)
{
_AX=1;
geninterrupt(0x33);
}
void Hide_mouse(void)
{
_AX=2;
geninterrupt(0x33);
}
int Click_mouse(void)
{
_AX=3;
geninterrupt(0x33);
if(_BX==0)return 0;
if(_BX==1)return 1;
if(_BX==2)return 2;
return _BX;
}
void Move_mouse(int mouse_x1,int mouse_y1)
{

_AX=4;
_CX=mouse_x1;
_DX=mouse_y1;
geninterrupt(0x33);
}
void Hori_mouse(int xmin,int xmax)
{
_AX=7;
_CX=xmin;
_DX=xmax;
geninterrupt(0x33);
}
void Vert_mouse(int ymin,int ymax )
{
_AX=8;
_CX=ymin;
5
_DX=ymax;
geninterrupt(0x33);
}
int Win_mouse(int x1,int y1,int x2,int y2)
{
_AX=3;
geninterrupt(0x33);
mouse_x=_CX;
mouse_y=_DX;
if(mouse_x>x1&&mouse_x<x2&&mouse_y>y1&&mouse_y<y2 ) return 1;
else return 0;
}
int DClick_mouse(void)

{
_AX=0x05;
_BX=0;
geninterrupt(0x33);
_AX=1;
if(_BX==1)return 0;
if(_BX==2)return 1;
return _BX;
}
#endif
void Write_text(int x1, int y1,double x,char*s,int color)
{
gcvt(x,5,s);
setcolor(color);
outtextxy(x1,y1,s);
}
void Write_text1(int x1, int y1,int x,char*s,int color)
{
itoa(x,s,10);
setcolor(color);
outtextxy(x1,y1,s);
}
void write_value(int*x,int*y,char*s)
{
outtextxy(*x,*y,s);
*x+=textwidth(s);
}
void read_value(int*x,int*y,char*s)
6
{

int i=0;char ch[2];
ch[1]=0;
while(1)
{
ch[0]=getch();
if(ch[0]==Enter) break;
write_value(x,y,ch);
s[i]=ch[0];
++i;
}
s[i]=0;
}
double Nhap_p1()
{
int xp1=80,yp1=280;
char*sp1;
read_value(&xp1,&yp1,sp1);
return atof(sp1);
}
double Nhap_p2()
{
int xp2=80,yp2=310;
char*sp2;
read_value(&xp2,&yp2,sp2);
return atof(sp2);
}
double Nhap_p3()
{
int xp3=80,yp3=340;
char*sp3;

read_value(&xp3,&yp3,sp3);
return atof(sp3);
}
int Nhap_N()
{
int xn=80,yn=370;
char*sn;
read_value(&xn,&yn,sn);
return atoi(sn);
}
7

×