I GIỚI THIỆU: Trong các chương trước, các thủ tục suy diễn của chúng ta đã tuân theo mô hình suy luận sử dụng trong phép tính vị từ: từ các tiền đề đúng đắn, các luật suy diễn vững chắc
Trang 1Chương VII
SUY LUẬN KHÔNG CHẮC CHẮN
Nội dung chính: Trong chương này, chúng ta sẽ tìm hiểu về các phương pháp suy luận từ
các thông tin không chắc chắn hoặc không đầy đủ bao gồm suy luận Bayes, đại số chắc chắn Standford và logic mờ
Mục tiêu cần đạt : Sau chương này, sinh viên có thể :
¾ Vận dụng công thức Bayes để tính xác suất của một giả thuyết
¾ Hiểu nguyên tắc hoạt động của HCG MYCIN
¾ Vận dụng đại số hệ số chắc chắn Stanford vào hệ chuyên gia MYCIN
¾ Hiểu lý thuyết về logic mờ & ứng dụng của nó vào các HCG mờ
¾ Biết lựa chọn phương pháp suy luận phù hợp với vấn đề cần giải quyết
Kiến thức tiên quyết: Biểu diễn tri thức ở dạng luật, cơ bản về lý thuyết xác suất
Tài liệu tham khảo :
[1] Geogre F Luger – Artificial Intelligence, Structures and Strategies for Complex Problem Solving– Addison – Wesley Publishing Company, Inc – 2002 (trang 247 – 290)
[2] Dealing with Uncertaincy
http://www.cs.appstate.edu/~blk/cs4440/chap07/ch07.pdf
[3] Fuzzy Logic
http://pandora.compsci.ualr.edu/ milanova/7399-11/week14/ FuzzyLogic.ppt
Trang 2I GIỚI THIỆU:
Trong các chương trước, các thủ tục suy diễn của chúng ta đã tuân theo mô hình suy luận sử dụng trong phép tính vị từ: từ các tiền đề đúng đắn, các luật suy diễn vững chắc sinh ra những kết luận mới, đảm bảo là đúng đắn Tuy nhiên, trong thực tế, có rất nhiều tình huống chúng ta phải rút ra những kết luận tốt từ những bằng chứng được xác định nghèo nàn và không chắc chắn thông qua việc sử dụng những suy diễn không vững chắc Đây không phải
là một nhiệm vụ không thể thực hiện được, trái lại chúng ta thực hiện chúng rất thành công trong hầu hết mọi khía cạnh của cuộc sống; chẳng hạn như chúng ta phát biểu những chẩn đoán y học đúng đắn và đề xuất cách điều trị từ những triệu chứng không rõ ràng; phân tích những trục trặc của xe ôtô từ những biểu hiện của nó; nhận ra bạn bè chỉ qua giọng nói hoặc điệu bộ của họ,…
Như vậy, ở đây ta có hai loại thông tin không chắc chắn: một là dữ liệu ban đầu được cho là không chắc chắn, không đủ, không đáng tin cậy,… hai là các luật mà ta sử dụng để suy luận không hợp logic, suy luận ngược từ kết luận về điều kiện, hay có thể gọi là suy luận theo kiểu phỏng đoán (abduction) Suy luận phỏng đoán khác với kiểu suy luận vững chắc đề cập
ở chương II Luật modus ponens phát biểu rằng nếu ta có luật P → Q và có P thì ta có thể kết luận Q, như trong luật sau đây:
If ắc quy hoặc dây cáp bị trục trặc
Then động cơ không khởi động được và đèn không sáng
Đây là một luật luôn luôn đúng hay một suy diễn vững chắc (sound inference rule), nhưng nó không giúp ích cho quá trình chẩn đoán các trục trặc xe hơi Tuy nhiên, đảo ngược của nó:
If động cơ không khởi động được và đèn không sáng
Then ắc quy hoặc dây cáp bị trục trặc
lại rất hữu dụng cho việc chẩn đoán trục trặc xe Đây là một phỏng đoán (abduction) từ triệu chứng quan sát được suy ngược trở lại nguyên nhân của chúng, nên gọi là luật suy diễn không vững chắc (unsound inference rule) vì cũng có thể là ắc quy và dây cáp bình thường, nhưng chiếc xe chỉ đơn giản là có môtơ khởi động hỏng và đèn pha đã bị đứt
Mặc dù phỏng đoán là không vững chắc, nhưng nó thường đóng vai trò thiết yếu trong giải quyết vấn đề Trong chương này, chúng tôi đề cập đến hai tiếp cận xử lý suy diễn phỏng đoán và sự không chắc chắn Tiếp cận thứ nhất là tiếp cận thống kê, trong hướng tiếp cận này sẽ trình bày hai phương pháp: lý thuyết xác suất Bayesian và đại số hệ số chắc chắn Stanford Tiếp cận thứ hai là suy luận theo logic mờ
Trang 3II TIẾP CẬN THỐNG KÊ ĐỐI VỚI TÍNH KHÔNG
CHẮC CHẮN
II.1 Suy luận Bayes
Suy luận Bayes dựa trên lý thuyết xác suất hình thức và được sử dụng rộng rãi trong một số lĩnh vực nghiên cứu hiện nay, bao gồm cả nhận dạng và phân loại Trước khi đi vào lý thuyết
về Bayes, ta hãy cùng nhau xem lại một số khái niệm cơ bản của lý thuyết xác suất
II.1.1 Định nghĩa
Xác suất tiên nghiệm (prior probability) hay xác suất vô điều kiện
(unconditional probability): là xác suất của một sự kiện trong điều kiện không có
tri thức bổ sung cho sự có mặt hay vắng mặt của nó
Xác suất hậu nghiệm (posterior probability) hay xác suất có điều kiện (conditional probability): là xác suất của một sự kiện khi biết trước một hay nhiều sự kiện khác
|e1 and e2|
P(e1|e2) = = Số lần xuất hiện cả hai sự kiện e1 và e2
Số lần xuất hiện sự kiện e2
|e2|
Ví dụ, cho trước một căn bệnh d và một triệu chứng s, thì xác suất một người có triệu chứng
s bị bệnh d được tính theo:
| d and s|
P(d | s) = = Số người bị bệnh d có triệu chứng s
Số người có triệu chứng s
|s|
Để tính P(d | s) theo công thức trên thì ta phải thực hiện các cuộc điều tra thống kê trên một phạm vi cộng đồng dân cư rộng lớn mới cho ta được một xác suất chính xác Bayes đưa ra một công thức tính khác cho phép ta tính được P(d | s) từ những kết quả thống kê đã có trước
đó hoặc những kết quả thống kê dễ đạt được hơn
II.1.2 Công thức Bayes
Ta ký hiệu P(h | e) là xác suất khẳng định giả thuyết h đúng cho trước bằng chứng e Công
thức Bayes được phát biểu như sau:
P(e | h) * P(h) P(e) P(h | e) =
Trang 4Công thức này nói rằng xác suất đúng của giả thuyết h khi quan sát được bằng chứng e, bằng với xác xuất cho rằng chúng ta sẽ quan sát được bằng chứng e nếu giả thuyết h là đúng, nhân với xác suất tiên nghiệm của h, tất cả chia cho xác suất tiên nghiệm của việc quan sát được bằng chứng e
Thí dụ 7.1: Bằng chứng (hay triệu chứng): bệnh nhân bị sốt
Giả thuyết (hay bệnh): bệnh nhân bị cảm cúm
P(cúm) * P(sốt|cúm)
P(sốt)
0.003
Câu hỏi :
Giả sử ta có các thông tin sau:
- 75% trường hợp bệnh nhân mắc bệnh quai bị đều bị cúm
- Cơ hội một người bị bệnh quai bị là 1/15000
- Cơ hội một người bị cúm là 1/1000
Hãy xác định xác suất điều kiện của một bệnh nhân mắc bệnh quai bị biết rằng người này không bị cúm
*Công thức Bayes tổng quát:
Trong thực tế có nhiều giả thuyết cạnh tranh nhau, vì vậy công thức Bayes tổng quát nhất là:
P(e | hi) * P(hi)
Σk=1 n (P(e | hk) * P(hk) ) P(hi | e) =
P(hi | e) là xác suất mà hi đúng khi biết bằng chứng e
P(hi) là xác suất mà hi đúng tính trên tất cả các giả thuyết
P(e | hi) là xác suất quan sát được e khi hi đúng Thông thường, tất cả các P(e | hk) phải độc lập nhau
n là số giả thuyết có khả năng
Lấy một ví dụ, giả sử chúng ta muốn khảo sát bằng chứng địa chất tại một địa điểm nào đó
để xem nó có thích hợp cho việc tìm kim loại đồng hay không Chúng ta cần phải biết trước xác suất tìm thấy từng loại trong tập hợp các khoáng sản (chính là các P(hk)) và xác suất của cho sự hiện diện của một bằng chứng nào đó khi từng khoáng sản cụ thể được tìm thấy (chính là các P(e | hk)) Khi đó, chúng ta có thể sử dụng định lý Bayes để xác định khả năng thực sự đồng có ở đó, sau khi thu thập được các bằng chứng tại địa điểm đó Phương pháp này được sử dụng bởi PROSPECTOR, một hệ chuyên gia được xây dựng tại đại học
Trang 5II.1.3 Tại sao sử dụng luật Bayes
Điểm quan trọng của lý thuyết Bayes là các con số ở vế phải của công thức dễ dàng xác định, ít nhất là khi so sánh với vế trái Như trong ví dụ trên, do số lượng nhỏ hơn, nên việc xác định số bệnh nhân bị cúm kèm theo triệu chứng sốt dễ hơn là xác định số người có triệu chứng sốt bị cúm
P (sốt | cúm) chính là tri thức về nguyên nhân (knowledge of causes), tức là xác suất hậu nghiệm ở vế phải, thì dễ dàng có được hơn là tri thức về chẩn đoán (diagnostic knowledge), P(cúm | sốt), tức là xác suất hậu nghiệm ở vế phải Vì vậy, ta nói luật Bayes cho phép chúng
ta sử dụng tri thức về nguyên nhân để suy ra tri thức về chẩn đoán
II.2 Đại số hệ số chắc chắn Stanford
Một số đề án hệ chuyên gia đã cố gắng cải biên những kỹ thuật Bayes để chúng thích nghi với những nhu cầu giải quyết vấn đề của họ Một tiếp cận quan trọng trong số những cải tiến
đó là đại số hệ số chắc chắn đã được sử dụng tại đại học Stanford trong quá trình phát triển
chương trình MYCIN
Khi suy luận với tri thức heuristic, các chuyên gia có thể đưa ra các ước lượng niềm tin hữu
ích về các kết luận Họ ước lượng các kết luận bằng các thuật ngữ như “có nhiều khả năng”,
“không chắc”, “hầu như chắc chắn” hay “có thể” Những ước lượng này rõ ràng là không dựa trên sự phân tích các xác suất một cách cẩn thận Thay vào đó, tự chúng là những heuristic được lấy ra từ kinh nghiệm trong quá trình suy luận về lĩnh vực của vấn đề Vì vậy,
sẽ rất hữu ích nếu ta có thể lượng hóa các ước lượng niềm tin này để đưa chúng vào quá trình suy luận
II.2.1 Lý thuyết về đại số hệ số chắc chắn Stanford
Lý thuyết về độ chắc chắn Stanford (Stanford certainty theory) đưa ra một số giả thiết đơn
giản cho việc tạo ra các độ đo niềm tin và có một số quy tắc đơn giản tương đương cho việc
kết hợp những niềm tin này khi chương trình tiến đến kết luận của nó Giả thiết thứ nhất là
tách “niềm tin ủng hộ” ra khỏi “niềm tin chống lại” một quan hệ:
Gọi MB(H | E) là độ đo của niềm tin vào khả năng đúng của giả thuyết H, khi có bằng
chứng E
Gọi MD(H | E) là độ đo của sự hoài nghi vào khả năng đúng của giả thuyết H, khi có bằng
chứng E
Giá trị của các độ đo này chỉ rơi vào một trong hai trường hợp:
0 < MB(H | E) < 1 trong khi MD(H | E) = 0,
hoặc: 0 < MD(H | E) < 1 trong khi MB(H | E) = 0
Hai độ đo này ràng buộc lẫn nhau ở chỗ một bằng chứng chỉ có thể hoặc là ủng hộ hoặc là chống lại một giả thuyết nào đó Đây là sự khác biệt quan trọng giữa lý thuyết chắc chắn và
lý thuyết xác suất Ngay khi liên kết giữa các độ đo niềm tin và hoài nghi được thiết lặp
xong, chúng được ràng buộc với nhau thêm một lần nữa bởi hệ số chắc chắn CF:
Trang 6CF (H | E) = MB(H | E) – MD(H | E)
Như đã thảo luận ban đầu, ta có hai vấn đề không chắc chắn là dữ liệu và luật Vì vậy, ở đây
ta cũng có 2 loại hệ số CF là hệ số chắc chắn cho dữ kiện (fact), và hệ số chắc chắn cho luật (rule) Để dễ phân biệt ta sử dụng ký hiệu CFf cho dữ kiện và CFr cho luật
.II.2.1.1 Các hệ số chắc chắn Stanford
a Hệ số chắc chắn dành cho dữ kiện: dữ kiện ở đây bao gồm dữ liệu ban đầu, dữ liệu suy luận được và kết luận (giả thuyết):
CFf(fact) ∈[-1,1]:
¾ CFf càng tiến về 1 thể hiện sự tin tưởng dữ kiện là đúng càng mạnh
¾ CFf tiến về -1 thể hiện sự tin tưởng dữ kiện là không đúng càng mạnh
¾ CFf có giá trị xung quanh 0 cho thấy tồn tại rất ít bằng cớ cho việc ủng hộ hay chống lại dữ kiện Vì vậy, nếu lấy dữ liệu này đi suy luận thì độ chính xác sẽ rất thấp Do
đó, người ta thường đưa ra một giới hạn (threshold) nhằm tránh việc suy luận với thông tin không chắc chắn như vậy (vd: 0.2) Nghĩa là nếu dữ kiện nào có CF nhỏ hơn giới hạn, ta sẽ không sử dụng trong quá trình suy luận
b Hệ số chắc chắn dành cho luật:
CFr(rule) ∈[-1,1] : thể hiện sự tin tưởng của các chuyên gia vào độ tin cậy của luật
.II.2.1.2 Các quy tắc tính toán trên CF
c Quy tắc kết hợp các CFf của các điều kiện:
Thông thường, một luật thường có tiền đề (vế trái) tạo thành từ những kết nối and/or của nhiều điều kiện Khi một luật sinh được sử dụng, các CF liên kết với mỗi điều kiện của tiền
đề sẽ được kết hợp với nhau để tạo ra một độ đo chắc chắn cho toàn bộ tiền đề (toàn bộ vế trái của luật) theo công thức sau:
CF ( ĐK 1 And ĐK 2 ) = Min[CF(ĐK 1 ), CF(ĐK 2 )]
CF (ĐK1 Or ĐK2) = Max[CF(ĐK1), CF(ĐK2)]
Thí dụ 7.2: CF(bệnh nhân bị sốt) = 0.9
CF(bệnh nhân bị hắc hơi) = 0.6
=> CF(bệnh nhân bị sốt And bệnh nhân bị hắc hơi) = 0.6
=> CF(bệnh nhân bị sốt Or bệnh nhân bị hắc hơi) = 0.9
Trang 7d Quy tắc tính CF cho dữ kiện suy ra từ luật:
Khi hệ thống sử dụng các luật không chắc chắn (nghĩa là đi kèm theo một hệ số CF) để suy
ra kết luận, thì các hệ số CF của tiền đề cũng sẽ được truyền từ tiền đề sang kết luận thông qua luật theo quy tắc sau:
CF f (KL) = CF r (luật) * CF f (ĐK)
Thí dụ 7.3: CF(bệnh nhân bị sốt) = 0.8
CF(If bệnh nhân bị sốt Then bệnh nhân bị cúm) = 0.5
=> CF(bệnh nhân bị cúm) = 0.4
e Quy tắc kết hợp nhiều CF của các kết luận từ nhiều luật
Khi có nhiều luật cùng đưa ra một kết luận (vế phải) giống nhau, thì các giá trị CF đạt được
từ các luật này sẽ được kết hợp theo quy tắc sau:
Nếu KL từ luật 1 có giá trị CFf1(KL)
Nếu KL từ luật 2 có giá trị CFf2(KL)
Thì,
CFf(KL) = CFf1(KL)+CFf2(KL) – CFf1(KL)*CFf2(KL), nếu CFf1(KL) & CFf2(KL)>0
= CFf1(KL)+CFf2(KL) +CFf1(KL)*CFf2(KL), nếu CFf1(KL) & CFf2(KL)<0
CFf1(KL) & CFf2(KL)
1 – Min (|CFf1(KL)|, |CFf2(KL)|)
dấu
Trong đó, |X| là trị tuyệt đối của X
Thí dụ 7.4: CF(bệnh nhân bị sốt) = 1
CF(bệnh nhân bị hắc hơi) = 0.8 CF(If bệnh nhân bị hắc hơi Then bệnh nhân bị cúm) = 0.5 CF(If bệnh nhân bị sốt Then bệnh nhân bị cúm) = 0.6
=> CF1(bệnh nhân bị cúm) = 0.4
=> CF2(bệnh nhân bị cúm) = 0.6
=> CF(bệnh nhân bị cúm) = 0.4 + 0.6 – 0.24 = 0.76
Sơ đồ sau đây minh họa cho các tính toán trên :
Trang 8CF 1
CF 2
0.76
Hình 7.1 – Minh họa tính kết hợp CF
Với cách tính toán này, ta có thể nhận thấy rằng kết quả CF phải luôn nằm trong khoảng [-1,+1] Kết hợp các CF cùng dấu sẽ làm tăng CF hay phép đo CF kết hợp mang tính tuyến tính, và ngược lại, các CF nghịch nhau sẽ xóa bớt lẫn nhau
Câu hỏi :
Ta có các tri thức sau:
- Nếu một người quan sát được UFO thì kết luận có sự xuất hiện của UFO (0.4)
- Nếu một máy rada phát hiện được một UFO thì kết luận có sự xuất hiện của UFO (0.7)
Hãy cho biết giá trị CF của kết luận ‘Có sự xuất hiện của UFO’ là bao nhiêu biết rằng
có hai người quan sát được UFO (0.8) và một máy rada phát hiện được một UFO (0.6)
II.2.2 Ví dụ: Hệ chuyên gia MYCIN
Như đã giới thiệu sơ qua ở chương VI, hệ chuyên gia MYCIN được phát triển tại đại học Stanford vào thập niên 1970 bởi Feigenbaum, Buchanan and Ted Shortliffe (một bác sĩ) Mục đích của hệ chuyên gia MYCIN là giúp đỡ các bác sĩ trong việc chẩn đoán và điều trị các bệnh viêm màng não và nhiễm trùng máu Chức năng chủ yếu của MYCIN là nhận dạng các cơ quan bị nhiễm trùng và chọn các loại thuốc khống chế bệnh trên các cơ quan này Giao diện người dùng của MYCIN là sử dụng đối thoại dạng văn bản với bác sĩ để thu thập
dữ liệu bao gồm dữ liệu tổng quát về bệnh nhân, các kết quả xét nghiệm và các triệu chứng của bệnh nhân
Các vấn đề trong lĩnh vực y khoa thường phải suy luận với các thông tin không đầy đủ, mơ
hồ, không chắc chắn Để đối phó với khó khăn này, MYCIN sử dụng lý thuyết chắc chắn Stanford làm nền tảng cho suy luận của hệ Vì vậy, mỗi dữ liệu, mỗi luật trong MYCIN đều
có một hệ số chắc chắn CF đi kèm
Trang 9Dữ liệu được mô tả theo cấu trúc sau:
Thông số Ngữ cảnh Giá trị CF
Nhận ra Cơ_quan_1 Klebsiella 0.25 Nhạy cảm Cơ_quan_1 Penicillin -1.0
Ví dụ luật 50 của MYCIN có dạng:
IF (a) the infection is primary-bacteria, and
(b) the site of the culture is one of the serile sites, and (c) the suspected portal of entry is gastrointestinal tract
THEN there is suggestive evidence (0.7) that infection is bacteroid
Trong luật trên số 0.7 được đặt trong ngoặc chính là hệ số CF của luật
Cơ sở luật của MYCIN có khoảng 450 luật được viết bằng ngôn ngữ LISP Động cơ suy diễn
của MYCIN được cài đặt với kỹ thuật suy luận hướng từ mục tiêu (goal-driven), nó tìm kiếm
gần như là vét cạn để chọn ra mục tiêu có chỉ số CF cao nhất làm kết luận cuối cùng của hệ thống
Để hiểu rõ hơn cơ chế suy luận của MYCIN, chúng ta hãy xét một ví dụ minh họa sau
Thí dụ 7.5: MINI-MYCIN là một hệ chuyên gia nhỏ chuyên phân biệt giữa chân bị gãy, chân
bị quá mỏi hay chân bị nhiễm trùng
Nó gồm các luật sau:
2 IF đau và sưng THEN bị chấn thương 0.8
4 IF bị chấn thương AND đỏ THEN bị gãy 0.8
5 IF bị chấn thương AND di chuyển được THEN quá mỏi 1.0
Sử dụng MINI-MYCIN để chẩn đoán tình trạng chân của Minh, biết rằng: chân của Minh đang bị đau (1.0) Khi tôi kiểm tra nó, thấy nó sưng tấy (0.6) and hơi đỏ (0.1) Tôi không có nhiệt kế nhưng tôi nghĩ anh ta có bị sốt (0.4) Tôi biết Minh là một vận động viên marathon, các khớp của anh ta thường xuyên làm việc quá tải (1.0) Minh có thể di chuyển chân của anh ấy
Hãy vẽ đồ thị And/Or minh họa cho quá trình suy luận để đi đến kết luận của MINI-MYCIN Giải:
Vì MYCIN là hệ thống hoạt động theo cơ chế suy diễn lùi (hay hướng từ mục tiêu), nên hệ thống sẽ lần lượt tính toán giá trị CF của từng mục tiêu Các đồ thị And/Or sau đây sẽ được trình bày lần lượt theo thứ tự thực hiện của hệ thống:
Trang 10Đau
Hình 7.2 – Đồ thị AND/OR cho quá trình suy diễn lùi trong Thí dụ 7.5
Vậy: Bị nhiễm trùng là mục tiêu có giá trị CF cao nhất nên ta kết luận chân của Minh bị nhiễm trùng
Từ ví dụ minh họa ta thấy MYCIN hầu như kích hoạt tất cả các luật để tìm giá trị CF cho từng mục tiêu
Câu hỏi :
Tại sao hệ MYCIN phải kích hoạt hầu như tất cả các luật để có thể đưa ra kết luận ?
* Một số nhận xét về các luật của MYCIN:
¾ Mỗi luật của MYCIN là một sự kết hợp tri thức của nhiều lĩnh vực khác nhau Ví dụ như luật ‘IF tuổi bệnh nhân < 7 THEN không nên cấp thuốc tetracyline’ là sự kết hợp của các loại tri thức:
• Tri thức về miền, mà cụ thể ở đây là tri thức về y học: Tetracyline làm đổi màu xương đang phát triển và trẻ em dưới 7 tuổi thì đang mọc răng
Đỏ
Chấn thương
Di chuyển được
Đau 1
Sốt
Bị nhiễm trùng
0.8
0.8
1.0
0.6 0.48
0.1
0.48
0.48 1.0 1.0
0.5
1.0
1.0 0.5
0.24 0.74 – 0.12 = 0.62
0.08