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

Xây Dựng Ứng Dụng Giải Toán Tự Động Giải Bài Toán Tam Giác Trên Maple

12 932 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 12
Dung lượng 396,5 KB

Nội dung

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH CHƯƠNG TRÌNH ĐẠO TẠO THẠC SĨ CNTT QUA MẠNG ________________ BÀI THU HOẠCH MÔN HỌC LẬP TRÌNH SYMBOLIC VÀ ỨNG DỤNG Đề Tài: Xây Dựng Ứng Dụng Giải Toán Tự Động Giải Bài Toán Tam Giác Trên Maple Giảng viên phụ trách: PGS.TS. Đỗ Văn Nhơn Học viên thực hiện: Trần Thanh Quốc Thắng MSSV: CH1101131 TP. HCM, 2013 MỤC LỤC MỤC LỤC 2 Phần 1: Giới Thiệu Về Maple 3 Phần 2: Ứng Dụng Giải Bài Toán Tam Giác Trên Maple 4 I. Phát biểu bài toán tam giác 4 II. Các bước giải bài toán tam giác 4 III. Một số hàm của Maple và phương pháp được áp dụng trong chương trình. .8 IV. Một số mẫu thử và kết quả của chương trình 8 V. Đánh giá chương trình và các đề xuất cải tiến chương trình 9 1. Đánh giá 9 2. Cải tiến 10 Tài liệu tham khảo 12 ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH CHƯƠNG TRÌNH ĐẠO TẠO THẠC SĨ CNTT QUA MẠNG Phần 1: Giới Thiệu Về Maple Maple là phần mềm toán học được dùng trong lập trình symbolic hay lập trình hình thức là phương pháp lập trình dựa trên việc tính toán hình thức trong toán học. Maple do Đại Học Tổng HợpWaterloo (Canada) xây dựng và đưa vào sử dụng năm 1985. Sau nhiều lần cải tiến và phát triển qua nhiều phiên bản khác nhau và ngày càng được hoàn thiện. Maple có thể chạy được trên nhiều hệ điều hành. Từ phiên bản 7, Maple cung cấp ngày càng nhiều các công cụ trực quan, các gói lệnh tự học gắn liền với toán phổ thông, đại học và các tính toán chuyên ngành. Chức năng chính của Maple: • Thực hiện các tính toán với khối lượng lớn, với thời gian nhanh và độ chính xác cao. • Sử dụng các gói chuyên dụng của Maple để giải quyết các bài toán cụ thể như: vẽ đồ thị, hình học giải tích, đại số tuyến tính, giải tích, phương trình vi phân, lý thuyết số, dữ liệu rời rạc… • Thiết kế các đối tượng 3 chiều. • Minh họa hình học: vẽ đồ thị tĩnh và động của các đường và mặt được cho bởi các hàm tùy ý trong nhiều hệ tọa độ khác nhau. • Tính toán trên các biểu thức đại số. • Có khả năng tương tác với các ngôn ngữ lập trình khác. MÔN HỌC: LẬP TRÌNH SYMBOLIC VÀ ỨNG DỤNG 3 ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH CHƯƠNG TRÌNH ĐẠO TẠO THẠC SĨ CNTT QUA MẠNG Phần 2: Ứng Dụng Giải Bài Toán Tam Giác Trên Maple I. Phát biểu bài toán tam giác Giả sử ta có một tập 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 tam giác như sau: Fomula:={A+B+C=π, p=(a+b+c)/2, S=sqrt(p*(p-a)*(p-b)*(p-c))} Trong đó: A, B, C: là các góc của tam giác a, b, c: là các cạnh của tam giác p: là chu vi của tam giác S: là diện tích của tam giác Ý tưởng chính của ứng dụng là người dùng sẽ nhập vào một tập giả thiết gồm các giá trị đã biết của một số yếu tố trong tam giác và một tập mục tiêu bao gồm các yếu tố mà người dùng muốn biết. Ứng dụng sau đó sẽ tính toán và xuất ra giá trị của các yếu tố mà người dùng muốn biết, đồng thời ứng dụng cũng sẽ xuất ra các công thức mà ứng dụng đã sử dụng để tính toán ra các giá trị đó. Ví dụ: Input của chương trình là: - Tập giả thiết: GT:={a=5, b=4, c=3} - Tập mục tiêu: MT:={S, p} Output của chương trình là: - Tập các công thức dùng trong việc tính toán để tìm ra tập mục tiêu: Sol:=[] - Tập các yếu tố đã tính toán được: FactsKnown:=[] Hàm tính toán là: - TamGiac(GT, MT) II. Các bước giải bài toán tam giác Các bước chính trong việc xây dựng ứng dụng giải bài toán tam giác bao gồm: Bước 1: Xây dựng tập Fomula gồm các công thức liên hệ tính toán giữa các yếu tố trong tam giác • Liên hệ giữa 3 góc: MÔN HỌC: LẬP TRÌNH SYMBOLIC VÀ ỨNG DỤNG 4 ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH CHƯƠNG TRÌNH ĐẠO TẠO THẠC SĨ CNTT QUA MẠNG f 1 : A + B + C = π • Định lý cosin: f 2 : a 2 = b 2 + c 2 - 2.b.c.cosA f3 : b 2 = a 2 + c 2 - 2.a.c.cosB f4 : c 2 = a 2 + b 2 - 2.a.b.cosC • Định lý sin: f 5 : sinB b sinA a = f 6 : sinB b sinC c = f 7 : sinC c sinA a = f 8 : 2R sinA a = f 9 : 2R sinB b = f 10 : 2R sinC c = • 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.ha/2 f 13 : S = b.hb/2 f 14 : S = c.hc/2 f 15 : S = p.r f 16 : S = p(p a)(p b)(p c)− − − f 17 : S = b.c.sinA / 2 f 18 : S = c.a.sinB / 2 f 19 : S = a.b.sinC / 2 • Các công thức tính đường cao theo cạnh và góc: f 20 : ha = b.sinC f 21 : ha = c.sinB f 22 : hb = a.sinC MÔN HỌC: LẬP TRÌNH SYMBOLIC VÀ ỨNG DỤNG 5 ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH CHƯƠNG TRÌNH ĐẠO TẠO THẠC SĨ CNTT QUA MẠNG f 23 : hb = c.sinA f 24 : hc = a.sinB f 25 : hc = b.sinA • Các công thức tính các đường trung tuyến: f 26 : 4.ma 2 = 2.b 2 + 2.c 2 - a 2 f 27 : 4.mb 2 = 2.a 2 + 2.c 2 - b 2 f 28 : 4.mc 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 : pa = 2 b c b.c.p.(p a) + − f 30 : pb = 2 a c a.c.p.(p b) + − f 31 : pc = 2 b a b.a.p.(p c) + − • Một số công thứ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 bang tiếp: f 32 : R = a.b.c 4.S f 33 : ra = S p - a f 34 : rb = S p - b f 35 : rc = S p - c f 36 : 4.R = ra + rb + rc – r Trong đó: • a, b, c: 3 cạnh của tam giác. • A, B, 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. • ma, mb, mc: 3 đường trung tuyến tương ứng với 3 cạnh của tam giác. • pa, pb, pc: 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. MÔN HỌC: LẬP TRÌNH SYMBOLIC VÀ ỨNG DỤNG 6 ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH CHƯƠNG TRÌNH ĐẠO TẠO THẠC SĨ CNTT QUA MẠNG • r: bán kính tròn nội tiếp tam giác. • ra, rb, rc: các bán kính của các đường tròn bang tiếp tam giác. Xây dựng các biến chính của chương trình gồm: • Biến Sol: dùng để lưu lại các công thức được áp dụng trong quá trình suy diễn, tính toán nhằm tìm ra lời giải của bài toán. • Biến FactsKnown: dùng để lưu lại các yếu tố của tam giác trong tập giả thiết và các yếu tố mới thu được trong quá trình suy diễn, tính toán. Ví dụ: Với tập giả thiết của bài toán là: GT:={a=5, b=4, c=3} Khi đó tập FactsKnown ban đầu là: FactsKnown:={a=5, b=4, c=3} Chương trình sẽ tự động tìm kiếm và áp dụng công thức f 11 để tính toán và tạo ra một tập FactsKnown mới: FactsKnown:={a=5, b=4, c=3, p=6} Bước 2: Thực hiện suy diễn, tính toán để tìm ra các yếu tố trong tập mục tiêu: (1) Khi MT không nằm trong FactsKnown thì thực hiện (2) Tìm một công thức f thuộc tập Fomula có thể áp dụng trên tập Facts_known (công thức có thể áp dụng là công thức nhằm bổ sung thêm các yếu tố của tam giác vào tập FactsKnown, như vậy công thức này phải có số toán hạng lớn hơn 1 so với số các yếu tố trong tập FactsKnown và tập này phải là tập hợp con của tập các toán hạng trong công thức f) (3) Nếu không tìm được f thì dừng chương trình, trã về một tập rỗng (4) Nếu tìm được f thì thêm f vào tập Sol (5) Xác định xem yếu tố mới nào sẽ được tính ra (6) Thay thế và tính toán cho yếu tố mới này (7) Bổ sung yếu tố mới này vào tập FactsKnown, sau đó trỡ lại (1) Bước 3: Xuất ra kết quả gồm giá trị của các yếu tố cần tìm và các công thức đã áp dụng nhằm tìm ra các yếu tố đó MÔN HỌC: LẬP TRÌNH SYMBOLIC VÀ ỨNG DỤNG 7 ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH CHƯƠNG TRÌNH ĐẠO TẠO THẠC SĨ CNTT QUA MẠNG III. Một số hàm của Maple và phương pháp được áp dụng trong chương trình Để xác định xem tập mục tiêu MT có nằm trong tập FactsKnown chưa, ta dùng hàm map() và hàm lhs() kết hợp với toán tử subset như sau: MT subset map(x->lhs(x), FactsKnown); Để xác định công thức f nào có thể áp dụng trên tập FactsKnown, trước tiên ta xác định tập giao giữa tập các yếu tố trong tập FactsKnown và tập các toán hạng trong công thức f. Sử dụng hàm indets(), hàm evalb(), hàm nops() và toán tử intersect như sau: tmpf:= indets(f, name); # Tìm các toán hạng trong f tmp:= indets(f, name) intersect map(x->lhs(x), FactsKnown); Xác định xem công thức f này có phù hợp không: tmp subset tmpf and evalb(nops(tmp)=(nops(tmpf)-1)); Biến mới cần tính có thể xác định bằng cách trừ tập tmpf cho tập tmp, sử dụng toán tử minu: Vnew:=tmpf minus tmp; Thay thế và tính toán biến mới này trong công thức f, sử dụng hàm solve() và subs(): NewFact:=solve(subs(FactsKnown, f), Vnew); Ý nghĩa và cách sử dụng các hàm, các toán tử này có thể tham khảo trong Maple. IV. Một số mẫu thử và kết quả của chương trình - Với tập giả thiết GT:={a=5, b=4, p=6} và tập mục tiêu MT:={S}, chương trình cho ra kết quả tính tập Sol: và tập FactsKnown: MÔN HỌC: LẬP TRÌNH SYMBOLIC VÀ ỨNG DỤNG 8 ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH CHƯƠNG TRÌNH ĐẠO TẠO THẠC SĨ CNTT QUA MẠNG - Với tập giả thiết GT:={A=π/6, B=π/3, a=4} và tập mục tiêu MT:={R, ha}, chương trình cho ra kết quả tính tập Sol: và tập FactsKnown: V. Đánh giá chương trình và các đề xuất cải tiến chương trình 1. Đánh giá Chương trình có một số ưu điểm như sau: - Chương trình luôn có thể đưa ra được kết quả tính toán với mọi tập giả thiết và mục tiêu do người dùng nhập vào (trã về một kết quả rỗng nếu không tìm được lời giải) - Mã nguồn dễ đọc và có khả năng mỡ rộng cao vì được viết bằng Maple. MÔN HỌC: LẬP TRÌNH SYMBOLIC VÀ ỨNG DỤNG 9 ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH CHƯƠNG TRÌNH ĐẠO TẠO THẠC SĨ CNTT QUA MẠNG 2. Cải tiến Bên cạnh đó, chương trình vẫn còn một số khuyết điểm cần được cải tiến như: - Kiểm tra giá trị của các biến (các yếu tố của tam giác) trước khi lưu lại, thêm vào các ràng buộc của các biến (ví dụ: độ dài của 1 cạnh thì không âm…) - Áp dụng các đánh giá heuristic để tìm ra được giải pháp tốt nhất (dùng ít công thức nhất) để tìm được kết quả trong tập mục tiêu. - Kết hợp với các ngôn ngữ khác như C#, Java để tạo ra giao diện người dùng. - Mỡ rộng tính toán cho các đối tượng hình học khác. MÔN HỌC: LẬP TRÌNH SYMBOLIC VÀ ỨNG DỤNG 10 [...]... một ứng dụng trí tuệ nhân tạo, áp dụng trong việc giải một bài toán trên một tam giác giúp chúng ta có một cái nhìn mới về một phương pháp mới của việc lập trình tính toán trên máy tính Đề tài này hoàn thành là nhờ chính sự nỗ lực của bản thân, nhưng bên cạnh đó là sự giúp đỡ và hướng dẫn của thầy Đỗ Văn Nhơn cùng các bạn cao học Khoá 06 Tôi chân thành cảm ơn MÔN HỌC: LẬP TRÌNH SYMBOLIC VÀ ỨNG DỤNG... HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH CHƯƠNG TRÌNH ĐẠO TẠO THẠC SĨ CNTT QUA MẠNG Tài liệu tham khảo 1 Bài giảng môn học “Lập Trình Symbolic và Ứng Dụng Giảng viên : PGS.TS Đỗ Văn Nhơn Chương trình đào tạo thac sĩ CNTT qua mạng 2 http://www.maplesoft.com/support/help/ MÔN HỌC: LẬP TRÌNH SYMBOLIC VÀ ỨNG DỤNG 12 . Thiệu Về Maple 3 Phần 2: Ứng Dụng Giải Bài Toán Tam Giác Trên Maple 4 I. Phát biểu bài toán tam giác 4 II. Các bước giải bài toán tam giác 4 III. Một số hàm của Maple và phương pháp được áp dụng. CNTT QUA MẠNG ________________ BÀI THU HOẠCH MÔN HỌC LẬP TRÌNH SYMBOLIC VÀ ỨNG DỤNG Đề Tài: Xây Dựng Ứng Dụng Giải Toán Tự Động Giải Bài Toán Tam Giác Trên Maple Giảng viên phụ trách: PGS.TS SYMBOLIC VÀ ỨNG DỤNG 3 ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH CHƯƠNG TRÌNH ĐẠO TẠO THẠC SĨ CNTT QUA MẠNG Phần 2: Ứng Dụng Giải Bài Toán Tam Giác Trên Maple I. Phát biểu bài toán tam giác Giả sử

Ngày đăng: 10/04/2015, 00:52

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w