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

XÂY DỰNG PHƯƠNG PHÁP GIẢI QUYẾT vấn đề TRÊN cơ sở TRI THỨC DẠNG COKB

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 (10.87 MB, 100 trang )

ĐẠI HỌC QUỐC GIA TP.HCM
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN


VÕ THÀNH NHÂN

XÂY DỰNG PHƯƠNG PHÁP GIẢI QUYẾT VẤN
ĐỀ TRÊN CƠ SỞ TRI THỨC DẠNG COKB
LUẬN VĂN THẠC SĨ NGÀNH KHOA HỌC MÁY TÍNH
Mã số: 60.48.01.01

NGƯỜI HƯỚNG DẪN KHOA HỌC:

PGS.TS ĐỖ VĂN NHƠN

TP HỒ CHÍ MINH – NĂM 2016.


LỜI CẢM ƠN

Tôi xin bày tỏ lòng biết ơn chân thành đến PGS.TS Đỗ Văn Nhơn, người thầy đã tận
tâm, nhiệt tình hướng dẫn và chỉ bảo cho tôi trong suốt quá trình thực hiện đề tài.
Tôi xin dành tặng kết quả của công trình này cho gia đình bé nhỏ của tôi, đặc biệt là vợ
tôi, người đã tạo rất nhiều điều kiện thuận lợi để tôi hoàn thành được luận văn này.
Dù luận văn đã đạt được một số kết quả nhất định, nhưng vẫn không tránh khỏi thiếu
sót. Rất mong nhận được sự góp ý từ quý thầy cô và các bạn để công trình này được
hoàn thiện hơn. Mọi ý kiến xin gửi e-mail về

Võ Thành Nhân



LỜI CAM ĐOAN

Tôi xin cam đoan đây là công trình nghiên cứu của riêng tôi, các số liệu và kết quả
nghiên cứu nêu trong luận văn là trung thực và chưa từng được công bố trong bất kì
công trình nào. Tôi xin chịu trách nhiệm hoàn toàn về công trình nghiên cứu của mình.
Tp. Hồ Chí Minh, ngày 1 tháng 11 năm 2016

Võ Thành Nhân


Mục lục
DANH MỤC KÝ HIỆU, CHỮ VIẾT TẮT ..................................................................... 4
DANH MỤC HÌNH VẼ ................................................................................................... 5
MỞ ĐẦU .......................................................................................................................... 6
CHƯƠNG 1. TỔNG QUAN ............................................................................................ 8
1.1 TỔNG QUAN BIỂU DIỄN TRI THỨC VÀ SUY LUẬN TRÊN MÁY TÍNH ... 8
1.1.1 Khái niệm về tri thức....................................................................................... 8
1.1.2 Các phương pháp biểu diễn tri thức trên máy tính .......................................... 9
1.1.3 Các phương pháp suy luận trên máy tính...................................................... 11
1.1.4 Hệ giải toán thông minh trong lĩnh vực giáo dục ........................................ 13
1.2 MỘT SỐ CÔNG TRÌNH LIÊN QUAN TRONG LĨNH VỰC GIẢI TOÁN TỰ
ĐỘNG ........................................................................................................................ 16
1.3 MỤC TIÊU VÀ PHẠM VI CỦA LUẬN VĂN ................................................... 18
CHƯƠNG 2. MÔ HÌNH TRI THỨC DẠNG COKB .................................................... 19
2.1 MÔ HÌNH TRI THỨC COKB 6 THÀNH PHẦN ............................................... 19
2.1.1 Đối tượng tính toán ....................................................................................... 19
2.1.2 Các thành phần của mô hình COKB 6 thành phần ....................................... 20
2.1.3 Các loại sự kiện ............................................................................................. 21
2.1.4 Vấn đề trên mô hình COKB 6 thành phần .................................................... 24
2.2 MÔ HÌNH TRI THỨC DẠNG COKB ................................................................ 25

2.2.1 Cơ sở tri thức dạng COKB ............................................................................ 25
2.2.2 Quan hệ bao hàm giữa 2 CSTT dạng COKB ................................................ 26
1


2.2.3 Mở rộng tri thức cho CSTT dạng COKB...................................................... 27
2.2.4 Cú pháp mô tả extension ............................................................................... 29
2.2.5 Cơ chế hoạt động của extension.................................................................... 30
2.2.6 Một số khái niệm và quy ước cơ bản ............................................................ 31
2.2.7 Manifest của một CSTT dạng COKB .......................................................... 32
2.3 Tổ chức lưu trữ CSTT dạng COKB .................................................................... 33
2.3.1 Cấu trúc lưu trữ các thành phần .................................................................... 33
2.3.2 Cấu trúc các file ............................................................................................ 34
2.4 Ví dụ thiết kế CSTT dạng COKB ....................................................................... 37
CHƯƠNG 3. VẤN ĐỀ TRÊN CÁC CƠ SỞ TRI THỨC DẠNG COKB ..................... 39
3.1 MÔ HÌNH VẤN ĐỀ ........................................................................................... 39
3.1.1 Phát biểu vấn đề ............................................................................................ 39
3.1.2 Mô hình hóa vấn đề ....................................................................................... 40
3.1.3 Đặc tả vấn đề trên các CSTT dạng COKB.................................................... 41
3.2 Phân lớp các sự kiện của vấn đề .......................................................................... 42
3.2.1 Biểu thức cấu trúc của sự kiện ...................................................................... 44
3.2.2 Quy tắc sinh ra biểu thức cấu trúc của sự kiện ............................................. 49
3.3 THUẬT GIẢI SUY LUẬN .................................................................................. 50
3.3.1 Tiền xử lý các CSTT ..................................................................................... 50
3.3.2 Thuật giải suy luận tổng quát ........................................................................ 52
3.3.3 Các thành phần chính của thuật giải suy luận ............................................... 59
3.4 MỘT SỐ VẤN ĐỀ KĨ THUẬT VÀ GIẢI PHÁP ............................................... 60
3.4.1 Suy luận trên nhiều CSTT ............................................................................. 60
3.4.2 Vấn đề hợp nhất sự kiện ................................................................................ 64
2



3.4.3 Vấn đề tìm luật áp dụng ................................................................................ 65
3.4.4 Vấn đề tìm và giải phương trình, hệ phương trình........................................ 68
CHƯƠNG 4. THIẾT KẾ ỨNG DỤNG VÀ THỬ NGHIỆM ........................................ 71
4.1 Phạm vi ứng dụng ................................................................................................ 71
4.2 Thiết kế ứng dụng ................................................................................................ 71
4.2.1 Thiết kế CSTT ............................................................................................... 72
4.2.2 Thiết kế động cơ suy diễn ............................................................................. 76
4.3 Các ví dụ minh họa .............................................................................................. 78
4.4 Kết quả thử nghiệm .............................................................................................. 88
CHƯƠNG 5. KẾT LUẬN.............................................................................................. 90
5.1 Các kết quả đạt được ............................................................................................ 90
5.2 Các hạn chế .......................................................................................................... 91
5.3 Hướng phát triển .................................................................................................. 92
TÀI LIỆU THAM KHẢO .............................................................................................. 93
PHỤ LỤC ....................................................................................................................... 95

3


DANH MỤC KÝ HIỆU, CHỮ VIẾT TẮT

TỪ VIẾT ĐẦY ĐỦ

TỪ VIẾT TẮT
CSTT
COKB

IPS


IPSE

MÔ TẢ

Cơ sở tri thức
Computational

Knowledge Cơ sở tri thức các đối

Objects

tượng tính toán.

Base

Hệ giải bài toán thông

Intelligent Problem Solvers

Intelligent

Problem

Solvers

Education

minh.
in


Hệ giải bài toán thông
minh trong lĩnh vực giáo
dục.

4


DANH MỤC HÌNH VẼ

Hình 1.1 Phân loại tri thức về mặt hình học ……………………………………………… 9
Hình 1.2 Các thành phần cơ bản, điển hình của một hệ CSTT………………………….... 15
Hình 2.2 Cấu trúc lưu trữ CSTT dạng COKB ……………………………………………. 33
Hình 4.1 Quan hệ phân cấp trên các khái niệm hình học phẳng………………………….. 74

5


MỞ ĐẦU

Mục tiêu tối thượng của ngành trí tuệ nhân tạo là tạo ra những chiếc máy tính có khả
năng nhận thức, suy luận và phản ứng. Nhận thức là sự quan sát, học hỏi và nhận biết
về môi trường sống xung quanh giúp hình thành nên những hiểu biết sơ khai về giới tự
nhiên của loài người. Suy luận là khả năng vận dụng các hiểu biết vào các hoàn cảnh
cụ thể. Phản ứng là kết quả của quá trình nhận thức và suy luận để có hành động phù
hợp trong điều kiện cụ thể để rồi từ đó rút tỉa kinh nghiệm, đánh giá lại và hoàn thiện
vốn tri thức đã có. Như vậy, tri thức vừa là điểm khởi đầu vừa là điểm kết thúc trong
quá trình nhận thức, suy luận và phản ứng. Và vì vậy nó là chất liệu đầu tiên của mọi
hệ thống có tính thông minh.
Vì lý do đó việc nghiên cứu các phương pháp biểu diễn tri thức và các thuật toán suy

diễn tự động là các vấn đề cơ bản, cốt yếu trong việc xây dựng các hệ thống thông
minh, đặc biệt là trong hệ giải các bài toán thông minh. Theo quá trình phát triển, khi
mà ngày càng có nhiều hệ cơ sở tri thức được xây dựng để giải quyết các vấn đề thực
tiễn của xã hội hay khi tri thức cần biểu diễn cho một lĩnh vực là rộng lớn và phức tạp,
thì nhu cầu tái sử dụng lại các tri thức đã được biểu diễn trong các cơ sở tri thức khác
là một nhu cầu tự nhiên và hợp lý. Nó giống như nhu cầu tái sử dụng lại các thành phần
phần mềm để xây dựng phần mềm mới trong công nghệ phần mềm. Điều này có một
số lợi ích rất lớn như:
 Đảm bảo tính tin cậy, ổn định của hệ thống vì các tri thức tái sử dụng đã được
kiểm chứng qua các ứng dụng trước đó.
 Làm giảm tính phức tạp, chi phí khi xây dựng hệ cơ sở tri thức mới. Từ đó giúp
kiểm soát quá trình xây dựng ứng dụng được tốt hơn.
 Góp phần làm tăng tốc quá trình xây dựng ứng dụng, đưa chúng đến tay người
dùng sớm hơn.

6


Mô hình tri thức COKB (Computational Objects Knowledge Base)đã được chứng minh
là rất hữu ích cho việc xây dựng CSTT cho các hệ thống thông minh trên các miền tri
thức phức tạp trong thực tiễn vì nó biểu diễn được nhiều khía cạnh của tri thức như:
các quan hệ, sự kế thừa, sự tương tác giữa các đối tượng thông qua các toán tử và các
luật. Tuy nhiên, từ lúc ra đời cho đến nay, các công trình nghiên cứu về mô hình
COKB chỉ xoay quanh các phương pháp giải bài toán dựa trên một CSTT duy nhất,
chưa đề cập đến các phương pháp biểu diễn tri thức và suy luận để giải quyết vấn đề
mà phối hợp nhiều CSTT COKB khác nhau.
Từ sự nhận xét trên, luận văn sẽ tập trung trình bày các phương pháp biểu diễn tri thức
và các thuật toán suy luận mà phối hợp nhiều CSTT COKB khác nhau. Bên cạnh đó
luận văn cũng nêu ra một số vấn đề và giải pháp cho cách tiếp cận này. Dựa trên cơ sở
lý thuyết này, luận văn sẽ cài đặt một ứng dụng giải toán hình học giải tích 2 chiều cho

các lớp bài toán phức tạp mà cần phải vận dụng các kiến thức của hình học phẳng
thuần túy và hình học giải tích để giải. Với cách tiếp cận xây dựng hệ giải toán thông
minh phối hợp nhiều CSTT COKB khác nhau, luận văn hy vọng các kết quả đạt được
sẽ có ý nghĩa, lợi ích về cả mặt lý thuyết và cài đặt như sau:
 Về mặt lý thuyết: các kết quả này sẽ bổ sung vào mô hình COKB một phương
pháp biểu diễn và kỹ thuật xử lý tri thức từ nhiều CSTT khác nhau để giải
quyết vấn đề. Điều này sẽ góp phần tăng cường năng lực giải quyết vấn đề của
mô hình COKB với các vấn đề trong thực tiễn, làm cơ sở cho việc xây dựng
các ứng dụng mà có tri thức phức tạp và trãi rộng trên nhiều lĩnh vực.
 Về mặt cài đặt: Khác với các công trình nghiên cứu trước đây về COKB khi
mà toàn bộ phần xử lý tri thức và thuật giải suy luận đều cài đặt thử nghiệm
bằng MAPLE, luận văn cài đặt hầu hết bằng ngôn ngữ lập trình JAVA, chỉ một
số ít thủ tục giải phương trình và tính toán biểu thức đại số mới dùng MAPLE.
Điều này giúp tận dụng được các design pattern, kĩ thuật thiết kế phần mềm
hiện đại góp phần thúc đẩy xây dựng các ứng dụng mô hình COKB theo hướng
công

nghiệp.
7


Chương 1. Tổng quan

CHƯƠNG 1. TỔNG QUAN

1.1 TỔNG QUAN BIỂU DIỄN TRI THỨC VÀ SUY LUẬN TRÊN MÁY
TÍNH
1.1.1 Khái niệm về tri thức
Tri thức là sự hiểu biết về một vấn đề trong một lĩnh vực cụ thể nào đó, ví dụ hiểu biết
về toán học, vật lý, y khoa, luật, khoa học về hành vi con người… Tuy nhiên, từ góc độ

của khoa học máy tính, tri thức của một hệ chuyên gia thường gắn liền với một lĩnh
vực xác định, hẹp hơn, chẳng hạn như hiểu biết về các căn bệnh nhiễm trùng máu. Mức
độ hỗ trợ (thành công) của một hệ chuyên gia phụ thuộc vào chất lượng tri thức mà nó
biểu diễn được. Tri thức trong các lĩnh vực ứng dụng là vô cùng phong phú và đa dạng.
Có nhiều loại tri thức khác nhau, dựa vào đặc trưng, công dụng của từng loại tri thức
người ta có thể phân thành các loại như đã đề cập trong [1], [2]:
 Tri thức thủ tục mô tả cách thức giải quyết một vấn đề. Loại tri thức này đưa
ra giải pháp để thực hiện một công việc nào đó. Các dạng tri thức thủ tục tiêu
biểu thường là các luật, chiến lược, lịch trình, và thủ tục.
 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 đúng hoặ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 thứ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
8


Chương 1. Tổng quan

xác về kết quả giải quyết vấn đề. Các chuyên thường dùng các tri thức khoa
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ái niệ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ựa theo cấu trúc xác định.
Các miền tri thức không hoàn toàn tách rời nhau mà có sự giao thoa, mở rộng và kế
thừa tri thức từ các lĩnh vực khác theo các cách khác nhau. Về mặt hình học, ta có thể
phân chia các miền tri thức thành một trong 3 dạng sau đây:

Hình 1.1 Phân loại tri thức về mặt hình học.

Hình bện trái biểu diễn hai miền tri thức rời nhau (ví dụ như toán học và hóa học), hình
ở giữa biểu diễn hai miền tri thức chồng lấn nhau nhau (ví dụ giải tích và đại số) và
hình cuối cùng biểu diễn hai miền tri thức mà miền tri thức A chứa và mở rộng
(extension) từ miền tri thức B (ví dụ hình học và hình học giải tích).

1.1.2 Các phương pháp biểu diễn tri thức trên máy tính
Các kĩ thuật biểu diễn tri thức phụ thuộc rất lớn vào đặc trưng tri thức của một lĩnh vực
xác định. Với cách biểu diễn hợp lý, ta có thể giải quyết các vấn đề đưa vào theo các
đặc tính có liên quan đến tri thức đã có. Trong khoa học trí tuệ nhân tạo, chất lượng
hoạt động của một hệ chuyên gia phụ thuộc rất lớn vào CSTT đã có, cho nên việc
9


Chương 1. Tổng quan

nghiên cứu các phương pháp biểu diễn tri thức có nghĩa rất lớn về lý thuyết cũng như
trong ứng dụng. Hiện nay có nhiều mô hình biểu diễn tri thức khác nhau đã được
nghiên cứu và ứng dụng trong nhiều miền tri thức khác nhau. Về các phương pháp và
kĩ thuật biểu diễn tri thức, trong các tài liệu kinh điển về trí tuệ nhân tạo đã trình bày
khá rõ các phương pháp biểu diễn tri thức truyền thống như: logic vị từ, hệ luật dẫn,
mạng ngữ nghĩa hay bằng các cấu trúc phức tạp như frame, class…Mặc dù các phương
pháp này đều hữu ích trong quá trình xây dựng các hệ thống CSTT nhưng chúng nhanh
chóng gặp trở ngại khi đối diện với các lĩnh vực tri thức phức tạp. Lý do là các mô hình

này chỉ biểu diễn một hoặc một vài khía cạnh của tri thức. Sau đây, luận văn sẽ tóm
lược các phương pháp biểu diễn tri thức đã đề cập chi tiết trong các tài liệu ([1], [2],
[4], 10]):
 Biểu diễn tri thức dựa trên logic vị từ: các phương pháp này sử dụng các
biểu thức logic hình thức để diễn đạt các sự kiện và các luật trong CSTT. Các
thủ tục suy luận sẽ áp dụng kiến thức vào các bài toán cụ thể. Phép tính logic vị
từ cấp 1 được sử dụng phổ biến nhất và có cả một ngôn ngữ lập trình hỗ trợ cho
phương pháp này là PROLOG.
 Biểu diễn tri thức bằng hệ luật dẫn: 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 luật dẫn dạng If <facts> then <facts> dùng cho việc
giải quyết các bài toán. Đây là dạng biểu diễn tri thức phổ biến nhất và dùng rất
nhiều trong các hệ chuyên gia.
 Biểu diễn dạng mạng ngữ nghĩa: mô tả tri 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 các
quan hệ hay những sự kết hợp nào đó giữa các đối tượng và các khái niệm. Một
dạng biểu diễn tri thức tương tự mạng ngữ nghĩa là đồ thị khái niệm.
 Biểu diễn tri thức bằng các cấu trúc dữ liệu phức tạp: các mô hình này 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 tri thức. Ví dụ như các khung (frames) và các lớp (classes).
Frame là một cấu trúc dữ liệu chứa đựng tất cả những tri thức chung cho một
10


Chương 1. Tổng quan

lớp các đối tượng, nó là một tiếp cận hướng đối tượng trong biểu diễn tri thức.
Một frame chứa trong nó một khối lượng tương đối lớn tri thức về các đặc tính,
tính chất chung phổ biến của các đối tượng trong cùng một lớp. Do đó, frame
giúp ta mô tả chi tiết một đối tượng, thường dùng để biểu diễn những tri thức
chuẩn, ổn định và đã được kiểm chứng. Script và Class cũng là những cách

biểu diễn tri thức như frame trong đó có các thuộc tính và các hành vi. Ở
Script, thay vì đặc tả một đối tượng, nó mô tả một chuỗi các sự kiện
 Biểu diễn tri thức bằng Ontology: trong [1] có giới thiệu một tiếp cận biểu
diễn các tri thức theo phong cách “triết học” đó là các ontology. Thuật ngữ
ontology xuất phát từ triết học, với ý nghĩa là sự diễn giải có hệ thống bản chất
của sự vật. Ngày nay, nghĩa của từ ontology không còn bó hẹp trong phạm vi
nhỏ mà được phát triển rộng hơn, sử dụng rộng rãi trong công nghệ tri thức, trí
tuệ nhân tạo và khoa học máy tính, trong nhiều ứng dụng liên quan đến quản lý
tri thức, xử lý ngôn ngữ tự nhiên, thương mại điện tử, truy xuất thông tin, giáo
dục…. Biểu diễn tri thức dùng ontology nhằm biểu diễn tất cả các thực thể theo
một quy ước chung về ngôn ngữ, cú pháp, từ vựng. Tuy nhiên, vì mang tính
tổng quát và trừu tượng như thế nên khi áp dụng vào khoa học máy tính ta sẽ
phải cụ thể hóa cho một lĩnh vực xác định thì mới có thể xây dựng được các
thuật toán suy luận từ các khái niệm, thực thể được mô tả trong ontology.

1.1.3 Các phương pháp suy luận trên máy tính
Như đã đề cập ở phần trên, biểu diễn tri thức trong máy tính là để phục vụ cho quá
trình suy diễn tự động để giải quyết vấn đề (bài toán) dựa trên tri thức. Vì vậy bên cạnh
mô hình biểu diễn tri thức, thì vấn đế suy luận trên mô hình cũng được nghiên cứu rất
đa dạng. Trên cơ sở suy luận thực tế của con người gồm các loại suy luận: suy diễn
dạng diễn dịch (Deductive reasoning) là dạng suy diễn đi từ những tri thức mang tính
chân lý, trừu tượng áp dụng vào một trường hợp cụ thể, suy diễn dạng quy nạp
(Inductive reasoning), suy diễn tương tự (Analogical reasoning): là dạng suy diễn đi từ
11


Chương 1. Tổng quan

những dữ liệu chắc chắn để suy diễn cho một giả thuyết có liên quan. Dựa trên các loại
suy diễn ấy, trong ngành trí tuệ nhân tạo, đã đề xuất các dạng suy diễn để sử dụng cho

các mô hình biểu diễn tri thức như đã được mô tả trong [1], [2], [10]:
 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 tri thức theo logic vị từ ta đã sử dụng các luật suy diễn
như 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 (forward chaining): Trong [14] tác giả có nêu lên
định nghĩa cho phép suy diễn tiến 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 CSTT. 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 2 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ể.
Trong các hệ thống thông minh, CSTT và động cơ suy diễn là hai thành phần không
thể tách rời. Hiện nay, chiến lược suy diễn tiến và suy diễn lùi vẫn là phương pháp chủ
đạo trong các mô hình biểu diễn tri thức. Gọi là chiến lược vì để vận dụng các phương
pháp suy diễn này ta phải chi tiết vào vấn đề cần giải quyết, thay đổi và uốn nắn cho
phù hợp với vấn đề đó. Để các phương pháp suy diễn hoạt động hiệu quả cần phải mô
phỏng các kinh nghiệm của con người trong quá trình giải quyết vấn đề. Vì thế các
12


Chương 1. Tổng quan


phương pháp đều sử dụng kết hợp với các quy tắc heuristic. Việc sử dụng các heuristic
này giúp cho quá trình suy luận nhanh hơn, mô phỏng được tư duy của con người tốt
hơn, đồng thời cho lời giải của vấn đề một cách chính xác hơn.

1.1.4 Hệ giải toán thông minh trong lĩnh vực giáo dục
Hệ giải bài toán thông minh trong lĩnh vực giáo dục (IPSE) là một hệ chuyên gia dùng
trong lĩnh vực giáo dục có chức năng cơ bản là hỗ trợ người dùng giải các vấn đề (bài
toán) trong quá trình học tập (nó là một thu hẹp của IPS trong lĩnh vực giáo dục), thỏa
mãn hai tính chất cơ bản như đã được chỉ ra trong [16]:
 Cung cấp lời giải (toàn bộ hay một phần) một cách tự động đối với một vấn đề
(bài toán) cho trước dựa trên một (hoặc nhiều) cơ sở tri thức mà biểu diễn các
tri thức về lĩnh vực của vấn đề (bài toán). Trình bày lời giải phù hợp với tư duy
và cách viết bình thường của con người sao cho càng tự nhiên càng tốt.
 Cho phép người dùng tìm kiếm tri thức quan tâm. Điển hình người dùng có thể
cung cấp từ khóa về một khái niệm, tính chất, định lý hay các quan hệ hoặc một
công thức tính toán. Hệ thống sẽ đề xuất các tri thức kết quả có liên hệ về mặt
ngữ nghĩa nhất với từ khóa cần tìm kiếm để giúp người dùng xác định tri thức
(hay các dạng bài toán) cần thiết một cách nhanh chóng.
Tiến trình giải một vấn đề (bài toán) trong ISPE có thể tóm lược theo tuần tự các bước
sau đây:
1. Đầu tiên, người dùng mô tả các vấn đề của mình bằng một cú pháp (được quy
ước trước) đơn giản, gần gũi với ngôn ngữ tự nhiên nhưng đảm bảo mô tả
được vấn đề của người dùng.
2. Từ vấn đề phát biểu theo dạng ở trên, một thủ tục sẽ được dùng để chuyển vấn
đề sang dạng ngôn ngữ đặc tả, rồi sau đó một thủ tục khác sẽ được gọi để
“biên dịch” vấn đề ở ngôn ngữ đặc tả vào các cấu trúc dữ liệu có thể được xử
lý bởi động cơ suy diễn.
13



Chương 1. Tổng quan

3. Động cơ suy diễn tiến hành phân tích vấn đề và thực hiện các chiến lược suy
diễn (suy diễn tiến, suy diễn lùi, suy diễn với heuristic) để tìm lời giải khả dĩ
cho vấn đề.
4. Nếu một lời giải được tìm thấy, động cơ suy diễn sẽ tiến hành phân tích lời
giải này để loại bỏ những sự kiện, bước giải dư thừa và sinh ra một lời giải tốt
hơn. Từ lời giải tốt hơn này, hệ thống sẽ trình bày nó theo một dạng thức mà
con người có thể dễ dàng đọc và hiểu.
Ngoài chức năng cơ bản như trên thì giống như mọi hệ cơ sở tri thức khác, nó cũng có
tính năng cho phép cập nhật, thêm, xóa các tri thức trong các cơ sở tri thức cũng như
các giao diện người dùng đồ họa (Graphics User Interface) cho phép người dùng sử
dụng hệ thống một cách dễ dàng và thoải mái. Trong [16], còn đề cập đến kiến trúc hệ
thống của một IPS và tiến trình thiết kế một IPS. Một cách vắn tắt thì một IPS gồm có
các thành phần sau đây:
 Cơ sở tri thức: chứa các tri thức liên quan đến lĩnh vực mà hệ thống hướng tới.
Ví dụ, nếu là hệ giải toán hình học phẳng thì tri thức sẽ là các khái niệm, định
lý, tính chất trong hình học phẳng. Các tri thức lĩnh vực này sẽ được biểu diễn
theo một mô hình tri thức xác định trước và được lưu trữ theo dạng văn bản có
cấu trúc, để có thể xử lý được bởi động cơ suy diễn.
 Động cơ suy diễn: là bộ não của hệ thống, nó sử dụng các tri thức trong CSTT
và thực hiện các chiến lược suy diễn thích hợp trên các tri thức này nhằm tìm
ra lời giải cho một vấn đề, bài toán mà hệ thống cần giải quyết
 Thành phần giải thích: chứa những mô tả cho người dùng biết vì một sự kiện
mới được sinh ra (do áp dụng một tri thức nào đó có thể không hiển nhiên mà
phải trãi qua một số bước suy diễn, áp dung một số tri thức mới suy luận ra
được sự kiện đó).
 Các cấu trúc dữ liệu trên bộ nhớ trong (working memory): Các tri thức trong
CSTT sẽ được chuyển hóa vào trong các cấu trúc dữ liệu sao cho động cơ suy
diễn có thể dễ dàng thao tác trên các tri thức đó như cập nhật trạng thái cho

14


Chương 1. Tổng quan

một đối tượng, sinh ra các sự kiện mới, nhận về thông tin các sự kiện trong
một luật…
 Bộ quản lý tri thức: giúp cập nhật các tri thức trong CSTT cũng như cung cấp
chức năng tìm kiếm các tri thức cần thiết cho người dùng. Đồng thời nó cũng
kiểm tra các tri thức trong hệ thống có mâu thuẫn hay không.
 Giao diện người dùng: gồm các thành phần giao diện đồ họa người dùng
(GUI) nhằm giúp người dùng làm việc với hệ thống một cách đơn giản và
thoải mái nhất có thể.
Hình 1.2 minh họa cấu trúc của một IPS

Hình 1.2 Các thành phần cơ bản, điển hình của một hệ IPS.

Việc thiết kế một hệ thống IPS là khó khăn và phức tạp. Nhưng tựu trung là nỗ lực xây
dựng các thành phần cơ bản như trong kiến trúc của hệ thống đã chỉ ra. Trong [16], đã
mô tả rất chi tiết về các bước thiết kế một hệ thống IPS, ở đây luận văn chỉ ghi lại các
bước cần thực hiện:
1. Thu thập tri thức liên quan đến lĩnh vực mà hệ thống cần xử lý.
2. Chọn mô hình biểu diễn phù hợp cho các tri thức trên.
3. Tổ chức, lưu trữ mô hình tri thức ở bộ nhớ ngoài (thường dùng các tập tin văn
bản có cấu trúc).
15


Chương 1. Tổng quan


4. Mô hình hóa vấn đề và thiết kế thuật giải suy luận làm việc trên mô hình vấn
đề đó.
5. Tạo ra một ngôn ngữ truy vấn cho mô hình tri thức đã chọn làm cơ sở cho việc
cài đặt các thuật toán tìm kiếm tri thức.
6. Thiết kế giao diện người dùng và cài đặt hệ thống sử dụng các công cụ lập
trình thông dụng và các hệ đại số máy tính để hỗ trợ các tính toán hình thức.
7. Kiểm thử, đưa hệ thống vào sử dụng và tiến hành giai đoạn bảo trì như các hệ
thống phần mềm khác.

1.2 MỘT SỐ CÔNG TRÌNH LIÊN QUAN TRONG LĨNH VỰC GIẢI
TOÁN TỰ ĐỘNG
Liên quan đến lĩnh vực giải toán tự động, các hệ giải bài toán thông minh dựa trên
CSTT , có một số công trình nghiên cứu của các tác giả trong và ngoài nước như sau:
 Mô hình COKB xuất phát từ [6] là một mô hình biểu diễn tri thức cho các đối
tượng tính toán theo tiếp cận hướng đối tượng và các kĩ thuật lập trình tính toán
hình thức cho phép biểu diễn nhiều khía cạnh phức tạp của tri thức. Từ mô hình
này, mạng các đối tượng tính toán được thành lập để mô hình hóa một vấn
đề(bài toán). Thành phần suy diễn để giải toán tự động được xây dựng dựa trên
chiến lược suy diễn tiến và mạng các đối tượng tính toán. Ban đầu mô hình
COKB được tạo ra là để xây dựng một hệ giải toán tự động. Nhưng trong quá
trình phát triển nó cũng đã được vận dụng vào các lĩnh vực khác như tìm kiếm
tài liệu theo ngữ nghĩa mà được ứng dụng trong các hệ thống e-learning.
 Mô hình tri thức COKB rút gọn trong [7], trình bày một mô hình COKB lược
bỏ đi thành phần toán tử (operator) và tập trung khai thác các tính chất của
thành phần tri thức hàm (phân loại hàm, trường hợp sử dụng của các hàm) cũng
như bổ sung thêm các công cụ trong việc dò tìm luật áp dụng, kiểm tra nhanh
một luật có áp dụng được hay không bằng thuật toán Sort Merge Join. Kết quả
của công trình này là hệ giải toán hình học không gian với lời giải gần gũi với
16



Chương 1. Tổng quan

cách tư duy con người, dù lời giải còn trình bày bằng ngôn ngữ đặc tả theo quá
trình suy luận của hệ thống, không hoàn toàn tự nhiên như cách trình bày của
con người.
 Mô hình tri thức Funcs-COKB trong [8], trình bày một mô hình tri thức COKB
lược bỏ đi thành phần H (Hierachy relation) trong mô hình COKB 6 thành
phần. Công trình này tập trung vào các vấn đề tìm kiếm và suy diễn trên thành
phần tri thức hàm. Kết quả của công trình này là hệ giải toán hình học giải tích,
giải được một số bài toán tương đối phức tạp của hình học giả tích. Tuy nhiên,
hệ thống không có phần giao diện, lời giải tuy có phần gần gũi với tư duy con
người nhưng còn rất hình thức và hơi rắc rối.
 Từ khi ra đời phương pháp Wu [13], nhiều vấn đề khó trong chứng minh hình
học đã được giải quyết. Tuy nhiên, những lời giải được chứng minh bởi
phương pháp đại số Wu là việc giải hàng trăm đa thức phức tạp không tự nhiên
theo cách hiểu của con người. Bên cạnh các phương pháp đại số truyền thống
như phương pháp Wu thì phương pháp Cơ sở Dữ liệu suy diễn và FullAngle
được dùng trong JGEX có thể tạo ra lời giải tường minh[19, 20] nhưng việc
biểu diễn tri thức sử dụng vị từ không tự nhiên và không thể thực hiện đầy đủ
các khía cạnh của kiến thức hình học.
 Trong [11], một hệ thống biểu diễn tri tức tên là Mantra đề xuất cách biểu diễn
tri thức hỗn hợp dựa trên Logic (First Order Logic), Frame, mạng ngữ nghĩa để
biễn diễn cho các tri thức về toán học tuy nhiên hệ thống chưa xây dựng được
thành phần suy diễn để giải toán tự động.
 Trong [12] một hệ thống ONTIC được xây dựng dựa trên logic hình thức nên
mức độ biểu diễn và xử lý trên hệ thống vẫn khá hạn chế và đã được tác giả
ngừng phát triển.
 Các phần mềm như Maple, Mathematica chỉ thích hợp cho tính toán hình thức,


chúng không thể đưa ra lời giải theo từng bước. Các website Wolfram|Alpha và
Mathway mặc dù có thể cho ra từng bước chứng minh cụ thể nhưng chúng
cũng chỉ giải quyết vấn đề rất đơn giản trong hình học giải tích.
17


Chương 1. Tổng quan

1.3 MỤC TIÊU VÀ PHẠM VI CỦA LUẬN VĂN
Mục tiêu của luận văn là nghiên cứu, đề xuất các mô hình biểu diễn tri thức có dạng
COKB, là các mô hình biểu diễn tri thức mà các thành phần là một trong 6 thành phần
của mô hình COKB 6 thành phần cộng với một số thành phần mới, các mục tiêu cụ thể
gồm:
 Làm rõ các dạng CSTT dựa trên mô hình COKB mà luận văn sẽ hỗ trợ (ví dụ
các CSTT xem xét tối thiểu phải có các thành phần nào). Từ các dạng CSTT
này, nghiên cứu các phương pháp để một CSTT có thể sử dụng lại hoặc mở
rộng các tri thức đã được định nghĩa trong một CSTT khác.
 Xây dựng thuật giải suy luận để giải quyết các vấn đề mà có chứa tri thức trong
hai CSTT tri thức khác nhau, xem xét một số vấn đề kĩ thuật trong thuật giải
suy luận và giải pháp để giải quyết các vấn đề này.
 Xây dựng ứng dụng giải toán hình học giải tích 2 chiều để giải các lớp bài toán
tương đối phức tạp mà cần vận dụng các tính chất của hình học phẳng và các
công cụ hình học giải tích để giải.
Để có thể hoàn thành các mục tiêu trên trong khuôn khổ thời gian có hạn, luận văn chỉ
khảo sát các miền tri thức dạng mở rộng (extension) cụ thể là miền tri thức hình học
giải tích và hình học phẳng. Trong đó miền tri thức hình học giải tích sử dụng lại các
tính chất, quan hệ, tri thức giải toán của hình học phẳng và bổ sung phương pháp tọa
độ vào miền tri thức hình học phẳng để giải các bài toán hình học giải tích.

18



Chương 2. Mô hình dạng COKB

CHƯƠNG 2. MÔ HÌNH TRI THỨC DẠNG COKB

2.1 MÔ HÌNH TRI THỨC COKB 6 THÀNH PHẦN
Mô hình COKB (Computational Objects Knowledge Base) được giới thiệu trong [3],
[4] là mô hình biểu diễn tri thức mà kết hợp một số phương pháp pháp biểu diễn tri
thức truyền thống như luật dẫn, frames…theo tiếp cận hướng đối tượng và các kĩ thuật
lập trình tính toán hình thức. Mô hình COKB đã được chứng minh là rất hữu ích cho
việc xây dựng CSTT cho các hệ thống thông minh cho các miền tri thức phức tạp trong
thực tiễn, ứng dụng vì nó biểu diễn được nhiều khía cạnh của tri thức như: các quan hệ,
sự kế thừa, sự tương tác giữa các đối tượng thông qua các toán tử và các luật.

2.1.1 Đối tượng tính toán
Trong một miền tri thức cụ thể như hình học phẳng, hình học giải tích hay vật lý tồn tại
các khái niệm mô tả các đối tượng mà có chứa các thuộc tính, các quan hệ, các sự kiện
và các luật trên các thuộc tính đó. Một đối tượng như vậy cũng có những hành vi cơ
bản để giải quyết các vấn đề trên các thuộc tính của chúng.
- Định nghĩa: Một đối tượng tính toán (Com-Object) là một đối tượng O có cấu trúc và
các đặc trưng như sau:
1. Một tập các thuộc tính có giá trị của đối tượng O, ký hiệu là M(O).
2. Một tập các quan hệ tính toán trên các thuộc tính của đối tượng O. Các tập quan
hệ tính toán này thể hiện cho khả năng suy diễn bên trong của đối tượng O như:
 Cho A là một tập con của M(O). Đối tượng O có khả năng cho ta biết tập
thuộc tính có thể được suy ra từ A trong đối tượng O.
 Đối tượng O sẽ cho ta biết giá trị của từng thuộc tính của nó.
 Đối tượng O cũng cho ta biết quá trình xác định các thuộc tính của nó.
Cấu trúc của một đối tượng tính toán có thể được mô hình hóa bởi bộ:

19


Chương 2. Mô hình tri thức dạng COKB

(Attrs, F, Facts, Rules).
Trong đó:
 Attrs là tập các thuộc tính của đối tượng
 F là tập các phương trình hay còn gọi là tập các quan hệ tính toán
 Facts là tập các sự kiện hay các tính chất vốn có của đối tượng
 Rules là tậ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 của đối tượng.
Ví dụ: Một đối tượng “tam giác” được biểu diễn theo mô hình ở trên sẽ gồm các thành
phần như sau:
Attrs = {A, B, C, a, b, c, S, p, R, ha, hb, hc…} là tập các thuộc tính của một tam giác,
F = {𝐴 + 𝐵 + 𝐶 = 𝜋;
1
2

𝑎
sin 𝐴

=

𝑏
sin 𝐵

;

𝑏

sin 𝐵

=

𝑐
sin 𝐶

; 𝑎2 = 𝑏2 + 𝑐 2 − 2𝑏𝑐 cos 𝐴; 𝑆 =

𝑎𝑏 sin 𝐶 … } là tập các phương trình hay tập các quan hệ tính toán của một tam giác.

Facts = {A > 0; A < 𝜋; B > 0; B < 𝜋; C > 0; C < 𝜋; a + b > c; a + c > b; b + c > a;…} là
tập các sự kiện hay các tính chất vốn có của một tam giác.
𝜋

𝜋

2

2

Rules = {{ 𝑎2 = 𝑏2 + 𝑐 2 }⇒{ 𝐴 = }; { 𝐴 = }⇒{𝑎2 = 𝑏2 + 𝑐 2 , 𝑏 ⊥ 𝑐}; … }.
Một đối tượng tam giác có thể cho lời giải với vấn đề {a, B, C } → {S} như sau:
 Bước 1: A xác định bởi A = 𝜋 − 𝐵 − 𝐶
 Bước 2: b xác định bởi 𝑏 =

𝑎 sin 𝐵
sin 𝐴
1


 Bước 3: S xác định bởi 𝑆 = 𝑎𝑏 sin 𝐶
2

2.1.2 Các thành phần của mô hình COKB 6 thành phần
Trãi qua một quá trình phát triển, hiện này mô hình COKB gồm 6 thành phần:
(C, H, R, Ops, Funcs, Rules)
20


Chương 2. Mô hình tri thức dạng COKB

Trong đó:
 C là tập các đối tượng mà được tích hợp các thuộc tính, ràng buộc , luật và các
hành vi (tính toán, giải toán) gọi là đối tượng tính toán. Cấu trúc các đối tượng
tính toán thể hiện tính đóng gói của lập trình hướng đối tượng. Trong ngữ cảnh
của mô hình COKB khi nhắc đến đối tượng thì ta hiểu đó là đối tượng tính
toán.
 H là tập các quan hệ phân cấp giữa các đối tượng tính toán trong mô hình, thể
hiện tính kế thừa của lập trình hướng đối tượng.
 R mô tả các quan hệ khác ngoài quan hệ phân cấp giữa các đối tượng.
 Ops là tập mô tả tri thức về sự tương tác giữa các đối tượng thông qua các phép
toán trong mô hình.
 Func là tập các hàm là những tri thức về các hành động, thao tác giữa các đối
tượng mang tính phổ biến trong miền tri thức đang xét.
 Rules là tập mô tả các tri thức về các tính chất, sự liên hệ của các đối tượng
khác kiểu theo dạng luật dẫn (ví dụ, các định lý toán học giữa các đối tượng
tính toán có thể được biểu diễn bằng các luật dẫn). Các sự kiện trong luật dẫn là
các sự kiện thuộc một trong 12 loại sự kiện được định nghĩa trước.

2.1.3 Các loại sự kiện

Trong mô hình COKB có 12 loại sự kiện được chấp nhận, các loại sự kiện này được đề
xuất từ thực tiễn nghiên cứu, ứng dụng mô hình vào giải quyết các vấn đề, bài toán
trong thực tế:
 Sự kiện loại 1: sự kiện thông tin về loại của đối tượng, có dạng:
[<object>, <loại object>]
Ví dụ: [d, Plane]

21


Chương 2. Mô hình tri thức dạng COKB

 Sự kiện loại 2: sự kiện về tính xác định của một đối tượng hay của một thuộc
tính.
<object> hay <object>.<thuộc tính>
Ví dụ: Angle[A, C, B].degree với A, B, C là các đối tượng loại điểm trong kiến
thức hình học, degree là thuộc tính số đo góc có kiểu thực.
 Sự kiện loại 3: sự kiện về tính xác định của một thuộc tính hay một đối tượng
thông qua một biểu thức hằng.
<object> = <biểu thức hằng> hay
<object>.<thuộc tính> = <biểu thức hằng>
Ví dụ: l.length =

𝑎√3
2

, a.degree =

𝑃𝑖
4


với l là đối tương loại đoạn thẳng và a là đối

tượng loại góc trong kiến thức hình học.
 Sự kiện loại 4: sự kiện về sự bằng nhau giữa một đối tượng hay một thuộc tính
với một đối tượng hay một thuộc tính khác. Sự kiện này có dạng:
<object>|<object>.<thuộc tính> = <object>|<object>.<thuộc tính>
Ví dụ: l.length = l’.length, a.degree = a’.degree, t = t’ với l, l’ là đối tương loại
đoạn thẳng; a, a’ là đối tượng loại góc và t, t’ là đối tượng loại tam giác trong
kiến thức hình học.
 Sự kiện loại 5: sự kiện về sự phụ thuộc của một đối tượng hay một thuộc tính
theo những đối tượng hay thuộc tính khác thông qua một công thức tính toán.
<object> = <biểu thức theo các object hay thuộc tính khác>
hay <object>.<thuộc tính> = <biểu thức theo các object hay thuộc tính khác>


dụ:

LineSegment[A,

B]

=

2*

LineSegment

[A,


C],

1
1
1
=
+
LineSegment[𝐵, 𝐻]2
LineSegment[𝐴, 𝐵]2 LineSegment[𝐵, 𝐶]2
LineSegment[𝐴, 𝑀] LineSegment[𝐴, 𝑁]
=
LineSegment[𝐴, 𝐵] LineSegment[𝐶, 𝐶 ]
với A, B, C, H, M, N là các đối tượng loại điểm trong kiến thức hình học.
 Sự kiện loại 6: sự kiện về một quan hệ trên các đối tượng hay trên các thuộc
tính của các đối tượng.
22


×