Hệ chuyên gia là gì Hệ chuyên gia Expert system là một chương trình máy tính được thiết kế để giải quyết các vấn đề phức tạp bằng cách mô phỏng khả năng suy luận và ra quyết định của mộ
Trang 1TRƯỜNG ĐẠI HỌC ĐIỆN LỰC KHOA CÔNG NGHỆ THÔNG TIN
BÁO CÁO CHUYÊN ĐỀ HỌC PHẦN
Hà Nội, tháng 12 năm 2023
Trang 3Giảng viên ch m 2 : ấ
Trang 4M C L C Ụ Ụ
L I M Ờ Ở ĐẦ 1U
CHƯƠNG 1: TỔNG QUAN VỀ Ệ H CHUYÊN GIA 2
1.1 H chuyên gia là gì ệ 2
1.2 Xây d ng h chuyên gia ự ệ 3
1.3 Đặc trưng hệ chuyên gia 6
CHƯƠNG 2: SUY DIỄN TIẾN VÀ SUY DI N LÙI Ễ 8
2.1 Suy di n ti n ễ ế 8
2.2 Suy di n lùi ễ 12
CHƯƠNG 3 : XÂY DỰ NG HỆ CHUYÊN GIA GI ẢI BI TOÁN LƯỢNG GIÁC 14
3.1 Phân tích bài toán 14
3.2 T p lu t ậ ậ 16
3.2 Giao diện chương trình 17
K T LU N Ế Ậ 21
TÀI LI U THAM KH O Ệ Ả 22
Trang 5DANH MỤC HÌNH ẢNH
Hình 1.1: Giới thiệu hệ chuyên gia
Hình 1.2: Kiến trúc tổng quát của hệ chuyên gia
Hình 3.1 Giao : diện chủ
Hình 3.2: Giao diện giải bài toán
Hình 3.3: Giao diện giải bài toán
Hình 3.4: Giao diện tập sự kiện
Hình 3.5: Giao diện tập luật
Trang 6L I M Ờ Ở ĐẦU Lượng giác là một phần quan trọng của toán học, được ứng dụng trong nhiều lĩnh vực khác nhau như vật lý, kỹ thuật, thiên văn học,… Giải bài toán lượng giác là một trong những kiến thức quan trọng và là một dạng bài tập không thể thiếu đối với chúng ta khi còn đang ngồi trên ghế nhà trường hoặc trong cuộc sống
Hiện nay, có nhiều phương pháp giải bài toán lượng giác khác nhau, từ phương pháp thủ công truyền thống đến phương pháp giải bằng máy tính Tuy nhiên, các phương pháp này đều có những hạn chế nhất định Phương pháp thủ công đòi hỏi người giải phải có kiến thức và kỹ năng tốt về lượng giác, trong khi phương pháp giải bằng máy tính có thể gặp lỗi nếu người dùng nhập sai dữ liệu
Để giải quyết những hạn chế này, chúng em đã quyết định xây dựng một hệ chuyên gia giải bài toán lượng giác Hệ chuyên gia này sử dụng các kỹ thuật suy diễn tiến, suy diễn lùi để phân tích bài toán và đưa ra lời giải chính xác
Chúng em hy vọng rằng đề tài này sẽ giúp mọi người có thể dễ dàng giải các bài toán lượng giác một cách nhanh và chính xác
Trang 7CHƯƠNG 1: TỔNG QUAN VỀ Ệ H CHUYÊN GIA
1.1 Hệ chuyên gia là gì
Hệ chuyên gia (Expert system) là một chương trình máy tính được thiết kế để giải quyết các vấn đề phức tạp bằng cách mô phỏng khả năng suy luận và ra quyết định của một chuyên gia trong một lĩnh vực cụ thể Hệ chuyên gia thường được sử dụng trong các lĩnh vực như y tế, luật, tài chính, kỹ thuật, v.v
Hệ chuyên gia bao gồm hai thành phần chính: cơ sở tri thức và động cơ suy luận Cơ sở tri thức chứa các thông tin về kiến thức và quy tắc chuyên môn trong lĩnh vực cụ thể Động cơ suy luận sử dụng các thông tin trong cơ sở tri thức để phân tích vấn đề và đưa ra lời giải
Hình 1.1: Giới thiệu hệ chuyên gia
Hệ chuyên gia có nhiều ưu điểm so với các phương pháp giải quyết vấn đề truyền thống Thứ nhất, hệ chuyên gia có thể giải quyết các vấn đề phức tạp mà con người khó có thể giải quyết Thứ hai, hệ chuyên gia có thể cung cấp các lời giải chính xác và tin cậy Thứ ba, hệ chuyên gia có thể được sử dụng bởi những người không có kiến thức chuyên môn trong lĩnh vực đó
Hệ chuyên gia có thể được phân loại theo nhiều cách khác nhau, chẳng hạn như theo lĩnh vực ứng dụng, theo mức độ tự động hóa, v.v
Theo lĩnh vực ứng dụng, hệ chuyên gia có thể được phân loại thành các loại sau:
Trang 8 Y tế: Hệ chuyên gia y tế được sử dụng để chẩn đoán bệnh, kê đơn thuốc, v.v
Luật: Hệ chuyên gia luật được sử dụng để tư vấn pháp lý, giải quyết tranh chấp, v.v
Tài chính: Hệ chuyên gia tài chính được sử dụng để phân tích đầu tư, dự báo thị trường, v.v
Kỹ thuật: Hệ chuyên gia kỹ thuật được sử dụng để thiết kế sản phẩm, tối
ưu hóa quy trình, v.v
Theo mức độ tự động hóa, hệ chuyên gia có thể được phân loại thành các loại sau:
Hệ chuyên gia thụ động: Hệ chuyên gia thụ động chỉ cung cấp các lời khuyên và giải pháp, người dùng phải tự thực hiện các hành động cần thiết
Hệ chuyên gia chủ động: Hệ chuyên gia chủ động có thể tự thực hiện các hành động cần thiết, người dùng chỉ cần cung cấp các thông tin cần thiết
Hệ chuyên gia đã được ứng dụng rộng rãi trong nhiều lĩnh vực khác nhau và
đã mang lại nhiều lợi ích cho con người
1.2 Xây dựng hệ chuyên gia
Xây dựng hệ chuyên gia là một quá trình phức tạp đòi hỏi nhiều kỹ năng và kiến thức khác nhau Quá trình này thường bao gồm các bước sau:
Xác định vấn đề cần giải quyết
Bước đầu tiên là xác định vấn đề cần giải quyết bởi hệ chuyên gia Vấn đề cần giải quyết phải là một vấn đề phức tạp mà con người khó có thể giải quyết một cách hiệu quả
Thu thập kiến thức chuyên môn
Trang 9Bước tiếp theo là thu thập kiến thức chuyên môn cần thiết để giải quyết vấn
đề Kiến thức này có thể được thu thập từ các chuyên gia trong lĩnh vực đó, từ các tài liệu tham khảo, hoặc từ các nguồn khác
Biểu diễn kiến thức
Kiến thức thu thập được cần được biểu diễn dưới một dạng mà hệ chuyên gia
có thể hiểu và sử dụng Các dạng biểu diễn kiến thức thường được sử dụng trong hệ chuyên gia bao gồm:
Cơ sở tri thức quy tắc: Cơ sở tri thức quy tắc là một tập hợp các quy tắc, mỗi quy tắc mô tả một mối quan hệ giữa các điều kiện và kết quả
Cơ sở tri thức khung: Cơ sở tri thức khung là một tập hợp các khung, mỗi khung mô tả một tình huống hoặc đối tượng
Cơ sở tri thức ngữ nghĩa: Cơ sở tri thức ngữ nghĩa là một tập hợp các mối quan hệ ngữ nghĩa giữa các thực thể
Thiết kế động cơ suy luận
Động cơ suy luận là một phần mềm chịu trách nhiệm phân tích vấn đề và đưa
ra lời giải Động cơ suy luận sử dụng kiến thức trong cơ sở tri thức để xác định các tình huống có thể xảy ra, sau đó sử dụng các quy tắc suy luận để đưa ra lời giải
Thực hiện hệ chuyên gia
Hệ chuyên gia sau khi xây dựng cần được thực hiện trên một nền tảng máy tính cụ thể Việc thực hiện hệ chuyên gia bao gồm việc chuyển đổi kiến thức và động
cơ suy luận thành một ngôn ngữ máy tính có thể hiểu được
Kiểm thử và đánh giá hệ chuyên gia
Sau khi hệ chuyên gia được thực hiện, cần tiến hành kiểm thử và đánh giá hệ chuyên gia Kiểm thử hệ chuyên gia là quá trình kiểm tra xem hệ chuyên gia có hoạt động chính xác hay không Đánh giá hệ chuyên gia là quá trình đánh giá độ tin cậy
và hiệu quả của hệ chuyên gia
Các kỹ thuật xây dựng hệ chuyên gia
Trang 10Có nhiều kỹ thuật khác nhau được sử dụng để xây dựng hệ chuyên gia Các
kỹ thuật phổ biến nhất bao gồm:
Kỹ thuật quy tắc: Kỹ thuật quy tắc là kỹ thuật sử dụng cơ sở tri thức quy tắc để biểu diễn kiến thức
Kỹ thuật khung: Kỹ thuật khung là kỹ thuật sử dụng cơ sở tri thức khung
để biểu diễn kiến thức
Kỹ thuật ngữ nghĩa: Kỹ thuật ngữ nghĩa là kỹ thuật sử dụng cơ sở tri thức ngữ nghĩa để biểu diễn kiến thức
Kỹ thuật suy luận logic: Kỹ thuật suy luận logic là kỹ thuật sử dụng các quy tắc logic để suy luận từ kiến thức
Kỹ thuật học máy: Kỹ thuật học máy là kỹ thuật sử dụng các thuật toán học máy để học từ dữ liệu thực tế
Ứng dụng của hệ chuyên gia
Hệ chuyên gia đã được ứng dụng rộng rãi trong nhiều lĩnh vực khác nhau, bao gồm:
Y tế: Hệ chuyên gia y tế được sử dụng để chẩn đoán bệnh, kê đơn thuốc, v.v
Luật: Hệ chuyên gia luật được sử dụng để tư vấn pháp lý, giải quyết tranh chấp, v.v
Tài chính: Hệ chuyên gia tài chính được sử dụng để phân tích đầu tư,
dự báo thị trường, v.v
Kỹ thuật: Hệ chuyên gia kỹ thuật được sử dụng để thiết kế sản phẩm, tối ưu hóa quy trình, v.v
Tương lai của hệ chuyên gia
Hệ chuyên gia có tiềm năng ứng dụng trong nhiều lĩnh vực khác nhau Với sự phát triển của trí tuệ nhân tạo, hệ chuyên gia sẽ trở nên ngày càng phức tạp và hiệu quả hơn
Trang 111.3 Đặc trưng hệ chuyên gia
Hệ chuyên gia (Expert System) là một chương trình máy tính được thiết kế để giải quyết các vấn đề phức tạp bằng cách mô phỏng khả năng suy luận và ra quyết định của một chuyên gia trong một lĩnh vực cụ thể Hệ chuyên gia thường được sử dụng trong các lĩnh vực như y tế, luật, tài chính, kỹ thuật, v.v
Hệ chuyên gia có những đặc trưng sau:
Kiến thức chuyên môn: Hệ chuyên gia được xây dựng dựa trên kiến thức chuyên môn của một hoặc nhiều chuyên gia trong một lĩnh vực cụ thể Kiến thức này có thể được thu thập từ các chuyên gia, từ các tài liệu tham khảo, hoặc từ các nguồn khác
Suy luận: Hệ chuyên gia sử dụng các kỹ thuật suy luận để phân tích thông tin và đưa ra lời giải Các kỹ thuật suy luận thường được sử dụng trong hệ chuyên gia bao gồm suy luận logic, suy luận dựa trên cơ sở tri thức, và suy luận dựa trên học máy
Giao diện người dùng: Hệ chuyên gia có một giao diện người dùng cho phép người dùng tương tác với hệ thống Giao diện người dùng thường được thiết kế để dễ sử dụng và thân thiện với người dùng
Hình 1.2: Kiến trúc tổng quát của hệ chuyên gia
Trang 12Hệ chuyên gia có nhiều ưu điểm so với các phương pháp giải quyết vấn đề truyền thống Thứ nhất, hệ chuyên gia có thể giải quyết các vấn đề phức tạp mà con người khó có thể giải quyết Thứ hai, hệ chuyên gia có thể cung cấp các lời giải chính xác và tin cậy Thứ ba, hệ chuyên gia có thể được sử dụng bởi những người không có kiến thức chuyên môn trong lĩnh vực đó
Hệ chuyên gia đã được ứng dụng rộng rãi trong nhiều lĩnh vực khác nhau và
đã mang lại nhiều lợi ích cho con người
Trang 13CHƯƠNG 2: SUY DI N TI N VÀ SUY DI N LÙI Ễ Ế Ễ
2.1 Suy diễn tiến
Suy diễn tiến là một kỹ thuật suy luận trong đó hệ thống bắt đầu với một giả thuyết và sau đó sử dụng các quy tắc suy luận để đưa ra các kết luận Các kết luận này sau đó có thể được sử dụng để đưa ra thêm các kết luận, và quá trình này tiếp tục cho đến khi hệ thống đạt được một kết luận mong muốn
Suy diễn tiến được sử dụng trong hệ chuyên gia để giải quyết các vấn đề phức tạp Ví dụ, một hệ chuyên gia y tế có thể sử dụng suy diễn tiến để chẩn đoán bệnh
Hệ thống sẽ bắt đầu với một giả thuyết về bệnh, sau đó sử dụng các quy tắc suy luận
để đưa ra các kết luận về các triệu chứng của bệnh Các kết luận này sau đó có thể được sử dụng để đưa ra thêm các kết luận về nguyên nhân gây bệnh, và quá trình này tiếp tục cho đến khi hệ thống có thể đưa ra một chẩn đoán chính xác
Suy diễn tiến có một số ưu điểm so với các kỹ thuật suy luận khác Thứ nhất, suy diễn tiến có thể được sử dụng để giải quyết các vấn đề phức tạp có thể không thể được giải quyết bằng các kỹ thuật suy luận khác Thứ hai, suy diễn tiến có thể được sử dụng để đưa ra các kết luận chắc chắn, vì hệ thống bắt đầu với một giả thuyết và sau đó sử dụng các quy tắc suy luận để đưa ra các kết luận dựa trên giả thuyết đó
Tuy nhiên, suy diễn tiến cũng có một số nhược điểm Thứ nhất, suy diễn tiến
có thể chậm, vì hệ thống cần phải thực hiện nhiều phép suy luận để đưa ra một kết luận Thứ hai, suy diễn tiến có thể không chính xác nếu các quy tắc suy luận không được xây dựng chính xác
Các quy tắc suy luận trong suy diễn tiến
Các quy tắc suy luận là các quy tắc được sử dụng trong suy diễn tiến để đưa
ra các kết luận Các quy tắc suy luận có thể được biểu diễn dưới nhiều dạng khác nhau, nhưng dạng phổ biến nhất là dạng tiền đề kết luận.-
Trang 14Một quy tắc tiền đề kết luận có hai phần: tiền đề và kết luận Tiền đề là một tuyên bố về các điều kiện cần thiết để kết luận được đưa ra Kết luận là một tuyên
-bố về kết quả của các điều kiện đó
Ví dụ, một quy tắc suy luận tiền đề kết luận trong hệ chuyên gia y tế có thể là:
-Nếu bệnh nhân có triệu chứng sốt, thì bệnh nhân có thể bị nhiễm trùng Tiền đề của quy tắc này là "bệnh nhân có triệu chứng sốt" Kết luận của quy tắc này là "bệnh nhân có thể bị nhiễm trùng"
Các kỹ thuật suy diễn tiến trong hệ chuyên gia
Có một số kỹ thuật suy diễn tiến khác nhau được sử dụng trong hệ chuyên gia Các kỹ thuật phổ biến nhất bao gồm:
Suy diễn lùi: Trong suy diễn lùi, hệ thống bắt đầu với một kết luận mong muốn và sau đó sử dụng các quy tắc suy luận để đưa ra các giả thuyết có thể dẫn đến kết luận đó
Suy diễn tiến: Trong suy diễn tiến, hệ thống bắt đầu với một giả thuyết và sau đó sử dụng các quy tắc suy luận để đưa ra các kết luận
Suy diễn lùi-tiến: Suy diễn lùi tiến là một kỹ thuật kết hợp suy diễn lùi và suy diễn tiến Hệ thống bắt đầu với một kết luận mong muốn và sau đó sử dụng suy diễn lùi để thu hẹp phạm vi các giả thuyết có thể dẫn đến kết luận
-đó Sau đó, hệ thống sử dụng suy diễn tiến để đưa ra các kết luận về các giả thuyết đó
Tư tưởng cơ bản của lập luận tiến là áp dụng luật suy diễn Modus Ponens tổng quát) Trong mỗi bước của thủ tục lập luận tiến, người ta xét một luật trong cơ sở luật Đối sánh mỗi điều kiện của 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 đều được thoả mãn thì sự kiện trong phần kết luận của luật đượ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
Trang 15bộ nhớ làm việc), thì nó được đặt vào bộ nhớ làm việc Quá trình trên được lặp lại cho tới khi nào không có luật nào sinh ra các sự kiện mới
Như vậy quá trình lập luận tiến là quá trình xem xét các luật Với mỗi luật, ta
đi từ phần điều kiện tới phần kết luận của luật, khi mà tất cả các điều kiện của luật đều được làm thoả mãn (bởi các sự kiện trong cơ sở sự kiện), thì ta suy ra sự kiện trong phần kết luận của luật Chính vì lẽ đó mà có tên lập luận tiến (forward chaining hoặc forward reasoning)
Quá trình lập luận tiến không định hướng tới giải quyết một vấn đề nào cả, không định hướng tới tìm ra câu trả lời cho một câu hỏi nào cả Lập luận tiến chỉ là quá trình suy ra các sự kiện mới từ các sự kiện trong bộ nhớ làm việc Vì vậy lập luận tiến còn được gọi là lập luận điều khiển bởi dữ liệu (data - driven reasioning), hoặc lập luận định hướng dữ liệu (data - directed reasioning)
Ví dụ lập luận tiến Để thấy được quá trình lập luận tiến diễn ra như thế nào, chúng ta xét ví dụ sau đây (Ví dụ này là của P H Winston xem [17])
Giả sử cơ sở luật (cơ sở luật về các động vật trong sở thú) gồm các luật sau: Luật 1: nếu động vật có lông mao thì động vật là loài có vú
Luật 2: nếu động vật có lông vũ thì động vật là chim
Luật 3: nếu 1 động vật biết bay, và 2 động vật đẻ trứng thì động vật là chimLuật 4: nếu 1 động vật là loài có vú, và 2 động vật ăn thịt thì động vật là thú
ăn thịt
Luật 5: nếu 1 động vật là loài có vú, và 2 động vật có răng nhọn, và 3 độngvật có móng vuốt thì động vật là thú ăn thịt
Luật 6: nếu 1 động vật là thú ăn thịt, và 2 động vật có màu lông vàng hung,
và 3 động vật có đốm sẫm thì động vật là báo Châu Phi
Luật 7: nếu 1 động vật là thú ăn thịt, và 2 động vật có màu lông vàng hung,
và 3 động vật có vằn đen thì động vật là hổ
Luật 8: nếu 1 động vật là chim, và 2 động vật không biết bay, và 3 động vật
có chân dài, và 4 động vật có cổ dài thì động vật là đà điểu
Trang 16Luật 9: nếu 1 động vật là chim, và 2 động vật không biết bay, và 3.động vật biết bơi, và 4 động vật có lông đen và trắng thì động vật là chim cánh cụt
Giả sử một em bé quan sát một con vật có tên là Ki trong sở thú, em thấy nó
có các đặc điểm sau Ki có lông mao
Ki ăn thịt
Ki có màu lông vàng hung Ki có đốm sẫm
Lúc này cơ sở sự kiện sẽ bao gồm các sự kiện trên
Thủ tục lập luận tiến xem xét luật 1 Khi biến “động vật” trong luật này được thay bởi Ki, điều kiện của luật trỏ thành “Ki có lông mao”, đây là một sự kiện có trong bộ nhớ làm việc, do đó ta suy ra “Ki là loài có vú” Đây là sự kiện mới, do đó
nó được thêm vào bộ nhớ làm việc Xét luật 4, thế biến “động vật” bởi Ki, thì hai điều kiện của luật trở thành:
Ki là loài có vú, và
Ki ăn thịt
Cả hai sự kiện này đều có trong bộ nhớ làm việc, do đó từ luật 4 ta suy ra “Ki
là thú ăn thịt” Sự kiện mới này lại được thêm vào bộ nhớ làm việc Ta xét tiếp luật
6, thế biến “động vật” bởi Ki, các điều kiện của luật trở thành:
Ki là loài thú ăn thịt, và
Ki có màu lông vàng hung, và Ki có đốm sẫm
Tất cả các điều kiện này đều đúng, do đó từ luật 6, ta suy ra “Ki là báo Châu Phi” Như vậy từ các sự kiện đã biết về Ki, lập luận tiến đã suy ra các sự kiện mới sau
Ki là loài có vú
Ki là thú ăn thịt
Ki là báo Châu Phi