Tải bản đầy đủ (.docx) (105 trang)

Phát triển một mô hình biểu diễn tri thức hàm và phương pháp giải quyết các vấn đề

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 (4.31 MB, 105 trang )


TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
________________


 !"#$
LUẬN VĂN THẠC SĨ, KHÓA LUẬN CAO HỌC
NGÀNH KHOA HỌC MÁY TÍNH
Mã số: 60.48.01.01
%&'()*+,
1

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN



 !"#$
LUẬN VĂN THẠC SĨ, KHÓA LUẬN CAO HỌC
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
%&'()*+,
2
! 
Em xin chân thành cảm ơn quý thầy cô trường Đại học Công nghệ thông tin đã
tận tình chỉ dạy cho em nhiều kiến thức bổ ích trong suốt thời gian học tập tại
trường. Em kính chúc quý thầy cô luôn dồi dào sức khoẻ và thành công trong công
việc.
Em xin bày tỏ lòng biết ơn chân thành và sâu sắc nhất đế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 chúng em trong


suốt quá trình thực hiện đề tài.
Con gửi tất cả lòng biết ơn và sự kính trọng đến ông bà, cha mẹ đã nuôi dạy,
luôn bên cạnh động viên và ủng hộ con trên con đường mà con đã yêu thích và lựa
chọn, đã cho con niềm tin và nghị lực vượt qua mọi khó khăn. Qua đây tôi gởi lời
cảm ơn các em của tôi trong gia đình, các em đã tạo một động lực cho tôi phấn đấu
không ngừng trong học tập cũng như trong cuộc sống để trở xứng đáng trở thành
một người chị gương mẫu.
Xin cảm ơn tất cả bạn bè đã động viên, giúp đỡ và hỗ trợ tôi rất nhiều cũng
như đóng góp cho tôi nhiều ý kiến quý báu giúp tôi hoàn thiện hơn cho đề tài này.
Luận văn đã hoàn thành và đạt được một số kết quả nhất định tuy nhiên vẫn
không tránh khỏi thiếu sót. Kính mong sự cảm thông và đóng góp ý kiến từ quý
thầy cô và các bạn.
Một lần nữa tôi xin chân thành cảm ơn!
Tp. Hồ Chí Minh, ngày 15 tháng 12 năm 2014
Học viên thực hiện
Nguyễn Thị Ngọc Diễm
3
/
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ì vậy 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 15 tháng 12 năm 2014
012345607893:
4
Mục lục
5
;<
6
=>
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

đề quan trọng trong việc thiết kế hệ cơ sở tri thức trong Trí tuệ nhân tạo, đặc biệt là
trong hệ giải các bài toán thông minh. Một trong những mô hình biểu diễn tri thức
hiệu quả là mô hình tri thức các đối tượng tính toán (mô hình COKB), có thể được
sử dụng để biểu diễn cho các miền tri thức tổng quát và thiết kế cơ sở tri thức cho
hệ thống giải các bài toán thông minh. Tuy nhiên, bên cạnh các thành phần tri thức
về các khái niệm, các quan hệ, các luật, còn có một khái niệm tri thức khá phổ biến
nhưng chưa được nghiên cứu kỹ, đó là thành phần tri thức về hàm. Thành phần tri
thức về hàm bao gồm các hàm, các quan hệ, sự kiện, các luật và các thuật toán suy
luận tự động trên hàm. Do đó, luận văn sẽ giới thiệu mô hình COKB năm thành
phần và trình bày cụ thể phương pháp biểu diễn tri thức và các thuật toán suy luận
tự động trên các thành phần tri thức về hàm. Ngoài ra, phương pháp này được sử
dụng để thiết kế và triển khai một ứng dụng cụ thể giải các bài toán Hình học không
gian chương trình lớp 11 và cho ra lời giải phù hợp với cách giải tự nhiên của con
người. Chương trình này là một công cụ hỗ trợ đắc lực cho nhu cầu học và ôn luyện
toán hình học của học sinh Trung học Phổ thông.
7
Chương 1. Tổng quan
 +? @
+?+? @$ 
AB&
+?+?+? C8D5EF40D5CDG9H1I934JK9J5L8
Tri thức đóng vai trò rất quan trọng trong khả năng của một chuyên gia. Trong
lĩnh vực khoa học trí tuệ nhân tạo để xây dựng một hệ chuyên gia, các hệ thống giải
toán dựa trên tri thức của con người, ta phải thiết kế được một cơ sở tri thức đầy đủ
và động cơ suy diễn đủ mạnh để giải quyết vấn đề dựa trên tri thức [1]. Chất lượng
hoạt động của một hệ chuyên gia phụ thuộc rất lớn vào cơ sở tri thức đã có, cho nên
việc 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. Những
phương pháp này có thể được phân loại như sau (theo các tài liệu [6], [7], [8], [10]):

5EF40D5CDG9H1I934IMNJKO4PQ0985R45J5L8S 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 cơ sở tri
thức. Các thủ tục chứng minh sẽ áp dụng kiến thức vào các bài toán cụ thể. Với
phương pháp này ưu điểm là rất rõ về mặt hình thức, nhưng không thể mô tả đầy đủ
với những tri thức có độ trừu tượng lớn hay phức tạp hơn.
5EF40D5CDG9H1I934GT405UP1VJIW4SLoại phương pháp này biểu diễn
tri thức như một tập hợp các chỉ thị dùng cho việc giải quyết các bài toán. Phương
pháp này biểu diễn tri thức bằng luật sinh đượ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 toán tổng quát. Đây là một
kiểu biểu diễn tri thức có cấu trúc bằng một cặp điều kiện – hành động (if … then):
“NẾU điều kiện xảy ra THÌ hành động sẽ được thi hành”, nói theo một cách khác
thì hệ luật dẫn là tri thức có dạng một tập các luật dẫn trên các sự kiện hay các tác
vụ.
5EF40D5CDG9H1I934IX40:X40S Là phương pháp biểu diễn tri thức dạng
đồ thị. Trong đó mỗi đỉnh là một yếu tố về tri thức, mỗi cung là một thể hiện của
8
Chương 1. Tổng quan
quan hệ giữa các yếu tố đó. Phổ biến nhất của phương pháp này là mạng ngữ nghĩa,
và đồ thị khái niệm. Ưu điểm của phương pháp biểu diễn dạng mạng là tính trực
quan, tự nhiên, thể hiện rõ quan hệ giữa các yếu tố thông qua các cung.
Trong [10], tác giả cũng đã đề cập đến mô hình mạng tính toán và mạng các
đối tượng tính toán, nhưng trong mô hình này, vấn đề về biểu diễn các quan hệ giữa
các đối tượng lại chưa được đề cập đến một cách đầy đủ.
Phương pháp biểu diễn dạng mạng rất tốt trong việc phân loại các khái niệm,
tuy nhiên, các mạng biểu diễn tri thức này vẫn còn có những khiếm khuyết nhất
định và chưa thể biểu diễn được cho một miền tri thức thực tế. Bên cạnh đó, đặc
biệt là các mạng ngữ nghĩa, thì việc sử dụng chúng còn phải phụ thuộc vào ngôn
ngữ dùng để biểu diễn tri thức.
5EF40D5CDG9H1I934JK9J5L8J5YQ8Z1JK[845E\KN:Y]A8K9DJS Phương
pháp 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. Các cấu trúc phổ biến là Frame, Script, Class.
Frame là một cấu trúc dữ liệu chứa đựng tất cả những tri thức liên quan đến
một đối tượng cụ thể nào đó, nó có liên hệ chặt chẽ đến khái niệm hướng đối tượng.
Ngược lại với những phương pháp biểu diễn đã được đề cập đến, frame đóng gói
toàn bộ một đối tượng, tình huống hoặc cả một vấn đề phức tạp thành một thực thể
duy nhất có cấu trúc. Một frame bao hàm trong nó một khối lượng tương đối lớn tri
thức về một đối tượng, sự kiện, vị trí, tình huống hoặc những yếu tố khác. 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 hoặc những tri thức được xây dựng trên những kinh nghiệm hoặc các đặc
điểm đã được hiểu biết cặn kẽ. 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.
Phương pháp này có ưu điểm giúp cho việc diễn đạt các khái niệm trong miền
tri thức tốt hơn, dễ cài đặt các thuộc tính cũng như các mối liên hệ, dễ dàng tạo ra
các thủ tục chuyên biệt hoá, dễ đưa vào các thông tin mặc định, dễ thực hiện các
thao tác phát hiện các giá trị bị thiếu sót. Tuy nhiên, nhược điểm của phương pháp
này là khó có thể suy diễn để giải quyết các vấn đề một cách tự động, thiếu một cơ
sở lý thuyết chặt chẽ
5EF40D5CDG9H1I934JK9J5L8GT40/4JQPQ02: Phương pháp này được bắt
nguồn từ triết học nhằm biểu diễn tất cả các thực thể. Biểu diễn tri thức bằng
9
Chương 1. Tổng quan
Ontology khá tổng quát nên khi áp dụng vào các miền tri thức cụ thể ta sẽ phải xây
dựng một dạng Ontology riêng cho miền tri thức ấy. Việc xây dựng các mô hình tri
thức tiếp cận Ontology hiện nay đang là một hướng tiếp cận mới và đã có được một
số thành quả nhất định.
^5R45/_: Trong [10] tác giả đã trình bày phương pháp biểu diễn tri
thức bằng mô hình COKB với các thành phần (C, H, R, Ops, Funcs, Rules) biển
diễn được khá nhiều khía cạnh của tri thức: các khái niệm, các quan hệ, sự kế thừa,
các toán tử, hàm và luật. Mô hình COKB thể hiện một cách đầy đủ và toàn diện

kiến thức thực tế của con người. So với cách biểu diễn tri thức khác thì phương
pháp biểu diễn dựa trên mô hình COKB tỏ ra hiệu quả hơn về nhiều mặt: biểu diễn,
suy diễn, giao tiếp, v.v… Với cách tổ chức tri thức theo mô hình này, ta có thể thiết
kế được mô hình biểu diễn vấn đề tổng quát hơn, và trên cơ sở đó thiết kế được các
thuật giải tổng quát mô phỏng hành vi suy luận giải quyết vấn đề dựa trên tri thức
của con người.
5V4`aJS Các phương pháp biểu diễn tri thức này đều có những điểm mạnh,
điểm yếu nhất định, như là các phương pháp chỉ biểu diễn được những tri thức đơn
giản như logic vị từ, những khía cạnh của tri thức như phương pháp biểu diễn có
cấu trúc, phương pháp dạng mạng. Trong khi tri thức cần được biểu diễn trong các
ứng dụng, hay một hệ chuyên gia là rất đa dạng và thường bao gồm những khái
niệm từ đơn giản, đến những khái niệm phức tạp, các quan hệ giữa các khái niệm
này, các hệ thức tính toán với những quy luật, các liên hệ đa dạng gồm cả định tính,
lẫn định lượng, các luật dẫn, các heuristics, v.v… Mô hình COKB là mô hình có thể
biểu diễn khá đầy đủ cơ sở tri thức của một hệ thống thông minh, chẳng hạn như
các hệ thống hỗ trợ học, và giải bài toán trong các miền tri thức toán học, vật lý, hóa
học. Tuy nhiên, trong mô hình này các thành phần chưa được nghiên cứu một cách
đầy đủ, đặc biệt là thành phần Ops-toán tử, thành phần Funcs-hàm.
+?+?)? C8D5EF40D5CDb12P1V4JMcd40
Bên cạnh mô hình biểu diễn tri thức, suy diễn tự động để giải quyết các bài
toán dựa trên tri thức cũng là một vấn đề quan trọng. Các phương pháp suy diễn tự
động nhằm vận dụng kiến thức đã biết trong quá trính lập luận giải quyết vấn đề
trong đó quan trọng nhất là các chiến lược điều khiển giúp phát sinh những sự kiện
10
Chương 1. Tổng quan
mới từ các sự kiện đã có. 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à phương pháp suy lận
dựa vào các quy luật của tri thức để rút ra kết luận từ một hay nhiều mệnh đề. Suy
diễn dạng quy nạp (Inductive Reasoning): là phương pháp suy luận đưa ra kết luận
có tính khái quát từ những tri thức riêng lẻ, ít khái quát hơn. Suy diễn loại suy

(Analogical Reasoning): Dựa trên các loại suy luận ấy, trong ngành trí tuệ nhân tạo,
đã đề xuất các dạng suy luận để sử dụng cho các mô hình biểu diễn tri thức:
5EF40D5CD5eD09f9JKQ40G9H1I934JK9J5L8IEg9IX40PQ098h6JiS
Trong phương pháp biểu diễn logic hình thức đã 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”.
5EF40D5CDb12I934J9j4klQKmNKI85N94940nSTrong tác giả có nêu lên
định nghĩa cho phép suy luậ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”.
5EF40D5CDb12I934Po9kGN8pmNKI85N94940nS 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.
_jJ5eDb12I934J9j4hqb12I934Po9S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 thực
tế, khi thiết kế các giải thuật suy diễn, chúng ta thường kết hợp thêm việc sử dụng
các heuristic, các “kinh nghiệm” của con người trong quá trình giải quyết vấn đề, để
có thể tìm ra lời giả cho bài toán một cách nhanh nhất.
-VDP1V4IMNJKO4JR4551r40kNbYsGNbYIKYNbQ4940nSLà dạng suy luận
bằng cách sử dụng các trường hợp đã biết để giải quyết cho một tình huống mới.
A12I934IMNJKO4JK9J5L8q9JQC4:W1STrong[18] tác giả đã trình bày
phương pháp suy diễn mới dựa trên mô hình COKB là phương pháp suy diễn dựa
trên bài toán mẫu, đây là một phương pháp suy diễn trên máy tính dựa vào những
11
Chương 1. Tổng quan

bài toán và những dạng toán cơ bản đã biết có liên quan với bài toán cần giải quyết.
Với phương pháp suy luận này, khi đó hệ thống suy diễn sẽ mô phỏng được xác
thực hơn cách suy nghĩ của con người trong quá trình giải quyết vấn đề và sẽ cho
kết quả tốt hơn so với các phương pháp suy diễn khác.
5V4`aJS Các phương pháp suy diễn tự động trên máy tính hiện nay đều gắn
liền với mô hình biểu diễn tri thức. Động cơ suy diễn là một thành phần rất quan
trọng không thể tách rời với mô hình. 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. Tuy nhiên, các
phương pháp suy diễn đều không đạt được hiệu quả tốt nhất nếu không kết hợp với
các tri thức thực tế, các kinh nghiệm của con người trong quá trình giải quyết vấn
đề. Vì vậy, để tăng sự hiệu quả trong suy diễn, các 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.
+?)? Atu
Trong nhiều lĩnh vực khoa học, có nhiều phương pháp để biểu diễn tri thức
thường được xây dựng dựa trên các cơ sở toán học. Sau đây là một số phương pháp
biểu diễn tri thức như logic vị từ, logic mệnh đề, frame, lớp, mạng ngữ nghĩa, mạng
nơron, đồ thị khái niệm, các quy tắc suy diễn. Mặc dù các phương pháp này rất hữu
ích trong nhiều ứng dụng cụ thể, nhưng chúng cũng có một số nhược điểm nhất
định. Cụ thể các phương pháp này không thể biểu diễn cho nhiều miền tri thức đa
đạng trong thực tế một cách có hệ thống và tự nhiên.
Một trong những mô hình hiệu quả được sử dụng trong hệ giải các bài toán
thông minh là mô hình COKB [10]. Mô hình này dùng để mô hình hóa tri thức,
thiết kế và triển khai cơ sở tri thức. Trong đó mô hình mạng tính toán (Com-Net) và
Mạng của các đối tượng tính toán (CO-Net) được sử dụng để mô hình hóa bài toán.
Các mô hình này rất phù hợp cho việc thiết kế bộ suy diễn trong hệ giải các bài toán
thông minh. Mô hình COKB đã được sử dụng trong việc xây dựng một số ứng dụng
thực tế trong giáo dục như Chương trình giải các bài toán trong hình học phẳng,
hình học giải tích, Chương trình giải các bài toán về điện, hóa vô cơ, v.v [17, 18].

12
Chương 1. Tổng quan
Mặc dù vậy, các thành phần thành về hàm và toán tử trong mô hình COKB vẫn
chưa được nghiên cứu một cách đầy đủ.
Hiện này, có rất nhiều chương trình giải các toán hình học một cách tự động.
Tuy nhiên, bên cạnh nhiều ưu điểm của các chương trình đó, thì chúng cũng tồn tại
nhiều hạn chế. Thứ nhất, một số công cụ nổi tiếng như Maple, Mathematica [19, 20]
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 một cách tự nhiên. Tiếp theo là các website Wolfram|Alpha và Mathway [20,
21], 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. Chương trình tiếp theo được đề
cập đến là Java Geometry Expert (JGEX) [15]. Chương trình này dựa trên một số
phương pháp như phương pháp Wu, phương pháp FullAngle và phương pháp Cơ sở
dữ liệu suy diễn, v.v Từ khi ra đời phương pháp Wu [12], hàng trăm 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 khác với các phương pháp chứng minh
hình học truyền thống, bởi vì lời giải của phương pháp Wu là việc giải hàng trăm đa
thức phức tạp. Như vậy, lời giải của những phương pháp này 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 [13, 14]. Mặc dù các thuật toán được
sử dụng trong JGEX cũng rất hiệu quả, 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.
Ví dụ, phương pháp này không thể biểu diễn cho kiến thức liên quan đến các tính
toán biểu thức, các phương trình, các tính toán mối quan hệ giữa các đối tượng hình
học. Bên cạnh đó, JGEX không thể giải nhiều dạng toán hình học, như tính toán giá
trị của các đối tượng hình học. Trong khi đó mô hình COKB cho thấy hiệu quả của
việc biểu diễn tri thức và giải quyết nhiều vấn đề trong miền tri thức toán hình học.
Trong tri thức của con người, bên cạnh các tri thức về các khái niệm đối tượng
tính toán, các quan hệ, các luật đã có mô hình để biểu diễn trên máy tính còn tồn tại

một dạng tri thức khác cũng rất phổ biến nhưng chưa được quan tâm nghiên cứu
nhiều là tri thức về các khái niệm hàm và suy luận giải toán tự động trên các hàm.
Chẳng hạn như kiến thức về hình học phẳng, hình học không gian, kiến thức về
dòng điện xoay chiều trong vật lý. Ví dụ, Giao tuyến giữa hai mặt phẳng là một
13
Chương 1. Tổng quan
đường thẳng, Giao tuyến có thể được xét như một hàm; Đường vuông góc chung
của hai mặt phẳng chéo nhau là một đường thẳng có thể được mô hình hóa như một
hàm. Mặc dù có nhiều nghiên cứu [2, 10, 11] đề cập đến các thành phần hàm của mô
hình COKB, tuy nhiên không có nghiên cứu nào trình bày một giải pháp hoàn chỉnh
về vấn đề này. Vì vậy, còn rất nhiều vấn đề cần nghiên cứu về thành phần tri thức
hàm và thành phần tri thức toán tử.
+?v? ;B$
Mục tiêu của đề tài là nghiên cứu một mô hình biểu diễn tri thức và xây dựng
các thuật giải suy diễn tập trung vào các vấn đề liên quan đến thành phần tri thức
hàm. Cụ thể hơn, đề tài tập trung nghiên cứu các thành phần của mô hình COKB
liên quan tới khái niệm hàm. Từ đó nghiên cứu một dạng mô hình biểu diễn tri thức
là một dạng thu hẹp của mô hình COKB, trong đó sẽ khảo sát một số vấn đề biểu
diễn tri thức liên quan tới thành phần tri thức hàm và xây dựng thuật giải suy luận
giải quyết một số vấn đề trên mô hình tri thức đó. Mô hình biểu diễn được nghiên
cứu sẽ là một đóng góp quan trọng về phương pháp biểu diễn và kỹ thuật xử lý tri
thức, nhằm mục đích hỗ trợ cho việc thiết kế những ứng dụng có dạng như hệ
chuyên gia hay hệ giải toán thông minh.
Về mặt thử nghiệm, đề tài hướng đến xây dựng một ứng dụng thuộc dạng hệ giải
toán thông minh nhằm vận dụng các mô hình biểu diễn tri thức và kỹ thuật suy luận
được đề cập ở trên. Ứng dụng này sẽ giải các bài toán trong phạm vi miền tri thức
hoatHình học không gian lớp 11 [3] nhằm hỗ trợ nhu cầu học tập của học sinh
Trung học Phổ thông.
14
Chương 2. Một mô hình tri thức các đối tượng tính toán rút gọn

 )? 
w&/x
)?+? w&/x

Mô hình tri thức các đối tượng tính toán (gọi tắt là COKB) là một mô hình
gồm 6 thành phần được trình bày trong tài liệu [10]. Tuy nhiên đề tài này chỉ tập
trung nghiên cứu các thành phần của mô hình COKB liên quan tới khái niệm hàm.
Do đó mô hình biểu diễn tri thức được xét trong đề tài là một dạng thu hẹp của mô
hình COKB tổng quát, hay gọi là mô hình COKB rút gọn. Trong đó đề tài sẽ tập
trung khảo sát một số vấn đề biểu diễn tri thức liên quan tới thành phần tri thức hàm
và xây dựng thuật giải suy luận giải quyết một số vấn đề trên mô hình tri thức đó.
Mô hình tri thức các đối tượng tính toán COKB rút gọn là một hệ thống gồm y
J5q45D5z4:
)?+?+? dJJVD5eD8C8p5C949U:h{8C8cr9JEe40J|45JQC4
Mô hình đối tượng tính toán (Com-Object) gồm 4 thành phần:
kJJKb]\]\N8Jb]1PYbn
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ụ:
Mỗi khái niệm trong tậplà một lớp Com-Object. Trong đó tập thuộc tính Attrs
của mỗi khái niệm là tập 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:
- Các thuộc tính số thực
- Các đối tượng Com-Object cơ bản: là loại đối tượng 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ư đối tượng
15
Chương 2. Một mô hình tri thức các đối tượng tính toán rút gọn
Điểm trong hình học giải tích thì có thuộc tính mang giá trị thực, nhưng

Điểm trong trong hình học phẳng, hình học không gian thuần túy thì có cấu
trúc rỗ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.
- Các đối tượng Com-Object cấp 1: là loại đối tượng có một thuộc tính số
thực 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ụ: Đoạn AB trong đó A, B là các đối tượng cơ bản loại Điểm và một
thuộc tính độ dài đoạn là số thực. Góc trong đó A, B, C là các đối tượng
cơ bản loại Điểm và thuộc tính số đo góc là số thực. Mặt phẳng (ABC)
trong đó A, B, C là các đối tượng cơ bản loại Điểm.
- Các đối tượng Com-Object cấp 2: là loại đối tượng có các thuộc tính loại
số thực, các đối tượng cơ bản và các thuộc tính thuộc loại đối tượng cấp 1.
Ví dụ: Tam giác ABC trong đó A, B, C là các đối tượng cơ bản loại Điểm,
các cạnh AB, BC, AC là các Đoạn thẳng thuộc đối tượng cấp 1, diện tích S
và chu vi C là các thuộc tính số thực.
- Các đối tượng Com-Object cấp 3: là loại đối tượng có các thuộc tính loại
số thực, các đối tượng cơ bản và các thuộc tính thuộc loại đối tượng cấp 1,
các đối tượng cấp 2. Ví dụ: Hình chóp tứ giác đều S.ABCD, trong đó S, A,
B, C, D là các đối tượng cơ bản loại Điểm, các cạnh bên của hình chóp SA,
SB, SC, BC, SD là Đoạn thẳng thuộc loại đối tượng cấp 1. Mặt đáy là hình
vuông ABCD v.v
Cấu trúc bên trong của một mỗi lớp đối tượng gồm:
- Kiểu đối tượng. Kiểu này có thể là loại kiểu thiết lập trên một danh sách
nền các đối tượng cơ bản.
- Danh sách các thuộc tính: mỗi thuộc tính 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 đối tượng đang xét.
- Quan hệ trên cấu trúc thiết lập. Quan hệ này thể hiện các sự kiện về sự liên
hệ giữa đối tượng và các đối tượng nền (tức là các đối tượng thuộc danh
sách đối tượng nền).
- Tập hợp các điều kiện ràng buộc trên các thuộc tính.
- Tập hợp các tính chất nội tại liên quan đến các thuộc tính của đối tượng.
Mỗi tính chất này cho ta một sự kiện của đối tượng.

16
Chương 2. Một mô hình tri thức các đối tượng tính toán rút gọn
- Tập hợp các quan hệ suy diễn - tính toán. Mỗi quan hệ thể hiện một qui
luật suy diễn và cho phép ta có thể tính toán một hay một số thuộc tính này
từ một số thuộc tính khác của đối tượng.
- Tập hợp các luật suy diễn trên các loại sự kiện khác nhau liên quan đến các
thuộc tính của đối tượng hay bản thân đối tượng. Mỗi luật suy diễn có
dạng: {các sự kiện giả thiết} => {các sự kiện kết luận}
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 đó).
)?+?)? dJJVD5eD8C8}1N45UD5~48ZDJKO48C8Q:s/G•Y8Jb?
Trong tập , ta có các quan hệ mà theo đó có thể có những khái niệm là sự đặc
biệt hoá của những khái niệm khác. Có thể nói, là một biểu đồ Hasse trên khi xem
quan hệ phân cấp là một quan hệ thứ tự trên . Cấu trúc của một quan hệ phân cấp:
[<tên lớp đối tượng cấp cao>, <tên lớp đối tượng cấp thấp> ].
)?+?v? dJJVD5eD8C8}1N45UJKO48C8cr9JEe40J|45JQC4?
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ệ
song song của 2 đường thẳng có các tính chất đối xứng và bắc cầu.
)?+?,? dJJVD5eD0€:8C85q:?
Mỗi hàm được xác định bởi <tên hàm> và các loại đối tượng của hàm. Hàm có
một số tính chất sau đây như 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ụ: Hàm giao điểm của đường thẳng và mặt phẳng có
tính chất đối xứng.
17
Chương 2. Một mô hình tri thức các đối tượng tính toán rút gọn
)?+?y? dJJVD5eD0€:8C8P1VJcEe8D5~4PgD?

Mỗi luật cho ta một quy 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 hai thành phần chính là: phần giả thiết và phần
kết luận đều là các tập hợp sự kiện trên các đối tượng nhất định:
Rule: {sk
1
,sk
2
,…,sk
n
} => {sk
1
,sk
2
,…,sk
m
}
Để mô hình luật dẫ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 +)PQX9bMp9U4 khác nhau được xem xét
trong mô hình:
[1] Sự kiện thông tin về loại của đối tượng. Sự kiện này có dạng:
[<object>, <loại object>]
Ví dụ: [Doan[A, B], "Doan"], [TamGiac[A, B, C], "TamGiac"], [P,
"MatPhang"] với A, B, C là các đối tượng loại điểm trong kiến thức hình
học.
[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. Sự kiện
này có dạng: <object> hay <object>.<thuộc tính>
Ví dụ: Doan[A, B], Goc[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.
[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. Sự kiện này có dạng:
<object> = <biểu thức hằng> hay
<object>.<thuộc tính> = <biểu thức hằng>
Ví dụ: Doan[A, B].length = , Goc[A, B, C].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.
[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ụ: Doan[A, B].length = Doan[A, C].length, Goc[A, C, B].degree =
Goc[A, B, C].degree, TamGiac[A, B, C] = TamGiac[A, B, D] với A, B, C, D
là các đối tượng loại điểm trong kiến thức hình học, length là thuộc tính độ
dài của đoạn thẳng kiểu số thực, degree là thuộc tính số đo góc có kiểu thực.
18
Chương 2. Một mô hình tri thức các đối tượng tính toán rút gọn
[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. Sự kiện
này có dạng:
<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>
Ví dụ: Doan[A, B] = 2*Doan[A, C],
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.
[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. Sự kiện này có dạng: [<tên quan hệ>, <object1>, <object2>, …]
Ví dụ: [“Thuoc”, D, Duong[A, B]], [“DongPhang”, A, B, C, D] với A, B, C,
D là các đối tượng loại điểm trong kiến thức hình học.
[7] Sự kiện về tính xác định của một hàm. Sự kiện này có dạng: <hàm>
Ví dụ: KhoangCach(Duong[A, B], Duong[C, D]) với A, B, C, D là các đối
tượng loại điểm trong kiến thức hình học.
[8] Sự kiện về tính xác định của một hàm thông qua một biểu thức hằng. Sự kiện
này có dạng: <hàm> = <biểu thức hằng>

Ví dụ: KhoangCach(Duong[A, B], Duong[C, D]) = a với A, B, C, D là các
đối tượng loại điểm trong kiến thức hình học.
[9] Sự kiện về sự bằng nhau giữa một đối tượng với một hàm. Sự kiện này viết
dưới dạng: <đối tượng> = <hàm>
Ví dụ: A=GiaoDiem(Duong[A, B], Duong[A, C]),
GiaoTuyen(MatPhang[A, B, M], MatPhang[A, B, C]) = Duong[A, B]
với A, B, C, M là các đối tượng loại điểm trong kiến thức hình học.
[10] Sự kiện về sự bằng nhau của một hàm với một hàm khác. Sự kiện này có
dạng: <hàm> = <hàm>
Ví dụ: KhoangCach(Doan[A, B], Doan[S, C]) = KhoangCach(A,
MatPhang[S, D, C]) với S, A, B, C, D là các đối tượng loại điểm trong kiến
thức hình học.
[11] Sự kiện về sự phụ thuộc của một hàm theo các hàm hay các đối tượng khác
thông qua một công thức tính toán. Sự kiện này có dạng:
19
Chương 2. Một mô hình tri thức các đối tượng tính toán rút gọn
<hàm> = <biểu thức theo các hàm hay các đối tượng>
Ví dụ: KhoangCach(Duong[A, B], Duong[S, C]) = 2 * KhoangCach(A,
MatPhang[S, D, C]) với S, A, B, C, D là các đối tượng loại điểm trong kiến
thức hình học.
[12] Sự kiện về một quan hệ trên các hàm hay giữa các đối tượng và hàm. Sự
kiện có dạng:
[<tên quan hệ>, <object1>, <hàm>] hay [<tên quan hệ>, <hàm>, <hàm>]
Ví dụ: Quan hệ điểm thuộc giao tuyến của hai mặt phẳng: [“Thuoc”, A,
GiaoTuyen(P, Q)] với A là đối tượng loại điểm và P, Q là các mặt phẳng
trong kiến thức hình học.
)?)? •!B‚/ƒ>
//_x
Về lý thuyết, ta có thể diễn đạt các hàm dưới dạng các quan hệ với điều kiện
ràng buộc nhất định. Ví dụ phát biểu “H là hình chiếu của điểm A lên mặt phẳng P”

có thể biểu diễn dưới dạng một quan hệ như sau: [“HinhChieu”, H, A, P]. Nhưng
cách diễn đạt này làm mất đi tính tự nhiên và hợp lý của hệ tri thức thực tế theo
quan niệm của con người, nó không diễn đạt được đầy đủ các thông tin trên một
hàm bất kỳ được định nghĩa trên các Com-Object, chẳng hạn như thông tin về quá
trình thực thi một biến đổi nào đó giữa các đối tượng độc lập ban đầu để xác định
một đối tượng mới hay các tính chất, thuộc tính liên quan, phát sinh trong quá trình
thực hiện tính toán hàm, v.v Chính vì vậy, ta cần phải xây dựng một cách thức
khác tốt hơn để đặc tả thành phần này sao cho đảm bảo đầy đủ ý nghĩa và tính tiện
dụng cũng như dễ dàng thêm hay chỉnh sửa thông tin cho môt hàm bất kỳ. Vì vậy
có thể dùng cách biểu diễn hàm thay vì dùng quan hệ cho phát biểu “H là hình chiếu
của điểm A lên mặt phẳng P”, ký hiệu: H= HinhChieu(A, P).
Sau khi khảo sát các khái niệm, các tính chất và các đặc tính của hàm, đề tài
nhận thấy có 2 dạng hàm như sau:
X40+S Là các hàm không tự động xác định giá trị trả về của khi tập đối được
xác định, mà phải nhờ đến các tính toán bên ngoài hỗ trợ. Với loại hàm này, nội tại
của hàm chỉ tồn tại các ràng buộc và các tính chất hàm.
20
Chương 2. Một mô hình tri thức các đối tượng tính toán rút gọn
X40)SLà các hàm có thể tự động tính toán giá trị trả về của hàm khi xác
định được các đối số. Với loại hàm này, nội tại của hàm ngoài các ràng buộc và tính
chất hàm thì có thêm một thủ tục tính toán để xác định giá trị trả về của hàm.
)?)?+? „8Jf5q:
Dựa vào phân loại hàm trình bày ở phần trên, đề tài phát biểu 2 cách đặc tả
hàm tương ứng như sau:
„8Jf5q:IX40+
function-def ::= FUNCTION name;
ARGUMENT: argument-def+
RETURN: return-def;
[constraint]
[facts]

ENDFUNCTION;
argument-def ::= name: type;
return-def ::= name: type;
„8Jf5q:IX40)
function-def ::= FUNCTION name;
ARGUMENT: argument-def+
RETURN: return-def;
[constraint]
[variables]
[statements]
ENDFUNCTION;
statements ::= statement-def+
statement-def::= assign-stmt | if-stmt | for-stmt
asign-stmt ::= name := expr;
if-stmt ::= \ logic-expr … statements+ …\; |
\ logic-expr … statements+ …-A… statements+ …\;
for-stmt ::= \/ name  [range] / statements+ …\/;
Cách đặc tả trên sẽ đảm bảo thông tin đầy đủ cho một hàm bất kỳ định nghĩa
trên một Com-Object cũng như các Com-Object khác. Đặc biệt ta có thể cập nhật
thành phần này bằng cách khai báo thêm hàm hay xoá hoặc chỉnh sửa thông tin về
hàm một cách dễ dàng.
Trong đó, các yếu tố liên quan đến đặc tả hàm dạng bao gồm:
21
Chương 2. Một mô hình tri thức các đối tượng tính toán rút gọn
2.2.1.1. Phần khai báo hàm
- Tên hàm (FUNCTION): tên hàm được đặt sao cho phù hợp với tri thức
thực tế theo quan niệm của con người, ngắn gọn và tường minh.
- Các đối của hàm (ARGUMENT): mỗi đối của hàm hoặc là một đối tượng
(Com-Object) hoặc là một hàm khác xây dựng trên một số đối tượng. Một
hàm có thể có một hoặc nhiều đối. Trong các công thức hay sự kiện liên

quan đến tri thức hàm ta chấp nhận 2 loại đối là đối hình thức và đối thực
tế. Đối thực tế là các giá trị mà hàm nhận từ các hàm khác hay từ các đối
tượng và là dữ liệu cần xử lý, các đối này truyền dữ liệu trực tiếp vào cho
hàm. Đối hình thức có nghĩa như là tham biến hình thức. Khi muốn một
hàm được thực hiện, ta phải truyền cho các đối hình thức các giá trị thực tế
tương ứng. Mỗi đối của hàm phải xác định kiểu đối, là kiểu dữ liệu của đối
của hàm, có thể là các kiểu dữ liệu cơ sở như kiểu số nguyên, kiểu số thực,
kiểu chuỗi, v.v hoặc là các loại đối tượng như Điểm, Đường thẳng, Mặt
phẳng v.v
- Kết quả trả về (RETURN): bao gồm tên biến và kiểu dữ liệu của biến mà
hàm phải trả về.
Ví dụ: Trong biểu diễn tri thức về Hình học không gian, ta có hàm “H là hình
chiếu của điểm A lên mặt phẳng P”, ký hiệu: H= HinhChieu(A, P). Trong đó:
s Tên hàm: HinhChieu
s Các đối: A: Diem, P: MatPhang
s Giá trị trả về kết quả: H: Diem
2.2.1.2. Phần nội dung hàm
- Sự ràng buộc [constraint]: là điều kiện để xác định sự tồn tại hàm. Ví dụ
hàm GiaoDiem(d, P) là hàm giao điểm của đường thẳng d lên mặt phẳng
P, và điều kiện để hàm tồn tại là mặt phẳng P không chứa đường thẳng d.
- Thủ tục tính toán: thủ tục tính toán này sử dụng trong đặc tả hàm dạng 2,
bao gồm các khai báo biến [variables] cùng các xử lý [statements]. Các
khai báo ở đây là các khai báo cục bộ, chỉ tồn tại bên trong thủ tục tính
toán. Việc thực thi thủ tục này nhằm xác định giá trị trả về của hàm hoặc
xác định một đối tượng thuộc khái niệm Com-Object. Bên trong thủ tục
22
Chương 2. Một mô hình tri thức các đối tượng tính toán rút gọn
tính toán của một hàm thường sử dụng câu lệnh return để trả về kết quả
cho hàm thông qua tên hàm. Giá trị trả về ở đây có thể là một giá trị hằng
hay một đối tượng xác định (có hoặc không có giá trị) hay sự kiện về tính

xác định của hàm. Ví dụ trong hàm “H là hình chiếu của điểm A lên mặt
phẳng P”, giá trị tọa độ H sẽ là giá trị trả về của hàm.
Ví dụ: Hàm “H là hình chiếu của điểm A lên mặt phẳng P”, ký hiệu: H=
HinhChieu(A, P) có thủ tục tính toán như sau:
23
Chương 2. Một mô hình tri thức các đối tượng tính toán rút gọn
5†J‡8J|45JQC4
Bước 1: Xác định phương trình mp(P) có dạng: . Và tọa độ điểm A có
dạng . Nếu P hoặc A chưa xác định thì dừng lại, ngược lại chuyển
sang bước 2.
Bước 2: Xác định (A, B, C) là vecto chỉ phương của đường AH.
Bước 3: Xác định là phương trình tham số của AH.
Bước 4: Thế d vào phương trình mp(P) để tìm t.
Bước 5: Thế t vào d để tìm tọa độ H.
- Tính chất của hàm [facts]: Nếu hàm có kiểu trả về là một đối tượng cấp 1
trở lên thì tùy vào hàm mà có thể phát sinh một số tính chất (sự kiện) liên
quan đến các đối tượng hay các thuộc tính của đối tượng khai báo bên
trong hàm.
Ví dụ: Theo ví dụ trên, hàm “H là hình chiếu của điểm A lên mặt phẳng P”, ký
hiệu: H= HinhChieu(A, P) có các tính chất như: Đường AH vuông góc với mặt
phẳng P, H thuộc mặt phẳng P, độ dài đoạn AH là khoảng cách giữa A đến mp(P).
)?)?)? 012O4Jˆ85QXJcd408†N5q:
Tương ứng với 2 dạng hàm ở mục 2.2.1 sẽ có 2 các xác định giá trị hàm. Cách
thứ nhất là cách xác định hàm bằng luật đối với những hàm không tồn tại thủ tục
tính toán nội tại, và cách thứ 2 là cách xác định hàm dựa trên giá trị trả về của thủ
tục tính toán nội tại của hàm. Cũng dựa vào đó, ta có 2 nguyên tắc hoạt động của
hàm tương ứng với 2 dạng hàm như sau:
- 012O4Jˆ85QXJcd408†NIX405q:J5L+: Vì dạng hàm này được xác
định dựa trên một luật, nên khi một luật xác định hàm được kích hoạt thì
hàm được kích hoạt. Hàm được kích hoạt sẽ đọc nội tại hàm và phát sinh

các tính chất hàm (nếu có).
- 012O4Jˆ85QXJcd408†NIX405q:J5L): Hàm được kích hoạt dựa
trên sự xác định của các đối số của hàm. Nghĩa là khi các đối số trong hàm
được xác định thì hàm sẽ được kích hoạt. Hàm được kích hoạt sẽ đọc nội
tại hàm và phát sinh các tính chất hàm (nếu có).
24
Chương 2. Một mô hình tri thức các đối tượng tính toán rút gọn
)?v? @ A=
2.3.1.1. Các thành phần trong cơ sở tri thức
Cơ sở tri thức được tổ chức bởi một hệ thống tập tin văn bản có cấu trúc dựa
trên một số từ khoá và qui ước về cú pháp, thể hiện các thành phần trong mô hình
tri thức COKB rút gọn. Hệ thống này bao gồm các tập tin như sau:
- Tập tin “Object_Kinds.txt” lưu trữ các định danh (hay tên gọi) cho các khái
niệm về các loại đối tượng tính toán.
- Các tập tin với tên tập tin có dạng “<tên khái niệm Com-Object>.txt” để
lưu trữ cấu trúc của loại đối tượng tính toán.
- Tập tin “Relations.txt” lưu trữ thông tin về các loại quan hệ khác nhau trên
các loại đối tượng tính toán. Và “Relations_Def.txt” để lưu trữ định nghĩa
các quan hệ giữa các đối tượng tính toán.
- Tập tin “Hierarchy.txt”: lưu lại các biểu đồ Hasse thể hiện quan hệ phân
cấp đặc biệt hoá giữa các loại đối tượng.
- Tập tin “Functions.txt” để lưu trữ tên các hàm và “Functions_Def.txt” để
lưu trữ định nghĩa các hàm.
- Tập tin “Rules.txt” lưu trữ các luật của cơ sở tri thức.
Mối liên hệ về cấu trúc thông tin trong cơ sở tri thức có thể được minh họa
bằng sơ đồ sau đây:
25

×