Cùng với sự phát triển không ngừng của công nghệ phần mềm, trí tuệ nhântạo nói chung và hệ chuyên gia nói riêng cũng có những bước phát triến mới.Một yêu cầu đặt ra khi lý thuyết về công
Trang 1LỜI CẢM ƠN
Tôi xin được bày tỏ lòng biết ơn sâu sắc đến thầy giáo hướng dẫn, Thạc sĩTHẠC BÌNH CƯỜNG, bộ môn Công nghệ phần mềm - khoa Công nghệ thôngtin, trường Đại học Bách Khoa Hà Nội về sự hướng dẫn chu đáo và nhiệt tình,những lời góp ý sâu sắc và nhiều giá trị, cùng với những tài liệu hữu ích, giúp tôihoàn thành đồ án của mình đúng thời gian quy định
Đồng thời tôi cũng xin được gửi lời cảm ơn chân thành tới các thầy cô giáotrong bộ môn Công nghệ phần mềm đã tạo điều kiện giúp đỡ em hoàn thành đồ
Trang 2MỤC LỤC
CHƯƠNG I: GIỚI THIỆU CHUNG VỀ CÔNG NGHỆ PHẦN MỀM VÀ HỆ
CHUYÊN GIA 11 1.1 Công nghệ phần mềm11
1.1.1 Định nghĩa công nghệ phần mềm 11
1.1.2 Vòng đời phần mềm 11
1.1.3 Quy trình phát triển phần mềm 13
1.2 Hệ chuyên gia 14
1.2.1 Khái niệm về hệ chuyên gia 14
1.2.2 Cấu trúc hệ chuyên gia 14
1.2.2.1 Cơ sở tri thức 14
1.2.2.2 Bộ nhớ làm việc 14
1.2.2.3 Môtơ suy diễn 14
1.2.2.4 Phương tiện giải thích 15
1.2.2.5 Giao diện 15
CHƯƠNG II: ỨNG DỤNG CÔNG NGHỆ PHẦN MỀM TRONG BÀI TOÁN HỆ
CHUYÊN GIA 17 2.1 Xác định vấn đề 17
2.2 Thu thập tri thức 19
2.2.1 Các loại tri thức 19
2.2.2 Các nguồn tri thức 19
2.2.3 Quá trình thu thập tri thức 20
2.2.4 Thời gian cần thiết cho việc thu thập tri thức 20
2.2.5 Vai trò của từng thành viên tham gia 21
2.2.6 Phân tích tri thức 22
2.2.6.1 Ghi lại tri thức22
2.2.6.2 Liên kết tri thức 22
2.2.6.3 Xem xét lại tri thức 23
2.2.6.4 Cấu trúc các tri thức một cách đồ hoạ 23
2.3 Thiết kế 23
2.3.1 Chọn kỹ thuật thể hiện tri thức24
2.3.1.1 Tiếp cận dựa trên khung 24
2.3.1.2 Tiếp cận dựa trên luật 24
2.3.1.2 Tiếp cận quy nạp 24
2.3.2 Chọn kỹ thuật điều khiển 24
2.3.2.1 Suy diễn tiến 25
Trang 32.3.2.2 Suy diễn lùi 25
2.3.3 Lựa chọn phần mềm phát triển hệ chuyên gia 25
2.3.4 Thiết kế giao diện người dùng 26
2.3.5 Phát triển mẫu 27
2.4 Kiểm chứng hệ thống 28
2.4.1 Kiểm chứng lại kết quả 28
2.4.1.1 Chọn tiêu chuẩn kiểm thử 28
2.4.1.2 Chọn các trường hợp kiểm thử 29
2.4.1.3 Chọn người đánh giá 29
2.4.2 Kiểm chứng lập luận 29
2.4.2.1 Giai đoạn 1 của đánh giá: thử sơ bộ30
2.4.2.2 Giai đoạn 2 của đánh giá : thử trình diễn 31
2.4.2.3 Giai đoạn 3 của đánh giá: thử kiểm tra phi hình thức 312.4.2.4 Giai đoạn 4 của đánh giá: kiểm thử tinh chỉnh hệ thống 322.4.2.5 Giai đoạn 5 của đánh giá: kiểm thử phi hình thức 32
2.4.2.6 Giai đoạn 6 của đánh giá: thử lĩnh vực 32
2.5 Bảo trì 33
2.5.1 Cấu trúc khối 33
2.5.2 Phân biệt tri thức và thông tin 34
2.5.3 Các luật meta 34
2.5.4 Làm tư liệu bảo trì 35
CHƯƠNG III: XỬ LÝ TRI THỨC TRONG HỆ CHUYÊN GIA 36
3.1 Biểu diễn tri thức 36
3.2 Xử lý tri thức 37
3.2.1 Suy diễn 37
3.2.1.1 Suy diễn suy luận 38
3.2.1.3 Suy diễn abductive 38
3.2.1.4 Suy diễn tương tự 39
3.2.1.5 Suy diễn common-sense 39
3.2.1.6 Suy diễn non-monotonic 40
3.2.2 Suy diễn trong hệ chuyên gia 41
3.2.2.1 Modus Ponens41
3.2.2.2 Sự giải 42
3.2.2.3 Không giải (nonresolution) 45
3.2.3 Suy diễn tiến 45
3.2.3.1 Định nghĩa 45
3.2.3.2 Chiến luợc giải quyết mâu thuẫn trong suy diễn tiến 48
3.2.4 Suy diễn lùi 50
3.2.4.1 Định nghĩa 50
3.2.4.2 Chiến lược giải quyết đụng độ trong suy diễn lùi 53
3.2.4.3 Lịch các goal 53
Trang 43.2.5 Ưu nhược điểm của chiến lược suy diễn tiến và suy diễn lùi
53
3.2.5.1 Ưu điểm của chiến lược suy diễn tiến 53
3.2.5.2 Nhược điểm của chiến lược suy diễn tiến 54
3.2.5.3 Ưu điểm của hệ thống suy diễn lùi 55
3.2.5.4 Nhược điểm của hệ thống suy diễn lùi 55
3.2.6 Kết hợp hai chiến lược suy diễn tiến và suy diễn lùi 55
3.2.6.1 Các hệ thống riêng biệt 56
3.2.6.2 Luật thông minh (demon rules) 56
3.2.7 Suy diễn monotonic 58
3.2.8 Suy diễn non-monotonic 58
3.2.9 Suy diễn monotonic và suy diễn non-monotonic 59
CHƯƠNG IV: SUY DIỄN KHÔNG CHẮC CHẮN 61
4.1 Các khái niệm cơ bản của giả thuyết chắc chắn 61
4.1.1 Xác suất 61
4.1.2 Chỉ số tin tưởng MB (Measure of Belief) 62
4.1.3 Chỉ số không tin tưởng MD (Measure of Disbelief) 62
4.1.4 Chỉ số chắc chắn CF 62
4.2 Khó khăn khi giải thích xác suất của CF 65
4.3 Chỉ số chắc chắn có điều kiện 66
4.4 Biểu diễn các sự kiện không chắc chắn 66
4.5 Biểu diễn các luật không chắc chắn 67
4.6 Tính CF trong các luật 67
4.6.1 Đối với các luật chỉ có một giả thiết dạng IF E THEN H
CF(RULE)67 4.6.2 Đối với các luật và nhiều giả thiết dạng IF E 1 AND E 2
AND THEN H 68 4.6.3 Đối với các luật nhiều giả thiết hoặc dạng IF E 1 OR E 2 OR THEN
4.6.4 Đối với các luật có kết luận tương tự như nhau 68
4.6.5 Đối với các luật phức tạp 72
4.7 Vấn đề chuỗi suy diễn dài 72
4.8 Vấn đề với các luật có kết luận tương tự nhau 73
4.9 Vấn đề với các luật “và” 73
CHƯƠNG V:CÀI ĐẶT CÔNG CỤ SUY DIỄN – ỨNG DỤNG ĐÁNH GIÁ CHẤT
LƯỢNG CHƯƠNG TRÌNH ĐÀO TẠO 76 5.1 Lý do lựa chọn 76
Trang 55.2 Mô hình hoá bài toán 76
5.2.1 Cơ sở tri thức cho hệ chuyên gia 76
5.2.2 Mô tơ suy diễn và bộ giải thích 78
5.2.2.1 Chức năng xây dựng bộ nhớ làm việc 79
5.2.2.2 Chức năng suy diễn tiến 81
5.2.2.3 Chức năng suy diễn lùi 83
5.2.2.4 Chức năng giải thích 87
5.2.2.5 Chức năng ghi vào cơ sở tri thức 88
5.3 Kết quả thực hiện 89
5.4 Ứng dụng đánh giá chất lượng chương trình đào tạo: 92
CHƯƠNG VI: KẾT LUẬN VÀ ĐỊNH HƯỚNG PHÁT TRIỂN 93
Trang 7LỜI NÓI ĐẦU
Hệ chuyên gia là một chương trình máy tính bắt chước quá trình suy luậncủa chuyên gia con người hoặc là thể hiện một ứng xử chuyên gia con người Nósuy luận từ các thông tin thiếu chắc chắn và mơ hồ Tri thức là hiện thân của nó,thường không chính xác hoàn toàn, cũng như tri thức của con người là khônghoàn chỉnh toàn diện (imperfect) Các sự kiện hay các thông tin được người sửdụng cung cấp cũng thường không rõ ràng Hệ chuyên gia dựa trên công nghệ trítuệ nhân tạo Nó sử dụng tri thức phạm vi đặc trưng (knowledge about aparticular domain) và các kỹ thuật suy diễn để cung cấp các hành động được thểhiện bởi chuyên gia con người Bất cứ một con người nào cũng đạt được chuyênmôn qua việc học hành và quan trọng hơn là qua việc rèn luyện Hệ chuyên giađược tin tưởng để đạt được điều này từ sự tương tác của nó với chuyên gia conngười
Cùng với sự phát triển không ngừng của công nghệ phần mềm, trí tuệ nhântạo nói chung và hệ chuyên gia nói riêng cũng có những bước phát triến mới.Một yêu cầu đặt ra khi lý thuyết về công nghệ phần mềm càng phát triển là ứngdụng nó vào xây dựng bài toán hệ chuyên gia vì hệ chuyên gia cũng là một phầncủa công nghệ phần mềm như trong bảng sau:
Quy trình làm phần mềm Quy trình xây dựng hệ chuyên gia
Khảo sát, xác định yêu cầu, tính khả
Trang 8Để xây dựng một hệ chuyên gia cần thiết phải phân tích, thiết kế và xâydựng các thành phần của nó Tuy nhiên, nếu cứ mỗi lần xây dựng một hệ chuyêngia nào đó, ta phải bắt đầu phân tích thiết kế lại từ đầu rất tốn kém cả thời gian
và tiền bạc mà hiệu quả thu được chưa chắc đã tối ưu, khó có thể kế thừa đượcnhững ưu điểm của các hệ chuyên gia cũ
Do đó, việc xây dựng một bộ công cụ chung cho hệ chuyên gia là rất cầnthiết Người kỹ sư tri thức sau khi thu thập tri thức sẽ sử dụng bộ công cụ để lựachọn phương pháp biểu diễn tri thức phù hợp, sau đó tuỳ theo yêu cầu cụ thể củatừng bài toán mà anh ta lựa chọn chiến lược suy diễn phù hợp
Ví vậy ý tưởng chính của đồ án này là xây dựng bộ công cụ chung với cácchiến lược suy diễn đáp ứng các yêu cầu trên Bộ công cụ này nhỗ trợ cho các hệchuyên gia thuộc nhiều lĩnh vực khác nhau
Đồ án này gồm các phần sau:
Chương I: Giới thiệu chung về công nghệ phần mềm và hệ chuyên gia
Chương này giới thiệu lý thuyết về công nghệ phần mềm và hệ chuyên gia
Chương II: Ứng dụng công nghệ phần mềm trong bài toán hệ chuyên gia.Giải quyết các bài toán hệ chuyên gia dựa trên các quy trình công nghệphần mềm
Chương III: Xử lý tri thức trong hệ chuyên gia
Chương này đề cập đến các phương pháp suy diễn trong hệ chuyên gia
Chương IV: Suy diễn dựa trên lý thuyết độ chắn chắn
Chương này trình bày lý thuyết độ chắc chắn (certainty theory) và phươngpháp suy diễn dựa trên lý thuyết độ chắc chắn
Chương V: Cài đặt công cụ suy diễn - phân tích bài toán đánh giá chấtlượng chương trình giáo dục
Chương VI: Kết luận và định hướng phát triển
Trang 9Cấu trúc của đồ án:
Trong thời gian thực hiện đồ án, tuy đã hết sức cố gắng cùng với sự giúp đỡtận tình của thầy hướng dẫn nhưng do hạn chế về thời gian cũng như trình độkiến thức nên chắc chắn đồ án này không tránh được thiếu sót Rất mong nhậnđược ý kiến đóng góp chỉ bảo của các thầy cô giáo và những ai quan tâm
Bộ công cụ suy diễn trong hệ
Trang 10CHƯƠNG I: GIỚI THIỆU CHUNG VỀ CÔNG NGHỆ PHẦN MỀM VÀ
HỆ CHUYÊN GIA
1.1 Công nghệ phần mềm
1.1.1 Định nghĩa công nghệ phần mềm
Bauer (1969): Công nghệ phần mềm là việc thiết lập và sử dụng các nguyên
lý công nghệ đúng đắn để thu được phần mềm một cách kinh tế vừa tin cậy vừalàm việc hiệu quả trên các máy thực
Parnas(1987): Công nghệ phần mềm là việc xây dựng phần mềm nhiềuphiên bản bởi nhiều người
Ghezzi (1991): Công nghệ phần mềm là một lĩnh vực của khoa học máytính, liên quan đến xây dựng các hệ thống phần mềm vừa lớn vừa phức tạp bởimột hay một số nhóm kỹ sư
IEEE (1993) : Công nghệ phần mềm là:
1 Việc áp dụng phương pháp tiếp cận có hệ thống, bài bản và được lượnghóa trong phát triển vận hành và bảo trì phần mềm
2 Nghiên cứu các phương pháp tiếp cận được dùng trong (1)
Pressman (1995): Công nghệ phần mềm là sự phát triển của công nghệphần cứng và hệ thống Nó bao gồm một tập gồm ba yếu tố chủ chốt: phươngpháp, công cụ và thủ tục làm cho người quản lý kiểm soát được tiến trình pháttriển phần mềm và cung cấp cho người hành nghề một nền tảng để xây dựngphần mềm chất lượng cao theo một cách có hiệu suất
1.1.2 Vòng đời phần mềm
Vòng đời phần mềm là thời kỳ tính từ khi phần mềm được sinh ra cho đếnkhi không được sử dụng nữa (từ lúc hình thành đáp ứng yêu cầu, vận hành bảodưỡng cho đến khi loại bỏ không đâu dùng) Quy trình phát triển phần mềm baogồm 3 giai đoạn chính: xác định, phát triển và bảo trì
Giai đoạn xác định tập trung vào cái gì Giai đoạn này tập trung vào xác
định thông tin nào cần được xử lý, chức năng và hiệu năng nào cần có, giao diệnnào cần được thiết lập, ràng buộc thiết kế nào hiện có và tiêu chuẩn hợp lệ nào
Trang 11cần có để xác định ra một hệ thống thành công Yêu cầu chủ chốt của hệ thống
và phần mềm được xác định Có ba bước riêng vẫn xuất hiện dưới dạng:
Phân tích hệ thống: Xác định ra vai trò của từng phần tử trong hệ thống dựa
trên máy tính, chỉ ra vai trò mà phần mềm sẽ giữ
Lập kế hoạch dự án phần mềm: Một khi phạm vi của phần mềm được thiết
lập, rủi ro được phân tích, tài nguyên được cấp phát, chi phí được ước lượng thìphải xác định nhiệm vụ công việc và lập lịch
Phân tích yêu cầu: Phân tích phần mềm làm cho người phân tích hệ thống
có thể xác định được chức năng và hiệu suất của phần mềm, chỉ ra giao diện củaphần mềm với các phần tử hệ thống khác, và thiết lập những ràng buộc thiết kế
mà phần mềm phải đáp ứng
Giai đoạn phát triển tập trung vào thế nào Người phát triển cố gắng xác
định cách cấu trúc dữ liệu và kiến trúc phần mềm cần được thiết kế, các chi tiếtthủ tục được cài đặt, cách dịch thiết kế vào ngôn ngữ lập trình và cách thực hiệnkiểm thử Phương pháp được áp dụng trong giai đoạn phát triển sẽ thay đổinhưng có 3 bước đặc thù bao giờ cũng xuất hiện dưới dạng:
Thiết kế phần mềm: Thiết kế dịch các yêu cầu về phần mềm thành một tập
hợp các biểu diễn (dựa trên đồ hoạ, bảng hay ngôn ngữ) mô tả cho cấu trúc dữliệu, kiến trúc, thủ tục thuật toán và đặc trưng giao diện
Thiết kế phần mềm được tiến hành theo hai bước Thiết kế sơ bộ quan tâmtới việc dịch các yêu cầu thành kiến trúc dữ liệu và phần mềm Thiết kế chi tiếttập trung vào làm mịn biểu diễn kiến trúc để dẫn tới cấu trúc dữ liệu chi tiết vàbiểu diễn thuật toán cho phần mềm
Mã hoá: Các biểu diễn thiết kế phải được dịch thành ngôn ngữ nhân tạo
(ngôn ngữ có thể là ngôn ngữ lập trình quy ước hoặc ngôn ngữ phi thủ tục dùngtrong hoàn cảnh của khuôn cảnh 4GT) mà sẽ tạo ra kết quả là các lệnh thực hiệnđược trên máy tính Bước mã hoá thực hiện việc này
Kiểm thử phần mềm: Mỗi khi phần mềm đã được cài đặt dưới dạng mã máy
thực hiện được cần phải kiểm thử nó để phát hiện các khiếm khuyết khi vậnhành, trong logic và trong cài đặt
Giai đoạn bảo trì tập trung vào những thay đổi gắn với việc sửa lỗi, thíchứng khi môi trường phần mềm tiến hoá và sự nâng cao gây ra bởi thay đổi yêu
Trang 12cầu người dùng Giai đoạn bảo trì áp dụng lại các bước của giai đoạn xác định vàphát triển nhưng làm việc đó trong hoàn cảnh phần mềm hiện có Có ba kiểuthay đổi gặp phải trong giai đoạn bảo trì:
Sửa đổi: Phần mềm luôn có lỗi tiềm tàng Do vậy cho dù các hoạt động bảo
đảm chất lượng phần mềm tốt nhất, vẫn có thể là khách hàng sẽ phát hiện rakhiếm khuyết trong phần mềm Bảo trì sửa đổi thay đổi phần mềm để sửa cáckhiếm khuyết
Thích nghi: Qua thời gian, môi trường ban đầu để phát triển phần mềm có
thể thay đổi Bảo trì để thích nghi thực hiện việc sửa đổi phần mềm để nó thíchhợp với những thay đổi môi trường bên ngoài
Nâng cao: Khi phần mềm được dùng, khách hàng người dùng sẽ nhận ra
những chức năng phụ có lợi Bảo trì hoàn thiện mở rộng phần mềm ra ngoài cácyêu cầu chức năng gốc của nó
Trang 13thích ứng với các đặc tính của dự án phần mềm và yêu cầu của đội dự án Cuốicùng các hoạt động bao như các bảo đảm chất lượng phần mềm, quản lý cấuhình phần mềm, bảo trì- bao trùm mô hình quy trình Các hoạt động bao trùmđộc lập với bất cứ hoạt động khung nào và diễn ra trong suốt quy trình.
1.2 Hệ chuyên gia
1.2.1 Khái niệm về hệ chuyên gia
Hệ chuyên gia là chương trình máy tính được thiết kế để mô hình hoá khảnăng giải quyết vấn đề của người chuyên gia
Hệ chuyên gia bao gồm 2 yếu tố quan trọng là tri thức chuyên gia và lập luận.:
Cơ sở tri thức chứa các tri thức chuyên sâu về lĩnh vực như chuyên gia Cơ sở
này gồm các sự kiện, các luật, các khái niệm và các quan hệ Người ta cần thể hiệncác tri thức này ở dạng thích hợp
Môtơ suy diễn là bộ xử lý tri thức được mô hình hoá theo cách lập luận của
chuyên gia Môtơ hoạt động trên thông tin về vấn đề đang xét, so sánh với tri thứclưu trong cơ sở tri thức rồi rút ra kết luận hay bình luận Như vậy, người ta cần có
kỹ thuật về suy diễn
1.2.2 Cấu trúc hệ chuyên gia
1.2.2.1 Cơ sở tri thức
Trong hệ chuyên gia, các tri thức chuyên gia được bảo quản trong cơ sở tri
thức Cơ sở tri thức là thành phần chính bên cạnh thành phần giải vấn đề trong
hệ thống dựa trên tri thức Trong khuôn khổ của hệ chuyên gia thì cơ sơ tri thứcđược định nghĩa là một phần trong hệ chuyên gia chứa các tri thức về lĩnh vực.Sức mạnh của hệ chuyên gia chính là từ cơ sở tri thức của nó Chất lượng củaphần này là quyết định đến mức độ đúng đắn của hệ chuyên gia
1.2.2.2 Bộ nhớ làm việc
Bộ nhớ làm việc là một phần trong hệ chuyên gia chứa các sự kiện của vấn
đề đang xét Khi trao đổi với hệ chuyên gia, người dùng nhập thông tin về vấn đềhiện tại vào bộ nhớ làm việc Hệ thống khớp thông tin này với tri thức trong cơ
sở tri thức để suy luận ra sự kiện mới Hệ thống lại nhập sự kiện mới này vào bộnhớ làm việc và tiếp tục quá trình Vậy bộ nhớ làm việc sẽ có các thông tin dongười dùng đưa vào và các thông tin do máy suy luận ra Các thông tin này đượcgọi là ngữ cảnh của phiên làm việc
Trang 141.2.2.3 Môtơ suy diễn
Hệ chuyên gia mô hình hoá quá trình suy diễn của con người trong khối
môtơ suy diễn Môtơ suy diễn là quá trình trong hệ chuyên gia, cho phép khớp
các sự kiện trong bộ nhớ làm việc với các tri thức về lĩnh vực trong cơ sở trithức, để rút ra kết luận về vấn đề
Môtơ suy diễn làm việc trên các sự kiện trong bộ nhớ làm việc và tri thức
về lĩnh vực trong cơ sở tri thức để rút ra thông tin mới Vậy nó cần tìm các luật
để khớp phần giả thiết của luật với thông tin có trong bộ nhớ Khi phát hiện thấykhớp, kết luận của luật này là thông tin mới
1.2.2.4 Phương tiện giải thích
Phương tiện giải thích được dùng để giải thích cho người dùng “tại sao” nóyêu cầu một câu hỏi và “cách” đi đến kết luận
Phương tiện giải thích tạo thuận lợi cho cả người phát triển hệ thống vàngười sử dụng Người phát triển hệ thống có thể dùng nó để phát hiện ra chỗ saitrong tri thức của hệ thống Người dùng sẽ dễ dàng hiểu được lập luận của hệthống
Giải thích về cách suy luận: Việc giải thích cách suy luận của hệ chuyêngia sẽ khiến người dùng tin tưởng thêm vào khuyến cáo của hệ thống, và cũng làcách để nâng cao độ tin cậy của kết luận
Giải thích tại sao: Để trả lời câu hỏi tại sao, hệ chuyên gia mô tả cáchđưa ra kết luận Đa số hệ chuyên gia liệt kê danh sách các luật đã dùng trongviệc rút ra kết luận
Có ba tiêu chuẩn chính để thiết kế một bộ giải thích: sự đúng đắn, dễ hiểu
và thân thiện với người sử dụng Những tiêu chuẩn này đặc biệt quan trọng bởi
vì người dùng các hệ chuyên gia nói chung được coi là những người không biết
gì về hệ thống Do đó các giải thích của hệ chuyên gia phải được diễn đạt bằngngôn ngữ của lĩnh vực sử dụng chứ không phải bằng thuật ngữ máy tính
Trang 151.2.2.5 Giao diện
Tương tác giữa hệ chuyên gia và người dùng thường được thiết kế theokiểu như ngôn ngữ tự nhiên Yêu cầu đặt ra đối với người thiết kế là đảm bảotương tác này như tương tác giữa những con người Yêu cầu cơ bản về thiết kế làtrả lời được các câu hỏi
Tóm lại ta có các thành phần chung của hệ chuyên gia như sau:
Chuyên gia,
Phương tiện giải thích
Thu thập tri
Mô tơ suy luận
Cơ sở tri thức
Bộ nhớ làm việc
Hình 1.2: Các thành phần của hệ chuyên gia
Trang 16CHƯƠNG II: ỨNG DỤNG CÔNG NGHỆ PHẦN MỀM TRONG BÀI
TOÁN HỆ CHUYÊN GIA
Xây dựng một ứng dụng trong hệ chuyên gia cũng giống như xây dựng bất
kỳ một phần mềm nào khác đều tuân theo quy trình phát triển phần mềm gồmcác giai đoạn chính xác định, phát triển và bảo trì Tuy nhiên do những đặc trưngcủa bài toán hệ chuyên gia mà quá trình xây dựng một ứng dụng hệ chuyên gialuôn có những nét đặc trưng riêng Người ta chia quy trình phát triển một bàitoán hệ chuyên gia thành 6 pha như sau:
1 Xác định tình hình tổ chức
2 Định tên các vấn đề liên quan
3 Tiến hành nghiên cứu khả thi
4 Phân tích giá/lợi nhuận
Trang 17Sau khi xác định được tình hình tổ chức, nếu tổ chức dùng các ứng dụngcủa hệ chuyên gia, trước hết người ta cần lên danh sách các vấn đề cần được cảithiện Người ta thực hiện việc định tên trước các nghiên cứu khả thi và phân tíchgiá/lợi nhuận; nó được gọi là tiền xác định Nhiệm vụ này chỉ thích hợp đối với
tổ chức theo tiếp cận giải pháp Trong trường hợp người ta đã có vấn đề trongđầu, tức theo tiếp cận vấn đề thì người ta cần một loạt các bước liên quan đếntính khả thi và yêu cầu của bài toán
Mục đích của nghiên cứu khả thi là xác định xem dự án có đảm bảo hầunhư thành công không Trong dự án hệ chuyên gia, công tác nghiên cứu khả thiđược tiến hành theo 2 bước:
(1)Bước thứ nhất: xem xét các chi tiết tối cần thiết Danh sách các hạng
mục được kiểm tra cẩn thận trước khi dự án thay đổi Các chi tiết này gồm cáctài nguyên riêng, tài nguyên trí tuệ và nhân lực
(2)Bước thứ hai: xét tiếp các chi tiết quan trọng trong dự án, liên quan đến
tài nguyên của tổ chức Các chi tiết này ảnh hưởng đến sự thành công của dự án,
và gồm các đặc trưng, các khả năng phát triển của tổ chức
Sau khi xác định được phương án khả thi cho dự án, người ta sang bướctiếp theo là xác định lợi nhuận của dự án Với nhiều dự án, dùng phân tích giá/lợinhuận tỏ ra thuận lợi Tổ chức cần biết việc đầu tư thời gian và tiền của vào dự
án có xác đáng hay không Trong điều kiện bình thường, việc phân tích đã khó;với công nghệ mới như hệ chuyên gia thì người ta còn phải xử lý thêm các vấn
đề liên quan đến tính không chắc chắn
Đối với mỗi vấn đề cần áp dụng hệ chuyên gia, người ta cần có thông tin vềtính khả thi và lợi ích của dự án để đánh giá mức độ cần thiết Khi khẳng địnhđược việc ứng dụng hệ chuyên gia, cần chọn ra một phương án trong số cácphương án khả thi đó Người ta dùng những con số định lượng là giá trị ứng vớitính khả thi, giá trị ứng với giá/lợi nhuận Các con số này cho phép so sánh cácphương án một cách dễ dàng Tuy vậy, cũng cần đến các giá trị định tính, mangtính người
Công việc cuối cùng trong giai đoạn này là viết dự thảo dự án Bản dự thảonày cho biết điều hệ chuyên gia sẽ làm và cách thức nó hoàn tất các nhiệm vụ,tức là trả lời câu hỏi cho cái gì và như thế nào; mô tả các tài nguyên hệ thống
Trang 18như tên chuyên gia lĩnh vực, các yêu cầu về phần cứng và các ràng buộc như bảnquyền, thời gian thực hiện
2.2 Thu thập tri thức
Liên quan đến việc thu thập tri thức cho dự án hệ chuyên gia, người ta đềcập đến các nội dùng sau:
Các loại tri thức khác nhau
Các nguồn có thể cung cấp cho dự án
Thời gian cần thiết cho công việc thu thập tri thức
Vai trò của từng thành viên tham gia vào nhóm thu thập tri thức
Phân tích tri thức
2.2.1 Các loại tri thức
Có nhiều kỹ thuật khác nhau để thu thập tri thức Mỗi kỹ thuật sẽ thích hợpvới những kiểu tri thức nhất định Hiểu rõ các loại tri thức và các kỹ thuật pháthiện tri thức sẽ cho phép ta chọn được kỹ thuật đúng đắn nhất
2.2.2 Các nguồn tri thức
Có rất nhiều nguồn tri thức trong một dự án Mỗi nguồn cung cấp một sốthông tin Ta phải xem xét hết mọi nguồn tri thức bao gồm:
Chuyên gia: Nguồn tri thức cơ bản nhất do mỗi dự án là các
chuyên gia lĩnh vực Họ cung cấp những ý kiến chuyên môn đáng chú ý
Người dùng cuối: Một nguồn thông tin có giá trị là các người
dùng cuối Chuyên gia thường nhìn vấn đề ở mức thấp, chỉ xem xét các chi tiếtquan trọng Người dùng cuối nhìn vấn đề ở mức cao, xem xét các vấn đề chủyếu Người dùng cuối cũng tìm ra những sai sót trong hoạt động của hệ thống
Nhiều chuyên gia: Phần lớn các dự án hệ chuyên gia đều sử
dụng một chuyên gia lĩnh vực trong quá trình thu thập tri thức Điều này chophép chú trọng vào các kiến thức thu được từ chuyên gia và tránh được nhầm lẫnkhi nhiều chuyên gia cung cấp những tri thức xung đột nhau Tuy nhiên, có thể
sử dụng nhiều chuyên gia để thu thập các tri thức chuyên biệt trong một số vấn
đề con
Trang 19 Các tài liệu: Một nguồn tri thức cần được xem xét nữa là các
tài liệu như các báo cáo, quy định, hướng dẫn và các quyển sách Các tài liệu này
có thể giúp xác định và làm sáng rõ các thuật ngữ của vấn đề Chúng cũng cungcấp những hiểu biết về vấn để cơ bản và chi tiết về các tri thức có thể được sửdụng trong hệ thống cuối cùng
2.2.3 Quá trình thu thập tri thức
iMac
Tr¶ lêi Hái
Tri thøc KÕt qu¶
Chuyªn gia lÜnh vùc Kü s tri thøc HÖ chuyªn gia
Hình 2.1: Quá trình thu thập tri thức
Thu thập tri thức là quá trình lặp đi lặp lại Người ta tuân theo các nhiệm vụthu thập, diễn tả lại, phân tích và thiết kế phương pháp thu thập các tri thức phụ
1. Thu thập: Thu thập là nhiệm vụ lấy tri thức mà các chuyên gia có Công
việc này đòi hỏi sử dụng các kỹ thuật phỏng vấn và phải được huấn luyện mộtcách bài bản Người ta cần các kỹ năng giao tiếp mang tính người và khả nănghợp tác với người đối thoại
2 Diễn tả: Diễn tả thông tin thu được tức là xác định các ý chính của tri thức, chẳng hạn như các khái niệm, quy luật, chiến lược…
3 Phân tích: Việc phân tích đòi hỏi nghiên cứu các khía cạnh chính của tri thức chưa lộ ra trong nhiệm vụ đặc tả, diễn giải vừa thực hiện Như vậy, người ta phải đi sâu hơn để tạo dựng mô hình hình thức tổ chức tri thức và chiến lược giải quyết vấn đề.
4 Thiết kế: Thiết kế thu thập tri thức là nhiệm vụ chuẩn bị cho cuộc gặp với các chuyên gia Đến giai đoạn này người ta đã hiểu được vấn đề một cách hình thức Tuy nhiên còn phải phát hiện được các khái niệm mới Điều này cần đến các kỹ thuật lấy thông tin dùng cho lần gặp sắp tới với chuyên gia.
Trang 202.2.4 Thời gian cần thiết cho việc thu thập tri thức
Trong khi thực hiện dự án hệ chuyên gia, quá trình thu thập tri thức đượclặp đi lặp lại Mỗi nhiệm vụ trong quá trình này đòi hỏi lượng thời gian khácnhau
Nhiệm vụ thu thập chiếm một phần nhỏ thời gian trong toàn bộ quy trình.Sau khi thu thập tri thức, phải nghiên cứu thông tin để xác định và diễn tả cácvấn đề chủ yếu của tri thức Sau đó, ta cần phải phân tích các vấn đề chủ yếu đãxác định ở trên Cuối cùng những phân tích này có thể giúp thiết kế ra một phiênthu thập mới Ví dụ như tìm ra một khái niệm mới cần được nghiên cứu trong lầnlàm việc tiếp theo với chuyên gia
Trong quá trình thu thập tri thức, ta thường gặp phải một số khó khăn Hầuhết các trục trặc đều nảy sinh từ những tri thức chuyên gia không chính xác,được liệt kê dưới đây:
- Tri thức không được biết trước
- Tri thức cô đọng
- Cung cấp cả tri thức không liên quan
- Tri thức không đầy đủ
- Tri thức không chính xác
- Tri thức không bền
2.2.5 Vai trò của từng thành viên tham gia
Trong dự án hệ chuyên gia quan trọng, quá trình phát hiện tri thức liên quanđến 3 nhóm người chính sau: người dùng cuối, chuyên gia lĩnh vực và kỹ sư hệthống Trong đó mỗi nhóm người có một vai trò khác nhau
Người dùng cuối: cung cấp hiểu biết ban đầu về vấn đề, giúp xác định các
yêu cầu thực hiện hệ thống Họ nhìn vấn đề ở mức cao hơn các chuyên gia lĩnhvực Họ có thể dễ dàng giải thích các kết quả mong đợi và cung cấp hiểu biết vềcác vấn đề chủ yếu có thể chưa lộ ra trong quá trình phát hiện tri thức Họ xácđịnh yêu cầu giao diện, xác định yêu cầu giải thích, trợ giúp quá trình phát triểncủa hệ thống
Trang 21Chuyên gia: là nguồn thông tin cơ bản của hệ thống Họ cung cấp kiến thức
các kỹ năng giải quyết vấn đề Họ cung cấp tri thức, trợ giúp diễn tả/phân tích,trợ giúp kiểm thử Trong quá trình nghiên cứu, các chuyên gia có thể giúp pháthiện ra các khái niệm mới và các phương thức giải quyết vấn đề, cung cấp cáchướng dẫn về các thông tin mới này liên quan như thế nào đến các tri thức đãkhám phá trước đây Các chuyên gia sẽ quyết định các tri thức đã tồn tại làchính xác hay cần thay đổi
Kỹ sư tri thức: phải thực hiện một loạt các công việc từ giới thiệu công
nghệ mới với tổ chức cho đến khi tích hợp hệ chuyên gia vào không gian làmviệc Các công việc cơ bản của người kỹ sư tri thức là thu thập, diễn tả, phân tíchtri thức Các công việc này được lặp đi lặp lại
2.2.6 Phân tích tri thức
Sau khi xác định ra các thông tin, chúng cần được sắp xếp và nghiên cứu.Một câu hỏi đặt ra là “Các thông tin với phù hợp như thế nào với những điều đãbiết về vấn đề?” Để trả lời câu hỏi này, cần chỉ ra cách các thông tin mới hỗ trợhay quan hệ với các thông tin đã tồn tại Công việc này bao hàm việc quyết địnhcác thông tin mới liên kết với các khái niệm đã biết có liên quan như thế nào, nóthêm chi tiết cho các thông tin đã có như thế nào, hoặc nó phát hiện ra các luậthoặc các khái niệm mới như thế nào Cần phải hỏi các chuyên gia để xem xét lạikết quả phân tích, để khẳng định lại những điều đã tìm ra và thực hiện các điềuchỉnh cần thiết
2.2.6.1 Ghi lại tri thức
Bước đầu tiên của phân tích là ghi mỗi mẩu thông tin mới với các mẩu rủi
ro tương tự đã được tìm ra trong quá trình phỏng vấn trước đây Ta cũng cần ghilại các thông tin mới theo thứ tự abc trong từ điển tri thức
Từ điển tri thức là một phần của tài liệu dự án, nó có từng phần cho mỗiloại tri thức như khái niệm, đối tượng, luật Mỗi mẩu tri thức mới được thêm vàocần có tham chiếu tới nguồn của nó Nếu tri thức được tìm ra trong phiên thuthập, phải ghi lại nó với ngày tháng
Trang 222.2.6.2 Liên kết tri thức
Bước tiếp theo bao gồm sắp xếp và liên kết các mẩu thông tin với các thôngtin đã ghi trước đó Đây là công việc phức tạp, bởi vì thường rất khó khăn đểliên kết các thông tin theo giống cách thức như chuyên gia
Quá trình sắp xếp là một quá trình lặp đi, lặp lại Các mối quan hệ đượctinh chỉnh thậm chí ghi lại theo kiểu đồ hoạ Nhiệm vụ này phát hiện ra các cấutrúc và tổ chức tự nhiên của các mẩu tri thức đã thu thập được
2.2.6.3 Xem xét lại tri thức
Sau khi các thông tin thu đuợc được sắp xếp và liên kết, cần phải xem xétlại kết quả Từ những xem xét này, có thể thấy được các cấu trúc khái niệm tiếnhoá, các chiến lược và các mạng luật phát triển Mỗi bước trong quá trình xemxét cần có chuyên gia khẳng định lại các hiểu biết về các tri thức đã thu thậpđược
2.2.6.4 Cấu trúc các tri thức một cách đồ hoạ
Các nhà phát triển hệ chuyên gia và các nhà khoa học có kinh nghiệm sửdụng nhiều kỹ thuật khác nhau để biểu diễn mối quan hệ tri thức một cách đồhoạ Các kỹ thuật thường được sử dụng là:
Bất cứ kỹ thuật đồ hoạ nào dùng để biểu diễn các tri thức thu thập đượccũng hữu ích với các chuyên gia Biểu đồ cung cấp biểu diễn trực quan trước khi
nó được mã hoá trong hệ chuyên gia Chúng tránh cho các chuyên gia phải đọc
mã chương trình
Trang 232.3 Thiết kế
Công việc thiết kế bắt đầu bằng việc lựa chọn kỹ thuật để biểu diễn tri thức
và chiến lược điều khiển Sau đó là chọn công cụ phần mềm phù hợp với nhucầu của vấn đề Người ta thường xây dựng hệ thống nhỏ làm mẫu để kiểm chứng
dự án và hướng dẫn cho công việc về sau Hệ thống này lại được phát triển đểthích ứng với các mục đích của dự án Quá trình thiết kế hệ thống xử lý tri thứcđược cấu trúc theo các nhiệm vụ sau:
Lựa chọn kỹ thuật thể hiện tri thức
Chọn kỹ thuật điều khiển, hay kỹ thuật giải quyết vấn đề
Chọn phần mềm phát triển hệ chuyên gia
Phát triển mẫu
Phát triển giao diện
2.3.1 Chọn kỹ thuật thể hiện tri thức
Chọn được kỹ thuật thể hiện khớp nhất với các cách mô hình hoá các trithức vấn đề của chuyên gia thì tốt nhất Tuy nhiên, yêu cầu này đòi hỏi quá sứcthông thường, cho nên người ta thường dựa trên tài nguyên và khả năng hiện có Tuy đã có nhiều kỹ thuật để thể hiện tri thức trong hệ chuyên gia, nhưngtrong phạm vi nhiệm vụ này người ta đề cập các tiếp cận dựa trên khung, trênluật, hay quy nạp
2.3.1.1 Tiếp cận dựa trên khung
Tiếp cận khung phù hợp khi chuyên gia mô tả bài toán bằng cách hướngđến các đối tượng quan trọng và các mối quan hệ giữa các đối tượng, đặc biệt tácđộng của đối tượng này lên đối tượng kia Tình huống này thường xuất hiệntrong các vấn đề mô phỏng hoặc trong các vấn đề có quan hệ nhân quả
2.3.1.2 Tiếp cận dựa trên luật
Tiếp cận luật dựa trên các phát biểu theo IF … THEN Cách này thườngkhông miêu tả sâu về các đối tượng của vấn đề như tiếp cận khung Các vấn đềrơi vào các tình huống điển hình này khi chuyên gia khẳng định ý nào đó theothông tin sẵn có
Trang 242.3.1.2 Tiếp cận quy nạp
Quy nạp là thích hợp khi có các thí dụ, các quan sát trong quá khứ Các thí
dụ này được dùng để rút ra các luật hoặc các cây quyết định, cho phép nắm đượctri thức giải vấn đề
2.3.2 Chọn kỹ thuật điều khiển
Sau khi trao đổi với chuyên gia, người ta có thể thấy cách thức điều khiểncác tri thức một cách phù hợp Để rõ thêm người ta thường yêu cầu chuyên gialàm việc cụ thể trên hệ thống điển hình và theo dõi cách thu thập thông tin cũngnhư cách lập luận giải vấn đề Ngoài ra nên lưu ý về chiến lược tổng thể màchuyên gia dùng
2.3.2.1 Suy diễn tiến
Suy diễn tiến phù hợp với trường hợp thu thập thông tin về vấn đề rồi pháthiện ra đích cần kết luận Khi đó dữ liệu vận hành quá trình lập luận Dựa vào dữliệu, người ta suy ra các kết luận Tiếp cận này phù hợp với tình huống với ít dữliệu mà cần rút ra nhiều lời giải Do vậy, người ta so sánh số lượng dữ liậu đã cóvới số lượng kết luận cần biết là yếu tố để chọn cách suy diễn tiến
2.3.2.2 Suy diễn lùi
Suy diễn lùi là phương pháp tốt đối với các chuyên gia xem xét đích hayquyết định nào đó trước tiên, rồi mới có ý định tìm thông tin trợ giúp Như vậychuyên gia chú trọng vào một vài giả thiết hay khuyến cáo Nếu số các đích làquá ít so với dữ liệu sẵn có thì nên dùng tiếp cận suy diễn lùi
2.3.3 Lựa chọn phần mềm phát triển hệ chuyên gia
Phần mềm được chọn để các khả năng của nó khớp với các khía cạnh màvấn đề yêu cầu Thực tế cho thấy, có nhiều phần mềm hệ chuyên gia từ các ngônngữ lập trình đến các công cụ phát triển trên các loại máy tính
Các phần mềm hệ chuyên gia được tách ra thành các phạm trù ngôn ngữ vàcông cụ Các ngôn ngữ điển hình dùng để tạo hệ chuyên gia là LISP Prolog.OPS, C …Các hệ thống hướng đối tượng hay hệ thống dựa trên khung thường
Trang 25dùng C++, Flavors, SmallTalk Mỗi ngôn ngữ đều cung cấp cho người thiết kế
độ mềm dẻo để phát triển hệ thống, đáp ứng các đặc tả dự án
Các công cụ cung cấp cho người thiết kế một môi trường tạo dựng hệthống Đó là cấu trúc thể hiện tri thức, môtơ suy luận, phương tiện giải thích vàgiao diện Ngoài ra các công cụ cho phép người ta tăng cường phát triển và tìmlỗi Nhìn chung, các công cụ được chia thành các hệ thống dựa trên luật, hệthống dựa trên khung, hệ thống quy nạp hay hệ thống lai(kết hợp các kỹ thuật).Các công cụ dùng để phát triển hệ thống một cách dễ dàng hay để tạo mẫu mộtcách nhanh chóng
Các công cụ về hệ chuyên gia cho phép người ta thiết kế và kiểm thử hệthống Để lựa chọn các công cụ thuận lợi và suôn sẻ, người ta cần quan tâm đếnmột số khả năng sau của hệ chuyên gia:
(1) Mã hoá tri thức Có hai cách mã hoá tri thức nhờ công cụ phát triển.
Một vài công cụ đòi hỏi người phát triển soạn thảo các mã nguồn của cả tri thức
và thông tin điều khiển Tiếp cận này tương tự như viết chương trình cổ điển.Một vài công cụ khác theo tiếp cận soạn nhanh; dùng mẫu để tạo ra các luật, cáckhung và các tri thức điều khiển
(2) Lập luận không chính xác Kỹ thuật này áp dụng cho nhiều bài toán.
Các kỹ thuật phổ biến là: tiếp cận Bayes, lý thuyết chắc chắn và logic mờ Hầuhết các công cụ đều dùng lý thuyết chắc chắn dưới các dạng khác nhau; một sốkhác dùng logic mờ hay định lý Bayes Các công cụ này mới chỉ dùng một dạnglập luận không chắc chắn, nhưng trong tương lai chúng sẽ dùng các dạng lậpluận đa dạng
(3) Tập các luật Người ta có thể dùng tập các luật ứng với khía cạnh quan
trọng trong hệ chuyên gia Điều đó dễ đảm bảo tính mô đun hoá trong việc thiết
kế hệ chuyên gia, và trong cả kiểm thử hay bảo trì hệ chuyên gia Hầu hết các
công cụ dùng các tập luật tách biệt đều đòi hỏi người phát triển hệ thống dùngcác cơ sở tri thức riêng và chỉ gắn cơ sở tri thức với các nơi cần thiết, có yêu cầu
(4) Truy nhập chương trình ngoài Các công cụ cần phải có cơ chế mở để
người ta truy nhập cả các thông tin từ chương trình ngoài Các công cụ này cóthể truy nhập hay thay đổi thông tin trong CSDL hoặc bảng tính Chúng có thểkhai thác chương trình thủ tục đã viết bằng C, Pascal, Fortran, hay LISP để tínhtoán với con số hay ký hiệu
Trang 26(5) Các tiện ích tìm lỗi Nhiều công cụ với tiện ích tìm lỗi có thể trợ giúp
khâu thiết kế hay kiểm thử hệ chuyên gia Các tiện ích này có ích đối với các cơ
sở tri thức lớn, khi mà người ta khó theo dõi được tri thức mã hoá thế nào vàngười dùng sử dụng tri thức ra sao
2.3.4 Thiết kế giao diện người dùng
Lúc thiết kế hệ chuyên gia người ta đã phải để ý đến các tương tác trong hệthống của người dùng sau này Các công cụ đảm bảo một loạt khả năng để dựnglên một giao diện Khi thiết kế giao diện cần chú ý các yếu tố sau:
-Cách công cụ cung cấp cách đưa ra câu hỏi Người ta thường trả lời các
câu hỏi đúng/sai hay thực đơn cùng với các giá trị có thể nhận Ngoài ra có thểngười dùng sẽ trực tiếp gõ câu trả lời
-Cách giải thích Một trong các đặc trưng cơ bản của hệ chuyên gia là giải
thích được sự lập luận Hệ thống có thể giải thích các câu hỏi Why và How Hầuhết các công cụ trả lời câu hỏi tại sao bằng cách hiện ra các luật đang dùng Cònđối với câu hỏi như thế nào thì hệ chuyên gia lần theo vết của các luật đã đưa rakết luận
-Đồ họa Giao diện đồ hoạ trong hệ chuyên gia là cần thiết để người dùng
có thể nhập dữ liệu, quan sát hệ thống một cách dễ dàng
2.3.5 Phát triển mẫu
Phần này trình bày một số khía cạnh chung để phát triển một mẫu của hệchuyên gia Thường thì các dự án về hệ chuyên gia đã phát triển hệ thống dựatrên hệ thống mẫu Một mẫu là mô hình có đủ chức năng xử lý tri thức của hệthông thực sự Dù mẫu chỉ là hệ thống nhỏ, khả năng hạn chế, nhưng nếu đượcthiết kế thích hợp thì người ta có thể dùng nó cho các mục đích như:
Kiểm chứng tiếp cận hệ chuyên gia
Khẳng định lựa chọn kỹ thuật thể hiện tri thưc và các chiến lược điềukhiển
Đảm bảo phương tiện phù hợp để thu thập tri thức
Trang 27Để bắt đầu thiết kế mẫu người ta xác định chiến lược tổng quát, cũng nhưđối với một hệ chuyên gia thực sự Chiến lược này gồm một loạt các nhiệm vụmức cao cần thực hiện
Một loạt các nhiệm vụ này đảm bảo cho thấy tiếp cận giải vấn đề ở mứccao Mỗi nhiệm vụ có thể dẫn tới việc ra quyết định Tuy nhiên, người ta không
đi sâu vào vấn đề chi tiết, mà chỉ nhìn tổng quan về cách thức cấu trúc tiếp cậnvấn đề
Mỗi nhiệm vụ trong chiến lược tổng quát thể hiện đích mà hệ thống cần đạtđược Tập hợp các đích này tạo nên lịch đích đối với hệ thống Với các lịch đơngiản, người ta nêu ngay các danh sách nhiệm vụ chi tiết; còn đối với các lịchphức tạp thì cần dùng sơ đồ luồng Trước khi lập trình, người ta xin ý kiếnchuyên gia về các nhiệm vụ chi tiết vừa được phác thảo
2.4 Kiểm chứng hệ thống
Hệ chuyên gia mô hình hoá việc ra quyết định của hệ chuyên gia Hệ thống
sẽ cho kết luận như chuyên gia và lập luận như cách chuyên gia đã làm nếungười ta thiết kế nó hợp lý Việc kiểm chứng sẽ nhằm vào các ý nghĩa sau:
Kiểm chứng các kết quả của hệ thống
Kiểm chứng quá trình lập luận của hệ thống
2.4.1 Kiểm chứng lại kết quả
Mô hình kiểm thử hình thức một hệ chuyên gia sẽ cần đến các trường hợpthử Trường hợp kiểm thử thể hiện vấn đề cũ nào đó đã được giải thành công và
có đầy đủ thông tin về bài toán cũng như kết luận tương ứng Người đánh giá sẽchọn trường hợp thử Trong lúc thử, thông tin bài toán được lưu vào hệ chuyêngia và các khuyến cáo của hệ thống được so sánh với kết luận của trường hợp cũ
Có 3 lưu ý chính cho việc thiết kế phép thử để kiểm chứng các kết luận củamột hệ chuyên gia:
Chọn tiêu chuẩn thử
Chọn các trường hợp thử
Chọn người đánh giá
Trang 282.4.1.1 Chọn tiêu chuẩn kiểm thử
Mỗi dự án có một vài đích cần đạt Để xem dự án có đạt đích không, ngườithiết lập tiêu chuẩn đánh giá nên giữ vai trò phản biện quan trọng
Nếu tổ chức tiếp cận theo vấn đề, thì việc thiết lập tiêu chuẩn kiểm thử là
dễ Hệ thống cần cho biết mức độ hoàn thành các nhân tố đo được như giá, tăngnăng suất, cải thiện chất lượng sản phẩm… Tuy các nhân tố này là nhân tố cụ thểnhưng khi cần lượng hoá cũng không quá dễ dàng
Một cách tiếp cận khác liên quan đến việc so sánh tương quan về hiệu suấtcủa hệ thống với hiệu suất của chuyên gia lĩnh vực
2.4.1.2 Chọn các trường hợp kiểm thử
Tuỳ theo đặc tả của dự án mà người ta chọn các phương tiện đánh giá.Chẳng hạn nhiều hệ chuyên gia được thiết kế nhằm thuận tiện cho người dùngtrong các bài toán cần đến nhiều trình con Các trình con được phép chạy tựđộng; và các trình này được chạy nhau hơn hay không liên quan nhiều đến sựcan thiệp của người dùng Trong các ứng dụng này, phương tiện kiểm thử là cáctrường hợp mẫu đã giải, đó là các bài toán điển hình
Trong các ứng dụng khác, tổ chức cần hệ thống giải các vấn đề đa dạng.Khi đó, cần thu thập cả bài toán điển hình và bài toán bất thường Lúc kiểm thử
hệ thống, người ta tiến hành trên các vấn đề điển hình rồi mới sang các trườnghợp khó hơn
2.4.1.3 Chọn người đánh giá
Lựa chọn người đánh giá hệ chuyên gia cũng phụ thuộc vào các đặc tả banđầu của dự án Đối với hệ thống thiết kế ra để trợ giúp chuyên gia trong dự án thìngười ta có thể chọn ngay người đánh giá là chuyên gia này
Nếu hệ thống dùng cho các chuyên gia thì quá trình chọn lựa phức tạp hơn.Trước hết người ta đề ra cách thức khái thác các chuyên gia Phải kiểm tra thửkiến thức của chuyên gia đã mã hoá trong hệ thống Lý tưởng nhất là nhữngngười đánh giá độc lập xác định hiệu suất của hệ thống và các chuyên gia kháccũng xác định để đi đến hiệu suất thực Tuy nhiên việc này không dễ dàng dophải có sự cộng tác thân thiện giữa các chuyên gia Thường thì người ta yêu cầu
Trang 29một hay hai chuyên gia khác kiểm thử với phương tiện của họ theo phương phápthử “mù”; hệ thống không biết phương tiện thử và người đánh giá không biết trithức hệ thống.
Nếu hệ thống dùng cho người dùng không phải là chuyên gia thì nhữngngười này cần tham gia vào đội ngũ những người đánh giá
2.4.2 Kiểm chứng lập luận
Ngoài việc đánh giá kết quả của hệ chuyên gia, người ta muốn hiểu xem hệthống có kết luận có theo cách lập luận đúng không? Lý do chính của suy nghĩnày là số các trường hợp thử mẫu không nhiều Cho dù hệ thống là đúng đối vớivài trường hợp người ta không đảm bảo tính đúng với các trường hợp khác Sựtín nhiệm trong hệ thống này chỉ được thiết lập khi những người đánh gía camkết rằng việc thực hiện đúng dựa trên lập luận thông minh
Có hai cách tiếp cận để kiểm chứng sự lập luận của hệ thống:
1. Ở mức vĩ mô: Những người đánh giá có thể nghiên cứu các chi tiết đưa
đến khuyến cáo cuối cùng Hầu hết các hệ chuyên gia được thiết kế với chứcnăng biết được các chi tiết này trước khi cho ra kết luận cuối cùng Chẳng hạn hệthống lập kế hoạch tài chính cần quan tâm đến các chi tiết như ổn định thu nhập,mức rủi ro đầu tư Biết được các chi tiết này đối với một trường hợp sẽ làm tăng
sự tín nhiệm của hệ thống
2. Ở mức vi mô: Người ta duyệt tất cả các luật đưa đến kết luận để kiểm tra
tính đúng đắn Tiếp cận này tương tự như tiếp cận mà hệ thống tìm lỗi sử dụngtrong cơ sở tri thức của người thiết kế hệ thống
2.4.2.1 Giai đoạn 1 của đánh giá: thử sơ bộ
Ngay sau khi có hệ thống mẫu, người ta có ngay kiểm thử không hình thức
để đánh giá cơ sở tri thức một cách đầy đủ toàn diện Kiểm thử này có thể dùngtất cả các tổ hợp trả lời cho các câu hỏi hệ thống đặt ra Lời giải của hệ thốngđược kiểm tra theo từng tập câu trả lời
Loại thử này không chỉ đảm bảo kiểm tra bước đầu về hiệu suất của hệthống mà còn phát hiện:
Các đích không đạt được
Trang 30 Các kết luận trung gian không đạt được
Các luật không dùng đến
Các giả thiết không cần thiết hay không đáp ứng được
Các chiến lược suy luận nghèo nàn
Việc thử sơ bộ cũng lựa chọn cách thể hiện và lược đồ suy luận, chọn phầnmềm phát triển Trong giai đoạn kiểm thử này, người ta cần xem xét các khíacạnh sau:
Nghiên cứu toàn bộ cơ sở tri thức
Phát hiện những thiếu sót trong tri thức và trong chiến lược suy luận
Kiểm chứng kỹ thuật thể hiện tri thức và tiép cận suy luận
Kiểm chứng việc lựa chọn phần mềm
2.4.2.2 Giai đoạn 2 của đánh giá : thử trình diễn
Mục đích của trình diễn là kiểm chứng tiếp cận hệ chuyên gia, không chỉ rahiệu suất của hệ chuyên gia mà chỉ mô tả khả năng đạt được đích Người ta thấyviệc trình diễn có ý nghĩa quan trọng ở chỗ hâm nóng lại nhiệt tình, hứng thú với
dự án
Để trình diễn đạt kết qủa tốt, người ta lưu tâm đến một vài điểm chuẩn bịtrình diễn Trước hết cần ghi lại khả năng cũng như hạn chế của hệ thống tronggiai đoạn thiết kế, Điều này giúp xác định phạm vi trình diễn Chẳng hạn ngừoi
ta chọn trình diễn một nhiệm vụ, trong khi hệ thống có thể giải nhiều nhiệm vụkhác
Tóm lại, các khía cạnh cần quan tâm trong trình diễn là:
Chọn phạm vi thích hợp với khả năng của chuyên gia
Dùng trình diễn để hoàn thiện hệ thống
Nêu các điểm mạnh của hệ chuyên gia
Thiết kế giao diện phù hợp với nhu cầu người dùng
Người ta dùng các thông tin thu đuợc sau trình diễn để cải thiện hệ thống
2.4.2.3 Giai đoạn 3 của đánh giá: thử kiểm tra phi hình thức
Loại thử này cho phép dễ dàng phát hiện các vấn đề chưa biết trong tri thức
hệ thống Khi hệ thống không thể giải được bài toán điển hình, người ta thường
Trang 31định vị tri thức sai hay nhận ra những thông tin thiếu Với sự trợ giúp của chuyêngia, người ta cũng phát hiện được trục trặc khi giải vấn đề bằng cách dò theo vếtsuy luận và phát hiện chiến lược giải quyết khác.
Nếu ứng dụng yêu cầu, việc thử này có thể đánh giá khả năng tương tác của
hệ chuyên gia với cơ sở dữ liệu hay chương trình ngoài Kiểm thử cũng bao gồm
cả kiểm thử giao diện… Tóm lại trong giai đoạn thử cần quan tâm đến vài khíacạnh sau:
Chọn trường hợp điển hình để giải
Đánh giá khả năng của hệ thống đối với việc giải các trường hợp điểnhình
Xác định thiếu sót của hệ thống
Thu thập nhận xét của người dùng
2.4.2.4 Giai đoạn 4 của đánh giá: kiểm thử tinh chỉnh hệ thống
Sau khi hệ thống đã làm việc tốt với các trường hợp điển hình, người tadùng các trường hợp phức tạp hơn để kiểm thử Các kiểm thử này ít nhiều sẽlàm tinh hệ thống, cả về tri thức lẫn điều khiển Thể hiện ở các khía cạnh:
Chọn các trường hợp đặc biệt
Đánh giá khả năng của hệ thống khi giải các trường hợp không điển hình
Phát hiện thiếu sót về tri thức và về điều khiển
Ghi nhận các nhận xét của người dùng
2.4.2.5 Giai đoạn 5 của đánh giá: kiểm thử phi hình thức
Các nhiệm vụ kiểm thử nêu trong các mục trên nhằm phục vụ cho khâuthiết kế Các kết quả thử cho biết thiết sót của hệ thống và phương hướng pháttriển Tiếp theo người ta tiến hành phép thử với đánh giá hình thức về hệ chuyêngia Lúc này, người ta kiểm tra hệ thống tốt đến đâu so với đích của dự án theotừng mục tiêu của hệ chuyên gia
Việc kiểm thử cần ba chi tiết: phương tiện thử, tiêu chuẩn, người đánh giá.Một vài điểm đặc biệt của giai đoạn kiểm thử là:
Chọn trường hợp thử
Chọn tiêu chuẩn
Trang 32 Chọn người đánh giá
Khai thác hệ thống đối với mỗi trường hợp thử
Yêu cầu người đánh giá giám định hiệu suất đối với mỗi trường hợp
Thu thập nhận xét thông qua giao diện
Xác định khả năng và thiếu sót của hệ thống
2.4.2.6 Giai đoạn 6 của đánh giá: thử lĩnh vực
Khi thử lĩnh vực, hệ thống làm việc với môi trường thực Các mục tiêuchính của kiểm thử được xác định để kiểm tra hệ thống có đáp ứng đích đặt rakhông Kiểm thử thực tế đòi hỏi kiểm chứng nhiều hơn và cần xác định độ chấpnhận của người dùng
Hiệu suất của hệ thống có thể được đo gián tiếp thông qua việc xác định tácđộng lên tổ chức Các điểm xét đến là tiết kiệm về giá, mức tăng năng suất, cảithiện chất lượng sản phẩm hay chất lượng dịch vụ
Một nhân tố khác cần xem xét là khoảng thời gian dùng thử lĩnh vực, thôngthường là lúc trước khi hệ thống được chấp nhận đem triển khai Khi chưa đưavào sử dụng thì chưa biết hết tác động của hệ chuyên gia đối với tổ chức
Các khía cạnh bao trùm giai đoạn thử lĩnh vực được tóm tắt bao gồm:
Xác định tiêu chuẩn thử lĩnh vực
Xác định xem hệ thống có đáp ứng đích không khi đem áp dụng cho cácvấn đề thực
Nếu hệ thống dùng được thì thử tiếp theo nhóm người dùng
Xác định độ chấp nhận được của người dùng
2.5 Bảo trì
Pha cuối cùng của dự án là bảo trì Người ta cần tiến hành bảo trì khi đưa
hệ thống vào ứng dụng Hầu hết các hệ chuyên gia dùng cho các ứng dụng cócấu hình máy đa dạng, tri thức mới, tài nguyên thay đổi… nên cần thay đổi hệthống cho phù hợp
Việc bảo trì phần mềm nào cũng tốn kém Nghiên cứu cho thấy 70% giá trảcho phần mềm cùng vào việc bảo trì Người dùng là kỹ sư tri thức có thể báo cáo
về tình trạng hệ thống, các chức năng sẵn có, các yêu cầu thay đổi để đưa raphương án bảo trì thích hợp
Trang 33Ngay từ khi bắt đầu dự án, người ta đã phải lên kế hoạch bảo trì Công việcthiết kế hệ thống cần tính đến cách thức bảo trì, như là thông tin cần thiết Người
ta có thể thiết kế kiến trúc hệ thống thích hợp với công tác bảo trì Đối với các hệthống dựa trên luật, trên khung hay hệ thống quy nạp, người ta vừa tiến hànhphát triển hệ thống vừa tính đến việc bảo trì về sau Sau đây là các nét chính củabảo trì:
và là một trong các tiêu chuẩn thiết kế
Trong hệ chuyên gia có thể tách tri thức hệ thống thành các khối riêng, dễthiết kế phục vụ cho nhiệm vụ đặc biệt Các khối này cho phép người ta truynhập dễ dàng theo các chức năng, và cũng đủ nhỏ để kiểm soát hoặc thay đổi
2.5.2 Phân biệt tri thức và thông tin
Một vài tổ chức dùng hệ chuyên gia với các thông tin thường ngày để raquyết định Các thông tin này gồm các số thống kê, các dữ liệu kiểm kê thiết bị,các dữ liệu cá nhân Hệ chuyên gia mã hoá các thông tin thành các tri thức rồiđặt trong cơ sở tri thức Theo quan điểm bảo trì thì tách các tri thức ra quyết định
ra khỏi các thông tin thì tốt hơn
Một phương pháp để tách thông tin với tri thức ra quyết định là dùng cơ sở
dữ liệu để chứa các thông tin, song song với các luật đa dạng để mô tả tri thức.Khi cần thay đổi thông tin, người ta chỉ cần thao tác trên cơ sở dữ liệu Tương tựkhi cần thay đổi quyết định các luật tương ứng sẽ được tải vào hay được thayđổi
2.5.3 Các luật meta
Một thiết kế bảo trì hệ chuyên gia khác dùng luật meta Nó cho phép điềukhiển lập luận một cách uyển chuyển Chẳng hạn luật meta cho phép chọn luật
Trang 34tuỳ theo ngữ cảnh của phiên làm việc Tuy nhiên nếu sử dụng luật meta, người ta
sẽ bảo trì phức tạp hơn
Khi xem xét các thao tác của hệ chuyên gia, hầu hết các kỹ sư tri thức bắtđầu từ việc kiểm tra lịch đích Đó là nhìn các thao tác hệ thống ở mức cao, vànếu có trục trặc lịch đích có thể giúp cô lập phần gây lỗi trong cơ sở tri thức Tấtnhiên luật meta cháy cùng với nhiều luật khác và kỹ sư tri thức không cần biếtđến hiện diện của nó
Để tạo điều kiện sử dụng luật meta, người ta cần thông báo nơi có luật metacho người dùng, và quản lý các luật meta trong một cơ sở riêng
2.5.4 Làm tư liệu bảo trì
Cần lưu lại các ghi nhận sau mỗi lần thay đổi hệ thống Điều này giúp theovết tri thức hệ thống Mỗi lúc thay đổi hệ thống các thông tin quan trọng cầnđược làm tư liệu là:
Điều gì đã thay đổi
Người thực hiện thay đổi đó
Thời gian thay đổi
Lý do thay đổi
Trang 35CHƯƠNG III: XỬ LÝ TRI THỨC TRONG HỆ CHUYÊN GIA
3.1 Biểu diễn tri thức
Biểu diễn tri thức là phương pháp dùng để mã hoá tri thức trong cơ sở tri thức của một hệ chuyên gia.
Các kỹ thuật biểu diễn tri thức:
- Biểu diễn tri thức nhờ bộ ba liên hợp O_A_V:
Một sự kiện cũng có thể sử dụng để xác định giá trị của một số đối tượng
Ví dụ: “Quả bóng màu đỏ” gán giá trị “đỏ” cho màu của quả bóng Sự kiện loạinày gọi là bộ ba O_A_V (đối tượng _ thuộc tính _ gía trị)
O_A_V là một loại phát biểu phức tạp Nó chia một câu thành 3 phần khácnhau: đối tượng, thuộc tính và giá trị của thuộc tính Ví dụ: “Cái ghế màu nâu”
Ta có thể biểu diễn câu này theo cấu trúc O_A_V như sau: đối tượng là “ghế”,thuộc tính là “màu”, giá trị là “nâu”
Biểu diễn qua ngôn ngữ tự nhiên
Hiểu ngôn ngữ
tự nhiên
Sản sinh tự động văn bản
Hình 3.1: Biến đổi từ các sự kiện sang biểu diễn trong máy
Trang 36Đối tượng được biểu diễn trong O_A_V có thể là vật lý như: ô tô, bóng …hoặc trừu tượng như: tình yêu … Thuộc tính là tính chất hoặc đặc điểm của đốitượng Giá trị xác định phép gán của thuộc tính Giá trị có thể là boolean, số,chuỗi…
Đối với hầu hết các vấn đề trong hệ chuyên gia, đối tượng thường có nhiềuđặc điểm quan trọng Trong trường hợp này, các thuộc tính đa trị được địnhnghiã cho đối tượng, tương ứng với các giá trị thuộc tính
- Biểu diễn tri thức bằng luật:
Luật là một dạng tri thức thủ tục Nó liên kết thông tin đưa ra với một số sựkiện Sự kiện này có thể là sự chấp nhận thông tin mới hoặc một số thủ tục thựchiện Trong nhiều trường hợp, luật mô tả cách giải quyết vấn đề
Cấu trúc luật liên kết một hoặc nhiều giả thiết được lưu giữ trong phần IF,với một hoặc nhiều kết quả lưu giữ trong phần THEN
Ví dụ: IF Quả bóng màu đỏ THEN Tôi rất thích
Nói chung, một luật có thể có nhiều giả thiết liên kết bởi các câu AND, ORhoặc cả hai Kết luận của luật cũng có thể là câu đơn hoặc câu phức
Luật có thể được biểu diễn dưới các dạng khác nhau của tri thức như quan
hệ, nhắc nhở, điều khiển, chiến lược, heuristic
Luật cũng có thể được sản xuất theo bản chất của chiến lược giải quyết vấnđề: vấn đề giải thích, vấn đề chẩn đoán, vấn đề thiết kế
3.2 Xử lý tri thức
Sau khi thu thập và biểu diễn tri thức, cần phải xử lý tri thức bằng cách ápdụng các kỹ thuật suy diễn và các chiến lược điều khiển Kỹ thuật suy diễn chỉ racách thức hệ thống liên kết tri thức chứa trong cơ sở tri thức với các fact cótrong bộ nhớ làm việc Các chiến lược điều khiển thiết lập mục đích của hệthống và nó cũng đưa ra cách suy diễn
3.2.1 Suy diễn
Suy diễn là quá trình từ tri thức, fact và chiến lược giải quyết vấn đề để đưa
ra kết luận Hiểu cách thức con người suy diễn, cách thức con người làm việc với
Trang 37các thông tin về vấn đề được đưa ra, cách thức xử lý các tri thức chung của lĩnhvực, ta có thể hiểu được cách xử lý tri thức của hệ chuyên gia.
3.2.1.1 Suy diễn suy luận
Con người sử dụng suy diễn suy luận để suy ra thông tin mới từ các thôngtin có quan hệ logic đã được biết Suy diễn suy luận sử dụng các fact vấn đề haycác axiom và các tri thức liên quan tạo ra các luật hay implication Quá trình bắtđầu bằng cách so sánh các axiom với tập các implication để rút ra các axiommới
Luật modus ponens là nền tảng của suy diễn suy luận:
Nếu A đúng và nếu A suy ra B, thì B đúng.
3.2.1.2 Suy diễn quy nạp
Con người sử dụng suy diễn quy nạp để rút ra các kết luận chung từ một tậpgiới hạn các fact bằng quá trình tổng quát hoá Qua quá trình suy luận, chúng tatạo ra một điều khái quát cho tất cả các trường hợp dựa trên một số hữu hạn cáctrường hợp Quá trình quy nạp được mô tả như sau:
Với tập các đối tượng: X={a,b,c,d…} Nếu thuộc tính P đúng với a, P đúng với b, P đúng với c thì P đúng với mọi phần tử trong tập X.
3.2.1.3 Suy diễn abductive
Suy luận chính xác trong các trường hợp suy diễn từ các fact đã được xácđịnh trước vá các implication hợp lê là đúng đắn về mặt logic Abductior là mộtdạng của suy luận có tính đến các suy diễn “đáng tin cậy” Đáng tin cậy có nghĩa
là kết luận được rút ra từ một số thông tin sẵn có, nó có thể sai Suy luận nàythường có dạng:
Nếu B đúng, và A suy ra B thì A đúng?
Ví dụ:
Implication : Đường ướt nếu trời mưa
Axiom : Đường ướt
Conclution : Trời mưa ?
Trang 38Chỉ đưa ra một thông tin “đường ướt”, suy diễn đáng tin cậy có thể đưa ra
“trời mưa” Tuy nhiên, kết luận này có thể đúng, có thể sai vì đường ướt có thể
do một nguyên nhân khác như có người rửa xe chẳng hạn
3.2.1.4 Suy diễn tương tự
Con người tạo các mô hình của một số khái niệm dựa trên kinh nghiệm củamình Con người sử dụng mô hình này qua quá trình suy diễn tương tự để giúp
họ hiểu một số tình huống hay một số đối tượng Con người chỉ ra sự tương tựgiữa hai đối tượng, tìm kiếm sự giống nhau và khác biệt để suy luận
3.2.1.5 Suy diễn common-sense
Qua kinh nghiệm, con người học được cách gỉai quyết vấn đề có hiệu quả
Họ sử dụng sense để nhanh chóng rút ra giải pháp Suy diễn sense dựa trên các đánh giá tốt hơn là các logic chính xác
common-Ví dụ trong lĩnh vực chẩn đoán ô tô:
Một dây đai lỏng thường gây ra tiếng động lạ
Trang 39Người thợ máy có thể tạo nên những mẩu tri thức từ kinh nghiệm làm việccủa anh ta với nhiều chiếc ô tô Anh ta có thể ngay lập tức nghi ngờ dây đai bịlỏng khi làm việc với một ô tô phát ra tiếng động lạ Các tri thức kiểu nàythường được goi là các tri thức heuristic.
Khi các tri thức heuristic được dùng để giải quyết vấn đề trong hệ chuyêngia chúng được gọi là tìm kiếm heuristic.Nó không bảo đảm rằng giải pháp sẽđược tìm ra theo hướng đã đưa mà chỉ chắc chắn rằng hướng đó đưa ra một giảipháp chấp nhận được Tìm kiếm heuristic đặc biệt có ích với các ứng dụng yêucầu đưa ra giải pháp nhanh chóng
3.2.1.6 Suy diễn non-monotonic
Trong một số tình huống, suy diễn về một vấn đề sử dụng các thông tintĩnh Trong suốt quá trình suy diễn, trạng thái của một luật (đúng hay sai )không đổi Kiểu suy diễn này được gọi là suy diễn monotonic
Trong một số tình huống, trạng thái của các fact thay đổi Xem xét ví dụsau về một phòng trẻ và biểu diễn nó thành dạng luật:
Khi gió thổi, nôi sẽ đung đưa
IF Gió thổi
THEN Nôi sẽ đung đưa
Tiếp theo, hãy xem xét :
Đó là một cơn gió xoáy gió thổi nôi đung đưa
Khi có cơn gió xoáy, giả định rằng nôi sẽ đung đưa Tuy nhiên sau khi cơngió xoáy qua đi, chúng ta mong rằng nôi sẽ ngừng đung đưa Một hệ thống sửdụng suy diễn monotonic vẫn tiếp tục cho rằng nôi vẫn đung đưa
Con người không khó khăn để theo vết sự thay đổi Khi có thay đổi, conngười nhanh chóng điều chỉnh lại các sự kiện có liên quan Kiểu suy diễn nàygoi là suy diễn non-monotonic
Một hệ chuyên gia có thể thực hiện suy diễn non-monotonic nếu nó có một
hệ thống “duy trì đáng tin cậy” Hệ thống duy trì đáng tin cậy giữ một bản ghi vềnguyên nhân gây ra fact Do đó, nếu nguyên nhân bị loại bỏ, fact cũng bị huỷ bỏ.Trong ví dụ trên, nếu hệ thống sử dụng suy diễn non-monotonic sẽ huỷ bỏ sựkiện nôi đung đưa
Trang 403.2.2 Suy diễn trong hệ chuyên gia
Hệ chuyên gia mô hình hoá quá trình suy luận sử dụng kỹ thuật gọi là kỹthuật suy diễn
Suy diễn là quá trình được sử dụng trong hệ chuyên gia để rút ra thông tin mới từ các thông tin đã biết.
Một hệ chuyên gia thực hiện suy diễn sử dụng một module gọi là mô tơ suydiễn Nó kết hợp các fact chứa trong bộ nhớ làm việc với các tri thức chứa trong
cơ sở tri thức Từ quá trình này, có thể suy ra các tri thức mới Những tri thứcmới này lại được thêm vào trong bộ nhớ làm việc
1. E1E2
IF thân nhiệt >370 THEN bệnh nhân bị sốt
2. E2E3
IF Bệnh nhân bị sốt THEN cho bệnh nhân uống aspirin
Hai implication được mô tả bằng danh sách các axiom ban đầu trongSTATE như sau:
STATE 0
1. E1E2
2. E2E3