Chương 3: Công cụ cụ tạo lậ lập hệ hệ chuyên gia
Giả Giảng viên: Ths. Vũ Vũ Chí Chí Cườ Cường IT faculty – Vinh University
IT faculty – Vinh University
Mục đích, ch, yêu cầu z
Mục đích –
z
Xây dựng một bộ công cụ có sẵn để tạo lập các thà thành phầ phần của một hệ chuyên gia và mỗi lần xây dựng hệ chuyên gia mới ta có thể thể sử dụng bộ công cụ này để tiế tiết kiệ kiệm thờ thời gian và công sức
Yêu cầu – – –
Bộ tạo lập cơ sở tri thứ thức Bộ tạo môtơ suy diễ diễn Bộ tạo các giao diệ diện
IT faculty – Vinh University
I. Bộ soạ soạn thả thảo tri thứ thức z
z
Bộ soạ soạn thả thảo tri thứ thức và môdul đối thoạ thoại của nó là môi trườ trường trung gian giữ giữa cơ sở tri thứ thức và chuyên gia để có thể thể thay đổi và bổ sung tri thứ thức. Các chứ chức năng cơ bản của bộ soạ soạn thả thảo tri thứ thức – – – – –
Cho phé phép soạ soạn thả thảo, cập nhậ nhật các luậ luật và các sự kiệ kiện Đưa ra các phạ phạm vi tri thứ thức cần thu nạp Lên danh sách các giá giá trị trị cần thiế thiết cho mỗi đối tượ tượng Kiể Kiểm tra sự đúng đắn của các luậ luật đượ được đưa vào (ngữ ngữ phá pháp, trù trùng lặp, mâu thuẫ thuẫn,...) Kiể Kiểm tra các từ, các đối tượ tượng, ng, các dạng đối tượ tượng đã có trong hệ thố thống
1
IT faculty – Vinh University
I. Bộ soạ soạn thả thảo tri thứ thức z
1. Soạ Soạn thả thảo luậ luật – – –
z
Soạ Soạn thả thảo luậ luật bằng ngôn ngữ ngữ tự nhiên với cú phá pháp hạn chế chế Soạ Soạn thả thảo các luậ luật theo cú phá pháp Horn Soạ Soạn thả thảo các luậ luật dùng bộ ba liên hợp OAV
2. Cập nhậ nhật tri thứ thức – –
Cập nhậ nhật sự kiệ kiện Cập nhậ nhật luậ luật
IT faculty – Vinh University
1.1 Soạ Soạn thả thảo luậ luật bằng ngôn ngữ ngữ tự nhiên với cú phá pháp hạn chế 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ạ Soạn thả thảo luậ luật bằng ngôn ngữ ngữ tự nhiên với cú phá pháp hạn chế chế z
z z
Phân tích từ vựng: ng: Để kiể kiểm tra các lỗi về từ vựng trong ngôn ngữ ngữ tự nhiên dùng cho hệ chuyên gia, gia, ta cần tìm ra các từ không tồn tại trong ngôn ngữ ngữ hay nói cách khá khác là sai chí chính tả. Để phân tích từ vựng ngườ người ta dựa vào ngữ ngữ phá pháp và từ điể điển của ngôn ngữ ngữ tự nhiên Phân tích cú phá pháp: Để kiể kiểm tra các lỗi về đặt câu, câu, đặt mệnh đề. Chuyể Chuyển đổi câu: câu: Chuyể Chuyển câu thà thành các biể biểu thứ thức logic bằng cách phân tích các thà thành phầ phần của câu thà thành các mệnh đề và từ đó đi đến các từ
2
IT faculty – Vinh University
Ví dụ z
Với cơ sở tri thứ thức: – – –
z
Ta có thể thể biể biểu diễ diễn bởi các biể biểu thứ thức logic sau – – –
z
Nếu chấ chất lỏng thoá thoát ra có thể thể tự bốc chá cháy thì thì gọi ngay cứu hoả hoả Nếu chấ chất lỏng có độ PH<6 thì thì đó là axit Nếu chấ chất lỏng là axit và có vị cay thì thì đó là axit axetic r1: f1 → f2 r2: f3 → f4 r3: f4 ∧ f5 → f6
Biể Biểu diễ diễn bên trong T iª n ® Ò
K Õ t lu Ë n
S ù k iÖ n
f1
f2
f1
f4
f2
f3 f4
f5
f6
N éi dung
C h Êt ch ¸y G äi cøu ho¶ ...
IT faculty – Vinh University
1.2 Soạ Soạn thả thảo các luậ luật theo cú phá á p Horn ph z
Dạng tổng quá quát của các luậ luật theo dạng chuẩ chuẩn HORN đượ được biể biểu diễ diễn:
z
Khi đó ta có thể thể xem ngữ ngữ phá pháp để xây dựng các luậ luật là như sau
Nếu
và và ....... và Cn> thì thì trong đó Ci, Ci, C đượ được biể biểu diễ diễn dướ dưới dạng logic mệnh đề – – – –
z
:=Nếu <điề điều kiệ kiện> thì thì <điề điều kiệ kiện đơn giả giản> <điề ép toá á trị điều kiệ kiện đơn giả giản>:=:=/ <điề :=<đi ều kiệ ều kiệ điều kiệ kiện> :=<điề kiện đơn giả giản>/ <đi <điề kiện đơn giả giản> và <điề điều kiệ kiện> />=/<=/<>/= phép toá toán>
V í dụ Biể Biểu diễ diễn luậ luật Nếu tuổ tuổi >= 40 thì thì già già
IT faculty – Vinh University
Ví dụ LuËt NÕu
th×
<®iÒu kiÖn>
<®iÒu kiÖn ®¬n gi¶n> Tuæi
>=
Giµ
40
Luậ Luật
Giả Giả thiế thiết
Kết luậ luận
Điề Điều kiệ kiện
Danh từ từ
Phé Phép toá toán
Giá Giá trị trị
R1
F1
F2
F1
Tuổ Tuổi
>=
40
F2
Già Già
3
IT faculty – Vinh University
1.3 Soạ Soạn thả thảo các luậ luật dùng bộ ba liên hợp OAV Dạng tổng quá quát của các luậ luật đượ được biể biểu diễ diễn:
z
Nếu và và ....... và Cn> thì thì trong đó Ci, Ci, C đượ được biể biểu diễ diễn dướ dưới dạng bộ ba O.A.V
Biể Biểu diễ diễn ngữ ngữ phá pháp giố giống như câu lệnh dạng chuẩ chuẩn HORN trừ trừ điề điều kiệ kiện đơn giả giản đượ được thay thế thế
z
<điề ộc tính> á trị điều kiệ kiện đơn giả giản> :=<đ :=<đối tượ tượng> ng>
IT faculty – Vinh University
Ví dụ Biể Biểu diễ diễn luậ luật:
z
– – – –
p1
Nếu và
(học sinh A (học sinh A
toá toán lý
và Thì Thì
(học sinh A (học sinh A
hoá hoá xếp hạng
LuËt p2 p3
q
p1 p2 p3 q
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
8.0 8.0 8.0 8.0
IT faculty – Vinh University
2. Cập nhậ nhật tri thứ thức cho CSTT z z
Cập nhậ nhật sự kiệ kiện Cập nhậ nhật luậ luật
4
IT faculty – Vinh University
2.1 Cập nhậ nhật sự kiệ kiện z
z
Các sự kiệ kiện và các luậ luật sau khi soạ soạn thả thảo đượ được cập nhậ nhật vào cơ sở tri thứ ng. Khi cập nhậ nhật chú chúng cần đượ được kiể kiểm thức của hệ 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á giá trị trị cho phé phép của một thuộ thuộc tính Số giá giá trị trị cực đại của một thuộ thuộc tính Tập các giá giá trị trị mâu thuẫ thuẫn hay phân biệ biệt trong một thuộ thuộc tính Tính loạ loại trừ trừ của các thuộ thuộc tính Các ràng buộ buộc lôgic (tính dư thừ thừa)
IT faculty – Vinh University
2.2 Cập nhậ nhật luậ luật z
Để kiể kiểm tra các luậ luật có thể thể dựa vào một số tính chấ chất của luậ luật như sau: sau:
–
Tính nhấ nhất quá quán trong 1 luậ luật Tính dư thừ thừa luậ luật Các luậ luật xung đột:
–
Các luậ luật có tiề tiền đề vô dụng: ng:
–
Các chuỗ chuỗi luậ luật mâu thuẫ thuẫn:
– –
Các luậ luật r1, r2 là xung đột nếu có thể thể tồn tại sự liên quan giữ giữa các luậ luật như sau: sau: r1: left1 → p, r2: left2 → q, left1 ⊆ left2 hoặ hoặc left2 ⊆ left1 nhưng p và q là mâu thuẫ thuẫn. Nếu các luậ luật có kết quả quả như nhau và tập các phầ phần của giả giả thiế thiết của các luậ luật đó khá khác nhau sẽ tạo thà thành một hằng đề Một chuỗ chuỗi các luậ luật mâu thuẫ thuẫn là một tập các luậ luật sắp thứ thứ tự R1, R2, ... Rn mà trong đó kết quả quả của luậ luật trướ trước là một phầ phần của nhữ những giả giả thiế thiết của luậ luật tiế tiếp theo và một phầ phần kết quả quả của luậ luật Rn cùng với các giả giả thiế thiết của luậ luật đầu tiên R1 gây ra một mâu thuẫ thuẫn giữ giữa các sự kiệ kiện.
IT faculty – Vinh University
2.2 Cập nhậ nhật luậ luật z
Một cơ sở luậ luật đượ được coi là cực tiể tiểu nếu: – – –
Mỗi luậ luật đượ được viế viết dướ dưới dạng chuẩ chuẩn Horn Không có sự kiệ kiện dư thừ thừa Không có luậ luật dư thừ thừa
5
IT faculty – Vinh University
Thuậ Thuật toá toán tính bao đóng z z z
Đầu vào : tập sự kiệ kiện F, tập luậ luật Rule Đầu ra : bao đóng FR của F Giả Giải thuậ thuật: { 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ừ thừa sự kiệ kiện z z z
Đầu vào : tập luậ luật Rule Đầu ra : tập luậ luật Rule ′ không có sự kiệ kiện dư thừ thừa Giả Giải thuậ thuật : – –
Duyệ Duyệt lần lượ lượt các luậ luật r của tập luậ luật Rule Với mỗi một luậ luật r, sự kiệ kiện f trong luậ luật r là dư thừ thừa khi và chỉ chỉ khi f thuộ thuộc bao đóng của r.left \ {f} với tập luậ luật Rule
IT faculty – Vinh University
Dư thừ thừa luậ luật z z z
Đầu vào : tập luậ luật Rule Đầu ra : tập luậ luật Rule′ Rule′ không có luậ luật dư thừ thừa Giả Giải thuậ thuật: – –
Duyệ Duyệt lần lượ lượt các luậ luật r của tập luậ luật Rule Một luậ luật r là dư thừ thừa khi vế phả phải của r là tập con của bao đóng của vế trá trái r với tập luậ luật Rule\ Rule\ {r}
6
IT faculty – Vinh University
Ví dụ 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
a->b a^ca^c->d d^bd^b->e a^e^ca^e^c->f a^ca^c->h h->f h->g a->c g^fg^f->d b->c
IT faculty – Vinh University
Ví dụ 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
a+ba+b->c c->a b+cb+c->d a+ba+b->c c->a c+ec+e->g b+cb+c->d b+eb+e->a c+gc+g->b c+ec+e->a
IT faculty – Vinh University
II. II. Bộ tạo lập mô tơ suy diễ diễn z
z
Mô tơ suy diễ diễn là thà thành phầ phần trung tâm của một hệ chuyên gia. gia. Nói một cách không hình thứ thức liên kết các tri thức thì thì nó là cách thứ thứ thức đã có của hệ để suy diễ diễn ra các tri thứ thức mới nhằ nhằm giả giải quyế toán. quyết bài toá Mô tơ suy diễ diễn gồm 2 phầ phần chí chính là cơ chế chế suy diễ diễn và cơ chế chế điề điều khiể khiển, trong đó: –
–
Cơ chế chế suy diễ diễn là cách thứ thức khớ khớp các sự kiệ kiện trong bộ nhớ nhớ với cá tri thứ thức lĩnh vực trong cơ sở tri thứ thức để rút ra kết luậ luận về vấn đề đang xét. Cơ chế ế suy diễ ễ n bao g ồ m : Cơ chế ế suy diễ ch di ch diễn tiế tiến, cơ chế chế suy diễ diễn lùi và cơ chế chế hỗn hợp Cơ chế chế điề điều khiể khiển là các cách thứ thức điề điều khiể khiển việ việc suy diễ diễn của hệ thố thống đảm bảo việ việc suy diễ diễn có kết quả quả. Cơ chế chế điề điều khiể khiển bao gồm: Chọ Chọn hướ hướng suy diễ diễn, Giả Giải quyế quyết các tranh chấ chấp, Thu hẹp phạ phạm vi các luậ luật, Điề Điều khiể khiển dừng. ng.
7
IT faculty – Vinh University
1. Cơ chế chế suy diễ diễn z z z
Suy diễ diễn Suy diễ diễn với logic mệnh đề Suy diễ diễn với logí logíc vị từ
IT faculty – Vinh University
Thủ Thủ tục suy diễ diễn tiế tiến z
Đầu vào: – – –
z
Tập các mệnh đề đã cho GT = {g1, g2, ...., gm} Tập các luậ luật RULE có dạng p1 ∧ p2 ∧ .... ∧ pn → q Tập các mệnh đề kết luậ luận KL = {q1, q2, ...., qk} qk}
Đầu ra –
Thông báo “Thà Thành công” công” nếu mọi qi ∈ KL đều có thể thể suy luậ luận từ giả giả thiế thiết GT nhờ nhờ sử dụng tập luậ luận RULE.
IT faculty – Vinh University
Thuậ Thuật toá toán /*G /*Gọi Tgian là tập các sự kiệ kiện (mệnh đề) đúng trong thờ thời điể điểm đang xét */ /*G luật có dạng p1 ∧ p2 ∧ .... ∧ pn → q sao cho ∀i=1,..n =1,..n thì thì pi ∈ /*Gọi Sat là tập các luậ Tgian */ Begin Tgian = GT Sat = lọc(RULE, RULE, Tgian) Tgian) While KL ⊄ Tgian And Sat ≠ ∅ Do { r ← get( /*L get(Sat) Sat) /*Lấy một luậ luật khả khả hợp từ Sat giả giả sử r có dạng p1 ∧ p2 ∧ .... ∧ pn → q */ Tgian ← Tgian ∪ {q} RULE ← RULE \ {r} Sat = lọc(RULE, RULE, Tgian) Tgian) } If KL ⊂ TG Then Exit( công”) Exit(“Thà Thành công” công”) Else Exit( Exit(“Không thà thành công” End. End.
8
IT faculty – Vinh University
Ví dụ z
Ta có các luậ luật – – –
r1: r2: r3:
a∧b→c d→e f∧e→b
z
Với giả giả thiế thiết là GT = {a, d, f} và kết luậ luận là KL ={b, c, e}
z
áp dụng giả giải thuậ thuật ta có: – – – – – – –
Ban đầu Tgian = {a, d, f}, do đó Sat = {r2} Dùng luậ luật r2: d → e ta có Tgian = {a, d, f, e} và RULE = {r1, r3} Từ đó ta có Sat = {r3} Dùng luậ luật r3: f ∧ e → b ta có Tgian = {a, d, f, e, b} và RULE = {r1} Từ đó ta có Sat = {r1} Dùng luậ luật r1: a ∧ b → c ta có Tgian = {a, d, f, e, b, c} và RULE = ∅ Lúc này ta có KL ⊂ Tgian và Sat = ∅, vậy quá quá trì trình dừng và ta có kết luậ luận “Thà Thành công” công”.
IT faculty – Vinh University
Thủ Thủ tục suy diễ diễn lùi z
Đầu vào: – – –
z
Tập các mệnh đề (sự kiệ kiện) đã cho GT = {g1, g2, ... gl} gl} Tập các luậ luật RULE = {r1, r2, ...., rm} rm} có dạng p1 ∧ p2 ... pn → q Tập các kết luậ luận KL = {q1, q2, ....,qk ....,qk}}
Đầu ra: ra: –
Thông báo “Thà Thành công” công” nếu với mọi i, qi có thể thể suy ra từ giả giả thiế thiết GT
IT faculty – Vinh University
/* gọi Vet và Goal là 2 danh sách dạng stack If KL ⊂ GT then exit( exit(Thà Thành công) công) else { goal = ∅, Vet = ∅, Back = False For each q ∈ KL do goal = goal ∪ {(q {(q,0) Repeat { (f (f,i) ← get( get(goal) goal) if not (f ∈ GT) GT) then { tìmluậ mluật(f,i,RULE, RULE,j) /* rj : leftj → f if j ≤ m then /* m: số luậ luật {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( get(Vet) Vet) goal = goal \ leftk until f ∈ leftk
tìmluậ mluật(g,k,RULE, RULE,l) /* luậ luật rl : leftl → g. 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( get(goal) goal) else break } until back or goal = ∅ If f ∈ KL and back then exit( exit(không thà thành công) công) else exit( exit(thà thành công) công) }
9
IT faculty – Vinh University
Ví dụ z
z
Cho tập luậ luật với các luậ luật 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ả Giả sử có giả giả thiế thiết là GT = {a {a, b}, kết luậ luận là KL = {m}, hãy xác định kết quả quả của phé phép suy diễ diễn lùi
IT faculty – Vinh University
Nhậ Nhận xét z
z z
Quá Quá trì trình suy diễ diễn lùi tương tự như quá quá trì trình tìm cây đồ thị thị lời giả giải trong đồ thị thị Và/Hoặ Hoặc biể diễn tập luậ luật biểu diễ Quá Quá trì trình suy diễ diễn lùi có thể thể mô phỏ phỏng trong quá quá trì trình hợp giả giải của Robinson Thuậ Thuật toá toán trên còn có nhiề nhiều điể điểm cần cải tiế tiến
IT faculty – Vinh University
Đồ thị thị And/ And/OR r4
{m}
r6 {o,e}
{a,d} {a}*
{o}
{d} r2
r3 {b,c}
{a,b}
{a,h} {a}
{e} r1
{h}
{a}*
{b}*
{b}*
{c} r1 {a,b} {a}*
{b}*
10
IT faculty – Vinh University
1.3 Suy diễ diễn với logí logíc vị từ z
Bài toá toán xác định tập Sat dẫn đến hai bài toá toán –
Bài toá toán 1: (X (Xác định phé phép gán) Cho 2 vị từ p(x,y,z, p(x,y,z,…) và q(u,v,w, q(u,v,w,…). Liệ Liệu có tồn tại một phé phép gán θ = {t1/x,t2/y,t3/z,… {t1/x,t2/y,t3/z,…,ti/u,tj/v,tk/w, ti/u,tj/v,tk/w,…) sao cho qθ = pθ pθ
–
Bài toá toán 2: (Quay lui trong phé phép gán trị trị)
IT faculty – Vinh University
Ví dụ z z z
Ví dụ 1: Cho 2 vị từ q(x,y,z) q(x,y,z) và p(y,y,b). p(y,y,b). Ví dụ 2: Cho 2 vị từ p(x,y,b) p(x,y,b) và q(a,y,y). q(a,y,y). Ví dụ 3: Xét tập luậ luật – – – –
z
R1: p1(x,y,z,b) → q1(x,y) R2: p2(z,x) → q2(x,z) Giả Giả sử ban đầu là GT={p1(a,a,b,b), p2(a,b)} Kết luậ luận là KL={q2(b,a)}
Ví dụ 4: Cho tập luậ luật – – –
R1: p(x,y,z) p(x,y,z) ∧ q(y,z) q(y,z) → r(x,z) r(x,z) R2: p1(x) ∧ q1(y,x) → r1(y,x) GT={p(a,a,b ), p(a,c,d), GT={p(a,a,b), p(a,c,d), q(c,d)} q(c,d)}
IT faculty – Vinh University
Thủ Thủ tục suy diễ diễn tiế tiến z
Đầu vào: –
– –
z
Tập các luậ luật RULE = {r1, r2, ....., rm} rm} mỗi ri có dạng p1(.) ∧ p2(.) ... ∧ pn(.) pn(.) → q(.), mỗi pi, q là một vị từ Tập các vị từ đã cho GT Tập các vị từ cần chứ chứng minh KL
Đầu ra: ra: –
Thông báo thà thành công nếu với mọi q(.) ∈ KL có thể thể suy ra từ GT nhờ nhờ sử dụng tập luậ luật RULE.
11
IT faculty – Vinh University
Thuậ Thuật toá toán Begin Tgian = GT Sat = lọc(RULE, RULE, Tgian) Tgian) While KL ⊄ Tgian and Sat ≠ ∅ do { (r, θ) ← get( phép gán θ get(Sat) Sat) /*l /*lấy một luậ luật r khả khả hợp với phé /*gi ả sử r = p1 ∧ p2.... pm → q /*giả Tgian ← Tgian ∪ {qθ} Sat = lọc(RULE, RULE, Tgian) Tgian) } If KL ⊂ Tgian then exit( Thành công” công”) else exit( exit(“Không thà thành exit(“Thà công” công”) End. End.
IT faculty – Vinh University
Ví dụ z
Cho bài toá toán gồm các vị từ cùnglớ nglớp(x,y) p(x,y) cùngkhoá ngkhoá(x,y) (x,y) học(x,k) c(x,k) ratrườ ratrường(x, ng(x, n)
z
x cùng lớp với y x cùng khoá khoá với y x học khoá khoá k x ra trườ trường năm n
Ta có tập luậ luật gồm các luậ luật sau: sau:
r1: học(x,k) c(x,k) ∧ học(y,k) c(y,k) → cùngkhoá ngkhoá(x,y) (x,y) r2: cùnglớ nglớp(x,y) p(x,y) → cùngkhoá ngkhoá(x,y) (x,y) r3: ratrườ ratrường(x,n) ng(x,n) ∧ ratrườ ratrường(y,n) ng(y,n) → cùngkhoá ngkhoá(x,y) (x,y) r4: cùngkhoa(x,y) ngkhoa(x,y) ∧ cùngkhoá ngkhoá(y,z) (y,z) → cùngkhoá ngkhoá(x,z) (x,z) r5: cùnglớ nglớp(x,y) p(x,y) → cùnglớ nglớp(y,x) p(y,x) r6: cùngkhoá ngkhoá(x,y) (x,y) → cùngkhoá ngkhoá(y,x) (y,x)
z
Giả Giả sử ta có giả giả thiế thiết là GT= {f1, f2, f3, f4, f5, f6} với
z
Cần suy ra kết luậ luận là KL = {cù {cùngkhoá ngkhoá(a1,c1)}.
f1: cù cùnglớ nglớp(a1,a2) f4: ratrườ ratrường(b1, nn) nn)
f2: họ f3: họ học(a2,kk) học(b1, kk) kk) f5: f5: ratrườ ratrường(b2, nn) nn) f6: cù cùnglớ nglớp(b2,c1)
IT faculty – Vinh University
Ví dụ z
Ban đầu – – – – –
z
Kết quả quả lúc này là ta có Sat = {(r1,θ {(r1,θ1), (r2,θ (r2,θ2), (r3,θ (r3,θ3), (r5,θ (r5,θ5), (r5,θ (r5,θ5’)} – – – – – –
z
Tgian = {f1, f2, f3, f4, f5, f6}
luậ luật r1 trở trở nên khả khả hợp với phé phép gán: θ1 = {a2/x, b1/y, kk/k} kk/k} luậ luật r2 trở trở nên khả khả hợp với phé phép gán: θ2 = {a1/x, a2/y} luậ luật r3 trở trở nên khả khả hợp với phé phép gán: θ3 = {b1/x, b2/y, nn/n} nn/n} luậ luật r5 trở trở nên khả khả hợp với phé phép gán: θ5 = {a1/x, a2/y} hoặ hoặc θ5’ = {b2/x, c1/y} luậ luật r4 và r6 không khả khả hợp trong trườ trường hợp này.
Lấy (r1,θ (r1,θ1) từ Sat ta đượ được tập Tgian = {f1, f2, f3, f4, f5, f6, f7} trong đó f7 có dạng f7: cùngkhoá ngkhoá(a2,b1). Lúc này Sat = {(r2,θ {(r2,θ2), (r3,θ (r3,θ3), (r5,θ (r5,θ5), (r5,θ (r5,θ5’), (r6,θ (r6,θ6)} với luậ luật r6 khả khả hợp với phé phép gán θ6 = {a2/x, b2/y} Lấy (r2,θ (r2,θ2) ta đượ được Tgian = {f1÷ {f1÷f7, f8} trong đó f8: cù cùngkhoá ngkhoá(a1, a2) Sat = {(r3,θ {(r3,θ3), (r5,θ (r5,θ5), (r5,θ (r5,θ5’), (r6,θ (r6,θ6), (r6,θ (r6,θ6’), (r4,θ (r4,θ4)} với các phé phép gán khả khả hợp θ6’ = {a1/x, a2/y} và θ4 = {a1/x, x2/y, b1/z} Lấy (r3,θ (r3,θ3) ta đượ được Tgian = {f1 ÷ f8, f9} trong đó f9: cù cùngkhoá ngkhoá(b1,b2) Sat = {(r5,θ {(r5,θ5), (r5,θ (r5,θ5’), (r6,θ (r6,θ6), (r6,θ (r6,θ6’), (r6,θ (r6,θ6’’), ’’), (r4,θ (r4,θ4), (r4,θ (r4,θ4’)} với các phé phép khả khả hợp θ6’’ = {b1/x, b2/y} và θ4’ = {a1/x, a2/y, b1/z}
Cứ tiế tiếp tục như vậy ta sẽ nhậ nhận đượ được sự kiệ kiện cùngkhoá ngkhoá(a1,c1) ∈ Tgian. Tgian.
12
IT faculty – Vinh University
Nhậ Nhận xét z
Để dễ hình dung ta có thể thể sử dụng đồ thị thị biể biểu diễ diễn như sau: sau: – –
Mỗi đỉnh là một tập các sự kiệ kiện đã đượ được suy diễ diễn nhờ nhờ các luậ luật Mỗi cung nối từ nút Tgian sang nút Tgian ∪ {q} nếu có một luậ luật r có dạng r: p1 ∧ p2 ∧ ... pn → q mà mọi i thì thì pi ∈ Tgian. Tgian.
IT faculty – Vinh University
Thủ Thủ tục suy diễ diễn lùi z
Đầu vào: – – –
z
Tập các vị từ đã cho GT Tập các luậ luật RULE = {r1, r2, ...., rm} rm} có dạng p1 ∧ p2 ... pn → q Tập các vị từ cần chứ chứng minh KL
Đầu ra: ra: –
Thông báo “Thà Thành công” công” nếu GT suy đượ được KL
IT faculty – Vinh University
Ví dụ z
Cho bài toá toán gồm các vị từ cùnglớ nglớp(x,y) p(x,y) cùngkhoá ngkhoá(x,y) (x,y) học(x,k) c(x,k) ratrườ ratrường(x, ng(x, n)
z
x cùng lớp với y x cùng khoá khoá với y x học khoá khoá k x ra trườ trường năm n
Ta có tập luậ luật gồm các luậ luật sau: sau:
r1: học(x,k) c(x,k) ∧ học(y,k) c(y,k) → cùngkhoá ngkhoá(x,y) (x,y) r2: cùnglớ nglớp(x,y) p(x,y) → cùngkhoá ngkhoá(x,y) (x,y) r3: ratrườ ratrường(x,n) ng(x,n) ∧ ratrườ ratrường(y,n) ng(y,n) → cùngkhoá ngkhoá(x,y) (x,y) r4: cùngkhoa(x,y) ngkhoa(x,y) ∧ cùngkhoá ngkhoá(y,z) (y,z) → cùngkhoá ngkhoá(x,z) (x,z) r5: cùnglớ nglớp(x,y) p(x,y) → cùnglớ nglớp(y,x) p(y,x) r6: cùngkhoá ngkhoá(x,y) (x,y) → cùngkhoá ngkhoá(y,x) (y,x)
z
Giả Giả sử ta có giả giả thiế thiết là GT= {f1, f2, f3, f4, f5, f6} với
z
Cần suy ra kết luậ luận là KL = {cù {cùngkhoá ngkhoá(a1,c1)}.
f1: cù cùnglớ nglớp(a1,a2) f4: ratrườ ratrường(b1, nn) nn)
f2: họ f3: họ học(a2,kk) học(b1, kk) kk) f5: f5: ratrườ ratrường(b2, nn) nn) f6: cù cùnglớ nglớp(b2,c1)
13
IT faculty – Vinh University
2. Giả Giải quyế quyết cạnh tranh z
Cạnh tranh trong suy diễ diễn tiế tiến – –
Tình huố huống cạnh tranh: tranh: Thí Thí dụ: z z z
–
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 #Lọc(RULE, c(RULE, {a}) = #{r1, r2}=2. Do vậy có xảy ra cạnh tranh. tranh.
IT faculty – Vinh University
Giả Giải phá pháp trong suy diễ diễn tiế tiến z z z
Giả Giải phá pháp 1: Tổ chứ chức các luậ luật có thể thể đượ được sử dụng như một hàng đợi Giả Giải phá pháp 2: Tổ chứ chức các luậ luật có thể thể đượ được sử dụng như một ngăn xếp Giả Giải phá pháp 3: Sử dụng kỹ thuậ thuật Heuristic –
–
z z
Đối với mỗi luậ luật r ∈ RULE, RULE, bằng kỹ thuậ thuật Heuristic ta đánh giá giá liên hệ hàm ước lượ lượng h() trong KL với một phầ phần vế phả phải của luậ luật r : left → q như sau: sau: h(r,KL) KL) = h(q,KL) KL) Khi đó luậ luật r: left → q sẽ đượ được chọ chọn khi và chỉ chỉ khi h(q,KL) KL) đạt min hoặ hoặc max. max.
Giả Giải phá pháp 4: Thự Thực hiệ hiện sắp xếp thứ thứ tự các sự kiệ kiện bằng đồ thị thị FPG – Fact Precedence Graph) Graph) Giả Giải phá pháp 5: Sử dụng đồ thị thị thứ thứ tự luậ luật RPG (Rule Precedence Graph) Graph)
IT faculty – Vinh University
Giả Giải phá pháp 4 z
Đồ thị thị FPG là đồ thị thị có hướ hướng gồm các nút và các cung trong đó mỗi nút là một sự kiệ kiện, các cung là các luậ luật. Một nút fi có cung nối rk tới fj nếu fi thuộ thuộc vế trá thuộc vế phả phải của luậ luật rk. rk. trái của luậ luật rk và fj thuộ
z
h(r,KL) →e (chiề KL) = h(r,KL) KL) = h(q,e) = #Pq #Pq→ chiều dài đườ đường đi ngắ ngắn nhấ nhất từ q đến e) – Chọ Chọn Min h(r,KL) KL) = h(q) = #{r #{r’ | r’:left’ left’ → q’, q ∈ left’ left’} – Chọ Chọn Max h(r,KL)= →e} = số lượ KL)= h(q,KL) KL) = #{Pq #{Pq→ lượng các đườ đường đi từ q tới e – Chọ Chọn Max
z z
14
IT faculty – Vinh University
Ví dụ z
z
Cho cơ sở luậ luật như sau: sau: – r1 : a → b r2 : a → c r3 : a ∧ b ∧ c → d – r4 : d ∧ b → e r5 : b → f r6 : c → g Và giả giả thiế thiết GT = {a {a}, kết luậ luận KL = {e {e}. r4
b
r1
e
r2
r3
c
a
r6 g
r4
r3 r3
a
Nót b¾t ®Çu
e
Nót kÕt thóc
d
r5 f
IT faculty – Vinh University
Giả Giải phá pháp 5 z
z
z
z
Đồ thị thị RPG là đồ thị thị có hướ hướng gồm các nút và các cung. cung. Mỗi nút là một luậ phần kết luật. Một nút Ri có cung nối tới nút Rj nếu phầ luậ luận của luậ luật Ri có trong giả giả thiế thiết của luậ luật Rj. Rj. h(r, →FINAL = Độ dài đườ h(r, FINAL) = h(r) h(r) = #Pr #Pr→ đường đi từ r đến FINAL – Luậ Luật đượ được chọ chọn ⇔ h(r) h(r) bé nhấ nhất h(r, h(r, FINAL) = h(r) h(r) = #{r’ #{r’ | tồn tại một cung r → r’}=S }=Số cung nối xuấ xuất phá phát từ r – Luậ Luật đượ được chọ chọn ⇔ h(r) h(r) lớn nhấ nhất h(r, h(r, FINAL) = h(r) h(r) = #{p | p : r → FINAL} = Số đườ đường đi từ r đến Final – Luậ Luật đượ được chọ chọn ⇔ h(r) h(r) lớn nhấ nhất
IT faculty – Vinh University
Ví dụ r1
r3
r4
r5 r2 r6
15
IT faculty – Vinh University
Ví dụ z
z
Cho cơ sở luậ luật như sau: sau: – r1 : a → b r2 : a → c r3 : a ∧ b ∧ c → d – r4 : d ∧ b → e r5 : b → f r6 : c → g Và giả giả thiế thiết GT = {a {a}, kết luậ luận KL = {e {e}. r1
Nút kết thúc
r3
Nút bắt đầu
r4
r5 r2 r6
IT faculty – Vinh University
Cạnh tranh trong suy diễ diễn lùi –
Tình huố huống xảy ra cạnh tranh: tranh: Cạnh tranh trong suy diễ diễn lùi xảy ra khi và chỉ chỉ khi với một sự kiệ kiện f nào đó thì thì tồn tại ít nhấ luật r1, r2 mà r1: left1left1->f, r2: left2left2->f. nhất 2 luậ
–
Thí Thí dụ: Ta có cơ sở luậ luật: z z z z
–
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ấ mthấy(f) y(f) = {r | r : left → f}
IT faculty – Vinh University
Giả Giải phá pháp trong suy diễ diễn lùi z z z
Giả Giải phá pháp 1: Nếu ri, ri, rj ∈ Tìmthấ mthấy(f) y(f) và ri không đượ được sử dụng nữa và i<j thì thì rj đượ được chọ chọn Giả Giải phá pháp 2: Sử dụng đồ thị thị Và/Hoặ /Hoặc và đồ thị thị FPG Một vài Heuristic –
Xét luậ luật r : left → q. Với mỗi sự kiệ kiện f, hàm độdài(f, i(f, GT) = độ dài đườ đường đi ngắ ngắn nhấ nhất từ GT đến f. z z
– –
h(r,GT) h(r,GT) = max( max(độdài(f,GT) i(f,GT) | f ∈ left) Luậ Luật r đượ được chọ chọn khi và chỉ chỉ khi h(r, h(r, GT) là nhỏ nhỏ nhấ nhất
h(r,GT)=#l h(r,GT)=#left = Số giả giả thiế thiết của luậ luật r, Chọ Chọn min Nếu f∈GT thì thì độsâu(f,GT)=0 sâu(f,GT)=0,, ngượ ngược lại độsâu(f,GT)=min{max sâu(f,GT)=min{max((độsâu(q)+1) với r: leftleft->f, q∈left | voi moi luat r}. z
h(r)= max((đôsâu(f,GT ), f ∈left của r). Chọ h(r)=max đôsâu(f,GT), Chọn Min
16
IT faculty – Vinh University
Ví dụ b a R1 R2
R5
c
n
R3
d
e
R4
R6
m
IT faculty – Vinh University
Ví dụ
M R1 P
R12 G
K
Q
N
R2
R3
D
R4
R6
R11
E
A
F
C
F
A
L
C
B
E
D
R9 G
R5
R10 H
R8
R7
C
R4 A
E
D
R6
R10 A
B
R10 A
A
B
R5 E
A
IT faculty – Vinh University
III. III. Bộ giả giải thí thích z
Câu hỏi tại sao Why f? –
z z
Trả Trả lời: Sự kiệ kiện f có lợi để xác định kết luậ luận KL Kỹ thuậ thuật: Tồn tại một đườ đường đi từ f đến kết luậ luật KL trong đồ thị thị FPG –
–
z
Tại sao phả phải xác định sự tồn tại/ giá giá trị trị (số, logic) của một sự kiệ kiện f nào đó
Ta có cơ sở luậ luật RULE ⇔ đồ thị thị FPG ⇒ ta có thể thể biể biểu diễ ). aij = 1 nếu có cung nối fi diễn bằng một ma trậ trận A =(aij =(aij). với fj trong FPG Xác định ma trậ ). trận  là bao đóng kéo theo của A,  = (âij (âij).
Mệnh đề: Tồn tại một đườ đường đi từ fi đến fj nếu và chỉ chỉ nếu aij = 1
17
IT faculty – Vinh University
III. III. Bộ giả giải thí thích z
Câu hỏi thế thế nào How?
z
Trả Trả lời: Hệ thố thống đã kết luậ luận f đúng vì áp dụng Vet = {r1, .... , rk) rk) Kỹ thuậ thuật: Xác định Vet T để cho GT → f bằng T
–
z
– –
z
Làm thế thế nào mà hệ thố thống lại kết luậ luận là sự kiệ kiện f đúng? ng?
Đối với suy diễ diễn tiế tiến: Phả Phải triệ triệt tiêu các luậ luật dư thừ thừa Đối với suy diễ diễn lùi: Phả Phải triệ triệt tiêu các luậ luật lặp lại
Có thể thể có hai cách giả giải thí thích – –
Giả Giải thí thích trọ trọn vẹn: Cho nguyên vẹn Vet T Giả Giải thí thích từng bướ bước một: Cho riêng lẻ từng luậ luật ri một.
IT faculty – Vinh University
III. III. Bộ giả giải thí thích z
Suy luậ luận và giả giải thí thích đối khá kháng – –
z
Giả Giải thí thích giả giả định – –
z
Câu hỏi: Tại sao hệ thố thống lại không thể thể kết luậ luận rằng f xuấ xuất phá phát từ các sự kiệ kiện trong giả giả thiế thiết Giả Giải đáp: hệ thố thống đã thử thử các đườ đường đi trong quá quá trì trình suy luậ luận, nhưng không tìm ra f. Câu hỏi: Việ Việc gì sẽ xảy ra nếu thêm một luậ luật R. Giả Giải đáp: Ta có thể thể chứ chứng minh thêm các sự kiệ kiện hoặ hoặc CSTT sẽ dư thừ thừa
Giả Giải thí thích giả giả thiế thiết bổ sung sự kiệ kiện – –
Câu hỏi: Việ Việc gì sẽ xảy ra nếu thêm một sự kiệ kiện f. Giả Giải đáp: Sự kiệ kiện sẽ làm cho CSTT nhấ nhất quá quán hoặ hoặc làm cho cơ sở sự kiệ kiện già giàu lên. lên.
IT faculty – Vinh University
IV. IV. Tổ chứ chức cơ sở dữ liệ liệu mức vật lý z
Tổ chứ chức cho cơ sở sự kiệ kiện
Tªn
z
Gi¸ trÞ
Gi¶i thÝch
C©u hái Tiªn ®Ò
KÕt luËn
Trá1
Trá2
Tổ chứ chức cho cơ sở luậ luật
Tªn
Trá1
Trá2
Trá3
KiÓu
18