ỨNG DỤNG MAPLE XÂY DỰNG HỆ THỐNG GIẢI TOÁN LỚP 12

16 843 1
ỨNG DỤNG MAPLE XÂY DỰNG HỆ THỐNG GIẢI TOÁN LỚP 12

Đ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

Đại Học Quốc Gia TP.HCM Trường Đại Học Công Nghệ Thông Tin BÁO CÁO CHUYÊN ĐỀ LẬP TRÌNH SYMBOLIC CHO TRÍ TUỆ NHÂN TẠO ĐỀ TÀI: ỨNG DỤNG MAPLE XÂY DỰNG HỆ THỐNG GIẢI TOÁN LỚP 12 GVHD: PGS. TS Đỗ Văn Nhơn Học viên: Trịnh Duy Sâm Mã số: CH1001097 Lớp: Cao học khóa 6 Bình Dương – 01/2013 MỤC LỤC  MỤC LỤC 2 LỜI MỞ ĐẦU 3 PHẦN I. GIỚI THIỆU MAPLE 4 PHẦN II. LÝ THUYẾT VỀ KHẢO SÁT HÀM SỐ 10 PHẦN III. ỨNG DỤNG MAPLE GIẢI BÀI TOÁN KHẢO SÁT HÀM SỐ 11 KẾT LUẬN 15 15 TÀI LIỆU THAM KHẢO 16 Trang: 2 LỜI MỞ ĐẦU  Cùng với sự phát triển như vũ bão của Công nghệ Thông tin trong những năm gần đây. Con người cũng muốn máy móc có được những khả năng suy nghĩ, tư duy và thậm chí là có biểu hiện tình cảm giống như con người và làm việc như bộ não của con người. Cũng vì thế ngành Trí tuệ nhân tạo ra đời và ngày càng phát triển. Tuy nhiên đi kèm với nó là những thách thức cực kỳ lớn về mặt lập trình, cần phải có một đội ngũ cộng tác lẫn nhau hoặc những chuyên viên lập trình giỏi mới có thể đáp ứng được những yêu cầu này. Nhưng Maple đã ra đời và giải quyết được những vấn đề trên, việc lập trình giờ đây đã nhẹ nhàng hơn do sự mạnh mẽ của công cụ này. Trong bài tiểu luận này tôi xin được giới thiệu về việc ứng dụng lập trình symbolic vào trí tuệ nhân tạo. Cụ thể trong bài tiểu luận là ứng dụng lập trình Maple vào giải quyết bài toán đại số cấp trung học phổ thông. Dùng Maple 16 đê lập trình giải quyết bài toán “ Khảo sát hàm số”. Em xin được gửi lời cám ơn chân thành đến thầy PGS. TS Đỗ Văn Nhơn đã tận tình giảng dạy và hướng dẫn cho chúng em trong suốt thời gian học tại trường để có thể hoàn thành được tiểu luận này và có được những kiến thức quý báu làm hành trang vào đời. Chân thành cám ơn Trịnh Duy Sâm Trang: 3 PHẦN I. GIỚI THIỆU MAPLE  1. GIỚI THIỆU VỀ MAPLE: Khái niệm đầu tiên về Maple xuất phát từ một cuộc họp vào tháng 11 năm 1980 tại Đại học Waterloo. Những nhà nghiên cứu tại đại học muốn mua một máy tính đủ mạnh để chạy Macsyma. Thay vào đó, người ta quyết định họ sẽ phát triển hệ thống đại số máy tính riêng để có thể chạy được những máy tính có giá thành hợp lý hơn. Do đó, dự án bắt đầu với mục tiêu là tạo ra một hệ thống đại số hình thức mà các nhà nghiên cứu và sinh viên có thể truy cập được. Sự phát triển đầu tiên của Maple được tiến hành rất nhanh, với phiên bản hạn chế đầu tiên xuất hiện vào tháng 12 năm 1980. Những nhà nghiên cứu đã thử nghiệm và loại bỏ nhiều ý tưởng khác nhau để tạo ra một hệ thống liên tục cải tiến. Maple được trình diễn đầu tiên tại những hội nghị bắt đầu vào năm 1982. Đến cuối năm 1983, trên 50 trường đại học đã cài Maple trên máy của họ. Do số lượng hỗ trợ và yêu cầu giấy phép lớn, vào năm 1984, nhóm nghiên cứu đã sắp xếp với WATCOM Products Inc để cấp phép và phân phối Maple. Vào năm 1988, do số lượng hỗ trợ ngày càng tăng, Waterloo Maple Inc. được thành lập. Mục tiêu đầu tiên của công ty là quản lý những bản phân phối phần mềm. Cuối cùng, công ty cũng phải mở ra phòng R&D ở đó khá nhiều sự phát triển cho Maple được thực hiện đến ngày nay. Sự phát triển đáng kể của Maple tiếp tục diễn rại những phòng thí nghiệm trường đại học, bao gồm: Phòng thí nghiệm Tính toán hình thức tại Đại học Waterloo; Trung tâm nghiên cứu Tính toán hình thức Ontario tại Đại học Tây Ontario; và những phòng thí nghiệm khắp nơi trên thế giới. Vào năm 1989, giao diện đồ họa người dùng đầu tiên của Maple được phát triển và bao gồm trong bản 4.3 dành cho Macintosh. Những phiên bản trước của Maple chỉ gồm giao diện dòng lệnh với ngõ ra hai chiều. Bản X11 và Windows với giao diện mới tiếp bước vào năm 1980 với Maple V. Vào năm 1999, với việc phát hành Maple 6, Maple đã đưa vào một số Thư viện Số học NAG, được mở rộng độ chính xác ngẫu nhiên. Trang: 4 Vào năm 2003, giao diện "chuẩn" hiện nay được giới thiệu trong Maple 9. Giao diện này được viết chủ yếu bằng Java (mặc dù có nhiều phần, nhưng luật cho việc gõ công thức toán học, được viết bằng ngôn ngữ Maple). Giao diện Java bị phê phán là chậm[3]; những sự phát triển được thực hiện trong các bản sau, mặc dù tài liệu Maple 11 documentation[4] khuyến cáo giao diện (“cổ điển”) trước đây dành cho người với bộ nhớ vật lý ít hơn 500 MB. Giao diện cổ điển này không còn được bảo trì. Giữa 1995 và 2005 Maple đã mất khá nhiều thị phần vào tay đối thủ do có giao diện người dùng yếu hơn[5]. Nhưng vào năm 2005, Maple 10 giới thiệu một “chế độ văn bản” mới, như một phần của giao diện chuẩn. Tính năng chính của chế độ này là phép toán được đưa vào bằng ngõ nhập hai chiều, do đó nó xuất hiện tương tự như công thức trong sách. Vào năm 2008, Maple 12 đã thêm những tính năn giao diện người dùng giống như Mathematica, gồm có những kiểu trình bày theo mục đích đặc biệt, quản lý phần đầu và cuối trang, so trùng mở đóng ngoặc, vùng thực hiện tự động, mẫu hoàn thành lệnh, kiểm tra cú pháp và vùng tự động khởi tạo. Những tính năng khác được thêm để làm cho Maple dễ dùng hơn như một hộp công cụ Maple. Maple là một gói phần mềm toán học thương mại phục vụ cho nhiều mục đích. Nó phát triển lần đầu tiên vào năm 1980 bởi Nhóm Tính toán Hình thức tại Đại học Waterloo ở Waterloo, Ontario, Canada. Từ năm 1988, nó đã được phát triển và thương mại hóa bởi Waterloo Maple Inc. (còn được biết đến với tên gọi Maplesoft), một công ty Canada cũng có trụ sở tại Waterloo, Ontario. Phiên bản hiện tại là Maple 16. Maple có cách cài đặt đơn giản, chạy được trên nhiều hệ điều hành, có cấu trúc linh hoạt để sử dụng tối ưu cấu hình máy và có trình trợ giúp (help) rất dễ sử dụng. 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 học phổ thông và đại học. Ưu điểm đó làm cho nhiều nước trên thế giới lựa chọn sử dụng Maple cùng các phần mềm toán học khác trong dạy học toán trước đòi hỏi của thực tiễn và sự phát triển của giáo dục. Ngoài các tính năng tính toán và minh hoạ rất mạnh mẽ bằng các câu lệnh riêng biệt (thường chỉ cho ta kết quả cuối cùng), Maple còn là một ngôn ngữ lập trình hướng thủ tục (procedure). Thủ tục là một dãy các lệnh của Maple theo thứ tựmà người lập trình định sẵn để xử lí một công việc nào đó, khi thực hiện thủ tục này Maple sẽ tự động thực hiện các lệnh có trong thủ tục đó một cách tuần tự và sau đó trả lại kết quả cuối cùng. 2. MỘT SỐ TÍNH NĂNG CƠ BẢN CỦA MAPLE Trang: 5 Người dùng có thể nhập biểu thức toán học theo các ký hiệu toán học truyền thống. Có thể dễ dàng tạo ra những giao diện người dùng tùy chọn. Maple hỗ trợ cho cả tính toán số và tính toán hình thức, cũng như hiển thị. Nhiều phép tính số học được thực hiện dựa trên thư viện số học NAG; trong Maple, các chương trình con NAG đã được mở rộng để cho phép độ chính xác ngẫu nhiên lớn. Các ví dụ về tính toán hình thức sẽ được trình bày trong phần sau. Maple cũng có một ngôn ngữ lập trình cấp cao đầy đủ. Cũng có giao diện cho những ngôn ngữ khác (C, Fortran, Java, MatLab, và Visual Basic). Cũng có một giao diện dành cho Excel. Kiến trúc Phần lớn chức năng toán học của Maple được viết bằng ngôn ngữ Maple, và được thông dịch bởi nhân Maple. Nhân Maple được viết bằng C. Maple chạy trên tất cả các hệ điều hành chính. Ngôn ngữ lập trình Maple là một ngôn ngữ kiểu động. Cũng giống như các hệ thống đại số máy tính, các biểu thức hình thức được lưu trữ trong bộ nhớ theo đồ thị không chu trình có hướng (DAG). Ngôn ngữ cho phép các biến có phạm vi nhất định (lexical scoping). Ngôn ngữ có hình thức lập trình hàm, nhưng cũng có hỗ trợ đầy đủ cho lập trình truyền thống, theo kiểu mệnh lệnh. Một điều lạ đối với chương trình thương mại, đa số mã nguồn đều có thể xem tự do. Nguồn gốc tên gọi Tên "Maple" không phải là tên viết tắt hoặc từ cấu tạo bằng chữ đầu, mà chỉ đơn giản là để chỉ hình tượng Lá phong (tiếng Anh: maple) trên Quốc kỳ Canada. Với phần mềm Maple, chúng ta có thể: + Thực hiện các tính toán với khối lượng lớn, với thờigian 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ị (góiplot), hình học giải tích (gói geometry), đại số tuyến tính (gói linalg), + Thiết kế các đối tượng 3 chiều + v.v Ví dụ về mã Maple: + Tính toánc ácsố lớn, các biểu thức cần độ chính xác cao >100!: Đáp án : 933262154439441526816992388562667004907159682643816214685929638952175 999932299156089414639761565182862536979208272237582511852109168640000 00000000000000000000 >2^64: Trang: 6 Đáp án : 18446744073709551616 >evalf(Pi,500): Đáp án : 3.1415926535897932384626433832795028841971693993751058209749445923078 164062862089986280348253421170679821480865132823066470938446095505822 317253594081284811174502841027019385211055596446229489549303819644288 109756659334461284756482337867831652712019091456485669234603486104543 266482133936072602491412737245870066063155881748815209209628292540917 153643678925903600113305305488204665213841469519415116094330572703657 595919530921861173819326117931051185480744623799627495673518857527248 912279381830119491 + Vẽ đồ thị các hàm số >with(plots): Warning, thenamechangecoordshasbeen redefined >with(plottools):Warning, theassigned namearrownowhasaglobalbinding >plot(x^3+4*x^2-1,x=-10 5,y=-10 15,thickness=2,numpoints=1000): + Tính đạo hàm, tích phân các hàm số >diff(sin(2*x^2-1),x): Đáp án : >int(sin(x)*cos(x),x): Thiết kế các đối tượng 3 chiều >tubeplot([10*cos(t),10*sin(t),0,t=0 2*Pi,radius=2*cos(7*t),numpoints=120,tube points=24], scaling=CONSTRAINED): >tubeplot({[10*cos(t),10*sin(t),0,t=0 2*Pi,radius=2*cos(7*t),numpoints=120,tub epoints=24] ,[0,10+5*cos(t),5*sin(t),t=0 2*Pi,radius=1.5,numpoints=50, Trang: 7 tubepoints=18]},scaling=CONSTRAINED): Tìm . integrate(cos(x/a), x); Đáp án: Tính lời giải chính xác cho phương trình vi phân thường với điều kiện ban đầu dsolve( {diff(y(x),x,x) - 3*y(x) = x, y(0)=0, D(y)(0)=2}, y(x) ); Đáp án: Tính toán ra số nghiệm của phương trình bắt đầu tại điểm ; viết kết quả với 75 số sau dấu chấm. evalf[75](RootOf(exp(x)=x^2+2,x,-1)); Đáp án: 1.3190736768573653544178991095208484644219667808254976692560890049051 2707635 Tính định thức của ma trận. M:= Matrix([[1,2,3], [a,b,c], [x,y,z]]); # Ma trận mẫu with(LinearAlgebra):Determinant(M); Đáp án: bz − cy + 3ay − 2az + 2xc − 3xb Vẽ x2 + y2 với x và y đi từ -1 đến 1 plot3d(x^2+y^2,x=-1 1,y=-1 1); Giải hệ phương trình vi phân cục bộ with . eqn1:= diff(v(x, t), x) = -u(x,t)*v(x,t): eqn2:= diff(v(x, t), t) = -v(x,t)*(diff(u(x,t), x))+v(x,t)*u(x,t)^2: eqn3:= diff(u(x,t), t)+2*u(x,t)*(diff(u(x,t), x))-(diff(diff(u(x,t), x), x)) = 0: pdsolve({eqn1,eqn2,eqn3,v(x,t)<>0},[u,v]): op(%); Đáp án: Tìm hàm f thỏa mãn phương trình tích phân . eqn:= f(x)-3*Integrate((x*y+x^2*y^2)*f(y), y=-1 1) = h(x): intsolve(eqn,f(x)); Đáp án: Các xây dựng lập trình mệnh lệnh mẫu: myfac := proc(n) local out, i; out := 1; if n < 0 then error "input must be nonnegative" else Trang: 8 for i from 1 to n do out := out * i end do; out end if end proc; Trang: 9 PHẦN II. LÝ THUYẾT VỀ KHẢO SÁT HÀM SỐ Để khảo sát hàm số: - Xác định hàm số đó thuộc dạng nào. - Tiến hành các bước khảo sát hàm số đó. Các bước khảo sát và vẽ đồ thị hàm số B1: Tìm tập xác định - Hàm số bậc 3 và bậc 4 có tập xác định là ℜ - Hàm số nhất biến dcx bax y + + = có tập xác định là       −ℜ c d \ B2: Sự biến thiên Tính y’ , giải phương trình y’=0 Tính các giới hạn (tiệm cận_nếu có): - Đối với hàm số bậc 3 và bậc 4: Tính )(lim xf x +∞>− và )(lim xf x −∞>− . - Đối với hàm số nhất biến: dcx bax y + + = . + Tính các giới hạn: c a dcx bax x = + + = +∞>− lim và c a dcx bax x = + + = −∞>− lim ; Suy ra đồ thị có tiệm cận ngang là c a y = + Tính các giới hạn: )(lim )( ±∞= + + = −>− dcx bax c d x Suy ra đồ thị có tiệm cận đứng là c d x −= . Bảng biến thiên Từ Bảng biến thiên suy ra: - Các khoảng đồng biến, nghịch biến của hàm số - Các điểm cực trị (nếu có) của hàm số. B3: Vẽ đồ thị - Tìm giao điểm của đồ thị với trục Oy(cho x=0 , tính x ); - Tìm giao điểm (nếu có) của đồ thị với trục Ox( cho y=0 , tính x bằng cách giải phương trình f(x)=0 ) - Chú ý đến tính đối xứng của đồ thị: đồ thị hàm số bậc 3 nhận trung điểm của cực đại và cực tiểu làm tâm đối xứng; đồ thị hàm số bậc 4 (trùng phương) nhận trục Oy làm trục đối xứng; đồ thị hàm số nhất biến nhận giao điểm 2 đường tiệm cận làm tâm đối xứng. Trang: 10 [...]... Trang: 12 Trang: 13 Thủ tục khảo sát hàm số phân thức Trang: 14 - KẾT LUẬN  Maple đã và đang phát triển mạnh mẽ, nay đã là phiên bản thứ 16 và ngày càng được sử dụng nhiều, từ sinh viên, giáo viên đến các chuyên gia lập trình Bởi ưu điểm của nó có thể 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. .. hình học giải tích (gói geometry), đại số tuyến tính (gói linalg), thiết kế các đối tượng 3 chiều rất hiệu quả Không dừng lại ở đó Maple được ứng dụng như một công công cụ mạnh mẽ và hiệu quả để lập trình Trí Tuệ Nhân Tạo Trong bài tiểu luận này em đã nêu lên một phần nhỏ trong các bài toán trung học phổ thông đó là khảo sát hàm số Hướng phát triển có thể phát triển hệ thống giải tất cả các bài toán Đại...PHẦN III ỨNG DỤNG MAPLE GIẢI BÀI TOÁN KHẢO SÁT HÀM SỐ 1 Mô tả bài toán: - - - Chương trình được chạy với: o Input: hàm số (hàm số đa thức hoặc hàm số phân thức) o Output: Các bước tiến hành khảo sát hàm số Chú ý: o Hàm đa thức (chỉ xét hàm...  PGS.TS Đỗ Văn Nhơn (2011) Bài giảng Lập trình Symbolic cho trí tuệ nhân tạo Richard E Klima, Neil Sigmon, Ernest Stitzinger (1999), Applications of Abstract Algebra with MAPLE Website http://www.maplesoft.com Website http://maplevn2008.wordpress.com Trang: 16 ... triển hệ thống giải tất cả các bài toán Đại số và Hình học để giúp giáo viên và học sinh có thể tham khảo và học môn Toán tốt hơn và đạt kết quả cao trong các kỳ thi Xin cám ơn thầy PGS.TS Đỗ Văn Nhơn đã tận tình giúp đỡ em hoàn thành bài báo cáo, cảm ơn các thầy cô và các bạn trong lớp đã giúp đỡ tôi trong lúc thực hiện để có được kết quả này Học viên thực hiện: Trịnh Duy Sâm Trang: 15 TÀI LIỆU THAM . Gia TP.HCM Trường Đại Học Công Nghệ Thông Tin BÁO CÁO CHUYÊN ĐỀ LẬP TRÌNH SYMBOLIC CHO TRÍ TUỆ NHÂN TẠO ĐỀ TÀI: ỨNG DỤNG MAPLE XÂY DỰNG HỆ THỐNG GIẢI TOÁN LỚP 12 GVHD: PGS. TS Đỗ Văn Nhơn Học. việc ứng dụng lập trình symbolic vào trí tuệ nhân tạo. Cụ thể trong bài tiểu luận là ứng dụng lập trình Maple vào giải quyết bài toán đại số cấp trung học phổ thông. Dùng Maple 16 đê lập trình giải. năng toán học của Maple được viết bằng ngôn ngữ Maple, và được thông dịch bởi nhân Maple. Nhân Maple được viết bằng C. Maple chạy trên tất cả các hệ điều hành chính. Ngôn ngữ lập trình Maple

Ngày đăng: 10/04/2015, 01:36

Từ khóa liên quan

Mục lục

  • 1. GIỚI THIỆU VỀ MAPLE:

  • 2. MỘT SỐ TÍNH NĂNG CƠ BẢN CỦA MAPLE

  • 1 Mô tả bài toán:

  • 2 Thiết kế các thủ tục:

Tài liệu cùng người dùng

Tài liệu liên quan