1. Trang chủ
  2. » Luận Văn - Báo Cáo

GIẢI BÀI TOÁN TAM GIÁC ỨNG DỤNG MAPLE

18 708 3

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 18
Dung lượng 1,05 MB

Nội dung

Trong tiểu luận này xét một mạng tính toán gồm một tập hợp các biến cùng với một tập các quan hệ chẳng hạn các công thức tính toán giữa các biến.. Cách biểu diễn tri thức tính toán dưới

Trang 1

TIỂU LUẬN LẬP TRÌNH SYMBOLIC VÀ ỨNG DỤNG

Đề tài: GIẢI BÀI TOÁN TAM GIÁC ỨNG

DỤNG MAPLE

GVHD: PGS.TS Đỗ Văn Nhơn

Học viên thực hiện:

Trang 2

LỜI CẢM ƠN

Em xin gửi lời cảm ơn chân thành đến thầy PGS.TS Đỗ Văn Nhơn, người đã dành nhiều thời gian quý báu của mình để truyền đạt cho lớp CH CNTT K6 những kiến thức bổ ích, lý thú về biểu diễn tri thức và ứng dụng Đây là những kiến thức hết sức cần thiết cho hành trang của chúng em trong công việc nghiên cứu về lĩnh vực tin học Đặt biệt thầy đã truyền đạt các kiến thức và ví dụ minh họa rất bổ ích cho chúng em về Symbolic và công cụ Maple Đây chính là tiền đề, là kiến thức nền tảng đã thôi thúc em thực hiện đề tài tiểu luận về “Giải bài toán tam giác ứng dụng maple”

Xin chân thành cảm ơn sự giúp đỡ của các bạn bè, anh chị, những người đã thảo luận và đóng góp ý kiến, giúp đỡ em tìm kiếm thông tin và động viên tinh thần cho em trong suốt quá trình thực hiện tiểu luận

Một lần nữa xin chân thành cảm ơn đến tất cả những người đã quan tâm đến tiểu luận của em Tuy nhiên, trong quá trình làm việc không thể tránh khỏi những sai sót, rất mong sự đóng góp ý kiến nhiệt tình của Thầy và các bạn

Học viên thực hiện

Phan Đình Duy Lớp: CH CNTT K6

Trang 3

Mục lục

Chương 1 MẠNG TÍNH TOÁN 3

1.1 Giới thiệu về mạng tính toán 3

1.2 Các quan hệ 3

1.3 Mạng tính toán và các ký hiệu 6

1.4 Vấn đề trên mạng tính toán 8

Chương 2 GIẢI BÀI TOÁN TAM GIÁC 11

2.1 Yêu cầu bài toán 11

2.2 Cấu trúc dữ liệu 11

2.3 Thuật giải 13

2.4 Ví dụ 14

Trang 4

HÌNH ẢNH

Hình 1-1 quan hệ đối xứng có hạng k 4

Hình 1-2 quan hệ không đối xứng có hạng k 5

Hình 1-3 Quan hệ các góc trong tam giác 5

Hình 1-4 Quan hệ giữa nửa chu vi với các độ dài 6

Trang 5

Chương 1 MẠNG TÍNH TOÁN 1.1 Giới thiệu về mạng tính toán

Mạng tính toán là một dạng biểu diễn tri thức có thể dùng biểu diễn các tri thức về các vấn đề tính toán và được áp dụng một cách có hiệu quả để giải quyết các vấn đề này Mỗi mạng tính toán là một mạng ngữ nghĩa chứa các biến và những quan hệ có thể cài đặt và sử dụng được cho việc tính toán Có thể nói rằng mạng tính toán là một sự tổng quát hoá của kiểu dữ liệu trừu tượng có khả năng tự xây dựng các hàm dùng cho việc tổng hợp thành các chương trình

Trong tiểu luận này xét một mạng tính toán gồm một tập hợp các biến cùng với một tập các quan hệ (chẳng hạn các công thức) tính toán giữa các biến Trong ứng dụng

cụ thể mỗi biến và giá trị của nó thường gắn liền với một khái niệm cụ thể về sự vật, mỗi quan hệ thể hiện một sự tri thức về sự vật

Cách biểu diễn tri thức tính toán dưới dạng các đối tượng này rất tự nhiên và gần gũi đối với cách nhìn và nghĩ của con người khi giải quyết các vấn đề tính toán liên quan đến một số khái niệm về các đối tượng, chẳng hạn như các tam giác, tứ giác, hình bình hành, hình chữ nhật, v.v

1.2 Các quan hệ

Cho là một tập hợp các biến có thể lấy giá trị trong các miền xác định tương ứng Đối với mỗi quan hệ R 

D1xD2x xDm trên các tập hợp D1,D2, ,Dm ta nói rằng quan hệ này liên kết các biến x1,x2, ,xm, và ký hiệu là R(x1,x2, ,xm) hay vắn tắt là R(x) (ký hiệu x dùng

để chỉ bộ biến < x1,x2, ,xm >) Quan hệ R(x) xác định một (hay một số) ánh xạ

fR,u,v: Du  Dv, trong đó u,v là các bộ biến và u  x, v  x; Du và Dv là tích của các miền xác định tương ứng của các biến trong u và trong v

Trang 6

Ta có thể thấy rằng quan hệ R(x) có thể được biểu diễn bởi một ánh xạ fR,u,v với u  v = x, và ta viết fR,u,v: u  v, hay vắn tắt là: f: u  v

Đối với các quan hệ dùng cho việc tính toán, cách ký hiệu trên bao hàm ý nghĩa như là một hàm: ta có thể tính được giá trị của các biến thuộc v khi biết được giá trị của các biến thuộc u

Trong phần sau ta xét các quan hệ xác định bởi các hàm có dạng: f: u  v, trong đó u  v =  (tập rỗng) Đặc biệt là các quan hệ đối xứng có hạng (rank)

bằng một số nguyên dương k Đó là các quan hệ mà ta có thể tính được k biến bất

kỳ từ m-k biến kia (ở đây x là bộ gồm m biến < x1,x2, ,xm >) Ngoài ra, trong trường hợp cần nói rõ ta viết u(f) thay cho u, v(f) thay cho v Đối với các quan hệ không phải là đối xứng có hạng k, không làm mất tính tổng quát, ta có thể giả sử quan hệ xác định duy nhất một hàm f với tập biến vào là u(f) và tập biến ra là v(f);

ta gọi loại quan hệ này là quan hệ không đối xứng xác định một hàm, hay gọi vắn tắt là “quan hệ không đối xứng”

Ta có thể vẽ hình biểu diễn cho các quan hệ đối xứng và các quan hệ không đối xứng (xác định một hàm) như trong hình sau

Hình 1-1 quan hệ đối xứng có hạng k

Trang 7

Hình 1-2 quan hệ không đối xứng có hạng k Nhận xét:

 Một quan hệ không đối xứng hạng k có thể được viết thành k quan hệ không đối xứng có hạng 1

Dưới đây là một vài ví dụ về các quan hệ (tính toán) và mô hình biểu diễn tương ứng

Ví dụ 1: Quan hệ f giữa 3 góc A, B, C trong tam giác ABC cho bởi hệ thức:

A+B+C = 180 (đơn vị: độ)

Hình 1-3 Quan hệ các góc trong tam giác

Quan hệ f giữa 3 góc trong một tam giác trên đây là một quan hệ đối xứng có hạng 1

Trang 8

Ví dụ 2: quan hệ f giữa nửa chu vi p với các độ dài của 3 cạnh a, b, c:

Hình 1-4 Quan hệ giữa nửa chu vi với các độ dài

Ví dụ 3: Quan hệ f giữ a n biến x1, x2, , xn được cho dưới dạng một hệ phương

trình tuyến tính có nghiệm Trong trường hợp này f là một quan hệ có hạng k bằng hạng của ma trận hệ số của hệ phương trình

1.3 Mạng tính toán và các ký hiệu

Như đã nói ở trên, ta sẽ xem xét các mạng tính toán bao gồm một tập hợp các biến M và một tập hợp các quan hệ (tính toán) F trên các biến Ta gọi một mạng

tính toán một cách vắn tắt là một MTT, và trong trường hợp tổng quát có thể viết:

M =  x1,x2, ,xn  , F =  f1,f2, ,fm 

Đối với mỗi f  F, ta ký hiệu M(f) là tập các biến có liên hệ trong quan hệ f

Dĩ nhiên M(f) là một tập con của M: M(f)  M Nếu viết f dưới dạng f: u(f)  v(f) thì ta có M(f) = u(f)  v(f)

Ví dụ 4:

Trong ví dụ 1 ở trên, ta có M(f) =  A,B,C 

Trong ví dụ 2 ở trên, ta có M(f) =  a,b,c,p 

Trang 9

Trong ví dụ 3 ở trên, ta có M(f) =  x1, x2, , xn 

Ví dụ 5: Mạng tính toán cho một hình chữ nhật

Việc tính toán trên một hình chữ nhật liên quan đến một số giá trị của hình chữ nhật như sau:

b1, b2: hai cạnh của hình chữ nhật;

d: đường chéo của hình chữ nhật;

s: diện tích của hình chữ nhật;

p: chu vi của hình chữ nhật;

trong đó mỗi biến đều có giá trị là thuộc tập các số thực dương Giữa các biến ta đã biết có các quan hệ sau đây:

f1: s = b1 * b2;

f2: p = 2 * b1 + 2 * b2;

f3: d2 = b12 + b22;

các quan hệ này đều là các quan hệ đối xứng có hạng 1

Như vậy tập biến và tập quan hệ của mạng tính toán này là M =  b1, b2, d, s,

p  , F =  f1, f2, f3

Trang 10

1.4 Vấn đề trên mạng tính toán

Cho một mạng tính toán (M, F), M là tập các biến và F là tập các quan hệ Giả

sử có một tập biến A  M đã được xác định (tức là tập gồm các biến đã biết trước giá trị), và B là một tập biến bất kỳ trong M

Các vấn đề đặt ra là:

 Có thể xác định được tập B từ tập A nhờ các quan hệ trong F hay không? Nói cách khác, ta có thể tính được giá trị của các biến thuộc B với giả thiết đã biết giá trị của các biến thuộc A hay không?

 Nếu có thể xác định được B từ A thì quá trình tính toán giá trị của các biến thuộc

B như thế nào?

 Trong trường hợp không thể xác định được B, thì cần cho thêm điều kiện gì để có thể xác định được B

Bài toán xác định B từ A trên mạng tính toán (M, F) được viết dưới dạng A 

B, trong đó A được gọi là giả thiết, B được gọi là mục tiêu tính toán (hay tập biến cần tính) của vấn đề Trường hợp tập B chỉ gồm có một phần tử b, ta viết vắn tắt bài toán trên là A  b

Định nghĩa 2.1:

Bài toán A  B được gọi là giải được khi có thể tính toán được giá trị

các biến thuộc B xuất phát từ giả thiết A Ta nói rằng một dãy các quan hệ 

f1, f2, , fk   F là một lời giải của bài toán A  B nếu như ta lần lượt áp dụng các quan hệ fi (i=1, ,k) xuất phát từ giả thiết A thì sẽ tính được các biến thuộc B Lời giải  f1, f2, , fk  được gọi là lời giải tốt nếu không thể bỏ bớt một số bước tính toán trong quá trình giải, tức là không thể bỏ bớt một số

Trang 11

quan hệ trong lời giải Lời giải được gọi là lời giải tối ưu khi nó có số bước tính toán ít nhất, tức là số quan hệ áp dụng trong tính toán là ít nhất

Việc tìm lời giải cho bài toán là việc tìm ra một dãy quan hệ để có thể

áp dụng tính ra được B từ A Điều này cũng có nghĩa là tìm ra được một quá trình tính toán để giải bài toán

Trong quá trình tìm lời giải cho bài toán chúng ta cần xét một dãy quan

hệ nào đó xem có thể tính thêm được các biến từ một tập biến cho trước nhờ dãy quan hệ này hay không Do đó chúng ta đưa thêm định nghĩa sau đây

Định nghĩa 2.2 :

Cho D =  f1, f2, , fk  là một dãy quan hệ của mạng tính toán (M, F),

A là một tập con của M Ta nói dãy quan hệ D là áp dụng được trên tập A khi

và chỉ khi ta có thể lần lượt áp dụng được các quan hệ f1, f2, , fk xuất phát từ giả thiết A

Nhận xét : Trong định nghĩa trên, nếu đặt : A0 = A, A1 = A0 M(f1), , Ak = Ak-1  M(fk), và ký hiệu Ak là D(A), thì ta có D là một lời giải của bài toán A  D(A) Trong trường hợp D là một dãy quan hệ bất kỳ (không nhất thiết là áp dụng được trên A), ta vẫn ký hiệu D(A) là tập biến đạt được khi lần lượt áp dụng các quan hệ trong dãy D (nếu được) Chúng ta có thể nói rằng D(A) là sự mở rộng của tập A nhờ áp dụng dãy quan hệ D

Thuật toán tính D(A) :

Nhập : Mạng tính toán (M,F),

Trang 12

dãy các quan hệ D = { f1, f2, , fm} Xuất : D(A)

Thuật toán :

B1 A’  A;

B2 for i=1 to m do

if fi áp dụng được trên A’ then

A’  A’  M(fi);

B3 D(A)  A’

Trang 13

Chương 2 GIẢI BÀI TOÁN TAM GIÁC

Để giải bài toán tam giác ta áp dụng mạng tính toán gồm 2 thành phần

(M, F) Trong đó:

M = {x1,x2, ,xn} là tập hợp các biến của đối tượng

F = {f1, f2, , fm} là tập hợp các quan hệ (tính toán) trên các biến

2.1 Yêu cầu bài toán

Khi ta cho biết một số yếu tố của tam giác và yêu cầu tính ra một số yếu tố khác, chương trình sẽ cho chúng ta một lời giải (nếu bài toán là giải được) Trong trường hợp bài toán không giải được thì chương trình sẽ thông báo để ta cho thêm dữ kiện hoặc điều chỉnh lại bài toán

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à chu vi của tam giác Như vậy ta có:

Input : a, , 

Output : b, c, p

Ví dụ 2:

Trong tam giác, giả sử đã biết cạnh b, cạnh c, góc  Hãy tính chiều dài cạnh a của tam giác Như vậy ta có:

Input : b, c, 

Output : a

2.2 Cấu trúc dữ liệu

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ố đó

Trong đó:

- a, b, c: 3 cạnh của tam giác

- , , : 3 góc đối diện với 3 cạnh tương ứng trong tam giác

- ha, hb, hc: 3 đường cao tương ứng với 3 cạnh của tam giác

Trang 14

- R: bán kính đường tròn ngoại tiếp

- S: diện tích tam giác

- p: nửa chu vi của tam giác

Trong đó gồm các hệ thức cơ bản giữa các yếu tố của tam giác như:

- Liên hệ giữa 3 góc :

f1:  +  +  =  (radian)

- Định lý cosin :

f2: a2 = b2 + c2 - 2.b.c.cos

f3: b2 = a2 + c2 - 2.a.c.cos

f4 c2 = a2 + b2 - 2.a.b.cos

- Định lý Sin :

sin

b sin

sin

b sin

sin

c sin

sin   2R

sin   2R

f10: c

sin   2R

- Liên hệ giữa nửa chu vi và 3 cạnh :

f11: 2.p = a + b + c

- Các công thức tính diện tích :

f12: S = a.ha/2

f13: S = b.hb/2

f14: S = c.hc/2

- Các công thức tính đường cao theo cạnh và góc:

f15: ha = b.sin

f16: ha = c.sin

f17: hb = a.sin

f18: hb = c.sin

Trang 15

f19: hc = a.sin

f20: hc = b.sin

2.3 Thuật giải

Input: Mạng tính toán (M, F),

Tập giả thiết Hypos  M,

Tập biến cần tính Goals  M

Output: Lời giải cho bài toán Hypos  Goals

Thuật toán:

B1:Solutions  empty; // Solutions là dãy các quan hệ sẽ áp dụng

_Hypos  Hypos;

B2: if Goals Hypos then

begin

solutionFound  true; // biến solutionFound= true khi bài toán là

// giải được

goto 4;

end else

solutionFound  false;

B3: Repeat

Aold  _Hypos;

Chọn ra một f  F chưa xem xét;

while not solutionFound and (chọn được f) do begin

if (f đối xứng and 0 < Card (M(f) \ _Hypos) r(f) ) or (f không đối xứng and   M(f) \ _Hypos  v(f) ) then begin

_Hypos  _Hypos  M(f);

Solutions  Solutions f;

end;

if Goals _Hypos then

solutionFound  true;

Chọn ra một f  F chưa xem xét;

Trang 16

Until solutionFound or (_Hypos = Aold);

B4: if not solutionFound then

Bài toán không có lời giải;

else

Solutions là một lời giải;

2.4 Ví dụ

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à chu vi của tam giác Như vậy ta có:

Input : a, , 

Output : b, c, p

Á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:

  →     →

→ →

Ví dụ 2:

Trong tam giác, giả sử đã biết cạnh b, cạnh c, góc  Hãy tính chiều dài cạnh a của tam giác

Input : b, c, 

Output : a

Trang 17

Á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 :

 → 

→ 

→  →      → 

Trang 18

TÀI LIỆU THAM KHẢO

[1] Nhon Do Van, A system supports studying knowlegde and solving analytic Geometry problems P.O.Box 3058 - Macau, 2000

Educational software Wuhan, P R China, August 22-23, 2009

in an Educational Software Wuhan, P R China, August 22-23, 2009

[4] Hoàng Kiếm, Đỗ Văn Nhơn – Mở rộng và phát triển mô hình tri thức các đối tượng tính toán – Kỷ hiếu hội thảo Quốc gia – Đà Nẵng 18-20 tháng 8 năm 2004

[5] Hoàng Kiếm, Đỗ Văn Nhơn (2005), Mở rộng và phát triển mô hình tri thức các đối tượng tính toán, Nhà xuất bản Khoa Học Kỹ Thuật

Ngày đăng: 10/04/2015, 08:06

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Nhon Do Van, A system supports studying knowlegde and solving analytic Geometry problems. P.O.Box 3058 - Macau, 2000 Khác
[2] Nhon Do Van, Extensive Computational Networks and Applying in an Educational software. Wuhan, P. R. China, August. 22-23, 2009 Khác
[3] Nhon Do Van, Tam Pham Huu, The Extensive C-Objects Network And Applying in an Educational Software. Wuhan, P. R. China, August. 22-23, 2009 Khác
[4] Hoàng Kiếm, Đỗ Văn Nhơn – Mở rộng và phát triển mô hình tri thức các đối tượng tính toán – Kỷ hiếu hội thảo Quốc gia – Đà Nẵng 18-20 tháng 8 năm 2004 Khác
[5] Hoàng Kiếm, Đỗ Văn Nhơn (2005), Mở rộng và phát triển mô hình tri thức các đối tượng tính toán, Nhà xuất bản Khoa Học Kỹ Thuật Khác

TỪ KHÓA LIÊN QUAN

w