4.1. Tri thức là gì?
• Dữ liệu và Tri thức: là những dạng khác nhau
của thông tin nên khó phân biệt rạch ròi
Tri thức
Dữ liệu
Chương 4 Chương 4 Tri thức và suy diễn
tản mạn
- ký hiệu tượng trưng - - cấu trúc phức hợp
- số - có cấu trúc - cấu trúc đơn giản
Lê Thanh Hương Khoa CNTT ĐHBK HN Khoa CNTT - ĐHBK HN
- VD: Tây y: t0 390 - - mạch 75
- VD: Đông y: - hâm hấp sốt - mạch nhanh/chậm
Lê Thanh Hương – Khoa CNTT - ĐHBKHN
1
2
Phân loại tri thức
Phân loại tri thức
b. Tri thức thủ tục: how?
a. Tri thức mô tả: what? a Tri thức mô tả: what?
– về tình huống (GT + KL): sự kiện – về lĩnh vực: luật nếu … thì
– Modus Ponens – Modus Ponens – Modus Tollens Tri thức cũ về tình huống --------→ Tri thức mới về t/huống
Hiểu biết về lĩnh vực
Modus Ponens Modus Tollens
Lê Thanh Hương – Khoa CNTT - ĐHBKHN
Lê Thanh Hương – Khoa CNTT - ĐHBKHN
3
4
1
A, A →B A →B, ¬B B ¬A • Ví dụ: Trán rộng →Thông minh Bình: trán rộng ⇒ Bình thông minh
Ví dụ 1: Chứng minh bài toán hình học
Phân loại tri thức
GT, KL, hình vẽ + Định lý, tính chất
Áp dụng định lý đường trung bình vào tam giác ABC ta có
Nghĩ → SD tiến, lùi; Viết → SD tiến Nghĩ → SD tiến, lùi; Viết → SD tiến
• Mô tả? • Thủ tục? Điều khiển? • Điều khiển?
c. Tri thức điều khiển: heuristic c Tri thức điều khiển: heuristic
X
60
– Chọn hướng suy diễn: tiến, lùi, hỗn hợp – Chọn luật áp dụng: đảm bảo đủ, không
thừa, có cấu trúc, ngắn gọn
Cho X = 600, Y = 600. CM XY = XZ, XY = YZ Mô tả: • Sự kiện: Bnhau(XY,UV) Bang(X,Y) Banggoc(X,a) • Luật:
60
Z
Y
– Vẽ hình phụ
– Bnhau(XY,UV) ⇒ bnhau(UV,XY) – Bnhau(XY,UV) ⇒ bnhau(XY,VU) Bnhau(XY,UV) ⇒ bnhau(XY,VU) – Bang(Y,Z) ⇒ bnhau(XY,XZ) – Bnhau(XY,UV) ∧ bnhau(UV,ST) ⇒ bnhau(XY,ST) – ???
• Ban đầu: banggoc(X,60), banggoc(Y,60) • Đích: bnhau(XY,XZ), bnhau(XY,YZ)
Lê Thanh Hương – Khoa CNTT - ĐHBKHN
5
6
Lê Thanh Hương – Khoa CNTT - ĐHBKHN
Tom và Harry
Ví dụ 2
H
Tri thức mô tả:
Harry
)
)
∧
Hare(Harry) H (H ) Tortoise(Tom)
• Harry là 1 con thỏ thỏ là 1 • Tom là 1 con rùa • Thỏ chạy nhanh hơn rùa
Giả thiết dưới dạng phép And • Giả thiết dưới dạng phép And Hare Tortoise Tom ( (
Harry
)
Tortoise
Tom (
)
Outruns
(
Harry
,
Tom
)
∧
→
,
yHare
x )(
Tortoise
y )(
Outruns
yx ,(
)
x ∀
∧
→
• Luật Hare (
Outruns O t
( (
Harry H
,
Tom T
) )
• Harry chạy nhanh hơn Tom?
• Kết luận
Tri thức thủ tục?
7
8
Lê Thanh Hương – Khoa CNTT - ĐHBKHN
Lê Thanh Hương – Khoa CNTT - ĐHBKHN
2
Tri thức điều khiển?
Bản chất tri thức chuyên gia
Biểu diễn tri thức
Làm sao để chuyển tri thức từ chuyên gia con người vào máy (cid:198) kỹ sư xử lý tri thức
ử lý t i thứ
á (cid:198) kỹ
ời à
tin học
ch/gia đầu ngành lập trình viên
ε1 ∼ 0 giỏi
ksư xử lý tri thức
lĩnh vực chuyên môn giỏi ε2 ∼ 0 khá
khá
Có nhiều cách biểu diễn tri thức. Có nhiều cách biểu diễn tri thức. GT, KL → sự kiện → mệnh đề, vị từ → đỉnh R → luật → mệnh đề, vị từ, sản xuất → cung ngữ nghĩa
9
10
Lê Thanh Hương – Khoa CNTT - ĐHBKHN
Lê Thanh Hương – Khoa CNTT - ĐHBKHN
1. BDTT = logic 2. BDTT = luật sản xuất 3 3. BDTT = mạng ngữ nghĩa BDTT = mạng ngữ nghĩa 4. BDTT = frame 5. BDTT = bộ 3 Object – Attribute - Value
BDTT = logic
Ví dụ
BDTT = logic mệnh đề • BDTT = logic mệnh đề – Tri thức mô tả:
ẹp • Nếu trời đẹp thì đi chơi. p q • Nếu đi chơi và có tiền và có thời gian thì đi Hồ Tây.
– Tri thức thủ tục:
– Tri thức điều khiển: tiến, lùi
11
12
Lê Thanh Hương – Khoa CNTT - ĐHBKHN
Lê Thanh Hương – Khoa CNTT - ĐHBKHN
3
• Các mệnh đề p, q, r, … • Các luật suy diễn (đưa về dạng chuẩn Horn) q s t u • Nếu đi Hồ Tây và có tiền và có thời gian thì đi Nhật Tân. u s t v p1 ∧ p2 ∧ … ∧ pn ⇒ q ụ • Nếu đi Nhật Tân thì mời Lâm. • Nếu đi Nhật Tân thì mời Lâm v w • modus ponens: {A, A →B} → {A,B} • modus tollens: {A →B, ¬B} → {¬A, ¬B} • Nếu mời Lâm thì mời bạn Lâm. w x
BDTT = luật sản xuất
BDTT = mạng ngữ nghĩa
Mạng ngữ nghĩa là một đồ thị định hướng • Mạng ngữ nghĩa là một đồ thị định hướng G=(N,A), trong đó – N - tập các đối tượng, các sự kiện hay các khái
• VD: Giải bài toán lượng giác: cho biết a,b,ma.
Tìm hc
– one → một – one → người ta – one → cái
13
14
Lê Thanh Hương – Khoa CNTT - ĐHBKHN
Lê Thanh Hương – Khoa CNTT - ĐHBKHN
Các luật sản xuất có dạng: • Nếu điều kiện 1 . . . . . và điều kiện m • thì kết luận 1 và … và kết luận n niệm cụ thể (đỉnh) – A - tập các mối liên hệ giữa các cặp đối tượng, sự • Trong logic mệnh đề hay vị từ, đk1…đkm, kl1…kln là những biểu thức logic, còn cặp nếu…thì thì ⇔ dấu → {(x,y) | x,y ∈ N} • Trong nguyên tắc dịch kiện hay khái niệm (cung) – A = {(x,y) | x,y ∈ N} = ∪ {(x,y) | x Ri y} ∪ {(x,y) | x Ri y} A Ri là 1 quan hệ nào đó trên tập N
BDTT = frame
• Là 1 dẫn xuất của BDTT = mạng ngữ nghĩa, là cơ sở
BDTT = bộ 3 Object – Attribute - Value
• VD: • VD:
⇔ mạng ngữ nghĩa
của phương pháp xử lý thông tin kiểu hướng đối tượng • Phương pháp BDTT = logic và mạng ngữ nghĩa mang • Phương pháp BDTT = logic và mạng ngữ nghĩa mang đặc trưng mô tả
– (bồ câu, là, chim) – (bồ câu, biết, ăn) – (bồ câu, biết, bay)
• Phương pháp BDTT = luật sản xuất : thủ tục • Phương pháp BDTT = frame kết hợp mô tả và thủ tục
• Hạn chế: chỉ thể hiện được những quan hệ “=“, khó khăn khi biểu diễn ≥, ≤, …
VD: …
15
16
Lê Thanh Hương – Khoa CNTT - ĐHBKHN
Lê Thanh Hương – Khoa CNTT - ĐHBKHN
4
mạng ngữ nghĩa ngữ nghĩa frame (tri thức hướng đối tượng) hướng đối tượng) đỉnh đối tượng (object) thực thể cung phân cấp (hierachy) quan hệ
Các phương pháp chứng minh
Kỹ thuật CM
Suy diễn
Chứng minh sử dụng phương pháp tìm kiếm • Chứng minh sử dụng phương pháp tìm kiếm
• Hợp giải (kỹ thuật chứng minh)
BT = GT + KL GT → KL
BT = GT + KL GT → KL
• Suy diễn
CM CM
GT + ¬KL → ><
R R GT + R → KL
17
18
Lê Thanh Hương – Khoa CNTT - ĐHBKHN
Lê Thanh Hương – Khoa CNTT - ĐHBKHN
– Sinh các câu mới từ các câu cũ – Chứng minh = áp dụng các luật suy diễn. Có thể h á t á tử t l ật diễ sử dụng luật suy diễn như các toán tử trong ử d phương pháp tìm kiếm chuẩn – Thường đòi hỏi chuyển các câu sang dạng chuẩn Horn
Suy diễn
Suy diễn đối với logic mệnh đề
• Dạng chuẩn Horn
Bài toán: Cho 1 CSTT R {r1, …, rn}, Bài toán: Cho 1 CSTT R={r1 r } ri là luật, ri có dạng p1∧…∧pm→q
CSTT = tập các câu ở dạng chuẩn Horn Câ H – Câu Horn =
Ngữ nghĩa:
{ 1,
• Cho biết GT={f1,…,fu} , u} • Cần CM KL={q1,…,qv} đúng • Ta nói
GT
KL
* a R
• các ký hiệu mệnh đề • biểu thức kết hợp các ký hiệu ⇒ ký hiệu – Ví dụ C ∧ (B ⇒ A) ∧ (C ∧ D ⇒ B) – Nếu p1 đúng và … và pm đúng – thì q đúng • Modus Ponens (cho dạng chuẩn Horn): α1, … ,αn, α1 ∧ … ∧ αn ⇒ β β β
19
20
Lê Thanh Hương – Khoa CNTT - ĐHBKHN
Lê Thanh Hương – Khoa CNTT - ĐHBKHN
5
• Có thể dùng cho suy diễn tiến và suy diễn lùi • Các thuật toán này có độ phức tạp tuyến tính.
Suy diễn đối với logic mệnh đề
Suy diễn
Phương pháp suy diễn: Modus Ponens:
Định nghĩa: Giả sử xét tập trung gian các sự kiện: Nếu r: p1∧…∧pm→q và p1,…,pm ∈ Tgian
thì Tgian Tgian ∪ {q} ra
1
2
r i
GT
KL
GT
TG
TG
KL
⇔
⊇
2
j
r i TG aa 1
r ij ... aa
* a R
A, A→B B Modus Tollens: A→B, ¬B ¬A
Nxét: quá trình SD là đơn điệu GT ⊆ TG1 ⊆ TG2 ⊆ … ⊆ TGj
GT
• Suy diễn tiến: Xuất phát từ các mệnh đề/vị từ đã cho ban đầu, sử dụng các luật cho đến khi đưa ra kết luận mong muốn
KL
21
22
Lê Thanh Hương – Khoa CNTT - ĐHBKHN
Lê Thanh Hương – Khoa CNTT - ĐHBKHN
• Suy diễn lùi: Xuất phát từ các kết luận mong muốn, xem những luật có khả năng suy ra chúng thêm các xem những luật có khả năng suy ra chúng, thêm các tiền đề vào d/s các KL cần CM và cứ như vậy tiếp tục đến khi d/s KL cần CM rỗng.
Suy diễn tiến
Ví dụ
Ý tưởng: • áp dụng các luật có vế trái nằm trong CSTT • bổ sung vế phải của các luật áp dụng vào CSTT
đến khi tìm thấy kết luận
6. a,B →hc 7. A,B →C 8. B,C →A 9. A,C →B 9 A C →B
VD1. Cho GT = {a,b,ma}. Tìm KL ={hc} VD1 Cho GT = {a b m } Tìm KL ={h } 1. a,b,ma →c 2. a,b,c → A 3. b,A → hc 4 a b c → B 4. a,b,c → B 5. a,b,c →C
23
24
Lê Thanh Hương – Khoa CNTT - ĐHBKHN
Lê Thanh Hương – Khoa CNTT - ĐHBKHN
6
Thuật toán
Bài tập tại lớp
So sánh stack và queue
Vào: • Tập các mệnh đề/vị từ đã cho (ở dạng chuẩn • Tập các mệnh đề/vị từ đã cho (ở dạng chuẩn
Horn)
• Tập các luật RULE dạng p→q • Tập các mệnh đề/vị từ kết luận KL Ra: • Thông báo Thành công nếu KL có thể suy • Thông báo “Thành công” nếu KL có thể suy
ra từ GT
PP: /*Tgian là tập các mệnh đề/vị từ đúng cho
BT1. Cho GT={a }, KL={u} BT1 Cho GT={a } KL={u} 1. 2. 3. 4. a→ b b → c c → d a → u
đến thời điểm đang xét*/
25
26
Lê Thanh Hương – Khoa CNTT - ĐHBKHN
Lê Thanh Hương – Khoa CNTT - ĐHBKHN
BT2. GT={a}, KL={u} BT2 GT={a} KL={u} 1. a → b 2. d → c 3. c → u 4. a → m 5. b → n 5. b → n 6. m → p 7. p → q 8. q → u
Thuật toán
Suy diễn lùi
{1 Tgian = GT;
Thoa = Loc(Tgian,R); while Thoa <>0 and KL∉Tgian do r ← get(Thoa); /* r: left → q */ {2 R = R \ {r}; Vet = Vet ∪ {r}; Tgian = Tgian ∪ {q}; Thoa = Loc(Tgian,R)
6. a,B→ hc B h 6 7. b,A → hc 8. c,S → hc 9. a,b,c → S 1’. ha,c → B
VD: 1. A,C → B B 1 A C 2. a,b,ma →c 3. a,b,c → A 4. a,b,c → B 5. a,b,c → C GT={a,b,ma}; KL={hc}
}2 if KL ⊆ Tgian then exit(“Thành công”) else exit(“Không thành công”)
}1
27
28
Lê Thanh Hương – Khoa CNTT - ĐHBKHN
Lê Thanh Hương – Khoa CNTT - ĐHBKHN
7
Suy diễn lùi
Suy diễn lùi
ự ệ
ập
Ý tưởng: suy diễn lùi từ kết luận KL • • •
Đầu: • Goal = tập các sự kiện cần CM=KL • Goal = {f| f cần CM cho đến thời điểm
•
hiện tại}
Tránh lặp vô tận: – –
kiểm tra xem KL đã được biết chưa, nếu không chứng minh bằng quay lui sử dụng các luật dẫn đến q chứng minh bằng quay lui sử dụng các luật dẫn đến q
• Vet ={(f,j)| để CM f thì dùng luật j: leftj→f} • Cờ Back = true khi quay lui
false không quay lui
•
Tránh lặp lại công việc: kiểm tra xem KL mới – –
lưu trữ các đích đã được chứng minh trước khi chứng minh kiểm tra xem đích cần chứng minh đã có trong goal stack chưa?
29
30
Lê Thanh Hương – Khoa CNTT - ĐHBKHN
Lê Thanh Hương – Khoa CNTT - ĐHBKHN
đã ở trong tập đã được chứng minh chưa đã làm nhưng thất bại chưa
f ← lấy từ GOAL
s
đ
đ
goal = 0?
OK
Suy diễn lùi
f ∈ GT s
Tìm rj: leftj → f
1. Quá trình SD lùi tương tự quá trình
g ự q
đ
not OK
Tìm được
Vet = Vet ∪{(f,j)} Goal = Goal ∪ leftj\GT
đ
s
Q tìm cây/đồ thị lời giải trong đồ thị V/H 2. Để tăng hiệu quả của thủ tục SDL, có
s
f ∈KL?
đối với f thử dùng rj
(g,k) ← Vet: Tìm (g,k) ∈ VET rk: leftk → g; f ∈ leftk
thể đưa vào 2 tập: – Tập Đúng chứa các sự kiện đã được khẳng định là đúng (đã xác định) khẳ (đã á đị h)
đị h là đú
– Tập Sai chứa các sự kiện đã được khẳng
Tìm luật (g,l), l>k
định là sai (không thể xác định)
s
đ
Tìm được
f = g
32
Lê Thanh Hương – Khoa CNTT - ĐHBKHN
Goal = Goal\leftk Goal = Goal ∪ leftl\GT Vet = Vet ∪{(g,l)} 31
8
So sánh SD tiến và SD lùi
Bài tập tại lớp
BT1. Cho GT {a,b,ma}, BT1. Cho GT={a,b,ma},
• SD tiến hướng dữ liệu, tự động, không định hướng. Ví dụ, nhận dạng đối tượng, xác định hướng. Ví dụ, nhận dạng đối tượng, xác định hành trình
• Có thể làm rất nhiều việc không liên quan
đến KL
• SD lùi hướng KL, thích hợp cho các bài toán giải quyết vấn đề Ví dụ tìm chìa khoá lập giải quyết vấn đề. Ví dụ, tìm chìa khoá, lập kế hoạch thi TOEFL
• Độ phức tạo của SD lùi thường nhỏ hơn rất
KL={hc} 1. a,b,ma → c 2. a,b,C → s 3. a,s → ha 4. b,s → hb 5 c s 5. c,s → hc h 6. a,B → hc 7. a,b,c → B
nhiều so với kích thước của CSTT.
33
34
Lê Thanh Hương – Khoa CNTT - ĐHBKHN
BT2. GT={a}, KL={u} BT2 GT={a} KL={u} 1. a → b 2. d → c 3. c → u 4. a → m 5. b → n 6. m → p 7. p → q 8. q → u
Suy diễn đối với logic vị từ
B
I
A
GT AI=IB, BJ=JC, CK=KD, DL=LA
J
L
KL IJKL là hình bình hành
VD1: Xét bài toán chứng minh hình học VD1: Xét bài toán chứng minh hình học
Suy diễn đối với logic vị từ trd(U,XY) (cid:198) trd(U,YX) 1. trd(U,XY), trd(V,XZ) (cid:198) ss(UV,YZ) trd(U XY) trd(V XZ) (cid:198) ss(UV YZ) 2. 2 3. ss(XY,UV), ss(UV,ST)(cid:198) ss(XY,ST) 4. ss(XY,VU), ss(XV,YU) (cid:198) hbh(XYUV) 5. ss(XY,UV) (cid:198) ss(XY,VU) 6. ss(XY,UV) (cid:198) ss(UV,XY)
D D
C
K
35
36
9
GT: trd(I,AB), trd(J,BC), trd(K,CD), trd(L,DA) KL: hbh(IJKL)
1. 2. 3. 4. 5. 6. 7. 8 8. 9. •
Fred là con chó giống Collie. Sam là chủ của nó. Hôm nay là thứ bảy. Thứ bảy trời lạnh. Fred là con chó được huấn luyện. Chó spaniel và (chó collie được huấn luyện) là chó tốt. Nếu một con chó tốt và có ông chủ thì nó sẽ đi cùng ông chủ. Nếu thứ bảy và ấm thì Sam ở công viên Nếu thứ bảy và ấm thì Sam ở công viên. Nếu thứ bảy và không ấm thì Sam ở viện bảo tàng. Hỏi fred ở đâu? ∃X loc(fred,X)
1. 2. 3. 4. 5. 6. 7. 8. 9.
collie(Fred). owner(Sam, Fred). day(sat). cold(sat). trained(Fred). spaniel(X) ∨ (collie(X) ∧ trained(X)) (cid:198) gooddog(X). gooddog(X) ∧ owner(Y,X) ∧ loc(Y,Z)(cid:198) loc(X,Z). day(sat) ∧ ¬cold(sat) (cid:198) loc(Sam, park). day(sat) ∧ cold(sat) (cid:198) loc(Sam,museum).
37
Lê Thanh Hương – Khoa CNTT - ĐHBKHN
10