Tải bản đầy đủ (.pdf) (32 trang)

HỆ SUY DIỄN TIẾN VÀ GIẢI TAM GIÁC BẰNG MAPLE

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 (2.19 MB, 32 trang )



ĐẠI HỌC QUỐC GIA TP.HCM
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
[\




TIỂU LUẬN MÔN HỌC:
LẬP TRÌNH SYMBOLIC




ĐỀ TÀI:
HỆ SUY DIỄN TIẾN
VÀ GIẢI TAM GIÁC BẰNG MAPLE




GVHD : PGS.TS Đỗ Văn Nhơn
Người thực hiện : Nguyễn Hoàng Sỹ
Mã số : CH1101037
Lớp : CH06


Tp.HCM, tháng 01 năm 2013
Tiểu luận:“Hệ suy diễn tiến và Giải tam giác bằng Maple”
HVTH: Nguyễn Hoàng Sỹ - MSHV: CH 1101037 Trang 1


MỤC LỤC


MỤC LỤC 1
LỜI NHẬN XÉT 3
LỜI MỞ ĐẦU 4
Chƣơng I: CƠ SỞ LÝ THUYẾT 5
I.1 TỔNG QUAN: 5
I.1.1 Khái niệm: 5
I.1.2 Cấu trúc của hệ giải toán dựa trên tri thức: 7
I.1.3 Các thành phần chính của hệ thống trong việc giải toán: 7
I.2 HỆ SUY DIỄN: 8
I.2.1 Khái niệm: 8
I.2.2 Suy diễn tiến: 8
I.2.3 Suy diễn lùi: 9
I.2.4 Suy diễn hỗn hợp: 10
I.3 HỆ LUẬT – ĐỊNH LÝ GIẢI TAM GIÁC : 11
I.3.1 Khái niệm : 11
I.3.2 Các hệ thức cơ bản giữa các yếu tố của tam giác: 12
I.3.3 Các hệ thức cơ bản giữa các yếu tố của tam giác cân : 14
I.3.4 Các hệ thức cơ bản giữa các yếu tố của tam giác vuông : 15
I.3.5 Các hệ thức cơ bản giữa các yếu tố của tam giác vuông cân : 16
Tiểu luận:“Hệ suy diễn tiến và Giải tam giác bằng Maple”
HVTH: Nguyễn Hoàng Sỹ - MSHV: CH 1101037 Trang 2
I.3.6 Các hệ thức cơ bản giữa các yếu tố của tam giác đều : 17
Chƣơng II: PHẦN CHƢƠNG TRÌNH 19
PHẦN A: XÂY DỰNG HÀM SUY DIỄN TIẾN 19
A.1 Giới thiệu ý tưởng: 19
A.2 Thuật giải : 19
A.3 Viết thủ tục chương trình: 20

PHẦN B: XÂY DỰNG HÀM GIẢI TAM GIÁC 22
B.1 Giới thiệu ý tưởng: 22
B.2 Thuật giải: 22
B.3 Viết thủ tục chương trình: 24
Chƣơng III: DEMO CHƢƠNG TRÌNH GIẢI TAM GIÁC BẰNG MAPLE 26
III.1 . Giới thiệu phạm vi: 26
III.2 . Yêu cầu cài đặt: 26
III.3 . Demo bằng Maple: (đính kèm) 26
III.3.1 Hàm Suy diễn tiến: 26
III.3.1 Hàm Suy diễn tiến giải tam giác: 27
KẾT LUẬN 30
TÀI LIỆU THAM KHẢO 31




Tiểu luận:“Hệ suy diễn tiến và Giải tam giác bằng Maple”
HVTH: Nguyễn Hoàng Sỹ - MSHV: CH 1101037 Trang 3
LỜI NHẬN XÉT
























Tiểu luận:“Hệ suy diễn tiến và Giải tam giác bằng Maple”
HVTH: Nguyễn Hoàng Sỹ - MSHV: CH 1101037 Trang 4
LỜI MỞ ĐẦU

Từ trƣớc đến nay, vấn đề biểu diễn tri thức, tin học hóa các ngành nghề trong cuộc sống
của con ngƣời. Biểu diễn các dạng ngữ nghĩa, các dạng tri thức trên máy tính là một đề
tài hết sức hấp dẫn, luôn đƣợc các nhà khoa học và những ngƣời làm tin học nghiên cứu
và ứng dụng. Một trong những ngành khoa học đƣợc ứng dụng nhiều nhất đó chính là
ngành toán học.
Điển hình trong toán học, lĩnh vực hình học về giải tam giác là một chủ đề đƣợc rất
nhiều nhà toán học quan tâm. Trong suốt quá trình phát triển, họ không ngừng đƣa ra
đƣợc các định lý, các nguyên lý, các định luật về hình học tam giác. Đến ngày nay, các
định lý các định luật, các công thức về tam giác đƣợc tìm ra, đƣợc phát minh tƣơng đối
đầy đủ và đƣợc phổ cập trong các bậc học phổ thông.
Tuy nhiên việc biểu diễn các định lý, định luật trên mới đƣợc sử dụng bằng phƣơng pháp
truyền thống, và việc truyền đạt lại cho thế hệ sau vẫn còn gặp một số khó khăn nhất
định. Để giúp cho ngƣời dạy, ngƣời học có thể dễ truyền đạt, dễ hiểu. Trong tiểu luận
này, tôi sẽ áp dụng môn học “LẬP TRÌNH SYMBOLIC GIẢI TAM GIÁC BẰNG

MAPLE” cùng với thuật giải ”SUY DIỄN TIẾN”.
Chƣơng trình có thể mở rộng ra để biễu diễn và tính toán các công thức, các định
luật, định lý trong hình học phẳng, hình học không gian.
Tôi chân thành cảm ơn Thầy PGS.TS. Đỗ Văn Nhơn đã truyền đạt những kiến thức
quý báu về khái niệm, ý nghĩa, các tài liệu, mô hình và cơ chế suy diễn, thiết thực hơn,
nâng cao hiểu biết, cung cấp kiến thức mở rộng phục vụ cho quá trình nghiên cứu về sau
vào từng lĩnh vực ứng dụng đặc thù với những đặc trƣng riêng./.


Tiểu luận:“Hệ suy diễn tiến và Giải tam giác bằng Maple”
HVTH: Nguyễn Hoàng Sỹ - MSHV: CH 1101037 Trang 5
Chƣơng I: CƠ SỞ LÝ THUYẾT
I.1 TỔNG QUAN:
I.1.1 Khái niệm:
Khái niệm: Tri thức (knowledge) là sự hiểu biết về một lĩnh vực của chủ đề. Lĩnh vực:
miền chủ đề đƣợc chú trọng. Tri thức thƣờng bao gồm các khái niệm, các loại sự kiện,
các luật,
Phƣơng pháp biểu diễn tri thức bằng luật sinh đƣợc phát minh bởi Newell và Simon
trong lúc hai ông đang cố gắng xây dựng một hệ giải bài toán tổng quát. Đây là một kiểu
biểu diễn tri thức có cấu trúc. Ý tƣởng cơ bản là tri thức có thể đƣợc cấu trúc bằng một
cặp điều kiện & hành động : "NẾU điều kiện xảy ra THÌ hành động sẽ được thi hành".
- Chẳng hạn :
NẾU đèn giao thông là đỏ THÌ bạn không đƣợc đi thẳng,
NẾU máy tính đã mở mà không khởi động đƣợc THÌ kiểm tra nguồn điện, v.v…
Ngày nay, các luật sinh đã trở nên phổ biến và đƣợc áp dụng rộng rãi trong nhiều hệ
thống trí tuệ nhân tạo khác nhau. Luật sinh có thể là một công cụ mô tả để giải quyết các
vấn đề thực tế thay cho các kiểu phân tích vấn đề truyền thống. Trong trƣờng hợp này,
các luật đƣợc dùng nhƣ là những chỉ dẫn (tuy có thể không hoàn chỉnh) nhƣng rất hữu
ích để trợ giúp cho các quyết định trong quá trình tìm kiếm, từ đó làm giảm không gian
tìm kiếm.

- Một ví dụ khác là luật sinh có thể đƣợc dùng để bắt chƣớc hành vi của những
chuyên gia. Theo cách này, luật sinh không chỉ đơn thuần là một kiểu biểu diễn tri thức
trong máy tính mà là một kiểu biễu diễn các hành vi của con ngƣời.
* Một cách tổng quát luật sinh có dạng như sau:
P
1
 P
2
  Pn  Q
Tùy vào các vấn đề đang quan tâm mà luật sinh có những ngữ nghĩa hay cấu tạo khác
nhau :
Tiểu luận:“Hệ suy diễn tiến và Giải tam giác bằng Maple”
HVTH: Nguyễn Hoàng Sỹ - MSHV: CH 1101037 Trang 6
- Trong logic vị từ : P
1
, P
2
, , Pn, Q là những biểu thức logic.
- Trong ngôn ngữ lập trình, mỗi một luật sinh là một câu lệnh.
IF (P
1
AND P
2
AND AND Pn) THEN Q.
- Trong lý thuyết hiểu ngôn ngữ tự nhiên, mỗi luật sinh là một phép dịch:
ONE  một.
TWO  hai.
JANUARY  tháng một.
Để biễu diễn một tập luật sinh, ngƣời ta thƣờng phải chỉ rõ hai thành phần chính sau :
(1) Tập các sự kiện F(Facts)

F = { f
1
, f
2
, fn

}
(2) Tập các quy tắc R (Rules) áp dụng trên các sự kiện dạng nhƣ sau :
f
1
^ f
2
^ ^ f
i
 q
Trong đó, các f
i
, q đều thuộc F
Ví dụ : Cho 1 cơ sở tri thức đƣợc xác định nhƣ sau :
- Các sự kiện : A, B, C, D, E, F, G, H, K
- Tập các quy tắc hay luật sinh (rule):
R1 : A  E
R2 : B  D
R3 : H  A
R4 : E  G  C
R5 : E  K  B
R6 : D  E  K  C
R7 : G  K  F  A



Tiểu luận:“Hệ suy diễn tiến và Giải tam giác bằng Maple”
HVTH: Nguyễn Hoàng Sỹ - MSHV: CH 1101037 Trang 7
I.1.2 Cấu trúc của hệ giải toán dựa trên tri thức:






Hình: Cấu trúc của một hệ giải toán thông minh

I.1.3 Các thành phần chính của hệ thống trong việc giải toán:
Hệ giải toán thông minh có thể giải đƣợc các dạng bài toán tổng quát trong một miền tri
thức.
- Cơ sở tri thức (Knowledge Base). Đây là trái tim của hệ thống, trong đó chứa các
kiến thức cần thiết cho việc giải các bài toán.
- Bộ suy diễn (hay mô tơ suy diễn). Bộ suy diễn sẽ áp dụng kiến thức đƣợc lƣu trữ
trong cơ sở tri thức để giải quyết hay tìm lời giải cho các bài toán đặt ra.
Sự tách biệt: tính độc lập tƣơng đối giữa cơ sở tri thức và bộ suy diễn.
Cần có sự tách biệt này vì:
- Việc biểu diễn tri thức sẽ đƣợc thực hiện một cách tự nhiên hơn, gần gũi hơn với
quan niệm của con ngƣời.
- Các nhà thiết kế hệ thống sẽ tập trung vào vệc nắm bắt và tổ chức cơ sở tri thức
hơn là phải đi vào những chi tiết cho việc cài đặt trên máy tính.
- Giúp tăng cƣờng tính mô-đun hóa của phần cơ sở tri thức, bộ suy diễn và bộ phận
cập nhật, hiệu chỉnh kiến thức. Sự bổ sung hay loại bỏ bớt một phần kiến thức sẽ
không gây ra những hiệu ứng lề cho các thành phần khác trong hệ thống.
Tiểu luận:“Hệ suy diễn tiến và Giải tam giác bằng Maple”
HVTH: Nguyễn Hoàng Sỹ - MSHV: CH 1101037 Trang 8
- Cho phép cùng một chiến lƣợc điều khiển và giao tiếp có thể đƣợc sử dụng cho

nhiều hệ thống khác nhau.
- Sự tách biệt của kiến thức giải bài toán và bộ suy diễn còn giúp ta có thể thử
nghiệm nhiều chiến lƣợt điều khiển khác nhau trên cùng một cơ sở tri thức.
I.2 HỆ SUY DIỄN:
I.2.1 Khái niệm:
Một tập hợp các công thức liên hệ tính toán trên các yếu tố của tam giác. Suy diễn nhằm
vận dụng kiến thức đã biết trong quá trính lập luận giải quyết vấn đề trong đó quan trọng
nhất là các chiến lƣợc điều khiển giúp phát sinh những sự kiện mới từ các sự kiện đã có.
Suy diễn tự động: Quá trình suy diễn đƣợc thuật giải hóa và có thể cài đặt thành chƣơng
trình máy tính.
Các kỹ thuật suy diễn cơ bản:
- Suy diễn tiến.
- Suy diễn lùi.
I.2.2 Suy diễn tiến:
Phƣơng pháp: Suy dẫn từ giả thiết đi đến kết luận.
Chiến lƣợc này đƣợc bắt đầu bằng tập sự kiện đã biết, rút ra các sự kiện mới nhờ dùng
các luật mà phần giả thiết khớp với sự kiện đã biết, và tiếp tục quá trình này cho đến khi
thấy trạng thái đích, hoặc cho đến khi không còn luật nào khớp đƣợc các sự kiện đã biết
hay đƣợc sự kiện suy luận.
Trong áp dụng cụ thể phƣơng pháp thƣờng sử dụng kết hợp với các qui tắc heuristic
trong việc chọn luật.
Ví dụ: tiếp theo các luật trên
Sự kiện ban đầu : H, K
R3 : H  A {A, H. K }
R1 : A  E { A, E, H, K }
Tiểu luận:“Hệ suy diễn tiến và Giải tam giác bằng Maple”
HVTH: Nguyễn Hoàng Sỹ - MSHV: CH 1101037 Trang 9
R5 : E  K  B { A, B, E, H, K }
R2 : B  D { A, B, D, E, H, K }
R6 : D  E  K  C { A, B, C, D, E, H, K }

I.2.3 Suy diễn lùi:
Phƣơng pháp: Truy ngƣợc từ kết luận trở về giả thiết.
Phƣơng pháp này đƣợc tiến hành bằng cách truy ngƣợc từ mục tiêu cần đạt đƣợc trở về
phần giả thiết của bài toán bằng cách áp dụng các luật trong cơ sở tri thức.
Quá trình suy diễn lùi này sẽ phát sinh một sơ đồ cây mục tiêu kèm theo một cơ chế
quay lui và lời giải sẽ đƣợc tìm thấy khi tất cả các mục tiêu ở các nút lá của cây mục tiêu
đều thuộc về những sự kiện đã biết
Trong áp dụng cụ thể phƣơng pháp thƣờng sử dụng kết hợp với các qui tắc heuristic
trong việc chọn luật.
Ví dụ :
Tập các sự kiện :
Ổ cứng là "hỏng" hay "hoạt động bình thƣờng"
 Hỏng màn hình.
 Lỏng cáp màn hình.
 Tình trạng đèn ổ cứng là "tắt" hoặc "sáng"
 Có âm thanh đọc ổ cứng.
 Tình trạng đèn màn hình "xanh" hoặc "chớp đỏ"
 Không sử dụng đƣợc máy tính.
 Điện vào máy tính "có" hay "không".
Tập các luật :
R1. Nếu ( (ổ cứng "hỏng") hoặc (cáp màn hình "lỏng")) thì không sử dụng đƣợc
máy tính.
Tiểu luận:“Hệ suy diễn tiến và Giải tam giác bằng Maple”
HVTH: Nguyễn Hoàng Sỹ - MSHV: CH 1101037 Trang 10
R2. Nếu (điện vào máy là "có") và ( (âm thanh đọc ổ cứng là "không") hoặc tình
trạng đèn ổ cứng là "tắt")) thì (ổ cứng "hỏng").
R3. Nếu (điện vào máy là "có") và (tình trạng đèn màn hình là "chớp đỏ") thì (cáp
màn hình "lỏng").
Để xác định đƣợc các nguyên nhân gây ra sự kiện "không sử dụng đƣợc máy tính", ta
phải xây dựng một cấu trúc đồ thị gọi là đồ thị AND/OR nhƣ sau :

Ví dụ câu hỏi "Bạn kiểm tra xem có điện vào máy tính không (kiểm tra đèn nguồn)?
(C/K)". Để thực hiện đƣợc cơ chế suy luận lùi, ngƣời ta thƣờng sử dụng ngăn xếp (để
ghi nhận lại những nhánh chƣa kiểm tra).

Hình: Cơ chế suy diễn của suy diễn lùi.
I.2.4 Suy diễn hỗn hợp:
Phƣơng pháp: Kết hợp 2 quá trình suy diễn tiến và suy diễn lùi nhằm khắc phục khuyết
điểm của mỗi phƣơng pháp và nâng cao hiệu quả của quá trình suy diễn trong áp dụng
cụ thể.
Nhƣợc điểm của suy diễn tiến: Không cảm nhận đƣợc sự gần tới đích.
Nhƣợc điểm của suy diễn lùi: thƣờng dẫn tới sự phân nhánh lớn và không cảm nhận
đƣợc sự cần chuyển hƣớng dòng suy nghĩ.

Tiểu luận:“Hệ suy diễn tiến và Giải tam giác bằng Maple”
HVTH: Nguyễn Hoàng Sỹ - MSHV: CH 1101037 Trang 11
I.3 HỆ LUẬT – ĐỊNH LÝ GIẢI TAM GIÁC :
I.3.1 Khái niệm :
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ố đó.

Kiến thức về một tam giác cần thiết cho việc giải bài toán tam giác có thể đƣợc biểu diễn
gồm:
Một tập hợp các biến thực, mỗi biến đại diện cho một yếu tố của tam giác.
Tập các biến trong tam giác gồm :
a, b, c : 3 cạnh của tam giác (Hình 1.1).
, ,  : 3 góc đối diện với 3 cạnh tƣơng ứng trong tam giác (Hình 1.1).
h
a
, h

b
, h
c
: 3 đƣờng cao tƣơng ứng với 3 cạnh của tam giác (Hình 1.2a).
m
a
, m
b
, m
c
: 3 đƣờng trung tuyến tƣơng ứng với 3 cạnh của tam giác (Hình 1.2b).
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
Tiểu luận:“Hệ suy diễn tiến và Giải tam giác bằng Maple”
HVTH: Nguyễn Hoàng Sỹ - MSHV: CH 1101037 Trang 12

Hình 1.2a. 3 đƣờng cao Hình 1.2b. 3 đƣờng trung tuyến

I.3.2 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 cạnh :
f
0
: a + b + c = pi
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 :
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




Tiểu luận:“Hệ suy diễn tiến và Giải tam giác bằng Maple”
HVTH: Nguyễn Hoàng Sỹ - MSHV: CH 1101037 Trang 13
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
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 :
Tiểu luận:“Hệ suy diễn tiến và Giải tam giác bằng Maple”

HVTH: Nguyễn Hoàng Sỹ - MSHV: CH 1101037 Trang 14
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ự ƣ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.
I.3.3 Các hệ thức cơ bản giữa các yếu tố của 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

Tiểu luận:“Hệ suy diễn tiến và Giải tam giác bằng Maple”
HVTH: Nguyễn Hoàng Sỹ - MSHV: CH 1101037 Trang 15
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

I.3.4 Các hệ thức cơ bản giữa các yếu tố của tam giác vuông :
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:
Tiểu luận:“Hệ suy diễn tiến và Giải tam giác bằng Maple”
HVTH: Nguyễn Hoàng Sỹ - MSHV: CH 1101037 Trang 16

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


I.3.5 Các hệ thức cơ bản giữa các yếu tố của 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

Tiểu luận:“Hệ suy diễn tiến và Giải tam giác bằng Maple”
HVTH: Nguyễn Hoàng Sỹ - MSHV: CH 1101037 Trang 17
f
4
: a = c
2

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

I.3.6 Các hệ thức cơ bản giữa các yếu tố của 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)
Tiểu luận:“Hệ suy diễn tiến và Giải tam giác bằng Maple”
HVTH: Nguyễn Hoàng Sỹ - MSHV: CH 1101037 Trang 18
f
2
:  = /3 (radian)
f
3
:  = /3 (radian)
f
4
: R =
a 3
3

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



Tiểu luận:“Hệ suy diễn tiến và Giải tam giác bằng Maple”
HVTH: Nguyễn Hoàng Sỹ - MSHV: CH 1101037 Trang 19
Chƣơng II: PHẦN CHƢƠNG TRÌNH
PHẦN A: XÂY DỰNG HÀM SUY DIỄN TIẾN
A.1 Giới thiệu ý tƣởng:
Hệ suy diễn tiến là suy diễn tiến trên "hệ luật dẫn cơ bản" (gồm tập sự kiện và tập luật
dẫn).
Giả sử có tập giả thiết cho trƣớc H (H là tập con F), ta muốn suy ra 1 tập mục tiêu G (G
là tập con của F). Tìm dãy các luật để từ H suy ra đƣợc G (hay còn gọi là tìm lời giải cho
bài toán suy diễn)
* Cấu trúc hệ luật dẫn: gồm (F, R)
 Tập sự kiện F: tập hợp các sự kiện (Ví dụ: phát biểu quan hệ trên 2 phần tử, phát
biểu liên hệ giữa 2 đối tƣợng, một mệnh đề p ; q )
F = {A, B, C, }

 Tập luận dẫn:
R = {các luật dẫn có dạng: if gt then kl;
gt và kl là các tập con của F}
A.2 Thuật giải :
Ý tƣởng: xuất phát từ H tìm luật áp dụng.
Luật để áp dụng đƣợc:
- Phần giả thiết phải nằm trong H.
- Phần kết luận không nằm trong H.
Mỗi khi tìm đƣợc luật áp dụng ghi nhớ luật đó, đồng thời ghi nhận sự kiện mới áp dụng
suy ra từ đó. Cứ lặp lại cho đến khi tập sự kiện ta có trùng với tập G. Có trƣờng hợp
dừng khi tìm luật không có.
+ Biến (với kiểu dữ liệu nhất định): giả thiết F(Facts), R(Rules), H(GT), G(KL)
Biến tìm lời giải solution(Sol): danh sách các luật đƣợc áp dụng
Tiểu luận:“Hệ suy diễn tiến và Giải tam giác bằng Maple”
HVTH: Nguyễn Hoàng Sỹ - MSHV: CH 1101037 Trang 20
Biến Facts_known(Known): lƣu lại tập sự kiện đã biết, kiểu dữ liệu là tập sự kiện
Bước 1: Khởi tạo các biến
Solution:= [];
Facts_known:= H;
Bước 2:
while (chƣa đạt đƣợc mục tiêu G) do
2.1. Tìm luật r thuộc R có thể áp dụng trên Facts_known nhằm sinh ra sự kiện
mới (gt(r)

Facts_Known, và kl(r) không nằm trong Facts_Known.)
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 r vào Solution; Thêm phần kết luận của luật r vào Facts_known;
end do;
Bước 3:

Cho kết quả tìm đƣợc lời giải Solution nếu có, list rỗng nếu không tìm thấy.
A.3 Viết thủ tục chƣơng trình:
Giả sử đã có (F,R), biến toàn cục
Tiểu luận:“Hệ suy diễn tiến và Giải tam giác bằng Maple”
HVTH: Nguyễn Hoàng Sỹ - MSHV: CH 1101037 Trang 21






Tiểu luận:“Hệ suy diễn tiến và Giải tam giác bằng Maple”
HVTH: Nguyễn Hoàng Sỹ - MSHV: CH 1101037 Trang 22
PHẦN B: XÂY DỰNG HÀM GIẢI TAM GIÁC
B.1 Giới thiệu ý tƣởng:
Chƣơng trình hỗ trợ việc dùng các định lý của tam giác, tạo thành tập các công thức để
giải tam giác với:
Ý tƣởng: Trong tam giác, giả sử ta biết 1 số thuộc tính tam giác

, ta có thể tính thêm một hoặc các thuộc tính còn lại của tam giác (theo định lý của tam
giác).
Giá trị đầu vào
(Input)
Tập luật (Formula)
& Hệ luật suy diễn
Giá trị đầu ra
(Output)
Một trong các giá trị
của tạo thành tam giác.
Ví dụ:

cạnh a = 5; b = 4; c = 3
{
A + B+ C=Pi,
S=a*b*sin(C)/2,
2*p=(a+b+c),
S=sqrt(p*(p-a)*(p-b)*(p-c)),
…}

Phát sinh thêm các tập luật
mới (dùng suy diễn tiến),
nhằm tạo thêm giá trị cho
việc tính toán theo yêu cầu
của đề bài tam giác.
Ví dụ:
Tính S; R

B.2 Thuật giải:
Ta định nghĩa:
+ Biến (với kiểu dữ liệu nhất định) và sử dụng các cấu trúc điều khiển.
+ Solution: danh sách các công thức đƣợc áp dụng
+ Facts_known: tập các đẳng thức để tính và lƣu lại tập sự kiện các biến đã biết.

Bước 1: Khởi tạo các biến
Tiểu luận:“Hệ suy diễn tiến và Giải tam giác bằng Maple”
HVTH: Nguyễn Hoàng Sỹ - MSHV: CH 1101037 Trang 23
Solution:=[];
Facts_known:=H; // Tập những đẳng thức mà cho ta biết biến có giá trị bằng bao nhiêu
như a=5
Bước 2:
(Ý tƣởng: Trong khi (G không nằm trong tập biến đã biến vế trái Facts_known (dùng

hiện map trong thư viện maple để lấy vế trái) ) ta thực hiện )
while (G không nằm trong map(x->lhs(x), Facts_known)) do
2.1. Tìm 1 công thức f thuộc tập Fomula có thể áp dụng trên tập Facts_known
(Tìm công thức nào có đúng 1 biến chƣa biết trong công thức để tính.)
Ví dụ :
cạnh a=5, b=4, c=3 công thức nào áp dụng đƣợc?
> nữa chu vi: p=(a+b+c)/2, lúc đó tập Facts_known là { a=5, b=4, c=3, p=6}. Từ đó
tính đƣợc S ; qua công thức S = sqrt(p*(p-a)*(p-b)*(p-c))
2.2. if (không tìm đƣợc f) then
Dừng: không tìm đƣợc lời giải
2.3. (Ý tƣởng: Từ công thức f, thay thế và giải phƣơng trình để tính ra biến mới
(thủ tục subs và solve), làm sao biến nào biến mới (check tập biến công thức "hàm
indets" hiệu với tập biến trong facts_known tồn tại là biến mới))
Thêm f vào Solution;
Xác định biến mới sẽ tính ra: Vnew=V(f) - V(Facts_known);
Thay thế và giải: Newfact:=solve (subs(Facts_known, f), Vnew));
Facts_known := Facts_known union Newfact;
end do;
Bước 3:
Cho kết quả tìm đƣợc lời giải Solution nếu có, list rỗng nếu không tìm thấy.
Tiểu luận:“Hệ suy diễn tiến và Giải tam giác bằng Maple”
HVTH: Nguyễn Hoàng Sỹ - MSHV: CH 1101037 Trang 24
B.3 Viết thủ tục chƣơng trình:




×