ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH
TRƢỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
BÀI THU HOẠCH CHUYÊN ĐỀ
BIỂU DIỄN TRI THỨC VÀ ỨNG DỤNG
Đề tài:
ỨNG DỤNG MÔ HÌNH COKB VÀ THUẬT
GIẢI CHO TRI THỨC HÌNH HỌC GIẢI TÍCH
HAI CHIỀU
Giảng viên hƣớng dẫn: PGS.TS. ĐỖ VĂN NHƠN
Học viên thực hiện: NGUYỄN TRÍ PHÚC
Mã số: CH1101121
TP. Hồ Chí Minh, tháng 1 năm 2013
MỤC LỤC
CHƢƠNG 1 – TỔNG QUAN 1
1.1. Đặt vấn đề 1
1.2. Mục tiêu 1
1.3. Phạm vi 1
CHƢƠNG 2 – MÔ HÌNH COKB 2
2.1. Định nghĩa về mô hình COKB 2
2.1.1. Tập hợp C (các khái niệm về các C_Object): 2
2.1.2. Mô hình cho một đối tƣợng tính toán (C-Object) 4
2.1.3. Tập hợp H (các quan hệ phân cấp giữa các đối tƣợng) 4
2.1.4. Tập hợp R các khái niệm về các loại quan hệ trên các C-Object 4
2.1.5. Tập hợp Opts các toán tử 5
2.1.6. Tập hợp Funcs các hàm 5
2.1.7. Tập hợp Rules các luật 5
2.2. Tổ chức cơ sở tri thức theo COKB 6
2.3. Sơ đồ tổ chức cơ sở tri thức 7
2.4. Các loại sự kiện trong mô hình COKB 7
2.5. Định nghĩa các bƣớc giải cho mô hình COKB 10
CHƢƠNG 3 – BIỂU DIỄN TRI THỨC HÌNH HỌC 2 CHIỀU 12
3.1. Mô hình 12
3.1.1. Tập C, tập các khái niệm 12
3.1.2. Sơ đồ Hasses 18
3.1.3. Các quan hệ giữa các đối tƣợng 19
3.1.4. Các toán tử Ops 20
3.1.5. Các luật Rules 20
3.2. Giải thuật 22
3.2.1. Định nghĩa về sự hợp nhất hai sự kiện 23
3.2.2. Định nghĩa về bƣớc giải 23
3.2.3. Thuật giải 23
TÀI LIỆU THAM KHẢO 25
1
CHƢƠNG 1 – TỔNG QUAN
1.1. Đặt vấn đề
Để đáp ứng các nhu cầu tra cứu và giải toán tự động trên máy tính đã có nhiều
nghiên 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 này đã đạt đƣợc một số kết quả nhất định. Có thể kể ra nhƣ công trình hệ hỗ trợ
học tri thức và giải toán hình học giải tích, mạng tính toán mở rộng và ứng dụng trong
phần mềm giáo dục, 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… 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ể. Trong bài
tiểu luận này em xin thực hiện một nghiên cứu tìm hiểu cũng nhƣ xây dựng, đƣa ra cách
tổ chức mô hình tri thức về hình học giải tích 2 chiều đơn giản.
1.2. Mục tiêu
Báo cáo này sẽ hƣớng đến việc xây dựng một hệ thống giải các bài toán hình học
giải tích hai chiều đơn giản.
1.3. Phạm vi
Các đối tƣợng đƣợc xét đến trong báo cáo này là:
- Điểm.
- Đoạn thẳng
- Đƣờng thẳng
- Tam giác
- Tứ giác
2
CHƢƠNG 2 – MÔ HÌNH COKB
2.1. Định nghĩa về mô hình COKB
Mô hình biểu diễn tri thức COKB(Computational Objects Knowledge Base) [4]
là một mô hình tri thức của các đối tƣợng tính toán. Mô hình COKB là một hệ thống
gồm 6 thành phần chính đƣợc ký hiệu bởi bộ 6 nhƣ sau:
(C,H,R,Opts, Funcs,Rules)
2.1.1. Tập hợp C (các khái niệm về các C_Object):
Các khái niệm đƣợc xây dựng dựa trên các đối tƣợng. Mỗi khái niệm là một
lớp các đối tƣợng tính toán có cấu trúc nhất định và đƣợc phân cấp theo sự thiết lập
của cấu trúc đối tƣợng, bao gồm:
- Các đối tƣợng (hay khái niệm) nền: là các đối tƣợng (hay khái niệm)
đƣợc mặc nhiên thừa nhận. Ví dụ: nhƣ một số đối tƣợng kiểu boolean
(logic), số tự nhiên (natural), số nguyên (integer), số thực (real), tập hợp
(set), danh sách (list) hay một số kiểu tự định nghĩa.
- Các đối tƣợng cơ bản (hay khái niệm) cơ bản cấp 0: có cấu trúc rỗng
hoặc có cấu trúc thiết lập trên một số thuộc tính kiểu khái niệm nền: Các
đối tƣợng(hay khái niệm) này làm nền cho các đối tƣợng(hay các khái
niệm) cấp cao hơn. Ví dụ: đối tƣợng DIEM có kiểu mô tả không có cấu
trúc thiết lập.
- Các đối tƣợng (hay khái niệm) cấp 1: Các đối tƣợng này chỉ có các
thuộc tính kiểu khái niệm nền và 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ụ: đối tƣợng DOAN[A,B] trong đó
A, B là các đối tƣợng cơ bản loại DIEM, thuộc tính a biểu thị độ dài
đoạn thẳng có kiểu tƣơng ứng là “real”.
- Các đối tƣợng (hay khái niệm) cấp 2: Các đối tƣợng này có các thuộc
tính kiểu khái niệm nền và các thuộc tính loại đối tƣợng cấp 1, có thể
3
đƣợc thiết lập trên một danh sách nền các đối tƣợng cơ bản. Ví dụ: đối
tƣợng TAMGIAC[A,B,C] trong đó A, B, C là các đối tƣợng cơ bản loại
DIEM, các thuộc tính nhƣ GocA, a, S có kiểu tƣơng ứng là
“GOC[C,A,B]”, “DOAN[B,C]”, “real”.
- Các đối tƣợng (hay khái niệm) cấp n >0: Các đối tƣợng này có các
thuộc tính kiểu khái niệm nền và các thuộc tính loại đối tƣợng cấp thấp
hơn, có thể đƣợc thiết lập trên một danh sách nền các đối tƣợng cấp thấp
hơn.
Cấu trúc bên trong của mỗi lớp đối tƣợng:
Kiểu đối tƣợng: Kiểu này có thể là kiểu thiết lập trên một danh sách nền
các đối tƣợng cấp thấp hơn.
Danh sách các thuộc tính của đối tƣợng: 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. Phân ra làm 2
loại là tập các thuộc tính thiết lập của đối tƣợng và tập các thuộc tính
khác (còn gọi là tập thuộc tính).
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 hay sự kiện vốn có liên quan đến các thuộc
tính của đối tƣợng.
Tập hợp các quan hệ suy diễn - tính toán trên các thuộc tính của đối
tƣợng. Các quan hệ này thể hiện các 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 từ các 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}.
4
2.1.2. Mô hình cho một đối tƣợng tính toán (C-Object)
Một C-Object có thể đƣợc mô hình hóa bởi một bộ 6 thành phần chính:
(BasicO,Attrs, CRela, Rules, Prop,Cons)
Trong đó:
- BasicO: là tập hợp các đối tƣợng nền của một đối tƣợng.
- Attrs: là tập hợp các thuộc tính của đối tƣợng.
- CRela: là tập hợp các quan hệ suy diễn tính toán.
- 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.
- Prop: là tập hợp các tính chất hay sự kiện vốn có của đối tƣợng.
- Cons: là tập hợp các điều kiện ràng buộc.
2.1.3. Tập hợp H (các quan hệ phân cấp giữa các đối tƣợng)
Trong tập C, 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, H là một biểu đồ Hasse trên C
khi xem quan hệ phân cấp là một quan hệ thứ tự trên C.
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> ]
2.1.4. 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à danh sách các loại đối tƣợng
của quan hệ. Đối với quan hệ 2 hay 3 ngôi thì quan hệ có thể có các tính chất nhƣ
tính phản xạ, tính phản xứng, tính đối xứng và tính bắc cầu.
Cấu trúc của một quan hệ:
5
[ < tên quan hệ > , < loại đối tƣợng > , < loại đối tƣợng > ,…] , {< tính chất > ,
< tính chất >}.
2.1.5. Tập hợp Opts các toán tử
Các toán tử thể hiện các qui tắc tính toán nhất định trên các biến thực cũng
nhƣ trên các đối tƣợng. Chẳng hạn nhƣ các phép toán số học, các phép tính toán
trên các đối tƣợng đoạn, góc tƣơng tự nhƣ đối với các biến thực hay các phép tính
toán vecto, tính toán ma trận,… Trong trƣờng hợp các phép toán 2 ngôi thì phép
toán có thể có các tính chất nhƣ tính giao hoán, tính kết hợp,tính nghịch đảo, tính
trung hoà.
2.1.6. Tập hợp Funcs các hàm
Tập hợp Funcs trong mô hình COKB thể hiện tri thức về các hàm hay nói
cách khác là thể hiện tri thức về các khái niệm và các qui tắc tính toán trên các biến
thực cũng nhƣ trên các loại C-Object, đƣợc xây dựng thông qua các quan hệ tính
toán dạng hàm. Mỗi hàm đƣợc xác định bởi <tên hàm>, danh sách các đối số và
một qui tắc định nghĩa hàm về phƣơng diện toán học.
2.1.7. Tập hợp Rules các luật
Mỗi luật cho ta một qui tắc suy luận để từ các sự kiện đang biết suy ra đƣợc
các sự kiện mới thông qua việc áp dụng các định luật, định lý hay các qui tắc tính
toán nào đó. Mỗi luật suy diễn r có thể đƣợc mô hình hoá dƣới dạng :
r : {sk
1
, sk
2
, , sk
m
} {sk
m+1
, sk
m+2
, , sk
n
}.
Cấu trúc của một luật:
[ Kind, BasicO, Hypos, Goals]
Trong đó:
6
Kind: loại luật.
BaseO: tập các đối tƣợng cơ bản.
Hypos: tập các sự kiện giả thiết của một luật.
Goals: tập các sự kiện kết luận của một luật.
2.2. Tổ chức cơ sở tri thức theo COKB
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. Hệ thống này bao gồm các tập tin nhƣ sau:
- Tập tin OBJECT.txt : Lƣu trữ tất cả các khái niệm đối tƣợng của cơ sở tri thức.
- 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 C-Object.
- Tập tin RELATIONS.txt: Lƣu trữ tất cả các quan hệ cũng nhƣ các tính chất giữa
các loại đối tƣợng C-Object.
- Tập tin OPERATORS.txt: lƣu trữ các thông tin, cơ sở tri thức của thành phần
toán tử trên các đối tƣợng C-Object.
- Tập tin OPERATORS_DEF.txt: Lƣu trữ định nghĩa về các loại toán tử hay định
nghĩa của các thủ tục tính toán phục vụ toán tử.
- Tập tin RULES.txt: Lƣu trữ các hệ luật trên các loại đối tƣợng và các sự kiện
trong cơ sở tri thức.
- Tập tin FUNCTIONS.txt: Lƣu trữ cách khai báo hàm, thông tin về hảm trên các
C-Object.
- Tập tin FUNCTIONS_DEF.txt: Lƣu trữ định nghĩa về các hàm trên các đối tƣợng
và các sự kiện.
- Các tập tin có tên <tên các C-OBJECT>.txt: Lƣu trữ cấu trúc của đối tƣợng <tên
khái niệm C-Object>.
7
2.3. Sơ đồ tổ chức 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 hoạ trên
sơ đồ sau đây:
Hình - Sơ đồ tổ chức theo mô hình COKB
2.4. Các loại sự kiện trong mô hình COKB
Sự kiện loại 1: Sự kiện thông tin về loại của đối tƣợng.
Cấu trúc sự kiện:
[<đối tƣợng>, <loại đối tƣợng>]
Ví dụ: Tam giác cân ABC đƣợc định nghĩa nhƣ sau :
[TAMGIAC[A,B,C], “TAMGIACCAN”].
Sự kiện loại 2: Sự kiện về tính xác định của một đối tƣợng hay của một thuộc tính của
đối tƣợng.
Cấu trúc sự kiện:
<đối tƣợng>|<đối tƣợng >.<thuộc tính>
8
Ví dụ: Trong tam giác ABC ta có các cạnh AB, AC, BC và các góc ABC, góc BAC
và góc ACB đƣợc định nghĩa nhƣ sau:
Các cạnh: DOAN[A,B], DOAN[A,C], DOAN[B,C].
Các góc: GOC[A,B,C], GOC[B,A,C], GOC[A,C,B].
Sự kiện loại 3: 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ủa
đối tƣợng thông qua biểu thức hằng.
Cấu trúc sự kiện:
<đối tƣợng> | <đối tƣợng >.<thuộc tính> = <biểu thức hằng>
Ví dụ: DOAN[A,B].a = 5; GOC[A,B,C] = Pi/2.
Sự kiện loại 4: Sự kiện về sự bằng nhau của một đối tƣợng hay một thuộc tính của đối
tƣợng với một đối tƣợng hay một thuộc tính khác.
Cấu trúc sự kiện:
<đối tƣợng> | <đối tƣợng >.<thuộc tính> = <đối tƣợng> | <đối tƣợng >.<thuộc
tính>
Ví dụ: DOAN[A,B].a = DOAN[B,C].a, GOC[A,B,C].a = GOC[A,C,B].a.
Sự kiện loại 5: Sự kiện về sự phụ thuộc giữa các đối tƣợng và các thuộc tính của các
đối tƣợng thông qua một công thức tính toán hay một đẳng thức theo các đối tƣợng
hay các thuộc tính.
Cấu trúc sự kiện:
<đối tƣợng>|<đối tƣợng >.<thuộc tính>=<biểu thức theo các đối tƣợng hay thuộc
tính >
9
Ví dụ: CV = DOAN[A,B].a + DOAN[A,C].a + DOAN[B,C].a
Sự kiện loại 6: Sự kiện về một quan hệ trên các đối tƣợng hay trên các thuộc tính của
các đối tƣợng.
Cấu trúc sự kiện:
[<tên quan hệ>,<object1>,<object2>,…]
Ví dụ: ["THUOC", M,DOAN[A,B]] Điểm M thuộc đoạn AB.
Sự kiện loại 7: Sự kiện về tính xác định của một hàm.
Cấu trúc sự kiện: <hàm>
Ví dụ: TRUNGDIEM(A,B) Hàm xác định trung điểm của 2 điểm A,B.
Sự kiện loại 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.
Cấu trúc sự kiện:
<hàm> = <biểu thức hằng>
Ví dụ: KHOANGCACH(d1, d2) = 9 Khoảng cách giữa 2 đƣờng thẳng d1 và d2
bằng 9.
Sự kiện loại 9: Sự kiện về sự bằng nhau giữa một đối tƣợng hay thuộc tính với một
hàm.
Cấu trúc sự kiện:
<đối tƣợng> | <đối tƣợng >.<thuộc tính> = <hàm>
Ví dụ : GOC[A,B,C] = GOC(d1, d2), H1 = HINHCHIEU(A, d)
Sự kiện loại 10: Sự kiện về sự bằng nhau của một hàm với một hàm khác.
10
Cấu trúc sự kiện:
<hàm> = <hàm>
Ví dụ: KHOANGCACH(d,d1) = KHOANGCACH(d1,d2)
Sự kiện loại 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.
Cấu trúc sự kiện:
<hàm> = <biểu thức theo các hàm hay các đối tƣợng>
Ví dụ: GOC(d,d1) = GOC(d,d2) + GOC(d,d3).
Sự kiện loại 12: Sự kiện về sự phụ thuộc giữa các hàm hay các đối tƣợng thông qua
một đẳng thức theo các hàm hay các đối tƣợng.
Cấu trúc sự kiện:
<đẳng thức theo các hàm hay các đối tƣợng>
Ví dụ: GOC(d,d1)+ GOC(d,d3) = GOC[A,B,C].a+GOC(d,d2).
2.5. Định nghĩa các bƣớc giải cho mô hình COKB
1. Deduce_from3s: suy ra các sự kiện loại 2 từ các sự kiện loại
2. Deduce_from43s: suy ra các sự kiện mới loại 3 từ các sự kiện loại 3 và 4 bằng
cách thay thế các biến trong sự kiện loại 3 vào sự kiện loại 4.
3. Deduce_from53s: suy ra các sự kiện mới loại 3, 4, 5 từ các sự kiện loại 3 và 5
bằng cách thay thế các biến trong sự kiện loại 3 vào sự kiện loại 5.
4. Deduce_from45s: suy ra các sự kiện mới loại 3 từ các sự kiện loại 4 và 5 bằng
cách giải hệ phƣơng trình.
5. Deduce_from8s: suy ra các sự kiện loại 7 từ các sự kiện loại 8.
11
6. Deduce_from983s: suy ra các sự kiện loại 3, 8 từ các sự kiện loại 3, 8, 9 bằng
cách thay thế các sự kiện loại 8 (hay sự kiện loại 3) vào các sự kiện loại 9.
7. Deduce_Objects: thực hiện suy diễn và tính toán bên trong cấu trúc của từng đối
tƣợng. Các đối tƣợng tham gia vào bƣớc giải có khả năng tham gia vào các bƣớc
giải có khả năng thực hiện các hành vi nhất định để phát sinh sự kiện mới, thực
hiện suy diễn 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.
8. Deduce_from9s: suy ra các sự kiện loại 2, 3 , 6, 7, 8 từ các sự kiện loại 9 bằng
cách thực hiện tính toán hàm.
9. Deduce_Rules: dò tìm luật có thể áp dụng đƣợc.
10. Deduce_Funcs: dò tìm hàm có thể áp dụng đƣợc.
11. Deduce_EqsGoal: giải hệ phƣơng trình đơn giản gồm n phƣơng trình n ẩn.
12
CHƢƠNG 3 – BIỂU DIỄN TRI THỨC HÌNH HỌC 2 CHIỀU
3.1. Mô hình
3.1.1. Tập C, tập các khái niệm
(1): Các biến số thực, đây là tiền đề đầu tiên của mô hình.
(2): Điểm: Đối tƣợng nền.
Kí hiệu: POINT. Mỗi một điểm có chƣa 2 thuộc tính x vày, có thể thuộc kiểu
thực hoặc là một biểu thức khi giải các bài toán mở rộng.
(3): Các đối tƣợng đƣợc xây dựng từ các đối tƣợng lớp (1) và (2): Đoạn thẳng, đƣờng
thẳng và góc.
- Đƣờng thẳng (LINE) có một thuộc tính là phƣơng trình đƣờng thẳng.
- Đoạn thẳng (SEGMENT) Là sự kế thừa từ Đƣờng thẳng nhƣng có chứa
thêm 2 đối tƣợng thuộc loại điểm (Là 2 đầu mút của đoạn thẳng).
(4): Các đối tƣợng đƣợc xây dựng dựa trên các đối tƣợng thuộc lớp (3): Tam giác, tứ
giác. Kí hiệu: Tam giác – TRIANGLE, Tứ giác – QUADRANGLE.
TRIANGLE:
- Là một tập 3 điểm A, B, C.
- Độ dài 3 cạch: a,b,c (hay BC, AC, AB).
- Các thuộc tính khác: S,p.
QUADRANGLE:
- Là một tập 4 điểm A, B, C, D.
- Độ dài 4 cạnh: AB, BC, CD, DA.
- Các thuộc tính khác: S,p.
13
Cấu trúc chi tiết cho từng đối tƣợng:
(1) POINT (Điểm):
- Kiểu: Sơ cấp.
- Thuộc tính: Tên điểm, tọa độ điểm (X,Y) thuộc kiễu thực.
- Quan hệ: là thuộc tính của các đối tƣợng cấp cao hơn.
- Điều kiện ràng buột: Mỗi điểm có một tên riêng biệt(Tức không tồn tại hai điểm
- trùng tên hoặc trùng độ tọa độ trong cùng một tập).
- Tính chất của đối tƣợng:
- Luật suy diễn:
(2) LINE (Đƣờng thẳng):
- Kiểu: Đối tƣợng nền.
- Thuộc tính: Phƣơng trình đƣờng thẳng: Ax+By+C=0.
- Quan hệ: là thuộc tính của các đối tƣợng cấp cao hơn.
(3) SEGMENT (Đoạn thẳng):
- Kiểu: Đối tƣợng nền.
- Thuộc tính: Phƣơng trình đƣờng thẳng Ax+By+C=0, và hai đầu mút A và B của
đoạn thẳng.
- Quan Hệ: là thuộc tính của các đối tƣợng cấp cao hơn.
- Ràng buột: .
(4) VECTOR (Vec-tơ):
- Kiểu: Đối tƣợng nền
14
- Thuộc tính: x, y thể hiện phƣơng và độ lớn của vector.
- Quan Hệ: Vector có thể đƣợc xác định từ một đoạn thẳng.
(5) ANGLE (Góc):
- Kiểu: Đối tƣợng nền.
- Thuộc tính: 3 điểm, tên góc đƣợc tạo bởi 3 điểm. Số đo góc p.
- Quan hệ: là thuộc tính của các đối tƣợng cấp cao hơn.
- Điều kiện ràng buột: Qui ƣớc về góc trong và góc ngoài.
Ràng buột về số đo của góc.
- Tính chất góc:
- Luật suy diễn:
- Phép toán trên góc:
(6) TRIANGLE (Tam Giác):
- Kiểu: Đối tƣợng cấp cao.
- Thuộc tính: 3 điểm không thẳng hàng và các đoạn thẳng tƣơng ứng đƣợc tạo từ
các điểm này ngoài ra còn có các thuộc tính liên quan đến bản chất của tam giác
nhƣ S, P v.v
POINT[A], POINT[B], POINT[C]: Các đỉnh của tam giác.
15
SEGMENT[AB], SEGMENT[BC], SEGMENT[CA]: Các cạnh của tam
giác.
ANGLE[BAC], ANGLE[ABC], ANGLE [BCA]: Các góc của tam giác.
Ha,Hb,Hc: Độ dài các đƣờng cao.
S,P : Diện tích, nữa chu vi kiểu thực.
Để tiện theo dỏi, có thể xem ANGLE[ABC] là B, điểm A là POINT[A]. Và
SEGMENT[AB] là c.
- Ràng buột:
- Quan hệ suy diễn:
- Các luật suy diễn nội tại tam giác:
16
* Định lý Pitago:
* Xác định tam giác vuông:
* Xác định tam giác cân:
(7) QUADRANGLE (Tứ giác):
- Kiểu: Đối tƣợng cao cấp.
- Thuộc tính: 4 điểm, 2 đƣờng chéo cùng các thuộc tính khác nhƣ p (Chu vi),
- S(Diện tích).
POINT[A], POINT[B], POINT[C], POINT[D]: Các Đỉnh của tứ giác.
17
ANGLE[A], ANGLE[B], ANGLE[C], ANGLE[D]: Các góc của tứ giác.
AB, BC, CD, AD: Các cạnh của tứ giác (Kiểu SEGMENT).
AC, BD: hai đƣờng chéo của tứ giác (Kiểu SEGMENT).
S,p: Diện tích, chu vi của tứ giác, kiểu thực.
- Quan hệ suy diễn:
- Các luật suy diễn nội tại tứ giác:
* Song song giữa 2 cạnh tứ giác:
(8) PARALLELOGRAM (Hình bình hành):
- Kế thừa từ tứ giác, hình bình hành có tất cả các thuộc tính của một tứ giác (4 điểm,
4 cạnh, 2 đƣờng chéo nhƣ trên).
- Ràng buột:
18
(9) RECTANGLE (Hình chữ nhật):
- Kế thừa từ tứ giác, hình bình hành có tất cả các thuộc tính của một tứ giác (4 điểm,
4 cạnh, 2 đƣờng chéo nhƣ trên).
- Ràng buột:
(10) SQUARE (Hình vuông):
- Kế thừa từ tứ giác, hình bình hành có tất cả các thuộc tính của một hình chữ nhật
(4 điểm, 4 cạnh, 2 đƣờng chéo nhƣ trên).
- Ràng buột:
3.1.2. Sơ đồ Hasses
Mô tả sự phân cấp cho từng đối tƣợng trong tập C. H nhƣ một cây. Trong đó
một nút sẽ là một kiểu đối tƣợng và mỗi nút sẽ có một cha (Parent) hay còn gọi là
BaseClass (Lớp cơ sở). Đây là tiền đề để ta xét xem hai đối tƣợng có thuộc cùng một
dạng hay không (Cùng là tam giác hoặc cùng là tứ giác). Từ đó ta có thể so sánh và
thao tác trên các thuộc tính của hai đối tƣợng này
19
3.1.3. Các quan hệ giữa các đối tƣợng
- Quan hệ Một điểm thuộc về một đƣờng/đoạn thẳng:
Relation[IN, POINT, LINE], Relation[IN, POINT, SEGMENT]
- Quan hệ trung điểm của một điểm đối với một đoạn thẳng.
Relation[MID, POINT, SEGMENT]
- Quan hệ song song giữa 2 đoạn thẳng:
Relation[PARALLEL, LINE, LINE], Relation[PARALLEL, SEGMENT, LINE],
Relation[PARALLEL, SEGMENT, SEGMENT].
- Quan hệ vuông góc giữa 2 đoạn thẳng:
Relation[PERPENDICULAR, LINE, LINE],
Relation[PERPENDICULAR, SEGMENT, LINE],
Relation[PERPENDICULAR, SEGMENT, SEGMENT].
- Quan hệ bằng nhau giữa 2 tam giác, hai đoạn thẳng:
20
Relation[EQUAL, TRIANGLE, TRIANGLE].
Relation[EQUAL, SEGMENT, SEGMENT] hoặc SEGMENT = SEMGENT.
Trong quá trình phát triển, ta sẽ xây dựng các module kiễm tra các điều kiện tƣơng
đòng của các đối tƣợng (Vd Hàm kiểm tra bằng nhau, vuông góc v.v ) và xem đây nhƣ
các hàm cơ sở phục vụ cho việc giải các bài toán phức tạp.
3.1.4. Các toán tử Ops
Các toán tử số học và các hàm sơ cấp cũng áp dụng đối với các đối tƣợng loại
“đoạn thẳng” và các đối tƣợng loại “góc”.
3.1.5. Các luật Rules
Đây là một phần quan trọng trong việc xay dựng bộ suy diễn, vì bên cạnh các quan
hệ nội tại các đối tƣợng, các luật đóng vai trò nhƣ các “cầu nối” giữa các đối tƣợng và mở
ra các thuộc tính mới thông qua các luật.
Luật về sự tƣơng đồng tên gọi:
Luật về thuộc tính đối tƣợng:
21
Luật về sự song song và vuông góc:
Luật về điểm, đoạn thẳng:
Luật về xác dịnh Vector từ đoạn thẳng:
Luật về sự bằng nhau giữa 2 vector:
22
Luật về sự bằng nhau của hai tam giác.
Luật về trọng tâm Tam Giác.
3.2. Giải thuật
Xét bài toán: . Trong đó giả thuyết và kết luận là tập hợp những sự kiện
trên các thuộc tính trên các đối tƣợng, bài toán đặt ra là từ Gl có thể đi dc đến KL hay
không và nếu đƣợc thì ta cần phải đi qua những bƣớc nào để có đƣợc kết luận.
Ý tƣởng cơ bản là thực hiện một quá trính suy diễn tiến kết hợp với một số qui tắc
heuristic nhằm tăng cƣờng tốc độ giải quyết bài toán và đạt đƣợc một lời giải tốt nhanh
hơn. Để thiết kế thuật giải nầy ta cần định nghĩa một số khái niệm liên quan bao gồm
các khái niệm: “sự hợp nhất” của các sự kiện, một “bƣớc giải”, một “lời giải” và “sự giải
đƣợc”.
23
3.2.1. Định nghĩa về sự hợp nhất hai sự kiện
Ta nói 2 sự kiện f1 và f2 đƣợc xem là tƣơng đồng nhau nếu chúng có vế trái giống
nhau và giá trị vế phải bẳng nhau.
3.2.2. Định nghĩa về bƣớc giải
Xét bài toán : . , trong đó GT và KL là các tập hợp những sự kiện trên các
thuộc tính của một đối tƣợng C-Object. Ta gọi một dãy các bƣớc giải là
một lời giải của bài toán khi ta có , với FACTS là tập hợp tất cả các sự kiện
có đƣợc sau khi ta lần lƣợt áp dụng các bƣớc giải s1, s2, , sm xuất phát từ tập sự kiện
GT và quan hệ đƣợc hiểu theo nghĩa là “bao hàm hợp nhất” (tức là mọi sự kiện trong
KL đều hợp nhất đƣợc với một sự kiện nào đó trong FACTS). Ta sẽ nói rằng bài toán là
giải đƣợc khi tồn tại một lời giải cho bài toán.
3.2.3. Thuật giải
Cho bài toán , trong đó GT và KL là các tập hợp những sự kiện trên
các thuộc tính của một đối tƣợng C-Object. Ta có thể xét tính giải đƣợc của bài toán
trên theo thủ tục sau đây:
Bƣớc 1: Đặt trạng thái ban đầu cho tập sự kiện <FactSet>, và biến <found> có
kiểu Bool cho biết kết quả xem xét sự giải đƣợc của bài toán:
FactSet ;
If KL FactSet then Found true
Else Found false;