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

XÂY DỰNG HỆ GIẢI TOÁN DỰA TRÊN CƠ SỞ TRI THỨC VỀ ĐẠI SỐ VECTƠ

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 (535.91 KB, 46 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
Đồ án môn học
Biểu Diễn Tri Thức Và Suy Luận
XÂY DỰNG HỆ GIẢI TOÁN
DỰA TRÊN CƠ SỞ TRI THỨC VỀ
ĐẠI SỐ VECTƠ
Giáo viên hướng dẫn: PGS. TS. Đỗ Văn Nhơn
Sinh viên thực hiện : Lâm Hàn Vũ
MSHV : CH1301119
TP Hồ Chí Minh, tháng 3 năm 2014
Lời cảm ơn
1
Để có thể hoàn thành tốt bài báo cáo, trước tiên tôi gởi lời chân thành cảm ơn
đến PGS. TS. Đỗ Văn Nhơn đã tận tình giảng dạy và giúp đỡ trong thời gian thực
hiện bài tiểu luận.
Xin gửi lời cảm ơn đến gia đình, cảm ơn các anh chị, bạn bè, những người
luôn sát cánh, động viên tôi trên bước đường học tập cũng như trong cuộc sống. Xin
chân thành biết ơn sự tận tình dạy dỗ và sự giúp đỡ của tất cả quý thầy cô tại trường
Đại học Công Nghệ Thông Tin, đặc biệt là các thầy cô trong khoa Khoa học Máy
tính, cảm ơn các thầy cô thuộc bộ phận quản trị thiết bị đã tạo điều kiện thuận lợi về
mặt tinh thần, điều kiện học tập trong quá trình học tập môn học. Tất cả các kiến thức
mà nhà trường và quý thầy cô đã truyền đạt là hành trang to lớn để tôi mang theo trên
con đường học tập, làm việc và nghiên cứu cũng như trong quá trình hoàn thiện nhân
cách của mình.
Tp Hồ Chí Minh, ngày 26 tháng 03 năm 2013
Học viên
Lâm Hàn Vũ
Lời nói đầu
Trong khoa học Trí tuệ Nhân tạo, để xây dựng các hệ chuyên gia và các hệ giải


bài toán dựa trên tri thức người ta phải thiết kế một cơ sở tri thức cho hệ thống và
một động cơ suy diễn để giải quyết vấn đề dựa trên tri thức. Hoạt động chuyên gia
phụ thuộc rất lớn vào kiến thức đã có, cho nên nghiên cứu phát triển các phương
pháp biểu diễn tri thức và cơ chế suy luận giải bài toán dựa trên tri thức có ý nghĩa
rất lớn về lý thuyết cũng như ứng dụng trong khoa học máy tính nói chung và trong
khoa học Trí tuệ Nhân tạo nói riêng, đặc biệt là đối với các hệ giải toán dựa trên tri
thức. Với hệ giải bài toán dùng trong giáo dục còn đòi hỏi một lời giải tốt phù hợp
với cách suy nghĩ và cách viết bình thường của con người, càng tự nhiên càng tốt.
Giải toán tự động là một đề tài khá thú vị cho những ai quan tâm đến lĩnh vực
trí tuệ nhân tạo của ngành khoa học máy tính. Ứng dụng của giải toán tự động được
sử dụng rộng rãi trong các ngành khoa học tính toán. Các nhà khoa học cố gắng
nghiên cứu quá trình suy luận của bộ óc con người trong quá trình giải toán để có thể
lập trình được. Mặc dù không hoàn toàn giống hệt nhưng họ cũng đưa ra được những
giải pháp thích hợp cho việc xây dựng các hệ giải bài toán dựa trên tri thức. Trong
2
cấu trúc của hệ thống, “cơ sở tri thức” là phần kiến thức của con người, là cơ sở cho
“bộ suy diễn”, là động cơ sẽ hoạt động “tư duy” trong khi giải toán. Quá trình giải
toán là suy diễn dựa trên những kiến thức có quan hệ nhau trong cơ sở tri thức để từ
giả thuyết có thể suy ra được kết luận của bài toán. Người ta đã nghiên cứu cách biểu
diễn tri thức của con người và xây dựng các chiến lược tìm kiếm lời giải cho bộ suy
diễn để có thể có được một hệ thống thông minh uyển chuyển có khả năng giải bài
toán thông minh tương tự như con người.
Kiến thức Đại số Vectơ là kiến thức cơ sở quan trọng cho học sinh Trung học
Phổ thông trong quá trình học và ôn luyện thi Đại học Cao đẳng. Vì vậy đề tài tiếp
cận vàvận dụng các phương pháp biểu diễn tri thức đã có cũng như xây dựng mô
hình biểu diễn tri thức mới nhằm xây dựng hệ hỗ trợ giải bài tập Đại số vectơ.
Trong đề tài này, chúng tôi giới thiệu kiến thức Đại số Vectơ bao gồm kiến
thức tổng quát, phân loại bài tập và một số nhận xét; xây dựng mô hình biểu diễn tri
thức và thuật giải suy luận cho các dạng bài tập cụ thể; trình bày các kĩ thuật thiết kế
và cài đặt hệ giải toán Đại số Vectơ.

MỤC LỤC
Chương 1
GIỚI THIỆU ĐỀ TÀI
1.1. Bối cảnh
Với sự phát triển như vũ bão của tin học thì việc ứng dụng tin học vào các
ngành khoa học khác đang phát triển một cách song song. Đặc biệt, với toán học là
một ngành khoa học được ứng dụng rất nhiều trong các lĩnh vực khác nhau của cuộc
sống như kinh doanh, quản lý, giáo dục… thì việc ứng dụng tin học trong toán học
mang lại ý nghĩa vô cùng quan trọng.
Hiện nay trên thế giới đã có một số phần mềm dành cho toán học. Một số
phần mềm chuyên dụng như: vẽ đồ thị Graph, Geometry, Mathprof …đến các phần
3
mềm toán học được gọi là “siêu mạnh” như Maple, Mathematica…Các phần mềm
toán học này đã giúp ích khá nhiều trong việc học toán cũng như giải toán, tuy nhiên
chúng cũng còn một số hạn chế sau:
- Một số phần mềm chỉ hỗ trợ việc tính toán đơn giản (tính toán số học, tính
toán trên các đối tượng cơ bản,…) hay chỉ cung cấp một số công cụ hỗ trợ
một yêu cầu cụ thể nào đó (vẽ đồ thị, cung cấp các công thức toán học,…).
- Một số phần mềm tốt hơn thì hỗ trợ thao tác trên các đối tượng trừu tượng
như ma trận, Vectơ, đạm hàm, tích phân,…nhưng chúng chỉ dừng lại ở
việc đưa ra kết quả hoặc nếu có chỉ là một số bước hướng dẫn nhưng phức
tạp.
- Bên cạnh đó, việc nhập dữ liệu đầu vào một số phần mềm phải tuân theo
một số quy ước phức tạp gây khó khăn cho người sử dụng, thường chỉ
thích hợp với những nhà chuyên môn biết kĩ thuật lập trình.
Ở Việt Nam đã có nhiều công ty có những hoạt động nghiên cứu, sản xuất các
sản phẩm công nghệ thông tin cho giáo dục, cho ra các phần mềm giáo dục hỗ trợ
giảng dạy trong một số lĩnh vực nhất định như : Nhóm phát triển phần mềm sinh viên
học sinh Student Software Development Group, Công ty cổ phần Kim Ngân, Tuy
nhiên, các sản phẩm thường tập trung vào khía cạnh hướng dẫn học tốt là chủ yếu,

một số phần mềm giúp tự học và kiểm tra dưới hình thức sách điện tử với một số tính
năng bổ sung tương đối đơn giản.
Bên cạnh các sản phẩm phần mềm cũng có một số công trình nghiên cứu khoa
học về ứng dụng tin học trong toán học ở Việt Nam và cả trên thế giới, các công trình
đã đạt được một số kết quả nhất định. Một số công trình nghiên cứu như: nghiên cứu
sử dụng phần mềm toán học cho việc giảng dạy và nghiên cứu khoa học[5], hệ hỗ trợ
học tri thức và giải toán hình học giải tích[6], mạng tính toán mở rộng và ứng dụng
trong phần mềm giáo dục [7], mạng đối tượng tính toán mở rộng và ứng dụng trong
phần mềm giáo dục [8]… Các nghiên cứu này đã tìm ra cách tổ chức, lưu trữ tri thức
và các mô hình dùng trong quá trình suy luận để giải quyết vấn đề trong một số miền
tri thức cụ thể.
Một số luận văn có thực hiện và vận dụng mô hình tổ chức tri thức COKB,
ECOKB [6], [7], [8]sử dụng cho suy diễn để giải toán, đặc biệt là mô hình hướng đến
giải toán Hình học giải tích hai chiều [1] đã đạt được một số thành quả nhất định :
- Mô hình hóa một lớp bài toán, nghiên cứu thiết kế thuật giải.
- Cài đặt được các xử lý, và tìm lời giải cho một lớp bài toán trên mô hình
của một cơ sở tri thức.
4
- Nghiên cứu phát triển các lọai sự kiện, có cài đặt xử lý một số sự kiện liên
quan đến thành phần tri thức dạng hàm
Tuy nhiên các luận văn trên chỉ giải quyết được một số dạng toán nhỏ, chưa
xem xét giải quyết một lớp bài toán tổng quát, việc biện luận giải quyết theo tham số
vẫn là một vấn đề chưa giải quyết, giao diện thể hiện chưa thẩm mĩ, gây khó khăn
cho người sử dụng, chưa đưa ra được lời giải một cách tự nhiên, việc đọc hiểu lời
giải bài toán chưa thực sự phù hợp với học sinh phổ thông, còn nặng về máy móc.
Vận dụng, kế thừa và phát huy những kết quả đã đạt được ở trên, em xây dựng
một chương trình ứng dụng Đại số vectơ. Qua đó bố trí lại cách tổ chức mô hình tri
thức để phù hợp hơn với miền tri thức được áp dụng
1.2. Mục tiêu, phạm vi đề tài
Đề tài hướng đến việc xây dựng hệ hỗ trợ giải toán “Đại số vectơ” giúp sinh

viên tiếp thu và học toán một cách dễ dàng. Chương trình được xây dựng dựa trên
một mô hình biểu diễn tri thức giúp cho việc thiết kế và cài đặt chương trình được
thuận tiện, đặc biệt chương trình phải dựa trên một hệ cơ sở tri thức được tổ chức tốt
giúp cho việc thêm, xóa hay chỉnh sửa tri thức sau này. Chương trình phải thật sự
gần gũi, dễ tương tác giúp phần lớn sinh viên không chỉ riêng sinh viên nhóm ngành
công nghệ thông tin có thể sử dụng được dễ dàng.
Xây dựng hệ hỗ trợ giải toán Hình học giải tích hai chiều có các chức năng
chính sau:
- Phạm vi giải toán là các dạng bài về đại số Vectơ.
- Nghiên cứu, vận dụng các phương pháp của trí tuệ nhân tạo, đặc biệt là
biểu diễn và suy luận tri thức để giải quyết bài toán đại số Vectơ với những
yêu cầu sau:
o Có lưu trữ cơ sở tri thức ngoài, để thuận tiện cho việc thêm, xóa,
sửa tri thức cho phù hợp với các miền tri thức được áp dụng
o Cho nhập bài toán bất kỳ, dạng tổng quát theo quy ước
o Tìm ra lời giải tự nhiên như con người, dễ hiểu đối với người dùng
là học sinh phổ thông.
o Cho ra lời giải bài toán cụ thể phù hợp với cách nghĩ và viết của
con người, thể hiện theo từng bước một các logic.
o Giao diện chương trình trực quan, dễ sử dụng.
5
- Khắc phục một số hạn chế của các mô hình tri thức trước đây như :
o Cụ thể hóa và phân loại chi tiết, chia nhỏ từng miền tri thức để xây
dựng lời giải tốt nhất.
o Phân loại các dạng bài toán tổng quát theo từng miền tri thức, từng
đặc trưng riêng của các đối tượng tính toán.
o Vận dụng linh hoạt mô hình tri thưc COKB, ECOKB dạng khuyết
hoặc dạng đầy đủ để xử lý hiệu quả nhất cho miền tri thức áp dụng
o Đi sâu vào việc giải quyết tốt từng vấn đề cụ thể trong mỗi miền tri
thức riêng.

Chương 2
TRI THỨC VỀ ĐẠI SỐ VECTƠ
2.1 Kiến thức tổng quát
Phần này trình bày tóm tắt kiến thức tổng quát trong phạm vi miền tri thức
về đại số Vectơ, tham khảo từ các tài liệu [2], [10]
2.1.1 Các định nghĩa
Điểm : là một khái niệm cơ bản trong toán học, được thừa nhận như một khái
niệm xuất phát để xây dựng môn hình học, được hình dung như là cái gì đó rất nhỏ
bé, không có kích thước hay kích thước bằng không. Trong hình học sơ cấp người ta
chỉ mô tả hình ảnh của một Đ (hạt bụi, chấm mực).
Vectơ : là một đoạn thẳng có hướng, nghĩa là trong hai điểm của đoạn thẳng
đã chỉ rõ điểm nào là điểm đầu, điểm nào là điểm cuối.
Để xác định một vectơ cần biết một trong hai điều kiện sau:
o Điểm đầu và điểm cuối của vectơ.
o Độ dài và hướng.
Hai vectơ và được gọi là cùng phương nếu giá của chúng song song hoặc
trùng nhau.
6
Nếu hai vectơ và cùng phương thì chúng có thể cùng hướng hoặc ngược
hướng.
Độ dài của một vectơ là khoảng cách giữa điểm đầu và điểm cuối của vectơ
đó.
Vectơ bằng nhau : = khi và chỉ khi và , cùng hướng.
Với mỗi điểm A ta gọi là vectơ – không. Vectơ – không được kí hiệu là và
quy ước rằng 0. Vectơ cùng phương và cùng hướng với mọi vectơ.
2.1.2 Tổng và hiệu hai Vectơ
Định nghĩa tổng của hai vectơ và quy tắc tìm tổng.
o Cho hai Vectơ tùy ý và . Lấy điểm A tùy ý, dựng và . Khi đó =
o Với ba điểm M, N và P tùy ý ta luôn có (quy tắc 3 điểm)
o Tứ giác ABCD là hình bình hành, ta có: (quy tắc hình bình hành).

Định nghĩa Vectơ đối.
o Cho vectơ . Vectơ có cùng độ dài và ngược hướng với được gọi là vectơ
đối của vectơ , kí hiệu là .
o Mỗi vectơ đều có vectơ đối, chẳng hạn vectơ đối của là , nghĩa là =
o Vectơ đối của là .
Định nghĩa hiệu của hai Vectơ và quy tắc tìm hiệu.
o Quy tắc ba điểm đối với phép trừ vectơ: Với ba điểm bất kì O, A, B ta có
o Lưu ý:
 I là trung điểm AB . Với điểmO bất kỳ :.
 G là trọng tâm tam giác ABC . Với điểm O bất kỳ :
2.2 Phân loại bài tập
Phân loại bài tập theo từng dạng cơ bản và trình bày minh họa một số ví dụ
bài toán thuộc dạng bài tập đó, tham khảo trong tài liệu [2], [9]
2.2.1 Dạng 1: Dạng toán rút gọn biểu thức
Phương pháp : Ta dùng quy tắc tìm tổng, hiệu của hai Vectơ, tìm vectơ đối để
biến đổi biểu thức về dạng đơn giản nhất có thể.
7
Một số bài tập mẫu cơ bản :
Rút gọn các biểu thức vectơ sau :
a.
b.
c.
2.2.2 Dạng 2: Dạng toán chứng minh đẳng thức Vectơ
Dạng toán chứng minh đẳng thức không có điều kiện : dạng toán này chủ yếu
áp dụng các tính chất của phép cộng vectơ, tìm vectơ đối .
Dạng toán chứng minh đẳng thức có điều kiện dạng quan hệ như : trung điểm,
trọng tâm tam giác, tâm hình bình hành, trung tuyến từ đó suy ra các đẳng thức hệ
quả để áp dụng vào biểu thức vectơ, kết hợp các quy tắc cộng trừ vectơ để biến đổi
biểu thức vế trái thành biểu thức vế phải.
Dạng toán chứng minh đẳng thức vectơ có điều kiện dạng phương trình : dạng

toán này thường áp dụng luôn các phương trình mà đề bài đã cho vào luôn đẳng thức.
Dạng toán chứng minh đẳng thức tổng quát : gồm các điều kiện dạng phương
trình, dạng quan hệ, đây là dạng toán kết hợp của các dạng toán trên
Phương pháp chung : Mỗi vế của một đẳng thức vectơ gồm các vectơ được
nối với nhau bởi các phép toán vectơ. Ta dùng quy tắc tìm tổng, hiệu của hai vectơ,
tìm vectơ đối để biến đổi vế này thành vế kia của đẳng thức hoặc biến đổi cà hai vế
của đẳng thức để được hai vế bằng nhau. Ta cũng có thể biến đổi đẳng thức vectơ
cần chứng minh đó tương đương với một đẳng thức vectơ được công nhận là đúng.
Một số bài tập mẫu cơ bản
Bài 1. Cho tam giác ABC, gọi M, N, K lần lượt là trung điểm của BC, CA,
AB. Chứng minh :
a.
b.
c.
Bài 2 : Cho tứ giác ABCD, I,J là trung điểm AC, BD. Chứng minh
Bài 3 : Cho tứ giác ABCD, gọi M,N,I,J là trung điểm AD,BC,AC,BD. Chứng
minh :
a.
b.
Bài 4 : Cho 6 điểm A,B,C,D,E,F chứng minh đẳng thức vectơ sau là đúng
8
a.
b.
c.
Chương 3
MÔ HÌNH COKB VÀ ECOKB
Chương này trình bày về mô hình tri thức được sử dụng làm cơ sở lý thuyết,
mô hình COKBvà ECOKB, tham khảo trong tài liệu [3], [6], [7], [8]
3.1 Mô hình COKB
3.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 Attr(O) = {x
1
, x
2
, , x
n
} 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
9
3.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,Rule)
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
3.1.3 Mô hình tri thức các đối tượng tính toán (COKB)
Để có một mô hình biểu diễn tri thức rộng hơn có thể sử dụng trong việc xây
dựng một hệ cơ sở tri thức và giải toán về các C-Object ta cần phải xem xét khái
niệm C-Object trong một hệ thống các khái niệm C-Object cùng với các loại sự kiện,
các loại quan hệ khác nhau và các dạng luật khác nhau liên quan đến chúng. Ta sẽ
xem xét một mô hình tri thức như thế và gọi nó là mô hình tri thức về các C-Object.
Mô hình tri thức các C-Object , viết tắt là mô hình COKB (Computational
Objects Knowledge Base), là một hệ thống (C, H, R, Ops, Rules) gồm:
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ụ:
10
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:
- 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.
- 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.
- 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 đó).
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

11
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 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 : {sk
1
, sk
2
, , sk
n
}⇒{ sk
1
, sk
2
, , sk
m
}
Để 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.
 Các loại sự kiện :
[1] Sự kiện thông tin về loại của một đối tượng.
[2] Sự kiện về tính xác định của một đối tượng (các thuộc tính coi như đã biết)
hay của một thuộc tính.
[3] Sự kiện về sự 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 .
[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ự bằng nhau nầy giữa 2 đối tượng sẽ được hiểu theo
nghĩa là các thuộc tính tương ứng của chúng bằng nhau.
[5] Sự kiện về sự phụ thuộc của một đối tượng hay của một thuộc tính theo những
đối tượng hay các thuộc tính khác thông qua một công thức tính toán. Loại sự kiện
nầy có dạng :
[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.
12
Một ví dụ áp dụng của mô hình COKB là biểu diễn tri thức về các tam giác và
tứ giác trong hình học phẳng theo mô hình tri thức về các C-Object ([3]). Một phần
lớn kiến thức về hình học giải tích 3 chiều hay kiến thức về các phản ứng hóa học
cũng có thể được biểu diễn theo mô hình nầy. Cách biểu diễn kiến thức theo mô hình
nầy có nhiều ưu điểm thuận lợi cho việc thiết kế một cơ sở tri thức truy cập được dễ
dàng bởi các môđun quản trị tri thức cũng như các môđun giải toán và tra cứu kiến
thức. Đặc biệt là mô hình giúp ta có thể thiết kế các thuật giải để giải toán tự động.
Mô hình tri thức về các C-Object giúp ta có một tổ chức cơ sở tri thức chặc
chẽ và tiện lợi cho việc hiệu chỉnh, truy cập cũng như cho việc sử dụng tri thức trong
giải tự động các bài toán. Mô hình này thể hiện được ưu thế và lợi ích của chúng
trong việc thiết kế các chương trình giải bài toán thông minh dựa trên tri thức.
3.2 Định nghĩa Mô hình ECOKB
Một mô hình tri thức các C-Object mở rộng (viết tắt là mô hình ECOKB –
Extended Computational Objects Knowledge Base) là một hệ thống gồm 6 thành

phần:[9]
(C, H, R, Ops, Funcs, Rules )
Trong đó:
o C là một tập hợp các khái niệm về các C-Object
o H là một tập hợp các quan hệ phân cấp giữa các loại đối tượng
o R là tập hợp các khái niệm về các loại quan hệ trên các C-Object
o Ops là một tập hợp các toán tử
o Funcs là một tập hợp các hàm
o Rules là tập hợp các luật được phân lớp
Chi tiết về mỗi thành phần được mô tả cụ thể như sau:
o Một tập hợp C các khái niệm về các C-Object:
o Một tập hợp H các quan hệ phân cấp giữa các loại đối tượng
o 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
o Một tập hợp Ops các toán tử
o Một tập hợp Funcs gồm các hàm
13
o Một tập hợp Rules gồm các luật được phân lớp
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 2 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:
R:{sk
1
,sk
2
,…,sk
n
}=>{sk
1
,sk
2

,…,sk
m
}
Để 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 11 loại sự kiện khác nhau được xem
xét trong mô hình:
 Các loại sự kiện
[1] Sự kiện thông tin về loại của đối tượng.
[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.
[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.
[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.
[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.
[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.
[7] Sự kiện về tính xác định của một hàm.
[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.
[9] Sự kiện về sự bằng nhau giữa một đối tượng với một hàm.
[10] Sự kiện về sự bằng nhau của một hàm với một hàm khá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.
3.3 Tổ chức cơ sở tri thức về theo mô hình ECOKB
3.3.1 Các thành phần
14
Cơ sở tri thức về các C-Object theo mô hình COKB có thể được tổ chức bởi
một hệ thống tập tin văn bản có cấu trúc thể hiện các thành phần trong mô hình tri
thức. Có thể thiết kế hệ thống các tập tin nầy gồm những tập tin như sau:

o Tập tin “Objects.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 C-Object.
o 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 C-Object.
o 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 hóa trên các khái niệm.
o Các tập tin với tên tập tin có dạng “<tên khái niệm C-Object>.txt” để
lưu trữ cấu trúc của loại đối tượng <tên khái niệm C-Object>. Ví dụ:
tập tin “TamGiac.txt” lưu trữ cấu trúc của loại đối tượng tam giác.
o Tập tin “Operators.txt” lưu trữ các thông tin về các toán tử trên các đối
tượng.
o Tập tin “Define-Operators.txt” lưu trữ định nghĩa về các toán tử trên
các đối tượng.
o Tập tin “Functions.txt” lưu trữ thông tin các hàm.
o Tập tin “Define-Functions.txt” lưu trữ định nghĩa các hàm.
o Tập tin “Facts.txt” lưu trữ thông tin về các loại sự kiện khác nhau.
o Tập tin “Rules.txt” lưu trữ hệ luật của cơ sở tri thức.
3.3.2 Cấu trúc của các tập tin lưu trữ các thành phần ECOKB
Các tập tin lưu trữ các thành phần trong cở sở tri thức các C-Object được ghi
dưới dạng các văn bản có cấu trúc dựa trên một số từ khóa và qui ước về cú pháp khá
đơn giản và tự nhiên. Dưới đây là phần liệt kê cấu trúc của các tập tin:
- Cấu trúc tập tin “Objects.txt”
begin_Objects
<tên lớp đối tượng 1>
<tên lớp đối tượng 2>

end_Objects
- Cấu trúc tập tin “relations.txt”
15
begin_Relations

[<tên quan hệ>, <loại đối tượng>, <loại đối tượng>, ],
{<tính chất>, <tính chất>, }
[<tên quan hệ>, <loại đối tượng>, <loại đối tượng>, ],
{<tính chất>, <tính chất>, }

end_Relations
- Cấu trúc tập tin “<tên khái niệm C-Object>.txt”
begin_object: <tên khái niệm C-Object>[các đối tượng nền]
<các đối tượng nền> : <kiểu>;

begin_variables
<tên thuộc tính> : <kiểu>;

end_variables
begin_constraints

end_constraints
begin_properties
<sự kiện>

end_properties
begin_computation_relations
begin_relation
flag=<0 hoặc 1>
Mf={các thuộc tính}
rf=1
vf={ghi thuộc tính kết quả nếu flag = 0}
expf= `biểu thức tính toán`
cost= <trọng số của sự tính toán>
end_relation


end_computation_relations
begin_rules
begin_rule
kind_rule = "<loại luật>";
hypothesis_part:
{các sự kiện giả thiết của luật}
goal_part:
{ các sự kiện kết luận của luật hoặc là "Object"}
end_rule

end_rules
end_object
begin_inside_net
parameters:
objects:

16
facts:

end_inside_net
- Cấu trúc tập tin “rules.txt”
begin_rules
begin_rule
kind_rule = "<loại luật>";
<các tên đối tượng> : <kiểu đối tượng>;

hypothesis_part:
{các sự kiện giả thiết của luật}
goal_part:

{ các sự kiện kết luận của luật hoặc là "Object"}
end_rule

end_rules
3.4 Mô hình bài toán
3.4.1 Mô hình
Dựa trên việc nghiên cứu các bài toán cụ thể ta có thể đề xuất mô hình bài
toán tổng quát trên mô hình tri thức ECOKB gồm các thành phần như sau:
(O, M, F, Facts, FFacts), Goal
Trong đó:
o O là tập các đối tượng tính toán trong bài toán,
o M là tập các thuộc tính của các đối tượng được đề cập tới trong bài
toán,
o F là tập các hàm được đề cập trong bài toán,
o Facts là tập các sự kiện thuộc 6 lọai [1]-[6], và
o FFacts là tập các sự kiện thuộc các lọai khác liên quan đến tri thức
hàm.
o Goal là mục tiêu hay yêu cầu của bài toán.
Ví dụ 1: Xét bài toán sau đây: Cho đường thẳng (d): x + 2y - 7 = 0.
a. Xác định A, B là giao điểm của Ox, Oy với (d).
b. Tìm toạ độ hình chiếu H của gốc O lên (d).
c. Viết phương trình (d’) đối xứng với (d) qua O.
Bài toán có thể được mô hình hóa theo mô hình trên như sau:
O := {d: đường thẳng, Ox: đường thẳng, Oy: đường thẳng, A: điểm,
17
B: điểm, O: điểm, H: điểm, d’: đường thẳng }
M := {d.ptdt, Ox.ptdt, Oy.ptdt, H.x, H.y}
F := {GiaoĐiểm(đường thẳng, đường thẳng),
HìnhChiếu(điểm, đường thẳng),
ĐốiXứng(đường thẳng, điểm)}

Facts : = { d.ptdt: 3x + 4y -12 =0,
Ox.ptdt: y=0, Oy.ptdt: x = 0,
O(0,0)}
FFacts := { A = GiaoĐiểm(d, Ox),
B = GiaoĐiểm (d, Oy),
H = HìnhChiếu (O,d),
d’ = ĐốiXứng (d, O)}
Goal := [A, B, H, (d’)]
Ví dụ 2: Xét bài toán sau đây: Viết phương trình đường thẳng đi qua giao
điểm hai đường thẳng 2x + 7y – 8 = 0; 3x + 2y + 5 = 0 và hợp với đường thẳng (d):
2x + 3y -7 = 0 một góc 45
0
.
Bài toán có thể được mô hình hóa theo mô hình trên như sau:
O := {d: đường thẳng, d1: đường thẳng, d2: đường thẳng,
d3: đường thẳng, A: điểm}
M := {d.ptdt, d1.ptdt, d2.ptdt, d3.ptdt}
F := {Goc(đthẳng, đthẳng), GiaoDiem(đthẳng, đthẳng) }
Facts : = {d.ptdt : 2x + 3y -7 = 0,
d1.ptdt: 2x + 7y – 8 = 0,
d2.ptdt: 3x + 2y + 5 = 0,
A “thuộc” d3}
FFacts := {Goc(d,d3) = 45,
18
A = GiaoDiem(d1, d2)}
Goal := [d3]
3.4.2 Đặc tả bài toán
Để có thể thiết kế phần giao tiếp và cho phép nhập bài toán vào hệ thống giải
bài toán một cách đa dạng và đáp ứng các yêu cầu thực tế, ta cần có một ngôn ngữ
quy ước để đặc tả bài toán. Trong mục này trình bày ngôn ngữ quy ước để đặc tả bài

toán với các tiêu chí sau:
o Tính đơn giản.
o Tính tự nhiên.
o Tính tiện dụng.
o Khả năng đặc tả tốt.
Hệ thống sẽ cung cấp 2 cách để đặc tả bài toán:
Đề bài có thể được cho dưới dạng một tập tin văn bản có cấu trúc dựa trên
một số từ khoá như: begin_exercise, end_exercise, begin_hypothesis,
end_hypothesis, parameters, end_parameters, objects, end_object, facts,
end_facts, functions, end_functions, goals, end_goals cùng với một số qui ước
khai báo các tham biến, các đối tượng, các sự kiện, các hàm, và yêu cầu của bài toán.
Cấu trúc của đề bài bài toán có dạng như sau:
begin_exercise
kind_ex = ”….”
// Phần giả thiết của bài toán
begin_hypothesis
parameters:
<các tham biến>
end_parameters
objects:
<dãy các tên đối tượng> : <kiểu đối tượng>
…………
end_objects
facts:
<các sự kiện giả thiết loại [1] – [6]>
………
end_facts
functions:
<các sự kiện giả thiết loại 7 – 11 liên quan đến hàm>
…………

end_functions
end_hypothesis
19
// Phần kết luận_mục tiêu của bài toán
begin_goal
[<các sự kiện mục tiêu>]
end_goal
end_exercise
Chương 4
ỨNG DỤNG MÔ HÌNH GIẢI CÁC BÀI TOÁN VỀ ĐẠI SỐ
VECTƠ
4.1. Mô Hình COKB rút gọn
(C, R, Rules )
Xây dựng mô hình tri thức dựa theo mô hình COKB (Computational Objects
Knowledge Base) khuyết gồm các đối tượng cơ bản sau : Tập các đối tượng C –
Object, tập quan hệ trên các đối tượng, tập các toán tử, tập hợp các luật được phân
lớp, tập hợp hàm, ập hợp các loại sự kiện.
Tập hợp các loại sự kiện : Trong mô hình tri thức đại sốvectơ chỉ sử dụng một
số sự kiện sau :
1 Sự kiện thông tin về loại của đối tượng.
Cấu trúc sự kiện: [<object>, <loại object>].
Ví dụ: [O1,”TamGiac”], [a,”Vecto”].
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.
Cấu trúc sự kiện:<object> hay <object>.<thuộc tính>
Ví dụ: Doan[A,B]
3 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.
Cấu trúc sự kiện:
<object>|<object>.<thuộc tính> = <object>|<object>.<thuộc tính>.
Ví dụ: O1.c = Doan[A,B], a = b.

E.A1=[-a,0] (a có thể là 1 trong những Objects hay thuộc tính của Objects)
4 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.
Cấu trúc sự kiệ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>
20
Ví dụ: a = 2*c + b
5 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.
Cấu trúc sự kiện: [<tên quan hệ>,<object1>,<object2>,…]
Ví dụ: [“TrungDiem”,M,d]
Chi tiết về mỗi thành phần được mô tả cụ thể như sau:
4.1.1 Tập C các khái niệm về các đối tượng tính toán
Tập các khái niệm C bao gồm 5 đối tượng “Điểm”, “Vectơ”, “Đoạn”, “Tam
giác”, “Hình bình hành”.
- Khái niệm “Điểm”chỉ một loại đối tượng cơ bản. “Điểm” là cấu trúc rỗng.
- Khái niệm “Đoạn”, “Vectơ” chỉ các loại đối tượng cấp 1. Mỗi “đoạn”
được thiết lập từ 2 điểm không trùng nhau. “Vectơ” được thiết lập từ một
danh sách nền gồm 2 đối tượng loại “điểm”.
- “Tam giác”, “Hình bình hành” là loại đối tượng cấp 2 được thiết lập từ
danh sách nền các đối tượng cơ bản kiểu điểm, có các thuộc tính loại real
và các thuộc tính loại đối tượng cấp 1.
4.1.2 Tập các quan hệ trên các đối tượng
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 và tính chất bắc cầu. Ví dụ một số quan hệ sau:
- Quan hệ “Trọng tâm” giữa một “điểm” với một “tam giác”
o [TrongTam, Diem, TamGiac],{}
- Quan hệ “Trung điểm” giữa “điểm” với một “đoạn”

o [TrungDiem,Diem,Doan],{}
- v.v
4.1.3 Tập hợp các luật
Hầu hết các tính chất, mệnh đề, định lý trong Đại số vectơ có thể được biểu
diễn dưới dạng các luật dẫn trên các sự kiện, liên quan đến các C-Object khai báo
trong tập C. Dưới đây là một số luật dẫn cụ thể:
- {A,B,C,D : điểm, O1 : hình bình hành ABCD{
21
- {A,B,C,G : điểm, G là “trọng tâm” tam giác ABC]} {
- {A,B,C,D,O là điểm, O1 : hình bình hành ABCD, O là "tâm”hình bình
hành ABCD}{O là “trung điểm”đoạn AC, O là “trung điểm”đoạn BD}
- v.v
4.2 Tổ chức lưu trữ
4.2.1 Các thành phần
Cơ sở tri thức về các C-Object theo mô hình COKB có thể được tổ chức bởi
một hệ thống tập tin văn bản có cấu trúc thể hiện các thành phần trong mô hình tri
thức. Có thể thiết kế hệ thống các tập tin nầy gồm những tập tin như sau:
o Tập tin “Objects.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 C-Object.
o 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 C-Object.
o Các tập tin với tên tập tin có dạng “<tên khái niệm C-Object>.txt” để
lưu trữ cấu trúc của loại đối tượng tên khái niệm C-Object> (có 5 tập
tin lưu trữ : “Diem.txt”, “Doan.txt”, “Vecto.txt”, “TamGiac.txt”,
“HinhBinhHanh.txt” ).
o Tập tin “Rules.txt” lưu trữ hệ luật của cơ sở tri thức.
4.2.2 Cấu trúc của các tập tin lưu trữ các thành phầnCOKB
Các tập tin lưu trữ các thành phần trong cở sở tri thức các C-Object được ghi
dưới dạng các văn bản có cấu trúc dựa trên một số từ khóa và qui ước về cú pháp khá
đơn giản và tự nhiên của mô hình COKB. Dưới đây là phần liệt kê cấu trúc của các

tập tin:
Tập tin “Objects.txt”
begin_Objects
Diem
Vecto
Doan
TamGiac
HinhBinhHanh
end_Objects
Chi tiết một số tập tin<C-Object.txt>
Chi tiết về tập tin “Diem.txt”
begin_object: Diem;
22
begin_variables
end_variables
begin_constraints
end_constraints
begin_computation_relations
end_computation_relations
begin_rule
end_rules
end_object
Tập tin “Relations.txt”
begin_Relations
["TrungDiem",Diem,Doan],{}
["TrongTam", Diem, TamGiac],{}
["TrungTuyen", Doan, TamGiac],{}
["TrungDiem", Diem, Vecto],{}
["Tam",Diem,HinhBinhHanh],{}
end_Relations

Tập tin “Rules.txt”
begin_rules
begin_rule 1
kind_rule="3";
A,B,C,D : Diem;
O1 : HinhBinhHanh[A,B,C,D];
hypothesis_part
{}
end_hypothesis_part
goal_part
{ Vecto[A, B] + Vecto[A, D] = Vecto[A,C] ,Vecto[C, B] + Vecto[C,
D]=Vecto[C,A] , Vecto[B, A] + Vecto[B, D] = Vecto[B,D], Vecto[D, A] + Vecto[D, C] =
Vecto[D,B],Vecto[B,C]= Vecto[A,D],Vecto[A,B]= Vecto[D,C]}
end_goal_part
readTrue = "true"
end_rule
begin_rule 2
kind_rule="1";
A,B,M : Diem;
hypothesis_part
{["TrungDiem",M,Doan[A,B]]}
end_hypothesis_part
goal_part
{Vecto[M,A] + Vecto[M,B] = Vecto[0],Vecto[A,M] + Vecto[B,M] =
Vecto[0],Vecto[A,B] = 2*Vecto[A,M],Vecto[A,B] =
23
2*Vecto[M,B],Vecto[B,A] = 2*Vecto[B,M],Vecto[B,A] = 2*Vecto[M,A] }
end_goal_part
readTrue = "true"
end_rule

begin_rule 3
kind_rule="1";
A,B,C,G : Diem;
hypothesis_part
{["TrongTam",G,TamGiac[A,B,C]]}
end_hypothesis_part
goal_part
{ Vecto[G,A] + Vecto[G,B] + Vecto[G,C] = Vecto[0],Vecto[A,G] +
Vecto[B,G] + Vecto[C,G] = Vecto[0]}
end_goal_part
readTrue = "true"
end_rule
begin_rule 4
kind_rule="2";
A,B,M, O : Diem;
hypothesis_part
{["TrungDiem",M,Doan[A,B]]}
end_hypothesis_part
goal_part
{Vecto[O,A] + Vecto[O,B] = 2 *Vecto[O,M] , Vecto[A,O] +
Vecto[B,O] = 2 *Vecto[M,O]}
end_goal_part
readTrue = "true"
end_rule
begin_rule 5
kind_rule="2";
A,B,C,G, O : Diem;
hypothesis_part
{["TrongTam",G,TamGiac[A,B,C]]}
end_hypothesis_part

goal_part
{Vecto[A,O] + Vecto[B,O] + Vecto[C,O] =
3*Vecto[G,O],Vecto[O,A] + Vecto[O,B] + Vecto[O,C] = 3*Vecto
[O,G]}
end_goal_part
readTrue = "true"
end_rule
begin_rule 6
kind_rule="3";
A,B,C,D,O : Diem;
hypothesis_part
{["TrongTam",O,HinhBinhHanh[A,B,C,D]]}
end_hypothesis_part
goal_part
{Vecto[O,A] + Vecto[O,C] = Vecto[0],Vecto[O,B] + Vecto[O,D] =
Vecto[0],Vecto[A,O] + Vecto[C,O] = Vecto[0],Vecto[B,O]
24
+ Vecto[D,O] = Vecto[0]}
end_goal_part
readTrue = "true"
end_rule
begin_rule 7
kind_rule="3";
A,B,C,D,O : Diem;
O1 : HinhBinhHanh[A,B,C,D]
hypothesis_part
{["Tam",O,HinhBinhHanh[A,B,C,D]]}
end_hypothesis_part
goal_part
{["TrungDiem",O,Doan[A,C]],["TrungDiem",O,Doan[B,D]]}

end_goal_part
readTrue = "true"
end_rule
end_rules
4.3. Mô hình bài toán
4.3.1. Mô hình
Dựa trên việc nghiên cứu các bài toán cụ thể ta có thể đề xuất mô hình bài
toán tổng quát trên mô hình tri thức ECOKB rút gọn, gồm các thành phần như sau:
(O, Facts, Goal)
Trong đó:
o O là tập các đối tượng tính toán trong bài toán,
o Facts là tập các sự kiện thuộc 6 lọai [1]-[6], và
o Goal là mục tiêu hay yêu cầu của bài toán.
Ví dụ: Cho Tamgiac MNP có MQ là trung tuyến , R là trung điểm của MQ.
Chứng minh rằng:2*Vecto[R,M]+Vecto[R,N]+Vecto[R,P]=Vecto[0]
Bài toán có thể được mô hình hóa theo mô hình trên như sau:
O := {M,N,P,Q,O, R: Diem, O1: TamGiac}
Facts := { [O1,"TamGiac[A,B,C]"],
["TrungTuyen",Doan[M,Q],TamGiac[M,N,P]],
["TrungDiem",R,Doan[M,Q]]}
Goal := [2*Vecto[R,M]+Vecto[R,N]+Vecto[R,P]=Vecto[0]]
4.3.2. Đặc tả bài toán
Đề bài có thể được cho dưới dạng một tập tin văn bản có cấu trúc dựa trên
một số từ khoá như: begin_exercise, end_exercise, begin_hypothesis,
end_hypothesis, objects, end_object, facts, end_facts, goals, end_goals cùng với
25

×