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

ỨNG DỤNG MAPLE BIỂU DIỄN TRI THỨC VÀ GIẢI BÀI TOÁN HÌNH HỌC PHẲNG

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 (309.03 KB, 23 trang )

ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
LỚP CAO HỌC QUA MẠNG – KHÓA 6
TIỂU LUẬN
MÔN HỌC: LẬP TRÌNH SYMBOLIC VÀ ỨNG DỤNG
ỨNG DỤNG MAPLE
BIỂU DIỄN TRI THỨC VÀ GIẢI BÀI TOÁN
HÌNH HỌC PHẲNG
Giảng viên: PGS TS Đỗ Văn Nhơn
Học viên thực hiện: Nguyễn Hoàng Hạc
MSHV: CH1101081
TP. HCM, 01/2013
LỜI CÁM ƠN!

Tôi xin trân trọng dành những lời cảm ơn đầu tiên tới PGS TS Đỗ
Văn Nhơn, người trực tiếp hướng dẫn và giảng dạy môn Lập trình Symbolic và
ứng dụng.
Xin chân thành cám ơn các thầy cô khác trong trường Đại Học Công
nghệ Thông tin Thành phố Hồ Chí Minh.
Xin gửi lời cảm ơn tới các bạn và những người đã hổ trợ và tạo điều
kiện cho tôi hoàn thành tiểu luận này.
Một lần nữa, xin chân thành cảm ơn mọi người bằng cả tấm lòng!.
Học viên thực hiện:
Nguyễn Hoàng Hạc
2
MỤC LỤC
3
1. Cơ sở lý thuyết
1.1. Mô hình tri thức về các đối tượng tính toán (Knowledge Bases of
Computational Objects)
1.1.1. Giới thiệu:


Trong nhiều vấn đề giải toán dựa trên tri thức ta thường đề cập đến các đối tượng
khác nhau và mỗi đối tượng có cấu trúc bao gồm một số thuộc tính với những quan hệ
nhất định. Những quan hệ này giúp ta thực hiện sự suy diễn, tính toán và giải một số bài
toán suy diễn-tính toán trên các thuộc tính của đối tượng. Ví dụ: trong giải toán hình học,
một tam giác với các thuộc tính như 3 cạnh, 3 góc trong, diện tích, nửa chu vi, bán kính
vòng tròn ngoại tiếp, v.v … cùng với các công thức liên hệ giữa các thuộc tính đó sẽ cho
ta một cấu trúc của một đối tượng như thế. Theo cách tiếp cận hướng đối tượng trong biểu
diễn tri thức và giải toán, ta tích hợp vào cấu trúc đối tượng trên một số hành vi giải toán
nhất định để tạo ra một đối tượng, được gọi là đối tượng tính toán. Dựa trên các đối tượng
này, nhiều bài toán khác nhau có thể được biểu diễn dưới dạng mạng các đối tượng. Cách
biểu diễn này có thể được áp dụng một cách có hiệu quả trong các hệ giải toán, chẳng hạn
như các hệ giải các bài toán hình học.
Mỗi loại C-Object khi xét riêng biệt chỉ thể hiện được một phần tri thức có tính
chất cục bộ trong ứng dụng trong khi kiến thức của con người về một lĩnh vực hay một
phạm vi kiến thức nào đó thường bao gồm các khái niệm và các loại đối tượng khác nhau
với những mối quan hệ hữu cơ. Ví dụ như cạnh a của một tam giác là một thuộc tính của
đối tượng tam giác, khi xét như một đối tượng độc lập thì nó là một “đoạn thẳng”. “đoạn
thẳng” là một loại đối tượng có một thuộc tính giá trị thực chính là độ dài của nó và giá trị
này sẽ được dùng trong các công thức tính toán hay các quan hệ tính toán; mặt khác đoạn
thẳng cũng có các quan hệ phi tính toán như quan hệ song song hay quan hệ vuông góc.
Các loại quan hệ tính toán và những quan hệ phi-tính toán giữa các đoạn thẳng cũng có
những luật của riêng nó mà không phải là những luật nội tại trong một tam giác. Như vậy,
để 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 khái niệm các 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. Chúng ta sẽ xem xét một mô hình
4
tri thức như thế và gọi nó là mô hình tri thức về các C-Object. Kiến thức về hình học giải
tích và kiến thức về hình học phẳng là những ví dụ minh họa cho mô hình. Ta có thể thực
hện biểu diễn tri thức hình học theo mô hình tri thức các đối tượng tính toán.

1.1.2. Mô hình:
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:
 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.
 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ư:
o 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.
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.
o Thực hiện các tính toán
o Thực hiện việc gợi ý bổ sung giả thiết cho bài toán
o Xem xét tính xác định của đối tượng, hay của một sự kiện
Ví dụ 1: Một cấu trúc tam giác với cấu trúc gồm các yếu tố như: 3 cạnh a, b, c; 3
góc tương ứng với 3 cạnh:
α
,
β
,
γ
; 3 đường cao tương ứng: ha, hb, hc; diện tích S của tam
giác; nửa chu vi p của tam giác; bán kính đường tròn ngoại tiếp R của tam giác,… cùng
với các công thức liên hệ giữa chúng như định lý góc trong tam giác, định lý sin, định lý
cosin, các công thức tính diện tích, … sẽ trở thành một đối tượng C-object khi ta tích hợp
cấu trúc này với các hành vi xử lý liên quan đến việc giải bài toán tam giác cũng như các
hành vi xem xét một sự kiện nào đó liên quan đến các thuộc tính hay chính bản thân đối
tượng. Như vậy ta có một đối tượng tam giác. Khi đối tượng tam giác này được yêu cầu
5
cho một lời giải cho bài toán
{
a,B,C
}⇒
S nó sẽ cung cấp một lời giải gồm 3 bước sau
đây:
Bước 1: Xác định A bởi công thức A =
π
- B - C;
Bước 2: Xác định b bởi công thức b = a.sin(B)/sin(A);

Bước 3: Xác định S bởi công thức S = a.b.sin(C)/2;
Nếu yêu cầu là giải bài toán {a,B
}⇒
S thì đối tượng sẽ trả lời rằng “không giải
được” và nó có thể đề nghị cung cấp thêm thông tin như A, C, b hay c.
Ví dụ 2: Một cấu trúc tứ giác với cấu trúc gồm các yếu tố như: 4 cạnh a, b, c, d; 2
đường chéo; 4 góc,… cùng với các công thức liên hệ giữa chúng và các sự kiện về các
quan hệ sẽ trở thành một đối tượng C-object khi ta tích hợp cấu trúc này với các hành vi
xử lý liên quan đến việc giải bài toán tứ giác cũng như các hành vi xem xét một sự kiện
nào đó liên quan đến các thuộc tính hay chính bản thân đối tượng. Như vậy ta có một đối
tượng tứ giác.
Một C-Object có thể được mô hình hóa bởi một bộ: (Attrs, F, Facts, Rules)
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ụ 3: Đối tượng tính toán thuộc loại “tam giác” được biểu diễn theo mô hình
trên gồm có:
Attrs =
{
GocA, GocB, GocC, a, b, c, ha, hb, hc, ma, mb, mc, pa, pb, pc, S, p, R, r,
ra, rb, rc
}
F =
{
GocA + GocB + GocC = Pi, a.sin(GocB) = b.sin(GocA),
a
2
= b
2

+ c
2
– 2.b.c.cos(GocA), . . .
}
Facts =
{}
Rules =
{
{GocA=GocB}

{a=b}, {a=b}

{GocA=GocB},
{a^2 = b^2+c^2}

{GocA=pi/2},
{GocA = pi/2}

{a
2
= b
2
+c
2
, b

c},
}
6
Ví dụ 4: Đối tượng (C-Object) thuộc loại “TU_GIAC” được biểu diễn theo mô

hình trên gồm có:
Attrs =
{
a, b, c, d, c1, c2, GA, GB, GC, GD, . . .
}
F =
{
GA + GB + GC + GD = 2.Pi, a+b+c+d = p,
2.S = a.d.sin(GA)+b.c.sin(GC), 2.S = a.b.sin(GB)+ c.d.sin(GD), . . .
}
Facts =
{}
Rules =
{
{a // c}

{GD=Pi-GA, GB=Pi-GC, GOC[A,B,D]=GOC[C,D,B],
GOC[C,A,B]=GOC[A,C,D]},
{GOC[C,A,B]=GOC[A,C,D]}

{a // c},
{a=c, b=d}

{a // c, b // d},
}
Mô hình tri thức các đối tượng tính toán
Mô hình cơ sở tri thức của đối tượng tính toán (mô hình KBCO) bao gồm sáu
thành phần như sau:
(C, H, R, Ops, Funcs, Rules).
Trong đó:

• C là một tập hợp các khái niệm của đối tượng tính toán. Mỗi khái niệm trong C là
một lớp đối tượng tính toán. 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:
o Các biến thực.
o 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. Các đối tượng loại này làm nền cho các đối tượng cấp
cao hơn.
o Các đối tượng tính toán 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.
o Các đối tượng tính toán 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.
Cấu trúc bên trong của mỗi lớp đối tượng gồm:
7
o 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.
o 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.
o 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).
o Tập hợp các điều kiện ràng buộc trên các thuộc tính.
o 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.
o 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.
o 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
}
• H là tập các quan hệ phân cấp trên các khái niệm. 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
• R là tập các quan hệ trên khái niệm. 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ệ 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.
• Ops là các phép toán hoặ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.
• Funcs là tập các hàm bao gồm các hàm tính toán trên Com-Object. Tri thức về các
hàm cũng là một loại tri thức phổ biến trong các lĩnh vực, đặc biệt là lĩnh vực khoa
học tự nhiên như các lĩnh vực toán học, vật lý. Trong hình học, chúng ta có các
hàm như: khoảng cách giữa hai điểm, khoảng cách từ một điểm đến một đường
8
thẳng hoặc một mặt phẳng, hình chiếu của một điểm hoặc một đường thẳng lên
mặt phẳng…
• Rules là tập các luật. 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à ta có thể khảo sát các
thuật giải để giải quyết các bài toán, chúng ta cần xác định các dạng sự kiện khác nhau có
thể có trong các luật. Ở đây chúng ta xem xét 6 loại sự kiện khác nhau như sau: sự kiện
thông tin về loại của một đối tượng, sự kiện về tính xác định của một đối tượng, 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, 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 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, và 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.
1.2. Mạng các đối tượng tính toán
1.2.1. Định nghĩa 1:
Cho f là một quan hệ tính toán giữa các thuộc tính của đối tượng hoặc giữa các đối
tượng được gọi là quan hệ tính toán giữa các đối tượng. Một mạng các đối tượng tính toán
bao gồm:.
 O =
{

O
1
, O
2
, , O
n
}
là một tập các đối tượng tính toán (Com-object).
 F =
{
f
1
, f
2
, , f
m
}
là một tập các sự kiện giữa các đối tượng tính toán.
 Goal = {g
1
, g
2
, …, g
k
} là tập hợp các mục tiêu của bài toán.
Mạng các đối tượng tính toán được ký hiệu là (O, F).
Sau đây là một số ký hiệu:
M (f
i
) = tập các thuộc tính của các đối tượng trong các quan hệ f

i
.
9
M(F) =

m
1i
i
)M(f
=
.
M(O) =
M(O
i
i 1
n
)
=

.
M: tập các thuộc tính của đối tượng tính toán được xét trên bài toán xác định (vấn
đề cụ thể).
M
i
= M

M (O
i
), với i = 1,2, , m.
Ký hiệu M

i
là tập các thuộc tính xét trên đối tượng (O
i
).
Trong mạng các đối tượng tính toán (O, F), chúng ta xét bài toán cần xác định
(hoặc tính toán) các thuộc tính trong tập G từ những thuộc tính cho trước trong tập H. Bài
toán được ký hiệu bằng H → G.
Ví dụ: Cho AB = AC, cho trước góc A và cạnh BC (giả thuyết). ABDE và ACFG là
hình vuông. Tính EG?
Bài toán được giải trên mạng tính toán (O, F) như sau:
O = { O1: tam giác ABC với AB = AC,
O2: tam giác AEG,
O3: hình vuông ABDE,
O4: hình vuông ACFG}.
F = {f1, f2, f3, f4, f5} gồm các quan hệ như sau:
f1 : O1.c = O3.a
{cạnh c của tam giác ABC = cạnh hình vuông ABDE}
f2 : O1.b = O4.a
{cạnh b của tam giác ABC = cạnh hình vuông ACFG}
10
f3 : O2.b = O4.a
{cạnh b của tam giác AEG = cạnh hình vuông ACFG}
f4 : O2.c = O3.a
{cạnh c của tam giác AEG = cạnh hình vuông ABDE}
f5 : O1.A + O2.A = π.
1.2.2. Định nghĩa 2:
Cho (O, F) là một mạng tính toán và M là một tập hợp các thuộc tính có liên quan.
Giả sử A là tập con của M.
a. Với mỗi f


F. Ký hiệu: f(A) là hội giữa tập A và những tập gồm tất
cả các thuộc tính trong M được dẫn xuất từ A bởi f. tương tự với mỗi
đối tượng tính toán O
i
∈ O, O
i
(A) là hội của tập A và tập gồm tất cả
các thuộc tính (trong M) sao cho đối tượng O
i
có thể xác định từ
những thuộc tính của A.
b. Giả sử D = [t
1
, t
2
, , t
m
] là một danh sách những phần tử trong F

O.
Ký hiệu: A
0
= A, A
1
= t
1
(A
0
), …, A
m

= t
m
(A
m-1
), và
D(A) = A
m
.
Ta có: A
0


A
1


. . .

A
m
= D(A)

M
Một bài toán H → G giải được nếu có một danh sách D ⊆ F ∪ O sao cho
D(A) ⊇ G. Trong trường hợp này D chính là lời giải của bài toán
2. Ứng dụng mạng tính toán cho bài toán hình học phẳng
2.1. Tam giác
Về mặt tính toán, chúng ta có thể xem tam giác là một mạng tính toán (hay một đối
tượng tính toán) bao gồm các biến ghi nhận giá trị của các yếu tố trong tam giác, và các
quan hệ là các công thức thể hiện mối liên hệ tính toán giữa các yếu tố đó.

Tập các biến trong tam giác gồm :
 a, b, c: 3 cạnh của tam.
 α, β, γ: 3 góc đối diện với 3 cạnh tương ứng trong tam giác
 h
a
, h
b
, h
c
: 3 đường cao tương ứng với 3 cạnh của tam
 m
a
, m
b
, m
c
: 3 đường trung tuyến tương ứng với 3 cạnh của tam giác
11
 p
a
, p
b
, p
c
: 3 đường phân giác trong tương ứng với 3 cạnh của tam giác.
 S: diện tích tam giác.
 p: nửa chu vi của tam giác.
 R: bán kính đường tròn ngoại tiếp tam giác.
 r: bán kính đường tròn nội tiếp tam giác.
 r

a
, r
b
, r
c
: các bán kính của các đường tròn bàng tiếp tam giác.
Hình 1.1
Hình 1.2a.3 đường cao Hình 1.2b. 3 đường trung tuyến
Các hệ thức cơ bản giữa các yếu tố của tam giác:
 Liên hệ giữa 3 góc:
f
1
: α + β + γ = π (radian).
 Định lý Cosin:
f
2
: a
2
= b
2
+ c
2
- 2.b.c.cosα
f
3
: b
2
= a
2
+ c

2
- 2.a.c.cosβ
f
4
: c
2
= a
2
+ b
2
- 2.a.b.cosγ
 Định lý Sin:
12
f
5
:
a
sin
b
sin
α β
=
f
6
:
c
sin
b
sin
γ β

=
f
7
:
a
sin
c
sin
α γ
=
f
8
:
a
sin
2R
α
=
f
9
:
b
sin
2R
β
=
f
10
:
c

sin
2R
γ
=
 Liên hệ giữa nửa chu vi và 3 cạnh :
f
11
: 2.p = a + b + c
 Các công thức tính diện tích :
f
12
: S = a.h
a
/2
f
13
: S = b.h
b
/2
f
14
: S = c.h
c
/2
f
15
: S = p.r
f
16
: S =

p(p a)(p b)(p c)− − −
f
17
: S = b.c.sinα / 2
f
18
: S = c.a.sinβ / 2
f
19
: S = a.b.sinγ / 2
 Các công thức tính đường cao theo cạnh và góc :
f
20
: h
a
= b.sinγ
f
21
: h
a
= c.sinβ
f
22
: h
b
= a.sinγ
13
f
23
: h

b
= c.sinα
f
24
: h
c
= a.sinβ
f
25
: h
c
= b.sinα
 Các công thức tính các đường trung tuyến :
f
26
: 4.m
a
2
= 2.b
2
+ 2.c
2
- a
2
f
27
: 4.m
b
2
= 2.a

2
+ 2.c
2
- b
2
f
28
: 4.m
c
2
= 2.a
2
+ 2.b
2
- c
2
 Các công thức tính các đường phân giác trong :
f
29
: p
a
=
2
b c
b.c.p.(p a)
+

f
30
: p

b
=
2
a c
a.c.p.(p b)
+

f
31
: p
c
=
2
b a
b.a.p.(p c)
+

 Một số công thức khác liên quan đến bán kính đường tròn ngoại tiếp, đường
tròn nội tiếp, và các đường tròn bàng tiếp :
f
32
: R =
a.b.c
4.S
f
33
: r
a
=
S

p - a
f
34
: r
b
=
S
p - b
f
35
: r
c
=
S
p -c
f
36
: 4.R = r
a
+ r
b
+ r
c
- r
Ghi chú: Trong các công thức trên, có một số công thức có thể được suy ra từ các
công thức khác. Do đó ta có thể bỏ bớt một số công thức. Hơn nữa, chúng ta có thể nêu
lên một thuật toán để làm tối thiểu hóa các công thức (hay các quan hệ) theo một thứ tự
14
ưu tiên nào đó. Tuy nhiên, nếu có thể nhớ được trực tiếp nhiều công thức thì việc tính
toán sẽ có lợi hơn.

2.2. Tam giác cân
Tam giác cân (không làm mất tính tổng quát, ta giả sử cân tại A) là một tam giác
có các tính chất sau đây:
g
1
: b = c
g
2
: β = γ
g
3
: h
b
= h
c
g
4
: m
b
= m
c
g
5
: p
b
= p
c
g
6
: r

b
= r
c
g
7
: m
a
= h
a
g
8
: p
a
= h
a
Ngoài ra, Một số quan hệ trong tam giác có thể được viết lại như sau:
f
1
: α + 2β = π (radian).
f
2
: a
2
= 2b
2
.(1- cosα)
f
3
: a = 2.b.cosβ
f

4
: a = 2.c.cosγ
f
11
: 2.p = a + 2b
f
17
: S = b
2
.sinα / 2
f
26
: 4.m
a
2
= 4.b
2
- a
2
f
27
: 4.m
b
2
= 2.a
2
+ b
2
f
28

: 4.m
c
2
= 2.a
2
+ c
2
f
29
: p
a
=
p.(p a)−
f
32
: R =
a.
b
4.S
2
f
36
: 4.R = r
a
+ 2.r
b
- r
2.3. Tam giác vuông
15
Không làm mất tính tổng quát, ta giả sử tam giác vuông có cạnh huyền là a. Như

thế, ngoài những hệ thức đã biết trong tam giác nói chung ta còn có:
g
1
: α = π/2 (α đã xác định)
Ngoài ra một số quan hệ có thể được viết lại như sau:
f
1
: β + γ = π/2 (radian).
f
2
: a
2
= b
2
+ c
2
(định lý Pitago)
f
3
: c = a.cosβ
f
4
: b = a.cosγ
f
5
: b = a.sinβ
f
7
: c = a.sinγ
f

8
: a = 2.R
f
17
: S = b.c/2
f
23
: h
b
= c
f
25
: h
c
= b
f
26
: 2.m
a
= a
f
27
: 4.m
b
2
= b
2
+ 4.c
2
f

28
: 4.m
c
2
= c
2
+ 4.b
2
2.4. Tam giác vuông cân
Tam giác vuông cân (với cạnh đáy tam giác cân là a) là một tam giác có:
g
1
: b = c,
g
2
: α = π/2.
Ngoài ra một số (nhóm) quan hệ trong tam giác có thể được thay thế bởi nhóm
quan hệ khác có hiệu quả hơn trong việc sử dụng.
Các quan hệ từ f
1
đến f
10
được thay thế bởi các quan hệ sau:
f
1
: β = π/4 (radian)
f
2
: γ = π/4 (radian)
f

3
: a = b
2
f
4
: a = c
2
16
f
5
: a = 2.R
Các quan hệ từ f
11
đến f
25
được thay thế bởi các quan hệ sau:
f
11
: 2.p = a(1+
2
)
f
12
: h
a
= a/2
f
13
: h
b

= c
f
14
: h
c
= b
f
15
: S = a
2
/4
f
16
: S = b
2
/2
f
17
: S = c
2
/2
f
18
: S = p.r
Các quan hệ từ f
26
đến f
28
được thay thế bởi các quan hệ sau:
f

26
: m
a
= a/2
f
27
: 4.m
b
2
= 5a
2
/2
f
28
: m
c
= m
b
Quan hệ f
29
đến f
31
được thay thế bởi:
f
29
: p
a
= a/2
f
30

: p
b
= a
2 2 1( )−
f
31
: p
c
= p
b
2.5. Tam giác đều
Tam giác đều là một tam giác có:
g
1
: a = b
g
2
: b = c
Tất cả các quan hệ từ f
1
đến f
36
có thể được thay thế bởi các quan hệ sau:
f
1
: α = π/3 (radian)
f
2
: β = π/3 (radian)
f

3
: γ = π/3 (radian)
f
4
: R =
a 3
3
17
f
5
: p =
3a
2
f
6
: S =
2
a
3
4
f
7
: h
a
=
a 3
2
f
8
: h

b
= h
a
f
9
: h
c
= h
a
f
10
: m
a
=
a 3
2
f
11
: m
b
= m
a
f
12
: m
c
= m
a
f
13

: p
a
=
a 3
2
f
14
: p
b
= p
a
f
15
: p
c
= p
a
f
16
: r =
a 3
6
f
17
: r
a
=
a 3
2
f

18
: r
b
= r
a
f
19
: r
c
= r
a
2.6. Các luật liên quan đến tam giác
L
1
: Tam giác có hai cạnh bằng nhau là tam giác cân
L
2
: Tam giác có 2 góc bằng nhau là tam giác cân
L
3
: Tam giác có đường cao và trung tuyến tương ứng bằng nhau là tam giác cân
L
4
: Tam giác có đường cao và đường phân giác trong tương ứng bằng nhau là
tam giác cân
18
L
5
: Tam giác có trung tuyến và đường phân giác trong tương ứng bằng nhau là
tam giác cân

L
6
: Tam giác có một góc vuông là tam giác vuông.
L
7
: Tam giác có bình phương một cạnh bằng tổng bình phương của hai cạnh kia
là tam giác vuông.
L
8
: Tam giác có một góc vuông và hai cạnh kề góc vuông bằng nhau là tam giác
vuông cân.
L
9
: Tam giác vuông có hai cạnh kề góc vuông bằng nhau là tam giác vuông cân.
L
10
: Tam giác cân góc đỉnh là góc vuông là tam giác vuông cân.
L
11
: Tam giác có 3 cạnh bằng nhau là tam giác đều.
L
12
: Tam giác có 3 góc bằng nhau là tam giác đều.
L
13
: Tam giác cân có một góc bằng (π / 3) là tam giác đều.
Ví dụ 1:
Trong tam giác ABC giả sử đã biết cạnh a, góc β, góc γ. Hãy tính các cạnh còn lại
(cạnh b và cạnh c) và đường cao h
a

. Như vậy ta có:
Giả thiết: {a, β, γ}
Tính các biến: {b, c, h
a
}
Áp dụng thuật toán tìm lời giải ta có lời giải gồm các bước tính toán như sau:
Tính : α (áp dụng f
1
)
Tính : b (áp dụng f
5
)
Tính : c (áp dụng f
6
)
Tính : h
a
(áp dụng f
20
)
Ví dụ 2:
Trong tam giác, giả sử đã biết cạnh b, cạnh c, góc α. Hãy tính các đường trung
tuyến trong tam giác: m
a
, m
b
, m
c
.
Giả thiết: {b, c, α}

Yêu cầu tính: {m
a
, m
b
, m
c
}
Áp dụng thuật toán tìm lời giải ta có lời giải gồm các bước tính toán như sau:
Tính: a (áp dụng f
2
)
Tính: m
a
(áp dụng f
26
)
19
Tính: m
b
(áp dụng f
27
)
Tính: m
c
(áp dụng f
28
)
Ví dụ 3:
Trong tam giác, giả sử đã biết cạnh b, cạnh c, góc β. Hãy tính nửa chu vi p và diện
tích S của tam giác.

Giả thiết: {b, c, β}
Yêu cầu tính: {p, S}
Áp dụng thuật toán tìm lời giải ta có lời giải gồm các bước tính toán như sau:
Tính: γ (áp dụng f
6
)
Tính: R (áp dụng f
9
)
Tính: h
a
(áp dụng f
20
)
Tính: α (áp dụng f
1
)
Tính: a (áp dụng f
2
)
Tính: p (áp dụng f
11
)
Tính: S (áp dụng f
12
)
3. Ứng dụng giải bài toán tam giác trên Maple
3.1. Phát biểu vấn đề
Trong 1 tam giác cho trước giá trị của một vài thuộc tính và muốn tính toán một
vài thuộc tính khác

Mẫu:
 H: là tập giả thiết. H = {a = 5; b = 4; c = 3}
 G: tập mục tiêu. Tính S, R (bán kính vòng tròn ngoại tiếp). G = {S, R}
 Formula: tập các công thức
3.2. Thuật giải
Solution: danh sách các công thức
Known: những thuộc tính đã biết, tập các đẳng thức có vế trái là biến, vế
phải là giá trị
Bước 1: Solution = [];
Known = H;
Bước 2:
20
While (G không nằm trong map (x

lhs(x), Known) do
{
2.1 Tìm công thức f thuộc Formula có thể áp dụng trên
Known (Công thức có đúng 1 biến chưa biết)
2.2 if (không tìm được r) then
Dừng (không tìm được lời giải)
2.3 Thêm f vào Solution
Xác định biến mới sẽ tính ra: V
new
= V(f) – V(Known)
Thay thế giá trị đã biết và giải:
varFound = solve (subs(Known, f), V
new
);
Known = Known union varFound;
}

Bước 3:
Cho kết quả tìm được Solution
3.3. Viết thủ tục
21
3.4. Kết quả thử nghiệm
22
TÀI LIỆU THAM KHẢO
[1] Bài giảng môn Symbolic và ứng dụng, PGS TS Đỗ Văn Nhơn, Đại học Công nghệ
Thông tin, TpHCM.
[2] Bài giảng môn Biểu diễn tri thức và ứng dụng, PGS. TS. Đỗ Văn Nhơn, Đại học Công
nghệ Thông tin, TpHCM.
[3] Model for Knowledge Bases of Computational Objects, Nhon Van Do, Department of
Computer Science, University of Information Technology, Ho Chi Minh City, Vietnam.
[4] Giải một Bài toán trên Máy tính như thế nào, Hoàng Kiếm (2000), tập 1, NXB Giáo
Dục.
[5] Maple và các bài toán ứng dụng, Phạm Minh Hoàng, NXB KHKT.
23

×