Mục lục LỜI MỞ ĐẦU 3 Chương 1 Tổng Quan Hệ Chuyên Gia 4 1 1 Hệ chuyên gia là gì ? 4 1 2 Cấu trúc và đặc trưng của hệ chuyên gia 6 1 3 Ứng dụng hệ chuyên gia 11 Chương 2 Phân Tích Bài Toán Kỹ Thuật Suy.
TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI KHOA CÔNG NGHỆ THÔNG TIN -o0o - Bài Tập Lớn MÔN: HỆ CHUYÊN GIA ĐỀ TÀI : NHẬN DẠNG ĐỘNG VẬT DỰA TRÊN SUY DIỄN TIẾN Giảng viên hướng dẫn: ThS Trần Hùng Cường Mục lục KẾT LUẬN ………………………………………………………………………24 TÀI LIỆU THAM KHẢO…………………………………………………………25 PHÂN CƠNG CƠNG VIỆC STT Nội dung cơng việc Người thực Tìm hiểu đề xuất đề tài môn học Nguyễn Lê Thùy Trang Đinh Thị Trang Tìm hiểu tiêu chí để nhận dạng loài động vật Nguyễn Lê Thùy Trang Tổng hợp nội dung chương Nguyễn Lê Thùy Trang Tổng hợp nội dung chương Đinh Thị Trang Thu thập tri thức Cả nhóm Biểu diễn tri thức dạng luật sản xuất Cả nhóm Thiết kế giao diện Lê Khắc Khỏe Cài đặt chương trình sử dụng suy diễn tiến Cả nhóm Đinh Thị Trang LỜI MỞ ĐẦU Ngày khơng phủ nhận vai trị quan trọng máy tính nghiên cứu khoa học kỹ thuật đời sống Máy tính làm điều kỳ diệu giải vấn đề tưởng chừng nan giải Càng ngày có nhiều người tự hỏi, liệu máy tính có khả suy nghĩ người hay chưa, không trả lời câu hỏi Thay vào đó, nêu khác biệt chủ yếu cách làm việc máy tính óc người Một máy tính dù có mạnh đến đâu nữa, phải làm việc theo chương trình xác hoạch định sẵn chun gia Bài tốn phức tạp việc lập trình cơng phu Trong người làm việc cách học hỏi rèn luyện, làm việc người có khả liên tưởng, kết nối việc với việc khác quan trọng hết họ sáng tạo Do khả liên tưởng, người dễ dàng làm nhiều điều mà việc lập trình máy tính địi hỏi nhiều cơng sức Chẳng hạn việc chuẩn đốn bệnh Một chun gia phấn đốn bênh nhân mắc bệnh Một người bình thường đốn nhận bệnh bệnh thơng qua học hỏi Nhưng thật khó dạy cho máy tính làm việc Từ lâu nhà khoa học nhận thấy ưu điểm óc người tìm cách bắt chước để thực máy tính, tạo cho có khả nhận biết, chuẩn đoán chuyên gia Các phương pháp suy diễn đời từ nỗ lực Nó thực ý nhanh chóng trở thành hướng nghiên cứu đầy triển vọng mục đích xây dựng máy thơng minh tiến gần tới trí tuệ người Đặc biệt lĩnh vực chuẩn đốn, hệ chun gia Qua q trình tìm hiểu chúng em chọn đề tài “Chuẩn đốn lồi vật” việc máy tính phán đốn tư giống người với mức độ xác Tuy nhiên trình độ kiến thức chúng em cịn hạn chế nên chương trình khơng tránh khỏi thiếu sót, chúng em mong nhận góp ý bạn để đề tài chúng em hoàn thiện Chúng em xin chân thành cảm ơn! Chương 1: Tổng Quan Hệ Chuyên Gia 1.1 Hệ chuyên gia ? Theo E.Feigenbaum: Hệ chun gia(Expert System)là chương trình máy tính thông minh sử dụng tri thức (Knowledge) thủ tục suy luận (inference procedures) để giải toán tương đối khó khăn địi hỏi chun gia giải Chuyên gia hệ thống tin học mơ (emulates) lực đốn (decision) hành động (making abilily) chuyên gia(con người) Hệ chuyên gia lĩnh vực ứng dụng trí tuệ nhân tạo (Artificial Intelligence) hình Hình 1.1 Một số lĩnh vực ứng dụng trí tuệ nhân tạo Hệ chuyên gia sử dụng tri thức chuyên gia để giải vấn đề(bài toán) khác thuộc lĩnh vực Tri thức (knowledge) hệ chuyên gia phản ánh tinh thơng tích tụ từ sách vở, tạp chí, từ chuyên gia hay nhà bác học Các thuật ngữ hệ chuyên gia, hệ thống dựa tri thức (knowledge-based system) hay hệ chuyên gia dựa tri thức (knowledge-based expert system) thường có nghĩa Một hệ chuyên gia bao gồm ba thành phần sở tri thức (knowledge based), máy suy diễn hay mô tơ suy diễn (inference engine), hệ thống giao tiếp với người sử dụng (user interface) Cơ sở tri thức chứa tri thức để từ đó, máy suy diễn tạo câu trả lời cho người sử dụng thông qua hệ thống giao tiếp Người sử dung (user) cung cấp kiện (facts) biết, có thật hay thơng tin có ích cho hệ chuyên gia nhận câu trả lời lời khuyên hay gợi ý đắn (expertise) Hoạt động hệ chuyên gia dựa tri thức minh họa sau: Hình 1.2 Hoạt động hệ chuyên gia Mỗi hệ chuyên gia đặc trưng cho lĩnh vực vấn đề (problem domain) y học, tài chính, khoa học hay công nghệ, vv… mà cho lĩnh vực vấn đề Tri thức chuyên gia để giải vấn đề đặc trưng gọi lĩnh vực tri thức (knowledge domain) Hình 1.3 Quan hệ lĩnh vực vấn đề lĩnh vực tri thức Ví dụ: Hệ chuyên gia lĩnh vực y học để phát bệnh lây nhiễm có nhiều tri thức số triệu chứng lây bệnh, lĩnh vực tri thức y học bao gồm bệnh, triệu chứng chữa trị Chú ý lĩnh vực tri thức hoàn toàn nằm lĩnh vực vấn đề Phần bên lĩnh vực tri thức nói lên khơng phải tri thức cho vấn đề Tùy theo yêu cầu người sử dụng mà có nhiều cách nhìn nhận khác hệ chuyên gia Loại người sử dụng Vấn đề đặt Người quản trị Tơi dùng để làm gì? Kỹ thuật viên Làm cách để tơi vận hành tốt Nhà nghiên cứu Làm để tơi mở rơng nó? Người sử dụng Nó giúp tơi gì? Nó có rắc rối tốn khơng? Nó có đáng tin cậy không? 1.2 Cấu trúc đặc trưng hệ chuyên gia: - Cấu trúc hệ chuyên gia: Một hệ chuyên gia kiểu mẫu bao gồm bảy thành phần sau: Hình 1.4 Những thành phần hệ chuyên gia • Cơ sở tri thức (knowledge base ): Gồm phần tử hay đơn vị tri thức, thông thường gọi luật (rule), tổ chức sở liệu • Máy suy diễn (inference engine): Cơng cụ (chương trình hay xử lý) tạo suy luận cách định xem luật làm thỏa mãn kiện, đối tượng, chọn ưu tiên luật thỏa mãn, thực luật có tính ưu tiên cao • Lịch cơng việc (agenda): Danh sách luật ưu tiên máy suy diễn tạo thỏa mãn kiện, đối tượng có mặt nhớ làm việc • Bộ nhớ làm việc (working memory): Cơ sở liệu toàn cục kiện phục vụ cho luật • Khả giải thích (explanation facility ): Giải nghĩa cách lập luận hệ thống cho người sử dụng • Khả thu nhận tri thức (explanation facility): Cho phép người sử dụng bổ sung tri thức vào hệ thống cách tự động thay tiếp nhận tri thức cách mã hóa tri thức cách tường minh Khả thu nhận tri thức yếu tố nhiều hệ chuyên gia • Giao diện người sử dụng (user interface ): Là nơi mà người sử dụng hệ chuyên gia trao đổi với Cơ sở tri thức gọi nhớ sản xuất (production memeory ) hệ chuyên gia Trong sở tri thức, người ta thường phân biệt hai loại tri thức tri thức phân đoán (assertion knowledge) tri thức thực hành (operating knowledge) Các tri thức phán đốn mơ tả tình thiết lập thiết lập Các tri thức thực hành thể hậu rút hay thao tác cần phải hồn thiện tình thiết lập thiết lập lĩnh vực xét Các tri thức thực hành thường thể biểu thức dễ hiểu dễ triển khai thao tác người sử dụng Hình 1.5 Quan hệ máy suy diễn sở tri thức Từ việc phân biệt hai loại tri thức, người ta nói máy suy diễn cơng cụ triển khai chế (hay kỹ thuật) tổng quát để tổ hợp tri thức phán đoán tri thức thực hành Hình mơ tả quan hệ máy suy diễn sở tri thức -Có nhiều mơ hình kiến trúc hệ chun gia theo tác giả khác Sau số mơ hình + Mơ hình J.L.Ermine: Hình 1.6 Kiến trúc hệ chun gia theo J.L.Ermine + Mơ hình C.Ernest: Hình 1.7 Kiến trúc hệ chun gia theo C.Ernest + Mơ hình E.V.Popov Hình 1.8 Kiến trúc hệ chuyên gia theo E.V.Popov Có bốn đặc trưng hệ chuyên gia: • Hiệu cao (high performance): Khả trả lời mức độ tinh thông - cao so với chuyên gia lĩnh vực • Thời gian trả lời thỏa đáng (adequate response time): Thời gian trả lời hợp lý, nhanh so với chuyên gia để đến định Hệ chuyên gia hệ thống thời gian thực (real time system ) • Độ tin cậy cao ( good reliability): Không thể xảy cố giảm sút độ tin cậy sử dụng • Dễ hiểu (understandable): Hệ chuyên gia giải thích bước suy luận - cách dễ hiểu quán, không giống cách trả lời bí ẩn hộp đen (black box) Những ưu điểm hệ chuyên gia: • Phổ cập (increased availability): Là sản phẩm chuyên gia, phát triển không ngừng với hiệu sử dụng khơng phủ nhận • Giảm giá thành (reduced cost) • Giảm rủi ro (reduced dangers): Giúp người tránh mơi trường rủi ro nguy hiểm • Tính thường trực (permanance ): Bất kể lúc khai thác sử dụng, người mệt mỏi, nghỉ ngơi hay vắng mặt Hình 3.4: Mơ hình phân loại Động vật thân mềm b Xác định kết chuẩn đốn lồi vật - - Giả thiết: Một số thông số (đối tượng, kiện) loài vật cho trước - Mục tiêu: Xác định thơng số (đối tượng) lồi vật Ví dụ: Xét lồi vật động vật, có xương sống, máu lạnh, có mang Hãy xác định xem loài vật nào? c Biểu diễn tri thức Tri thức gồm hai thành phần (F, R), tức khái niệm (phát biểu) luật dẫn Trong toán tam giác trên, phần tri thức theo luật dẫn (Facts, Rules) gồm: Dulieu.dat = {A, B, C, a, b, c, S, p, R, ha, hb, hc…} Dulieuluat.dat = { r1: { a1 a4 a10 a18 a31} –> {b1}; r2: { A3 a5 a11 a18 a31} –> {b2}; … } Tổ chức tri thức lưu nhớ phụ với file : Facts.txt Rules.txt Cấu trúc file SuKien.xml : • … • File SuKien.xml chương trình: A1: động vật A2: Có xương sống A3: Khơng có xương sống A4: Máu lạnh A5: máu nóng A6: Chân khớp …… B0: Động vật B1: ĐV có xương sống B2: ĐV khơng xương sống B3: ĐV máu nóng B4: ĐV máu lạnh B5: ĐV thân mềm B6: ĐV chân khớp … C1: Cá C2: Thằn lằn C3: Rùa C4: Baba C5: Ốc sên C6: Ốc biển … Cấu trúc file Luat.xml : • … File Luat.xml chương trình : • R1: b0 ^ a1 -> b1 R2: b0 ^ a2 -> b2 R3: b1 ^ a3 -> b3 R4: b1 ^ a4 -> b4 R5: b1 ^ a5 -> b5 R6: b2 ^ a6 -> b6 R7: b2 ^ a7 -> b7 R8: b2 ^ a8 -> b8 R9: b3 ^ a9 -> b9 R10: b3 ^ a10 -> b10 R11: b4 ^ a11 -> b11 R12: b4 ^ a12 -> c1 … 3.1.2 Biểu diễn thuật giải - Sau hoàn thành việc thu thập, biểu diễn tri thức xây dựng cấu trúc liệu để lưu trữ tri thức, ta bắt đầu vào xây dựng thuật giải cho toán - Để giải toán ta cần phải xác định luật dùng để đến kết từ giả thiết cho 3.1.3 Thuật giải suy diễn tiến Tư tưởng thuật giải Suy diễn tiến từ giả thiết biết (GT) ta áp dụng tập luật để sinh thêm giả thiết bổ sung vào GT Quá trình tiếp tục kết luận cần tìm nằm GT khơng thể áp dụng luật để sinh thêm giả thiết chương trình kết thúc • Mơ thuật giải : Bước 1: Khởi tạo mảng đánh dấu luật, để đánh dấu luật sử dụng để tránh trùng lặp bước Bước 2: Kiểm tra xem mục tiêu nằm tập giả thiết (GT) chưa? Nếu đúng, chuyển tới Bước Nếu sai, chuyển tới bước Bước 3: Cho kiểm tra luật, luật chưa dùng (chưa đánh dấu): Kiểm tra xem luật có đủ điểu kiện để áp dụng sinh giả thiết hay không? Nếu đủ điều kiện: + Đánh dấu luật lại + Bổ sung kết luận luật vào GT + Chuyển tới Bước Nếu không đủ điều kiện: tiếp tục với luật Bước 4: Nếu khơng cịn luật áp dụng nữa, chuyển tới bước Bước 5: Quay lại bước Bước 6: Kết luận: + Nếu Bước đúng: tốn khơng thể giải + Nếu Bước đúng: dùng suy diễn lùi để loại bỏ luật thừa, đưa kết luận Ví dụ minh họa cho thuật giải Suy diễn tiến: • Giả thiết: động vật, có xương sống, máu lạnh, có vảy Kết luận: loài động vật (con cá) ? Bài giải (các luật): Chương trình thử chạy luật theo tuyến tính kết luận cá nằm GT - Xác định lồi động vật nào: có xương sống - loại máu - Đặc có Vì GT Suy 3.2 Mơ suy diễn 3.2.1 3.2.2 Mã kiện Tên kiện a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 a22 a23 a24 a25 a26 a27 a28 a29 a30 a31 a32 a33 a34 a35 a36 a37 a38 a39 a40 a41 a42 a43 a44 a45 a46 a47 a48 a49 a50 a51 a52 a53 a54 a55 a56 a57 a58 a59 a60 a61 Động vật Có xương sống Khơng có xương sống Động vật có xương sống Động vật khơng có xương sống Lớn lên bụng mẹ Có máu nóng Sống nước Có vây Có máu lạnh Hơ hấp qua da Có chân Có màng ối Có chân Biết bay Đối xứng hai bên Thể khoang Có thể có vỏ đá vơi Cơ quan di chuyển đơn giản Có vỏ kitin chức xương Các chân phân đốt Lớp ĐV có vú Lớp cá Lớp ĐV lưỡng cư Lớp bò sát Lớp chim Ngành giun Ngành thân mềm Ngành chân khớp Di chuyển chân Có túi bụng Có móng guốc Có bờm Chúa tể rừng xanh Ăn thịt Cơ thể lớn Ăn cỏ Có vịi Bộ xương chất sụn Bộ xương chất xương Lớp cá sụn Lớp cá xương Có râu Ăn cá nhỏ Nằm ẩn cát Bụng tròn, dẹt Sống nước Có Khơng có Lưỡng cư có Lưỡng cư khơng Làn da sần sùi Làn da mịn Đốt sống có mặt Có mai Khơng có mai Bị sát khơng có mai Bị sát có mai Thân hình thon dài Răng có độc Có da dày cứng Thuộc nào: lạnh điểm: vảy cá nằm nên dừng diễn hình Bảng kiện Bảng kiện kết luận 3.2.3 Mã kiện Tên kiện c1 c2 c3 c4 c5 c6 c7 c8 c9 c10 c11 c12 c13 c14 c15 c16 c17 c18 c19 c20 c21 c22 c23 c24 c25 c26 c27 c28 c29 c30 c31 c32 c33 c34 Chuột túi Ngựa Sư tử Voi Cá tầm Cá đuối Cá chép Cá mập Cóc Ếch nhái Kỳ giơng Rắn Cá sấu Rùa Chim cánh cụt Đá điểu Chim bồ câu Diều hâu Giun đất Đỉa ốc sên Ốc biển Sên biển Mực ống Bạch tuộc Kỳ nhông Hải ly Bọ cạp Nhện nhà Nhện tarantula Kiến Ong Chuồn chuồn Chân chấu Bảng luật Mã luật Tên luật r1 r2 r3 r4 r5 r6 r7 r8 r9 a1^a2->a4 a1^a3->a5 a4^a6^a7->a22 a4^a8^a9->a23 a4^a10^a11->a24 a4^a12^a13->a25 a4^a14^a7^a15->a26 a5^a16^a17->a27 a5^a18^a19->a28 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 r24 r25 r26 r27 r28 r29 r30 r31 r32 r33 r34 r35 r36 r37 r38 r39 r40 r41 r42 r43 r44 r45 r46 r47 r48 r49 r50 r51 r52 r53 r54 r55 r56 r57 r58 r59 a5^a20^a21->a29 a22^a30^a31->c1 a22^a12^a32^a33->c2 a22^a34^a12^a33^a35->c3 a22^a36^a12^a37^a38->c4 a22^a82^a83->c27 a41^a43^a44->c5 a41^a45^a46->c6 a42^a47->c7 a42^a35->c8 a23^a39->a41 a23^a40->a42 a24^a49->a51 a24^a48->a50 a51^a52->c9 a51^a53->c10 a50^a54->c11 a25^a56->a57 a25^a55->a58 a57^a59^a60->c12 a57^a84->c26 a57^a35^a61->c13 a58^a62->c14 a26^a63->a68 a26^a64->a69 a26^a15->a70 a68^a65->c15 a69^a66->c16 a70^a67->c17 a70^a35->c18 a27^a71->c19 a27^a72->c20 a28^a73->a75 a28^a74->a76 a75^a77->c21 a75^a78->c22 a75^a79->c23 a76^a80->c24 a76^a81->c25 a29^a85->a88 a29^a86^a87->a89 a88^a90->c28 a88^a91->c29 a88^a92^a84->c30 a89^a93->a95 a89^a15->a94 a95^a96->c31 a94^a97->c32 a94^a98->c33 a94^a99->c34 3.3 Giao diện chương trình Hình 3.5: Giao diện Hình 3.6: Form quản lý kiện Hình 3.7: Form quản lý luật Hình 3.8: Form bước mơ hình suy diễn tiến Hình 3.8: Cơ sở liệu lưu file SuKien.xml Hình 3.9: Cơ sở liệu lưu file Luat.xml Kết Luận Sau vận dụng kiến thức thực tế loài vật sưu tầm tài liệu liên quan đến logic mệnh đề theo suy diễn tiến thuật tốn tính mờ nhờ heuristic để làm sở tri thức, xây dựng thuật giải xác định mơ hình tổng qt cho đề tài Lựa chọn ngơn ngữ lập trình(C#) tiến hành xây dựng module xử lý công việc Và chúng em có sử dụng thuật giải suy diễn tiến cho tốn Ở thân chúng em có nói tư tưởng thuật giải Suy diễn tiến từ giả thiết biết (GT) ta áp dụng tập luật để sinh thêm giả thiết bổ sung vào GT Quá trình tiếp tục kết luận cần tìm nằm GT áp dụng luật để sinh thêm giả thiết chương trình kết thúc Chúng em thiết kế hồn thiện chương trình dự đóan lồi vật phù hợp với nhu cầu ngành nghên cứu động vật Việt Nam nay, mục tiêu hướng đến chương trình, để từ ta tham khảo lấy them ý kiến từ chuyên gia để giúp việc chuẩn đốn lồi vật hiệu xác TÀI LIỆU THAM KHẢO [1] [2] [3] Trần Hùng Cường (Chủ biên), Trần Thanh Hùng Giáo trình hệ chuyên gia Nhà xuất Khoa học Kỹ thuật, 2015 https://xemtailieu.com/tai-lieu/xay-dung-he-chuyen-gia-tu-van-muadien-thoai-di-dong-luan-van-do-an-de-tai-tot-nghiep-1459899.html Ngày truy xuất: 25/11/2020 9:00 PM http://diendan.congdongcviet.com/threads/t208614::thuat-toan-suydien-tien-trong-he-chuyen-gia-tri-tue-nhan-tao-trong-csharp.cpp Ngày truy xuất: 25/11/2020 9:00 PM ... trình, địi hỏi diễn giải, chẩn đốn, kiểm tra, lập kế hoạch, dự đoán chữa trị Chương 2: Phân Tích Bài Tốn Kỹ Thuật Suy Diễn Tiến 2.1 Khái niệm suy diễn tiến: 2.1.1 Định nghĩa Suy diễn tiến (forward... dụng 2.1.2 Các hoạt động trình suy diễn tiến: Hệ thống suy diễn tiến hoạt động sau: - Trước tiên hệ thống lấy thơng tin tốn từ người sử dụng đặt chung vào nhớ làm việc - Suy diễn quét luật theo... Thêm kết luận vào nhớ làm việc Sai Dừng Hình 2.1: Mơ hình hoạt động q trình suy diễn tiến 2.2 Suy diễn tiến: 2.2.1 Thuật toán suy diễn tiến: Input: - Tập luật Rule ={r1, r2,…, } -GT, KL Output: Thông