Tải bản đầy đủ (.docx) (17 trang)

Tiểu luận Lập trình Symbolic và ứng dụng

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 (552.18 KB, 17 trang )

Lập trình Symbolic và ứng dụng
MỤC LỤC
GVHD : PGS.TS Đỗ Văn Nhơn Trang 1
HVTH : Mã Tuấn Huy
Lập trình Symbolic và ứng dụng
CHƯƠNG I.
MAPLE - CÔNG CỤ LẬP TRÌNH
SYMBOLIC
1. Lịch sử hình thành
• 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.
• Đế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.
GVHD : PGS.TS Đỗ Văn Nhơn Trang 2
HVTH : Mã Tuấn Huy


Lập trình Symbolic và ứng dụng
• 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.
• Hiện nay Version mới nhất là Maple 16
2. Chức năng chính
• 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.
GVHD : PGS.TS Đỗ Văn Nhơn Trang 3
HVTH : Mã Tuấn Huy
Lập trình Symbolic và ứng dụng
• 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.
3. 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.
4. 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.
5. Các tính năng cơ bản
• Là một hệ thống các toán trên các biểu thức đại số.
• Có thể thực hiện được hầu hết các phép toán cơ bản trong chương trình tính
toán đại học và sau đại học.
• Cung cấp các công cụ minh họa hình học thuận tiện gồm: vẽ đồ thị tĩnh và
động của các hàm tùy ý trong nhiều hệ tọa độ khác nhau/
GVHD : PGS.TS Đỗ Văn Nhơn Trang 4
HVTH : Mã Tuấn Huy
Lập trình Symbolic và ứng dụng
• Một ngôn ngữ lập trình đơn giản và mạnh mẽ, có khả năng tương tác với các
ngôn ngữ lập trình khác.
• Cho phép trích xuất ra các dạng khác như LaTex, Word, HTML,…
• Một công cụ biên soạn giáo án và bài giảng điện tử, thích hợp với các lớp học

tương tác trực tiếp.
• Một trợ giáo hữu ích cho học sinh và sinh viên trong việc tự học, tự nâng cao
trình độ.
CHƯƠNG II.
GIỚI THIỆU BÀI TOÁN NGUYÊN HÀM
6. Địng nghĩa nguyên hàm
• Cho hàm số f xác định trên K. Hàm số F được gọi là nguyên hàm của f trên K
nếu F’(x) = f(x) với mọi x thuộc K.
• Trong trường hợp K = [a;b], các đẳng thức F’(a) = f(a), F’(b) = f(b) được hiểu
là :
• Cho hai hàm số f và F liên tục trên đoạn [a;b]. Nếu F là nguyên hàm của f trên
(a;b) thì có thể chứng minh được rằng
F’(a) = f(a) và F’(b) = f(b)
Do đó F cũng là nguyên hàm của f trên đoạn [a;b].

12
12
ln)(
2
2
++
+−
=
xx
xx
xF
Ví dụ: chứng minh rằng hàm số
GVHD : PGS.TS Đỗ Văn Nhơn Trang 5
HVTH : Mã Tuấn Huy
Lập trình Symbolic và ứng dụng

1
)1(22
)(
4
2
+

=
x
x
xf
là một nguyên hàm của hàm số
)(
1
)1(22
2)1(
2222
12
12
)12(
2222
12
12
12
12
)('
4
2
222
2

2
2
22
2
2
2
2
2
xf
x
x
xx
x
xx
xx
xx
x
xx
xx
xx
xx
xF
=
+

=
−+

=
++

+−
++

=
++
+−









++
+−
=
• Định lý 1: Giả sử hàm số F là một nguyên hàm của hàm số f trên K. Khi đó:
 Với mỗi hằng số C, hàm số y = F(x) + C cũng là một nguyên hàm của
f trên K.
 Ngược lại, với mỗi hàm số G của f trên K thì tồn tại một hằng số C
sao cho G(x) = F(x) + C với mọi x thuộc K
GVHD : PGS.TS Đỗ Văn Nhơn Trang 6
HVTH : Mã Tuấn Huy
Lập trình Symbolic và ứng dụng
7.
Cdx
=


0
Nguyên hàm của một số hàm số thường gặp
Cxdxdx
∫∫
+==
1
)1(
1
1
−≠+
+
=
+

α
α
α
α
C
x
dxx
Cxdx
x
+=

ln
1
.…
8. Các tính chất cơ bản



∫ ∫∫
∫∫

+=⇒
+=
+=+
=
=
CxuFdxxuxuf
CtFdttf
dxxgdxxfdxxgxf
dxxfadxxaf
xfdxxf
))(()('))((
)()(
)()())()((
)()(
)()')(
Hay
CuFduuf
+=

)()(
GVHD : PGS.TS Đỗ Văn Nhơn Trang 7
HVTH : Mã Tuấn Huy
Lập trình Symbolic và ứng dụng
9. Một số phương pháp tìm nguyên hàm
9.1. Phương pháp đổi biến số:



+=
CxuFdxxuxuf )]([)(')([

+= CuFduuf )()(
Định lý 1: Cho
hàm số u=u(x) có đạo hàm liên tục trên K và hàm số y=f(u) liên tục sao cho
f[u(x)] xác định trên K. Khi đó nếu F là một nguyên hàm của f, tức là
thì
 Nếu biểu thức lấy nguyên hàm có dạng hàm theo x nhân với hàm
lượng giác hoặc hàm thì đặt u = hàm theo x.
 Nếu biểu thức lấy nguyên hàm có dạng hàm theo x nhân với hàm
log thì đặt u=hàm log
GVHD : PGS.TS Đỗ Văn Nhơn Trang 8
HVTH : Mã Tuấn Huy
Lập trình Symbolic và ứng dụng


dxxx
10
)1(
• Ví dụ : tính
9.2. Phương pháp lấy nguyên hàm từng phần:

∫ ∫
−=
dxxuxvxvxudxxvxu )(')()()()('))
Định lý 2: Nếu u, v là
hai hàm số có đạo hàm liên tục trên K thì
xdxx ln


GVHD : PGS.TS Đỗ Văn Nhơn Trang 9
HVTH : Mã Tuấn Huy
Lập trình Symbolic và ứng dụng
• Ví dụ: tính
GVHD : PGS.TS Đỗ Văn Nhơn Trang 10
HVTH : Mã Tuấn Huy
Lập trình Symbolic và ứng dụng
CHƯƠNG III.
GIẢI THUẬT TRÊN MÁY TÍNH
10. Giải thuật trên maple
GVHD : PGS.TS Đỗ Văn Nhơn Trang 11
HVTH : Mã Tuấn Huy
Lập trình Symbolic và ứng dụng
GVHD : PGS.TS Đỗ Văn Nhơn Trang 12
HVTH : Mã Tuấn Huy
Lập trình Symbolic và ứng dụng
GVHD : PGS.TS Đỗ Văn Nhơn Trang 13
HVTH : Mã Tuấn Huy
Lập trình Symbolic và ứng dụng
GVHD : PGS.TS Đỗ Văn Nhơn Trang 14
HVTH : Mã Tuấn Huy
Lập trình Symbolic và ứng dụng
GVHD : PGS.TS Đỗ Văn Nhơn Trang 15
HVTH : Mã Tuấn Huy
Lập trình Symbolic và ứng dụng
CHƯƠNG IV.
KẾT QUẢ ĐẠT ĐƯỢC
Cơ bản hoàn tất xây dựng lời giải nguyên hàm trên Maple.
Tiếp tục hoàn thiện chương trình áp dụng cho việc xử lý và giải toán tích phân.

GVHD : PGS.TS Đỗ Văn Nhơn Trang 16
HVTH : Mã Tuấn Huy
Lập trình Symbolic và ứng dụng
CHƯƠNG V.
TÀI LIỆU THAM KHẢO
• PGS.TS Đỗ Văn Nhơn – Giáo trình “Lập trình Symbolic và ứng dụng” – 2012-2013
• PGS.TS Đỗ Văn Nhơn – Biểu diễn tri thức và Ứng dụng – 2012-2013
• PGS.TS. Đỗ Văn Nhơn – TS. Đỗ Phúc – “Giáo trình Các Hệ Cơ Sở Tri Thức, Đại học
Quốc gia Tp.HCM, 2002”.
• Mai Trung Thành – “Khóa luận tốt nghiệp – Xây dụng Website giải toán 9”
Tp.HCM tháng 7 năm 2012.
• Bài thu hoạch các khóa trước.

phan




GVHD : PGS.TS Đỗ Văn Nhơn Trang 17
HVTH : Mã Tuấn Huy

×