You are on page 1of 22

Phần III: Giải quyết vấn đề dựa trên tri thức

PHẦN III
GIẢI QUYẾT VẤN ĐỀ DỰA TRÊN TRI
THỨC (KNOWLEDGE – BASED
PROBLEM SOLVING)
Trong phần II, chúng ta đã khảo sát nhiều bài toán được giải quyết theo tiếp cận xem
bài toán TTNT là sự kết hợp của biểu diễn bài toán và giải thuật tìm kiếm một lời giải
trong không gian các trạng thái của bài toán. Tiếp cận giải quyết vấn đề này còn được
gọi là phương pháp giải quyết vấn đề yếu (weak problem solving methods), vì các
phương pháp này chủ yếu là muốn cài đặt một chiến lược tổng quát để giải quyết cho
mọi bài toán như chúng ta thấy từ chương 2 đến chương 5, cụ thể là các phương pháp
duyệt đồ thị không gian tìm kiếm tổng quát cho mọi bài toán. Các phương pháp này
chỉ có thể phân tích hình thức cú pháp của các trạng thái để giải quyết bài toán, chứ
chúng không thể sử dụng tri thức lý thuyết hay thực nghiệm về một vấn đề nào đó mà
con người đang có.
Nhưng thật không may là trong thực tế, không có bất kỳ một chiến lược hay kinh
nghiệm (heuristic) nào có thể áp dụng một cách thành công cho tất cả các bài toán.
Mà thông thường khi giải quyết một vấn đề trong một lĩnh vực nào đó, thì chúng ta sử
dụng rất nhiều tri thức về lĩnh vực đó. Chẳng hạn như các bác sĩ có thể chẩn đoán
bệnh cho ta vì bên cạnh khả năng giải quyết vấn đề tổng quát, họ còn có một kiến
thức rất rộng về y học. Các kiến trúc sư có thể thiết kế nhà vì họ biết nhiều về kiến
trúc. Những phương pháp giải quyết vấn đề thực tế này được gọi là phương pháp giải
quyết vấn đề mạnh (strong problem solving methods), vì chúng sử dụng các tri thức
tường minh về lĩnh vực của vấn đề.
Trong chương 6 chúng ta sẽ thảo luận về các hệ thống dựa trên luật (rule – based
systems) và xem xét các vấn đề liên quan đến việc thu thập, định dạng và sửa lỗi cho
một cơ sở tri thức. Bên cạnh suy luận dựa trên luật, chương này cũng trình bày hai
tiếp cận suy luận dựa trên tri thức khác đó là suy luận dựa trên mô hình (model –
based reasoning) và suy luận dựa trên tình huống (case – based reasoning).
Chương 7 sẽ trình bày một số kỹ thuật giải quyết vấn đề suy luận trong các trường
hợp có tính mờ và không chắc chắn như luật Bayes, yếu tố chắc chắn Stanford
(Stanford Certainty Factor), và suy luận mờ (fuzzy reasoning).

Võ Huỳnh Trâm – Trần Ngân Bình 95


Giáo Trình Trí Tuệ Nhân Tạo

CHƯƠNG VI: HỆ CHUYÊN GIA (EXPERT


SYSTEMS - ES)

Nội dung chính : Trong chương này, chúng ta sẽ thảo luận một số phương pháp giải
quyết vấn đề tri thức chuyên sâu dựa trên các mô hình hệ chuyên gia (Expert System).
Trước hết, các bước trong một quy trình công nghệ tri thức sẽ được trình bày và phân
tích cùng với những khó khăn trong quá trình tích lũy tri thức. Nội dung tiếp theo của
chương giới thiệu kiến trúc của ba dạng hệ chuyên gia thường được xây dựng: hệ
chuyên gia dựa trên luật, hệ chuyên gia dựa trên mô hình và hệ chuyên gia dựa trên
tình huống với sự so sánh những ưu điểm và hạn chế trong từng dạng kiến trúc.
Mục tiêu cần đạt : Sau chương này, sinh viên cần :
¾ Hiểu hệ chuyên gia (HCG) và các lĩnh vực phù hợp với HCG.
¾ Biết quy trình công nghệ tri thức và các khó khăn của quá trình tích lũy tri thức
¾ Hiểu kiến trúc, nguyên tắc hoạt động, ưu khuyết điểm của HCG dựa trên luật
¾ Biết hệ chuyên gia R1/XCON
¾ Biết HCG dựa trên mô hình và HCG dựa trên tình huống.

Kiến thức cơ bản : Cách thức điều khiển cài trong quá trình tìm kiếm theo kiến trúc
hệ sinh, phương pháp suy diễn tiến, suy diễn lùi, hệ luật, …
Tài liệu tham khảo :
[1] George F. Luger, William A. Stubblefield – Albuquerque – Artificial
Intelligence – Wesley Publishing Company, Inc – 1997 (Chapter 6)
[2] Bùi Xuân Toại – Trương Gia Việt (Biên dịch) – Trí tuệ nhân tạo – Các cấu trúc
và chiến lược giải quyết vấn đề - NXB Thống kê, 2000
[3] Wikipedia – Bách khoa toàn thư mở - Hệ chuyên gia
http://en.wikipedia.org/wiki/Expert_system
[4] Hệ chuyên gia
http://www.macs.hw.ac.uk/~alison/ai3notes/chapter2_5.html
[5] Hệ chuyên gia MYCIN
http://www.cs.cf.ac.uk/Dave/AI1/mycin.html

96 Võ Huỳnh Trâm – Trần Ngân Bình


Chương 6: Hệ chuyên gia

I GIỚI THIỆU:
Trong cuộc sống, sở dĩ các chuyên gia có thể giải quyết vấn đề ở một mức độ cao vì
họ có rất nhiều tri thức về lĩnh vực họ hoạt động. Thực tế hiển nhiên và đơn giản này
chính là cơ sở nền tảng cho việc thiết kế các máy giải quyết vấn đề dựa trên tri thức
mà ta thường gọi là hệ chuyên gia. Một hệ chuyên gia sử dụng tri thức của một lĩnh
vực cụ thể để cung cấp việc giải quyết vấn đề với “chất lượng chuyên gia” trong lĩnh
vực đó.
Thông thường, các nhà thiết kế HCG thu thập tri thức này, bao gồm lý thuyết đến cả
các kinh nghiệm, kỹ xảo, phương pháp làm tắt, chiến lược heuristic đã tích lũy được
của các chuyên gia con người qua quá trình làm việc của họ trong một lĩnh vực
chuyên môn. Từ tri thức này, người ta cố gắng cài đặt chúng vào hệ thống để hệ
thống có thể mô phỏng theo cách thức các chuyên gia làm việc. Tuy nhiên, không
giống với con người, các chương trình hiện tại không tự học lấy kinh nghiệm: mà tri
thức phải được lấy từ con người và mã hóa thành ngôn ngữ hình thức. Đây là nhiệm
vụ chính mà các nhà thiết kế HCG phải đương đầu.
Do bản chất heuristic và tri thức chuyên sâu của việc giải quyết vấn đề cấp độ chuyên
gia, các hệ chuyên gia nói chung:
1. Cung cấp sự kiểm tra đối với các quá trình suy luận của chúng, bằng cách hiển
thị các bước trung gian và bằng cách trả lời câu hỏi về quá trình giải.
2. Cho phép sửa đổi dễ dàng, cả khi thêm và xóa các kỹ năng giải quyết vấn đề
vào cơ sở tri thức (knowledge based).
3. Suy luận một cách heuristic, sử dụng tri thức (thường là không hoàn hảo) để
tìm lời giải hữu ích cho vấn đề.
Người ta đã xây dựng các hệ chuyên gia để giải quyết hàng loạt những vấn đề trong
các lĩnh vực như y học, toán học, công nghệ, hóa học, địa chất, khoa học máy tính,
kinh doanh, luật pháp, quốc phòng và giáo dục. Các chương trình này đã giải quyết
một lớp rộng các loại vấn đề như:
1. Diễn giải (interpretation) – hình thành những kết luận hay mô tả cấp cao từ
những tập hợp dữ liệu thô.
2. Dự đoán (prediction) – tiên đoán những hậu quả có thể xảy ra khi cho trước
một tình huống.
3. Chẩn đoán (diagnosis) – xác định nguyên nhân của những sự cố trong các tình
huống phức tạp dựa trên các triệu chứng có thể quan sát được.
4. Thiết kế (design) – tìm ra cấu hình cho các thành phần hệ thống, đáp ứng được
các mục tiêu trong khi vẫn thỏa mãn một tập hợp các ràng buộc về thiết kế.
5. Lập kế hoạch (planning) – tìm ra một chuỗi các hành động để đạt được một tập
hợp các mục tiêu, khi được cho trước các điều kiện khởi đầu và những ràng
buộc trong thời gian chạy (run-time).
6. Theo dõi (monitoring) – so sánh hành vi quan sát được của hệ thống với hành
vi mong đợi.

Võ Huỳnh Trâm – Trần Ngân Bình 97


Giáo Trình Trí Tuệ Nhân Tạo

7. Bắt lỗi và sửa chữa (debuging and repair) – chỉ định và cài đặt những phương
pháp chữa trị cho các trục trặc.
8. H ướng dẫn (instruction) – phát hiện và sửa chữa những thiếu sót trong quan
niệm của học viên về một chủ đề lĩnh vực nào đó.
9. Điều khiển (control) – chỉ đạo hành vi của một môi trường phức tạp.
Phần II của chương này chúng ta sẽ khảo sát công nghệ đã giúp cho việc giải quyết
vấn đề tri thức chuyên sâu trở nên hiện thực. Phần III sẽ trình bày hệ sản xuất như
một kiến trúc phần mềm cơ sở cho việc giải quyết vấn đề dựa trên các luật. Phần IV
và V khảo sát các kỹ thuật dùng cho suy luận dựa trên mô hình, và suy luận dựa trên
tình huống.

II TỔNG QUAN VỀ CÔNG NGHỆ HỆ CHUYÊN GIA


II.1 Thiết kế của một HCG dựa trên luật: (Rule–Based ES)
Hình 6_1 cho thấy các module quan trọng nhất tạo nên một hệ chuyên gia dựa trên
luật. Người dùng tương tác với hệ chuyên gia thông qua một giao diện người dùng
(user interface), giao diện này đơn giản hóa việc giao tiếp và che giấu phần lớn sự
phức tạp của hệ thống (ví dụ như cấu trúc bên trong của cơ sở các luật). Các hệ
chuyên gia sử dụng một số lượng phong phú các kiểu giao diện, bao gồm hỏi và trả
lời, điều khiển bởi trình đơn, ngôn ngữ tự nhiên, hay đồ họa,… Việc quyết định sử
dụng giao diện như thế nào là sự thỏa hiệp giữa nhu cầu của người dùng với những
đòi hỏi của cơ sở tri thức và hệ suy diễn.
Trái tim của hệ chuyên gia là cơ sở tri thức tổng quát (general knowledge base), chứa
tri thức giải quyết vấn đề của một ứng dụng cụ thể. Trong một hệ chuyên gia dựa trên
luật tri thức này được biểu diễn dưới dạng các luật if… then…. Cơ sở tri thức bao
gồm tri thức tổng quát (general knowledge) cũng như thông tin của một tình huống cụ
thể (case-specific).

Hình 6_1. Kiến trúc của một hệ chuyên gia tiêu biểu.

98 Võ Huỳnh Trâm – Trần Ngân Bình


Chương 6: Hệ chuyên gia

Động cơ suy diễn (inference engine) áp dụng tri thức cho việc giải quyết các bài toán
thực tế. Về căn bản nó là một trình thông dịch cho cơ sở tri thức. Trong hệ sinh
(production system), động cơ suy diễn thực hiện chu trình điều khiển nhận dạng –
hành động (recognize-act control cycle). Việc tách biệt cơ sở tri thức ra khỏi động cơ
suy diễn là rất quan trọng vì nhiều lý do:
1. Sự tách biệt của tri thức dùng để giải quyết vấn đề và động cơ suy diễn sẽ tạo
điều kiện cho việc biểu diễn tri thức theo một cách tự nhiên hơn. Ví dụ, các
luật if…then… gần gũi với cách con người mô tả những kỹ thuật giải quyết
vấn đề của họ hơn so với một chương trình đưa luôn tri thức này vào phần mã
máy tính cấp thấp.
2. Bởi vì cơ sở tri thức được cách ly khỏi các cấu trúc điều khiển cấp thấp của
chương trình, các nhà xây dựng HCG có thể tập trung một cách trực tiếp vào
việc nắm bắt và tổ chức GQVĐ hơn là phải thực hiện trên các chi tiết của việc
cài đặt vào máy tính.
3. Sự phân chia tri thức và điều khiển cho phép thay đổi một phần cơ sở tri thức
mà không tạo ra các hiệu ứng lề trên các phần khác của chương trình.
4. Sự tách biệt này cũng cho phép một phần mềm điều khiển và giao tiếp có thể
được sử dụng cho nhiều hệ thống khác nhau. Một trình cốt lõi của HCG
(expert system shell) có tất cả các thành phần của hình 61, trừ phần cơ sở tri
thức và dữ liệu của tình huống cụ thể. Các nhà lập trình có thể sử dụng “trình
cốt lõi rỗng của HCG” và tạo ra một cơ sở tri thức mới thích hợp với ứng
dụng của họ. Các đường chấm chấm trong hình 6_1 biểu thị các module của
trình cốt lõi.
5. Như đã thảo luận trong chương 5 về hệ sinh, sự module hóa này cho phép
chúng ta thử nghiệm nhiều chế độ điều khiển khác nhau trên cùng một cơ sở
luật.
Một hệ con giải thích (explanation subsystem) ch phép chương trình giải thích quá
trình suy luận của nó cho người dùng. Các giải thích này bao gồm các lập luận biện
minh cho các kết luận của hệ thống (trả lời cho câu hỏi how), giải thích vì sao hệ
thống cần dữ liệu đó (trả lời cho câu hỏi why),…
Nhiều HCG còn bao gồm một trình soạn thảo cơ sở tri thức (knowledge-base editor).
Trình soạn thảo này giúp các nhà lập trình xác định và hiệu chỉnh lỗi trong quá trình
làm việc của chương trình, thường là bằng cách truy xuất những thông tin cung cấp
bởi hệ con giải thích. Chúng cũng có thể hỗ trợ cho việc bổ sung tri thức mới, giúp
duy trì cú pháp luật chính xác, và thực hiện các kiểm tra tính nhất quán trên cơ sở tri
thức đã cập nhật.
Việc sử dụng trình cốt lõi HCG có thể giúp ta giảm đáng kể thời gian thiết kế và cài
đặt chương trình. Ví dụ, HCG MYCIN dùng để chẩn đoán bệnh viêm màng não
xương sống và nhiễm trùng máu được phát triển trong khoảng 20 năm-người (person-
year). EMYCIN (Empty MYCIN) là một trình cốt lõi của MYCIN được tạo ra bằng
cách loại bỏ tri thức chuyên ngành khỏi chương trình MYCIN. Sử dụng EMYCIN,
các kỹ sư tri thức đã cài đặt PUFF, một chương trình phân tích các vấn đề về phổi cho

Võ Huỳnh Trâm – Trần Ngân Bình 99


Giáo Trình Trí Tuệ Nhân Tạo

các bệnh nhân, trong khoảng 5 năm-người. Đây là một sự tiết kiệm đáng kể và là một
khía cạnh quan trọng chứng tỏ sức sống trên phương diện thương mại của công nghệ
hệ chuyên gia.
Đối với người lập trình, điều quan trọng là phải lựa chọn đúng trình cốt lõi HCG để
phát triển một HCG mới. Các bài toán khác nhau đòi hỏi các quá trình lập luận khác
nhau: tìm kiếm hướng đích so với tìm kiếm hướng dữ liệu chẳng hạn. Chiến lược
điều khiển cung cấp bởi trình cốt lõi cần phải thích hợp với ứng dụng; phương pháp
suy luận y học dùng cho ứng dụng PUFF rất giống với phương pháp mà HCG
MYCIN sử dụng; điều đó làm cho việc sử dụng trình cốt lõi EMYCIN trở nên thích
hợp. Nếu trình cốt lõi có quá trình suy luận không thích hợp, thì việc sử dụng nó có
thể là một sai lầm và tệ hơn là bắt đầu từ xây dựng từ đầu.

II.2 Các vấn đề phù hợp để xây dựng HCG


Các HCG thường đòi hỏi sự đầu tư đáng kể về tiền bạc và sức lực con người. Những
cố gắng để giải quyết một bài toán quá phức tạp, quá ít hiểu biết, hoặc có những yếu
tố không phù hợp khác đối với công nghệ hiện tại có thể dẫn đến những thất bại hao
tiền tốn của. Các nhà nghiên cứu đã xây dựng một tập hợp các chỉ dẫn có tính không
hình thức cho việc xác định xem khi nào thì một bài toán thích hợp để giải quyết bằng
HCG:
1. Sự cần thiết phải có một giải pháp phải biện minh cho chi phí và sức lực
của việc xây dựng HCG, vì nếu không đó sẽ là một sự lãng phí. Công ty
máy tính DEC đã bỏ ra tiền và công sức để xây dựng HCG XCON để tự động
hóa công tác tạo cấu hình cho máy tính. Kết quả, XCON đã giúp công ty tiết
kiệm được tài chính và duy trì lòng tin của khách hàng. Tương tự, người ta đã
cây dựng nhiều HCG trong các lĩnh vực như khai thác khoáng sản, kinh doanh
quốc phòng, và y học, là những nơi tồn tại tiềm năng to lớn cho việc tiết kiệm
tiền bạc, thời gian và sinh mạng con người.
2. Hiểu biết chuyên môn của con người không sẵn có ở mọi nơi cần đến nó.
Có rất nhiều HCG đã được xây dựng trong ngành y, vì sự chuyên môn và tính
phức tạp trongkỹ thuật của y học hiện đại đã khiến cho các bác sĩ gặp nhiều
khó khăn trong việc theo kịp những tiến bộ của các phương pháp chẩn đoán và
điều trị. Số lượng các chuyên gia đáp ứng được các yêu cầu này rất hiếm và
phải trả thù lao cao cho công việc của họ, do đó mà các hệ chuyên gia được
nhìn nhận như là một cứu cánh. Nhờ có HCG, các bác sĩ ở địa phương có thể
chẩn đoán và điều trị bệnh ở mức độ chuyên gia. Trong ngành địa chất, bằng
cách bố trí HCG tại những nơi khai thác, nhiều vấn đề có thể được giải quyết
mà không cần các chuyên gia con người phải có mặt. Tương tự, sự lãng phí
những kiến thức chuyên môn có giá trị do việc chuyển đổi nhân viên hay
những người sắp về hưu có thể biện minh cho việc xây dựng các hệ chuyên
gia.
3. Vấn đề có thể được giải quyết bằng cách sử dụng các kỹ thuật suy luận ký
hiệu. Những giải pháp vấn đề không nên đòi hỏi sự khéo léo tay chân hay khả
năng cảm thụ. Tuy rằng chúng ta đã có những robot và các hệ nhìn, hiện tại
chúng vẫn thiếu khả năng tinh tế và linh hoạt của con người. Các hệ chuyên

100 Võ Huỳnh Trâm – Trần Ngân Bình


Chương 6: Hệ chuyên gia

gia chỉ thích hợp với các vấn đề mà con người có thể giải quyết thông qua sự
suy luận trên các ký hiệu.
4. Phạm vi xác định vấn đề được cấu trúc tốt và không đòi hỏi sự suy luận
theo lẽ thường tình (commonsense reasoning). Mặc dù các hệ chuyên gia đã
được xây dựng trong nhiều lĩnh vực đòi hỏi tri thức kỹ thuật chuyên môn hóa,
nhiều sự suy luận theo lẽ thường của con người vẫn nằm ngoài khả năng hiện
tại của chúng. Các lĩnh vực mang tính kỹ thuật cao có ưu điểm là được hiểu
biết và hình thức hóa kỹ lưỡng: các thuật ngữ được định nghĩa đấy đủ và các
chủ đề đã có sẵn những mô hình khái niệm rõ ràng và cụ thể.
5. Vấn đề có thể không giải quyết được bằng cách sử dụng các phương pháp
tính toán truyền thống. Không nên sử dụng công nghệ HCG để “phát minh
lại chiếc bánh xe” (reinvent the wheel). Nếu một bài toán có thể giải quyết một
cách thỏa đáng bằng những kỹ thuật truyền thống hơn như các phương pháp
số, thống kê, … thì chúng không phải là một cử ứng viên cho việc thiết kế
HCG.
6. Có sự hợp tác và hiểu ý nhau giữa các chuyên gia. Tri thức sử dụng bởi các
chuyên gia hiếm khi tìm thấy trong các sách giáo khoa mà chỉ có được nhờ
kinh nghiệm và sự đánh giá của con người khi làm việc trong lĩnh vực đó.
Điều quan trọng là các chuyên gia đó sẵn sàng và có khả năng chia sẻ tri thức.
Các chuyên gia có thể sẽ không hợp tác khi họ cảm thấy bị đe dọa bởi hệ
thống, sợ rằng hệ thống có thể thay thế họ, hoặc nghĩa rằng đề án không thể
thành công, chỉ lãng phí thời gian của họ, khi đó họ sẽ không bỏ ra thời gian và
nỗ lực cần thiết. Một điều quan trọng khác là ban quản lý phải hỗ trợ dự án và
chi phép các chuyên gia sử dụng thời gian làm việc chính thức của họ để cộng
tác với các kỹ sư tri thức.
7. Vấn đề cần giải quyết phải có kích thước và quy mô đúng mức. Vấn đề
không được vượt quá khả năng của công nghệ hiện tại. Ví dụ, một chương
trình cố gắng nắm bắt mọi hiểu biết chuyên môn của một bác sĩ y khoa sẽ
không khả thi trong khi đó một chương trình cố vấn cho các bác sĩ trong việc
sử dụng một phần nào đó của thiết bị chẩn đoán sẽ thích hợp hơn.
Mặc dù một vấn đề lớn có thể không phù hợp với giải pháp của hệ chuyên gia,
ta có thể phân chia nó thành các vấn đề nhỏ hơn, độc lập nhau và phù hợp với
HCG. Điều này tương ứng với chiến lược phân rã “top-down” sử dụng trong
công nghệ phần mềm truyền thống. Một cách giải quyết khác là ta bắt đầu
bằng một chương trình đơn giản có khả năng giải quyết một phần của vấn đề
rồi từng bước tăng dần chức năng của nó để xử lý phạm vi lớn hơn của vấn đề.
Chiến lược này gọi là “đường kẻ mỏng” (thin line), ám chỉ mục tiêu của nó là
tạo ra một khuôn mẫu hy sinh bề rộng của khả năng ứng dụng nhằm ưu tiên
việc tạo ra một lời giải đầy đủ cho tập hợp nhỏ các bài toán thử nghiệm. Kỹ
thuật này tỏ ra hiệu quả để khám phá các vấn đề phức tạp và chưa được hiểu
rõ. Người ta sử dụng thành công kỹ thuật này trong việc tạo ra XCON: ban đầu
chương trình được thiết kế chỉ để định cấu hình cho các máy tính VAX 780;
sau đó nó được mở rộng để xử lý luôn tất cả các hệ máy VAX và hệ máy PDP-
11.

Võ Huỳnh Trâm – Trần Ngân Bình 101


Giáo Trình Trí Tuệ Nhân Tạo

II.3 Qui trình công nghệ tri thức


Những người liên quan chủ yếu trong việc xây dựng một HCG là kỹ sư tri thức
(knowledge engineer), chuyên gia (domain expert) và người dùng cuối (end-user).
Kỹ sư tri thức là chuyên gia về ngôn ngữ và biểu diễn trong TTNT, với nhiệm vụ
chính là chọn các công cụ phần mềm và phần cứng cho đề án, giúp đỡ chuyên gia
phát biểu các tri thức cần thiết, và cài đặt các tri thức đó vào một cơ sở tri thức đúng
đắn và hiệu quả. Thông thường, kỹ sư tri thức này ban đầu không hiểu biết gì về lĩnh
vực ứng dụng.
Chuyên gia cung cấp tri thức về lĩnh vực ứng dụng. Thông thường, đây là một người
đã từng công tác trong lĩnh vực ứng dụng và hiểu biết những kỹ thuật giải quyết vấn
đề của nó, chẳng hạn như các cách làm tắt, xử lý dữ liệu không chính xác, đánh giá
những giải pháp cục bộ, và tất cả những kỹ năng khác chứng tỏ anh ta có đẳng cấp
của một chuyên gia. Chuyên gia chịu trách nhiệm chính trong việc giải thích rõ những
kỹ năng này với kỹ sư tri thức.
Trong phần lớn các ứng dụng, người dùng cuối quyết định những ràng buộc thiết kế
chính. Chừng nào người dùng đó còn chưa hài lòng, thì còn phải đầu tư sức lực cho
việc phát triển chương trình. Những kỹ năng và nhu cầu của người dùng cần phải xem
xét trong suốt quá trình thiết kế: chương trình có làm cho công việc của người dùng
dễ dàng hơn, nhanh hơn, thuận tiện hơn không? Người dùng cần sự giải thích ở mức
độ nào? Môi trường làm việc của người dùng có đặt ra những hạn chế nào đó cho
việc sử dụng chương trình? Ví dụ như, một giao diện đòi hỏi việc gõ bàn phím sẽ
không phù hợp với thao tác trong khoang lái của một máy bay chiến đấu phản lực.
Giống như hầu hết các công việc lập trình trong TTNT, việc xây dựng HCG đòi hỏi
một chu trình phát triển theo kiểu không truyền thống dựa trên một bản mẫu được tạo
ra ban đầu và việc xem xét lại mã lệnh một cách tăng dần. Phương pháp lập trình này
còn gọi là lập trình thăm dò (exploratory programming).

102 Võ Huỳnh Trâm – Trần Ngân Bình


Chương 6: Hệ chuyên gia

Hình 6_2. Chu trình phát triển theo kiểm thăm dò.
Hình 6_2 trình bày một lưu đồ mô tả chu trình phát triển theo kiểu lập trình thăm dò.
Nói chung quá trình xây dựng hệ thống bắt đầu với việc kỹ sư tri thức cố gắng làm
quen với phạm vi xác định vấn đề (problem domain). Điều này giúp ích cho việc giao
tiếp với chuyên gia. Nó được thực hiện bằng những bài phỏng vấn mở đầu với chuyên
gia đó, bằng sự quan sát các chuyên gia trong quá trình họ làm việc, hoặc thông qua
việc đọc những tài liệu giới thiệu về lĩnh vực chuyên ngành đó. Tiếp theo kỹ sư tri
thức và chuyên gia bắt đầu quá trình khai thác những tri thức giải quyết vấn đề của
chuyên gia này. Công việc này được thực hiện bằng cách đưa cho chuyên gia một loạt
các bài toán ví dụ và yêu cầu anh ta giải thích những kỹ thuật được sử dụng để đạt
được lời giải. Trong giai đoạn này, việc sử dụng các băng video hoặc audio là rất
quan trọng.
Thông thường, sẽ tốt hơn nếu kỹ sư tri thức là một người mới làm quen với lĩnh vực
ứng dụng, vì những chuyên gia có thể quên đề cập đến những bước thao tác đã trở
thành hiển nhiên hay thậm chí là tự động đối với họ sau nhiều năm công tác trong
lĩnh vực đó. Vì vậy, các kỹ sư tri thức không biết gì về lĩnh vực này có thể sẽ phát
hiện những bước nhảy cóc này, và do đó sẽ yêu cầu chuyên gia làm sáng tỏ vấn đề.
Ngay sau khi kỹ sư đã có được cái nhìn tổng quát về lĩnh vực của vấn đề và đã cùng
chuyên gia giải quyết một số bài toán, anh ta sẽ bắt tay vào thiết kế hệ thống: chọn
phương pháp biểu diễn tri thức, như luật hay frame chẳng hạn, xác định chiến lược

Võ Huỳnh Trâm – Trần Ngân Bình 103


Giáo Trình Trí Tuệ Nhân Tạo

tìm kiếm, tiến (forward), lùi (backward), theo chiều sâu (depth-first), tốt nhất (best-
first),… và thiết kế giao diện người dùng. Sau khi triển khai thiết kế này đến mức có
thể hài lòng, kỹ sư tri thức bắt đầu xây dựng một bản mẫu (prototype).
Bản mẫu này cần phải có khả năng giải quyết những bài toán trong một phạm vi nhỏ
của lĩnh vực và cung cấp một nền thử nghiệm cho những xác nhận thiết kế sơ bộ.
Ngay sau khi bản mẫu được cài đặt xong, kỹ sư tri thức và chuyên gia sẽ thử nghiệm
và cải tiến tri thức của nó bằng cách cho nó giải quyết một số bài toán và hiệu chỉnh
những khuyết điểm của nó. Sau mỗi lần như vậy, họ thường có một phiên bản chương
trình sáng sủa hơn. Nếu những giả thiết trong quá trình thiết kế bản mẫu tỏ ra là đúng
đắn, thì bản mẫu có thể được dùng để xây dựng hệ thống cuối cùng. Tuy nhiên, bản
mẫu cũng có thể bị loại bỏ nếu nó trở nên cồng kềnh hoặc các nhà thiết kế quyết định
thay đổi phương pháp tiếp cận cơ sở đối với vấn đề.
Đặc trưng lớn thứ hai của lập trình HCG là cần xem chương trình như không bao giờ
“kết thúc”. Một cơ sở tri thức kiểu heuristic lớn sẽ luôn luôn có những hạn chế của
nó, vì tri thức thì luôn đổi mới và vì vậy cần phải được cập nhật.

II.4 Mô hình khái niệm và vai trò của chúng trong việc thu thập tri thức
Trong HCG, tri thức đóng vai trò quyết định cho sự thành công cũng như hiệu quả
giải quyết vấn đề của HCG. Tri thức này có được từ quá trình thu thập tri thức của
các chuyên gia, tri thức này thường mơ hồ, không chính xác, và chỉ được phát biểu
dài dòng theo từng bộ phận. Người kỹ sư tri thức có nhiệm vụ dịch những hiểu biết
không hình thức này sang một ngôn ngữ hình thức thích hợp cho máy tính (xem hình
6_3). Đây là một nhiệm vụ khó khăn, tuy nhiên, khó khăn trước tiên vẫn là việc tích
lũy tri thức do nhiều nguyên nhân:
1. Các kỹ năng của con người có được thường thông qua thực nghiệm. Sau nhiều
năm thực hành, những kỹ năng này tích hợp chặt chẽ với nhau và hoạt động ở
một cấp độ vô thức cao. Vì vậy, sẽ rất khó khăn cho các chuyên gia khi phải
mô tả chính xác những gì họ làm trong quá trình giải quyết vấn đề.
2. Tri thức của con người thường nằm ở dạng là “biết làm thế nào” (how) để đối
phó với tình huống hơn là biết cần phải khắc họa trong óc một cách lý trí xem
tình huống ấy là cái gì (what). Một ví dụ dễ thấy về đặc điểm này ở người biểu
diễn xe đạp một bánh: trong thực tế, một người biểu diễn thành công không thể
cùng lúc giải nhiều phương trình sai phân nhằm giữ thế cân bằng; mà thực ra
anh ta chỉ phối hợp có tính trực giác những cảm giác về “trọng lực”, “xung
lực” và “quán tính” để tạo thành một thủ tục điều khiển thích hợp.
3. Tri thức của con người không căn cứ theo sự thật, không khách quan, vì hiểu
biết của con người thể hiện một mô hình của cá nhân hay cộng đồng về thế
giới. Những mô hình đó bị ảnh hưởng bởi những tập quán, những quá trình xã
hội, và những quá trình tiềm ẩn khác…
4. Tri thức luôn luôn thay đổi. Điều đó không chỉ do các chuyên gia tiếp nhận
thêm những tri thức mới, mà còn do tri thức đang tồn tại có thể trở thành mục
tiêu của những cải cách triệt để.

104 Võ Huỳnh Trâm – Trần Ngân Bình


Chương 6: Hệ chuyên gia

Hệ quả là, công nghệ tri thức là một quá trình khó khăn và cần được xem xét khi kéo
dài chu trình sống của bất kỳ HCG nào. Để đơn giản hóa nhiệm vụ này, người ta cài
đặt một mô hình khái niệm (conceptual model) nằm giữa hiểu biết chuyên môn của
con người với chương trình như trong hình 6_3. Mô hình khái niệm này thể hiện nhận
thức của người kỹ sư tri thức về lĩnh vực đó, nó có thể bao gồm các từ điển dữ liệu,
các biểu diễn đồ họa của không gian trạng thái và những lời bình đi kèm đều có thể là
một phần của mô hình này.
Mô hình khái niệm không có tính hình thức hoặc có thể thi hành trực tiếp trên máy
tính. Nó chỉ là một cấu trúc thiết kế trung gian, một mô hình mẫu để có thể bắt đầu
đưa ra các ràng buộc và mã hóa các kỹ năng của con người. Nếu như kỹ sư tri thức sử
dụng mô hình phép tính mệnh đề, thì nó có thể bắt đầu như một tập hợp các mạng
đaon giản biểu diễn những trạng thái suy luận của người chuyên gia thông qua các
tình huống giải quyết vấn đề điển hình. Chỉ sau khi được cải tiến thêm, mạng này mới
trở thành các luật if… then tường minh.

Hình 6_3. Vai trò của mô hình khái niệm trong giải quyết vấn đề.

III HỆ chuyên gia DỰA trên LUẬT (RULE–BASED ES)


Các HCG dựa trên luật biểu diễn tri thức dưới dạng các luật if… then. Cách tiếp cận
này thích hợp với kiến trúc ở hình 6_1, và là một trong những kỹ thuật cổ điển và
được sử dụng rộng rãi nhất dùng cho biểu diễn tri thức về một lĩnh vực trong HCG.
Kiến trúc của HCG này tương tự với mô hình hệ sinh (production system) đã trình
bày ở chương 5.
Nếu chúng ta xem kiến trúc HCG ở hình 6_1 như một hệ sinh thì cơ sở tri thức là tập
hợp các luật sinh (if… then). Dữ liệu cho trường hợp cụ thể được giữ trong bộ nhớ
làm việc. Động cơ suy diễn thực hiện chu trình nhận dạng – hành động (recognize-
act) của hệ sinh; cơ chế điều khiển này có thể là hường từ dữ liệu hay hướng từ mục
tiêu.
Việc chọn lựa tiếp cận hướng từ dữ liệu hay hướng từ mục tiêu cũng giống như
những thảo luận đã trình bày trong chương 3. Tuy nhiên, đối với một HCG, thì tiếp

Võ Huỳnh Trâm – Trần Ngân Bình 105


Giáo Trình Trí Tuệ Nhân Tạo

cận hướng từ mục tiêu sẽ tạo điều kiện cho quá trình giải thích hơn. Vì trong một hệ
hướng từ mục tiêu, việc suy luận theo đuổi một mục tiêu cụ thể nào đó, mục tiêu đó
bị chia thành nhiều mục tiêu con và cứ như thế; kết quả là việc tìm kiếm luôn luôn
được hướng dẫn thông qua sự phân cấp mục tiêu và mục tiêu con này. Trong khi ở
tìm kiếm hướng từ dữ liệu không tồn tại điều này, kết quả là quá trình tìm kiếm
thường có vẻ dài dòng và không tập trung.
Để có một ví dụ cụ thể hơn về giải quyết vấn đề theo hướng từ mục tiêu, ta xét một
HCG nhỏ dùng để chẩn đoán những trục trặc trong xe hơi, gọi tắt là HCG “Chẩn đoán
xe hơi”:
Luật 1 IF động cơ nhận được xăng AND động cơ khởi động được
THEN trục trặc là do bugi.
Luật 2 IF động cơ không khởi động được AND đèn không sáng
THEN trục trặc là do ắcquy hoặc dây cáp
Luật 3 IF động cơ không khởi động được AND đèn sáng
THEN trục trặc là do môtơ khởi động
Luật 4 IF còn xăng trong bình chứa nhiên liệu AND còn xăng trong bộ chế
hòa khí
THEN động cơ nhận được xăng
Trong chế độ điều khiển hướng từ mục tiêu, đầu tiên mục tiêu cao nhất là “trục trặc là
do X” sẽ được đưa vào bộ nhớ làm việc như hình 6_4:

Bộ nhớ làm việc Tập luật sinh


Trục trặc là
Luật 1
do X
Luật 2
Luật 3
Luật 4

Hình 6_4. Hệ sinh tại thời điểm ban đầu của một lần chẩn đoán.
Có 3 luật đối sánh (match) với biểu thức này trong bộ nhớ làm việc: luật 1, 2 và 3.
Nếu ta chọn luật ưu tiên theo số thứ tự của nó, thì luật 1 sẽ được đốt cháy, khi đó X sẽ
được gắn kết (bound) với giá trị bugi và những tiền đề (vế trái) của luật 1 được đặt
vào bộ nhớ làm việc như hình 6_5.

Bộ nhớ làm việc Tập luật sinh


Động cơ nhận được xăng Luật 1
Động cơ khởi động được Luật 2
Trục trặc là do bugi Luật 3
Luật 4

Hình 6_5. Hệ sinh sau khi luật 1 được đốt cháy.

106 Võ Huỳnh Trâm – Trần Ngân Bình


Chương 6: Hệ chuyên gia

Để chứng minh mục tiêu con là động cơ nhận được xăng thì luật 4 được đốt cháy, và
những tiền đề của luật này được đặt vào bộ nhớ làm việc như hình 6_6.
Bộ nhớ làm việc

Còn xăng trong bình chứa nhiên


liệu Tập luật sinh
Còn xăng trong bộ chế hòa khí
Luật 1
Động cơ nhận được xăng
Luật 2
Động cơ khởi động được
Luật 3
Trục trặc là do bugi
Luật 4

Hình 6_6. Hệ sinh sau khi đốt cháy luật 4.


Tại thời điểm này, có ba mục trong bộ nhớ làm việc (các mục in nghiêng trong hình
6_6) là không đối sách với bất kỳ kết luận của luật nào. Trong tình huống này, HCG
sẽ truy vấn trực tiếp người dùng về những mục tiêu mới này. Nếu người dùng xác
nhận cả ba mục tiêu này đều đúng, thì HCG sẽ xác định một cách thành công rằng
trục trặc xe là do bugi. Trong quá trình tìm ra lời giải này, hệ thống đã kiểm tra nhánh
trái nhất của đồ thị Và/Hoặc trong hình 6_7.

Trục trặc là do X

Luật 1: Luật 2: Luật 3:


Trục trặc là do bugi Trục trặc là do acquy Trục trặc là do môtơ
hoặc dây cáp khởi động

Động cơ Động cơ Động cơ Đèn không Động cơ Đèn sáng


nhận được khởi động không khởi sáng không khởi
xăng được động được động được

Luật 4:
Động cơ nhận được xăng

Còn xăng trong bình xăng Còn xăng trong bộ chế hòa khí

Hình 6_7. Đồ thị Và/Hoặc được tìm kiếm trong ví dụ chẩn đoán xe ôtô.

Võ Huỳnh Trâm – Trần Ngân Bình 107


Giáo Trình Trí Tuệ Nhân Tạo

III.1 Khả năng giải thích và tính trong suốt của suy luận hướng từ mục
tiêu
Để thấy được khả năng giải thích và tính trong suốt của suy luận hướng từ mục tiêu,
ta giả định phiên chẩn đoán đang ở giai đoạn của hình 6_6. Đoạn hội thoại sau đây
được bắt đầu bằng việc máy tính yêu cầu người dùng cho biết về các mục tiêu con
hiện có trong bộ nhớ làm việc (trả lời của người dùng được gạch dưới):
- còn xăng trong bình chứa nhiên liệu? yes
- còn xăng trong bộ chế hòa khí? yes
- động cơ khởi động được không? why
Đến đây, người dùng đánh vào câu hỏi why, nghĩa là muốn hỏi, tại sao anh cần biết
động cơ có khởi động được hay không? Khi đó hệ thống trả lời
Đã xác định được rằng:
1. động cơ nhận được xăng,
Vì vậy nếu
2. động cơ khởi động được ,
Thì có thể kết luận: trục trặc là do bugi
Giả sử người dùng tiếp tục hỏi:
động cơ nhận được xăng như thế nào?
Khi đó, hệ thống sẽ trả lời:
Điều này có từ luật 4
IF còn xăng trong bình chứa nhiên liệu AND còn xăng trong bộ chế
hòa khí
THEN động cơ nhận được xăng
Người dùng đã cho biết: còn xăng trong bình chứa nhiên liệu
Người dùng đã cho biết: còn xăng trong bộ chế hòa khí
Một lần nữa, kiến trúc hệ sinh cho chúng ta một cở sở thiết yếu để có những giải thích
này. Mỗi chu trình của vòng lặp điều khiển sẽ chọn và đốt cháy một luật khác.
Chương trình có thể dứng lại sau mỗi chu trình và cho phép người dùng kiểm tra. Vì
mỗi luật biểu diễn một bó tri thức đầy đủ, nên luật hiện tại cho ta một ngữ cảnh để
giải thích. Ngoài ra, tính module của mỗi luật cũng tạo điều kiện cho việc thêm hay
sửa đổi một luật được thực hiện một cách dễ dàng mà không hề ảnh hưởng đến các
luật khác.

III.2 Hệ chuyên gia R1/XCON


HCG R1 hay XCON được đưa ra vào năm 1982 là một trong những HCG thương mại
thành công đầu tiên. Như đã giới thiệu trong các phần trên, ban đầu chương trình
được thiết kế chỉ để định cấu hình cho các máy tính VAX 780; sau đó nó được mở
rộng để xử lý luôn cho các hệ máy VAX và hệ máy PDP-11. Đầu vào của hệ thống là
đơn đặt hàng của khách hàng và sau đó áp dụng các luật để sinh ra một cấu hình hoàn

108 Võ Huỳnh Trâm – Trần Ngân Bình


Chương 6: Hệ chuyên gia

chỉnh, thống nhất cùng với các sơ đồ biểu diễn mối quan hệ về không gian và logic
của các bộ phận trong máy (McDermott 1981).
Kiến trúc của HCG XCON được mô tả như hình 6_8.

Database
Thông tin về các thành phần
Các mẫu vỏ máy

Cõ sở các luật Bộ nhớ làm việc


Các luật ‘điều hành’ Các ký hiệu thành phần
Các luật chuyển đổi theo tình huống Các cấu hình chưa hoàn chỉnh
Các ký hiệu tình huống

OPS5
Động cơ suy diễn

Hình 6_8. Kiến trúc của HCG XCON


XCON là một HCG dựa trên luật, nó chứa một cơ sở các luật bao gồm khoảng 10000
luật được viết với ngôn ngữ OPS5 (OPS – Official Production System). Các luật này
dùng để điều khiển quá trình tạo cấu hình cho máy, nó có một đặc điểm đặc biệt là
tiền đề của luật thường bắt đầu bằng một điều kiện kiểm tra tình huống hiện tại,
chẳng hạn như:
IF the most current active context is distributing Massbus devices
& there is a single port disk drive that has not been assigned to a
Massbus
& there are no unassigned dual port disk drives & the number of
devices that each Massbus should support is known
& there is a Massbus that has been assigned at least one disk drive and
that should support additional disk drives
& the type of cable needed to connect the disk drive to the previous
device is known
THEN assign the disk drive to the Massbus
Trong luật trên, điều kiện đầu tiên (được in nghiêng) là điều kiện kiểm tra xem tình
huống mới nhất hiện tại (most current active context) có phải là đang phân phối các
thiết bị Massbus hay không? Nếu đúng thì động cơ suy diễn mới kiểm tra các điều
kiện kế tiếp, nếu sai thì bỏ qua luật này. Để có thể biết được tình huống hiện tại là gì,
hệ thống sẽ truy cập vào bộ nhớ làm việc, nơi có lưu trữ các ký hiệu về tình huống
hiện tại. Chính nhờ cấu trúc luật đặc biệt này mà mặc dù cơ sở luật có đến 10000 luật
nhưng hệ thống thực hiện quá trình đối sánh để đưa ra các luật khả thi tại một thời
điểm là rất nhanh. Với tính chất này, có thể nói công việc tạo cấu hình của R1/XCON
được xem như là một hệ thống phân chia thành các công việc nhỏ hơn với sự phụ

Võ Huỳnh Trâm – Trần Ngân Bình 109


Giáo Trình Trí Tuệ Nhân Tạo

thuộc thời gian (temporal dependency) rất mạnh, công việc này phải thực hiện trước
công việc kia.
Ngoài ký hiệu tình huống, bộ nhớ làm việc của hệ thống còn chứa các thông tin như
ký hiệu của các thành phần đang có, ký hiệu các cấu hình đang thực hiện dở dang,
chưa hoàn chỉnh. Vì các thành phần của máy thường được đặc trưng bởi nhiều thông
số kỹ thuật, nên bộ nhớ làm việc chỉ chứa ký hiệu của nó, còn thông tin về các thông
số này sẽ được lưu trong một cơ sở dữ liệu.
Động cơ suy diễn của XCON được phát triển bằng OPS5, sử dụng tiếp cận tìm kiếm
hướng từ dữ liệu, hay suy luận tiến. Kết quả của hệ thống có thể nói là tương đương
hoặc có khi tốt hơn giải pháp của các chuyên gia con người. Về tốc độ, thì HCG cho
ra giải pháp nhanh gấp mười lần chuyên gia, và đã tiết kiệm được cho công ty DEC
hàng năm khoảng 25 triệu đôla.

III.3 Kết luận về HCG dựa trên luật


III.3.1 Ưu điểm của HCG dựa trên luật:
1. Khả năng sử dụng trực tiếp các tri thức thực nghiệm của các chuyên gia.
2. Tính module của luật làm cho việc xây dựng và bảo trì luật dễ dàng.
3. Có thể thực hiện tốt trong các lĩnh vực hạn hẹp.
4. Có tiện ích giải thích tốt.
5. Các luật ánh xạ một cách tự nhiên vào không gian tìm kiếm trạng thái.
6. Dễ dàng theo dõi một chuỗi các luật và sửa lỗi.
7. Sự tách biệt giữa tri thức và điều khiển giúp đơn giản hóa quá trình phát triển
HCG.
III.3.2 Khuyết điểm của HCG dựa trên luật:
1. Các luật đạt được từ các chuyên gia mang tính heuristic rất cao. Chẳng hạn
như trong lĩnh vực y học, luật “If sốt-cao Then bị-nhiễm-trùng” là sự kết hợp
trực tiếp các triệu chứng quan sát được và các chẩn đoán, mà không thể hiện
sự hiểu biết lý thuyết sâu hơn về lĩnh vực chuyên ngành (như cơ chế phản ứng
của cơ thể để chống lại vi trùng chẳng hạn), hoặc luật “If sốt-cao Then cho-
uống-Aspirin” cũng không thể hiện tri thức về giải quyết vấn đề tức là quá
trình chữa bệnh như thế nào.
2. Các luật heuristic “dễ vỡ”, không thể xử lý các trường hợp ngoài dự kiến. Vì
các luật được tạo ra từ kinh nghiệm của các chuyên gia trên những tình huống
đã biết, nên khi gặp phải một tình huống mới không đúng với các kinh nghiệm
đó, thì các luật này không giải quyết được.
3. Có khả năng giải thích chứ không chứng minh. HCG dựa trên luật chỉ có thể
giải thích rằng kết luận này là do suy luận từ các luật như thế nào, chứ không
chứng minh được kết luận đó là đúng.
4. Các tri thức thường rất phụ thuộc vào công việc. Quá trình thu thập tri thức rất
phức tạp và khó khăn, tuy nhiên, tri thức có được không thể sử dụng lại cho
một công việc khác.
5. Khó bảo trì các cơ sở luật lớn.

110 Võ Huỳnh Trâm – Trần Ngân Bình


Chương 6: Hệ chuyên gia

IV SUY LUẬN DỰA TRÊN MÔ HÌNH: (MODEL–


BASED REASONING)
Với các khuyết điểm của HCG dựa trên luật kể trên, tiếp cận dựa trên mô hình được
đưa ra nhằm giải quyết các vấn đề này. Hệ thống suy luận dựa trên mô hình là một hệ
thống mà sự phân tích căn cứ trực tiếp trên một mô tả chi tiết và chức năng của một
hệ thống vật lý. Trong thiết kế và sử dụng, một hệ suy luận dựa trên mô hình tạo ra
một sự mô phỏng bằng phần mềm đối với chức năng của cái mà chúng ta muốn tìm
hiểu hay sửa chữa.
Những ứng dụng đầu tiên của tiếp cận này là cho mục đích dạy học. Nhiệm vụ của hệ
dạy học này là kiểm tra kiến thức của sinh viên về thiết bị hay mạch điện cũng như
truyền đạt bất cứ kiến thức nào mà các sinh viên bỏ sót. Từ mục đích dạy học ban đầu
này, các hệ suy luận dựa trên mô hình chuyển sang các hệ tìm hỏng hóc của thiết bị
(trouble-shooting system). Để tìm lỗi của một hệ thống vật lý, mô hình sẽ cho người
dùng biết là cần phải mong đợi gì từ hệ thống, và khi nào thì cái quan sát được khác
với cái mong đợi, và sự khác biệt này dẫn đến lỗi như thế nào.
Một hệ thống chẩn đoán dựa trên mô hình đòi hỏi:
1. Một mô tả cho mỗi bộ phận trong thiết bị. Từ những mô tả này mà hệ chẩn
đoán có thể mô phỏng hành vi của từng bộ phận.
2. Một mô tả cấu trúc bên trong của thiết bị. Đây thường là một biểu diễn của các
thành phần và sự nối kết qua lại của chúng. Những thông tin này giúp hệ thống
mô phỏng sự tương tác giữa các thành phần của thiết bị.
3. Việc chẩn đoán một lỗi cụ thể đòi hỏi sự quan sát việc thực hiện thật sự của
thiết bị, thông thường là việc đo các thông số vào/ra của nó.
Vì vậy, nhiệm vụ của hệ sẽ là xác định bộ phận nào có lỗi dựa trên các hành vi quan
sát được. Điều này đòi hỏi phải có thêm các luật mô tả các chế độ có lỗi đã biết cho
các bộ phận khác nhau và sự nối kết của chúng. Hệ suy luận khi đó cần tìm ra những
lỗi có khả năng nhất có thể giải thích hành vi quan sát được của hệ thống.

IV.1 Ví dụ hệ chẩn đoán lỗi dựa trên mô hình


Xét một mạch gồm ba bộ nhân (multiplier) và hai bộ cộng liên kết với nhau như trong
hình 6.14. Trong ví dụ này những giá trị đầu vào được cho tại các điểm từ A đến E và
các giá trị đầu ra tại F và G. Những giá trị đầu ra mong muốn được đặt trong các dấu
() và giá trị thực được đặt trong các dấu []. Nhiệm vụ đặt ra là xác định xem lỗi nằm ở
đâu và nó sẽ giải thích sự không nhất quán này.

Võ Huỳnh Trâm – Trần Ngân Bình 111


Giáo Trình Trí Tuệ Nhân Tạo

Hình 6_9. Tận dụng hướng đi của luồng thông tin để chẩn đoán lỗi.
Ta thấy kết quả tại đầu ra F không như mong đợi, mà đầu ra này xuất ra từ bộ cộng
ADD-1, bộ cộng này nhận giá trị đầu vào từ MULT-1 và MULT-2. Vậy phải có một
trong ba thiết bị có lỗi, và do đó, ta có ba giả thuyết cần xem xét.
Giả thuyết đầu tiên là ADD-1 và MULT-1 đúng, nghĩa là đầu vào X của ADD-1 đúng
(6), khi đó đầu vào Y sẽ là 4, nghĩa là bộ nhân MULT-2 có lỗi. Nhưng, nếu là như
vậy thì giá trị thực tại G phải là 10, chứ không phải 12 như ta thấy. Vì vậy, có thể nói
MULT-2 không thể là bộ phận gây lỗi. Vậy, lỗi chỉ có thể nằm ở MULT-1 hoặc
ADD-1. Chúng ta có thể làm thêm một số bước kiểm tra để xác định lỗi nằm ở đâu.
Trong khi suy luận về tình huống của hình 6_9. Chúng ta có ba nhiệm vụ:
1. Phát sinh giả thuyết: cho trước một lỗi, chúng ta giả thuyết những bộ phận nào
đó của thiết bị đã gây ra nó.
2. Kiểm nghiệm giả thuyết: cho trước một tập các bộ phận có khả năng có lỗi,
chúng ta đã xác định xem bộ phận nào trong số đó có thể giải thích hành vi mà
chúng ta quan sát được.
3. Loại trừ giả thuyết: khi có nhiều hơn một giả thuyết đúng sau pha kiểm
nghiệm, như đã xảy ra trong hình 6_9, chúng ta phải xác định những thông tin
bổ sung nào cần được suy ra để tiếp tục tìm kiếm lỗi.
Một điều cần lưu ý rằng trong ví dụ trên, ta chỉ giả định một thiết bị duy nhất có lỗi.
Mặc dù giả thiết một lỗi duy nhất là một heuristic hữu ích, thường đúng đắn, nhưng
thế giới thực thì không đơn giản như vậy.

IV.2 Kết luận về hệ suy luận dựa trên mô hình


Vì dựa trên sự hiểu biết lý thuyết về các thiết bị đang đề cập, các kỹ thuật dựa trên
mô hình bù đắp được nhiều hạn chế của những phương pháp có tính heuristic hơn
như hệ chuyên gia dựa trên luật. Một số ưu điểm của hệ thống này có thể liệt kê ra
như sau:
¾ Tạo khả năng sử dụng tri thức về cấu trúc và chức năng của lĩnh vực trong
giải quyết vấn đề.

112 Võ Huỳnh Trâm – Trần Ngân Bình


Chương 6: Hệ chuyên gia

¾ Vượt qua hạn chế của HCG dựa trên luật, HCG này có khuynh hướng mạnh,
“khó vỡ”.
¾ Một số tri thức có thể chuyển tải cho các công việc khác.
¾ Có khả năng cung cấp các lời giải thích chỉ rõ nguyên nhân. Những giải thích
này có thể truyền đạt một sự hiểu biết sâu hơn về lỗi cho người dùng, và cũng
đảm nhiệm một vai trò giảng dạy quan trọng.
Tuy nhiên, hệ suy luận này cũng có những hạn chế của nó:
¾ Mô hình chỉ là một mô hình nghĩa là một sự trừu tượng của hệ thống, vì vậy ở
một mức độ chi tiết nào đó có thể không đúng. Như trong ví dụ trên, chúng ta
đã xem giá trị tại những dây dẫn đầu vào cũng như các dây dẫn nối kết bên
trong là đúng đắn, ta không thể kiểm tra tình trạng của dây dẫn. Điều gì sẽ xảy
ra nếu dây dẫn bị đứt, hoặc có sự kết nối lỏng lẻo với các bộ phận?
¾ Có một giả thiết ngầm hiểu về thế giới đóng, những gì không nằm trong mô
hình có nghĩa là không tồn tại. Vì trong mô hình ta không mô tả dây dẫn, nên
ta xem như chúng không tồn tại, vì vậy không thể kiểm tra chúng.
¾ Hệ suy luận này đòi hỏi phải có một mô hình lý thuyết rõ ràng. Nên việc tích
lũy tri thức có thể gặp nhiều khó khăn, khó đạt được mô hình tốt, có khi là
không tồn tại mô hình rõ ràng như trong một số chuyên ngành y khoa, tài
chính…
¾ Hệ thống tạo ra có thể lớn và chậm, độ phức tạp cao, có nhiều tình huống
ngoại lệ.
Mặc dù vậy, HCG dựa trên mô hình là một bổ sung quan trọng cho các công cụ của
kỹ sư tri thức.

V SUY LUẬN DỰA TRÊN TRƯỜNG HỢP: (caSe–


BASED REASONING)
Các luật heuristic và mô hình lý thuyết là hai kiểu thông tin mà các chuyên gia người
sử dụng để giải quyết vấn đề. Một chiến lược mạnh khác mà các chuyên gia sử dụng
là suy luận từ những tình huống, là những ví dụ về các bài toán trong quá khứ và lời
giải của chúng. Ví dụ, một luật sư sẽ chọn những tình huống luật đã xảy ra trong quá
khứ tương tự với tình huống của thân chủ của anh ta và gợi ý cho anh ta một phương
pháp thuyết phục tòa hợp lý để bênh vực cho thân chủ. Các nhà lập trình máy tính sử
dụng lại mã của họ, khi sửa chữa một chương trình cũ để thích nghi với tình huống
mới có cấu trúc tương tự. Các kiến trúc sư sử dụng kiến thức của họ về những tòa nhà
tốt và được ưa thích trong quá khứ để thiết kế những tòa nhà mới mà người ta cảm
thấy vừa ý và thuận tiện,… Tóm lại, suy luận từ những tình huống đã có là khả năng
có tính chất nền tảng của trí thông minh con người. Và suy luận dựa trên tình huống
cũng phát triển theo tiếp cận đó.
HCG dựa trên tình huống (Case-based Reasoning – CBR) sử dụng một CSDL riêng
biệt chứa giải pháp của các tình huống đã giải quyết để dựa vào đó tìm kiếm giải pháp
cho một tình huống mới. Các tình huống thường được lưu lại như là một tập hợp các

Võ Huỳnh Trâm – Trần Ngân Bình 113


Giáo Trình Trí Tuệ Nhân Tạo

luật tình huống – hành động (situation – action). Các sự kiện mô tả tình huống của
luật là những đặc điểm nổi bật của tình huống được ghi nhận.
Khi giải quyết một vấn đề, một CBR phải:
1. Truy vấn các tình huống thích hợp từ bộ nhớ (hay CSDL) của nó, dựa vào sự
tương tự của một số đặc điểm nổi bật.
2. Sửa đổi tình huống đó để có thể áp dụng trong tính huống hiện tại.
3. Áp dụng tình huống đã chuyển đổi vào bài toán mới.
4. Lưu lại lời giải và kết quả của nó (thành công hay thất bại).
CBR đưa ra hàng loạt ưu điểm cho việc xây dựng các chuyên gia:
¾ Đơn giản hóa việc tích lũy tri thức từ các chuyên gia với việc lưu trữ một cách
trực tiếp các tri thức có được, đó là những lời giải của chuyên gia cho hàng
loạt các bài toán.
¾ Bằng cách tìm giải pháp của một tình huống tương tự đã có để đưa ra lời giải
cho phép rút ngắn thời gian suy luận của hệ thống. Tuy nhiên, điều này cần
phải xem xét lại nếu hệ thống có một CSDL tình huống rất lớn.
¾ Thao tác lưu lại lời giải và kết quả của nó tạo khả năng tự học cho hệ thống:
giúp hệ thống tránh lỗi cũ và tận dụng những thành công trong quá khứ
¾ Việc phân tích tri thức của lĩnh vực chỉ diễn ra một lần, đó là khi tìm kiếm một
sự biểu diễn hợp lý cho các tình huống, hay quá trình chọn các đặc điểm nổi
bật (salient features) của các tình huống để có thể so sánh và đưa ra kết luận về
tính tương đương của hai tình huống nào đó. Đây cũng là khó khăn lớn nhất
của tiếp cận này. Vì nếu ta chọn các đặc điểm nổi bật dùng để so sánh hai tình
huống không phù hợp, thì kết luận của ta về tính tương đương của hai tình
huống có thể sẽ không chính xác, và khi tình huống chọn ra không đúng sẽ
không cho ra một lời giải thích hợp.
Ở đây, ta sẽ không nghiên cứu sâu về vấn đề này, tuy nhiên đọc giả có thể
tham khảo thêm về các tài liệu của Kolodner (1993) và các đồng nghiệp khác.
¾ Việc tích lũy tri thức và lập trình là tương đối đơn giản.
¾ Các chiến lược sắp xếp (index) thích hợp làm tăng sức mạnh của phương pháp
này.
Tiếp cận này cũng có các khuyết điểm của nó:
¾ Các tình huống không thể hiện tri thức sâu về lĩnh vực bài toán, do đó khó giải
thích tại sao đưa ra lời giải như vậy, hoặc có thể đưa ra lời giải sai hoặc không
tốt.
¾ Một cơ sở chứa các tình huống lớn phải xem xét sự tương xứng giữa tính toán
và lưu trữ. Vì khi CSDL lớn lên, thời gian cần đẻ lấy ra một tình huống thích
hợp cũng lớn lên. Cuối cùng thì chi phí cho việc tìm kiếm một tình huống sẽ
lớn hơn thời gian cần thiết để rút ra một lời giải bằng cách suy luận từ các luật
hoặc từ mô hình (hai tiếp cận trước).

114 Võ Huỳnh Trâm – Trần Ngân Bình


Chương 6: Hệ chuyên gia

¾ Khó đưa ra tiêu chuẩn đánh giá sự tương tự của các tình huống, và sắp xếp
chúng.

VI Tóm tẮt
Nội dung chính của chương này bao gồm:
− Hệ chuyên gia là một hệ thống sử dụng các tri thức thu thập được từ kinh
nghiệm của các chuyên gia để giải quyết các vấn đề ở mức độ chuyên gia.
− Không phải vấn đề nào cần giải quyết cũng phù hợp với giải pháp hệ chuyên
gia.
− Một HCG được phát triển theo phương pháp lập trình thăm dò.
− Việc thu thập tri thức từ chuyên gia là một việc làm khó khăn và cần có sự hợp
tác chặt chẽ giữa kỹ sư tri thức và các chuyên gia.
− Mô hình khái niệm là một công cụ hỗ trợ cho quá trình thu thập tri thức.
− Hệ chuyên gia dựa trên luật có kiến trúc và cơ chế hoạt động tương tự như một
hệ sinh, đây là một trong những kỹ thuật đầu tiên và được sử dụng rộng rãi
nhất dùng cho biểu diễn tri thức trong lĩnh vực HCG.
− Hệ chuyên gia dựa trên mô hình là một hệ thống mà sự phân tích căn cứ trực
tiếp trên một mô tả chi tiết và chức năng của một hệ thống vật lý.
− Hệ chuyên gia dựa trên tình huống sử dụng một CSDL để chứa các tình huống
đã giải quyết để dựa vào đó tìm kiếm giải pháp cho một tình huống mới.

VII BÀI TẬP CHƯƠNG VI

VI.1. Trong thí dụ 6.1 đã giới thiệu một tập hợp luật dùng cho chẩn đoán các trục
trặc trong ô tô. Hãy chỉ ra ai có thể là những kỹ sư tri thức, những chuyên gia
chuyên ngành và người dùng cuối cho một ứng dụng như vậy ? Thảo luận các
ý kiến này ?
VI.2. Bổ sung thêm một số luật dưới dạng IF ... THEN ... vào tập luật trong thí dụ
6.1 để mô tả các quan hệ trong lĩnh vực này. Vẽ đồ thị AND/OR biểu diễn
những quan hệ giữa các luật trong tập luật vừa mới xây dựng.
VI.3. Xét đồ thị AND/OR vừa thiết kế trong bài tập 6.2, cho biết bạn đề nghị cơ chế
tìm kiếm hướng dữ liệu hay hướng mục tiêu ? Tìm kiếm theo chiều rộng hay
theo chiều sâu ? Có thể áp dụng heuristic cho quá trình tìm kiếm không ?
VI.4. Chọn một lĩnh vực khác thích hợp đối với việc thiết kế một hệ chuyên gia. Xây
dựng một tập hợp luật minh họa cho ứng dụng này.

Võ Huỳnh Trâm – Trần Ngân Bình 115


Giáo Trình Trí Tuệ Nhân Tạo

PHẦN III.................................................................................................................................95
GIẢI QUYẾT VẤN ĐỀ DỰA TRÊN TRI THỨC.................................................................95
(KNOWLEDGE – BASED PROBLEM SOLVING).............................................................95
Chương VI ..............................................................................................................................96
HỆ CHUYÊN GIA .................................................................................................................96
(EXPERT SYSTEMS - ES)....................................................................................................96
I. GiỚi thiỆu: ......................................................................................................................97
II. TỔNG QUAN VỀ CÔNG NGHỆ HỆ CHUYÊN GIA .................................................98
II.1. Thiết kế của một HCG dựa trên luật: (Rule–Based ES)....................................98
II.2. Các vấn đề phù hợp để xây dựng HCG...........................................................100
II.3. Qui trình công nghệ tri thức ............................................................................102
II.4. Mô hình khái niệm và vai trò của chúng trong việc thu thập tri thức .............104
III. HỆ chuyên gia DỰA trên LUẬT (RULE–BASED ES).............................................105
III.1. Khả năng giải thích và tính trong suốt của suy luận hướng từ mục tiêu.........108
III.2. Hệ chuyên gia R1/XCON................................................................................108
III.3. Kết luận về HCG dựa trên luật........................................................................110
IV. SUY LUẬN DỰA TRÊN MÔ HÌNH: (MODEL–BASED REASONING) ..............111
IV.1. Ví dụ hệ chẩn đoán lỗi dựa trên mô hình ........................................................111
IV.2. Kết luận về hệ suy luận dựa trên mô hình.......................................................112
V. SUY LUẬN DỰA TRÊN TRƯỜNG HỢP: (caSe–BASED REASONING) .............113
VI. Tóm tẮt ......................................................................................................................115
BÀI TẬP CHƯƠNG VI.........................................................................................115

116 Võ Huỳnh Trâm – Trần Ngân Bình

You might also like