Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 11 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
11
Dung lượng
174,51 KB
Nội dung
ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH ĐẠI HỌC CÔNG NGHỆ THÔNG TIN o0o Báo cáo chuyên đề BIỂU DIỄN TRI THỨC VÀ SUY LUẬN TÌM HIỂU VỀ SUY DIỄN LÙI VÀ ỨNG DỤNG XÂY DỰNG HỆ CHUYÊN GIA BẤT KỲ Giảng viên hướng dẫn: PGS. TS. Đỗ Văn Nhơn Học viên thực hiện: Hồ Mạnh Khương MSHV: CH1301018 Mục lục I. Giới thiệu Máy vi tính trong thời đại ngày nay đã trở thành công cụ đắc lực cho con người. Đưa tri thức vào máy tính, con người dần tạo nên những hệ thống thông minh hơn, hỗ trợ được nhiều công việc hơn mà không cần bàn tay con người trực tiếp tham gia. Xây dựng các hệ chuyên gia đơn giản đáp ứng các tiêu chí: dễ sử dụng, dễ cập nhật, dễ chỉnh sửa để hỗ trợ con người trong công việc trở thành yêu cầu gần như không thể thiếu trong tất cả lĩnh vực đời sống hiện nay. [1] Ứng dụng các công cụ đã có như máy học, các hệ ONT, các mô hình suy diễn, ta có thể xây dựng được những hệ chuyên gia đơn giản, ứng dụng các tri thức và hiểu biết của con người để hỗ trợ các mặt khác nhau của đời sống. [2] Trong nội dung bài báo cáo này sẽ nói rõ thêm về mô hình suy diễn tiến và suy diễn lùi, ứng dụng suy diễn lùi để xây dựng các hệ chuyên gia bất kỳ. II. Suy diễn tiến và suy diễn lùi: 1. Suy diễn tiến: Là quá trình suy diễn bắt đầu từ tập sự kiện đã biết, rút ra những sự kiện mới và cứ như vậy cho đến khi có được sự kiện cần chứng minh hoặc không có luật nào sinh ra các sự kiện mới (tập sự kiện đúng là cực đại) [2] . * Nhận xét: - Quá trình suy diễn tiến là quá trình xem xét các luật, với mỗi luật ta xét phần điều kiện (ở vế trái) tới phần kết luận (ở vế phải) và khi mà tất cả các điều kiện của luật đều thoã mãn thì ta suy ra sự kiện trong phần kết luận. Chính vì lẽ đó mà có tên là suy diễn tiến. [3] - Trong mỗi bước của thủ tục, người ta xét một luật trong tập luật. So sánh mỗi điều kiện (ở vế trái) của tập luật với các sự kiện trong cơ sở sự kiện, nếu tất cả các điều kiện của luật được thoã mãn thì sự kiện trong phần kết luận được xem là sự kiện được suy ra. Nếu sự kiện này là sự kiện mới (không có trong bộ nhớ làm việc) thì nó được đưa vào bộ nhớ làm việc. Quá trình trên cứ lặp lại cho đến khi nào không có luật nào sinh ra sự kiện mới. - Quá trình suy diễn tiến không định hướng tới giải quyết một vấn đề nào cả, không hướng tới tìm ra câu trả lời cho một câu hỏi nào cả. Suy diễn tiến chỉ là quá trình suy ra các sự kiện mới từ các sự kiện có trong bộ nhớ làm việc. 2. Suy diễn lùi Là quá trình xuất phát từ sự kiện cần chứng minh và thay vào đó là những sự kiện ở vế trái của 1 luật có vế phải là sự kiện cần chứng minh. Quá trình này được thực hiện cho đến khi đưa về các sự kiện là tập sự kiện con của tập sự kiện giả thiết. (nghĩa là: để đưa ra kết luận b, ta thử tìm tất cả các luật có dạng: a 1 ⋀ ⋀ a n ⟹ b, để có b, phải đưa ra các kết luận a 1 , ,a n . [2] Quá trình xác định ai cũng tương tự như đối với b, nếu đến một lúc nào đó phát hiện được rằng có một ai nào đó không dẫn xuất được từ các giả thiết thì quay lui sang các luật sản xuất khác sinh ra b có dạng b 1 ⋀ ⋀b m ⟹ b. Ngược lại, nếu mọi a i đều dẫn xuất được giả thiết thì quá trình dẫn xuất ra b là đúng). 3. So sánh suy diễn tiến và suy diễn lùi [3] 3.1 Suy diễn tiến Ưu điểm: - Làm việc tốt khi bài toán có bản chất là đi thu thập thông tin rồi thấy điều cần suy diễn. - Cho ra khối lượng lớn các thông tin từ một số thông tin ban đầu. Nó sinh ra nhiều thông tin mới. - Suy diễn tiến là tiếp cận lý tưởng đối với các loại bài toán cần giải quyết các nhiệm vụ như lập kế hoạch, điều hành, điều khiển và diễn dịch. Nhược điểm: - Không cảm nhận được rằng chỉ cần một vài thông tin quan trọng. hệ thống hỏi các câu hỏi có thể hỏi mà không biết rằng chỉ một ít câu đã đi đến kết luận được. - Hệ thống có thể hỏi cả câu hỏi không liên quan. Có thể các câu trả lời cũng quan trọng nhưng làm người dùng lúng túng khi phải trả lời các câu chẳng dính đến chủ đề. 3.2 Suy diễn lùi Ưu điểm: - Phù hợp với bài toán đưa ra giả thuyết và liệu giả thuyết đó có đúng hay không? - Tập trung vào đích đã cho. Nó tạo ra một loạt câu hỏi chỉ liên quan đến vấn đề đang xét, thuận tiện đối với người dùng. - Khi suy diễn một điều gì từ thông tin đã biết, nó chỉ tìm trên một phần của cơ sở tri thức thích đáng đối với bài toán đang xét. - Suy diễn lùi được đánh giá cao trong các bài toán như là chẩn đoán, dự đoán và tìm lỗi. Nhược điểm: - Nhược điểm cơ bản của loại suy diễn này là nó thường tiếp theo dòng suy diễn thay vì đúng ra phải dừng ở đó mà sang nhánh khác. - Như vậy, dựa vào các ưu và nhược điềm của từng loại suy diễn mà ta nên chọn kỹ thuật suy diễn nào để áp dụng vào bài toán. Trước tiên, ta xem xét các chuyên gia giải nó như thế nào? Nếu cần thu thập dữ liệu rồi mới quyết định suy diễn cái gì thì ta chọn suy diễn tiến. Còn nếu đã có giải thuyết và cần chứng minh cái đích này thì ta dùng suy diễn lùi. Ví dụ: Một bác sĩ có thể hiểu hàng trăm vấn đề có thể xảy ra với một cá nhân, nhưng vẫn phải tìm hiểu hiện trạng của bệnh nhân, lúc đó cần suy diễn tiến. Nguợc lại bác sĩ hầu như thấy được bệnh (ví dụ như viêm họng) thì ông ta dùng suy diễn lùi. III. Xây dựng hệ chuyên gia bất kỳ sử dụng suy diễn lùi Chương trình gồm có 2 thành phần: - Chương trình chạy (file exe). - Các dữ liệu tri thức (được bố trí trong các thư mục). Các dữ liệu tri thức được lưu trữ dưới dạng 2 file: - File rules.txt: gồm các luật suy diễn dưới dạng mệnh đề. - File data.xml: gồm các dữ liệu diễn giải cho các luật trong file rules.txt Khi chạy chương trình, người dùng sẽ nhập vào các dữ kiện (gọi là triệu chứng) và hệ thống sẽ tiếp tục đưa ra các câu hỏi trả lời dưới dạng Có/Không để thu thập thêm dữ kiện và đưa ra kết luận. 3.1 Cơ chế hoạt động: Thuật toán suy diễn lùi được áp dụng như sau: Input: Tập các node kết luận Ouput: Kết luận đúng hoặc rỗng (không giải quyết được) Dữ liệu đọc vào được phân thành 2 tập: tập vế trái và vế phải. - Tập vế trái lưu các luật giả thiết - Tập vế phải lưu các luật kết luận File rules.txt gồm các luật được biểu diễn dưới dạng: a ^ b ^ _c => d (nếu a và b và không c thì kết luận là d) File data.xml <?xml version="1.0" encoding="utf-8"?> <data> <item name="Ổ cứng"> <info id="a">phát tiếng kêu lạ</info> </item> <item name="Thùng máy"> <info id="c">mở không lên</info> </item> </data> 3.2Ứng dụng xây dựng hệ hỗ trợ chẩn đoán lỗi phần cứng máy tính: Tập dữ liệu data.xml name info id ! "! # $%& &' $%& ())!&' $%& ))*!+ ) $%& )),!-. / $%& 01 $%& &'!*&!2#32# $%& 452# $%& # 678 ! 678 52*& 678 542# 6949:9 ;<.0=>01 ? 6949:9 @;!A ! 6949:9 0B!*&!# 6949:9 5C 6949:9 52*& D,E 01 & D,E !AE&,E D,E 52# ) D,E 52F!A ) D,E 0B!*&!2# GHD &%!I4!J5! GHD 2))!<*&! GHD 2))!<*&!K,)& GHD 5 / GHD 52 L D! 5!,!M D! 5!6DNO D! 52*&& Tập luật rules.txt 1. a ^ _c ^ ab => aa Nếu ổ cứng phát tiếng kêu lạ và thùng máy mở lên và ổ cứng không nhận ra trong danh sách phần cứng của bios thì ổ cứng hỏng cơ 2. b ^ ab => ad Nếu ổ cứng không có tiếng quay và ổ cứng không nhận ra trong danh sách phần cứng của bios thì ổ cứng bị lỏng cáp nguồn 3. _b ^ ab => ac Nếu ổ cứng có tiếng quay và ổ cứng không nhận ra trong danh sách phần cứng của bios thì ổ cứng bị lỏng cáp kết nối 4. c ^ h => ba 5. i ^ c => cb 6. i ^ f => ca 7. _c ^ j ^ l => db 8. j ^ k ^ _l => da 9. m ^ n ^ n => ea 10._m ^ n ^ _c => eb 11.o ^ c => fa 12._o ^ _c ^ e ^ p => fb 13._o ^ q => gb 14.c ^ e ^ p => fb 15.c ^ e ^ q => gb 16.r ^ _c => ga 17.c ^ g ^ _h => bb 3.3 Ứng dụng xây dựng hệ hỗ trợ chẩn đoán một số bệnh cảm sốt thường gặp Tập dữ liệu data.xml name info id PA .&CM PA <& PA K!&&Q! PA K!&R PA "@; ) PA 0S!M!4!T& / PA " U!A0BV !W-XY0XZ0B[ U!A0BV W-XZ0X\0B[ U!A0BV ;WX\0B[ U!A0BV ECMW0B-X]^_0XY^_0B[ DQ! .CJ&Q!K,` ) DQ! .CJ&Q!K,03 / DQ! .CJ&Q!03K,0S!&,WK,3@[ 6SR 0,& ? 6SR "CJR;0 a ! a b!3.! & a .0K,;!c 6V S!0>%;"30!K,'!K,!!2 6V S!0>%;"30! 6V 0>&A&! 6V ECMK,A Tập luật rules.txt 1. a ^ e ^ o ^ _j ^ _k ^ _m ^ _n => aa Nếu nhiệt độ cơ thể hơi cao (từ 37 đến 38 độ) và mũi chảy nước mũi trong và loãng và cơ thể nổi ban đỏ, dùng tay ấn nốt ban lặn đi và trở lại sau vài giây và cổ họng không có đàm và cổ họng nuốt nước bọt không thấy đau và đầu không nhức nửa bên trái hoặc phải và đầu không nhức cả đầu rất nhiều thì Bệnh sốt xuất huyết 2. a ^ f ^ j ^ o => ab Nếu nhiệt độ cơ thể hơi cao (từ 37 đến 38 độ) và mũi chảy nước mũi trong và đặc và cổ họng có đàm thì bệnh cúm 3. f ^ b => af Nếu mũi chảy nước mũi trong và đặc và nhiệt độ cơ thể cao thì bệnh do thay đổi thời tiết/nhiễm lạnh 4. d ^ g ^ j ^ _k => ac 5. j ^ k ^ _l ^ _m ^ _n => ad 6. c ^ o ^ j ^ k => ae 7. c ^ o ^ l => ae 8. c ^ p ^ j ^ k => ag 9. c ^ p ^ l => ag 10.d ^ _e ^ _j ^ _k ^ _l => ah 11.q ^ a ^ k ^ _j => af 12.a ^ j ^ _o ^ _p => af IV. Chương trình demo Giao diện chương trình: Danh sách các hệ hỗ trợ được nhập vào từ file data.txt gồm tên thực mục chứ dữ liệu:tên của hệ hỗ trợ - Người dùng tùy chọn hệ hỗ trợ cần sử dụng - Người dùng chọn các triệu chứng để thêm vào bảng các triệu chứng - Phần mềm đặt ra các câu hỏi tương ứng để có thể dữ kiện suy luận nguyên nhân vấn đề. Sau khi đặt ra các câu hỏi và được người dùng trả lời, chương trình sẽ suy luận và đưa ra kết luận tương ứng. Nhận xét: Ưu điểm: [...]...- Chương trình có cách nhập liệu đơn giản, có thể dễ dàng chuyển giao cho những người có kiến thức tin học không chuyên sâu phụ trách (bác sĩ, giáo - viên phổ thông…) Suy luận khá chính xác với những vấn đề không phức tạp Tốc độ suy luận nhanh Có thể chuyển sang ứng dụng web để hỗ trợ đa nền - tảng Có thể thêm vào dữ liệu để tạo ra hệ hỗ trợ khác dễ dàng Khuyết điểm: - Chưa thực sự thông minh khi... phức tạp (như hoặc, các dấu ngoặc điều kiện) V Tài liệu tham khảo [1] GS.TSKH Hoàng Kiếm, PGST.TS Đỗ Phúc, PGS.TS Đỗ Văn Nhơn, Giáo trình Các Hệ Cơ Sở Tri Thức NXB Đại Học Quốc Gia TP.HCM, 2008 [2] PGS TS Đỗ Văn Nhơn, Bài giảng cao học “Biểu diễn tri thức và suy luận”, [3] Lưu hành nội bộ, 2013 Adrian A Hopgood, Intelligent Systems for Engineers and Scientists, Third Edition, 2011 . nói rõ thêm về mô hình suy diễn tiến và suy diễn lùi, ứng dụng suy diễn lùi để xây dựng các hệ chuyên gia bất kỳ. II. Suy diễn tiến và suy diễn lùi: 1. Suy diễn tiến: Là quá trình suy diễn bắt đầu. HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH ĐẠI HỌC CÔNG NGHỆ THÔNG TIN o0o Báo cáo chuyên đề BIỂU DIỄN TRI THỨC VÀ SUY LUẬN TÌM HIỂU VỀ SUY DIỄN LÙI VÀ ỨNG DỤNG XÂY DỰNG HỆ CHUYÊN GIA BẤT KỲ Giảng. vẫn phải tìm hiểu hiện trạng của bệnh nhân, lúc đó cần suy diễn tiến. Nguợc lại bác sĩ hầu như thấy được bệnh (ví dụ như viêm họng) thì ông ta dùng suy diễn lùi. III. Xây dựng hệ chuyên gia bất kỳ