2.2 Mạng tính toán Mạng tính toán là một dạng biểu diễn tri thức có thể dùng biểu diễn các tri thức về các vấn đề tính toán và được áp dụng một cách có hiệu quả để giải một số dạng bài t
Trang 1Báo cáo môn học
BIỄU DIỄN TRI THỨC VÀ
Thành Phố Hồ Chí Minh 12/2012
Trang 2I MỘT SỐ KHÁI NIỆM: 1
1.1 Tri thức: 1
1.2 Cơ sở tri thức và hệ cơ sở tri thức: 2
1.3 Chuyên gia (Expert): 3
1.4 Hệ chuyên gia: 3
II PHƯƠNG THỨC BIỄN DIỄN MẠNG TÍNH TOÁN: 4
2.1 Đặt vấn đề 4
2.2 Mạng tính toán 4
2.2.1 Các quan hệ 4
2.2.1 Các quan hệ 4
2.2.2 Mạng tính toán và các ký hiệu: 5
2.2.2 Mạng tính toán và các ký hiệu: 5
2.3 Bài toán trên mạng tính toán 5
2.3.1 Định nghĩa 2.3.1: 6
2.3.2 Định nghĩa 2.3.2 : 6
2.4 Giải quyết bài toán 7
2.4.1 Tính giải được của bài toán: 7
2.4.1 Tính giải được của bài toán: 7
2.4.2 Lời giải của bài toán: 8
2.4.2 Lời giải của bài toán: 8
2.5 Định lý về sự phân tích quá trình giải : 11
2.6 Ưu điểm & khuyết điểm của mạng suy diễn tính toán 12
2.6.1 Ưu điểm: 12
2.6.1 Ưu điểm: 12
2.6.2 Khuyết điểm 13
2.6.2 Khuyết điểm 13
2.7 Ví dụ minh họa: 13
III MẠNG CÁC ĐỐI TƯỢNG TÍNH TOÁN (MÔ HÌNH COKB) 15
3.1 Mô hình cho một đối tượng tính toán (C-Object) 15
3.1.1 Tập hợp C các khái niệm về các C Object 15
3.1.1 Tập hợp C các khái niệm về các C Object 15
3.1.2 Tập hợp H (các quan hệ phân cấp giữa các đối tượng) 15
3.1.2 Tập hợp H (các quan hệ phân cấp giữa các đối tượng) 15
3.1.3 Tập hợp R các khái niệm về các loại quan hệ trên các C-Object 16
3.1.3 Tập hợp R các khái niệm về các loại quan hệ trên các C-Object 16
3.1.4 Tập hợp Opts các toán tử 16
Trang 33.1.5 Tập hợp Funcs các hàm 16
3.1.6 Tập hợp Rules các luật 16
3.1.6 Tập hợp Rules các luật 16
3.2 Các sự kiện trong đối tượng thuộc C 17
3.3 Tổ chức cơ sở tri thức 17
3.4 Mô hình bài toán và các thuật giải 19
3.4.1 Thuật giải giải quyết vấn đề 1 19
3.4.1 Thuật giải giải quyết vấn đề 1 19
3.4.2 Giải quyết vấn đề cơ bản 2 21
3.4.2 Giải quyết vấn đề cơ bản 2 21
3.4.3 Giải quyết vấn đề cơ bản 3 23
3.4.3 Giải quyết vấn đề cơ bản 3 23
3.4.4 Giải quyết vấn đề cơ bản 4 24
3.4.4 Giải quyết vấn đề cơ bản 4 24
3.5 Ưu và khuyết điểm của mạng các đối tượng tính toán COKB 25
TÀI LIỆU THAM KHẢO 27
TÀI LIỆU THAM KHẢO 27
Trang 4I MỘT SỐ KHÁI NIỆM:
1.1 Tri thức:
Tri thức là sự hiểu biết bằng lý thuyết hay thực tế về một chủ đề hay lĩnh vực.Tri thức là tổng của những cái đang biết hiện nay; tri thức là sức mạnh Những người
có tri thức tốt là những chuyên gia (expert)
Tri thức là một khái niệm trừu tượng Chúng ta không cố gắng đưa ra mộtđịnh nghĩa chính xác ở đây mà muốn so sánh nó với hai khái niệm có liên quan là
thông tin và dữ liệu Karan Sing đã phát biểu:”Chúng ta ngập chìm trong thông
biển thông tin nhưng lại khát tri thức”.
Trong ngữ cảnh của khoa học máy tính “dữ liệu là nguyên liệu thô để xửlý” là các con số, chữ cái, hình ảnh, âm thanh… Thông tin là tất cả những gì conngười có thể cảm nhận qua các giác quan (chính xác, xem khái niệm Entropy là độ
đo thông thông tin, đọ đo về các tin tức mới đối vói một người nào đó) Nếu so về sốlượng: dữ liệu nhiều hơn thông tin; thông tin nhiều hơn tri thức Chúng ta có thể mô
tả chúng theo dạng hình chóp
Người ta thường phân loại tri thức thành các dạng sau:
Tri thức thủ tục: Tri thức thủ tục là tri thức mô tả cách giải quyết một vấn đề,
quy trình xử lý các công việc, lịch trình tiến hành các thao tác … Các dạng của tri thứcthủ tục thường dùng là các luật, chiến lược, lịch trình
Ví dụ: IF xe máy không khởi động được
THEN đầu tiên kiểm tra bugi
Tri thức khai báo cho biết một vấn đề được thấy như thế nào Loại tri thức
này bao gồm các phát biểu đơn giản, dưới dạng các khẳng định logic đúnghoặc sai Tri thức khai báo cũng có thề là một danh sách các khẳng định nhằm mô
tả đầy đủ hơn về đối tượng hay một khái niệm khái niệm nào đó
Siêu tri thức mô tả tri thức về tri thức Loại tri thức này giúp lựa chọn tri
thức thích hợp nhất trong
số các tri thức khi giải quyết một vấn đề Các chuyên gia sử dụng tri thức này
để điều chỉnh hiệu quả giải quyết vấn đề bằng cách hướng các lập luận về miền tri
Trang 5thức có khả năng hơn cả.
Tri thức heuristic mô tả các "mẹo" để dẫn dắt tiến trình lập luận Tri
thức heuristic còn được gọi là tri thức nông cạn do không bảm đảm hoàn toàn
chính xác về kết quả giải quyết vấn đề Các chuyên thường dùng các tri thứckhoa học như sự kiện, luật, … sau đó chuyển chúng thành các tri thức heuristic
để thuận tiện hơn trong việc giải quyết một số bài toán
Tri thức có cấu trúc mô tả tri thức theo cấu trúc Loại tri thức này mô tả mô hình
tổng quan hệ thống theo quan điểm của chuyên gia, bao gồm khái niệm, kháiniệm con, và các đối tượng; diễn tả chức năng và mối liên hệ giữa các tri thức dựatheo cấu trúc xác định
1.2 Cơ sở tri thức và hệ cơ sở tri thức:
So với chương trình truyền thống (được cấu tạo từ hai “chất liệu” cơ bản là
dữ liệu và thuật toán), chương trình trí tuệ nhân tạo được cấu tạo từ hai thành phần
là cơ sở tri thức (knowledge base) và động cơ suy diễn (inference engine).
Cơ sở tri thức là tập hợp các tri thức liên quan đến vấn đề mà chương trình
quan tâm giải quyết Cơ sở tri thức chứa các kiến thức được sử dụng để giải quyếtcác vấn đề (bài toán) trong trí tuệ nhân tao
Trong hệ cơ sở tri thức chứa hai chức năng tách biệt nhau, trường hợp đơn
gian gồm hai khối: khối tri thức hay còn gọi là cơ sở tri thức; khối điều khiển haycòn gọi là đông cơ suy diễn Với các hệ thống phức tạp, bản thân động cơ suy diễncũng có thể là một hệ cơ sở tri thức chứa các siêu tri thức (tri thức về các tri thức).Hình dưới đây mô tả cấu trúc chương trình truyền thống
(bên trái) và cấu trúc chương trình trí tuệ nhân tạo (bên phải)
Trang 6DỮ LIỆU DỮ LIỆU CƠ SỞ TRI THỨC
THUẬT ĐỘNG CƠ
TOÁN SUY DIỄN
Con người sống trong môi trường có thể nhận thức được thế giới nhờ các giácquan (tai, mắt và các giác quan khác), sử dụng các tri thức tích luỹ được và nhờ khảnăng lập luận, suy diễn, con người có thể đưa ra các hành động hợp lý cho công việc
mà con người đang làm Một mục tiêu của Trí tuệ nhân tạo ứng dụng là thiết kế các
Agent thông minh (intelligent agent) cũng có khả năng đó như con người Chúng ta
có thể hiểu Agent thông minh là bất cứ cái gì có thể nhận thức được môi trường thông
qua các bộ cảm nhận (sensors) và đưa ra hành động hợp lý đáp ứng lại môi trường thông qua bộ phận hành động (effectors) Các robots, các softbot (software
robot), các hệ chuyên gia, là các ví dụ về Agent thông minh Các Agent thông minhcần phải có tri thức về thế giới hiện thực mới có thể đưa ra các quyết định đúng đắn
1.3 Chuyên gia (Expert):
Chuyên gia là là người có đầy đủ kỹ năng, kiến thức sâu (cả về luật và các sựkiện) về một lĩnh vực nào đó; người có thể làm những việc mà người khác ít khả nănglàm được
1.4 Hệ chuyên gia:
Hệ chuyên gia (đơn giản) là chương trình máy tính có thể thực hiện các côngviệc, vấn đề trong thuộc lĩnh vực hẹp ở mức tương tự như mộ người chuyên gia Hầuhết các hệ chuyên gia là các hệ dựa luật Hiện nay một số các hệ chuyên gia thànhcông trong các lĩnh vữ: bán hàng, kỹ nghệ , y học và địa chỉ (tìm kiếm mỏ), các hệđiện lực và khai mỏ
Trang 7II PHƯƠNG THỨC BIỄN DIỄN MẠNG TÍNH TOÁN:
2.1 Đặt vấn đề
Trong nhiều lĩnh vực chúng ta thường gặp những vấn đề đặt ra dưới dạng nhưsau : 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ếtnào đó từ một số yếu tố đã được biết trước Để giải quyết vấn đề người ta phải vậndụng một số hiểu biết (tri thức) nào đó về những liên hệ giữa các yếu tố đang đượcxem xét Những liên hệ cho phép ta có thể suy ra được một số yếu tố từ giả thiết đãbiết một số yếu tố khác
Trong phần này, chúng ta sẽ tập trung tìm hiểu mô hình biểu diễn và xử lý trithức gọi là “Mạng tính toán”
2.2 Mạng tính toán
Mạng tính toán là một dạng biểu diễn tri thức có thể dùng biểu diễn các tri thức
về các vấn đề tính toán và được áp dụng một cách có hiệu quả để giải một số dạng bài
toán 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án Chúng ta xét một mạng tính toán gồm
một tập hợp các biến cùng với một tập các quan hệ (chẳng hạn các công thức) tính toángiữa các biến Trong ứng dụng cụ thể mỗi biến và giá trị của nó thường gắn liền vớimột khái niệm cụ thể về sự vật, mỗi quan hệ thể hiện một sự tri thức về sự vật
2.2.1 Các 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ềnxác định tương ứng D1,D2, ,Dm Đối với mỗi quan hệ R ⊆ D1xD2x xDm trên các tậphợp D1,D2, ,Dm ta nói rằng quan hệ nầy liên kết các biến x1,x2, ,xm, và ký hiệu làR(x1,x2, ,xm) hay vắn tắt là R(x) (ký hiệu x dùng để chỉ bộ biến < x1,x2, ,xm >) Ta cóthể thấy rằng quan hệ R(x) có thể được biểu diễn bởi một ánh xạ fR,u,v với u ∪ v = x, và
ta viết : fR,u,v : u → v, hay vắn tắt là f : u → v
Đối với các quan hệ dùng cho việc tính toán, cách ký hiệu trên bao hàm ý nghĩanhư là một hàm: ta có thể tính được giá trị của các biến thuộc v khi biết được giá trịcủa các biến thuộc u
Trang 8Trong phần sau ta xét các quan hệ xác định bởi các hàm có dạng f : u → v,trong đó u ∩ v = ∅ (tập rỗng) Đặc biệt là các quan hệ đối xứng có hạng (rank) bằng
một số nguyên dương k Đó là các quan hệ mà ta có thể tính được k biến bất kỳ từ m-kbiến kia (ở đây x là bộ gồm m biến < x1,x2, ,xm >) Ngoài ra, trong trường hợp cần nói
rõ ta viết u(f) thay cho u, v(f) thay cho v Đối với các quan hệ không phải là đối xứng
có hạng k, không làm mất tính tổng quát, ta có thể giả sử quan hệ xác định duy nhấtmột hàm f với tập biến vào là u(f) và tập biến ra là v(f); ta gọi loại quan hệ nầy là quan
hệ không đối xứng xác định một hàm, hay gọi vắn tắt là quan hệ không đối xứng.
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ị: độ)
2.2.2 Mạng tính toán và các ký hiệu:
Như đã nói ở trên, ta sẽ xem xét các mạng tính toán bao gồm một tập hợp cácbiế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 trường hợp tổngquát có thể viết:
M = {x1,x2, ,xn},
F = {f1,f2, ,fm}.Đối với mỗi f ∈ F, ta ký hiệu M(f) là tập các biến có liên hệ trong quan hệ f Dĩ nhiênM(f) là một tập con của M: M(f) ⊆ M Nếu viết f dưới dạng:
f : u(f) → v(f)thì ta có M(f) = u(f) ∪ v(f)
2.3 Bài toán trên mạng tính toán.
Trang 9Cho một mạng tính toán (M,F), M là tập các biến và F là tập các quan hệ Giả sử
có một tập biến A ⊆ M đã được xác định và B là một tập biến bất kỳ trong M
Các vấn đề đặt ra là:
Có thể xác định được tập B từ tập A nhờ các quan hệ trong F hay không? Nóicách khác, ta có thể tính được giá trị của các biến thuộc B với giả thiết đã biết giá trịcủa các biến thuộc A 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ếnthuộ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
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,trong đó A được gọi là giả thiết, B được gọi là mục tiêu tính toán của bài toán
2.3.1 Định nghĩa 2.3.1:
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 Lời giải {f1, f2, , fk} được
gọi là 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, tức
là không thể bỏ bớt một số quan hệ trong lời giải
Việc tìm lời giải cho bài toán là việc tìm ra một dãy quan hệ để có thể áp dụngsuy ra được B từ A Điều nầy cũng có nghĩa là tìm ra được một quá trình tính toán đểgiải bài toán
2.3.2 Định nghĩa 2.3.2 :
Cho D = {f1, f2, , fk} là một dãy quan hệ của mạng tính toán (M,F), A là một
tập con của M Ta nói dãy quan hệ 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ận xét : Trong định nghĩa trên, nếu đặt : A0 = A, A1 = A0∪ M(f1), , Ak =
Ak-1∪ M(fk), và ký hiệu Ak là D(A), thì ta có D là một lời giải của bài toán A → D(A)
Trang 10Trong trường hợp D là một dãy quan hệ bất kỳ (không nhất thiết là áp dụng được trênA), ta vẫn ký hiệu D(A) là tập biến đạt được khi lần lượt áp dụng các quan hệ trongdãy D (nếu được) Chúng ta có thể nói rằng D(A) là sự mở rộng của tập A nhờ áp dụngdãy quan hệ D
2.4 Giải quyết bài toán
2.4.1 Tính giải được của bài toán:
Trong mục nầy chúng ta nêu lên một khái niệm có liên quan đến tính giải đượccủa vấn đề trên một mạng tính toán : bao đóng của một tập hợp biến trên một mạngtính toán
Định nghĩa 2.4.1.1: Cho mạng tính toán (M,F), và A là một tập con của M Ta
có thể thấy rằng có duy nhất một tập hợp B lớn nhất ⊆ M sao cho bài toán A → B là
giải được, và tập hợp B nầy được gọi là bao đóng của A trên mô hình (M,F) Một cách
trực quan, có thể nói 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 bao đóng của A là A, chúng ta có định lý sau đây:
Định lý 2.4.1.2: Trên một mạng tính toán (M,F), bài toán A → B là giải đượckhi và chỉ khi B ⊆A
Từ định lý nầy, ta có thể kiểm tra tính giải được của bài toán A → B bằng cáchtính bao đóng của tập A rồi xét xem B có bao hàm trong A hay không
Định lý 2.4.1.3: Cho một mạng tính toán (M,F), A, B là hai tập con của M Ta
có các điều sau đây là tương đương:
(1) B ⊆A
(2) Có một dãy quan hệ D = {f1, f2, , fk}⊆ F thỏa các điều kiện :
(a) D áp được trên A
(b) D(A) ⊇ B
Chứng minh : Giả sử có (1), tức là B ⊆ A Khi đó bài toán A → B là giải được
Do đó có một dãy quan hệ {f1, f2, , fk} ⊆ F sao cho khi 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 Dễ dàng thấyrằng dãy {f1, f2, , fk} nầy thỏa các điều kiện (2)
Trang 11Đảo lại, giả sử có (2) Với các điều kiện có được bởi (2) ta thấy {fi} là lời giảicủa vấn đề Ai-1→ Ai, với mọi i = 1,2, , k Từ mệnh đề 3.2 suy ra bài toán A0→ Ak làgiải được Do đó bài toán A → B cũng giải được, suy ra B ⊆ A theo định lý 2.4.1.
Qua các định lý trên, ta thấy rằng việc xác định bao đóng của một tập biến trên
mô hình tính toán là cần thiết Dưới đây là thuật toán cho phép xác định bao đóng củatập hợp A ⊆ M Trong thuật toán nầy chúng ta thử áp dụng các quan hệ f ∈ F để tìmdần những biến thuộc M có thể tính được từ A; cuối cùng sẽ được bao đóng của A
Thuật toán 2.4.1.1 tìm bao đóng của tập A ⊆ M :
2.4.2 Lời giải của bài toán:
Ở trên ta đã nêu lên cách xác định tính giải được của bài toán Tiếp theo, ta sẽtrình bày cách tìm ra lời giải cho bài toán A → B trên mạng tính toán (M,F)
Trang 12Mệnh đề 2.4.2.1: dãy quan hệ D là một lời giải của bài toán A → B khi và chỉkhi D áp dụng được trên A và D(A) ⊇ B.
Do mệnh đề trên, để tìm một lời giải ta có thể làm như sau: Xuất phát từ giảthiết A, ta thử áp dụng các quan hệ để mở rộng dần tập các biến có giá trị được xácđịnh; và quá trình nầy tạo ra một sự lan truyền tính xác định trên tập các biến cho đếnkhi đạt đến tập biến B Dưới đây là thuật toán tìm một lời giải cho bài toán A → B trênmạng tính toán (M,F)
Thuật toán 2.4.2.2 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 13Until 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;
Định lý 2.4.2.3 Cho D={f1, f2, , fm} là một lời giải của bài toán A → B Ưngvới mỗi i=1, ,m đặt Di = {f1, f2, , fi}, D0 = ∅ Ta xây dựng một họ các dãy con Sm,
Sm-1, , S2, S1 của dãy D như sau :
Sm = ∅ nếu Dm-1 là một lời giải,
Sm = {fm} nếu Dm-1 không là một lời giải,
Si = Si+1 nếu Di-1∪ Si+1 là một lời giải,
Si = {fi}∪ Si+1 nếu Di-1∪ Si+1 không là một lời giải,
với mọi i = m-1, m-2, , 2, 1
Khi đó ta có :
(1) Sm ⊆ Sm-1⊆ ⊆ S2⊆ S1
(2) Di-1∪ Si là một lời giải của bài toán A → B với mọi i=m, , 2, 1
(3) Nếu S’i là một dãy con thật sự của Si thì Di-1∪ S’i không phải là một lời giảicủa bài toán A → B với mọi i
(4) S1 là một lời giải tốt của bài toán A → B
Thuật toán 2.4.2.4 tìm một lời giải tốt từ một lời giải đã biết.
Nhập : Mạng tính toán (M,F),
Trang 14lời giải {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
Trong thuật toán 2.5.4 có sử dụng việc kiểm tra một dãy quan hệ có phải là lờigiải hay không Việc kiểm tra nầy có thể được thực hiện nhờ thuật toán sau đây:
Thuật toán kiểm tra lời giải cho bài toán :
Nhập : Mạng tính toá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
Thuật toán :
1 for i=1 to m do
if ( fi đối xứng and Card (M(fi) \ A) ≤ r(fi) ) or
( fi không đối xứng and M(fi) \ A ⊆ v(fi) ) then
A ← A ∪ M(fi);
2 if A ⊇ B then {f1, f2, , fm} là lời giải
else {f1, f2, , fm} không là lời giải;
2.5 Định lý về sự phân tích quá trình giải :
Xét bài toán A → B trên mạng tính toán (M,F) Trong mục nầy ta nêu lên mộtcách xây dựng quá trình giải từ một lời giải đã biết Đối với một lời giải, rất có khảnăng một quan hệ nào đó dẫn tới việc tính toán một số biến thừa, tức là các biến tính ra
mà không có sử dụng cho các bước tính phía sau Do đó, chúng ta cần xem xét quátrình áp dụng các quan hệ trong lời giải và chỉ tính toán các biến thật sự cần thiết choquá trình giải theo lời giải Định lý sau đây cho ta một sự phân tích tập các biến được