Chương 3: Công cụ tạo lập hệ chuyên cụ lậ hệ gia

Giảng viên: Ths. Vũ Chí Cường Giả Vũ Chí Cườ
IT faculty – Vinh University

IT faculty – Vinh University

Mục đích, yêu cầu ch,
Mục đích

Xây dựng một bộ công cụ có sẵn để tạo lập các thành phần của một hệ chuyên gia và mỗi lần xây thà phầ dựng hệ chuyên gia mới ta có thể sử dụng bộ thể công cụ này để tiết kiệm thời gian và công sức tiế kiệ thờ Bộ tạo lập cơ sở tri thức thứ Bộ tạo môtơ suy diễn diễ Bộ tạo các giao diện diệ

Yêu cầu
– – –

IT faculty – Vinh University

I. Bộ soạn thảo tri thức soạ thả thứ
Bộ soạn thảo tri thức và môdul đối thoại của nó là soạ thả thứ thoạ môi trường trung gian giữa cơ sở tri thức và chuyên trườ giữ thứ gia để có thể thay đổi và bổ sung tri thức. thể thứ Các chức năng cơ bản của bộ soạn thảo tri thức chứ soạ thả thứ
– – – – –

Cho phép soạn thảo, cập nhật các luật và các sự kiện phé soạ thả nhậ luậ kiệ Đưa ra các phạm vi tri thức cần thu nạp phạ thứ Lên danh sách các giá trị cần thiết cho mỗi đối tượng giá trị thiế tượ Kiểm tra sự đúng đắn của các luật được đưa vào (ngữ Kiể luậ đượ ngữ pháp, trùng lặp, mâu thuẫn,...) phá trù thuẫ Kiểm tra các từ, các đối tượng, các dạng đối tượng đã Kiể tượ ng, tượ có trong hệ thống thố

1

IT faculty – Vinh University

I. Bộ soạn thảo tri thức soạ thả thứ
1. Soạn thảo luật Soạ thả luậ
– – –

Soạn thảo luật bằng ngôn ngữ tự nhiên với cú Soạ thả luậ ngữ pháp hạn chế phá chế Soạn thảo các luật theo cú pháp Horn Soạ thả luậ phá Soạn thảo các luật dùng bộ ba liên hợp OAV Soạ thả luậ Cập nhật sự kiện nhậ kiệ Cập nhật luật nhậ luậ

2. Cập nhật tri thức nhậ thứ
– –

IT faculty – Vinh University

1.1 Soạn thảo luật bằng ngôn ngữ tự Soạ thả luậ ngữ nhiên với cú pháp hạn chế phá chế
C¸c luËt d¹ng v¨n b¶n Ng«n ng÷ gèc Tõ ®iÓn

Ph©n tÝch tõ vùng Ng÷ ph¸p

Ph©n tÝch có ph¸p Ng÷ ph¸p ChuyÓn ®æi vµo biÓu diÔn bªn trong m¸y tÝnh

C¬ së tri thøc

IT faculty – Vinh University

1.1 Soạn thảo luật bằng ngôn ngữ Soạ thả luậ ngữ tự nhiên với cú pháp hạn chế phá chế
Phân tích từ vựng: Để kiểm tra các lỗi về từ vựng ng: kiể trong ngôn ngữ tự nhiên dùng cho hệ chuyên gia, ta ngữ gia, cần tìm ra các từ không tồn tại trong ngôn ngữ hay ngữ nói cách khác là sai chính tả. Để phân tích từ vựng khá chí người ta dựa vào ngữ pháp và từ điển của ngôn ngữ ngườ ngữ phá điể ngữ tự nhiên Phân tích cú pháp: Để kiểm tra các lỗi về đặt câu, phá kiể câu, đặt mệnh đề. Chuyển đổi câu: Chuyển câu thành các biểu thức Chuyể câu: Chuyể thà biể thứ logic bằng cách phân tích các thành phần của câu thà phầ thành các mệnh đề và từ đó đi đến các từ thà

2

IT faculty – Vinh University

Ví dụ
Với cơ sở tri thức: thứ
– – – – – –

Nếu chất lỏng thoát ra có thể tự bốc cháy thì gọi ngay cứu hoả chấ thoá thể chá thì hoả Nếu chất lỏng có độ PH<6 thì đó là axit chấ thì Nếu chất lỏng là axit và có vị cay thì đó là axit axetic chấ thì r1: f1 → f2 r2: f3 → f4 r3: f4 ∧ f5 → f6
T iª n ® Ò

Ta có thể biểu diễn bởi các biểu thức logic sau thể biể diễ biể thứ

Biểu diễn bên trong Biể diễ
K Õ t lu Ë n S ù k iÖ n N éi dung

f1 f3 f4 f5

f2 f4 f6

f1 f2

C h Êt ch ¸y G äi cøu ho¶ ...

IT faculty – Vinh University

1.2 Soạn thảo các luật theo cú Soạ thả luậ pháp Horn á ph
Dạng tổng quát của các luật theo dạng chuẩn HORN được biểu diễn: quá luậ chuẩ đượ biể diễ
Nếu <C1> và <C2> và ....... và <Cn> thì <C> Cn> thì trong đó Ci, C được biểu diễn dưới dạng logic mệnh đề Ci, đượ biể diễ dướ

Khi đó ta có thể xem ngữ pháp để xây dựng các luật là như sau thể ngữ phá luậ
– – – –

<luật> :=Nếu <điều kiện> thì <điều kiện đơn giản> luậ :=N điề kiệ thì điề kiệ giả <điều kiện đơn giản>:=<danh từ>/ <danh từ><phép toán><giá trị> điề kiệ giả >:=<danh <danh ><phé toá ><giá trị <điều kiện> :=<điều kiện đơn giản>/ <điều kiện đơn giản> điề kiệ :=<điề kiệ giả <điề kiệ giả và <điều kiện> điề kiệ <phép toán> = >/</>=/<=/<>/= phé toá

V í dụ
Biểu diễn luật Nếu tuổi >= 40 thì già Biể diễ luậ tuổ thì già

IT faculty – Vinh University

Ví dụ
LuËt NÕu <®iÒu kiÖn> <®iÒu kiÖn ®¬n gi¶n> <Danh tõ> Tuæi
Luật Luậ R1 Giả Giả thiết thiế F1

th× <Danh tõ> <gi¸ trÞ> 40
Danh từ từ Tuổi Tuổ Già Già

<phÐp to¸n> >=
Kết luận luậ F2 Điều Điề kiện kiệ F1 F2

Giµ
Phép Phé toán toá >= Giá trị Giá trị 40

3

IT faculty – Vinh University

1.3 Soạn thảo các luật dùng bộ ba Soạ thả luậ liên hợp OAV
Dạng tổng quát của các luật được biểu diễn: quá luậ đượ biể diễ
Nếu <C1> và <C2> và ....... và <Cn> thì <C> Cn> thì trong đó Ci, C được biểu diễn dưới dạng bộ ba O.A.V Ci, đượ biể diễ dướ

Biểu diễn ngữ pháp giống như câu lệnh dạng chuẩn HORN trừ Biể diễ ngữ phá giố chuẩ trừ điều kiện đơn giản được thay thế điề kiệ giả đượ thế
<điều kiện đơn giản> :=<đối tượng> <thuộc tính> <giá trị> điề kiệ giả :=<đ tượ ng> <thuộ nh> <giá trị

IT faculty – Vinh University

Ví dụ
Biểu diễn luật: Biể diễ luậ
– – – –

Nếu và và Thì Thì
LuËt p2 p3

(học sinh A (học sinh A (học sinh A (học sinh A
q

toán toá lý

8.0) 8.0) 8.0) ưu) ưu) Sù kiÖn Häc sinh A To¸n Häc sinh A Lý Häc sinh A Ho¸ Häc sinh A H¹ng

hoá hoá xếp hạng
p1 p2 p3 q

p1

8.0 8.0 8.0 8.0

IT faculty – Vinh University

2. Cập nhật tri thức cho CSTT nhậ thứ
Cập nhật sự kiện nhậ kiệ Cập nhật luật nhậ luậ

4

IT faculty – Vinh University

2.1 Cập nhật sự kiện nhậ kiệ
Các sự kiện và các luật sau khi soạn thảo được cập nhật vào kiệ luậ soạ thả đượ nhậ cơ sở tri thức của hệ thống. Khi cập nhật chúng cần được kiểm nhậ chú đượ kiể thứ thố ng. tra để loại bỏ các mâu thuẫn trong cơ sở tri thức ạ ẫ ứ lo thu th Để kiểm tra các sự kiện có thể dựa vào một số tính chất như kiể kiệ thể chấ sau: sau:
– – – – –

Tập hợp các giá trị cho phép của một thuộc tính giá trị phé thuộ Số giá trị cực đại của một thuộc tính giá trị thuộ Tập các giá trị mâu thuẫn hay phân biệt trong một thuộc tính giá trị thuẫ biệ thuộ Tính loại trừ của các thuộc tính loạ trừ thuộ Các ràng buộc lôgic (tính dư thừa) buộ thừ

IT faculty – Vinh University

2.2 Cập nhật luật nhậ luậ
Để kiểm tra các luật có thể dựa vào một số tính chất của luật như sau: kiể luậ thể chấ luậ sau:
– – –

Tính nhất quán trong 1 luật nhấ quá luậ Tính dư thừa luật thừ luậ Các luật xung đột: luậ
Các luật r1, r2 là xung đột nếu có thể tồn tại sự liên quan giữa các luật như sau: r1: luậ thể giữ luậ sau: left1 → p, r2: left2 → q, left1 ⊆ left2 hoặc left2 ⊆ left1 nhưng p và q là mâu thuẫn. hoặ thuẫ

Các luật có tiền đề vô dụng: luậ tiề ng:
Nếu các luật có kết quả như nhau và tập các phần của giả thiết của các luật đó khác luậ quả phầ giả thiế luậ khá nhau sẽ tạo thành một hằng đề thà

Các chuỗi luật mâu thuẫn: chuỗ luậ thuẫ
Một chuỗi các luật mâu thuẫn là một tập các luật sắp thứ tự R1, R2, ... Rn mà trong đó chuỗ luậ thuẫ luậ thứ kết quả của luật trước là một phần của những giả thiết của luật tiếp theo và một phần quả luậ trướ phầ nhữ giả thiế luậ tiế phầ kết quả của luật Rn cùng với các giả thiết của luật đầu tiên R1 gây ra một mâu thuẫn quả luậ giả thiế luậ thuẫ giữa các sự kiện. giữ kiệ

IT faculty – Vinh University

2.2 Cập nhật luật nhậ luậ
Một cơ sở luật được coi là cực tiểu nếu: luậ đượ tiể
– – –

Mỗi luật được viết dưới dạng chuẩn Horn luậ đượ viế dướ chuẩ Không có sự kiện dư thừa kiệ thừ Không có luật dư thừa luậ thừ

5

IT faculty – Vinh University

Thuật toán tính bao đóng Thuậ toá
Đầu vào : tập sự kiện F, tập luật Rule kiệ luậ Đầu ra : bao đóng FR của F Giải thuật: Giả thuậ
{ Tgian = F ; Sat = Lọc (Rule, Tgian) ; Tgian) while Sat <> φ do {
r <- get (Sat); <Tgian = Tgian ∪ {q}; Rule = Rule \ {r}; Sat = Lọc (Rule, Tgian); Tgian);

} FR = Tgian; Tgian; }

IT faculty – Vinh University

Dư thừa sự kiện thừ kiệ
Đầu vào : tập luật Rule luậ Đầu ra : tập luật Rule ′ không có sự kiện luậ kiệ dư thừa thừ Giải thuật : Giả thuậ
– –

Duyệt lần lượt các luật r của tập luật Rule Duyệ lượ luậ luậ Với mỗi một luật r, sự kiện f trong luật r là dư luậ kiệ luậ thừa khi và chỉ khi f thuộc bao đóng của r.left \ thừ chỉ thuộ {f} với tập luật Rule luậ

IT faculty – Vinh University

Dư thừa luật thừ luậ
Đầu vào : tập luật Rule luậ Đầu ra : tập luật Rule′ không có luật dư luậ Rule′ luậ thừa thừ Giải thuật: Giả thuậ
– –

Duyệt lần lượt các luật r của tập luật Rule Duyệ lượ luậ luậ Một luật r là dư thừa khi vế phải của r là tập con luậ thừ phả của bao đóng của vế trái r với tập luật Rule\ {r} trá luậ Rule\

6

IT faculty – Vinh University

Ví dụ
1. 2. 3. 4. 5. 6. 7. 8. 9. 10.

a->b a^c->d a^cd^b->e d^ba^e^c->f a^e^ca^c->h a^ch->f h->g a->c g^f->d g^fb->c

IT faculty – Vinh University

Ví dụ
1. 2. 3. 4. 5. 6. 7. 8. 9. 10.

a+b->c a+bc->a b+c->d b+ca+b->c a+bc->a c+e->g c+eb+c->d b+cb+e->a b+ec+g->b c+gc+e->a c+e-

IT faculty – Vinh University

II. Bộ tạo lập mô tơ suy diễn II. diễ
Mô tơ suy diễn là thành phần trung tâm của một hệ chuyên gia. diễ thà phầ gia. Nói một cách không hình thức thì nó là cách thức liên kết các tri thứ thứ thì thức đã có của hệ để suy diễn ra các tri thức mới nhằm giải thứ diễ thứ nhằ giả quyết bài toán. toá quyế Mô tơ suy diễn gồm 2 phần chính là cơ chế suy diễn và cơ chế diễ phầ chí chế diễ chế điều khiển, trong đó: điề khiể

Cơ chế suy diễn là cách thức khớp các sự kiện trong bộ nhớ chế diễ thứ khớ kiệ nhớ với cá tri thức lĩnh vực trong cơ sở tri thức để rút ra kết luận về thứ thứ luậ vấn đề đang xét. Cơ chế suy diễn bao gồm: Cơ chế suy diễn ế ễ ế ch di ch diễ tiến, cơ chế suy diễn lùi và cơ chế hỗn hợp tiế chế diễ chế Cơ chế điều khiển là các cách thức điều khiển việc suy diễn chế điề khiể thứ điề khiể việ diễ của hệ thống đảm bảo việc suy diễn có kết quả. Cơ chế điều thố việ diễ quả chế điề khiển bao gồm: Chọn hướng suy diễn, Giải quyết các tranh khiể Chọ hướ diễ Giả quyế chấp, Thu hẹp phạm vi các luật, Điều khiển dừng. chấ phạ luậ Điề khiể ng.

7

IT faculty – Vinh University

1. Cơ chế suy diễn chế diễ
Suy diễn diễ Suy diễn với logic mệnh đề diễ Suy diễn với logíc vị từ diễ logí

IT faculty – Vinh University

Thủ tục suy diễn tiến Thủ diễ tiế
Đầu vào:
– – –

Tập các mệnh đề đã cho GT = {g1, g2, ...., gm} Tập các luật RULE có dạng p1 ∧ p2 ∧ .... ∧ pn → luậ q Tập các mệnh đề kết luận KL = {q1, q2, ...., qk} luậ qk} Thông báo “Thành công” nếu mọi qi ∈ KL đều có Thà công” thể suy luận từ giả thiết GT nhờ sử dụng tập luận thể luậ giả thiế nhờ luậ RULE.

Đầu ra

IT faculty – Vinh University

Thuật toán Thuậ toá
/*Gọi Tgian là tập các sự kiện (mệnh đề) đúng trong thời điểm đang xét */ /*G kiệ thờ điể /*Gọi Sat là tập các luật có dạng p1 ∧ p2 ∧ .... ∧ pn → q sao cho ∀i=1,..n thì pi ∈ luậ =1,..n thì /*G Tgian */ Begin Tgian = GT Sat = lọc(RULE, Tgian) RULE, Tgian) While KL ⊄ Tgian And Sat ≠ ∅ Do { r ← get(Sat) /*Lấy một luật khả hợp từ Sat giả sử r có dạng get( Sat) /*L luậ khả giả p1 ∧ p2 ∧ .... ∧ pn → q */ Tgian ← Tgian ∪ {q} RULE ← RULE \ {r} Sat = lọc(RULE, Tgian) RULE, Tgian) } If KL ⊂ TG Then Exit(“Thành công”) Else Exit(“Không thành công”) Exit( Thà công” Exit( thà công” End. End.

8

IT faculty – Vinh University

Ví dụ
Ta có các luật luậ
– – –

r1: r2: r3:

a∧b→c d→e f∧e→b

Với giả thiết là GT = {a, d, f} và kết luận là KL ={b, c, e} giả thiế luậ
áp dụng giải thuật ta có: giả thuậ
– – – – – – –

Ban đầu Tgian = {a, d, f}, do đó Sat = {r2} Dùng luật r2: d → e ta có Tgian = {a, d, f, e} và RULE = {r1, r3} luậ Từ đó ta có Sat = {r3} Dùng luật r3: f ∧ e → b ta có Tgian = {a, d, f, e, b} và RULE = {r1} luậ Từ đó ta có Sat = {r1} Dùng luật r1: a ∧ b → c ta có Tgian = {a, d, f, e, b, c} và RULE = ∅ luậ Lúc này ta có KL ⊂ Tgian và Sat = ∅, vậy quá trình dừng và ta có kết quá trì luận “Thành công”. luậ Thà công”

IT faculty – Vinh University

Thủ tục suy diễn lùi Thủ diễ
Đầu vào:
– – –

Tập các mệnh đề (sự kiện) đã cho GT = {g1, g2, kiệ ... gl} gl} Tập các luật RULE = {r1, r2, ...., rm} có dạng p1 ∧ luậ rm} p2 ... pn → q Tập các kết luận KL = {q1, q2, ....,qk} luậ ....,qk} Thông báo “Thành công” nếu với mọi i, qi có thể Thà công” thể suy ra từ giả thiết GT giả thiế

Đầu ra: ra:

IT faculty – Vinh University

/* gọi Vet và Goal là 2 danh sách dạng stack If KL ⊂ GT then exit(Thành công) exit( Thà công) else { goal = ∅, Vet = ∅, Back = False For each q ∈ KL do goal = goal ∪ {(q,0) {(q Repeat { (f,i) ← get(goal) (f get( goal) if not (f ∈ GT) then GT) { tìmluật(f,i,RULE,j) /* rj : leftj → f mluậ RULE, if j ≤ m then /* m: số luật luậ {Vet = Vet ∪ (f, j) for each t ∈ leftj \ GT do goal = goal ∪ (t,0) } else { back = true /* quay lui while f ∉ KL and back do { repeat (g,k) ← get(Vet) get( Vet) goal = goal \ leftk until f ∈ leftk

tìmluật(g,k,RULE,l) /* luật rl : leftl → g. mluậ RULE, luậ if l ≤ m then { goal = goal \ leftk for each t ∈ leftl \GT do goal = goal ∪ (t,0) Vet = Vet ∪ (g,l) back = false } else f = g } } } if goal ≠ ∅ then (f,i) ← get(goal) get( goal) else break } until back or goal = ∅ If f ∈ KL and back then exit(không thành công) exit( thà công) else exit(thành công) exit( thà công) }

9

IT faculty – Vinh University

Ví dụ
Cho tập luật với các luật luậ luậ a∧b→c – r1: a∧h→d – r2: b∧c→e – r3: a∧d→m – r4: a∧b→o – r5: e∧o→m – r6: Giả sử có giả thiết là GT = {a, b}, kết luận là KL = Giả giả thiế {a luậ {m}, hãy xác định kết quả của phép suy diễn lùi quả phé diễ

IT faculty – Vinh University

Nhận xét Nhậ
Quá trình suy diễn lùi tương tự như quá trình Quá trì diễ quá trì tìm cây đồ thị lời giải trong đồ thị Và/Hoặc thị giả thị Hoặ biểu diễn tập luật luậ biể diễ Quá trình suy diễn lùi có thể mô phỏng trong Quá trì diễ thể phỏ quá trình hợp giải của Robinson quá trì giả Thuật toán trên còn có nhiều điểm cần cải Thuậ toá nhiề điể tiến tiế

IT faculty – Vinh University

Đồ thị And/OR thị And/
r4 {a,d} {a}* {d} r2 {a,h} {a} {h} {a,b} {a}* {b}* {b}* {o} r1 {m} r6 {o,e} {e} r3 {b,c} {c} r1 {a,b} {a}* {b}*

10

IT faculty – Vinh University

1.3 Suy diễn với logíc vị từ diễ logí
Bài toán xác định tập Sat dẫn đến hai bài toá toán toá

Bài toán 1: (Xác định phép gán) toá (X phé
Cho 2 vị từ p(x,y,z,…) và q(u,v,w,…). Liệu có tồn tại một p(x,y,z, q(u,v,w, Liệ phép gán θ = {t1/x,t2/y,t3/z,…,ti/u,tj/v,tk/w,…) sao cho qθ phé {t1/x,t2/y,t3/z,… ti/u,tj/v,tk/w, = pθ pθ

Bài toán 2: (Quay lui trong phép gán trị) toá phé trị

IT faculty – Vinh University

Ví dụ
Ví dụ 1: Cho 2 vị từ q(x,y,z) và p(y,y,b). q(x,y,z) p(y,y,b). Ví dụ 2: Cho 2 vị từ p(x,y,b) và q(a,y,y). p(x,y,b) q(a,y,y). Ví dụ 3: Xét tập luật luậ
– – – –

R1: p1(x,y,z,b) → q1(x,y) R2: p2(z,x) → q2(x,z) Giả sử ban đầu là GT={p1(a,a,b,b), p2(a,b)} Giả Kết luận là KL={q2(b,a)} luậ R1: p(x,y,z) ∧ q(y,z) → r(x,z) p(x,y,z) q(y,z) r(x,z) R2: p1(x) ∧ q1(y,x) → r1(y,x) GT={p(a,a,b), p(a,c,d), q(c,d)} GT={p(a,a,b), p(a,c,d), q(c,d)}

Ví dụ 4: Cho tập luật luậ
– – –

IT faculty – Vinh University

Thủ tục suy diễn tiến Thủ diễ tiế
Đầu vào:

– –

Tập các luật RULE = {r1, r2, ....., rm} mỗi ri có luậ rm} dạng p1(.) ∧ p2(.) ... ∧ pn(.) → q(.), mỗi pi, q là pn(.) một vị từ Tập các vị từ đã cho GT Tập các vị từ cần chứng minh KL chứ Thông báo thành công nếu với mọi q(.) ∈ KL có thà thể suy ra từ GT nhờ sử dụng tập luật RULE. thể nhờ luậ

Đầu ra: ra:

11

IT faculty – Vinh University

Thuật toán Thuậ toá
Begin Tgian = GT Sat = lọc(RULE, Tgian) RULE, Tgian) While KL ⊄ Tgian and Sat ≠ ∅ do { (r, θ) ← get(Sat) /*lấy một luật r khả hợp với phép gán θ phé get( Sat) /*l luậ khả /*giả sử r = p1 ∧ p2.... pm → q /*giả Tgian ← Tgian ∪ {qθ} Sat = lọc(RULE, Tgian) RULE, Tgian) } If KL ⊂ Tgian then exit(“Thành công”) else exit(“Không thành exit( thà exit( Thà công” công”) công” End. End.

IT faculty – Vinh University

Ví dụ
Cho bài toán gồm các vị từ toá
cùnglớp(x,y) nglớ p(x,y) cùngkhoá(x,y) ngkhoá (x,y) học(x,k) c(x,k) ratrường(x, n) ratrườ ng(x, x cùng lớp với y x cùng khoá với y khoá x học khoá k khoá x ra trường năm n trườ

Ta có tập luật gồm các luật sau: luậ luậ sau:

r1: học(x,k) ∧ học(y,k) → cùngkhoá(x,y) c(x,k) c(y,k) ngkhoá (x,y) r2: cùnglớp(x,y) → cùngkhoá(x,y) nglớp(x,y) ngkhoá (x,y) r3: ratrường(x,n) ∧ ratrường(y,n) → cùngkhoá(x,y) ratrườ ng(x,n) ratrườ ng(y,n) ngkhoá (x,y) r4: cùngkhoa(x,y) ∧ cùngkhoá(y,z) → cùngkhoá(x,z) ngkhoa(x,y) ngkhoá (y,z) ngkhoá (x,z) r5: cùnglớp(x,y) → cùnglớp(y,x) nglớp(x,y) nglớ p(y,x) r6: cùngkhoá(x,y) → cùngkhoá(y,x) ngkhoá (x,y) ngkhoá (y,x) f1: cùnglớp(a1,a2) cù nglớ f4: ratrường(b1, nn) ratrườ nn) f2: học(a2,kk) f3: học(b1, kk) họ họ kk) f5: ratrường(b2, nn) f6: cùnglớp(b2,c1) f5: ratrườ nn) cù nglớ

Giả sử ta có giả thiết là GT= {f1, f2, f3, f4, f5, f6} với Giả giả thiế Cần suy ra kết luận là KL = {cùngkhoá(a1,c1)}. luậ {cù ngkhoá

IT faculty – Vinh University

Ví dụ
Ban đầu
– – – – – – – – – – –

Kết quả lúc này là ta có Sat = {(r1,θ1), (r2,θ2), (r3,θ3), (r5,θ5), (r5,θ5’)} quả {(r1,θ (r2,θ (r3,θ (r5,θ (r5,θ

luật r1 trở nên khả hợp với phép gán: θ1 = {a2/x, b1/y, kk/k} luậ trở khả phé kk/k} luật r2 trở nên khả hợp với phép gán: θ2 = {a1/x, a2/y} luậ trở khả phé luật r3 trở nên khả hợp với phép gán: θ3 = {b1/x, b2/y, nn/n} luậ trở khả phé nn/n} luật r5 trở nên khả hợp với phép gán: θ5 = {a1/x, a2/y} hoặc θ5’ = {b2/x, c1/y} luậ trở khả phé hoặ luật r4 và r6 không khả hợp trong trường hợp này. luậ khả trườ

Tgian = {f1, f2, f3, f4, f5, f6}

Lấy (r1,θ1) từ Sat ta được tập Tgian = {f1, f2, f3, f4, f5, f6, f7} trong đó f7 có dạng f7: (r1,θ đượ cùngkhoá(a2,b1). ngkhoá Lúc này Sat = {(r2,θ2), (r3,θ3), (r5,θ5), (r5,θ5’), (r6,θ6)} với luật r6 khả hợp với phép gán θ6 = {a2/x, {(r2,θ (r3,θ (r5,θ (r5,θ (r6,θ luậ khả phé b2/y} Lấy (r2,θ2) ta được Tgian = {f1÷f7, f8} trong đó f8: cùngkhoá(a1, a2) (r2,θ đượ {f1÷ cùngkhoá Sat = {(r3,θ3), (r5,θ5), (r5,θ5’), (r6,θ6), (r6,θ6’), (r4,θ4)} với các phép gán khả hợp θ6’ = {a1/x, a2/y} {(r3,θ (r5,θ (r5,θ (r6,θ (r6,θ (r4,θ phé khả và θ4 = {a1/x, x2/y, b1/z} Lấy (r3,θ3) ta được Tgian = {f1 ÷ f8, f9} trong đó f9: cùngkhoá(b1,b2) (r3,θ đượ cùngkhoá Sat = {(r5,θ5), (r5,θ5’), (r6,θ6), (r6,θ6’), (r6,θ6’’), (r4,θ4), (r4,θ4’)} với các phép khả hợp θ6’’ = {b1/x, {(r5,θ (r5,θ (r6,θ (r6,θ (r6,θ ’’), (r4,θ (r4,θ phé khả b2/y} và θ4’ = {a1/x, a2/y, b1/z}

Cứ tiếp tục như vậy ta sẽ nhận được sự kiện cùngkhoá(a1,c1) ∈ Tgian. tiế nhậ đượ kiệ ngkhoá Tgian.

12

IT faculty – Vinh University

Nhận xét Nhậ
Để dễ hình dung ta có thể sử dụng đồ thị thể thị biểu diễn như sau: biể diễ sau:
– –

Mỗi đỉnh là một tập các sự kiện đã được suy diễn kiệ đượ diễ nhờ các luật nhờ luậ Mỗi cung nối từ nút Tgian sang nút Tgian ∪ {q} nếu có một luật r có dạng r: p1 ∧ p2 ∧ ... pn → q luậ mà mọi i thì pi ∈ Tgian. thì Tgian.

IT faculty – Vinh University

Thủ tục suy diễn lùi Thủ diễ
Đầu vào:
– – –

Tập các vị từ đã cho GT Tập các luật RULE = {r1, r2, ...., rm} có dạng p1 ∧ p2 ... luậ rm} pn → q Tập các vị từ cần chứng minh KL chứ Thông báo “Thành công” nếu GT suy được KL Thà công” đượ

Đầu ra: ra:

IT faculty – Vinh University

Ví dụ
Cho bài toán gồm các vị từ toá
cùnglớp(x,y) nglớ p(x,y) cùngkhoá(x,y) ngkhoá (x,y) học(x,k) c(x,k) ratrường(x, n) ratrườ ng(x, x cùng lớp với y x cùng khoá với y khoá x học khoá k khoá x ra trường năm n trườ

Ta có tập luật gồm các luật sau: luậ luậ sau:

r1: học(x,k) ∧ học(y,k) → cùngkhoá(x,y) c(x,k) c(y,k) ngkhoá (x,y) r2: cùnglớp(x,y) → cùngkhoá(x,y) nglớp(x,y) ngkhoá (x,y) r3: ratrường(x,n) ∧ ratrường(y,n) → cùngkhoá(x,y) ratrườ ng(x,n) ratrườ ng(y,n) ngkhoá (x,y) r4: cùngkhoa(x,y) ∧ cùngkhoá(y,z) → cùngkhoá(x,z) ngkhoa(x,y) ngkhoá (y,z) ngkhoá (x,z) r5: cùnglớp(x,y) → cùnglớp(y,x) nglớp(x,y) nglớ p(y,x) r6: cùngkhoá(x,y) → cùngkhoá(y,x) ngkhoá (x,y) ngkhoá (y,x) f1: cùnglớp(a1,a2) cù nglớ f4: ratrường(b1, nn) ratrườ nn) f2: học(a2,kk) f3: học(b1, kk) họ họ kk) f5: ratrường(b2, nn) f6: cùnglớp(b2,c1) f5: ratrườ nn) cù nglớ

Giả sử ta có giả thiết là GT= {f1, f2, f3, f4, f5, f6} với Giả giả thiế Cần suy ra kết luận là KL = {cùngkhoá(a1,c1)}. luậ {cù ngkhoá

13

IT faculty – Vinh University

2. Giải quyết cạnh tranh Giả quyế
Cạnh tranh trong suy diễn tiến diễ tiế
– –

Tình huống cạnh tranh: huố tranh: Thí dụ: Thí
r1 : a → b r2 : a → c r4 : d ∧ b → e r5 : b → f GT={a}, KL = {e} r3 : a ∧ b ∧ c → d r6 : e → g

ta có: #Lọc(RULE, {a}) = #{r1, r2}=2. Do vậy #L c(RULE, có xảy ra cạnh tranh. tranh.

IT faculty – Vinh University

Giải pháp trong suy diễn tiến Giả phá diễ tiế
Giải pháp 1: Tổ chức các luật có thể được sử dụng như một hàng đợi Giả phá chứ luậ thể đượ Giải pháp 2: Tổ chức các luật có thể được sử dụng như một ngăn xếp Giả phá chứ luậ thể đượ Giải pháp 3: Sử dụng kỹ thuật Heuristic Giả phá thuậ

Đối với mỗi luật r ∈ RULE, bằng kỹ thuật Heuristic ta đánh giá liên hệ luậ RULE, thuậ giá hàm ước lượng h() trong KL với một phần vế phải của luật r : left → q lượ phầ phả luậ như sau: h(r,KL) = h(q,KL) sau: KL) KL) Khi đó luật r: left → q sẽ được chọn khi và chỉ khi h(q,KL) đạt min luậ đượ chọ chỉ KL) hoặc max. hoặ max.

Giải pháp 4: Thực hiện sắp xếp thứ tự các sự kiện bằng đồ thị FPG – Giả phá Thự hiệ thứ kiệ thị Fact Precedence Graph) Graph) Giải pháp 5: Sử dụng đồ thị thứ tự luật RPG (Rule Precedence Graph) Giả phá thị thứ luậ Graph)

IT faculty – Vinh University

Giải pháp 4 Giả phá
Đồ thị FPG là đồ thị có hướng gồm các nút và các thị thị hướ cung trong đó mỗi nút là một sự kiện, các cung là kiệ các luật. Một nút fi có cung nối rk tới fj nếu fi thuộc luậ thuộ vế trái của luật rk và fj thuộc vế phải của luật rk. thuộ phả luậ rk. trá luậ
h(r,KL) = h(r,KL) = h(q,e) = #Pq→e (chiều dài đường đi ngắn KL) KL) #Pq→ chiề đườ ngắ nhất từ q đến e) – Chọn Min nhấ Chọ h(r,KL) = h(q) = #{r’ | r’:left’ → q’, q ∈ left’} – Chọn Max KL) #{r left’ left’ Chọ h(r,KL)= h(q,KL) = #{Pq→e} = số lượng các đường đi từ q tới e KL)= KL) #{Pq→ lượ đườ – Chọn Max Chọ

14

IT faculty – Vinh University

Ví dụ
Cho cơ sở luật như sau: luậ sau: – r1 : a → b r2 : a → c r3 : a ∧ b ∧ c → d – r4 : d ∧ b → e r5 : b → f r6 : c → g Và giả thiết GT = {a}, kết luận KL = {e}. giả thiế {a luậ {e
b

r1 r2
a c

r4
e

r3 r3 r3
d

a

Nót b¾t ®Çu Nót kÕt thóc

r4

e

r6
g

r5
f

IT faculty – Vinh University

Giải pháp 5 Giả phá
Đồ thị RPG là đồ thị có hướng gồm các nút và các cung. Mỗi thị thị hướ cung. nút là một luật. Một nút Ri có cung nối tới nút Rj nếu phần kết phầ luậ luận của luật Ri có trong giả thiết của luật Rj. luậ luậ giả thiế luậ Rj. h(r, FINAL) = h(r) = #Pr→FINAL = Độ dài đường đi từ r đến h(r, h(r) #Pr→ đườ FINAL – Luật được chọn ⇔ h(r) bé nhất Luậ đượ chọ h(r) nhấ h(r, FINAL) = h(r) = #{r’ | tồn tại một cung r → r’}=Số cung nối h(r, h(r) #{r’ }=S xuất phát từ r xuấ phá – Luật được chọn ⇔ h(r) lớn nhất Luậ đượ chọ h(r) nhấ h(r, FINAL) = h(r) = #{p | p : r → FINAL} = Số đường đi từ r đến h(r, h(r) đườ Final – Luật được chọn ⇔ h(r) lớn nhất Luậ đượ chọ h(r) nhấ

IT faculty – Vinh University

Ví dụ
r1 r3

r4

r5 r2 r6

15

IT faculty – Vinh University

Ví dụ
Cho cơ sở luật như sau: luậ sau: – r1 : a → b r2 : a → c r3 : a ∧ b ∧ c → d – r4 : d ∧ b → e r5 : b → f r6 : c → g Và giả thiết GT = {a}, kết luận KL = {e}. giả thiế {a luậ {e
r1 r3

Nút kết thúc

r4

Nút bắt đầu

r5 r2 r6

IT faculty – Vinh University

Cạnh tranh trong suy diễn lùi diễ

Tình huống xảy ra cạnh tranh: Cạnh tranh trong huố tranh:
suy diễn lùi xảy ra khi và chỉ khi với một sự kiện f nào đó thì diễ chỉ kiệ thì tồn tại ít nhất 2 luật r1, r2 mà r1: left1->f, r2: left2->f. left1left2nhấ luậ

Thí dụ: Ta có cơ sở luật: Thí luậ
r1: a∧b→c r3: b∧c→e r5: a∧b→n GT = {a,b}, KL = {m}. {a,b}, r2: r4: r6: a∧c→d a∧e→m n∧e→m

Khi đó ta xây dựng hàm Tìmthấy(f) = {r | r : left → f} mthấ y(f)

IT faculty – Vinh University

Giải pháp trong suy diễn lùi Giả phá diễ
Giải pháp 1: Nếu ri, rj ∈ Tìmthấy(f) và ri không được sử dụng Giả phá ri, mthấ y(f) đượ nữa và i<j thì rj được chọn thì đượ chọ Giải pháp 2: Sử dụng đồ thị Và/Hoặc và đồ thị FPG Giả phá thị /Hoặ thị Một vài Heuristic

Xét luật r : left → q. Với mỗi sự kiện f, hàm độdài(f, GT) = độ luậ kiệ i(f, dài đường đi ngắn nhất từ GT đến f. đườ ngắ nhấ
h(r,GT) = max(độdài(f,GT) | f ∈ left) h(r,GT) max( i(f,GT) Luật r được chọn khi và chỉ khi h(r, GT) là nhỏ nhất Luậ đượ chọ chỉ h(r, nhỏ nhấ

– –

h(r,GT)=#left = Số giả thiết của luật r, Chọn min h(r,GT)=#l giả thiế luậ Chọ Nếu f∈GT thì độsâu(f,GT)=0, ngược lại thì sâu(f,GT)=0, ngượ độsâu(f,GT)=min{max(độsâu(q)+1) với r: left->f, q∈left | voi moi sâu(f,GT)=min{max( leftluat r}.
h(r)=max(đôsâu(f,GT), f ∈left của r). Chọn Min h(r)=max( đôsâu(f,GT), Chọ

16

IT faculty – Vinh University

Ví dụ
b a R1 R2 d c R3 e

R5 n

R4 m

R6

IT faculty – Vinh University

Ví dụ
R1 P R12 G R4 E R6 A K D R11 F R5 E A H Q R2 F R5 B E N R3

M R7 R8 L R9 G R4 A E C R6 A D A R10 A B D R10 B

C R10 A

C

IT faculty – Vinh University

III. Bộ giải thích III. giả thí
Câu hỏi tại sao Why f?

Tại sao phải xác định sự tồn tại/ giá trị (số, logic) của một phả giá trị sự kiện f nào đó kiệ

Trả lời: Sự kiện f có lợi để xác định kết luận KL Trả kiệ luậ Kỹ thuật: Tồn tại một đường đi từ f đến kết luật KL thuậ đườ luậ trong đồ thị FPG thị

Ta có cơ sở luật RULE ⇔ đồ thị FPG ⇒ ta có thể biểu luậ thị thể biể diễn bằng một ma trận A =(aij). aij = 1 nếu có cung nối fi diễ trậ =(aij). với fj trong FPG Xác định ma trận  là bao đóng kéo theo của A,  = (âij). trậ (âij).

Mệnh đề: Tồn tại một đường đi từ fi đến fj nếu và đườ chỉ nếu aij = 1 chỉ

17

IT faculty – Vinh University

III. Bộ giải thích III. giả thí
Câu hỏi thế nào How? thế

Làm thế nào mà hệ thống lại kết luận là sự kiện f đúng? thế thố luậ kiệ ng?

Trả lời: Hệ thống đã kết luận f đúng vì áp dụng Vet = Trả thố luậ {r1, .... , rk) rk) Kỹ thuật: Xác định Vet T để cho GT → f bằng T thuậ
– –

Đối với suy diễn tiến: Phải triệt tiêu các luật dư thừa diễ tiế Phả triệ luậ thừ Đối với suy diễn lùi: Phải triệt tiêu các luật lặp lại diễ Phả triệ luậ Giải thích trọn vẹn: Cho nguyên vẹn Vet T Giả thí trọ Giải thích từng bước một: Cho riêng lẻ từng luật ri một. Giả thí bướ luậ

Có thể có hai cách giải thích thể giả thí
– –

IT faculty – Vinh University

III. Bộ giải thích III. giả thí
Suy luận và giải thích đối kháng luậ giả thí khá
– –

Câu hỏi: Tại sao hệ thống lại không thể kết luận rằng f xuất thố thể luậ xuấ phát từ các sự kiện trong giả thiết phá kiệ giả thiế Giải đáp: hệ thống đã thử các đường đi trong quá trình suy Giả thố thử đườ quá trì luận, nhưng không tìm ra f. luậ Câu hỏi: Việc gì sẽ xảy ra nếu thêm một luật R. Việ luậ Giải đáp: Ta có thể chứng minh thêm các sự kiện hoặc CSTT Giả thể chứ kiệ hoặ sẽ dư thừa thừ Câu hỏi: Việc gì sẽ xảy ra nếu thêm một sự kiện f. Việ kiệ Giải đáp: Sự kiện sẽ làm cho CSTT nhất quán hoặc làm cho Giả kiệ nhấ quá hoặ cơ sở sự kiện giàu lên. kiệ già lên.

Giải thích giả định Giả thí giả
– –

Giải thích giả thiết bổ sung sự kiện Giả thí giả thiế kiệ
– –

IT faculty – Vinh University

IV. Tổ chức cơ sở dữ liệu mức vật IV. chứ liệ lý
Tổ chức cho cơ sở sự kiện chứ kiệ
Tªn Gi¸ trÞ Gi¶i thÝch C©u hái Tiªn ®Ò KÕt luËn Trá1 Trá2

Tổ chức cho cơ sở luật chứ luậ
Tªn Trá1 Trá2 Trá3 KiÓu

18

Sign up to vote on this title
UsefulNot useful