Được sự gợi ý của Thầy PGS TS Đỗ Văn Nhơn, tôi xin thực hiện đề tài "Tìm hiểu các phương pháp giải toán bằng maple” nhằm vận dụng các kiến thức về lập trình symbolic bằng maple để giải c
Trang 1M c l c: ục lục: ục lục:
Chương I GIẢI CÁC BÀI TOÁN BIỆN LUẬN THEO THAM SỐ M 2
1.1 Các bài toán biện luận theo tham số m tiêu biểu 2
1.1.1 Giải và biện luận hệ phương trình bậc 1, 2 ẩn 2
1.1.2 Giải và biện luận phương trình bậc 2, 1 ẩn số 5
1.1.3 Biện luận vị trí tương đối của đường thẳng so với mặt phẳng trong hình học giải tích không gian 7
Chương II ÁP DỤNG TRÍ TUỆ NHÂN TẠO TRONG GIẢI TOÁN VỚI MAPLE 11
1.1 Các bài toán áp dụng trí tuệ nhân tạo 11
1.1.1 Suy diễn tiến trên các hệ luật dẫn cơ bản 11
1.1.2 Giải bài tập tam giác dựa vào mạng tính toán 13
Chương III Cài Đặt Và Chạy Thử Nghiệm 16
1.1 Giới Thiệu Về Maple 16 16
1.1.1 Giao diện maple và quá trình thực các demo 16
KẾT LUẬN VÀ KIẾN NGHỊ 18
Chương IV TÀI LIỆU THAM KHẢO 19
Trang 1
Trang 2LỜI MỞ ĐẦU
Trong quá trình học môn lập trình symbolic, được sự giảng dạy và hướng dẫn của Thầy PGS TS Đỗ Văn Nhơn, tôi đã được Thầy giới thiệu về môn học này cũng như cách lập trình symbolic bằng maple Được sự gợi ý của Thầy PGS TS Đỗ Văn
Nhơn, tôi xin thực hiện đề tài "Tìm hiểu các phương pháp giải toán bằng maple” nhằm vận dụng các kiến thức về lập trình symbolic bằng maple để giải các
bài toán đại số và hình học tiêu biểu
Xin chân thành cám ơn Thầy PGS TS Đỗ Văn Nhơn đã tận tình giảng dạy, định hướng và hướng dẫn tôi trong suốt môn học “Lập Trình Symbolic”
Học viên Nguyễn Xuân Nghề
Trang 3Chương I GIẢI CÁC BÀI TOÁN BIỆN LUẬN THEO THAM SỐ M
Trong phần này sẽ tìm hiểu các phương pháp giải các bài toán biện luân theo tham
số m bằng maple Đó là cái bài toán về phương trình, hệ phương trình và hình học giải tích không gian
1.1 Các bài toán biện luận theo tham số m tiêu biểu
1.1.1 Giải và biện luận hệ phương trình bậc 1, 2 ẩn
a/ Phân tích bài toán:
Là hệ phương trình có dạng
a1x + b1y = c1
a2x + b2y = c2
với (a12 + b12 # 0, a22 + b22 # 0)
Giải theo phương pháp ma trận định thức
Ta xác định định thức:
Trang 4Xét D Kết quả
D ≠ 0
Hệ phương trình có nghiệm duy nhất
{x=Dx/D; y=Dy/D}
D = 0 Dx ≠ 0 hoặc Dy ≠ 0 Hệ vô nghiệm
Dx = Dy = 0 Hệ có vô số nghiệm
b/ Hàm giải :
“hephuongtrinhbac1
”
gồm 4 thành phần:
- Hệ phương trình bậc 1 (2 ẩn số, 1 tham số);
Ví dụ: { 2x + my – 2 = 0; mx + (m1)y – m -1=0}
- Tên ẩn trong phương trình: (x), (y)
bài giải của bài toán
c/ Ví dụ:
Tìm m để hệ phương trình bậc 1, 2 ẩn, 1 tham số sau:
{ 2x + my – 2 = 0; mx + (m-1)y – m -1=0}
Bài giải của chương trình:
D= 2m - 2 – m2 , Dx = - m + 2 ; Dy = 2m – 2
Với “ m khác (D=0) 1- I, 1 +I ; thì pt có nghiệm duy nhất
{ x = ( - m + 2 / 2m – 2 – m2) ; y = ( 2m – 2 / 2m – 2 – m2 )}
Trang 5Với m1 = (-1 + I, -1 – I) + 2, m2 = (2 - 2I, 2 + 2I) -2
Dx = (-1 + I, -1 – I) + 2 < > 0; Dy = (2 - 2I, 2 + 2I) -2 < > 0 ; thì pt vô nghiệm
d/ Thủ Tục:
Trang 6>
1.1.2 Giải và biện luận phương trình bậc 2, 1 ẩn số
a/ Phân tích bài toán:
Biện luận nghiệm của phương trình theo tham số cho trước là phương trình
bậc 2 một ẩn số (có tham số) có dạng: “ax2 + bx + c = 0” Có tham số (m) cho
trước và yêu cầu tìm (m) để phương trình đã cho có khả năng xảy ra 3 trường hợp:
Có 2 nghiệm phân biệt, Có nghiệm kép và Vô nghiệm
Phương pháp giải theo chương trình sách giáo khoa toán của Bộ Giáo Dục
b/ Hàm giải :
“phuongtrinhbac2”
gồm 2 phần:
- Phương trình bậc 2 (1 ẩn số) có tham số m ;
Ví dụ: (3-m)x 2 +2mx+m+2 = 0
- Yêu cầu: có nghiệm duy nhất, có nghiệm kép, có
2 nghiệm phân biệt và vô nghiệm.
bài giải của bài toán
c/ Ví dụ:
Trang 7Tìm m để phương trình: (3-m)x2 - 2mx + m + 2 = 0 ; có nghiệm duy nhất; có 2 nghiệm phân biệt, có nghiệm kép và vô nghiệm
Bài giải của chương trình:
Ta có: “ax2 + bx + c = 0” , với
“a=”, 3 – m
“b=”, 2m
“c=”, m + 2
Phương trình có nghiệm duy nhất với m khi { a= 0}
Vậy: "với m = 3", " thì pt có nghiệm duy nhất" = 5/6
delta = b2 – 4*a*c = 4m2 - 4(3-m)(m+2)
Phương trình có 2 nghiệm (delta > 0) với m thuộc khoảng
Phương trình vô nghiệm (delta < 0) với m thuộc khoảng
Phương trình có nghiệm kép (delta =0) với m = (2) x1=x2=-2 hoặc (-3/2) x1=x2=1/3
d/ Source code – Kết quả:
(xem source code chương trình demo)
>
Trang 8Khi a khac 0, hay m khac 3[1]Delta tinh theo ts:8*m^2-24-4*m Khi m bang 2 thi phuong trinh nghiem kep -2
Khi m bang -3/2 thi phuong trinh nghiem kep 1/3
Khi m thuoc RealRange(-infinity,Open(-3/2)) hoac
RealRange(Open(2),infinity)thi phuong trinh co 2 nghiem la: 1/2*(-2*m+2*(2*m^2-6-m)^(1/2))/(3-m) va 1/2*(-2*m-2*(2*m^2-6-m)^(1/2))/(3-m)
Khi m thuoc doan RealRange(Open(-3/2),Open(2))[1] hoac RealRange(Open(-3/2),Open(2))[2] thi phuong trinh vo nghiem!
1.1.3 Biện luận vị trí tương đối của đường thẳng so với mặt phẳng trong hình học giải tích không gian.
a/ Phân tích bài toán:
Là bài toán có dạng: trong không gian Oxyz, cho đường thẳng d: {ax + by + cz=0; a1x + b1y+c1z=0} và mặt phẳng P có dạng: a2x+b2y+c2z + d = 0 Có tham số (m) cho trước, tìm m để đường thẳng vuông góc, hoặc cắt hoặc song song với mặt phẳng
Phương pháp giải dựa vào định lý sau:
Trang 9b/ Hàm giải :
“vttd_ts”
gồm 2 phần:
Ví dụ:
bài giải của bài toán
c/ Ví dụ:
Trong không gian Oxyz, cho đường thẳng d:
và mặt phẳng:
Trang 10Tìm m để đường thẳng vuông góc hoặc cắt hoặc song song với mặt phẳng.
Bài giải của chương trình:
Tính vector chỉ phương của đường thẳng: n=[1,3,-2]
Tính vector pháp tuyến của mặt phẳng:vt=[-7m-3-6m2, -1, 1+2m]
Tính tích từng đôi một t1=n*vt=-8-11m-6m2
Giải hệ phương trình định thức:
tn1={} => không có giá trị nào của m để đường thẳng vuông góc với mặt phẳng
Tính tn=solve(t1, m): tìm m khi giải phương trình t1=0
tn =
=> với m không thuộc tn, thì đường thẳng cắt nhưng không vuông góc với mặt phẳng
=> với m thuộc tn, thì đường thẳng song song với mặt phẳng
d/ Source code:
(xem source code chương trình demo)
Trang 12TRONG GIẢI TOÁN VỚI MAPLE
1.2 Các bài toán áp dụng trí tuệ nhân tạo
1.1.1 Suy diễn tiến trên các hệ luật dẫn cơ bản
a/ Phát biểu vấn đề:
Mô hình của hệ luật dẫn đơn giản gồm 2 tập [F,R] Tập F: tập sự kiện là quan
hệ hai đối tượng, liên hệ 2 đối tượng, gồm mệnh đề và gán biến cho mệnh đề… Tập R: tập luật dẫn, là một tập hợp mà các phần tử là luật dẫn một luật dẫn có dạng if(GT) then <KL> GT và KL là tập con của F
Giả sử có một tập giả thuyết cho trước H(con của F) và ta muốn suy ra một tập mục tiêu G(con của F) Hãy tìm các luật dẫn mà chúng ta có thể suy ra từ H->G Đây là bài toán tìm lời giải cho bài toán suy diễn
Ví dụ: trong tam giác ta có các tập sau:
Facts := {R, S, a, b, c, p};
Rules := {[{c}, {R}], [{S, a}, {b}], [{S, b}, {a}], [{a, b}, {S}], [{a, b}, {c}], [{a, b}, {p}]};
- a, b: cạnh
- c: đường chéo
- S: diện tích
- p: chu vi
- R: bán kính đường tròn ngoại tiếp
b/ Thuật giải:
Tìm luật để áp dụng, check GT có nằm trong H và KL ko nằm trong H, ghi nhớ luật áp dụng, ghi nhận thêm sự kiện mới suy ra được từ luật đó
Trang 12
Trang 13B1 Khởi tạo: Solution:=[];
Fknown:=[];
B2 While(chưa đạt được mục tiêu G) do
{
2.1tìm luật r thuộc R có thể áp dụng trên Fknown
2.2iF (không tìm được r) then
dừng: không tìm được lời giải else
2.3 thêm r vào danh sách Solution, them kl(r) vào Knows
}end do
B3 Tìm được lời giải Solution
c/ ví dụ
Ví dụ: trong tam giác ta có các tập sau:
Facts := {R, S, a, b, c, p};
Rules := {[{c}, {R}], [{S, a}, {b}], [{S, b}, {a}], [{a, b}, {S}], [{a, b}, {c}], [{a, b}, {p}]};
Cho tập giả thuyết có 2 cạnh a và b:GT = {a,b} và tập mục tiêu là bán kính đường tròn ngoại tiếp R: MT={R} Áp dụng phương pháp suy diễn tiến ta được tập Solution=[[{a,b},{S}],[{a,b}, {c}], [{c},{R}]] Như vậy từ {a,b}=>{c}=>R Tập [{a,b}, S] là luật thừa, hệ thống sẽ tiếp tục cập nhật loại bỏ luật thừa trong giải thuật này
c/ Source code – Kết quả
Trang 14>
1.1.2 Giải bài tập tam giác dựa vào mạng tính toán
a/ Phát biểu vấn đề:
Các bài toán sử dụng mô hình mạng tính toán là các bài toán khi chúng ta biết một vài thuộc tính và muốn tính toán vài thuộc tính khác Trong phần này, trên một tam giác, cho biết giá trị của một vài yếu tố và tính các yếu tố còn lại
Ví dụ bài toán: ta có các công thức Formula = S=a*b, p=2*(a+b), c2=a2+b2, R=c/2 GT:={a=3, b=4} KL:={R}
b/Giải thuật
Chúng ta sẽ áp dụng các công thức trong Formula, và tập Fknown sẽ ghi lại các biến đã biết Ta tìm luật để áp dụng bằng cách kiểm tra GT có nằm trong danh sách các đẳng thức H và KL không nằm trong H Cụ thể giải thuật như sau:
Trang 15B1 Solution:=[]; \\ danh sách các công thức
Fknown:=H \\ danh sách đẳng thức mà cho biết biến bằng bao nhiêu
B2 While (G không nằm trong tập biến vế trái của Fknown) do
// ta dùng hàm map để lấy vế trái biểu thức map(x->lhs(x), Fknown)
{
2.1 Tìm luật f thuộc Fomular có thể áp dụng trên Fknown 2.2 if (khong tìm được f) then
# Dừng: không tìm được lời giải
Else
2.3 thêm f vào danh sách Solution Xác định tập biến mới: tính ra Vnew=V(f)->V(FKnown)
Thay thế và giải :newfact = := solve(subs(Fknown, f), Vnew);
Fknowns: = Fknowns union solve (Subs(Fknowns, f), Vnew))
B3 Tìm được lời giải Solution
}end do
c/Ví dụ
Ví dụ bài toán: ta có các công thức Formula = S=a*b, p=2*(a+b), c2=a2+b2, R=c/2 GT:={a=3, b=4} KL:={R}
Cho tập giả thuyết có 2 cạnh a và b:GT = {a=3,b=4} và tập kết luận là bán kính đường tròn ngoại tiếp R: KL={R} Áp dụng phương pháp mạng tính toán ta được tập Solution={R=-5/2, S=12, a=3, b=4, c=-5, c=5, p=14} Như ta đã tính được R
d/Source code – Kết quả
Trang 16>
Trang 17Chương III Cài Đặt Và Chạy Thử Nghiệm
1.3 Giới Thiệu Về Maple 16
Maple 16 với tính năng trợ lý tương tác, bảng màu, menu ngữ cảnh, gia sư và các công cụ toán học có thể click khác cung cấp cho người dùng giao diện trỏ và click
để giải quyết, hình dung và khám phá các vấn đề toán học Hơn 100 ứng dụng toán học mới cung cấp cái nhìn sâu sắc về các khái niệm toán học, thống kê, vật lý và tài chính, các thuật toán thống kê và trực quan hóa mới và hiệu suất tính toán nhanh hơn với việc sử dụng đa lõi và đa luồng Maple 16 có sẵn tiếng Anh và Nhật Bản, với phần mở rộng gói ngôn ngữ hỗ trợ tiếng Bồ Đào Nha Pháp, Trung Quốc, Tây Ban Nha, Hàn Quốc, Hy Lạp, Hungary và Brazil
Download tại:
http://suphamyenbai.edu.vn/newsdetail.asp?newsid=4095&opt=24
1.1.1 Giao diện maple và quá trình thực các demo
Mở và thực thi maple 16, giao diện như sau:
(mở file thực thi tại folder: NGUYENXUANNGHE_LT_SYMBOLIC\ source code\ cacbaitoanbienluan.mws HOẶC
cacbaitoantrituenhantao.mws)
Trang 18Hình 1: Giao Diện Và Thực Thi Một Chương Trình Maple 16
Click vào đây để thực thi chương trình
Trang 19KẾT LUẬN VÀ KIẾN NGHỊ
Qua thời gian tìm hiểu bài viết đã đáp ứng được yêu cầu “Tìm hiểu các phương pháp giải toán bằng maple”, tìm hiểu các phương pháp giải toán các bài tập đại
số, hình học tiêu biểu Đã làm quen và lập trình với ngôn ngữ maple và vận dung
ngôn ngữ này trong việc giải quyết các vấn đề trên Tác giả cũng đã cài đặt tất cả chương trình demo để minh họa cho bài viết
Hướng phát triển tới là tiếp tục nghiên cứu và cài đặt ngôn ngữ maple trong việc
giải các bài toán hình học và đại số với các mô hình Mạng các đối tượng tính toán và mô hình tri thức các đối tượng tính toán - COKB (Computational Objects Knowledge Base) Ngoài lĩnh vực trong toán học sẽ tiếp tục nghiên cứu sử dụng các mô hình tri thức này trong các lĩnh vực khác. Kính mong Thầy góp ý cho bài viết của tôi được hoàn thiện hơn
Cám ơn sự giảng dạy và hướng dẫn của Thầy trong suốt thời gian qua
Học viên Nguyễn xuân nghề
Trang 20Chương IV TÀI LIỆU THAM KHẢO
[1] Đỗ Văn Nhơn, Bài giảng lập trình symbolic, Đại Học Quốc Gia TPHCM
[2] Hoàng Kiếm, Đỗ Văn Nhơn(1996), Mạng tính tóan và ứng dụng, Đại Học
Quốc Gia TPHCM
[3] Giáo trình toán đại số, hình học, hình học giải tích không gian cấp 2&3, Bộ Giáo Dục
[4] http://www.maplesoft.com/