Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 16 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
16
Dung lượng
580,5 KB
Nội dung
Trường Đại Học Điện Lực Khoa Công Nghệ Thông Tin LỜI CẢM ƠN Để thực báocáo ““Xây dựnghệchuyêngiachuẩnđoáncố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áocá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áocáo chúng em chưa thể hoàn thiện cách tốt mong bạn đóng góp ý kiến để báocá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áytínhcó 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áytí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âydự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êngiasử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ựnghệchuyêngiachuẩnđoáncốmáy tính” nhằm xâydựnghệ 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âydựnghệ chun gia hồn chỉnh xác lĩnh vực chuẩn đốn cố hỏng hóc máytính Chúng em mong nhận ý kiến đóng góp từ thầy cô bạn để chúng em xâydựnghệ 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ÊNGIA 1.1 Tên đề tài mục đích xâydựng đề tài Tên đề tài: “Xây dựnghệ chun giachuẩn đốn cốmáytính ” Mục đích xâydựng đề tài: xâydựnghệchuyêngia thu thập tri thức từ chuyêngia người môi trường windows nhằm giúp cho trình chuẩn đốn hỏng hóc, cốmáytính trở nên nhanh, thuận lợi hiệu Từ giúp người sửdụngcó 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âydựnghệchuyêngia mơi trường windows đưa chuẩnđoán nguyên nhân gây cố, hỏng hóc máytí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áytính mà hệchuyêngia đưa Để thực yêu cầu đó, hệ thống cần xâydựnghệ sở tri thức Trong đó: • Bộ sở tri thức bao gồm tập kiện tập luật cốmáytính thu thập từ chuyêngia người lĩnh vực phần cứng máytí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áytí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áytính gặp phải sau: 1) Một máytính khởi động máytí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áytính bị hỏng ổ đĩa máytính khơng khởi động có thơng báo đĩa 3) Một máytính bị hỏng RAM máytính khơng khởi động có tiếng bíp kéo dài 4) Một máytính bị hỏng phần in máytính hoạt động bình, xuất lời chào welcome khơng in 5) Một máytính bị lỗi hệ điều hành máytí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âydự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âydựng luật: - Luật 1: e1 → b1 Nếu máytính khởi động máy hoạt động bình thường - Luật 2: b1 ^ ~e3 ^ ~e5 → c1 Nếu máytí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áytí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áytí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áytí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âydự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âydự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ụngtình trạng máytí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áytí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ựnghệchuyêngiachuẩnđoáncốmáy tính”, nhóm hy vọng giúp đỡ người chuẩn đốn cốmáytính cách nhanh thông qua biểu cốmáytính Trong q trình xâydự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 ... 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. .. 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... 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ệ chuyên gia chuẩn đốn cố máy tính ” Mục đích xây dựng