Tuy nhiên, từ những đặc điểm trong cách biểu diễn tri thức dạng này tạo nên ưu điểm thì nó cũng tạo ra các khuyết điểm sau: chính vì các sự kiện có cấu trúc đơn giản, trong khi tri thức
Trang 1BIỂU DIỄN TRI THỨC
VÀ ỨNG DỤNG
ĐỀ TÀI:
ỨNG DỤNG MẠNG TÍNH TOÁN
TRONG HÓA HỌC
Giảng viên hướng dẫn: PGS TS Đỗ Văn Nhơn Học viên thực hiện: Ngô Hải Linh
MSHV: CH1101019
Lớp cao học khóa 6
TP Hồ Chí Minh, tháng 12/2012
Trang 2MỤC LỤC
Mở đầu 2
I Các phương pháp biểu diễn tri thức cơ bản 3
1 Logic mệnh đề và logic vị từ 3
2 Biểu diễn tri thức bằng luật dẫn 3
3 Biểu diễn tri thức bằng mạng ngữ nghĩa 4
II Mô hình biểu diễn tri thức COKB 5
1 Đối tượng tính toán (C-Object) 5
2 Mô hình cho một C-Object 6
3 Các thành phần của mô hình COKB 6
III Mạng các đối tượng tính toán 8
1 Mạng con, đối tượng tính toán 8
2 Mạng các đối tượng tính toán 8
IV Ứng dụng 11
1 Thiết kế cơ sở tri thức cho miền hóa học vô cơ 11
2 Thiết kế bộ suy diễn tự động của chương trình 12
3 Chương trình demo Hóa học 13
Kết luận 15
Trang 3MỞ ĐẦU
Trong lĩnh vực trí tuệ nhân tạo, có nhiều phương pháp để biểu diễn tri thức nhưng những phương pháp này lại không hiệu quả trong việc biểu diễn và suy luận trên các tri thức phức tạp Phương pháp biểu diễn tri thức đóng vai trò quan trọng trong thiết kế hệ thống tri thức phức tạp như hình học phẳng, hình học giải tích, vật lý, hóa học, sinh học…, nhưng nghững phương pháp suy diễn hiện nay vẫn còn mang tính khái quát cao, chưa thể
mô phỏng được lối tư duy của con người Trong thực tế, khi giải quyết một bài toán, chúng
ta thường không tìm ngay một lời giải mới mà trước tiên ta sẽ tìm những bài toán liên quan với bài toán ấy để từ đó có cách giải quyết phù hợp Trong bài viết này, em xin trình bày
mô hình COKB (Computational Object Knowledge Base), trong đó có sử dụng các bài toán mẫu như là các tri thức đã có sẵn về bài toán được đặt ra, mô phỏng tối ưu hơn cho tri thức con người
Cho các hợp chất hóa học ban đầu A,B,C…, dựa vào các phương trình phản ứng đã biết, hãy điều chế ra hợp chất hóa học X từ những phương trình phản ứng trên Bài toán đơn giản nếu số lượng phương trình phản ứng là nhỏ Nhưng với số lượng phương trình phản ứng là rất lớn thì việc tìm ra những phương trình thích hợp để điều chế ra chất X là rất khó khăn Từ lý do trên, áp dụng giải bài toán điều chế dựa trên mô hình COKB
Thông qua những buổi giảng dạy và hướng dẫn của thầy Đỗ Văn Nhơn, giúp em nắm được kiến thức tổng quát và hiểu hơn về các mô hình biểu diễn tri thức và những ứng dụng hiện nay Do khả năng và kiến thức có hạn, nên bài viết còn nhiều sai sót Em xin chân thành cảm ơn thầy đã giảng dạy và hướng dẫn để hoàn thành bài viết này
Trang 4I Các phương pháp biểu diễn tri thức cơ bản
1 Logic mệnh đề và logic vị từ
Dạng biểu diễn tri thức cổ điển nhất trong máy tính là logic, với 2 dạng phổ biến là logic mệnh đề và logic vị từ Cả 2 dạng này đều dùng ký hiệu để biểu diễn tri thức và các toán tử áp lên các ký hiệu để suy luận logic Logic đã cung cấp cho các nhà nghiên cứu những công cụ hình thức để biểu diễn và suy luận tri thức Các phép tóan logic được sử dụng phổ biến của dạng là: and ( Λ ), or ( V ), not ( ~ ) và phép kéo theo ( → ), tương đương ( ≡ )
Kiểu biểu diễn tri thức vị từ giống như hàm trong các ngôn ngữ lập trình, đối tượng tri thức là tham số của hàm, giá trị mệnh đề chính là kết quả của hàm Biểu diễn tri thức bằng mệnh đề gặp khó khăn là không thể can thiệp vào cấu trúc của một mệnh đề → đưa ra khái niệm lượng từ, vị từ Với vị từ có thể biểu diễn tri thức dưới dạng các mệnh đề tổng quát
2 Biểu diễn tri thức bằng luật dẫn
Phương pháp biểu diễn tri thức bằng luật dẫn được phát minh bởi Newell và Simon, trong lúc hai ông đang cố gắng xây dựng một hệ giải bài toán tổng quát Đây là một kiểu biểu diễn tri thức có cấu trúc Ý tưởng cơ bản là tri thức có thể được cấu trúc bằng một cặp
giả thiết và kết luận dưới dạng: nếu <giả thiết> thì <kết luận> Đây là dạng biểu diễn tri
thức rất phổ biến Mô hình biểu diễn tri thức dạng này thường bao gồm: tập các ký hiệu mô
tả các sự kiện (có cấu trúc đơn giản) và tập luật dẫn Trong đó phần giả thiết và kết luận của luật là tập các sự kiện Mỗi sự kiện được mô tả có cấu trúc đơn giản như (tên đối tượng
- thuộc tính - giá trị) Ví dụ: quả cam – màu vàng
Phương pháp suy luận trong cách biểu diễn tri thức dạng này là sử dụng suy diễn tiến
và suy diễn lùi:
Suy diễn tiến: là quá trình suy luận xuất phát từ một số sự kiện ban đầu, xác định các
sự kiện có thể được “sinh” ra từ sự kiện này
Suy diễn lùi: là quá trình suy luận ngược xuất phát từ một số sự kiện ban đầu, ta tìm kiếm các sự kiện đã “sinh” ra sự kiện này Một ví dụ thường gặp trong thực tế là xuất phát
từ các tình trạng của máy tính, từ đó ta chẩn đoán xem máy tính đã bị hỏng hóc ở đâu Các luật có ưu điểm là dễ hiểu nên dễ dàng dùng để trao đổi với người dùng Có thể
dễ dàng xây dựng được cơ chế suy luận và giải thích từ các luật Ngòai ra, các luật được
Trang 5biểu diễn theo mô hình này thường độc lập nhau nên việc cập nhật luật, hiệu chỉnh và bảo trì hệ trì hệ thống thuận lợi Tuy nhiên, từ những đặc điểm trong cách biểu diễn tri thức dạng này tạo nên ưu điểm thì nó cũng tạo ra các khuyết điểm sau: chính vì các sự kiện có cấu trúc đơn giản, trong khi tri thức của một số lĩnh vực lại trừu tượng và phức tạp, các khái niệm của lĩnh vực có quan hệ ràng buộc lẫn nhau nên mô hình biểu diễn này không thể hiện được hết tất cả những yếu tố trừu tượng đó
3 Biểu diễn tri thức bằng mạng ngữ nghĩa
Mạng ngữ nghĩa là một phương pháp biểu diễn tri thức dùng đồ thị Trong đó nút biểu diễn đối tượng, và cung biểu diễn quan hệ giữa các đối tượng
Hình 1: Ví dụ về mạng ngữ nghĩa Người ta có thể mở rộng mạng ngữ nghĩa bằng cách thêm các nút và nối chúng vào đồ thị Các nút mới ứng với các đối tượng bổ sung Thông thường có thể mở rộng mạng ngữ nghĩa theo ba cách:
- Thêm một đối tượng tương tự
- Thêm một đối tượng đặc biệt hơn
- Thêm một đối tượng tổng quát hơn
Cơ chế suy diễn thực hiện theo thuật toán “loang” đơn giản:
Bước 1: Kích hoạt những đỉnh hình tròn đã cho ban đầu (những yếu tố đã có giá trị) Bước 2: Lặp lại bước sau cho đến khi kích hoạt được tất cả những đỉnh ứng với
những yếu tố cần tính hoặc không thể kích hoạt được bất kỳ đỉnh nào nữa
Động vật có vú
Con mèo
lông
trên cạn
có
sống
đuôi có
là
Trang 6Nếu một đỉnh hình chữ nhật có cung nối với n đỉnh hình tròn mà n-1 đỉnh hình
tròn đã được kích hoạt thì kích hoạt đỉnh hình tròn còn lại (và tính giá trị đỉnh còn lại
này thông qua công thức ở đỉnh hình chữ nhật)
II Mô hình biểu diễn tri thức COKB
1 Đối tượng tính toán (C-Object)
Trong nhiều vấn đề giải toán dựa trên tri thức ta thường đề cập đến các đối tượng khác nhau và mỗi đối tượng có cấu trúc bao gồm một số thuộc tính với những quan hệ nhất định Những quan hệ này giúp ta thực hiện sự suy diễn, tính toán và giải một số bài toán suy diễn-tính toán trên các thuộc tính của đối tượng Ví dụ: trong giải toán hình học, một tam giác với các thuộc tính như 3 cạnh, 3 góc trong, diện tích, nửa chu vi, bán kính vòng tròn ngoại tiếp, v.v … cùng với các công thức liên hệ giữa các thuộc tính đó sẽ cho ta một cấu trúc của một đối tượng như thế Theo cách tiếp cận hướng đối tượng trong biểu diễn tri thức và giải toán, chúng ta tích hợp vào cấu trúc đối tượng trên một số hành vi giải toán nhất định để tạo ra một đối tượng Dựa trên các đối tượng này, nhiều bài toán khác nhau có thể được biểu diễn dưới dạng mạng các đối tượng Cách biểu diễn này có thể được áp dụng một cách có hiệu quả trong các hệ giải toán, chẳng hạn như các hệ giải các bài toán hình học So với các phương pháp được trình bày ở trên, cách mô hình này tỏ ra có nhiều ưu điểm, đặc biệt là khả năng biểu diễn hầu như toàn bộ tri thức và các dạng bài toán tổng quát thuận tiện cho việc phát triển các thuật toán giải tự động và cung cấp những lời giải tự nhiên và phù hợp với cách nghĩ và viết của con người Ngoài ra, nó còn giúp ích cho việc thiết kế và cài đặt phần cơ sở tri thức cũng như ngôn ngữ qui ước để đặc tả bài toán
Định nghĩa 1: Ta gọi một đối tượng tính toán (C-Object) là một đối tượng O có cấu
trúc bao gồm:
giá trị trong một miền xác định nhất định, và giữa các thuộc tính ta có các quan hệ thể hiện qua các sự kiện, các luật suy diễn hay các công thức tính toán
(2) Các hành vi liên quan đến sự suy diễn và tính toán trên các thuộc tính của đối tượng hay trên các sự kiện như:
Trang 7Xác định bao đóng của một tập hợp thuộc tính A Attr(O), tức là đối tượng O có khả năng cho ta biết tập thuộc tính lớn nhất có thể được suy ra từ A trong đối tượng O
Attr(O) và B Attr(O) Nói một cách khác, đối tượng có khả năng trả lời câu hỏi rằng có thể suy ra được các thuộc tính trong B từ các thuộc tính trong A không
2 Mô hình cho một C-Object
Một C-Object có thể được mô hình hóa bởi một bộ:
(Attrs, F, Facts, Rules) Trong đó: Attrs là tập hợp các thuộc tính của đối tượng, F là tập hợp các quan hệ suy diễn tính toán, Facts là tập hợp các tính chất hay các sự kiện vốn có của đối tượng, và Rules
là tập hợp các luật suy diễn trên các sự kiện liên quan đến các thuộc tính cũng như liên quan đến bản thân đối tượng
Ví dụ: Đối tượng (C-Object) thuộc loại “TAM_GIAC” được biểu diễn theo mô hình trên gồm có:
R, r, ra, rb, rc
a^2 = b^2 + c^2 - 2*b*c*cos(GocA),
{a = b} {GocA = GocB}, {a^2 = b^2+c^2}{GocA=pi/2}, {GocA=pi/2} {a^2 = b^2+c^2, b c},
3 Các thành phần của mô hình COKB
Mô hình cơ sở tri thức của các đối tượng tính toán (mô hình COKB) gồm 6 thành phần:
(C, H, R, Ops, Funcs, Rules)
Trang 8Trong đó,
(1) C là tập hợp các khái niệm về C-Object
(2) H là tập hợp các quan hệ phân cấp giữa các loại đối tượng
(3) R là tập hợp các khi niệm về các loại quan hệ trên C-Object
(4) Ops là tập hợp các toán tử
(5) Funcs là tập hợp các hàm
(6) Rules là tập hợp các luật
Trong mô hình này mỗi đối tượng tính toán (C-Object) có cấu trúc và được phân cấp dựa trên các thiết lập của đối tượng
Ngoài ra, mô hình này có 11 loại sự kiện sau:
của đối tượng
của đối tượng thông qua biểu thức hằng
đối tượng với một đối tượng hay một thuộc tính khác
các đối tượng thông qua một công thức tính toán hay một đẳng thức theo các đối tượng hay các thuộc tính
của các đối tượng
hằng
tượng khác thông qua một công thức tính toán
Trang 9Mô hình biểu diễn này sử dụng cách tiếp cận hướng đối tượng để biểu diễn tri thức.
Do đó, sử dụng mô hình này giúp dễ thiết kế các mô hình cho những ứng dụng cụ thể vá thiết kế các giải thuật
III Mạng các đối tượng tính toán
1 Mạng con, đối tượng tính toán
Là một dạng biểu diễn 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 quyết một số dạng bài tóan Mỗi mạng tính tóan là một mạng ngữ nghĩa chứa các biến và những quan hệ có thể cài đặt sử dụng cho việc tính toán
Một mạng tính toán (M,F) được gọi là một mạng con của mạng tính toán (M’,F’) nếu
thỏa các điều kiện sau đây :
(1) M M’,
(2) F F’,
(3) M(f) M’(f), với mọi f F
Đối với mỗi đối tượng tính toán O, có một tập biến và một tập các quan hệ tương ứng Tập các biến và tập các quan hệ của đối tượng O lần lượt được ký hiệu là M(O), F(O) Từ
đó ta có thể viết :
O = ( M(O), F(O) )
Ngoài ra đối tượng tính toán, giả sử là O, còn có khả năng đáp ứng lại một số thông điệp yêu cầu từ bên ngoài Trong các khả năng đó của đối tượng tính toán ta có thể kể đến những điểm sau đây :
(1) Xác định bao đóng (trong đối tượng O) của một tập A M(O)
(2) Xác định tính giải được của một bài toán A B,
trong đó A M(O), B M(O)
(3) Tìm một lời giải tốt cho bài toán A B trên mạng ( M(O), F(O) ),
trong đó A M(O), B M(O)
2 Mạng các đối tượng tính toán
Mạng các đối tượng tính toán bao gồm một tập hợp các đối tượng tính toán :
O = O 1 ,O 2 , , O n
và một tập hợp các quan hệ tính toán :
F = f 1 ,f 2 , , f m
Đặt :
Trang 10M(f i ) = tập hợp các biến có liên quan với nhau bởi quan hệ fi.
M(F) = M(fi
i 1
m
)
M(O) = M(Oi
i 1
n
)
các tập M(fi)
mạng các đối tượng tính toán Ngoài ra ta còn có :
i 1
n
)
i 1
m
)
Mô hình biểu diễn tri thức dạng này cho phép ta thực hiện tính toán các biến của một hay hiều đối tượng dựa trên tập biến của các đối tượng khác
Thuật toán: Thuật toán tìm một lời giải cho bài toán A B trên mạng các đối tượng
tính toán (O, F) có tập biến được xem xét là M
Nhập : Mạng các đối tượng tính toán (O,F), với tập biến là M,
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
1 Solution empty;// Solution là dãy các quan hệ giữa các đối tượng
// hay các đối tượng sẽ áp dụng
2 if B A then
begin
Solution_found true; // khi bài toán là giải được
goto 5;
end else
Solution_found false;
3 Repeat
Ao A;
Chọn ra một f F;
Trang 11while not Solution_found and (chọn được f) do begin
if ( f đối xứng and 0 < Card (M(f) \ A) r(f) ) or
( f không đối xứng and M(f) \ A v(f) ) then
begin
A f(A);
Solution Solution f;
end;
if B A then
Solution_found true;
Chọn ra một f F;
Until Solution_found or (A = Ao);
4 if not Solution_found then
begin
if (chọn được Oi) then
begin
if (B A) then begin
Solution_found true;
goto 5;
end;
else goto 3;
end;
end;
5 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;
IV Ứng dụng
Chúng ta biết rằng trong hóa học, việc xem xét các phản ứng hóa học là một trong những vấn đề quan trọng Về mặt tri thức người ta đã biết được nhiều chất và các phản ứng
Trang 12hóa học có thể chuyển hóa từ một số chất này thành các chất khác Ta có thể xem tri thức
đó như một mạng tính toán mà mỗi phản ứng là một quan hệ của mạng Và áp dụng để giải
2 loại bài toán sau:
- Nhận diện loại phương trình phản ứng?
- Cho một số chất, hỏi có điều chế được một vài chất nào đó không?
- Tìm các phương trình phản ứng để biểu diễn dãy các biến hóa sau:
1 Thiết kế cơ sở tri thức cho miền hóa học vô cơ
Tri thức được mô hình hóa bằng mô hình COKB gồm 4 thành phần:
(C, H, Funcs, Rules)
1.1 Tập C - tập hợp các khái niệm đối tượng
Tập C bao gồm các khái niệm: “Axit”, “Bazơ”, “Muối”, “Oxit”, “Kim loại”
- “Axit”: phân tử axit gồm có một hay nhiều nguyên tử H liên kết gốc axit
- “Bazơ”: phân tử bazơ gồm có một nguyên tử kim loại liên kết với một hay nhiều nhóm OH
- “Muối”: phân tử muối gồm có một hay nhiều nguyên tử kim loại liên kết với một hay nhiều gốc axit
1.2 Tập H - tập hợp các quan hệ phân cấp giữa các loại đối tượng
- “Axit có oxi” và “Axit không có oxi” là các khái niệm của “Axit”
- “Bazơ tan” và “Bazơ không tan” là các khái niệm của “Bazơ”
- “Muối trung hòa” và “Muối axit” là các khái niệm của “Muối”
1.3 Tập Funcs - tập hợp các hàm
Cân bằng phương trình phản ứng hóa học
1.4 Tập Rules – tập hợp các luật
Các loại phản ứng hóa học cơ bản:
- “Axit” + “Bazơ” “Muối” + “Nước”
2 Thiết kế bộ suy diễn tự động của chương trình
Trang 13Về mặt tri thức người ta đã biết được nhiều chất và các phản ứng hóa học có thể chuyển hóa từ một số chất này thành các chất khác Ta có thể xem tri thức đó như một mạng tính toán mà mỗi phản ứng là một quan hệ của mạng
(O, F, G)
Bài toán 1 : Viết phương trình phản ứng (PTPU) biểu diễn các biến hóa sau:
Mô hình bài toán:
F = { tập các phương trình phản ứng hóa học }
G = {}
(H2SO4) không ?
Mô hình bài toán:
O = { [S, H2O ? H2SO4] }
F = { tập các phương trình phản ứng hóa học }
G = {}
Bài toán 3 : Viết các PTPU để thực hiện các biến hóa theo các sơ đồ sau đây:
ZnS SO2 H2SO4
Mô hình bài toán:
F = { tập các phương trình phản ứng hóa học }
G = {}
Bài toán 4 : Hoàn thành các phương trình phản ứng sau:
Mg + H2SO4 Fe(OH)3 + H2SO4
K2CO3 + H2SO4 Ba(NO3)2 + H2SO4
Mô hình bài toán:
[Fe(OH)3 + H2SO4 = …],