ĐỒ ÁN TỐT NGHIỆP BỘ CÔNG CỤ SUY DIỄN CHO HỆ CHUYÊN GIA
LỜ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ông
tin, 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ôi
hoà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áo
trong bộ môn Công nghệ phần mềm đã tạo điều kiện giúp đỡ em hoàn thành đồ
án này.
Cuối cùng tôi xin được bày tỏ lời cảm ơn đến những người thân, bạn bè đã
động viên giúp đỡ tôi trong quá trình thực hiện đồ án này.
Hà nội, tháng 05/2004
Sinh viên thực hiện
Nguyễn Trọng Đông
NGUYỄN TRỌNG ĐÔNG
1
ĐỒ ÁN TỐT NGHIỆP BỘ CÔNG CỤ SUY DIỄN CHO HỆ CHUYÊN GIA
MỤC LỤC
LỜI NÓI ĐẦU 6
CHƯƠNG I: GIỚI THIỆU CHUNG VỀ CÔNG NGHỆ PHẦN MỀM VÀ HỆ
CHUYÊN GIA 9
1.1. Công nghệ phần mềm 9
1.1.1. Định nghĩa công nghệ phần mềm 9
1.1.2. Vòng đời phần mềm 9
1.1.3. Quy trình phát triển phần mềm 11
1.2. Hệ chuyên gia 12
1.2.1. Khái niệm về hệ chuyên gia 12
1.2.2. Cấu trúc hệ chuyên gia 12
1.2.2.1. Cơ sở tri thức 12
1.2.2.2. Bộ nhớ làm việc 12
1.2.2.3. Môtơ suy diễn 13
1.2.2.4. Phương tiện giải thích 13
1.2.2.5. Giao diện 14
CHƯƠNG II: ỨNG DỤNG CÔNG NGHỆ PHẦN MỀM TRONG BÀI TOÁN HỆ
CHUYÊN GIA 15
2.1. Xác định vấn đề 15
2.2. Thu thập tri thức 17
2.2.1. Các loại tri thức 17
2.2.2. Các nguồn tri thức 17
2.2.3. Quá trình thu thập tri thức 18
2.2.4. Thời gian cần thiết cho việc thu thập tri thức 19
2.2.5. Vai trò của từng thành viên tham gia 19
2.2.6. Phân tích tri thức 20
2.2.6.1. Ghi lại tri thức 20
2.2.6.2. Liên kết tri thức 21
2.2.6.3. Xem xét lại tri thức 21
2.2.6.4. Cấu trúc các tri thức một cách đồ hoạ 21
2.3. Thiết kế 22
2.3.1. Chọn kỹ thuật thể hiện tri thức 22
2.3.1.1. Tiếp cận dựa trên khung 22
2.3.1.2. Tiếp cận dựa trên luật 22
2.3.1.2. Tiếp cận quy nạp 23
2.3.2. Chọn kỹ thuật điều khiển 23
2.3.2.1. Suy diễn tiến 23
NGUYỄN TRỌNG ĐÔNG
2
ĐỒ ÁN TỐT NGHIỆP BỘ CÔNG CỤ SUY DIỄN CHO HỆ CHUYÊN GIA
2.3.2.2. Suy diễn lùi 23
2.3.3. Lựa chọn phần mềm phát triển hệ chuyên gia 23
2.3.4. Thiết kế giao diện người dùng 25
2.3.5. Phát triển mẫu 25
2.4. Kiểm chứng hệ thống 26
2.4.1. Kiểm chứng lại kết quả 26
2.4.1.1. Chọn tiêu chuẩn kiểm thử 27
2.4.1.2. Chọn các trường hợp kiểm thử 27
2.4.1.3. Chọn người đánh giá 27
2.4.2. Kiểm chứng lập luận 28
2.4.2.1. Giai đoạn 1 của đánh giá: thử sơ bộ 28
2.4.2.2. Giai đoạn 2 của đánh giá : thử trình diễn 29
2.4.2.3. Giai đoạn 3 của đánh giá: thử kiểm tra phi hình thức 30
2.4.2.4. Giai đoạn 4 của đánh giá: kiểm thử tinh chỉnh hệ thống 30
2.4.2.5. Giai đoạn 5 của đánh giá: kiểm thử phi hình thức 30
2.4.2.6. Giai đoạn 6 của đánh giá: thử lĩnh vực 31
2.5. Bảo trì 32
2.5.1. Cấu trúc khối 32
2.5.2. Phân biệt tri thức và thông tin 32
2.5.3. Các luật meta 33
2.5.4. Làm tư liệu bảo trì 33
CHƯƠNG III: XỬ LÝ TRI THỨC TRONG HỆ CHUYÊN GIA 34
3.1. Biểu diễn tri thức 34
3.2. Xử lý tri thức 35
3.2.1. Suy diễn 36
3.2.1.1. Suy diễn suy luận 36
3.2.1.3 Suy diễn abductive 36
3.2.1.4 Suy diễn tương tự 37
3.2.1.5 Suy diễn common-sense 37
3.2.1.6 Suy diễn non-monotonic 38
3.2.2. Suy diễn trong hệ chuyên gia 39
3.2.2.1 Modus Ponens 39
3.2.2.2 Sự giải 40
3.2.2.3 Không giải (nonresolution) 43
3.2.3. Suy diễn tiến 44
3.2.3.1 Định nghĩa 44
3.2.3.2 Chiến luợc giải quyết mâu thuẫn trong suy diễn tiến 46
3.2.4. Suy diễn lùi 49
3.2.4.1 Định nghĩa 49
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
NGUYỄN TRỌNG ĐÔNG
3
ĐỒ ÁN TỐT NGHIỆP BỘ CÔNG CỤ SUY DIỄN CHO HỆ CHUYÊN GIA
3.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 E1 AND E2
AND THEN H 68
4.6.3. Đối với các luật nhiều giả thiết hoặc dạng IF E1 OR E2 OR
THEN H 68
4.6.4. Đối với các luật có kết luận tương tự như nhau 69
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
5.2. Mô hình hoá bài toán 76
NGUYỄN TRỌNG ĐÔNG
4
ĐỒ ÁN TỐT NGHIỆP BỘ CÔNG CỤ SUY DIỄN CHO HỆ CHUYÊN GIA
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 84
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 90
5.4 Ứng dụng đánh giá chất lượng chương trình đào tạo: 93
CHƯƠNG VI: KẾT LUẬN VÀ ĐỊNH HƯỚNG PHÁT TRIỂN 94
NGUYỄN TRỌNG ĐÔNG
5
ĐỒ ÁN TỐT NGHIỆP BỘ CÔNG CỤ SUY DIỄN CHO HỆ CHUYÊN GIA
LỜ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ận
củ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ông
hoà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 a
particular 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ên
mô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 con
ngườ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ân
tạ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à ứng
dụ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ần
củ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ả
thi
Khảo sát, xác định yêu cầu, tính khả
thi
Thu thập dữ liệu Thu thập tri thức
Phân tích Phân tích
Thiết kế Thiết kế
Cài đặt Cài đặt
Kiểm thử Kiểm thử
Bảo trì Bảo trì
Mặt khác ngày càng có nhiều hệ chuyên gia cho phép sử dụng các tri thức
chuyên gia trong một lĩnh vực nào đó để đưa ra những lời khuyên, tư vấn giải
quyết các vấn đề khác nhau của đời sống.
NGUYỄN TRỌNG ĐÔNG
6
ĐỒ ÁN TỐT NGHIỆP BỘ CÔNG CỤ SUY DIỄN CHO HỆ CHUYÊN GIA
Để 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ây
dự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ên
gia 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 được
nhữ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ần
thiế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ựa
chọ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ủa
từ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ác
chiế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ương
phá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ất
lượng chương trình giáo dục.
•Chương VI: Kết luận và định hướng phát triển.
NGUYỄN TRỌNG ĐÔNG
7
ĐỒ ÁN TỐT NGHIỆP BỘ CÔNG CỤ SUY DIỄN CHO HỆ CHUYÊN GIA
Cấ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.
NGUYỄN TRỌNG ĐÔNG
8
Bộ công cụ suy diễn trong hệ
chuyên gia
Lý thuyết xây dựng hệ chuyên
gia
Lý thuyết công nghệ phần mềm
Cài đặt chương trình
Thử nghiệm
Phân tích bài toán đánh giá chất
lượng chương trình giáo dục
ĐỒ ÁN TỐT NGHIỆP BỘ CÔNG CỤ SUY DIỄN CHO HỆ CHUYÊN GIA
CHƯƠ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ừa
là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ều
phiê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áy
tí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ởi
mộ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ượng
hó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ương
phá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át
triển phần mềm và cung cấp cho người hành nghề một nền tảng để xây dựng
phầ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 đến
khi 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ảo
dưỡng cho đến khi loại bỏ không đâu dùng). Quy trình phát triển phần mềm bao
gồ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ện
nà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
NGUYỄN TRỌNG ĐÔNG
9
ĐỒ ÁN TỐT NGHIỆP BỘ CÔNG CỤ SUY DIỄN CHO HỆ CHUYÊN GIA
cầ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ủa
phầ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ết
thủ 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ện
kiểm thử. Phương pháp được áp dụng trong giai đoạn phát triển sẽ thay đổi
như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âm
tớ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ết
tậ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ùng
trong 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ận
hà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
NGUYỄN TRỌNG ĐÔNG
10
ĐỒ ÁN TỐT NGHIỆP BỘ CÔNG CỤ SUY DIỄN CHO HỆ CHUYÊN GIA
cầ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ểu
thay đổ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 ra
khiếm khuyết trong phần mềm. Bảo trì sửa đổi thay đổi phần mềm để sửa các
khiế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ích
hợ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ác
yêu cầu chức năng gốc của nó.
1.1.3. Quy trình phát triển phần mềm
Hình 1.1 Quy trình phát triển phần mềm
Một khung quy trình chung(Common Process Framework) được thiết lập
bằng cách xác định một số các hoạt động khung (Frame Activities) có khả năng
áp dụng cho mọi dự án phần mềm không phân biệt kích cỡ, độ phức tạp. Một số
tập tác vụ (task sets)- tập hợp các công việc công nghệ phần mềm, các cột mốc
dự án, sản phẩm và các điểm bảo đảm chất lượng- cho phép các hoạt động khung
NGUYỄN TRỌNG ĐÔNG
11
ĐỒ ÁN TỐT NGHIỆP BỘ CÔNG CỤ SUY DIỄN CHO HỆ CHUYÊN GIA
thí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ối
cù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ấu
hì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ện
cá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ức
lư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ủa
phầ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 do
ngườ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 được
gọi là ngữ cảnh của phiên làm việc.
NGUYỄN TRỌNG ĐÔNG
12
ĐỒ ÁN TỐT NGHIỆP BỘ CÔNG CỤ SUY DIỄN CHO HỆ CHUYÊN GIA
1.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ở tri
thứ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ấy
khớ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ỗ sai
trong 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ên
gia 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 trong
việ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ằng
ngô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.
NGUYỄN TRỌNG ĐÔNG
13
ĐỒ ÁN TỐT NGHIỆP BỘ CÔNG CỤ SUY DIỄN CHO HỆ CHUYÊN GIA
1.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ế theo
kiể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ảo
tươ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:
NGUYỄN TRỌNG ĐÔNG
14
Chuyên gia,
Kỹ sư tri thức
Người
sử dụng
Phương tiện
giải thích
Thu thập tri
thức
Giao diện
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
ĐỒ ÁN TỐT NGHIỆP BỘ CÔNG CỤ SUY DIỄN CHO 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
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ồm
cá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ưng
củ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 gia
luô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ài
toán hệ chuyên gia thành 6 pha như sau:
• Xác định vấn đề
• Thu thập tri thức
• Thiết kế hệ thống
• Kiểm thử
• Làm tài liệu
• Bảo trì
2.1. Xác định vấn đề
Cũng như bất cứ một dự án phần mềm nào, một dự án về hệ chuyên gia
cũng cần được xác định tốt để mang lại hiệu quả cao nhất. Quá trình xác định
được cấu trúc theo các nhiệm vụ 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
5. Chọn dự án tốt nhất
6. Viết dự kiến dự án
Trong đó, việc xác định tình hình tổ chức đóng vai trò quan trọng trong
thiết kế hệ thống công nghệ thông tin. Một trong những câu hỏi đầu tiên là liệu
tổ chức có ý định theo đuổi hệ chuyên gia không. Một vài tổ chức mong đợi hệ
chuyên gia giải quyết các bài toán nhỏ, trong khi nhiều tổ chức nhận thấy khía
cạnh hấp dẫn nhất của công nghệ, muốn thử và chờ đợi. Ý đồ của tổ chức có tác
động mạnh đến quyết định cuối cùng của dự án.
NGUYỄN TRỌNG ĐÔNG
15
ĐỒ ÁN TỐT NGHIỆP BỘ CÔNG CỤ SUY DIỄN CHO HỆ CHUYÊN GIA
Sau khi xác định được tình hình tổ chức, nếu tổ chức dùng các ứng dụng
củ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ải
thiệ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ích
giá/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 đến
tí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ầu
như 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ác
tà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ước
tiế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ợi
nhuậ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ác
phương án khả thi đó. Người ta dùng những con số định lượng là giá trị ứng với
tí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ác
phương án một cách dễ dàng. Tuy vậy, cũng cần đến các giá trị định tính, mang
tí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ảo
nà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
NGUYỄN TRỌNG ĐÔNG
16
ĐỒ ÁN TỐT NGHIỆP BỘ CÔNG CỤ SUY DIỄN CHO HỆ CHUYÊN GIA
như 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ản
quyề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ợp
vớ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át
hiệ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ết
quan 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 cho
phé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ẫn
khi nhiều chuyên gia cung cấp những tri thức xung đột nhau. Tuy nhiên, có thể
NGUYỄN TRỌNG ĐÔNG
17
ĐỒ ÁN TỐT NGHIỆP BỘ CÔNG CỤ SUY DIỄN CHO HỆ CHUYÊN GIA
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.
• 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 cung
cấ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
HÖ chuyªn gia
Kü s tri thøc
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ột
cá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ăng
hợ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.
NGUYỄN TRỌNG ĐÔNG
18
ĐỒ ÁN TỐT NGHIỆP BỘ CÔNG CỤ SUY DIỄN CHO HỆ CHUYÊN GIA
2.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 được
lặ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ác
nhau.
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ác
vấ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ên
thu 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ần
là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ầu
hế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ĩnh
vự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ển
của hệ thống.
NGUYỄN TRỌNG ĐÔNG
19
ĐỒ ÁN TỐT NGHIỆP BỘ CÔNG CỤ SUY DIỄN CHO HỆ CHUYÊN GIA
Chuyê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át
hiệ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ác
hướ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àm
việ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ích
tri 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 định
cá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ật
hoặ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ại
kế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ều
chỉ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 ghi
lạ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ỗi
loạ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ào
cần có tham chiếu tới nguồn của nó. Nếu tri thức được tìm ra trong phiên thu
thập, phải ghi lại nó với ngày tháng.
NGUYỄN TRỌNG ĐÔNG
20
ĐỒ ÁN TỐT NGHIỆP BỘ CÔNG CỤ SUY DIỄN CHO HỆ CHUYÊN GIA
2.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ông
tin đã 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ệ được
tinh 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ấu
trú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ét
lạ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ến
hoá, 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 xem
xé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à:
- Sơ đồ nhận thức.
- Mạng suy luận.
- Sơ đồ khối (flowchart).
- Cây quyết định.
Tất cả các kỹ thuật trên đều cung cấp một cái nhìn trực quan về tri thức
quan trọng và tổ chức của nó. Mỗi kỹ thuật đều có những ưu điểm và khuyết
điểm riêng.
Bất cứ kỹ thuật đồ hoạ nào dùng để biểu diễn các tri thức thu thập được
cũ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.
NGUYỄN TRỌNG ĐÔNG
21
ĐỒ ÁN TỐT NGHIỆP BỘ CÔNG CỤ SUY DIỄN CHO HỆ CHUYÊN GIA
2.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 nhu
cầ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 tri
thứ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ức
thô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ưng
trong 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ên
luậ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ện
trong 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ường
khô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 đề
NGUYỄN TRỌNG ĐÔNG
22
ĐỒ ÁN TỐT NGHIỆP BỘ CÔNG CỤ SUY DIỄN CHO HỆ CHUYÊN GIA
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 đó theo
thông tin sẵn có.
2.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 được
tri 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ển
cá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 gia
là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ũng
như 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át
hiệ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 hay
quyết định nào đó trước tiên, rồi mới có ý định tìm thông tin trợ giúp. Như vậy
chuyê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ôn
ngữ lập trình đến các công cụ phát triển trên các loại máy tính.
NGUYỄN TRỌNG ĐÔNG
23
ĐỒ ÁN TỐT NGHIỆP BỘ CÔNG CỤ SUY DIỄN CHO HỆ CHUYÊN GIA
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
dù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ìm
lỗ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ột
cá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 đến
mộ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ác
khung 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ầu
hế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ạng
lậ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ập
luậ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ùng
cá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ó
NGUYỄN TRỌNG ĐÔNG
24
ĐỒ ÁN TỐT NGHIỆP BỘ CÔNG CỤ SUY DIỄN CHO HỆ CHUYÊN GIA
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ính
toán với con số hay ký hiệu.
(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ựng
lê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ầu
hế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 ra
kế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ựa
trê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 được
thiế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
NGUYỄN TRỌNG ĐÔNG
25