BÊN TRONG MỘT HỆ CƠ SỞ TRI THỨC 2 Hệ Cơsơ tri thức= Cơ sơ ûtri thức + Động cơ suy diễn Cấu trúc chung của một hệCSTT Cơ sở tri thức... Tổng quan quá trình xây dựng hệ CSTT 6 Một số bước
Trang 1BÊN TRONG MỘT HỆ
CƠ SỞ TRI THỨC
2
Hệ Cơsơ tri thức= Cơ sơ ûtri thức + Động cơ suy diễn
Cấu trúc chung của một hệCSTT
Cơ sở tri thức
Trang 2Tổng quan quá trình xây dựng hệ CSTT
6
Một số bước cơ bản để xây dựng hệ
Cơ sở tri thức
• Tiếp cận chuyên gia
• Thu thập, tổ chức tri thức
• Chọn lựa công cụ phát triển hệ CSTT
• Cài đặt hệ CSTT
Một số tiêu chuẩn phân loại các hệ
CSTT
• Tính đóng, mở, kết hợp
• Phương pháp biểu diễn tri thức
• Lĩnh vực ứng dụng
Hệ CSTTđóng
• được xây dựng với một số “tri thức lĩnh vực” ban đầu,và chỉ những tri thức đo ùma øthôi trong suốt quátrình hoạt động hay suốt thời gian sống của nó.
Trang 3Hệ CSTT mở
hệ cơ sở tri thức tiên tiến hơn, có khả năng bổ sung
tri thức trong quá trình hoạt động, khám phá
10
Hệ CSTT kết hợp
• Bao gồm sự kết hợp giữa hệ đóng và hệ mở,hệ kết hợp giữa CSTT va øCSDL,hệ kết hợp giữa he äCSTT này với một hệ CSTT khác, …
• Những hệ CSTT kết hợp thường phát triển mạnh dựa trên tri thức liên ngành
• Ví dụ: những hệ hỗ trợ ra quyết định trong đời sống,kinh tế và khoa học, những hệ chẩn đoán, dự báo
Một số hệ CSTT điển hình
• Hệ giải toán
• Hệ chẩn đoán y khoa MYCIN
• Hệ điều khiển tự động
• Hệ dự báo thời tiết
Ví dụ: Máy điều nhiệt
MÙA TRONG NĂM
NGÀY TRONG TUẦN
GIỜ TRONG NGÀY
MÁY ĐIỀU NHIỆT
NHIỆT ĐỘ THÍCH HỢP
Trang 4Thời gian Trước 9, Sau 17, Từ 9 -> 17
Sự khởi động Trong giờ làm việc, ngoài giờ làm việc
14
GIẢI PHÁP ĐIỀU NHIỆT
7 giải pháp điều nhiệt
-Đặt máy điều nhiệt là “14 o C”
- Đặt máy điều nhiệt là “15 o C”
- Đặt máy điều nhiệt là “16 o C”
- Đặt máy điều nhiệt là “18 o C”
- Đặt máy điều nhiệt là “20 o C”
- Đặt máy điều nhiệt là “24 o C”
- Đặt máy điều nhiệt là “27 o C”
CƠ SỞ TRI THỨC LUẬT DẪN (18 LUẬT)
Luật dẫn 2:
Thì Hôm nay là Cuối tuần
CƠ SỞ TRI THỨC LUẬT DẪN (18 LUẬT)
Trang 5Luật dẫn 3:
Nếu Hôm nay là Ngày làm việc
Và Thời gian giữa 9 giờ sáng và 5 giờ chiều
Thì Sự khởi động là ‘trong thời gian làm việc’
CƠ SỞ TRI THỨC LUẬT DẪN (18 LUẬT)
18
Luật dẫn 4:
Nếu Hôm nay là Ngày làm việc
Và Thời gian trước 9 giờ sáng
Thì Sự khởi động là ‘ngoài thời gian làm việc’
CƠ SỞ TRI THỨC LUẬT DẪN (18 LUẬT)
Luật dẫn 5:
Nếu Hôm nay là Ngày làm việc
Và Thời gian là sau 5 giờ chiều
Thì Sự khởi động là ‘ngoài thời gian làm việc’
CƠ SỞ TRI THỨC LUẬT DẪN (18 LUẬT)
Luật dẫn 6:
Thì Sự khởi động là ‘ngoài thời gian làm việc’
CƠ SỞ TRI THỨC LUẬT DẪN (18 LUẬT)
Trang 6CƠ SỞ TRI THỨC LUẬT DẪN (18 LUẬT)
Luật dẫn 9:
Thì Mùa là Mùa Đông
CƠ SỞ TRI THỨC LUẬT DẪN (18 LUẬT)
Luật dẫn 10:
CƠ SỞ TRI THỨC LUẬT DẪN (18 LUẬT)
Trang 7Luật dẫn 11:
Và Sự khởi động là ‘trong thời gian làm
việc’
Thì Cấu hình điều nhiệt là ’20 độ’
CƠ SỞ TRI THỨC LUẬT DẪN (18 LUẬT)
26
Luật dẫn 12:
Và Sự khởi động là ‘ngoài thời gian làm việc’
Thì Cấu hình điều nhiệt là ’15 độ’
CƠ SỞ TRI THỨC LUẬT DẪN (18 LUẬT)
Luật dẫn 13:
Và Sự khởi động là ‘trong thời gian làm việc’
Thì Cấu hình điều nhiệt là ’24 độ’
CƠ SỞ TRI THỨC LUẬT DẪN (18 LUẬT)
Luật dẫn 14:
Nếu Mùa là Mùa Hè
Và Sự khởi động là ‘ngoài thời gian làm việc’
Thì Cấu hình điều nhiệt là ’27 độ’
CƠ SỞ TRI THỨC LUẬT DẪN (18 LUẬT)
Trang 8Luật dẫn 15:
Và Sự khởi động là ‘trong thời gian làm việc’
Thì Cấu hình điều nhiệt là ’20 độ’
CƠ SỞ TRI THỨC LUẬT DẪN (18 LUẬT)
30
Luật dẫn 16:
Và Sự khởi động là ‘ngoài thời gian làm việc’
Thì Cấu hình điều nhiệt là’16 độ’
CƠ SỞ TRI THỨC LUẬT DẪN (18 LUẬT)
Luật dẫn 17:
Và Sự khởi động là ‘trong thời gian làm việc’
Thì Cấu hình điều nhiệt là ’18 độ’
CƠ SỞ TRI THỨC LUẬT DẪN (18 LUẬT)
Luật dẫn 18:
Và Sự khởi động là ‘ngoài thời gian làm việc’
Thì Cấu hình điều nhiệt là ’14 độ’
CƠ SỞ TRI THỨC LUẬT DẪN (18 LUẬT)
Trang 9Máy điều nhiệt = 18 o C
34
HỆ GIẢI TOÁN DỰA TRÊN TRI THỨC
Hệ giải toán=Tiên đề,định lý+Lập luậnlogic (toán học)
Yêu cầu
• Cho phép kiểm tra quá trình suy luận bao gồm việc thể hiện cụ thể các bước giải bài toán và trả lời hay giải thích cho quá trình giải.
• Cho phép việc hiệu chỉnh và cập nhật cơ sở tri
thức như thêm và loại bớt kiến thức trong cơ sở tri thức.
• Sử dụng các heuristic (thường không đầy đủ) trong việc suy luận giải bài toán nhằm đạt được các lời giải tốt.
Trang 10Cấu trúc của một hệ giải bài toán
dựa trên tri thức
38
Bảo đảm sự tách biệt giữa
cơ sở tri thức và bộ suy diễn
• Sẽ làm cho việc biểu diễn tri thức được thực hiện một cách tự nhiên hơn.
• Các nhà thiết kế hệ thống giải bài toán thông minh sẽ tập trung vào vệc nắm bắt và tổ chức cơ sở tri thức
• Sẽ tăng cường tính mô-đun hóa của phần cơ sở tri thức, bộ suy diễn và bộ phận cập nhật, hiệu chỉnh kiến thức
• Cho phép cùng một chiến lược điều khiển và giao tiếp có thể được sử dụng cho nhiều hệ thống khác nhau
• Giúp ta có thể thử nghiệm nhiều chiến lượt điều khiển khác nhau trên cùng một cơ sở tri thức
Cơ sở tri thức
• rất đa dạng
• bao gồm:
– các khái niệm từ đơn giản đến có cấu trúc phức
tạp
– các hệ thức tính toán với những qui luật nhất định
– các liên hệ đa dạng bao gồm cả định tính lẫn
định lượng
– các luật dẫn và các heuristics
Vấn đề Suy diễn Tự động
• Phương pháp hợp giải, luật “Modus Ponens”, luật “Modus Tollens” và luật “tam đoạn luận”
• Phương pháp suy diễn tiến
• Phương pháp suy diễn lùi
• Kết hợp suy diễn tiến và suy diễn lùi
Trang 11Một số kết quả nghiên cứu xây dựng
hệ giải toán hình học
• Chỉ xét một số luật suy diễn cụ thể trên các
quan hệ hình học và ứng với mỗi luật phải
viết riêng một thủ tục thi hành luật
• Chưa có một cơ sở tri thức có thể hiệu chỉnh
được và bộ suy diễn sẽ hoạt động dựa trên cơ
sở tri thức
• Chưa xem xét đến vấn đề tính toán
• Chưa có một ngôn ngữ qui ước cho việc đặc
tả các dạng bài toán
42
Một số phần mềm giải toán
• bộ phần mềm Engineering 2000
• Chương trình StudyWorks
• Chương trình Math Express
• Phần mềm toán học MAPLE
MẠNG SUY DIỄN-TÍNH TOÁN
Vấn đề
• Chúng ta phải thực hiện những tính toán hay suy diễn ra những yếu tố cần thiết nào đó từ một số yếu tố đã được biết trước
Trang 12Ví dú 1
• Moôt vaôt theơ coù khoâi löôïng m chuyeơn ñoông thaúng vôùi
gia toâc khođng thay ñoơi laø a trong moôt khoạng thôøi
gian tính töø thôøi ñieơm t1 ñeân thôøi ñieơm t2
• Vaôn toẫc ban ñaău cụa vaôt theơ laø v1, vaôn toâc ôû thôøi
ñieơm cuoâi laø v2, vaø vaôn toâc trung bình laø v
• Khoạng caùch giöõa ñieơm ñaău vaø ñieơm cuoâi laø Δs
• Löïc taùc ñoông cụa chuyeơn ñoông laø f
• Ñoô bieân thieđn vaôn toâc giöõa 2 thôøi ñieơm laø Δv
• Ñoô bieân thieđn thôøi gian laø Δt
• Trong hoùa hóc chuùng ta thöôøng phại söû dúng
caùc phạn öùng hoùa hóc ñeơ ñieău cheâ caùc chaât
naăy töø caùc chaât khaùc
Î Cho tröôùc moôt soâ chaât hoùa hóc, haõy tìm caùch
ñieău cheâ ra moôt hay moôt soâ chaât naøo ñoù
Trang 13Mạng suy diễn và tính toán
Mô hình mạng suy diễn và tính toán là một
sự khái quát cho một dạng tri thức dùng cho
việc biểu diễn tri thức và thiết kế các chương
trình giải toán tự động,
50
Định nghĩa
• Mỗi mạng tính toán là một mạng ngữ nghĩa
chứa các biến và những quan hệ có thể cài đặt và sử dụng được cho việc tính toá
Quan hệ
• Cho M = {x1,x2, ,xm} là một tập hợp các
biến có thể lấy giá trị trong các miền xác
định tương ứng D1,D2, ,Dm
• Đối với mỗi quan hệ R ⊆ D1xD2x xDm trên
các tập hợp D1,D2, ,Dm ta nói rằng quan hệ
nầy liên kết các biến x1,x2, ,xm
Trang 14Q uan hệ đối xứng có hạng k (k>0)
• tính được k biến bất kỳ từ m-k biến kia
54
Q uan hệ không đối xứng có hạng k (k>0)
Ví dụQuan hệ f giữa 3 góc A, B, C trong tam giác ABC cho bởi hệ
thức:
A+B+C = 180 (đơn vị: độ)
quan hệ đối xứng có hạng 1
• quan hệ f giữ a nửa chu vi p với các độ dài của 3 cạnh a, b, c:
Trang 15Mạng tính toán
• bao gồm một tập hợp các biến M và một tập
hợp các quan hệ (tính toán) F trên các biến
• Trong ví dụ 1 ở trên, ta có M(f) = {A,B,C}
• Trong ví dụ 2 ở trên, ta có M(f) = {a,b,c,p}
Ví dụ
• Mạng tính toán cho một hình chữ nhật
– b1, b2 : hai cạnh của hình chữ nhật;
– d : đường chéo của hình chữ nhật;
– s : diện tích của hình chữ nhật;
– p : chu vi của hình chữ nhật;
• có các quan hệ sau đây :
Trang 16Vấn đề trên mạng tính toán
• Cho một mạng tính toán (M,F)
– M là tập các biến
– F là tập các quan hệ
• Giả sử có một tập biến A ⊆ M đã được xác
định
• B là một tập biến bất kỳ trong M
62
Vấn đề trên mạng tính toán
• Có thể xác định được tập B từ tập A nhờ các quan hệ trong F hay không?
• Nếu có thể xác định được B từ A thì quá trình tính toán giá trị của các biến thuộc B như thế nào?
• Trong trường hợp không thể xác định được B, thì cần cho thêm điều kiện gì để có thể xác định được B
Vấn đề trên mạng tính toán
• Bài toán xác định B từ A trên mạng tính toán
(M,F) được viết dưới dạng : AỈB
Hoặc AỈb
Định nghĩa
• Bài toán A → B được gọi là giải được khi có
thể tính toán được giá trị các biến thuộc B xuất phát từ giả thiết A
• Ta nói rằng một dãy các quan hệ {f1, f2, ,
fk} ⊆ F là một lời giải của bài toán A → B
nếu như ta lần lượt áp dụng các quan hệ fi(i=1, ,k) xuất phát từ giả thiết A thì sẽ tính được các biến thuộc B
Trang 17Định nghĩa
• Lời giải tốt nếu không thể bỏ bớt một số
bước tính toán trong quá trình giải
• Lời giải tối ưu khi nó có số bước tính toán ít
• A là một tập con của M
• D là áp dụng được trên tập A khi và chỉ khi
ta có thể lần lượt áp dụng được các quan hệ
f1, f2, , fk xuất phát từ giả thiết A
Định nghĩa
• A0 = A, A1 = A0 ∪ M(f1), ,
• Ak = Ak-1 ∪ M(fk)
• ký hiệu Ak là D(A)
ỴA → D(A) : có D là lời giải
D(A) là sự mở rộng của tập A nhờ áp dụng
dãy quan hệ D
Thuật toán tính D(A) Nhập : Mạng tính toán (M,F),
A ⊆ M, dãy các quan hệ D = {f1, f2, , fm}.Xuất : D(A)
Trang 18Định nghĩa
• Bao đóng của A là sự mở rộng tối đa của A trên mô
hình (M,F) Ký hiệu:
• Bài toán A → B là giải được khi và chỉ khi các bài
toán A → b là giải được với mọi b ∈ B
• Nếu A → B và B → C là các bài toán giải được thì
bài toán A → C cũng giải được
• Nếu bài toán A → B là giải được và B’ là một tập
con của B thì A → B’ cũng là một bài toán giải
được
A
70
Định nghĩa
• bài toán A → B là giải được khi và chỉ khi B ⊆ A
Tìm bao đóng của tập A ⊆ M
Tìm một lời giải cho bài toán A → B
Nhập : Mạng tính toán (M,F),
tập giả thiết A ⊆ M,tập biến cần tính B ⊆ M
Xuất : lời giải cho bài toán A → B
Trang 191.Solution ← empty; // Solution là dãy các
quan hệ sẽ áp dụng
Solution_found ← false;
74
3 Repeat
Aold ← A;
Chọn ra một f ∈ F chưa xem xét;
while not Solution_found and (chọn được f) do
if B ⊆ A then Solution_found ← true;
Chọn ra một f ∈ F chưa xem xét;
end; { while } Until Solution_found or (A = Aold);
4.if not Solution_found then
Bài toán không có lời giải;
else
Solution là một lời giải
Tìm một lời giải tốt từ một lời giải đã biết
Nhập : Mạng suy diễn (M,F),
lời giải D={f1, f2, , fm} của bài toán A→ B Xuất : lời giải tốt cho bài toán A → B
Thuật toán :
1 D ← {f1, f2, , fm};
2 for i=m downto 1 do
if D \ {fi} là một lời giải then
D ← D \ {fi};
3 D là một lời giải tốt.
Trang 20Thuật toán kiểm tra lời giải cho bài toán
Nhập : Mạng suy diễn (M,F),
bài toán A→ B,
dãy các quan hệ {f1, f2, , fm}
Xuất : thông tin cho biết {f1, f2, , fm} có phải
là lời giải của bài toán A→ B hay không
• Cho tam giác ABC có cạnh a và 2 góc kề là
β, γ được cho trước
• Hãy xác định (hay suy ra) S của tam giác
Ví dụMạng suy diễn của tam giác
– M = {a, b, c, α, β, γ, ha, hb, hc, S, p, R, r, }
– Các quan hệ suy diễn :
Trang 21MẠNG SUY DIỄN CÓ TRỌNG SỐ VÀ
LỜI GIẢI TỐI ƯU
(1) a + b + c = 2*p, và (2) a2 = b2 + c2 - 2*b*c*cos(A)
Trang 22MẠNG SUY DIỄN CÓ TRỌNG SỐ VÀ
LỜI GIẢI TỐI ƯU
mạng suy diễn có trọng số là một mô hình (A,
D, w) bao gồm:
– một tập hợp các thuộc tính A,
– một tập hợp các luật suy diễn D, và
– một hàm trọng số dương w : D → R+
• Mỗi luật dẫn r thuộc D có dạng r : u ⇒ v
u và v là các tập hợp con khác rỗng và rời nhau của A
86
MẠNG SUY DIỄN CÓ TRỌNG SỐ VÀ
LỜI GIẢI TỐI ƯU
• r : u ⇒ v
• u: phần giả thiết của luật r - hypothesis(r)
• v : phần kết luận của luật r - goal(r)
• attr(r) = hypothesis(r) ∪ goal(r) : tập hợp các
thuộc tính trong luật r
+, -, * và / được đặt cho trọng số là 1
căn bậc 2 có trọng số là một hằng số dương c1 (c1>>1),
hàm lượng giác có trọng số là một hằng số dương c2(c2>>1)
Ví dụ
w(f1) = 2; w(f2) = w(f3) = w(f4) = 2*c2 + 2;w(f5) = 3; w(f6) = w(f7) = w(f8) = 2;
w(f9) = c1 + 6;
w(f10) = w(f11) = w(f12) = c2 + 1;
(A,D,w) là một mạng suy diễn có trọng số
Trang 23• (A, D, w) là một MSDT
• S = {f1, ,fk} là một dãy các luật suy diễn
• w(S) = w(f1) + w(f2) + + w(fk).
• Ta gọi w(S) là trọng số của S.
90
Lời giải tối ưu
• Cho một bài toán A → B Dãy các luật suy
diễn S được gọi là một lời giải tối ưu khi:
– S là một lời giải của bài toán A → B.
– w(S) = min {w(S’) | S’ là một lời giải của bài
toán A → B }
• Xét bài toán H → G trên một MSDT (A, D,
w), với H và G là các tập con của tập thuộc
tính A
• Thuật toán
– Bước 1: Tìm một lời giải
– Bước 2: Rút gọn lời giải
Bước 1: Tìm một lời giải
• Khi G ⊄ H ta thực hiện quá trình lặp cho các
bước dưới đây:
– Bước 1.1: Tìm luật r ∈ D có thể áp dụng được để
suy ra các thuộc tính mới: hypothesis(r) bao hàm trong H nhưng goal(r) không bào hàm trong H.
– Bước 1.2: Nếu việc tìm kiếm ở bước 1.1 thất bại:
bài toán không có lời giải.
– Bước 1.3: Ngược lại thì bổ sung thêm goal(r) vào
H và ghi nhận r vào danh sách các luật đã được
áp dụng.
Trang 24Tìm lời giải tối ưu
Không gian trạng thái của bài toán
• bài toán H → G trên một MSDT (A, D, w)
• r là một cạnh nối từ đỉnh H đến đỉnh H’ :
– r có thể áp dụng trên H
– H’ = H ∪ goal(r)
• trọng số của cạnh r (tức là một luật suy diễn)
là w(r)
ỴGraph(H→G)
• Một dãy S gồm các luật là một lời giải của
bài toán H → G khi và chỉ khi S là một lộ trình trên đồ thị Graph(H→G) nối từ H đến
S(H) và S(H) ⊃ G
• Độ dài của một lộ trình S trên đồ thị Graph(H→G) là w(S), trọng số của danh sách luật S trên MSDT (A, D, w)
• Đối với mỗi đỉnh N trên đồ thị:
h(N) = min {w(r) | hypothesis(r) ⊂ N}
Trang 25• Bước 1: Khởi tạo trạng thái xuất phát.
– Open ← {H}; // danh sách đỉnh mở ban đầu chỉ
có đỉnh xuất phát
– Close ← {}; // danh sách đỉnh đóng
– g(H) ← 0; // độ dài lộ trình đến H là 0
– f(H) ← h(H); // độ dài lộ trình ước tính từ H đến
mục tiêu là h(H)
– found ← false; // biến kiểm tra quá trình tìm
Begin
Duyệt qua các đỉnh kế S của N mà S ∉ Close,
ứng với mỗi S ta xét các trường hợp sau:
g(S) ← g(N) + w(r); f(S) ← g(S) + h(S);
Cập nhật thông tin về đỉnh kế trước của S trên lộ trình;
end End
End // Kết thúc vòng lặp while
Bước 3: Kiểm tra kết quả việc tìm kiếm.
If Found then Kết quả là tìm được lời giải
tối ưu và thiết lập lời giảiElse Kết quả là bài toán không có lời giải
Trang 26Tìm một sự thu gọn giả thiết của bài toán
• Nhập : Mạng suy diễn (A, D),
Bài toán H→ G giải được Xuất : tập giả thiết mới H’ ⊆ H tối tiểu
Trang 27MẠNG SUY DIỄN-TÍNH TOÁN
• Tập hợp A gồm các thuộc tính
• Tập hợp D gồm các luật suy diễn (hay các
quan hệ suy diễn) trên các thuộc tính
• Tập hợp F gồm các công thức tính toán hay
các thủ tục tính toán tương ứng với các luật
suy diễn (f: DỈF)
• Tập hợp R gồm một số qui tắc hay điều kiện
ràng buộc trên các thuộc tính
106
Ví dụ:
• Kiến thức về một tam giác có thể được biểu diễn bởi
một mạng suy diễn tính toán (A, D, F, R) :
– A = {A, B, C, a, b, c, R, S, p, }
– D = {r1: A, B ⇒ C; r2: A, C ⇒ B; r3: B, C ⇒ A;
r4: A, a ⇒ R; r5: A, R ⇒ a; r6: R, a ⇒ A; r7: A, b, c ⇒ a; }
– F = {f1: C = π-A-B; f2: B = π-A-C; f3: A = π-B-C;
f4: R = a/(2.sin(A)); f5: a = 2.R.sin(A); f6: A = arcsin(a/(2.R));
f7: a= b2+c2-2.b.c.cos(A); }
– R = {a+b > c; a+c > b; b+c > a; a > b ⇔ A > B; a = b ⇔
A = B; }