ĐẠ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
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,
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.
Đị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
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
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
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
,…,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:
[<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
{ 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)}
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>
…………
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”
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
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
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