BÁO CÁO "Xây dựng hệ chuyên gia chuẩn đoán sự cố máy tính”

16 181 4
BÁO CÁO "Xây dựng hệ chuyên gia chuẩn đoán sự cố máy tính”

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Trường Đại Học Điện Lực Khoa Công Nghệ Thông Tin LỜI CẢM ƠN Để thực báo cáo ““Xây dựng hệ chuyên gia chuẩn đoán cố máy tính” chúng em xin gửi lời cảm ơn chân thành đến giảng viên môn: cô Nguyễn Thị Thu Hà nhiệt tình dạy, hướng dẫn cung cấp cho chúng em đầy đủ tài liệu cần thiết Trong trình tìm hiểu làm báo cáo đề tài chúng em có thêm hội hiểu rõ đề tài Vì thời gian kiến thức hạn hẹp nên báo cáo chúng em chưa thể hoàn thiện cách tốt mong bạn đóng góp ý kiến để báo cáo chúng em hoàn thiện Một lần chúng em xin chân thành cảm ơn GV: TS.Nguyễn Thị Thu Hà Nhóm 10 – Lớp: D5LT_CNTT Trường Đại Học Điện Lực Khoa Công Nghệ Thông Tin MỤC LỤC LỜI CẢM ƠN MỤC LỤC GV: TS.Nguyễn Thị Thu Hà Nhóm 10 – Lớp: D5LT_CNTT Trường Đại Học Điện Lực Khoa Công Nghệ Thông Tin LỜI MỞ ĐẦU Những năm gần đây, ngành cơng nghiệp máy tính có bước phát triển mạnh mẽ Chúng ta quen thuộc với máy vi tính xuất khắp nơi, sử dụng để làm việc, học tập, giải trí, Do máy vi tính trở thành thiết bị điện tử thông dụng, sử dụng khắp nơi, trở thành thiết bị thiếu sống nhiều người Tuy nhiên, phủ nhận máy tính thiết bị phức tạp khó sử dụng Khi hỏng hóc xuất hiện, cho dù hỏng hóc nhỏ, làm người sử dụng bối rối Vì vậy, xuất hệ thống nhằm hướng dẫn người tự tay khắc phục lỗi thông dụng thực cần thiết Bên cạnh đó, ngày mà nhiều lĩnh vực sống ngày chuyên mơn hóa cách sâu sắc Cùng với việc ln muốn xây dựng chương trình, hệ thống hoạt động thay cho định người Do vậy, ngày thấy xuất nhiều hệ chuyên gia sử dụng ngày để thay người đưa định, dự đoán, tư vấn số lĩnh vực cụ thể y học, kỹ thuật,… Chính lý trên, với mong muốn áp dụng kiến thức học từ mơn Hệ chun gia, nhóm chúng tơi chọn đề tài “Xây dựng hệ chuyên gia chuẩn đoán cố máy tính” nhằm xây dựng hệ thống giúp xác định nhanh chóng xác số cố mà máy vi tính thường gặp phải Do kiến thức nhiều hạn chế q trình tìm hiểu nhiều thiếu sót nên chúng em chưa thể xây dựng hệ chun gia hồn chỉnh xác lĩnh vực chuẩn đốn cố hỏng hóc máy tính Chúng em mong nhận ý kiến đóng góp từ thầy cô bạn để chúng em xây dựng hệ thống hồn chỉnh Chúng em xin chân thành cảm ơn! GV: TS.Nguyễn Thị Thu Hà Nhóm 10 – Lớp: D5LT_CNTT Trường Đại Học Điện Lực Khoa Công Nghệ Thông Tin CHƯƠNG 1: GIỚI THIỆU ĐỀ TÀI VÀ THU THẬP TRI THỨC CHUYÊN GIA 1.1 Tên đề tài mục đích xây dựng đề tài Tên đề tài: “Xây dựng hệ chun gia chuẩn đốn cố máy tính ” Mục đích xây dựng đề tài: xây dựng hệ chuyên gia thu thập tri thức từ chuyên gia người môi trường windows nhằm giúp cho trình chuẩn đốn hỏng hóc, cố máy tính trở nên nhanh, thuận lợi hiệu Từ giúp người sử dụng có biện pháp khắc phục sửa chữa kịp thời hiệu 1.2 Phát biểu toán Yêu cầu toán phải xây dựng hệ chuyên gia mơi trường windows đưa chuẩn đoán nguyên nhân gây cố, hỏng hóc máy tính dựa thơng tin mà người sử dụng đưa vào Các thông tin mà người sử dụng đưa vào câu trả lời “Đúng” “Sai” cho câu hỏi tình trạng máy tính mà hệ chuyên gia đưa Để thực yêu cầu đó, hệ thống cần xây dựng hệ sở tri thức Trong đó: • Bộ sở tri thức bao gồm tập kiện tập luật cố máy tính thu thập từ chuyên gia người lĩnh vực phần cứng máy tính • Bộ động suy diễn cài đặt để tìm kiếm kiện luật liên quan đến yêu cầu người sử dụng để từ đưa kết luận nguyên nhân cố Với toán này, động suy diễn cài đặt theo chế suy diễn lùi Sau trình thu thập tri thức, hệ thống tạm thời đưa kiện sau: 1) Máy tính khởi động 2) Có tiếng bíp kéo dài 3) Có thông báo đĩa 4) Xuất lời chào Welcome 5) In 6) Hoạt động bình thường 7) Hỏng RAM 8) Hỏng ổ đĩa 9) Hỏng phần in 10) Lỗi hệ điều hành Hệ thống bao gồm phát biểu cố máy tính gặp phải sau: 1) Một máy tính khởi động máy tính hoạt động bình thường GV: TS.Nguyễn Thị Thu Hà Nhóm 10 – Lớp: D5LT_CNTT Trường Đại Học Điện Lực Khoa Công Nghệ Thông Tin 2) Một máy tính bị hỏng ổ đĩa máy tính khơng khởi động có thơng báo đĩa 3) Một máy tính bị hỏng RAM máy tính khơng khởi động có tiếng bíp kéo dài 4) Một máy tính bị hỏng phần in máy tính hoạt động bình, xuất lời chào welcome khơng in 5) Một máy tính bị lỗi hệ điều hành máy tính hoạt động bình thường, khởi động khơng có thơng báo đĩa khơng xuất hình chào welcome GV: TS.Nguyễn Thị Thu Hà Nhóm 10 – Lớp: D5LT_CNTT Trường Đại Học Điện Lực Khoa Công Nghệ Thông Tin CHƯƠNG 2: PHÂN TÍCH VÀ THIẾT KẾ 2.1 Biểu diễn tri thức Xây dựng kiện: STT 10 Vị từ e1 e2 e3 e4 e5 b1 c1 c2 c3 c4 Giải Thích Khởi động In Xuất lời chào welcome Có tiếng bíp kéo dài Có thơng báo đĩa Hoạt động bình thường Lỗi hệ điều hành Hỏng RAM Hỏng ổ đĩa Hỏng phần in Xây dựng luật: - Luật 1: e1 → b1 Nếu máy tính khởi động máy hoạt động bình thường - Luật 2: b1 ^ ~e3 ^ ~e5 → c1 Nếu máy tính hoạt động bình thường khơng xuất hình chào welcome khơng có thơng báo đĩa máy bị lỗi hệ điều hành - Luật 3: ~e1 ^ e4 → c2 Nếu máy tính khơng khởi động có tiếng bíp kéo dài máy bị hỏng RAM - Luật 4: ~e1 ^ e5 → c3 Nếu máy tính khơng khởi động có thơng báo đĩa máy bị hỏng ổ đĩa - Luật 5: b1 ^ e3 ^ ~e2 → c4 Nếu máy tính hoạt động bình thường xuất hình chào welcome khơng in máy bị hỏng phần in - Dựa vào sở tri thức biểu diễn ta có tập kiện: GIATHIET = {e1, e2, e3, e4, e5} TRUNGGIAN = {b1} KETLUAN = {c1, c2, c3, c4} 2.2 Thiết kế chương trình Chương trình sử dụng ngơn ngữ lập trình C# để cài đặt toán theo chế suy diễn lùi Từ yêu cầu toán, ta xây dựng lớp tương ứng với đối tượng kiện (SuKien.cs) luật (Luat.cs) Bên cạnh ta xây dựng thêm lớp (Vet.cs) để lưu trữ thông tin luật kiện cần sử dụng để đưa chuẩn đốn Trong đó: GV: TS.Nguyễn Thị Thu Hà Nhóm 10 – Lớp: D5LT_CNTT Trường Đại Học Điện Lực Khoa Công Nghệ Thông Tin - Mỗi kiện biểu diễn thuộc tính: tên kiện, mô tả, giá trị (trả kiện đúng, trả sai trả -1 chưa biết hay sai) - Mỗi luật biểu diễn thuộc tính: tên luật, giả thiết, kết luận - Mỗi vết chứa kiện luật Dữ liệu kiện luật, lưu lại file “SuKien.txt” “Luat.txt” ∗ Cài đặt thuật toán suy diễn lùi − Hàm TimLuat(f,i): trả vết có chưa f làm kết luận private Vet TimLuat(SuKien f, int level) { try { string dich = f.Ten; Vet vet = new Vet(); for (int i = level; i < dsluat.Count; i++) { Luat luat = dsluat[i]; string str = luat.KetLuan; if (dich.Equals(str)) { vet.SuKien = f; vet.Luat = luat; return vet; } } } catch (Exception ex) { BatLoi(ex.Message); } return null; } − Hàm LayGiaTri(sukien): trả giá trị kiện đưa để hỏi người sử dụng tình trạng máy tính private int LayGiaTri(SuKien nut) { try { lock (objLock) { UpdateTextBoxDeletegate a = new UpdateTextBoxDeletegate(HienThiCauHoi); txtCauhoi.Invoke(a, nut.MoTa); txtCauhoi.Text = nut.MoTa; Monitor.Pulse(objLock); GV: TS.Nguyễn Thị Thu Hà Nhóm 10 – Lớp: D5LT_CNTT Trường Đại Học Điện Lực Khoa Công Nghệ Thông Tin Monitor.Wait(objLock); } if (radDung.Checked) { return 1; } else { return 0; } } catch (Exception ex) { BatLoi(ex.Message); } return 0; } − Hàm TinhGiaTriKL() private int TinhGiaTriKL(Vet vet) { try { string vetrai = vet.Luat.GiaThiet; for (int i = 0; i < dssukien.Count; i++) { vetrai = vetrai.Replace(dssukien[i].Ten, dssukien[i].GiaTri.ToString()); } StringBuilder sb = new StringBuilder(vetrai); //Phép phủ định ~ for (int i = 0; i < sb.Length - 1; i++) { if (sb[i].Equals('~') && sb[i + 1].Equals('0')) { sb[i + 1] = '1'; } else if (sb[i].Equals('~') && sb[i + 1].Equals('1')) { sb[i + 1] = '0'; } } sb = sb.Replace("~", ""); while (sb.Length != 1) { if (sb[1].Equals('^')) //Phép ^ GV: TS.Nguyễn Thị Thu Hà Nhóm 10 – Lớp: D5LT_CNTT Trường Đại Học Điện Lực Khoa Công Nghệ Thông Tin { if (sb[0].Equals('1') && sb[2].Equals('1')) { sb.Replace("1^1", "1"); } else { sb.Replace(sb[0].ToString() + sb[1].ToString() + sb[2].ToString(), "0"); } } else//Phép | { if (sb[0].Equals('0') && sb[2].Equals('0')) { sb.Replace("0|0", "0"); } else { sb.Replace(sb[0].ToString() + sb[1].ToString() + sb[2].ToString(), "1"); } } } return Int32.Parse(sb.ToString()); } catch (Exception ex) { BatLoi(ex.Message); } return 0; } − Hàm XuLyLuat() private void XuLyLuat(Vet vet) { try { Luat luat = vet.Luat; string vetrai = luat.GiaThiet; string[] gt = vetrai.Split('^', '|', '~'); for (int i = 0; i < gt.Length; i++) { for (int j = 0; j < dssukien.Count; j++) { if (dssukien[j].Ten.Equals(gt[i])) { GV: TS.Nguyễn Thị Thu Hà Nhóm 10 – Lớp: D5LT_CNTT Trường Đại Học Điện Lực Khoa Công Nghệ Thông Tin if (dssukien[j].GiaTri == -1) { dsnuttrunggian.Add(dssukien[j]); } } } } for (int i = 0; i < dsnuttrunggian.Count; i++) { SuKien nut = dsnuttrunggian[i]; if (nut.Ten[0].Equals('e')) { if (nut.GiaTri == -1) { int gtri = LayGiaTri(nut); nut.GiaTri = gtri; } } else { XuLyNut(nut, 0); } } vet.SuKien.GiaTri = TinhGiaTriKL(vet); } catch (Exception ex) { BatLoi(ex.Message); } } − Hàm XuLyNut() private void XuLyNut(SuKien nut, int level) { try { Vet vet = TimLuat(nut, level); if (vet == null) { return; } this.first++; bool kt = false; for (int i = 0; i < ds_vet.Count; i++) { if (ds_vet[i].SuKien.Ten.Equals(vet.SuKien.Ten)) { GV: TS.Nguyễn Thị Thu Hà 10 Nhóm 10 – Lớp: D5LT_CNTT Trường Đại Học Điện Lực Khoa Công Nghệ Thông Tin kt = true; } } if (kt == false) { ds_vet.Add(vet); } dsnuttrunggian.Remove(vet.SuKien); XuLyLuat(vet); } catch (Exception ex) { BatLoi(ex.Message); } } − Hàm XuLy( ): duyệt thực suy diễn lùi với kiện tập KETLUAN private void Xuly() { try { for (int i = dsketluan.Count - 1; i >= 0; i ) { nutcha = dsketluan[i]; for (int j = 0; j < dsluat.Count; j++) { dsnuttrunggian.Add(dsketluan[i]); XuLyNut(dsketluan[i], j); if (dsketluan[i].GiaTri == 1) { string str = "Theo tơi, máy tính bạn " + dsketluan[i].MoTa.ToLower(); frmKetQua frm = new frmKetQua(str); frm.ShowDialog(); ktra = true; break; } } if (ktra) { break; } } if (ktra == false) { string str = "Không khớp luật sở tri thức!"; GV: TS.Nguyễn Thị Thu Hà 11 Nhóm 10 – Lớp: D5LT_CNTT Trường Đại Học Điện Lực Khoa Công Nghệ Thông Tin frmKetQua frm = new frmKetQua(str); frm.ShowDialog(); } KhoiTao(); } catch (Exception ex) { BatLoi(ex.Message); } } GV: TS.Nguyễn Thị Thu Hà 12 Nhóm 10 – Lớp: D5LT_CNTT Trường Đại Học Điện Lực Khoa Công Nghệ Thông Tin 2.3 Giao diện chương trình 2.3.1 Giao diện 2.3.2 Giao diện cập nhật sở tri thức GV: TS.Nguyễn Thị Thu Hà 13 Nhóm 10 – Lớp: D5LT_CNTT Trường Đại Học Điện Lực Khoa Cơng Nghệ Thơng Tin 2.3.3 Giao diện chuẩn đốn cố 2.3.4 Giao diện kết giải thích GV: TS.Nguyễn Thị Thu Hà 14 Nhóm 10 – Lớp: D5LT_CNTT Trường Đại Học Điện Lực Khoa Công Nghệ Thông Tin 2.3.5 Giao diện giới thiệu GV: TS.Nguyễn Thị Thu Hà 15 Nhóm 10 – Lớp: D5LT_CNTT Trường Đại Học Điện Lực Khoa Công Nghệ Thông Tin KẾT LUẬN Qua đề tài “Xây dựng hệ chuyên gia chuẩn đoán cố máy tính”, nhóm hy vọng giúp đỡ người chuẩn đốn cố máy tính cách nhanh thông qua biểu cố máy tính Trong q trình xây dựng chương trình nhóm em cố gắng nỗ lực chương trình tốt Tuy nhiên, thời gian kiến thức có hạn nên chúng em chưa tốt, mong thầy, cô bạn đóng góp ý kiến để chúng em hoàn thiện Chúng em xin chân thành gửi lời cảm ơn đến cô Nguyễn Thị Thu Hà bảo chúng em tận tình để chúng em thực GV: TS.Nguyễn Thị Thu Hà 16 Nhóm 10 – Lớp: D5LT_CNTT

Ngày đăng: 05/03/2019, 11:23

Từ khóa liên quan

Mục lục

  • LỜI CẢM ƠN

  • MỤC LỤC

Tài liệu cùng người dùng

Tài liệu liên quan