HỆ CHUYÊN GIA MYCIN

Một phần của tài liệu Giáo trình Trí tuệ nhân tạo và hệ chuyên gia (Nghề Lập trình máy tính): Phần 2 - CĐ Nghề (Trang 61 - 66)

MÃ BÀI ITPRG3_07.9

Mục tiêu thực hiện:

Học xong bài này học viên sẽ có khả năng:

Hiểu rõ cấu trúc của hệ chuyên gia ứng dụng MYCIN

Hiểu được cách tổ chức cơ sở tri thức của hệ chuyên gia MYCIN

Biết cách tính tốn của các hàm chắc chắn CF

Hiểu được lý do thành công của hệ MYCIN

Nội dung:

9.1 Cấu trúc hệ chuyên gia MYCIN 9.2 Sự thành công của hệ MYCIN 9.3 Biểu diễn tri thức của hệ MYCIN

9.4 Biểu diẽn sự chắc chắn trong hệ MYCIN

9.1 Cấu trúc hệ chuyên gia MYCIN

Các chuyên gia thường đánh giá,suy xét khi giải vấn đề. Thơng tin về vấn đề có thể khơng đầy đủ và một vài chi thức do vậy mà họ cần thích nghi với tình trạng này và tiếp tục lập luận thơng minh. Đây chỉ là một trong các khó khăn thơi, vì việc quản lí lập luận ko chính xác cũng khơng dễ dàng

Người ta có thể dùng lý thuyết xác suất. Dù rằng chặt chẽ về toán học ,kỹ thuật này đòi hỏi cơ sở thống kê mà ít loại bài tốn trong hệ chun gia đáp ứng được. Chẳng hạn khi xác định người bệnh có đău nặng khơng, người ta thu được kết luận với tin cậy 0.7. Do thiếu cơ sở thống kê nên những thơng tin để giúp phán đốn khơng dúng được trong các các luật của hệ chuyên gia mà chỉ dùng để giải thích; và vì vậy khơng thể suy luận xác suất bắng kỹ thuật bayes được

Tuy nhiên nếu sem hệ chuyên gia như cơ chế giải vấn đề may dủi thì người ta có thể dúng các kỹ thuật lập luận khơng chính xác như trong MYCIN

9.1.1.Lập luận khơng chính xác trong MYCIN

MYCIN là hệ chuyên gia được phát triển để cho lời khuyên khi chuẩn đoán các bện nhân nhiễm trùng máu. Đây là bái tốn điển hình trong nhiều lĩnh vực, nhưng có ý nghĩa đạc biệt trong lĩnh vực y học do các ràng buộc về thời gian. Trong phịng cấp cứu cần thiết có các hành động đúng và nhanh. Đối với các bệnh đe doạ đến tính mạng, thầy thuốc có thể tiến hành xét nghiệm trước đó để có các thơng tin đậy đủ và chính xác. Nhưng đối với ca cấp cứu ,các bác sĩ buộc phải xử lý với tình trạng thơng tin khơng chính xác và phải có chuẩn đốn tốt nhất

Vế suy luận khơng chính xác trong lĩnh vực y học, người ta thấy có nhiều luật khơng chính xác một số ít luật có thể dúp chẩn đốn tốt cho ca bệnh, nhưng những luật này ít được dùng đến. Phần lớn các luật dùng trong y học ở dạng khơng chính xác. Chẳng hạn thầy thuốc phát biểu “nếu thấy triệu chứng A và Bthì có vài chỉ định liên qoan đến bệnh này, bệnh nọ“.

Nhóm MYCIN ghi nhận rằng kỹ thuật lập luận khơng chính xác cần được tích hợp vào hệ thống. Họ cũng thấy được tính khơng phù hợp của tiếp cận xác suất vì khơng đáp ứng được các thơng tin thông kê về vấn đề. Để quản lý tình trạng này, nhóm MYCIN quyết định nói lỏng các u cầu chạt chẽ của kĩ thuật xác suất cổ điển và tìm tiếp cận đơn giản hơn. Trước tiên họ quyế định đặt các câu hỏi niên quan đến điều họ muốn kỹ thuật lập luận khơng chính xác thực hiện. Họ cảm thấy việc qoan sát các chuyên gia làm trên thơng tin khơng chính xác sẽ nhìn thấu đủ để phát triển các yêu cầu cửa kỹ thuật lập luận khơng chính xác

9.1.2.Thể hiện dấu hiệu khơng chắc chắn

Nhóm MYCIN quan sát thấy thầy thuốc làm việc với ca cấp cứu thường dùng thơng tin khơng chắc chắn, thậm chí khơng rõ. Họ ghi nhận rằng dưới điều kiên như vậy, thầy thuốc thường ghi nhận thơng tin sẵn có với thuật ngữ định tính như “có thể “, ”có vẻ như …”, ”hầu như chắc chán rằng…”

Dối với dấu hiệu khơng chắc chắn, nhóm MYCIN quyết định gán một nhân tốchắc chắn “CF” để thể hiện độ tin cậy cửa thầy thuốc vào dấu hiệu đó .Số này chạy từ -1, ứng với sai hoàn toàn, đến +1, ứng với đúng hoàn toàn. Số dương thể hiện sự tin cậy, số âm thể hiện sự không tin cậy. Chẳng hạn thầy thuốc phát biểu rằng dấu hiệu nào đó có thể đúng, thì giá trị CF=0.6 được gán cho dấu hiệu đó

9.1.3. Thể hiện các luật khơng chắc chắn

Nhóm MYCIN cũng quan sát thấy các thầy thuốc thường dùng suy luận khơng chính xác trên các thơng tin có sẵn. Tức là thầy thuốc chỉ tin một phần váo sự suy xét trên dấu hiệu nào đó. Đối với suy luận khơng chính xác, cần gán giá trị CF cho mỗi luật

Thí dụ

Có luật: IF có đấu hiệu thương tổn AND hình thái khuẩn cầu AND hình thể trên vết thương là chuỗi với CF =0.7

Nếu kết luận chỉ phụ thuộc một phần vào một trong các giả thiết trong luật thì CF có thể dùng cho riêng giả thiết đó. Khi đó luật có dạng:

IF E1 AND E2 AND…….AND EN THEN H CF= CF

9.1.4 Suy luận không chắc chắn

Người ta cũng thấy rằng khi độ tin cậy cửa thầy thuốc vào dấu hiệu đang có là nhỏ hơn sự chắc chắn thì độ tin cậy này trong suy luận liên qoan cũng giảm đi. Chẳng hạn luật đầu tiên kết luận về việc chỉ ra tổ chức bị viêm dạng hạt, người ta dùng giả thiết không chắn chắn, CF (E) <0.7. Hệ thống MYCIN áp dụng suy luận không chắc chắn theo kỹ thuật này

I.5. Tổ hợp dấu hiệu từ nhiều nguồn

Khi thầy thuốc nhận thông tin trợ giúp để kết luận từ nhiều nguồn, người ta thấy rằng kết luận có độ tin cậy lớn hơn. Do vậy lí thuyết chắc chắn cần tăng độ tin cậy về kết luận khi nhận trợ dúp từ nhiều luật

Thí dụ

Luật R1,IF A AND B THEN Z CF=0.8 Luật R2. IF C AND D THEN Z CF=0.7

Cả hai luật đều kết luận về sự kiện Z, nhưng với giá trị CF khác nhau. Nếu hai luật đều cháy thì người ta thu được hai đọ tin cậy về Z. Ở đây người ta cần kết hợp hai luật, tức kết hợp hai nhận định “có khả năng “ và “có thể “.

Trong MYCIN, thay vì dùng cơng thức, người ta quyết định hỏi. Sau đó người ta khơng dùng cơng thức chính xác mà áp một số thuộc tính để cơng thức phải thoả mãn trong một số trường hợp. Hai thuộc tính được chọn là tráo đổi và tiệm cận

Thuộc tính tráo đổi quan trọng ở chỗ tránh được sự phụ thuộc về thứ tự áp dụng luật. Chẳng hạn khi có hai luật có cùng độ tin cậy về quyết định cuối cùng, thì áp dụng luật nào đầu tiên cũng như vậy. Cịn thuộc tính tiệm cận cho phép tổ hợp theo nghĩa thiện cận

Về kết luận hợp lí, trừ phi người ta có giải pháp đưa ra lời giải đúng. Với cách làm này, kết luận sẽ có độ tin cậy tăng từng phần

9.2 Sự thành công của hệ MYCIN

MYCIN là một hệ lập luận trong y học được hoàn tất vào năm 1970 tại Đại học Standford, Hoa Kỳ. Đây là một hệ chuyên gia dựa trên luật và sự kiện. MYCIN sử dụng cơ chế lập luật gần đúng để xử lý các luật suy diễn dựa trên độ đo chắc chắn. Tiếp theo sau MYCIN, hệ EMYCIN ra đời, EMYCIN là một hệ chuyên gia tổng quát được tạo lập bằng cách loại phần cơ sở tri thức ra khỏi hệ MYCIN, EMYCIN cung cấp một cơ chế lập luận và tuỳ theo bài toán cụ thể sẽ bổ sung tri thức riêng của bài tốn đó để tạo thành hệ chuyên gia.

Trong trường hợp luật có nhiều giả thiết, nhân tố chắc chắn đối với kết luận của luật được lập theo cách tương tự như cách dùng trong hệ thống PROSPECTOR. Như nhóm MYCIN thì người ta giả sử có độc lập điều kiện của dấu hiệu theo dạng AND hay OR khi xét độ tin cậy vào giả thiết

9.3.1.Các luật AND

Mơ hình chắc chắn dùng các luật có dạng IF E1 AND E2 AND …AND En THEN H CF (luật )

CF (H,E1 AND E2 AND …AND En)=MIN {CF(E;)}* CF(luật) Thí dụ

IF trời tối AND gió mạnh dần THEN sẽ mưa CF=0.8

Giả thiết rằng CF (trời tối )=1.0 và CF(gió mạnh dần )=0.7 thì CF (sẽ mưa )=max{1.0,0.7}*0.9; có nghĩa “hầu chắc chắn là mưa “.

9.3.2.Các luật OR

Các luật trong mơ hình này có dạng IF E1 OR E2 OR….OR En THEN H CF (luật)

CF(H,E1 OR E2 OR…OR En) =max {CF(Ei)}*CF (luật) Thí dụ

IF trời tối OR gió mạnh dần THEN sẽ mưa CF =0.9.

Giả thiết rằng CF(trời tối )=1.0 và CF (gió mạnh dần ) =0.7 thì CF(sẽ mưa )= max{1.0,0.7}*0.9; có nghĩa “hầu chắc chắn là mưa “.

9.4 Biểu diẽn sự chắc chắn trong hệ MYCIN

Lý thuyết về sự chắc chắn dựa trên số lần quan sát. Đầu tiên theo lý thuyết xác suất cổ điển thì tổng số của sự tin tưởng và sự phản bác một quan hệ phải là 1. Tuy vậy trong thực tế các chuyên gia lại gán cho kết luận của họ những mệnh đề đại loại như “ có vẻ đúng”. “gần đúng”, “đúng khoảng 70%”…

Lý thuyết về sự chắc chắn dùng độ đo chắn chắn để lượng định những mệnh đề trên và cung cấp một số luật nhằm kết hợp các độ đo chắc chắn để dẫn đến kết luận. Trước khi tìm hiểu độ đo chắc chắn, chúng ta xét “ sự tin cậy” và “ sự phản bác” một quan hệ.

Gọi MB(H/E) là độ đo sự tin cậy của giả thuyết khi có chứng cứ E.

MD(H/E) là độ đo sự khơng tin cậy và giả thuyết khi có chứng cứ E.

Thế thì:

0 < MB(H/E) < 1 khi MD(H/E) = 0 0 < MD(H/E) <1 khi MB(H/E) = 0

Độ đo chắc chắn CF(H/E) được tính bằng cơng thức:

CF(H/E) = MB(H/E) – MD(H/E)

Khi giá trị của độ đo chắc chắn tiến dần về 1 thì chứng cớ biện minh cho giả thuyết nhiều hơn

Khi giá trị của độ đo chắc chắn tiến dần về -1 thì chứng cớ phản bác giả thuyết nhiều hơn. Khi CF có giá trị 0 có nghĩa là có rất ít chứng cớ để biện minh hay phản bác giả thuyết. Khi các chuyên gia tạo ra các luật suy diễn, họ phải cung cấp độ đo chắc chắn của luật. Trong quá trình lập luận, chúng ta sẽ thu nhận được độ đo chắc chắn của chứng cớ và dựa vào hai độ đo chắc chắn trên để tính được độ đo chắc chắn của giả thuyết ( còn được gọi là kết luận).

Luật đơn giản

Luật đơn giản có dạng sau:

If(e) then (c)

Gọi CF(e) là độ đo chắc chắn của chứng cớ.

CF(r) là độ đo chắc chắn của luật suy diễn

Thế thì CF(c) là độ đo chắc chắn của kết luận sẽ được tính bằng cơng thức:

CF(c) = CF(e) * CF(r)

Cơng thức này chính là nền tảng cho cơ chế lập luận của MYCIN.

Lập luận phức tạp

Trong thực tế chúng ta có thể gặp các luật phưc tạp như sau: IF (e1 AND e2) then (c)

Toán tử AND được dùng để liên kết chứng cớ e1 và e2. Lúc bấy giờ ta có: CF (e1 END e2) = MIN (CF(e1),CF(e2))

Với luật có dạng OR như sau: If (e1 OR e2) then (c)

Thì CF (e1 OR e2) = MAX( CF(e1),CF(e2)) Với luật có dạng AND và OR như sau: If ((e1 AND e2) OR e3) then (c)

Thì CF ((e1 AND e2) OR e3) = MAX (MIN(CF(e1),CF(e2),CF(e3)) Ngoài ra độ đo chắc chắn có dạng NOT được tính như sau: CF (NOT e) = - CF (e)

Sau khi tính được độ đo chắc chắn của chứng cớ liên kết, ta dùng cơng thức nêu trong mục Luật đơn giản để tính CF kết luận.

Các hệ thống dự luật

Trong các hệ dựa trên luật, chúng ta cịn có thể sử dụng phương pháp lập luận lùi. Lập luận lùi cho phép ta tìm ra các phép thế biến mà giả thuyết đưa ra trở thành đúng (là hệ quả logic của cơ sở tri thức). Do đó trong hệ dựa trên luật chúng ta có thể sử dụng lập luận lùi để tìm ra các câu trả lời cho các câu hỏi được đặt ra bởi người sử dụng.

Một câu hỏi đặt ra có thể xem như một giả thuyết (ký hiệu là Hyp) cần kiểm tra. Giả thuyết có thể là một câu phân tử hoặc là hội của các câu phân tử:

Hyp = H1  …  H m

trong đó Hi (i = 1, ..., m) là các câu phân tử.

Mục đích của chúng ta là kiểm chứng xem giả thuyết có thể trở thành đúng khơng, và nếu có thì với các phép thế biến nào nó trở thành đúng.

Chúng ta sẽ xử lý Hyp như một danh sách các giả thuyết Hi: Hyp = [H1, ..., Hm]

Chúng ta sẽ xét mỗi luật

QP P

P1  m Þ

như một cặp (conds, conc); trong đó Conds là danh sách các điều kiện của luật. Conds = [P1, ..., Pm] và Conc là kết luận của luật, Conc = Q.

Một sự kiện S (câu phân tử) được xem như một luật khơng có điều kiện, tức là Conds = [ ] và Conc = S.

Tư tưởng của phương pháp lập luận lùi là như sau. Với mỗi giả thuyết trong danh sách các giả thuyết, ta tìm những luật có phần kết luận hợp nhất với giả thuyết đó. Nếu luật này là một sự kiện thì ta loại bỏ giả thuyết đang xét khỏi danh sách các giả thuyết. Nếu khơng thì ta xem các điều kiện của luật là các giả thuyết mới xuất hiện và giả thuyết đang xét được thay bởi các giả thuyết mới đó. Khi đó ta nhận được một danh sách các giả thuyết mới. Lặp lại quá trình trên cho danh sách các giả thuyết mới này. Trong quá trình trên ta lưu lại hợp thành của các phép thế đã sử dụng q. Nếu tới một bước nào đó, danh sách các giả thuyết trở thành rỗng, thì ta kết luận giả thuyết ban đầu là đúng với phép thế biến q.

Sau đây là thủ tục suy diễn lùi. Trong thủ tục này, Hyp và q là các biến địa phương trong thủ tục. Giá trị ban đầu của Hyp là danh sách các giả thuyết ban đầu (biểu diễn câu hỏi được đặt ra), còn giá trị ban đầu của q là phép thế rỗng.

procedure Backward_Chaining (Hyp, q); begin

H  giả thuyết đầu tiên trong danh sách Hyp;

for mỗi luật R = (conds, Q) do

if H hợp nhất với Q bởi phép thế q1 then

1. Loại H khỏi danh sách Hyp;

2. Thêm các điều kiện của luật Conds vào danh sách Hyp; 3. Áp dụng phép thế q1 vào các giả thuyết trong danh sách Hyp;

4. Lấy hợp thành của các phép thế q và q1 để nhận được phép thế q mới, tức là q 

qq1;

5. if Hyp = [ ] then cho ra q else Backward_Chaining (Hyp, q); end;

Trong thủ tục lập luận lùi, mỗi q được cho ra là một phép thế biến làm cho giả thuyết ban đầu trở thành đúng, tức là (Hyp) q = H1q  ... Hmq là đúng (là hệ quả logic của cơ sở tri thức). Do đó mỗi phép thế biến q được cho ra bởi thủ tục là một câu trả lời cho câu hỏi đặt ra.

Ví dụ. Giả sử cơ sở tri thức chứa các sự kiện sau House(Tom) (Tom là ngựa) (1)

House(Ken) (2)

House(Kit) (3)

House(Bin) (4)

Mother(Tom, Bin) (Tom là mẹ Bin) (5)

Mother(Tom, Ken) (6)

Mother(Bin, Kit) (7)

Fast(Kit) (Kit chạy nhanh) (8) Winner(Bin) (Bin thắng cuộc) (9) Giả sử cơ sở tri thức chứa hai luật sau

House(x)  Mother(x, y)  Fast(y) Þ Valuable(x) (10) (nếu 1. x là ngựa, và

2. x là mẹ y, và 3. y chạy nhanh thì x có giá )

Winner(z) Þ Fast(z) (11) (nếu z thắng cuộc thì x chạy nhanh) Câu hỏi đặt ra là: con ngựa nào có giá ?

Giả thuyết ban đầu Hyp = [Valuable(w)] và q = [ ]. Giả thuyết Valuable(w) hợp nhất được với kết luận của luật (10) bởi phép thế q1 = [w/x], do đó ta nhận được danh sách các giả thuyết mới

Hyp = [House(x), Mother(x, y), Fast(y)] và q = qq1 = [w/x]

Giả thuyết House(x) hợp nhất được với sự kiện (1) bởi phép thế q1 = [x/Tom], ta nhận được danh sách các giả thuyết mới

Hyp = [Mother(x, y), Fast(y)] và q = [w/x][x/Tom] = [w/Tom]

Giả thuyết Mother(Tom, y) hợp nhất được với sự kiện (5) bởi phép thế q1 = [y/Bin], ta nhận được danh sách các giả thuyết

Hyp = [Fast(y)] và q = [w/Tom][y/Bin] = [w/Tom, y/Bin]

Giả thuyết Fast(Bin) hợp nhất được với kết luận của luật (11) bởi phép thế [z/Bin], do đó ta có Hyp = [Winner(Bin)] và q = [w/Tom, y/Bin, z/Bin]

Giả thuyết Winner(Bin) trùng với sự kiện (9) (hợp nhất được bởi phép thế q1 = []). Do đó danh sách các giả thuyết trở thành rỗng với phép thế q = [w/Tom, y/Bin, z/Bin]. Như vậy với phép thế này thì giả thuyết Valuable(w) trở thành đúng, hay nói cách khác, Tom là con ngựa có giá.

Từ các luật được sử dụng trong quá trình lập luận trên, và từ phép thế q thu được, ta có thể xây dựng nên cây chứng minh cho Valuable(Tom) (xem hình 3.6).

Valuable(tom)

Horse(tom) Mother(tom, bin) Fast(Bin)

Winner(Bin)

Cây chứng minh cho Valuable(Tom)

Chúng ta cịn tìm được một phép thế biến khác q = [w/Bin, y/Kit] để cho Valuable(w) trở thành đúng. Do đó, ta tìm ra Tom và Bin là các con ngựa có giá.

Một phần của tài liệu Giáo trình Trí tuệ nhân tạo và hệ chuyên gia (Nghề Lập trình máy tính): Phần 2 - CĐ Nghề (Trang 61 - 66)

Tải bản đầy đủ (PDF)

(69 trang)