ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
CHƯƠNG TRÌNH ĐÀO TẠO THẠC SĨ CNTTQM
………… o0o…………
BÁO CÁO THU HOẠCH MÔN HỌC
LẬP TRÌNH SYMBOLIC VÀ ỨNG DỤNG
Đề tài:
GIẢI VÀ BIỆN LUẬN HỆ PHƯƠNG TRÌNH
BẬC NHẤT HAI ẨN
GVHD: PGS.TS.Đỗ Văn Nhơn
HVTH: Nguyễn Văn Chung
MÃ SỐ: CH1101070
TP.Hồ Chí Minh, Năm 2013
LẬP TRÌNH SYMBOLIC VÀ ỨNG DỤNG PGS.TS Đỗ Văn Nhơn
LỜI MỞ ĐẦU
Ngày nay lĩnh vực trí tuệ nhân tạo ngày càng phát triển mạnh mẽ, bằng chứng cụ thể
là có rất nhiều công trình đề tài nghiên cứu và đã đưa vào ứng dụng trong rất nhiều
lĩnh vực phát triển kinh tế xã hội, và cần có một công cụ để thể hiện những ý tưởng
trong trí tuệ nhân tạo và Maple là sự lựa chọn tuyệt vời nhất.
Em xin chân thành cảm ơn PGS.TS. Đỗ Văn Nhơn – Giảng viên môn học Lập trình
Symbolic và Ứng Dụng- đã truyền đạt những kiến thức vô cùng quý báu, xin chân
thành cám ơn ban cố vấn học tập và ban quản trị chương trình đào tạo thạc sĩ Công
nghệ thông tin qua mạng của Đại Học Quốc Gia TPHCM đã tạo điều kiện về tài liệu
tham khảo để em có thể hoàn thành môn học này.
Chân thành cám ơn!
Nguyễn Văn Chung
HVTH: Nguyễn Văn Chung - 1 -
LẬP TRÌNH SYMBOLIC VÀ ỨNG DỤNG PGS.TS Đỗ Văn Nhơn
MỤC LỤC
LỜI MỞ ĐẦU 1
LẬP TRÌNH SYMBOLIC VÀ ỨNG DỤNG PGS.TS Đỗ Văn Nhơn 1
I. GIỚI THIỆU MAPLE 3
I.1. Giới thiệu : 3
II. GIẢI VÀ BIỆN LUẬN HỆ 2 PHƯƠNG TRÌNH BẬC NHẤT 2 ẨN: 4
II.1. Xây dựng công thức: 4
II.2. Ví dụ giải và biện luận 4
II.3. Thuật giải 5
II.4. Các lệnh trong maple sử dụng cho chương trình: 7
II.5. Chương trình: 9
II.6. Dữ liệu thử nghiệm: 10
KẾT LUẬN 11
HVTH: Nguyễn Văn Chung - 2 -
LẬP TRÌNH SYMBOLIC VÀ ỨNG DỤNG PGS.TS Đỗ Văn Nhơn
I. GIỚI THIỆU MAPLE
I.1. Giới thiệu :
Maple là một hệ thống tính toán trên các biểu thức đại số và minh hoạ toán học
mạnh mẽ của công ty Warterloo Maple Inc ( Maple đã
đời năm 1991 đến nay đã phát triển đến phiên bản 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ản7, 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 người 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 áp dụng trong dạy học toán và các công
việc tính toán đòi hỏi của thực tiễn và sự phát triểncủa giáo dục.
Có thể nhận thấy rằng ngoài các tính năng tính toán và minh họa 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à 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ý 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.
Maple có các tính năng cơ bản sau:
Là một hệ thống tính 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
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ị
động và tĩnh của các đường và mặt được cho bởi các hàm tùy ý và trong
các hệ tọa độ khác nhau.
Là 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 định dạng khác nhau như 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.
HVTH: Nguyễn Văn Chung - 3 -
LẬP TRÌNH SYMBOLIC VÀ ỨNG DỤNG PGS.TS Đỗ Văn Nhơn
II. GIẢI VÀ BIỆN LUẬN HỆ 2 PHƯƠNG TRÌNH BẬC NHẤT 2 ẨN:
II.1. Xây dựng công thức:
Xét hệ phương trình bậc nhất hai ẩn
Nhân hai vế của phương trình (1) với b’, hai vế của phương trình (2) với –b rồi
cộng các vế tương ứng, ta được: (ab’- a’b).x=cb’-c’b (3).
Nhân hai vế của phương trình (1) với –a’, hai vế của phương trình (2) với –a rồi
cộng các vế tương ứng, ta được: (ab’-a’b).y=ac’-a’c (4).
Trong (3) và (4) ta đặt:
D = a.b’-a’.b,
D
x
= c.b’-c’.b,
D
y
= a.c’-a’.c.
Khi đó, ta có hệ phương trình hệ quả:
Đối với hệ (II), ta xét các trường hợp sau:
1) D ≠ 0: Hệ có một nghiệm duy nhất (x,y), trong đó
;
2) D = 0
+ D
x
≠ 0 hoặc D
y
≠ 0: Hệ vô nghiệm
+ D
x
= D
y
= 0: Hệ có vô số nghiệm, tập nghiệm của hệ là tập nghiệm của phương
trình ax + by = c
II.2. Ví dụ giải và biện luận
Giải và biện luận hệ phương trình sau:
Giải:
Ta có:
+ D = a.b’ – a’.b = m
2
– 1
+ D
x
= c.b’ – c’b = m
2
+ m – 2 = (m-1)(m+2)
+ D
y
= a.c’ – a’.c = m – 1
Ta phải xét các trường hợp sau:
HVTH: Nguyễn Văn Chung - 4 -
LẬP TRÌNH SYMBOLIC VÀ ỨNG DỤNG PGS.TS Đỗ Văn Nhơn
1) D ≠ 0, tức là m ≠ ±1. Ta có:
Hệ phương trình có nghiệm duy nhất
2) D = 0, tức là m = 1 hoặc m = -1
+ Nếu m = 1 thì D = 0, nhưng D = D
x
= D
y
= 0 và hệ trở thành
Ta có:
+ Nếu m = -1 thì D = 0, nhưng D
x
≠ 0 nên hệ vô nghiêm.
Kết luận
Với m ≠ ± 1, hệ có nghiệm duy nhất
Với m = -1, hệ vô nghiệm
Với m = 1, hệ có vố số nghiệm (x ; y), tính theo công thức
II.3. Thuật giải
Bước 1: Tính giá trị D, D
x
, D
y
Bước 2: Nếu D không chứa tham số m qua bước 3a, ngược lại qua bước 3b.
Bước 3a:
+ Nếu D ≠ 0 thì hệ phương trình có một nghiệm duy nhất:
HVTH: Nguyễn Văn Chung - 5 -
LẬP TRÌNH SYMBOLIC VÀ ỨNG DỤNG PGS.TS Đỗ Văn Nhơn
+ Nếu D = 0:
+ Nếu D
x
= D
y
= 0 thì hệ phương trình có vô số nghiệm.
Thuật toán dừng.
+ Nếu D
x
không có tham số m và D
x
≠ 0
thì hệ phương trình vô nghiệm. Thuật toán dừng.
Ngược lại D
x
có tham số m thì tính nghiệm m theo D
x
là
nghiemD
x
= {D
x
= 0}.
+ Nếu D
y
không có tham số m và D
y
≠ 0
thì hệ phương trình vô nghiệm. Thuật toán dừng.
Ngược lại D
y
có tham số m thì tính nghiệm m theo D
y
là
nghiemD
y
= {D
y
= 0}.
+ Tìm tập nghiệm m là giao của 2 tập nghiệm nghiemD
x
và nghiemD
y
gọi là nghiemM.
+ Nếu nghiemM rỗng thì hệ phương trình vô nghiệm. Thuật toán dừng.
+ Nếu nghiemM khác rỗng:
For nghiem trong tập nghiemM Do
Nếu m = nghiem. Thì hệ phương trình có vô số nghiệm
End Do;
Bước 3b: Với D = 0 ta có tập nghiệm gọi là nghiemD theo biến m.
+ Nếu nghiemD rỗng thì hệ phương trình vô nghiêm. Thuật toán dừng.
+ Ngược lại:
For nghiem trong tập nghiemD Do
Nếu m ≠ nghiem. Thì hệ phương trình có nghiệm duy nhất
End Do;
For nghiem trong tập nghiemD Do
Thay m = nghiem vào D
x
và D
y
. Ta tính được giá trị D
x
, D
y
(giatriDx, giatriDy).
HVTH: Nguyễn Văn Chung - 6 -
LẬP TRÌNH SYMBOLIC VÀ ỨNG DỤNG PGS.TS Đỗ Văn Nhơn
+ Nếu giatriDx ≠ 0 hoặc giatriDy ≠ 0. Thì hệ phương trình vô
nghiệm
+ Nếu giatriDx = giatriDy = 0. Thay m = nghiem vào hệ phương
trình tìm ra nghiệm (x;y) và (x;y) chính là nghiệm duy nhất của hệ
phương trình.
End Do;
Thuật toán dừng.
II.4. Các lệnh trong maple sử dụng cho chương trình:
Lệnh giải phương trình và bất phương trình:
Cú pháp: solve (equations,variables)
Trong đó:
- equations: là phương trình, bất phương trình.
- variables: là biến số (ẩn).
Ý nghĩa: Lệnh thực hiện tìm nghiệm của biểu thức phương trình, bất
phương trình.
Ví dụ:
Lệnh lấy vế trái, vế phải của biểu thức:
Cú pháp: lhs(expr) và rhs(expr)
Trong đó: -expr: là biểu thức.
Ý nghĩa:
- lhs(expr) thực hiện trả về vế trái của biểu thức expr, lệnh
tương đương op(1,expr).
- rhs(expr) thực hiện trả về vế phải của biểu thức expr, lệnh
tương đương op(2,expr).
Ví dụ:
Lệnh lấy hệ số một đa thức:
HVTH: Nguyễn Văn Chung - 7 -
LẬP TRÌNH SYMBOLIC VÀ ỨNG DỤNG PGS.TS Đỗ Văn Nhơn
Cú pháp: coeff(expr,x)
Trong đó: - expr là một đa thức chứa x.
- x là biến
Ý nghĩa: Lấy hệ số của x
n
trong biểu thức expr.
Ví dụ:
Lệnh hiển thị giá trị của biểu thức:
Cú pháp: print(expr)
Trong đó: - expr: là biểu thức bất kỳ.
Ví dụ:
Lệnh xuất một biểu thức theo một định dạng:
Cú pháp: printf(format,expr)
Trong đó: -format: định dạng hiển thị.
- expr: biểu thức được định dạng.
Ví dụ:
HVTH: Nguyễn Văn Chung - 8 -
LẬP TRÌNH SYMBOLIC VÀ ỨNG DỤNG PGS.TS Đỗ Văn Nhơn
II.5. Chương trình:
HVTH: Nguyễn Văn Chung - 9 -
LẬP TRÌNH SYMBOLIC VÀ ỨNG DỤNG PGS.TS Đỗ Văn Nhơn
II.6. Dữ liệu thử nghiệm:
Ta giải và biện luận hệ phương trình sau:
Nhập vào maple: HePhuongTrinh({m.x + y = m + 1, x + m.y = 2},x,y);
Kết quả của chương trình cho ra là:
+ Neu m!=-1
+ Neu m!=1
Thi he phuong trinh co nghiem duy nhat:
x=(2-(m+1)*m)/(1-m^2)
y=(-m+1)/(1-m^2)
+ Neu m=-1 thi he phuong trinh vo nghiem
+ Neu m=1 thi he phuong trinh co nghiem la:
HVTH: Nguyễn Văn Chung - 10 -
LẬP TRÌNH SYMBOLIC VÀ ỨNG DỤNG PGS.TS Đỗ Văn Nhơn
KẾT LUẬN
Qua bài thu hoạch này em học hỏi được phần nào về cách viết thủ tục, cách gọi
hàm và cách sử dụng phần mềm Maple trong lập trình Symbolic Trí tuệ nhân tạo.
Tuy nhiên bài thu hoạch này của em chưa thể hiện được hết vai trò và sức mạnh
của Maple trong lập trình Symbolic, nhưng từ nền tảng này sẽ giúp em tiếp tục con
đường học tập và nghiên cứu của mình trong tương lai.
HVTH: Nguyễn Văn Chung - 11 -
LẬP TRÌNH SYMBOLIC VÀ ỨNG DỤNG PGS.TS Đỗ Văn Nhơn
Tài liệu tham khảo
1. PGS. TS Đỗ Văn Nhơn – Bài giảng “Lập trình symbolic và ứng dụng”.
- ĐH Công nghệ thông tin – ĐHQG TP. Hồ Chí Minh.
2. Mục Help của Maple 16.
HVTH: Nguyễn Văn Chung - 12 -