Tải bản đầy đủ (.pdf) (117 trang)

XÂY DỰNG mô HÌNH BIỂU DIỄN TRI THỨC và hệ hỗ TRỢ GIẢI một số lớp bài tập hóa vô cơ TRONG CHƢƠNG TRÌNH THPT

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (7.61 MB, 117 trang )

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH

TRƢỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
KHOA KHOA HỌC MÁY TÍNH


KHÓA LUẬN TỐT NGHIỆP

XÂY DỰNG MÔ HÌNH BIỂU DIỄN TRI THỨC
VÀ HỆ HỖ TRỢ GIẢI MỘT SỐ LỚP BÀI TẬP HÓA VÔ CƠ
TRONG CHƢƠNG TRÌNH THPT

Giáo viên hƣớng dẫn : PGS.TS Đỗ Văn Nhơn
Sinh viên thực hiện

: Lƣơng Chấn Viễn – 07520408
Lê Hoài Nam – 07520233

Lớp

: CNTN02

Khóa

: 2007 – 2011

TP. Hồ Chí Minh, tháng 8 năm 2011


LỜI MỞ ĐẦU



Công nghệ thông tin đƣợc ra đời và phát triển từ những năm nữa cuối của thế
kỉ XX. Và đến nay đã gặt hái đƣợc rất nhiều thành tựu vƣợt bậc, khả năng áp dụng
rộng khắp vào tất các các ngành kinh tế, xã hội khác nhau và làm thay đổi không ít
lối sống, cách suy nghĩ của con ngƣời hiện đại.
Tuy nhiên, nhu cầu của con ngƣời ngày càng cao, họ không chỉ cần những
thiết bị Công nghệ thông tin làm việc theo mệnh lệnh đƣợc lập trình sẵn, hỗ trợ tính
toán cơ bản hay lƣu trữ dữ liệu và tìm kiếm thông thƣờng. Họ cần những thiết bị
máy tính thông minh hơn, giúp họ tìm ra lời giải những bài toán khó, gợi ý cho họ
trong giải quyết các vấn đề phức tạp v.v…
Trƣớc nhu cầu mới, ngành Khoa học máy tính nói chung và lĩnh vực Trí tuệ
nhân tạo nói riêng nhận vai trò quan trọng trong việc nghiên cứu tìm ra các giải
pháp tiên tiến giúp làm ra những phần mềm và thiết bị máy tính đáp ứng nhu cầu
trên. Chúng phải có khả năng tự động xử lý thông tin, xử lý tri thức, suy luận tính
toán và điều khiển phức tạp. Một số ứng dụng trong lĩnh vực này có thể kể đến nhƣ:
các hệ tự động lập luận và chứng minh định lý; các hệ chuyên gia; các hệ hiểu và xử
lý ngôn ngữ tự nhiên; máy học và khai khoáng dữ liệu; robotics v.v… [10]
Để xây dựng đƣợc 1 hệ thống thông minh, việc đầu tiên là phải tìm ra 1 mô
hình biểu diễn tri thức, đƣa tri thức ở dạng tự nhiên thành dạng mà máy tính có thể
lƣu trữ và xử lý đƣợc, cùng với 1 bộ máy suy diễn, tìm kiếm tri thức trên mô hình
đó. Từ những năm cuối thế kỉ trƣớc, ngƣời ta đã tìm và liệt kê ra đƣợc 4 phƣơng
pháp chính để lƣu trữ và xử lý tri thức nhƣ sau [6]:
-

Biểu diễn logic nhƣ phƣơng pháp diễn diễn tri thức theo vị từ cấp 1.

-

Biểu diễn tri thức thủ tục nhƣ phƣơng pháp biểu diễn tri thức dạng hệ luật
dẫn.


-

Biểu diễn tri thức dạng mạng ngữ nghĩa.
i


-

Biểu diễn tri thức theo cấu trúc các frames và object.
Dựa trên việc nghiên cứu và kết hợp các phƣơng pháp trên cùng với một số

cải tiến, tác giả Đỗ Văn Nhơn đã đề xuất ra mô hình các đối tƣợng tính toán CObject vào năm 1997 [5]. Từ ngày đƣợc công bố, C-Object đã đƣợc phát triển, mở
rộng thành các mô hình nhƣ: mô hình mạng các đối tƣợng tính toán COKB [1], mô
hình mạng các đối tƣợng tính toán mở rộng ECOKB [7]. Từ những kết quả trên, rất
nhiều nghiên cứu ứng dụng đƣợc ra đời nhằm giải quyết các vấn đề liên quan tới
biểu diễn tri thức và suy luận tìm lời giải cho bài toán ở nhiều lĩnh vực khác nhau
nhƣ: toán đại số tuyến tính, vật lý điện 1 chiều, hình học giải tính 2 chiều/ 3 chiều
v.v… Có thể tham khảo trong các tài liệu số [4], [7], [8], [9].
Kết quả của những nghiên cứu ứng dụng từ mô hình COKB ở trên đã phần
nào chứng minh đƣợc khả năng áp dụng của mô hình này vào lĩnh vực phát triển
các công cụ hỗ trợ học tập thông minh. Tuy nhiên số lƣợng ứng dụng vẫn chƣa
nhiều và mức độ đem lại hiệu quả thực tế vẫn chƣa cao, các nghiên cứu đã có vẫn
thiên về môn Toán học và Vật lý hơn. Hơn nữa, Hóa học cũng là một bộ môn quan
trọng trong chƣơng trình Phổ thông nhƣng vẫn chƣa có nghiên cứu chính thức nào
về biểu diễn tri thức và hệ hỗ trợ giải bài tập cho Hóa học. Nhu cầu của học sinh
hiện nay về 1 hệ hỗ trợ học tập thông minh tƣơng đối cao, các phần mềm này nếu
hoạt động tốt sẽ giúp học sinh tiếp thu kiến thức nhanh hơn, bằng một cách thú vị
hơn, góp phần vào việc nâng cao chất lƣợng dạy và học trong môi trƣờng Phổ
thông.
Do đó, nhóm đã đề xuất đề tài nghiên cứu trong khóa luận này với tên là

“Nghiên cứu xây dựng mô hình cơ sở tri thức và hệ giải 1 số lớp bài toán Hóa vô
cơ trong chương trình THPT” với mong muốn tìm ra đƣợc 1 phƣơng pháp biểu
diễn và xử lý tri thức Hóa vô cơ trên máy tính bằng cách áp dụng và cải tiến lý
thuyết của mô hình COKB, góp phần vào thành quả chung của việc ứng dụng mô
hình COKB vào lĩnh vực E-learning.
Nội dung của khóa luận này đƣợc chia làm 7 chƣơng nhƣ sau:
ii


Chương 1: Giới thiệu chung về vấn đề nghiên cứu, một số thành tựu đã có liên quan
tới việc biểu diễn và xử lý tri thức Hóa học trên máy tính. Ngoài ra, chƣơng này sẽ
giới thiệu thêm về 1 số lý thuyết cơ bản trong việc nghiên cứu phát triển 1 hệ cơ sở
tri thức trên máy tính.
Chương 2: Trình bày về mô hình COKB và 1 số vấn đề mở rộng mô hình COKB.
Hiện nay đã có mô hình ECOKB mở rộng nhƣng đề tài chỉ tập trung cải tiến mô
hình COKB để nghiên cứu xây dựng ứng dụng theo mục đã đề ra. Nội dung mở
rộng sẽ liên quan tới kiểu thuộc tính của đối tƣợng tính toán C-Object và quan hệ
tính toán mới dùng để mô tả mối liên hệ giữa các kiểu thuộc tính mới. Bên cạnh đó,
chƣơng 3 sẽ trình bày thêm 4 loại sự kiện mới bên cạnh 6 sự kiên đã có trong mô
hình COKB.
Chương 3: Biểu diễn tri thức Hóa vô cơ bằng cách áp dụng mô hình COKB nhƣng
chỉ sử dụng 4 trong 5 thành phần là tập C, tập H, tập R và tập Rules, có áp dụng
thêm lý thuyết cải tiến trình bày ở chƣơng 3. Cùng với cách tổ chức lƣu trữ tri thức
này lên máy tính. Thay vì sử dụng các tập tin TXT chứa dữ liệu cho từng tập
(C,H,R,Rules), khóa luận sẽ trình bày cách lƣu trữ tất cả tri thức vào 1 tập tin có tên
Chemistry.KB theo 1 chuẩn lƣu trữ khác.
Chương 4: Mô hình bài toán và thuật giải. Ở đây, khóa luận sẽ dùng 1 mô hình duy
nhất có 3 thành phần để biểu diễn các bài toán Hóa vô cơ phổ biến trong sách giáo
khoa, các kỳ thi tốt nghiệp THPT và thi vào Đại học, Cao đẳng. Vẫn còn nhiều hạn
chế nên mô hình chỉ tập trung giải quyết các bài toán lập luận trên các thí nghiệm

hóa học, các chuỗi phản ứng liên tiếp; tạm thời chƣa giải quyết đƣợc các dạng bài
tập lý thuyết và hỏi đáp suy luận trên lý thuyết.
Chương 5: Cài đặt thử nghiệm. Đề tài sử dụng công cụ lập trình chính là Maple để
hiên thực toàn bộ lý thuyết đã đề ra, sử dụng C#, WPF trong .NET Frameworks 4.0
để phát triển giao diện demo.
Chương 6: Kết luận và hƣớng phát triển.
Cuối cùng là danh mục tài liệu tham khảo và phụ lục bổ xung.
iii


LỜI CẢM ƠN
Chúng tôi chân thành gửi lời cảm ơn sâu sắc nhất tới
PSG.TS Đỗ Văn Nhơn, trưởng khoa Khoa học máy tính, trường Đại
học Công Nghệ Thông Tin đã tận tình hướng dẫn chúng tôi thực
hiện đề tài này trong suốt thời gian qua. Bên cạnh kiến thức
chuyên môn, thầy đã giúp chúng tôi thêm ý tưởng và động lực
để theo đuổi, phát triển đề tài cho khóa luận này.
Bên cạnh đó, chúng tôi không quên cảm ơn các giảng viên
của khoa Khoa học máy tính, trường Đại học Công nghệ thông
tin đã trang bị cho chúng tôi đầy đủ kiến thức làm cơ sở để
nghiên cứu và phát triển tới những mục tiêu cao hơn.
Cuối cùng, chúng tôi muốn gửi lời cảm ơn tới các bạn
sinh viên trong lớp CNTN02, các bạn đã đóng góp những ý kiến
quí báu và tinh thần nhiệt quyết trong suốt thời gian dài
chúng tôi học tập và nghiên cứu cùng nhau trên giảng đường
đại học.
Lương Chấn Viễn - Lê Hoài Nam
TP. Hồ Chí Minh, ngày 1 tháng 8 năm 2011

iv



Mục lục
LỜI MỞ ĐẦU .......................................................................................................... i
LỜI CẢM ƠN ........................................................................................................ iv
DANH MỤC BẢNG ............................................................................................viii
DANH MỤC HÌNH ............................................................................................... ix
Chƣơng 1:

GIỚI THIỆU ĐỀ TÀI ....................................................................... 1

1.1.

Bối cảnh .................................................................................................. 1

1.2.

Mục tiêu và phạm vi đề tài ...................................................................... 2

1.3.

Tổng quan về thành tựu trong và ngoài nƣớc ........................................... 3

1.4.

Các vấn đề cơ bản trong thiết kế hệ giải toán dựa trên tri thức................. 5

1.4.1.

Cấu trúc hệ thống ............................................................................. 5


1.4.2.

Biểu diễn tri thức .............................................................................. 7

1.4.3.

Bộ suy diễn tự động .......................................................................... 8

Chƣơng 2:

MÔ HÌNH COKB VÀ 1 SỐ CẢI TIẾN MỚI .................................. 9

2.1

Mô hình COKB 5 thành phần ..................................................................... 9

2.1.1 Định nghĩa đối tƣợng tính toán (C-Object): .......................................... 9
2.1.2 Mô hình cho một C-Object .................................................................. 9
2.1.3 Mô hình tri thức các đối tƣợng tính toán (COKB) .............................. 10
2.2

Một số cải tiến mới ................................................................................... 12

2.2.1 Mở rộng kiểu thuộc tính của C-Object ............................................... 12
2.2.2 Quan hệ tính toán phụ thuộc .............................................................. 17
2.2.3 Tập 10 sự kiện (thêm 4 sự kiện mới) .................................................. 22
Chƣơng 3:

BIỂU DIỄN TRI THỨC HÓA VÔ CƠ ........................................... 27

v


3.1

Mô hình tri thức ....................................................................................... 27

3.1.1 Tập C ................................................................................................. 27
3.1.2 Tập H................................................................................................. 28
3.1.3 Tập R ................................................................................................. 29
3.1.4 Tập Rules........................................................................................... 30
3.2

Cách tổ chức lƣu trữ ................................................................................. 31

3.2.1 Tập các khái niệm (C-Object) ............................................................ 31
3.2.2 Tập các quan hệ phân cấp .................................................................. 33
3.2.3 Tập các quan hệ R.............................................................................. 34
3.2.4 Tập các luật suy diễn ......................................................................... 34
Chƣơng 4:

MÔ HÌNH BÀI TOÁN VÀ THUẬT GIẢI .................................... 36

4.1

Mô hình bài toán ...................................................................................... 36

4.2

Thuật giải ................................................................................................. 40


4.2.1 Suy diễn bên trong một đối tƣợng ...................................................... 40
4.2.2 So khớp sự kiện ................................................................................. 42
4.2.3 Suy diễn trên luật dẫn ........................................................................ 55
4.2.4 Suy diễn trên các sự kiện loại 4 .......................................................... 57
4.2.5 Deduce sự kiện .................................................................................. 58
4.2.6 Suy diễn trên đối tƣợng “Thí nghiệm” ............................................... 59
Chƣơng 5:
5.1

CÀI ĐẶT VÀ THỬ NGHIỆM ....................................................... 71

Cài đặt ứng dụng ...................................................................................... 71

5.1.1 Xây dựng thƣ viện ChemistryUtility .................................................. 71
5.1.2 Xây dựng thƣ viện hàm suy diễn trên tri thức..................................... 74

vi


5.1.3 Xây dựng công cụ hỗ trợ ngƣời dùng nhập bài toán ........................... 75
5.1.4 Xây dựng ứng dụng demo .................................................................. 81
5.2

Thử nghiệm và đánh giá ........................................................................... 82

Chƣơng 6:

KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN ...................................... 88


6.1

Kết luận .................................................................................................... 88

6.2

Hạn chế .................................................................................................... 89

6.3

Hƣớng phát triển ...................................................................................... 89

TÀI LIỆU THAM KHẢO ..................................................................................... 90
PHỤ LỤC 1: GIỚI THIỆU MỘT SỐ KIẾN THỨC CƠ BẢN VỀ HÓA VÔ CƠ... 92
PHỤ LỤC 2: VÍ DỤ CỤ THỂ VỀ 1 SỐ C-OBJECT TRONG HÓA VÔ CƠ. ...... 101

vii


DANH MỤC BẢNG
Bảng 2-1 Một số kí hiêu qui ƣớc dùng biểu diễn các loại sự kiện .......................... 22
Bảng 4-1 Bảng chân trị khi so khớp sự kiện........................................................... 43
Bảng 4-2 So khớp sự kiện loại 1 ............................................................................ 43
Bảng 4-3 Xử lý sự kiện loại 7 ................................................................................ 49
Bảng 4-4 Qui luật so khớp các sự kiện ................................................................... 55
Bảng 4-5 Deduce sự kiện ....................................................................................... 59
Bảng 4-6 Cấu trúc mô tả 1 thí nghiệm ................................................................... 62
Bảng 5-1 Các hàm suy diễn ................................................................................... 75

viii



DANH MỤC HÌNH
Hình 1.1 Mẫu ví dụ về ChEBI ................................................................................. 3
Hình 1.2 Chemlap ................................................................................................... 4
Hình 1.3 Giao diện chính của DCE 2008 ................................................................. 5
Hình 1.4 Mô hình của hệ thống tự động suy diễn .................................................... 6
Hình 3.1 Ví dụ về sơ đồ mạch điện ........................................................................ 16
Hình 5.1 Lƣu đồ thuật giải suy diễn bên trong 1 đối tƣợng .................................... 41
Hình 5.2 Lƣu đồ suy diễn trên 1 quan hệ tính toán phụ thuộc ................................ 41
Hình 5.3 Lƣu đồ so khớp sự kiện loại 1 ................................................................. 44
Hình 5.4 Lƣu đồ so khớp sự kiện loại 2 ................................................................. 45
Hình 5.5 Lƣu đồ so khớp sự kiện loại 2' ................................................................ 45
Hình 5.6 Lƣu đồ so khớp sự kiện loại 3 ................................................................. 46
Hình 5.7 Lƣu đồ so khớp sự kiện loại 4n, 4l .......................................................... 47
Hình 5.8 Lƣu đồ so khớp sự kiện loại 4o ............................................................... 47
Hình 5.9 Lƣu đồ so khớp sự kiện loại 6 ................................................................. 48
Hình 5.10 Lƣu đồ so khớp sự kiện lọa 8 ................................................................ 50
Hình 5.11 Lƣu đồ so khớp sự kiện loại 9 ............................................................... 51
Hình 5.12 Phân loại môi trƣờng phản ứng ............................................................. 60
Hình 5.13 Phân loại "thí nghiệm" .......................................................................... 63
Hình 5.14 Thí nghiệm có phản ứng không hoàn toàn ............................................. 65
Hình 5.15 Thí nghiệm hoàn chỉnh.......................................................................... 65
Hình 5.16 Thí nghiệm chƣa hoàn chỉnh dạng 1 ...................................................... 66
Hình 5.17 Thí nghiệm chƣa hoàn chỉnh dạng 2 ...................................................... 67
Hình 5.18 Thí nghiệm chƣa hoàn chỉnh dạng 3 ...................................................... 68

ix



Chƣơng 1: GIỚI THIỆU ĐỀ TÀI
1.1. Bối cảnh
Hiện nay, thế giới đang bƣớc vào giai đoạn bùng nổ Công nghệ thông tin. Việt
Nam với vị thế là 1 nƣớc đang phát triển cần thúc đẩy việc ứng dụng Công nghệ thông
tin vào nhiều lĩnh vực, áp dụng kĩ thuật cao, công nghệ tiên tiến vào đời sống và sản
xuất nhằm thúc đẩy đất nƣớc đi lên 1 cách bền vững.
Trong những ngành cần quan tâm ứng dụng Công nghệ thông tin, Giáo dục là 1
trong những ngành đƣợc nhà nƣớc ta tập trung hàng đầu. Đem Công nghệ thông tin
vào Giáo dục giúp nâng cao chất lƣợng đào tạo, nâng cao trình độ con ngƣời trong xã
hội mới.
Ứng dụng Công nghệ thông tin trong giao dục bao gồm: các phần mềm hỗ trợ
soạn thảo bài giảng cho giáo viên; phần mềm hỗ trợ học tập, tra cứu kiến thức cho học
sinh; các hệ thống e-learning trực tuyến .
Nói về phần mềm hỗ trợ học tập, phần lớn các phần mềm loại này chỉ đáp ứng
đƣợc nhu cầu cơ bản của học sinh nhƣ ôn tập lý thuyết, tra cứu và hỗ trợ giải các bài
tập mẫu. Gần nhƣ ít có phần mềm nào tiếp cận tới vấn đề hỗ trợ học sinh tìm lời giải
cho các bài toán khác nhau. Việc sử dụng các phần mềm có khả năng hỗ trợ tìm lời
giải sẽ giúp học sinh tiếp cận kiến thức mới nhanh hơn, tự do sáng tạo hơn để tìm ra
những lời giải mới.
Trong chƣơng trình Phổ thông, đặc biệt là chƣơng trình ban A, Toán – Lý –
Hóa là 3 môn học quan trọng. Các bài tập, bài kiểm tra của các môn này nặng về tƣ
duy giải toán. Không phải học sinh nào cũng có đủ năng lực để giải hết các bài tập khó
dễ trong các đề thi của 3 môn học. Học sinh cần có một công cụ hỗ trợ, gợi ý để tìm ra
lời giải. Từ những gợi ý của công cụ phần mềm, học sinh sẽ dễ dàng luyện tập nâng
cao kĩ năng giải toán trong các kì thi hơn.

1


Nhƣ vậy, nhu cầu về 1 hệ thống hỗ trợ giải bài tập thông minh đã xuất hiện.

Đây chính là động lực để chúng tôi cũng nhƣ các nhóm sinh viên Công nghệ thông tin
khác tìm tòi, nghiên cứu, phát triển các hệ thống tiên tiến đáp ứng nhu cầu trên.

1.2. Mục tiêu và phạm vi đề tài
Đề tài khóa luận này sẽ nghiên cứu phát triển mô hình COKB, ứng dụng vào
biểu diễn tri thức và hệ tự động giải 1 số bài tập Hóa Vô cơ trong chƣơng trình Phổ
thông. Vì Hóa học nói chung và Hóa Vô cơ nói riêng là 1 trong những môn học quan
trọng trong chƣơng trình Phổ thông. Môn Hóa học đƣợc xem là 1 trong 3 môn quan
trọng Toán – Lý – Hóa của chƣơng trình phân ban khối A, là môn thi bắt buộc trong
các kì thi Đại học, Cao đẳng vào khối A, B hằng năm. Khóa luận có tham khảo nội
dung chƣơng trình học và kiểm tra của môn Hóa Vô cơ từ các tài liệu [14], [15], [16],
[17], [18].
Mục tiêu của đề tài là nghiên cứu mở rộng mô hình COKB nhằm phục vụ cho
việc xây dựng mô hình cơ sở tri thức Hóa Vô cơ để có thể lƣu trữ và xử lý suy luận
giải bài tập trên máy tính; cùng với phát triển 1 ứng dụng demo hỗ trợ giải bài toán
Hóa Vô cơ thỏa mãn các yêu cầu sau:
-

Có cơ sở tri thức về Hóa vô cơ lƣu trữ riêng trên máy tính với cấu trúc đơn giản
để ngƣời sử dụng dễ thay đổi, chỉnh sửa khi cần thiết.

-

Cho phép nhập bài toán bằng ngôn ngữ đơn giản gần với ngôn ngữ tự nhiên.

-

Tìm ra lời giải gần với cách giải của con ngƣời, trình bày đẩy đủ, dễ hiểu.

-


Giao diện phần mềm trực quan, sinh động, dễ thao tác
Phạm vi của đề tài này sẽ tập trung mở rộng mô hình COKB, cụ thể là tập thuộc

tính và quan hệ tính toán của C-Object để áp dụng vào biểu diễn tri thức Hóa Vô cơ,
xây dựng mô hình bài toán cùng thuật giải để giải quyết 1 số lớp bài toán Hóa vô cơ
phổ biến trong chƣơng trình sách giáo khoa THPT cũng nhƣ trong đề thi Tốt nghiệp
THPT, đề thi Đại học khối A, B hằng năm.

2


Đề tài sẽ sử dụng công cụ lập trình chính là Maple 15 vì ngôn ngữ này hỗ trợ khá
tốt lập trình tính toán hình thức, 1 trong những kĩ thuật cơ bản trong lập trình các hệ
thống tự động giải toán [17].

1.3. Tổng quan về thành tựu trong và ngoài nước
Mặc dù, hóa học là 1 ngành học đã có từ lâu đời nhƣng các nghiên cứu về xây
dựng hệ thống tri thức cho lĩnh vực này còn khá mới mẻ. Kết quả của quá trình tìm tòi
trên mạng và các tài liệu chính thức, hiện tại chỉ có 1 vài công trình nghiên cứu đã
hoàn thiện và đang đƣợc tiếp tục phát triển, tiêu biểu là công trình khoa học mang tên
ChEBI (Chemical Entities of Biological Interest) [19].

Hình 1.1 Mẫu ví dụ về ChEBI

ChEBI là một hệ cơ sở tri thức mở về các hợp chất hữu cơ, đƣợc dùng để tra
cứu thông tin về các chất, mối liên hệ giữa các chất và cấu tạo của chúng. Mục tiêu
của ChEBI là xây dựng hệ thống tiêu chuẩn dùng để biểu diễn tri thức của các hợp
chất hữu cơ và lƣu trữ vào cơ sở dữ liệu. Có thể gọi ChEBI là một Ontology của lĩnh


3


vực hóa hữu cơ. Mọi cá nhân, tổ chức có nhu cầu đều có thể tải miễn phí toàn bộ mã
nguồn và cơ sở dữ liệu của ChEBI trên trang chủ www.ebi.ac.uk.
Bên cạnh sự hiếm hoi các đề tài nghiên cứu về lĩnh vực này là các ứng dụng
thƣơng mại hỗ trợ dạy và học Hóa thông minh với các chức năng tƣơng đối hiện đại
và cao cấp. Ví dụ tiêu biểu nhất là phần mềm tạo thí nghiệm ảo trên máy tính
Chemlap[28]. Phần mềm này cung cấp đầy đủ các công cụ và tính năng ảo cần thiết
cho việc thực hiện 1 thí nghiệm hóa học. Nhận biết đƣợc quá trình xảy ra các phản
ứng hóa học và hiện tƣợng của nó. Có thể nói phần mềm này đã xử lý rất tốt tri thức
thực tế về các hóa chất trong Hóa học, khả năng xử lý phân tích với các điều kiện khác
nhau tƣơng đối chính xác và đem lại 1 môi trƣờng ảo thân thiện với ngƣời dùng.

Hình 1.2 Chemlap

Trong nƣớc, các nghiên cứu khoa học và đề tài ứng dụng liên quan tới biểu
diễn tri thức của lĩnh vực Hóa học nói chung và Hóa vô cơ nói riêng gần nhƣ vẫn chƣa
có nhiều thành tựu đáng kể ngoại trừ một số phần mềm ứng dụng mang tính đơn giản
và không chứa các yếu tố liên quan tới tri thức và xử lý tri thức.
Một ứng dụng phổ biến về hỗ trợ học Hóa học có thể kể đến là phần mềm “Từ
điển phƣơng trình Hóa học DCEv4.00” [21], phần mềm hỗ trợ tra cứu tìm kiếm
phƣơng trình phản ứng hóa học do nhóm học sinh trƣờng Lê Hồng Phong thực hiện.
Phần mềm thực hiện tra cứu các phƣơng trình phản ứng hóa học dựa trên thông tin về
4


chất tham gia, chất tạo thành. Kết quả trả về là các phản ứng tìm đƣợc cùng với thông
tin chi tiết về phản ứng đó. Chƣơng trình sử dụng các kĩ thuật cơ bản để so khớp thông
tin tìm kiếm và không có khả năng xử lý suy diễn trên các phản ứng tìm đƣợc.


Hình 1.3 Giao diện chính của DCE 2008

1.4. Các vấn đề cơ bản trong thiết kế hệ giải toán dựa trên tri
thức
1.4.1. Cấu trúc hệ thống
Hệ giải toán dựa trên tri thức là 1 hệ thống thông minh, có khả năng biểu diễn
đƣợc tri thức tự nhiên lên máy tính, có thể xử lý tri thức và suy luận giải quyết bài
toán 1 cách tự động. Hệ thống thông minh này phải có khả năng thực hiện suy luận
trên 1 miền tri thức cụ thể nào đó. Cấu trúc cơ bản của hệ thống này bao gồm các
thành phần nhƣ: Giao diện ngƣời dùng, cơ sở tri thức, bộ suy diễn, hệ thống phân tích
bài toán và hiệu chỉnh cơ sở tri thức [11]

5


Hiệu chỉnh cơ sở tri thức
KB Editor

Người dùng
User

Giao
diện

Bộ suy diễn
Inference Engine

Knowledge Base
Cơ sở tri thức


UI

Hê thống con giải thích
Explain System

Hình 1.4 Mô hình của hệ thống tự động suy diễn

Hai thành phần quan trọng nhất của 1 hệ tự động suy diễn chính là Cơ sở tri
thức và Bộ suy diễn. Cơ sở tri thức chính là trái tim của hệ thống, là nơi lƣu trữ tất cả
tri thức của 1 lĩnh vực cụ thể để máy tính có thể xử lý đƣợc. Bộ suy diễn là thành phần
sẽ đi tìm lời giải cho các bài toán bằng cách áp dụng tri thức có trong Cơ sở tri thức.
Cơ sở tri thức và Bộ suy diễn cần phải đƣợc tách biệt rõ ràng bởi vì:
-

Sự tách biệt giữa Cơ sở tri thức và Bộ suy diễn làm cho việc biểu diễn tri thức
tự nhiên hơn, gần gũi hơn với con ngƣời.

-

Sự tách biệt này nhằm tăng cƣờng tính module hóa cho toàn bộ hệ thống. Mỗi
module sẽ đƣợc giao 1 nhiệm vụ khác nhau giúp cho việc kiểm tra, nâng cấp
hay sửa lỗi hệ thống đƣợc dễ dàng hơn.

-

Tri thức là thành phần có thể thay đổi đƣợc bởi ngƣời sử dụng, còn bộ suy diễn
thƣờng đƣợc thiết kế để có thể hoạt động cả khi nội dung tri thức đã thay đổi.
Tuy nhiên, do mức độ phức tạp của tri thức nên việc cập nhật cơ sở tri thức cần
đƣợc giới hạn trƣớc trong 1 miền tri thức nào đó.


-

Sự tách biệt giữa 2 phần này còn giúp ta dễ dàng thử nghiệm nhiều chiến lƣợt
suy diễn trên cùng 1 cơ sở tri thức hay ngƣợc lại.

Giống nhƣ các hệ thống chứa thông tin khác, cơ sở tri thức sau khi thiết kế phải đả bảo
dễ dàng sử dụng, cập nhật khi cần thiết.

6


1.4.2. Biểu diễn tri thức
Biểu diễn tri thức là bài toán lớn đặt lên vai các nhà làm nghiên cứu trong lĩnh
vực Khoa học máy tính và Trí tuệ nhân tạo. Biểu diễn tri thức cơ bản là việc chuyển
đổi tri thức thực thành 1 kiểu biểu diễn khác để có thể lƣu trữ và xử lý trên máy tính.
Thành quả nghiên cứu nhiều năm của ngành Khoa học máy tính đã đề ra 4 phƣơng
pháp biểu diễn tri thức cơ bản nhƣ sau:
-

Các phương pháp biểu diễn bằng logic hình thức. Các phƣơng pháp này sử
dụng các biểu diễn hình thức để diễn đạt các sự kiện và các luật trong cơ sở tri
thức. Ngƣời ta thƣờng dùng ngôn ngữ lập trình PROLOG để biểu diễn phƣơng
pháp này.

-

Các phương pháp biểu diễn tri thức thủ tục. Loại phƣơng pháp này biểu diễn tri
thức nhƣ là một tập hợp các chỉ thị dùng cho giải quyết các bài toán. Chỉ thị
nhƣ thế thƣờng đƣợc thể hiện bởi tập các luật dẫn có dạng if … then…..


-

Các phương pháp biểu diễn dạng mạng. Biểu diễn mạng kiến thức nhƣ là một
đồ thị trong đó các đỉnh biểu diễn cho các khái niệm hay các đối tƣợng và các
cạnh biểu diễn quan hệ hay những sự kết hợp nào đó giữa các đối tƣợng và khái
niệm. Phổ biến nhất trong các phƣơng pháp loại này là các mạng ngữ nghĩa và
các đồ thị khái niệm.

-

Các phương pháp biểu diễn cấu trúc. Các ngôn ngữ biểu diễn cấu trúc cho
phép sử dụng các cấu trúc dữ liệu phức tạp và các cấu trúc dữ liệu trừu tƣợng
trong biểu diễn. Ví vụ nhƣ các khung (frames) và các đối tƣợng (objects).
Rõ ràng mỗi phƣơng pháp biểu diễn trên đều có ƣu và nhƣợc điểm riêng. Tri

thức tự nhiên vô cùng phong phú và đa dạng, do đó các chuyên gia khả định rằng
muốn xây dựng đƣợc một hệ cơ sở tri thức tốt cần phải vận dụng linh hoạt tất cả các
cách trên cùng với những cải tiến thay đổi khi cần thiết.

7


1.4.3. Bộ suy diễn tự động
Khi đã có 1 cơ sở tri thức tốt, việc quan trọng tiếp theo là xây dựng đƣợc bộ
suy diễn tự động trên cơ sở tri thức đó. Các phƣơng pháp suy diễn tự động đều hƣớng
tới mục tiêu là áp dụng tri thức trong cơ sở tri thức, phát sinh các sự kiện mới từ các
sự kiện đã có. Sau đây là 4 chiến lƣợt suy diễn tự động tƣơng đối khái quát:
-


Phương pháp hợp giải trong biểu diễn tri thức dưới dạng logic vị từ. Trong
phƣơng pháp biểu diễn logic hình thức ta đã sử dụng luật “Modus Ponens”, luật
“tam đoạn luận”.

-

Phương pháp suy diễn tiến (Forward chaining) nhƣ sau: “Chiến lƣợc suy luận
đƣợc bắt đầu bằng tập sự kiện đã biết, rút ra các sự kiện mới nhờ dùng các luật
mà phần giả thiết khớp với sự kiện đã biết, và tiếp tục quá trình nầy cho đến khi
thấy trạng thái đích, hoặc cho đến khi không còn luật nào khớp đƣợc các sự
kiện đã biết hay đƣợc sự kiện suy luận”.

-

Phương pháp suy diễn lùi (Backward chaining). Phƣơng pháp nầy đƣợc tiến
hành bằng cách truy ngƣợc từ mục tiêu cần đạt đƣợc trở về phần giả thiết của
bài toán bằng cách áp dụng các luật trong cơ sở tri thức. Quá trình suy diễn lùi
nầy sẽ phát sinh một sơ đồ cây mục tiêu kèm theo một cơ chế quay lui và lời
giải sẽ đƣợc tìm thấy khi tất cả các mục tiêu ở các nút lá của cây mục tiêu đều
thuộc về những sự kiện đã biết.

-

Kết hợp suy diễn tiến và suy diễn lùi. Mỗi phƣơng pháp suy diễn tiến và lùi đều
có ƣu nhƣợc điểm của nó. Việc kết hợp hai phƣơng pháp này một cách thích
hợp sẽ cho ta một phƣơng pháp suy diễn hiệu quả trong các ứng dụng cụ thể.

8



Chƣơng 2: MÔ HÌNH COKB
VÀ 1 SỐ CẢI TIẾN MỚI
2.1

Mô hình COKB 5 thành phần

2.1.1 Định nghĩa đối tƣợng tính toán (C-Object):
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:
(1) Một danh sách các thuộc tính Attrs = x1, x2,..., xn trong đó mỗi thuộc tính lấy
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ƣ:
 Xá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.
 Xác định tính giải đƣợc của bài toán suy diễn tính toán có dạng A  B với
A  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.
 Thực hiện các tính toán
 Thực hiện việc gợi ý bổ sung giả thiết cho bài toán
 Xem xét tính xác định của đối tƣợng, hay của một sự kiện.

2.1.2 Mô hình cho một C-Object
Một C-Object có thể đƣợc mô hình hoá bởi một bộ

(Attrs,F,Fact,Rules)


9


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 sự kiện vốn có của đối tƣợng

-

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

2.1.3 Mô hình tri thức các đối tƣợng tính toán (COKB)

(C, H, R, Ops, Rules)
[1] Một tập hơp C các khái niệm về các C-Object
Mỗi khái niệm là một lớp C-Object có cấu trúc và đƣợc phân cấp theo sự thiết
lập của cấu trúc đối tƣợng:
 [1] Các biến thực.
 [2] Các đối tƣợng cơ bản có cấu trúc rỗng hoặc có cấu trúc gồm một số
thuộc tính thuộc kiểu thực (ví dụ như DIEM không có thuộc tính giá trị

thực trong hình học phẳng). Các đối tƣợng loại nầy làm nền cho các đối
tƣợng cấp cao hơn.
 [3] Các đối tƣợng C-Object cấp 1. Loại đối tƣợng nầy có một thuộc tính
loại <real> và có thể đƣợc thiết lập từ một danh sách nền các đối tƣợng
cơ bản. Ví dụ: DOAN[A,B] và GOC[A,B,C] trong đó A, B, C là các đối
tƣợng cơ bản loại DIEM.
 [4] Các đối tƣợng C-Object cấp 2. Loại đối tƣợng nầy có các thuộc tính
loại real và các thuộc tính thuộc loại đối tượng cấp 1, và đối tƣợng có
thể đƣợc thiết lập trên một danh sách nền các đối tƣợng cơ bản. Ví dụ:
TAM_GIAC[A,B,C] và TU_GIAC[A,B,C,D], trong đó A, B, C, D là
các đối tƣợng cơ bản loại DIEM.
Cấu trúc bên trong của mỗi lớp đối tƣợng gồm:
10


 Tập các thuộc tính của đối tƣợng Attrs: trong đó mỗi thuộc tính lấy giá
trị trong 1 miền xác định.
 Tập các sự
Cùng với cấu trúc trên, đối tƣợng còn đƣợc trang bị các hành vi cơ bản trong
việc giải quyết các bài toán suy diễn và tính toán trên các thuộc tính của đối tƣợng,
bản thân đối tƣợng hay các đối tƣợng liên quan đƣợc thiết lập trên nền của đối tƣợng
(nếu đối tƣợng đƣợc thiết lập trên một danh sách các đối tƣợng nền nào đó). Các hành
vi cơ bản nầy của đối tƣợng C-Object sẽ đƣợc xem xét chi tiết hơn trong các mục sau.
[2] Một tập hơp H các quan hệ phân cấp giữa các loại đối tượng.
Trên tập hợp C ta có một quan hệ phân cấp theo đó có thể có một số khái niệm
là sự đặc biệt hóa của các khái niệm khác, chẳng hạn nhƣ một tam giác cân cũng là
một tam giác, một hình bình hành cũng là một tứ giác. Có thể nói rằng H là một biểu
đồ Hasse khi xem quan hệ phân cấp trên là một quan hệ thứ tự trên C.
[3] Một tập hơp R các khái niệm về các loại quan hệ trên các C-Object.
Mỗi quan hệ đƣợc xác định bởi <tên quan hệ> và các loại đối tƣợng của quan

hệ, và quan hệ có thể có một số tính chất trong các tính chất sau đây: tính chất phản
xạ, tính chất đối xứng, tính chất phản xứng và tính chất bắc cầu. Ví dụ: Quan hệ cùng
phƣơng trên 2 đoạn thẳng có các tính chất phản xạ, đối xứng và bắc cầu.
[4] Một tập hơp Ops các toán tử
Các toán tử cho ta một số phép toán trên các biến thực cũng nhƣ trên các đối
tƣợng, chẳng hạn các phép toán số học và tính toán trên các đối tƣợng đoạn và góc
tƣơng tự nhƣ đối với các biến thực.
[5] Một tập hơp Rules gồm các luật được phân lớp
Các luật thể hiện các tri thức mang tính phổ quát trên các khái niệm và các loại
sự kiện khác nhau. Mỗi luật cho ta một qui tắc suy luận để đi đến các sự kiện mới từ
các sự kiện nào đó, và về mặt cấu trúc nó gồm 2 thành phần chính là: phần giả thiết
của luật và phần kết luận của luật. Phần giả thiết và phần kết luận đều là các tập hợp
11


sự kiện trên các đối tƣợng nhất định. Nhƣ vậy, một luật r có thể đƣợc mô hình dƣới
dạng:
r : {sk1, sk2, ..., skn} -> { sk1, sk2, ..., skm }
Để mô hình luật dẫn trên có hiệu lực trong cơ sở tri thức và để có thể khảo sát các
thuật giải để giải quyết các bài toán, ta cần định nghĩa các dạng sự kiện khác nhau
trong các luật. Dƣới đây là định nghĩa cho 6 loại sự kiện khác nhau đƣợc xem xét
trong mô hình. [1]

2.2

Một số cải tiến mới

2.2.1 Mở rộng kiểu thuộc tính của C-Object
Đối tƣợng tính toán C-Object đƣợc giới thiệu từ năm 1997 là cơ sở cho sự hình
thành các mô hình biểu diễn tri thức sau nay nhƣ mô hình mạng các đối tƣợng tính

toán COKB, mô hình mạng tính toán mở rộng ECOKB cùng với rất nhiều bài báo
khoa học, nghiên cứu ứng dụng đã đƣợc xuất bản.
Dù đƣợc phát triển qua nhiều giai đoạn nhƣng C-Object vẫn đóng vai trò là
thành phần không thể thiếu trong việc biểu diễn khái niệm về nhóm đối tƣợng trong 1
miền tri thức cụ thể. Thành phần quan trọng nhất của C-Object chính là tập các thuộc
tính Attrs vì mỗi thuộc tính sẽ biểu diễn một tính chất đặc trƣng của đối tƣợng. Tập
các thuộc tính của 1 C-Object dùng để phân biệt nó với các C-Object khác.
Ví dụ:

-

Trong hình học ta có khái niệm "Tam Giác" với các thuộc tính: độ dài 3 cạnh
a,b,c; độ dài 3 góc A,B, C; diện tích S, chu vi P v.v…

-

Trong vật lý về mạch điện ta có khái niệm "Điện trở" với các thuộc tính: điện
trở R, cƣờng độ dòng điện I, hiệu điện thế U.

-

Trong hóa học có khái niệm "Nguyên tố" với các thuộc tính: Khối lƣợng riêng
M, Số hiệu nguyên tử Z, độ âm điện v.v..

12


Cho đến hiện nay, kiểu thuộc tính của đối tƣợng C-Object đƣợc định nghĩa là
"có kiểu thực, kiểu đối tượng cơ bản hay kiểu đối tượng cấp thấp hơn"[1] (Đối tƣợng
cơ bản là các đối tƣợng có thuộc tính kiểu thực, đối tƣợng cấp 1 đƣợc định nghĩa từ

đối tƣợng cơ bản và kiểu thực, định nghĩa tƣơng tự cho các đối tƣợng cấp lớn hơn.).
Chú ý: định nghĩa trên đƣợc xét trong 1 miền tri thức cụ thể với các đối tƣợng đƣợc
phân cấp.
Ràng buộc về kiểu thuộc tính của đối tƣợng ở trên, mỗi thuộc tính chỉ có thể
đƣợc gán 1 giá trị duy nhất. Tuy nhiên, trong thực tế có nhiều trƣờng hợp yêu cầu
phức tạp hơn khi biểu diễn giá trị thuộc tính của đối tƣợng.
Ví dụ

-

Với khái niệm "Hỗn hợp" trong Hóa học. Nhƣ đã biết, khái niệm Hỗnhợp là tập
hợp các chất cùng trạng thái vật lý và không tác dụng với nhau ở điều kiện
thƣờng. Vậy thuộc tính gì của "Hỗn hợp" có thể biểu diễn đƣợc tập các chất mà
"Hỗn hợp" đó có?

-

Trong bài toán hóa học, ngƣời ta thƣờng đƣa ra 1 thí nghiệm. Nếu gọi đây là 1
đối tƣợng "Thí nghiệm" thì tập thuộc tính của nó cần lƣu trữ thông tin về các
chất tham gia, các chất tạo thành, chuỗi phản ứng xảy ra trong thí nghiệm (vì
thí nghiệm có thể có nhiều phản ứng xảy ra liên tiếp), các sản phẩm trung gian
tạo thành trong chuỗi phản ứng đó v.v…

-

Tƣơng tự nhƣ trong Vật lý, khi nói về đối tƣợng "Mạch điện", chƣa cần biết
mạch điện đó đơn giản hay phức tạp, nhƣng khi nói tới đối tƣợng "Mạch điện"
ta cần phải biết thông tin về các thiết bị điện mà nó sử dụng trong mạch.

-


Mở rộng hơn vào trong lĩnh vực xã hội, nếu định nghĩa khái niệm "Hộ gia
đình" ngoài các thuộc tính nhƣ "địa chỉ", "điện thoại", "thu nhập", ta cần phải
có 1 thuộc tính lƣu trữ danh sách các thành viên trong gia đình. Mỗi thành viên
là 1 đối tƣợng thuộc kiểu "Con ngƣời".
Và còn nhiều loại đối tƣợng trong các lĩnh vực khác nhau chứa thông tin tƣơng

tự nhƣ trên. Ta thấy nếu áp dụng lý thuyết về C-Object hiện tại để áp dụng biểu diễn
tri thức cho các trƣờng hợp này là không thể. Ta cần phải thay đổi, cải tiến C-Object
13


để giải quyết các trƣờng hợp này. Trong báo cáo này sẽ đề ra giải pháp là mở rộng
kiểu thuộc tính của C-Object.
Nội dung cụ thể về mở rộng kiểu thuộc tính của C-Object nhƣ sau.
Ta mở rộng kiểu thuộc tính của C-Object thêm 3 kiểu dƣới đây

list( TYPE )
set( TYPE )
dict( TYPE1, TYPE2)
Với TYPE, TYPE1, TYPE2 là tên kiểu dữ liệu, bao gồm các kiểu dữ liệu cơ
bản, kiểu khái niệm đã được định nghĩa thêm trong tập C, kiểu list, set hoặc dict.
list(TYPE)
Một thuộc tính có kiểu dữ liệu là list( TYPE ) thể hiện một danh sách có thứ tự
mà các thành phần trong danh sách là các đối tƣợng thuộc kiểu TYPE. Trong trƣờng
hợp ta không quan tâm tới kiểu giá trị của từng thành phần trong danh sách, TYPE có
thể bằng rỗng (NULL)
Ví dụ:

-


Trong một thí nghiệm hóa học, các phản ứng hóa học xảy ra một cách lần lƣợt,
phản ứng này xảy ra trƣớc, phản ứng kia xảy ra ngay sau khi phản ứng này kết
thúc. Chẳng hạn, khi ta cho vào dung dịch chứa
nhôm



một lƣợng dƣ

thì phản ứng sẽ xảy ra lần lƣợt nhƣ sau:
có tính oxi-hóa mạnh hơn

Sau khi lƣợng
đầu tác dụng với

nên sẽ tác dụng trƣớc với chất khử

tác dụng hết, thì khi đó các phân tử trong
.

14

.

mới bắt


Để mô tả một thí nghiệm, ta có các thuộc tính nhƣ "State" dùng để chỉ trạng
thái của các chất có trong thí nghiệm tại một thời điểm, và "Phases" dùng để

chỉ các pha phản ứng xảy ra giữa các thời điểm trong thí nghiệm. Vậy
State có kiểu dữ liệu là list(list("Chất")) và
Phases có kiểu dữ liệu là list("Phản ứng")
Ứng với thí nghiệm trên, ta có:
State = [ [Fe2+, Cu2+, Al], [Fe2+, Al, Cu, Al3+], [Al, Cu, Al3+, Fe] ]
,

Phases[

]

set( TYPE )
Một thuộc tính có kiểu là set( TYPE ) biểu diễn cho một tập hợp các đối tƣợng
có kiểu là TYPE. Với set, ta không quan tâm tới thứ tự sắp xếp của chúng.TYPE =
NULL khi ta không cần quan tâm tới kiểu dữ liệu của các thành phần bên trong tập
hợp.
Ví dụ:

-

Quay trở lại với khái niệm "Hỗn hợp", một hỗn hợp sẽ có các chất tạo thành
nên nó. Ta gọi thuộc tính chỉ các chất tạo thành nên hỗn hợp có tên là
"Components". Thuộc tính "Components" của một hỗn hợp sẽ có kiểu dữ liệu
là set("Chất")

-

Chẳng hạn, hỗn hợp gồm 3 kim loại Al, Fe, Cu có thuộc tính Component nhƣ
sau:
Components = { ch_Al, ch_Fe, ch_Cu }

Chú ý: ch_Al, ch_Fe, ch_Cu là tên đối tƣợng dùng để biểu diễn cho 3 kim loại
Al, Fe và Cu.
Đối với khái niệm "Mạch điện", ta cũng gọi thuộc tính chứa các thành phần
trong mạch điện là "Componets", có kiểu là set(). Do trong mạch điện có thể có

15


×