NGUYỄN ANH KHIÊMNGHIÊN CỨU CÁC PHƯƠNG PHÁP NÂNG CAO ĐỘ TIN CẬY CHO HỆ THỐNG TÍNH TOÁN QUA CẤU TRÚC HỆ THỐNG Ngành: Công nghệ Thông tin Chuyên ngành: Kỹ thuật phần mềm Mã số: 60480103 LUẬ
Trang 1ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
NGUYỄN ANH KHIÊM
NGHIÊN CỨU CÁC PHƯƠNG PHÁP NÂNG CAO ĐỘ TIN CẬY CHO HỆ THỐNG TÍNH TOÁN QUA CẤU TRÚC HỆ THỐNG
LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN
Hà Nội – 2014
Trang 2NGUYỄN ANH KHIÊM
NGHIÊN CỨU CÁC PHƯƠNG PHÁP NÂNG CAO ĐỘ TIN CẬY CHO HỆ THỐNG TÍNH TOÁN QUA CẤU TRÚC HỆ THỐNG
Ngành: Công nghệ Thông tin
Chuyên ngành: Kỹ thuật phần mềm
Mã số: 60480103
LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN
NGƯỜI HƯỚNG DẪN KHOA HỌC: TIẾN SĨ LÊ QUANG MINH
Hà Nội – 2014
Trang 3LỜI CẢM ƠN
Để hoàn thành chương trình khóa cao học và viết luận văn này,tôi đã nhận được sự hướng dẫn, giúp đỡ và góp ý nhiệt tình của quý thầy cô trường Đại học Công nghệ - Đại học Quốc gia Hà Nội.
Trước hết, tôi xin bày tỏ lòng biết ơn sâu sắc đến TS Lê Quang Minh – người đã hướng dẫn tôi thực hiện luận văn này Thầy đã cung cấp cho tôi những kiến thức, những tài liệu, phương pháp nghiên cứu một vấn đề mang tính khoa học và giúp tôi đưa ra những ý tưởng khi làm luận văn.
Xin cùng bày tỏ lòng biết ơn chân thành tới các thầy cô giáo trong Bộ môn
Kỹ thuật phần mềm, Khoa Công nghệ Thông tin, những người đã đem trí tuệ, công sức của mình truyền đạt lại cho chúng tôi những kiến thức học tập vô cùng
có ích trong những năm học vừa qua.
Cũng xin gửi lời cảm ơn chân thành tới Ban Giám hiệu Nhà trường, Phòng Đào tạo sau đại học, Đại học Công nghệ - Đại học Quốc gia Hà Nội đã tạo điều kiện tốt nhất cho chúng cho tôi trong suốt quá trình học tập.
Cuối cùng tôi xin gửi lời cảm ơn đến gia đình, bạn bè, những người đã luôn bên tôi, động viên và khuyến khích tôi trong quá trình thực hiện đề tài nghiên cứu của mình.
Hà Nội,ngày 09tháng 06 năm 2014
Học viên
Nguyễn Anh Khiêm
Trang 4LỜI CAM ĐOAN
Tôi xin cam đoan những nội dung kiến thức trình bày trong luận văn này là
do tôi tìm hiểu tài liệu, nghiên cứu và trình bày theo cách hiểu của bản thân dưới
sự hướng dẫn trực tiếp của TS.Lê Quang Minh Các nội dung nghiên cứu và kếtquả thực nghiệm trong đề tài này hoàn toàn trung thực
Trong quá trình làm luận văn, tôi có tham khảo đến một số tài liệu liênquan của các tác giả, tôiđã ghi rõ nguồn gốc tài liệu tham khảo và được liệt kêtại phần tài liệu tham khảo ở cuối luận văn
Học viên
Nguyễn Anh Khiêm
Trang 5MỤC LỤC
DANH MỤC HÌNH VẼ
CHƯƠNG 1: CƠ SỞ LÝ THUYẾT
1.1 Khái niệm cơ bản về độ tin cậy
1.1.1Tổng quan về độ tin cậy
1.1.2Định nghĩa về độ tin cậy
1.2Những khái niệm cơ bản
1.2.1Phần tử không phục hồi
1.2.2Phần tử phục hồi
1.3Phương pháp tính giá độ tin cậy của hệ thống qua cấu trúc hệ thống
1.3.1Sơ đồ khối tin cậy của hệ thống
1.3.2Hệ thống các phần tử nối tiếp
1.3.3Hệ thống các phần tử song song
1.4 Phương pháp đánhgiá độ tin cậy của hệ thống qua cấu trúc hệ thống
1.4.1Phương pháp đồ thị giải tích
1.4.2Bài toán tìm đường đi trong đồ thị hệ thống
1.4.2.1 Thuật toán chuyển đổi sơ đồ cấu trúc logic thành sơ đồ khối
1.4.2.2Thuật toán chuyển đổi sơ đồ cấu trúc logic sang đồ thị liên kết
1.4.2.3 Thuật toán tìm tất cả các đường đi trong ma trận liên kết
1.4.2.4 Thuật toán tìm tất cả đường đi của ma trận liên kết theo lý thuyết đồ thị
1.4.3Bài toán tối thiểu phần tử logic
1.4.4Bài toán xác định trực giao hóa các toán tử logic
1.4.4.1Các phương pháp giảm thiểu các hàm đại số logic đối với các hình thức trực giao và trực giao không lặp
1.4.4.2Các quy tắc chuyển đổi hàm logic sang dạng xác suất trong dạng chuẩn tắc tuyển
1.5 Kết luận
Trang 6CHƯƠNG 2: NHỮNG PHƯƠNG PHÁP NÂNG CAO ĐỘ TIN CẬY CỦA HỆ
THỐNG
2.1Tổng quan về phương pháp nâng cao độ tin cậy
2.1.1 Ý nghĩa
2.1.2 Lĩnh vực ứng dụng
2.2Hệ thống dự phòng có tải
2.3Hệ thống dự phòng không tải
2.4Hệ thống dự phòng nhẹ tải
2.5Hệ thống dự phòng bảo vệ tích cực
2.6Phương pháp nâng cao độ tin cậy về phần mềm
2.6.1 Tổng quan về độ tin cậy phần mềm
2.6.2 Kỹ thuật cải thiện độ tin cậy phần mềm
2.7Kết luận
CHƯƠNG 3: XÂY DỰNG PHƯƠNG PHÁP NÂNG CAO ĐỘ TIN CẬY CHO HỆ THỐNG MÁY CHỦ DỰ PHÒNG
3.1Đặt vấn đề
3.2Phát biểu bài toán
3.3Mô hình hệ thống dự phòng nâng cao độ tin cậy
3.3.1 Mô hình bài toán dự phòng truyền thống
3.3.2 Mô hình bài toán hệ thống dự phòng bảo vệ tích cực:
3.3.3 Mô hình hệ thống kết hợp dự phòng truyền thống và dự phòng bảo vệ tích cực
3.4Kết luận
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN
TÀI LIỆU THAM KHẢO
Trang 8DANH MỤC HÌNH VẼ
Hình 1.1: Hàm mật độ phân phối xác suất theo thời gian
Hình 1.2: Biểu diễn độ tin cậy của phần tử
Hình 1.3: Biểu diễn hàm phân phối xác suất
Hình 1.4: Biểu diễn hàm phân phối và độ tin cậy
Hình 1.5: Biểu diễn cường độ hỏng hóc
Hình 1.6 Các khoảng làm việc và khoảng phục hồi
Hình 1.7: Mô hình chuyển trạng thái của phần tử
Hình 1.8: Sơ đồ của hệ các phần tử nối tiếp
Hình 1.9: Sơ đồ hệ các phần tử song song
Hình 2.1: Cấu trúc hệ thống dự phòng song song (dự phòng nóng)
Hình 2.2: Cấu trúc hệ thống dự phòng không tải (dự phòng nguội)
Hình 2.3: Các khả năng không hỏng của hệ hai phần tử
Hình 2.4: Các khả năng không hỏng của hệ ba phần tử
Hình 2.5 Cấu trúc hệ thống dự phòng bảo vệ tích cực
Hình 2.6: Đồ thị điều chỉnh độ tin cậy của phần mềm theo thời gian
Hình 3.1 Mô hình hệ thống máy tính phân cấp
Hình 3.2 Cấu hình HCS với dự phòng
Hình 3.3 Cấu hình hệ thống HCS với AP
Hình 3.4 Cấu hình HCS với AP và dự phòng tĩnh
Hình 3.5 Cấu hình HCS với các phương án dự phòng
Hình 3.6 Đồ thị xác suất độ tin cậy của HCS cấu hình số 1, số 14, số 18, số 20 theo thời gian
Hình 3.7 Cấu hình HCS với AP và dự phòng nhân bản ba
Hình 3.8 Đồ thị xác suất độ tin cậy của HCS cấu hình số 1, số 14, số 21, số 22 theo thời gian
Trang 9số lượng lớn các yếu tố thành phần, có cấu trúc phức tạp với các chương trìnhtính toán, điều khiển các hoạt động của nó Đây chính là những hệ thốngcó tínhứng dụng cao, tham gia vào trong tất cả các lĩnh vực của đời sống, là toàn bộ cơ
sở hạ tầng của xã hội hiện đại
Tuy nhiên, cũng chính vì các hệ thống này tham gia tất cả các lĩnh vựctrong xã hội nên nền sản xuất xã hội luôn phải đối mặt với nguy cơ các hệ thống,thiết bị không sẵn sàng để hoạt động một cách chính xác, cùng với việc thao tácsai và những sai lầm không đáng có trong quá trình thiết kế chế tạo thiết bị, đãlàm cho cấu trúc hệ thống bị phá vỡ, các chức năng của hệ thống hoạt độngkhông chính xác Các hệ thống kỹ thuật hiện đại, phức tạp nếu không đảm bảođược độ tin cậy thì hệ thống coi như không tồn tại
Từ những nguy cơ đối mặt với các hệ thống không hoạt động, thiết bị chokết quả không chính xác,… chúng ta thấy được nguy cơ tiềm tàng xảy ra đối vớimỗi hệ thống Vì vậy, việc cần phát triển nhanh chóng các phương pháp đánhgiá độ tin cậy của các hệ thống ở tất cả các giai đoạn thiết kế, thử nghiệm, sảnxuất, hoạt động là điều hết sức quan trọng và cần thiết
Độ tin cậy và khả năng hoạt động an toàn của hệ thống phụ thuộc vào cấutrúc của nó (cấu trúc logic) và độ tin cậy của các thành phần cấu thành nên hệthống Đối với các hệ thống phức tạp, có hai cách để tăng độ tin cậy: tăng độ tincậy của các yếu tố thành phần và thay đổi chương trình Phương pháp nâng cao
độ tin cậy của các yếu tố thành phần là phương pháp đơn giản nhất để tăng độtin cậy của hệ thống Từ những chỉ số đánh giá độ tin cậy của hệ thống thì chúng
Trang 10ta có thể xây dựng các phương pháp dự phòng nhằm nâng cao độ tin cậy chocác hệ thống.
Xuất phát từ nhu cầu thực tế cần xây dựng các biện pháp nâng cao độ tincậy cho các phần tử, hệ thống cấu trúc và là một vấn đề còn mới tại Việt Nam
nên tôi nghiên cứu và đề xuất đề tài: “Nghiên cứu các phương pháp nâng cao
độ tin cậy cho hệ thống tính toán qua cấu trúc hệ thống” Thông qua luận văn
tác giả muốn đi sâu nghiên cứu, tìm hiểu và hệ thống lại các phương pháp đánhgiá độ tin cậy cho phần tử, từ đó nghiên cứu và đề xuất các phương pháp dựphòng nâng cao độ tin cậy cho hệ thống quacấu trúchệ thống
2 Mục đích nghiên cứu
Luận văn đã nghiên cứu phương pháp đánh giá độ tin cậy của hệ thống,dựa trên các chỉ số đó nghiên cứu các phương pháp dự phòng nâng cao độ tincậy cho hệ thống, đề xuất cải tiến thêm một phương pháp dự phòng tích cực vàchứng minh phương pháp đề xuất cho hiệu quả cao hơn so với các phương pháptruyền thống
3 Giả thuyết khoa học
Nếu đánh giá đúng đắn độ tin cậy của hệ thống thì sẽ làm cơ sở để xâydựng các phương pháp nâng cao độ tin cậy của hệ thống cấu trúc và đưa ra cácgiải pháp xây dựng các phương án dự phòng cho các hệ thống cấu trúc phức tạphơn, làm nền tảng đáng tin cậy cho các nhà sản xuất,… cho ra đời các hệ thống,sản phẩm có chất lượng, năng suất và hiệu quả cao hơn trong nền kinh tế xã hội
4. Nhiệm vụ nghiên cứu
- Nghiên cứu các khái niệm cơ bản, các chỉ số của phần tử, hệ thống và các phương pháp tính độ tin cậy của hệ thống
- Nghiên cứu đưa ra các phương pháp dự phòng nâng cao độ tin cậy của hệthống cấu trúc
- Áp dụng các phương pháp dự phòng cho hệ thống cấu trúc trên mô hình
hệ thống máy tính phân cấp cụ thể
Trang 11- Đưa ra các biểu đồ so sánh hiệu quả các phương pháp dự phòng và đềxuất phương pháp dự phòng dựa trên các phương pháp dự phòng truyền thống
và cho kết quả so sánh
5. Phương pháp nghiên cứu
Luận văn sử dụng các phương pháp nghiên cứu:
- Phương pháp phân tích, tổng hợp lý luận: nghiên cứu, tìm hiểu, phân tíchcác tài liệu có liên quan đến đánh giá độ tin cậy, các phương pháp dựphòngnâng cao độ tin cậy của hệ thống
- Phương pháp sử dụng toán học: Sử dụng phương pháp tính toán xác suất thống kê, xử lý các kết quả và xây dựng đồ thị trực quan so sánh các kết quả
6. Đóng góp của luận văn
- Luận văn đã nghiên cứu, tổng hợp lại các cơ sở lý luận về đánh giá độ tin cậy của hệ thống
- Nghiên cứu các phương pháp dự phòng nâng cao độ tin cậy cho hệ thống cấu trúc
- Đưa ra các kết quả đánh giá, so sánh các phương pháp dự phòng trên một
mô hình hệ thống máy tính phân cấp làm nền tảng đánh giá các hệ thống cấutrúc phức tạp hơn
7. Cấu trúc luận văn
Ngoài phần mở đầu và kết luận, luận văn gồm có 3 chương:
CHƯƠNG I CƠ SỞ LÝ THUYẾT
Trong chương này tác giả đã nghiên cứutài liệu, hệ thống lại và trình bàycác vấn đề: các khái niệm cơ bản về phần tử, hệ thống cấu trúc, các chỉ số củaxác suất làm việc an toan của hệ thống Nêu lên các phương pháp tính độ tin cậycủa hệ thống và phương pháp đánh giá độ tin cậy của hệ thống cấu trúc
CHƯƠNG 2: NHỮNG PHƯƠNG PHÁP NÂNG CAO ĐỘ TIN CẬYCỦA HỆ THỐNG
Dựa trên các phương pháp tính độ tin cậy của hệ thống thì luận văn đãnghiên cứu đưa ra các phương pháp nâng cao độ tin cậy cho hệ thống cấu trúc:
Trang 12hệ thống cấu trúc các phần tử có tải, hệ thống cấu trúc các phần không tải, hệ thống cấu trúc dự phòng chủ động.
CHƯƠNG 3: XÂY DỰNG PHƯƠNG PHÁP NÂNG CAO ĐỘ TIN CẬY CHO HỆ THỐNG MÁY CHỦ DỰ PHÒNG
Từ những lý thuyết nghiên cứu và trình bày trong chương 1 và chương 2luận văn đã áp dụng thực nghiệm lý thuyết trên vào một mô hình máy tính phâncấp (Hierarchical Computing Systems) Dựa trên kết quả thực nghiệm đã chỉ rarằng hệ thống có sử dụng các phương pháp dự phòng mang lại hiệu quả kinh tếcho hệ thống và đồng thời cũng cho thấy hệ thống sử dụng phương pháp dựphòng tích cực có nhiều ưu điểm hơn sơ với phương pháp dự phòng truyềnthống
Trang 13CHƯƠNG 1: CƠ SỞ LÝ THUYẾT 1.1 Khái niệm cơ bản về độ tin cậy
1.1.1 Tổng quan về độ tin cậy
Trong lĩnh vực khoa học kỹ thuật khi đánh giá về định lượng của phần tửhoặcchức năng,thành phần trong hệ thống chúng ta thường sử dụngphươngpháp phân tích, tính toán dựa trên các yếu tố cơ bản là: tính làm việc antoàn và tính sửa chữa được và cho ra cácchỉsố, các chỉ số chính là độ tin cậy [3].Đối tượng nghiên cứu của khoa học về độ tin cậy [3] là các động cơ, thiết
bị, bộ phận máy, các thành phần hệ thống và các tổ hợp của chúng trong mốiquan hệ tương hỗ với nhau để nhằm hoàn thành một phức hợp nhiệm vụ nhấtđịnh-gọi chung đối tượng nghiên cứu này là phần tử
“Phần tửlà một đối tượng có độ tin cậy độc lập, một bộ phận tạo thành hệ thống mà trong quá trình nghiên cứu độ tin cậynó được xem như là một đơn vị không chia nhỏ hơn nữa trong hệ thống” [3].
Độ tin cậy của phần tử được cho trước hoặc xác định dựa trên các số liệuthống kê Việc nâng cao khả năng làm việc của các phần tử, các thành phầntrong hệ thống như khả năng chịu tải, chịu nhiệt, tốc độ, độ chính xác, hiệu suấtlàm việc, khả năng tự động hóa, tuổi thọ, độ an toàn,… dưới những điều kiệnnhất định trở thành vấn đề cấp thiết hiện nay.Quan niệm về hệ thống theo quanđiểm lĩnh vực khoa học kỹ thuật làm cơ sở cho việc tính toán độ tin cậy cho hệthống:
“Hệ thống là một tập hợp gồm nhiều phần tử tương tác, có các mối quan
hệ ràng buộc lẫn nhau, tương hỗ nhau và cùng thực hiện hướng tới một mục tiêu nhất định”[3].
Các bài toán về độ tin cậy và các chỉ tiêu về độ tin cậy của các đối tượng
cơ bản được đánh giá định lượng bằng số đo xác suất
1.1.2 Định nghĩavề độ tin cậy
Độ tin cậy của phần tử hoặc hệ thống là xác suất để trong suốt khoảng thời gian khảo sát t, phần tử đó hoặc hệ thống đó vận hành an toàn[3,4].
Giả sử gọi P(t) là độ tin cậy của phần tử, được định nghĩa như biểu thứcsau:
P(t) = P{τ ≥ t}
Trong đó:τ là thời gian liên tục vận hành an toàn của phần tử
Trang 14Theo công thức (1.1) phần tử chỉ vận hành an toàn với một xác suất nào đó(0 ≤ P ≤ 1) trong suốt khoảng thời gian t.
Khi bắt đầu vận hành nghĩa là ở thời điểm t = 0, phần tử bao giờ cũng hoạtđộng tốt nên P(0)= 1 Ngược lại thời gian càng kéo dài, khả năng vận hành antoàn của phần tử càng giảm đi và tới khi t→∞ thì theo quy luật phát triển của vậtchất dưới sự tác động bào mòn của thời gian, phần tử đó sẽ hỏng nên P(∞) = 0
Vì phần tử bị hư hỏng là một sự kiện ngẫu nhiên xảy ra ở các thời điểm khácnhau nên các chỉ tiêu độ tin cậy cũng thường tính dưới dạng xác suất
Theo định nghĩa xác suất [2] thì xác suất không an toàn Q(t) hay còn gọi làxác suất hỏng của hệ thống sẽ là:
mà mà người ta có thể coi phần tử [3] đó là phần tử phục hồi hay phần tử khôngphục hồi Một vệ tinh do thám không, khi còn để trong kho nếu bị hư hỏng ta cóthể sửa chữa được thì khi đó nó được coi là phần tử có phục hồi nhưng khi vệtinh do thám đó đã bay vào không gian thì nó sẽ được coi là sản phẩm khôngphục hồi
Những thông số cơ bản của phần tử không phục hồi là:
a. Thời gian vận hành an toàn τ.
Giả thiết ở thời điểm t = 0 phần tử bắt
đầu hoạt động và đến thời điểm t = τ thì
phần tử bị sự cố Khoảng thời gian τ được
gọi là thời gian liên tục vận hành an toàn
của phần tử Vì sự cố không xảy ra tất định
nên τ là một đại lượng ngẫu nhiên có các
giá trị trong khoảng 0 ≤ τ ≤ ∞
Giả thiết trong khoảng thời gian khảo sát t thì phần tử xảy ra sự cố với xácsuất Q(t) Khi đó: Q(t) = P{τ< t}
Trang 15Vì τ là đại lƣợng ngẫu nhiên liên tục nên:
- Q(t) đƣợc gọi là hàm phân phối của biến ngẫu nhiên liên tục τ
- f(t) là hàm mật độ phân phối xác suất của τ
Trên hình 1.1, biểu diễn hàm mật độ phân phối xác suất của thời gian trung bìnhvận hành an toàn
Mật độ xác suất hỏng [3] là hàm số đặc trƣng cho tốc độ giảm độ tin cậy,cũng chính là tốc độ tăng hƣ hỏng của phần tử Theo tính chất của hàm mật độphân phối xác suất của biếnngẫu nhiên liên tục ta có:
Trong đó thỏa mãn tính chất:
∞
0
Hàm mật độ phân phối xác suất của τ là:
Có f(t).∆t là xác suất để thời gian hoạt động τ nằm trong khoảng (t→ t+∆t) với ∆t đủ nhỏ
b. Độ tin cậy của phần tử P(t)
Xác suất làm việc không hỏng của phần tử [3,6] hay hàm mô tả độ tin cậy của phần tử đƣợc ký hiệu là P(t) và đƣợc tính theo định nghĩa:
P(t) = 1 – Q(t) = P{ τ ≥ t}
Xác suất không hỏng của phần tử phụ thuộc vào thời điểm t đang xét tức
là tuổi thọ của phần tử
Xác suất không hỏng của phần tử có các tính chất [3]:
1 0 ≤ ≤ 1 vì P(t) là số đo xác suất của sự kiện.
2. P(0) = 1: ở thời điểm ban đầu phần tử hoàn toàn tốt, không xảy ra hƣ hỏng
3 P ∞ = 0: sau thời gian làm việc dài thì việc hƣ hỏng chắc chắn xảy ra.
Trang 164 1 ≥ 2 ớ 2 > 1 hàm P(t) đơn điệu không tăng, với thời gian làm việc dài thì khả năng xuất hiện hư hỏng sẽ nhiều hơn.
Theo giả thiết τ ≥ t nên ta có P(t) là xác suất để phần tử vận hành an toàn trong khoảng thời gian t
Từ công thức tính xác suất an toàn của phần tử P(t) ta biểu diễn trên
trục toạn độ theo thời gian:
P(t) 1
Q(t) P(t) 1
P(t 0 )
Q(t 0
Quan sát đồ thị hình 1.3 biểu diễn hàm phân phối xác suất ta thấy rằng
Q(∞) = 1 và P(∞) = 0, chứng tỏ độ tin cậy của phần tử giảm dần theo thời gian
c. Cường độ hỏng hóc λ(t)
Cường độ hỏng λ(t)hay cường độ trở ngại [3] là đại lượng xác định bằng tỉ
số giữa phần tử hỏng xảy ra trong một đơn vị thời gian tại thời điểm khảo sát và
số phần tử còn làm việc tốt trong khoảng thời gian đó, λ(t) là một hàm theo thờigian
Xét bài toán: giả sử phần tử làm việc không hỏng tới thời điểm t, hãy tìm
xác suất không hỏng trong khoảng làm việc ∆t tiếp theo Ký hiệu P(t, t+∆t) là
Trang 17xác suất cần tìm Gọi sự kiện không hỏng trước thời điểm t là A, sự kiện khônghỏng trong khoảng ∆t tiếp theo là B, khi đó xác suất cần tìm là xác suất có điềukiện:
Trong các hệ thống hiện giờ thường sử dụng điều kiện đầu: λ(t) = λ = hằng
số (λ tương đối nhỏ), thực hiện được nhờ bảo quản định kỳ Khi đó cường độhỏng hóc là giá trị trung bình số lần sự cố xảy ra trong một đơn vị thời gian Dođó:
− λ t ; = 1 − − λ t ; = λ − λ t
Trang 18Theo công thức (1.9) có thể xác định
được cường độ hỏng khi cho trước mật độ
phân phối f(t).Dựa trên số liệu thống kê quan hệ
của cường độ hỏng hóc λ(t) theo thời gian thì
cường độ hỏng hóc λ(t) có dạng đường cong và
được chia làm ba giai đoạn [8, 10, 17]:
Giai đoạn 1: Mô tả thời kỳ “chạy thử”, do
những nguyên nhân công nghệ chế tạo, lắp ráp,
vận chuyển hỏng hóc xảy ra nhiều ngay sau khi
bước vào hoạt động Giá trị ở giai đoạn này thời
gian kéo dài ít, hư hỏng giảm dần cho đến cuối
thời kỳ chạy rà (chạy roda) và nhờ chế tạo,
nghiệm thu có chất lượng nên giá trị cường độ
hỏng hóc λ(t) ở giai đoạn này có thể giảm nhiều
Giai đoạn 2: Tình trạng làm việc của
phần tử sau thời gian chạy thử là tốt nhất Trong
một thời gian dài nếu bảo dưỡng đúng kỹ thuật,
cường độ hỏng sẽ ở mức thấp nhất và giữ không đổi Giai đoạn này được gọi làthời kỳ làm việc ổn định
Giai đoạn 3: Số lượng các phần tử hưhỏng tăng dần theo thời gian do
những nguyên nhân như sự ma sát, vật liệu bị lão hóa, phần tử bị ăn mòn, đâygọi là giai đoạn già cỗi của phần tử theo thời gian, cường độ hỏng hóc λ(t) tăngdần, đó là điều tất yếu xảy ra sự cố khi t →∞
d Thời gian hoạt động an toàn trung bình
Thời gian hoạt động an toàn trung bình [10, 12] TLV hay còn được gọi làthời gian trung bình đến lúc hư hỏng (MTTF: Mean Time To Failure) là thờigian mà phần tử đảm bảo hoạt động tốt
Thời gian hoạt động được định nghĩa là giá trị trung bình của thời gian vậnhành an toàn τ dựa trên số liệu thống kê τ của nhiều phần tử cùng loại, nghĩa là
TLVlà kỳ vọng toán hay còn gọi là giá trị trung bình của biến ngẫu nhiên τ vàđược xác định [20]:
∞
= = t f t dt
Hình 1.5: Biểu diễn cường độ hỏng
hóc
Trang 19hƣ hỏng, rồi lại trở lại hoạt động tiếp trong khoảng T2,… thời gian ngừngmáy τk; k =1, 2, đƣợc xác định bởi thời gian từ khi phát hiện phần tử hƣ hỏngphải ngừng hoạt động gồm thời gian chờ đợi sửa chữa và thời gian sửa chữa.Thời gian dừng hệ thống để khắc phục gọi là thời gian phục hồi.
a Sửa chữa sự cố lý tưởng, có thời gian phục hồi τ = 0
Trang 20Trong thực tế, các phần tử hỏng được thay thế rất nhanh bằng phần tử mới,phần tử được xem như luôn ở trong trạng thái tốt Đại lượng đặc trưng chohỏng hóc của loại phần tử này là: thông số của dòng hỏng hóc ω(t):
= lim
Δ →0
So với định nghĩa λ(t), ở đây không đòi hỏi điều kiện phần tử phải làm việctốt từ đầu cho đến t, mà chỉ cần thời điểm t nó đang làm việc, điều kiện này luônđúng vì phần tử luôn làm việc, khi hỏng nó được phục hồi tức thời
Tương tự như λ(t), đại lượng ω(t).∆t là xác suất để hỏng hóc xảy ratrongkhoảng (t, t + ∆t) Với luật phân bố mũ, thông sốdòng hỏng hóc ω(t) làhằng số và bằng cường độ hỏnghóc của phần tử: ω(t) = λ[1] nên cường độ hỏnghóc và thông số dòng hỏng hóc thường được hiểu là một
b Sửa chữa sự cố thực tế, có thời gian phục hồi τ
Nếu khởi đầu phần tử ở trạng thái làm việc,
thì sau thời gian làm việc TLV, phần tử phần tử
bị hỏng và chuyển sang trạng thái hỏng phải sửa
chữa Sau thời gian sửa chữa xong τ, phần tử trở lại
trạng thái làm việc
- Xác suất phần tử ở trạng thái làm việc ở thời
điểm t (ở mỗi thời điểm phần tử có thể ở một trong hai trạng thái: làm việc hoặc hỏng hóc) gọilà xác suất trạng thái làm việc PLV(t)
Trang 21= lim
Δ →0
Trang 22Theo lý thuyết xác suất, áp dụng cho cường độ chuyển trạng thái và thông
số dòng hỏng hóc biến đổi công thức ta được:
= =
c. Thời gian trung bình sửa chữa sự cố τs :
Đối với các phần tử phục hồi thuật ngữ MTBF (Mean Time BetweenFailure) được dùng thay thế cho MTTF (Mean Time To Failure) [10]
τs là kỳ vọng toán của τ1, τ2, τ3 … là thời gian trung bình sửa chữa sự cố MTTR (Mean Time To Repair)
-τ = =
Xét xác suất của τ s cũng tuân theo luật phân bố mũ, khi đó tương tự đối với xác suất hoạt động an toàn = −λ t của phần tử, có thể biểu thị xác suất ở trong khoảng thời gian t phần tử đang ở trạng thái hỏng hóc – nghĩa là chưa sửa xong.Xác suất phần tử ở trạng thái hỏng có giá trị là:
Trong đó:µ = 1/τs là cường độ phục hồi hỏng hóc (1/giờ)
Xác suất để sửa chữa kết thúc trong khoảng thời gian t, cũng chính là hàmphân bố xác suất của thời gian τs là:
Trang 23Hệ số sẵn sàng A [4, 6] là phần lượng thời gian hoạt động trên toàn bộ thời gian khảo sát của phần tử:
=
e. Hàm tin cậy của phần tử R(t)
Độ tin cậy [3] là xác suất mà thiết bị đảm bảo hoạt động không hư hỏng trong thời gian t Vậy R(t) là xác suất của giao hai sự kiện:
- Làm việc tốt tại t = 0
- Tin cậy trong khoảng 0 đến t
Giả thiết hai sự kiện này độc lập với nhau, ta có:
R(t) = A.P(t)Theo luật phân bố mũ:
= − λ t
Trong đó: = + là hệ số sẵn sàng.
(1.22)(1.23)
1.3 Phương pháp tính giá độ tin cậy của hệ thống qua cấu trúc hệ thống 1.3.1 Sơ đồ khối tin cậy của hệ thống
Khi nghiên cứu đánh giá về độ tin cậy của hệ thống thì cấu trúc cũng nhưphương thức hoạt động của hệ thống cần biết trước để có thể biết rằng hư hỏngcủa phần tử dẫn đến hư hỏng của hệ thống [3]
Cấu trúc của một hệ thống dù phức tạp đến đâu thì cũng chỉ quy về 2 dạng
là cấu trúc nối tiếp và cấu trúc song song[6].Phương pháp tính độ tin cậy của hệthống qua cấu trúc nối tiếp và song song hay còn được biết đến với tên gọi kháclà: phương pháp tính độ tin cậy của hệ thống không dự phòng và hệ thống có dựphòng[3]
Phương pháp đánh giá độ tin cậy của hệ thống qua cấu trúc là xây dựngmối quan hệ trực tiếp giữa độ tin cậy của hệ thống với độ tin cậy của các phần tử
đã biết Sơ đồ khối độ tin cậy (Reliability Block Diagrams - RBD) của hệ thốngđược xây dựng trên cơ sở phân tích ảnh hưởng của hỏng hóc phần tử đến hỏnghóc của hệ thống vì vậy sơ đồ độ tin cậy thường khác với sơ đồ vật lý
Sơ đồ khối độ tin cậy [21] có thể được xem xét một cách độc lập bởi cácthành phần của hệ thống có thể được ước tính độ tin cậy và khả năng sẵn sàng
Trang 24(hoặc không) Việc xây dựng sơ đồ khối độ tin cậy có thể khó khăn đối với hệ thống lớn và phức tạp.
Sơ đồ khối độ tin cậy bao gồm:
- Các nút: nút nguồn, nút tải và các nút trung gian
- Các nhánh: Được vẽ bằng các khối hình chữ nhật mô tả trạng thái tốt củaphần tử Phần tử bị hỏng tương ứng với việc xóa khối của phần tử đó ra khỏi sơđồ
Nhánh và nút tạo thành mạng lưới nối liền nút phát và nút tải của sơ đồ Cóthể có nhiều đường nối từ nút phát đến nút tải, mỗi đường gồm nhiều nhánh nốitiếp, vì vậy số đường đi từ nút phát đến nút tải là rất lớn đối với các hệ thốngphức tạp
Theo sơ đồ mô tả:
- Trạng thái tốt của hệ thống là trạng thái trong đó có ít nhất một đường cóthể đi từ nút phát đến nút tải
- Trạng thái hỏng của hệ thống khi nút phát bị tách rời với nút tải do hỏng hóc của phần tử trung gian
1.3.2Hệ thống các phần tử nối tiếp
Hệ thống các phần tử nối tiếp [3, 5] (hệ thống không dự phòng) là hệthống trong đó sự hỏng của toàn hệ thống xảy ra khi và chỉ khi một phần tử bịhỏng
Cấu trúc đơn giản nhất là cấu trúc không có dự phòng của một hệ thốngđược tạo nên bởi n phần tử, mỗi trở ngại của một phần tử riêng biệt đều dẫn đếntrở ngại của cả hệ thống [16]
Xét sơ đồ tin cậy của hệ thống gồm n phần tử nối tiếp như hình vẽ:
N
Hình 1.8: Sơ đồ của hệ các phần tử nối tiếp
Trong đó N là nút nguồn (nút phát) và T là nút tải, trở ngại của các phần tử
là độc lập với nhau Giả sử đã biết cường độ hỏng hóc của n phần tử lần lượt là
λ1, λ2, λ3 … λn và thời gian phục hồi trung bình τi của các phần tử Vì các phần
tử nối tiếp trong sơ đồ tin cậy nên hệ thống chỉ hoạt động an toàn khi tất cả nphần tử đều hoạt động tốt, giả thiết các phần tử độc lập nhau
Trang 25Xét độ tin cậy của hệ thống nói tiếp trong hai trường hợp: các phần tửkhông phục hồi và các phần tử phục hồi
a Hệ nối tiếp các phần tử không phục hồi
Hệ thống các phần tử không phục hồi (sửa chữa hoặc thay thế) nên sự hoạtđộng của hệ chỉ tới lần hỏng đầu tiên của phần tử [3, 6]
Pi(t) là xác suất không hỏng hay hàm tin cậy của phần tử thứ i, ở thời điểmxác định t và Ps(t) của hệ thống [3, 14, 17]
Như vậy, độ tin cậy của hệ nối tiếp không lớn hơn độ tin cậy của phần tửkém tin cậy nhất trong hệ thống
=1
Trang 26Từ công thức [1.29] cho ta thấy tuổi thọ của các phần tử có phân phối mũthì tuổi thọ của hệ cũng có phân phối mũ.
Thời gian hoạt động an toàn trung bình của hệ thống là:
=
b Hệ nối tiếp các phần tử phục hồi
Độ tin cậy của hệ thống [3] còn phụ thuộc vào việc các phần tử chưa hỏng
có làm việc hay không trong lúc tiến hành phục hồi các phần tử bị hỏng.Giả thiếtthời gian phục hồi là hữu hạn, nếu mỗi phần tử có phân phối thời gian làm việcđến khi hỏng khác nhau và phân phối thời gian phục hồi khác nhau thì thời gianlàm việc của hệ đến lần hỏng đầu tiên khác với thời gian làm việc giữa hai lầnhỏng
Giả thiết thời gian phục hồi (thời gian sửa chữa sự cố) của phần tử có phân
bố mũ, khi đó cường độ phục hồi µi = 1/τi, từ đây có thể xác định được thờigian phục hồi trung bình của hệ thống là:
=
Trong đó: µ = 1/τS và ta thấy TS>>τS
Khi t -> ∞ thì công thức tính hệ số sẵn sàng của hệ thống là:
=
Hàm tin cậy của hệ thống sẽ là:
Xác suất trạng thái hỏng của hệ thống:
1.3.3 Hệ thống các phần tử song song
Trong hệ thống các phần tử song song (hệ thống có dự phòng) [3, 17,18],
sự cố của một phần tử nào đó không nhất định là sẽ dẫn đến sự cố cho toàn hệthống, hệ thống sẽ gặp sự cố khi tất cả các phần tử gặp sự cố Hình 1.9 thể hiện
sơ đồ các phần tử song song đơn giản nhất
N
1 2
T
Trang 27n
Trang 28Xác suất sự cố Qs(t) của toàn hệ thống, hệ thống có sự cố khi toàn bộ nphần tử bị sự cố [15, 20]:
= 1 2 …=
Trong đó Qi(t) với i = 1 n là xác suất sự cố của phần tử thứ i trong khoảngthời gian t khảo sát
Giả thiết độ tin cậy tuân theo quy luật hàm số mũ:
Thì ta có xác suất sự cố của toàn hệ thống là[7]:
Độ tin cậy của hệ thống:
Từ công thức tính độ tin cậy của hệ thống (1.37) so sánh với công thức(1.26) ở trên ta thấy rõ ràng xác suất làm việc không có sự cố của hệ thống songsong luôn cao hơn xác suất làm việc không có sự cố của hệ thống nối tiếp
Thời gian hoạt động an toàn trung bình của hệ thống là:
1
1.4 Phương pháp đánh giá độ tin cậy của hệ thống qua cấu trúc hệ thống
Trên thực tế các hệ thống ngày càng phức tạp nên thực hiện việc tính toán
độ tin cậy cho các hệ thống bằng phương pháp thủ công tốn rất nhiều thời gian,công sức cũng như cho kết quả có độ chính xác không cao Vì thế, việc tạo racác phần mềm tính toán chỉ số độ tin cậy cho các hệ thống hỗ trợ con người làviệc hết sức quan trọng
Để xây dựng một phần mềm tính các chỉ số độ tin cậy của hệ thống có cấutrúc phức tạp thì trải qua rất nhiều giai đoạn và quy trình, tuy nhiên các giai đoạn
đó đều có những bước và phương pháp cơ bản để xây dựng
Trang 291.4.1 Phương pháp đồ thị giải tích
Sơ đồđộtincậy [20]của hệ thốngđược xây dựng trên cơ sở phântíchảnhhưởng của hư hỏng phần tử đến hư hỏng hệ thống.Sơ đồ độ tincậy bao gồm cácnút (nguồn, tải,trung gian) và các nhánh Nút và nhánh tạo thành mạng lưới nốinút nguồn và nút tải của sơ đồ Trạng thái hoạt động của hệ thống là trạng tháicóít nhất một đường nối từ nút nguồn đến nút tải Khi nút nguồn và nút tải bịtách rời do hỏng các phần tử thì hệ thống ở trạng thái hỏng
Để xây dựng quy trình giải được bài toán tính độ tin cậy [21] thì chúng taphải đi giải quyết bao gồm: bài toán tìm đường đi trong đồ thị hệ thống, bài toántối thiểu các toán tử logic và bài toán xác định trực giao hóa các toán tử logic.Tính toán độ tin cậy của hệ thống có cấu trúc phức tạp gồm nhiều giai đoạnnhưng đều có chung các bước cơ bản như sau:
Bước 1: Xây dựng sơ đồ cấu trúc logic: dùng các thuật toán chuyển đổi sơ
đồ các trúc logic thành sơ đồ khối nhằm thể hiện rõ từng bước thực hiện, cácthành phần cũng như các mối quan hệ giữa các thành phần trong hệ thống
Bước 2: Dùng các thuật tìm kiếm tất cả các đường đi thành công trong hệ
thống và đường đi thành công trong hệ thống là tất cả các đường đi không lặp
có thể nối đỉnh đầu và đỉnh cuối của hệ thống đang xét
Bước 3: Ghi lại tất cả các đường đi thành công trong hệ thống dưới dạng
các toán tử logic cơ bản và dùng các hằng đẳng thức Boole để tối thiểu hóa cáctoán tử logic đó
Bước 4: Sử dụng phương pháp trực giao hóa các phần tử logic theo công
thức Porestky để chuyển đổi mô hình logic sang đại số Sau đó tính toán xác suất
độ tin cậy của hệ thống, thời gian trung bình giữa các lần hỏng và các chỉ sốkhác của hệ thống
1.4.2 Bài toán tìm đường đi trong đồ thị hệ thống
1.4.2.1 Thuật toán chuyển đổi sơ đồ cấu trúc logic thành sơ đồ khối
Sơ đồ cấu trúc logic [20] là biểu diễn cấu trúc logic của hệ thống bằng sơ
đồ theo các quy ước về cách mã hoá và biểu diễn mối quan hệ giữa các thànhphần dưới dạng các ký hiệu
Xây dựng sơ đồ cấu trúc logic của hệ thống cho hình ảnh trực quan về cấutrúc hệthống và sẽ làđiều kiện tiên đề để có thể phân tích và đánh giá độ tin cậycủa hệ thống
a Các quy tắc biến đổi cấu trúc logic thành bảng chứa các giá trị tương đương:
Trang 30- Các phần tử của một cấu trúc logic (hay còn gọi là các đỉnh), các nút trung gian có một nút khởi đầu và kết thúc (đầu vào và đầu ra).
- Mỗi phần tử của cấu trúc logic được thay thế bởi một giá trị hợp lý Mỗi phần tử đại diện cho một đỉnh
1.4.2.2 Thuật toán chuyển đổi sơ đồ cấu trúc logic sang đồ thị liên kết:
Theo bài toán về lý thuyết đồ thị thì ta có các định nghĩa về phân loại cácđỉnh và các cạnh của đồ thị liên kết: định nghĩa về nút nguồn, nút đích, các cạnh,các cung, đường đi đầy đủ, đơn đồ thị,… Dựa trên lý thuyết đồ thị về các đỉnh
và cạnh đồ thị thì chúng ta xây dựng thuật toán chuyển đổi từ sơ đồ cấu trúclogic sang đồ thị liên kết[1] gồm các bước sau:
Bước 1:Nguồn của sơ đồ cấu trúc logic được thay thể bằng các đỉnh của đồ
thị, gọi là đỉnh gốc Các cung bắt đầu từ đỉnh nguồn của sơ đồ cấu trúc logicđược thay thế bằng các cung của đồ thị và xuất phát từ đỉnh gốc
Bước 2: Các nút đỉnh được thay thế bằng các đỉnh của sơ đồ cấu trúc logic Bước 3:Các cung trong sơ đồ cấu trúc logic được thể hiện bằng các cung
trong đồ thị với các đỉnh tương ứng
Bước 4:Tất cả các đỉnh khác (đỉnh khuyên - bắt đầu và kết thúc tại chính nó)
được thể hiện bằng các cung trong đồ thị
Bước 5:Các cung và các cạnh của đồ thị được thay thế bởi các cung của sơ
đồ cấu trúc logic
Đồ thị liên kết nói chung (có ít nhất một cạnh) là có hướng nếu các cặp (i,j)được sắp thứ tự và mỗi cặp (i,j) là một cung Đồ thị là vô hướng nếu các cặp(i,j) không sắp thứ tự và mỗi cặp (i,j) gọi là một cạnh
1.4.2.3Thuật toán tìm tất cả các đường đi trong ma trận liên kết:
a Trường hợp đồ thị cần biểu diễn là vô hướng [1]:
Trang 31Ý tưởng thuật toán: Đồ thị có thể được biểu diễn bằng ma trận kề vuông cấp n,
với n là số đỉnh của đồ thị Phần tử δij ở hàng i cột j (i,j=0,1,2, , n) được xácđịnh như sau:
- δij =1 nếu cặp đỉnh xi và xj có cạnh nối với nhau
- δij =0 nếu cặp đỉnh xi và xj không có cạnh nào nối với nhau
Ma trận của đồ thị vô hướng là ma trận đối xứng, tức là các phần tử đối xứngqua đường chéo chính sẽ tương ứng bằng nhau
b Trường hợp đồ thị cần biểu diễn là có hướng [1]:
Ý tưởng thuật toán: Đồ thị có thể được biểu diễn bằng ma trận kề vuông cấp n,
với n là số đỉnh của đồ thị Phần tử δij ở hàng i cột j (i,j=0,1,2, , n) được xácđịnh như sau:
- δij =1 nếu cặp đỉnh (xi, xj ) có cung
- δij =0 nếu cặp đỉnh (xi, xj ) không có cung nào
Ma trận của đồ thị có hướng không phải là ma trận đối xứng và ma trận biểu diễn đồ thị đơn là ma trận logic
c Thuật toán tìm tất cả các đường đi trong ma trậnkề:
Để tìm tất cả các đường đi trong ma trận kề dựa trên thao tác nhân ma trận liên kết một cột tương ứng của ma trận đó được thể hiện như sau:
Bk = A B*k- 1(*)
Trong đó: - Bk cột ma trận kết quả của phép nhân (*)
- B*k- 1 là kết quả của phép chuyển đổi B k- 1 ;Bài toán tìm tất cả các đường đi trong ma trận kề trở thành bài toán cho matrận A và ma trận cột B1 hãy tìm tất cả các đường đi có thể có từ nguồn (điểmphát) tới đích (điểm nhận)
- Bước 1: Kiểm tra ma trận cột B1 có chứa cung bắt đầu từ đỉnh nguồn haykhông Nếu cung tồn tại thì ghi nhận đường đi đó và thay thế cung đó bởigiá trị 0 Sự thay đổi này sẽ cho ta kết quả là B*1 ;
- Bước 2: Xét với k=2.
- Bước 3: Thực hiện phép tính (*) để tìm các giá trị Bk tương ứng
- Bước 4: Kiểm tra Bk bắt đầu từ nguồn, nếu đường đi tồn tại thì ghi nhớ vàthay thế cung đường đi đó bởi giá trị 0 Nếu đường đi xuất hiện trong Bk
là đường đi đầy đủ thì thay thế Bk =0 Sự thay đổi này cho ta kết quả là
B*k
Trang 32- Bước 5: Kiểm tra B*k Nếu B*k =0 thì thực hiện tiếp bước 7 Nếu B*k ≠0 thì thực hiện tiếp bước 6.
- Bước 6: Kiểm tra điều kiện k ≤ n-1 Nếu thoả mãn điều kiện k < n-1 thì
tăng k lên 1 và thực hiện tiếp bước 3 Nếu điều kiện k = n-1thì thực hiệntiếp bước 7
- Bước 7: Kiểm tra lại danh sách đường đi và kết quả nhận được là danh
sách các đường đi có thể có từ đỉnh đầu đến đỉnh cuối
d. Ví dụ mô tả:
Xét ví dụ sau: cho đồ thị có hướng và đồ thị vô hướng
Hình 1.10a : Đồ thị vô hướng
Đồ thị như hình 1.10a và 1.10b được chuyển thành dạng ma trận liên kếttương ứng là A1 và A2 trong đó các phần tử là 0 hoặc (i,j):
Trang 33Theo thuật toán thì ở bước 6 khi gặp điều kiện k = n -1 thì dừng lại và chuyểnsang bước 7 tức là liệt kê tất các đường đi đã tìm được Với bài toán này ta đãtính được các ma trận B1, B2, B3 và danh sách tất cả các đường đi từ đỉnh 1
Trang 34(đỉnh nguồn) đến đỉnh 4 (đỉnh đích)là: 14, 12*24, 13*34, 12*23*34, 13*32*24.
Hệ thống có cấu trúc phức tạp được mô tả thông qua đồ thị có tất cả các đường
đi thành công f(1,4): 1→ 4 v 1→2→4 v 1→3→4 v1→2→3→4 v 1→3→2→4
1.4.2.4Thuật toán tìm tất cả đường đi của ma trận liên kết theo lý thuyết đồ thị
Thuật toán tìm tất cả các đường đi trong ma trận kề chỉ thích hợpvới những
đồ thị có kích thước nhỏ Đối với các đồ thị có kích thước lớn thì việc thực hiệnbước 4 và 5 là rất khó khăn, việc tính toán dài và dễ nhầm lẫn vì các phần tử của
ma trận lúc này là các chuỗi dài Chính vì sự khó khăn đó nên ta sẽ xây dựngthuật toán tự động tìm kiếm tất cả các đường đi giữa 2 đỉnh đồ thị
Trong bài toán lý thuyết đồ thị [1] thì chúng ta biết đến bài toán tìm đường
đi ngắn nhất,bài toán đường đi tối thiểu giữa hai đỉnh của đồ thị, bài toán tìmđường đi qua tất cả các đỉnh của đồ thị nhưng bài toán ở đây là tìm tất cả danhsách các đường đi từ đỉnh đầu đến đỉnh cuối của đồ thị
a Ý tưởng thuật toán:Thuật toán sử dụng phương pháp tìm kiếm theo chiều sâu.
Tư tưởng của tìm kiếm theo chiều sâu là: Từ đỉnh nguồn (đỉnh đầu) của đồ thị
ta di chuyển đến một đỉnh khác (một đỉnh bất kỳ mà có thể đi từ đỉnh đầu) Từđỉnh này ta tiếp tục đi đến khác đỉnh khác Nếu không thể đi tiếp được nữa thìquay lại đỉnh trước đó và đi đến đỉnh khác Cứ như vậy cho đến khi đến đỉnhcuối của đồ thị
b Ví dụ mô tả:
Xét lại ví dụ trên, cho đồ thị vô hướng:
Áp dụng thuật toán tìm kiếm theo chiều sâu,
ma trận A1 sẽ được viết lại như sau:
0111 1011
1 = 1101 1110
Để tìm tất cả các đường dẫn từ đỉnh 1 (nguồn) đến đỉnh 4 (đích) theo thuậttoán 1.4.1.5, chúng ta có đường đi đầu tiên từ đỉnh 1→ 2, đỉnh 2 không phải làđỉnh đích nên chuyển tiếp sang đỉnh 3, theo đường: 1→2→3; đỉnh 3 không phải
là đỉnh đích nên đi tiếp sang đỉnh 4, đỉnh 4 là đỉnh đích nên ta có đường đi:
1→2→3→4 Ghi nhớ lại đường đi này và quay trở lại đỉnh 3, nhưng không có
đường đi nào từ đỉnh 3 đến đỉnh 4 ngoài con đường đã tìm được nên từ đỉnh 3quay lại đỉnh 2 hoặc đỉnh 1
Trang 35- Nếu quay lại đỉnh 2 thì từ đỉnh 2 ta có thể đi tiếp đến đỉnh 4, vậy ta có đường đi:1→2→4.
- Nếu quay lại đỉnh 1 thì ta có thể đi tiếp đến đỉnh 4, vậy ta có đường đi:1→3→4.
Tương tự như vậy ta cũng tìm được các đường đi: 1→ 3→ 2 → 4 và 1→ 4.
Hệ thống phức tạp được mô tả bằng phương pháp đồ thị, áp dụng thuật toán ở
- Thuật toán tìm tất cả các đường đi trong ma trận kề chỉ thích hợp vớinhững đồ thị có kích thước nhỏ, đối với các đồ thị có kích thước lớn thì việcthực hiện các là khó khăn hơn so với thuật toán tìm tất cả đường đi của ma trậnliên kết theo lý thuyết đồ thị
1.4.3 Bài toán tối thiểu phần tử logic
Các phương pháp cơbản để tối thiểu hoá các toán tử logic:
Việc tối thiểu hoá các toán tử logic thường dựa trên các hằng đẳng thứcBoole hay còn được gọi là các luật trong đại số Boole Một đại số Boole [1] làmột cấu trúc đại số gồm một tập hợp S chứa ít nhất là 2 phần tử, được ký hiệu là
0 và 1, cùng với hai phép toán 2 ngôi “+” (tuyển - ˅) và “.” (hội - ˄) và mộtphép toán 1 ngôi “¯” (phủ định) thỏa mãn các tính chất: kết hợp, giao hoán, lũyđẳng, luật phân phối, luật đồng nhất, luật bù kép, luật De Morgan,…
việctốithiểu hóa hàm Boole tức là tìm dạng biểu thức Boole đơn giản nhấtcủa hàm Boole đó Giới thiệu 3 phương pháp để tối thiểu hoá hàm Boole:
- Phương pháp biến đổi đại số;
- Phương pháp bảng Karnaugh;
- Phương pháp Quine – Mc.Cluskey
a Phương pháp biến đổi đại số
Trang 36Phương pháp biến đổi đại số [1] này dựa trên các luật, các hằng đẳng thứccủa đại số boole để tối thiểu hoá các các biến và các phép toán trên biểu thứcBoole.
Ví dụ: Tối ưu hoá hàm Boole: f(x,y) = ˄ ˅ ˄ ˅ ˄
f(x,y) = ˄ ˅ ˄ ˄ ˄ = ˅ ˄ ˅ ˄( ˄ ) = 1˄ ˅ ˄1 = ˅
Ở đây ta đã sử dụng luật tồn tại của phần tử bù để tối thiểu hàm f(x,y)
b. Phương pháp bảng Karnaugh
Phương pháp bảng Karnaugh [1] dựa trên việc tổ hợp các hội sơ cấp có thể
tổ hợp được để loại bỏ các hội sơ cấp của hàm Boole không cần thiết Phươngpháp này dựa trên một công trình trước đó của E.W Veitch và cho ta mộtphương pháp trực quan để rút gọn các khai triển tổng và tích Tuy nhiên,phương pháp dùng bảng Karnaugh cũng cần lưu ý:
- Phương pháp tối thiểu hoá hàm boole sử dụng bảng Karnaugh chỉ tổ hợpđược khi số các hội sơ cấp sẽ tổ hợp là 2k và đối xứng với nhau qua các trụccủa bảng Mục tiêu là cần nhận dạng các khối 2k ô biểu diễn các hội sơ cấp
có thể tổ hợp lại được mà trước hết là nhận dạng khối lớn nhất
- Nếu hàm cần tối thiểu hoá có n bit và số các hội sơ cấp có thể tổ hợp lại được là 2k thì sau khi tổ hợp sẽ có n-k biến thuộc tổ hợp
c. Phương pháp Quine – Mc.Cluskey
Phương pháp dùng bảng Karnaugh sẽ gặp khó khăn khi gặp số biến lớn vàviệc dùng bảng Karnaugh dựa trên việc rà soát trực quan để nhận dạng các sốhạng cần nhóm lại nên sẽ khó khăn khi triển khai một thủ tục rút gọn những khaitriển tổng các tích một cách có thể cơ khí hóa được
Phương pháp Quine-McCluskey[1] có thể khai triển một thủ tục như vậy, nó
có thể được dùng cho các hàm Boole có số biến bất kỳ Về cơ bản, phươngpháp Quine-McCluskey có hai phần:
- Phần đầu là tìm các số hạng là ứng viên để đưa vào khai triển cực tiểu như một tổng các tích Boole mà ta gọi là các nguyên nhân nguyên tố
- Phần thứ hai là xác định xem trong số các ứng viên đó, các số hạng nào là thực sự dùng được
1.4.4 Bài toán xác định trực giao hóa các toán tử logic
Bài toán trực giao hoáphần tử [20] là giai đoạn phức tạp nhất của quá trình tính toán độ tin cậy của hệ thống.Vị từ 1 ngôi (ký hiệu là f(x)) được gọi là trực
Trang 37giao nhau khi và chỉ khi kết quả của chúng bằng 0 Tuy nhiên nếu vị từ mà ta xétkhông phải là vị từ 1 ngôi mà là vị từ n ngôi (ký hiệu là f(x1, x2, , xn)) thìchúng được gọi là trực giao khi và chỉ khi các phần tử của chúng là trực giao vàcho kết quả bằng 0.Phương pháp trực giao chính là phương pháp biến đổi logicsao cho kết quả của các toán tử đều bằng 0
1.4.4.1 Các phương pháp giảm thiểu các hàm đại số logic đối với các hình thức
trực giao và trực giao không lặp.
a) Thuật toán cắt giảm
Thuật toán cắt giảm [20] dựa trên việc triển khai các hàm logic cho kết quả
là các hàm logic đã trực giao, trực giao không lặp và trường hợp đặc biệt đó làdạng chuẩn tắc tuyển trực giao Thuật toán bao gồm các bước như sau:
1. Xét hàm f(xn) và thống kê số lần xuất hiện của mỗi biến xi (i=1,2, … n) dưới dạng sau:
4. Áp dụng các luật củađại số logic làm tối thiểu, đơn giản hoá các hàm
fi(0)vàfi(1) Kết quả có thể nhận được sẽlà một trong các trường hợp sau:
a. Kết quả là hằng số: 0 hoặc 1
b. Một hàm được đưa về dạng chuẩn tắc tuyển trực giao
c. Không có biến nào bị lặp lại trong hàm logic
d. Nếu có biến bị lặp lại trong hàm logic thì được loại bỏ bớtđi chỉ
viếtmột lần
5. Nếu kết quả hàm đã có sự kết hợp của cả trường hợpa vàb thì việc chuyểnhàm logic thành trực giao này là hoàn tất Nếu kết quả là trường hợpc thì tiếp tục
áp dụng các luật biến đổi logic để hoàn tất việc trực giao hàm logic Nếu kết quả
là trường hợpd thì tiếp tục quay trở lại bước 1, thực hiện các phép biến đổi tiếptục fi(0) và fi(1)đểđưa về dạng trực giao kết quả nhận được không phải trườnghợp d Số lượng các thủ tụcchuyển đổi này sẽ dừng vì số lượng các biến là hữuhạn sẽ dừng vì số biến là hữu hạn và bằng n
Kết luận: quá trình thực hiện thuật toán cắt giảm đối với các hình thức trực
giao là thường là tốnthời gian, số lượng cácký tự biểu thị và chức năng của số
Trang 38lượng biến n nhanh chóng tăng lên Tuy nhiên, so với thuật toán tìm kiếm đầy
đủ thì phương pháp này đòi hỏi ít thời gian hơn và kết quả thu được từ việc ápdụng các định luật biến đổi logic sau khi đơn giản hóa các công thức thì thườngkhông bị thay đổi nữa
b) Thuật toán trực giao hoá theo công thức của Poretsky [21]:
Thuật toán trực giao hoá theo công thức của Poretsky gồm các bước sau:
1 Hàm logic được viết dưới dạng chuẩn tắc tuyển như sau:
4 Khai triển công thức ta được dạng trực giao không lặp của hàm ban đầu
Ta thấy rằng việc sử dụng thuật toán đưa hàm logic về dạng chuẩn tắc tuyển
đã trực giao này khá phức tạp trong việc triển khai các toán tử Số lượng cácbiến khi khai triển là khá dài Tuy nhiên đây chính là một cách để phát triểnchương trình trực giao hoá của hàm logic trên máy tính
Thuật toán trực giao hoá theo công thức Poretsky có thể được sử dụng dướihình thức sửa đổi một chút như sau:
1. Hàm logic được viết dưới dạng chuẩn tắc tuyển như sau:
c) Thuật toán cắtgiảmhàm đại số logic bằng cách đưa về dạng chuẩn tắc tuyển
Các hàm dạng chuẩn tắc tuyển hoàn toàn coi như một dạng chuẩn tắc tuyển
đã được trực giao hoá, vì vậy ta có thể sử dụng nó để cắt giảm các hàm logic.Thuật toán gồm các bước sau đây:
Trang 391. Hàm dưới dạng chuẩn tắc tuyển
2. Tìm các phép hội sơ cấp xuất hiện trong dạng chuẩn tắc tuyển
3. Tìm tất cả các tập hợp được bao phủ bởi mỗi phép hội sơ cấp
4. Khai triển tất cả các tập hợp, ta sẽ được hàm ban đầu trong dạng chuẩn tắc tuyển hoàn toàn
Từ dạng chuẩn tắc tuyển hoàn toàn có thể dễ dàng tính đượccác hàm xácsuất Tuy nhiên, nếu một hàm được viếtở dạng chuẩn tắc tuyển thì sẽ dài hơnkhi viếtở dạngđã được trực giao nhưng các thuật toán mô tả việc triển khai mộthàm logic về dạng chuẩn tắc tuyển hoàn toàn dễ dàng lập trình để giải quyết vấn
1. Các ký hiệu phép cộng và nhân logic được thay thế bởi dấu các phép cộng và phép nhân đại số
2. Các ký hiệu xi và được thay thế bằng các xác suất Pi và Qi tương ứngQuá trình chuyển đổi về hàm xác suất được thực hiện theo quy tắc sau:
1. Sử dụng công thức De Morgan đểđưa về dạng chuẩn tắc hội, không chứa phép cộng logic nào
2. Các ký hiệu phép cộng và nhân logic được thay thế bởi dấu các phép cộng và phép nhân đại số
3. Các ký hiệu xi và được thay thế bằng các xác suất Pi và Qi tương ứng
Trang 40- Độ tin cậy hay xác suất vận hành an toàn của hệ thống cấu trúc các phần
tử song song luôn cao hơn hệ thống cấu trúc các phần tử nối tiếp