Tải bản đầy đủ (.pdf) (13 trang)

Ứng dụng lập trình maple giải một số bài toán hình học giải tích

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 (488.28 KB, 13 trang )

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC CƠNG NGHỆ THƠNG TIN

LẬP TRÌNH SYMBOLIC CHO TRÍ TUỆ NHÂN TẠO

TIỂU LUẬN

GVHD : PGS. TS. ĐỖ VĂN NHƠN
Học viên: Vũ Đăng Khôi
(CH1101017 – Cao học CNTT K6)

Tháng 02/2013


LỜI CÁM ƠN
Em xin chân thành cám ơn PGS. TS. Đỗ Văn Nhơn về những tri thức và
những kinh nghiệm quý báu mà thầy đã truyền đạt lại cho lớp trong phạm vi
mơn học Lập trình symbolic cho trí tuệ nhân tạo thuộc chương trình đào tạo
cao học ngành Cơng nghệ thông tin tại trường Đại học Công nghệ thông tin –
Đại học Quốc gia Thành phố Hồ Chí Minh.
Tác giả cũng xin cám ơn các anh, chị và các bạn trong lớp cao học Cơng
nghệ thơng tin khóa 6/2011 về những ý kiến đóng góp trong q trình học tập
và trao đổi trên lớp và trên diễn đàn.
Với khả năng và thời gian có hạn, tiểu luận chắc chắn cịn có những
thiếu sót nhất định, kính mong thầy và các anh chị góp ý để tác giả có điều
kiện hồn thiện hơn.
TP. Hồ Chí Minh, 02/2013
Học viên thực hiện
Vũ Đăng Khôi



NHẬN XÉT CỦA GIẢNG VIÊN
......................................................................................................................................
......................................................................................................................................
......................................................................................................................................
......................................................................................................................................
......................................................................................................................................
......................................................................................................................................
......................................................................................................................................
......................................................................................................................................
......................................................................................................................................
......................................................................................................................................
......................................................................................................................................
......................................................................................................................................
......................................................................................................................................
......................................................................................................................................
......................................................................................................................................
......................................................................................................................................
......................................................................................................................................
......................................................................................................................................
......................................................................................................................................
......................................................................................................................................
......................................................................................................................................
......................................................................................................................................
......................................................................................................................................
......................................................................................................................................
......................................................................................................................................
......................................................................................................................................
......................................................................................................................................
......................................................................................................................................
......................................................................................................................................

......................................................................................................................................
......................................................................................................................................
......................................................................................................................................


MỤC LỤC
LỜI NÓI ĐẦU ................................................................................... i
PHẦN I. DẪN NHẬP ....................................................................... 1
PHẦN II. NỘI DUNG ...................................................................... 2
1. MỘT SỐ BÀI TOÁN HÌNH HỌC GIẢI TÍCH 2 CHIỀU ........................ 2
1.1. Viết phương trình đường thẳng đi qua 2 điểm ............................................. 2
1.2. Viết phương trình đường thẳng đi qua 1 điểm và song song với một đường
thẳng .................................................................................................................... 2
1.3. Tìm tọa độ giao điểm của 2 đường thẳng .................................................... 2

2. TỔ CHỨC CẤU TRÚC DỮ LIỆU ........................................................... 2
2.1. Viết phương trình đường thẳng đi qua 2 điểm ............................................. 2
2.2. Viết phương trình đường thẳng đi qua 1 điểm và song song với một đường
thẳng .................................................................................................................... 2
2.3. Tìm tọa độ giao điểm của 2 đường thẳng .................................................... 3

3. THUẬT TOÁN .......................................................................................... 3
3.1. Viết phương trình đường thẳng đi qua 2 điểm ............................................. 3
3.2. Viết phương trình đường thẳng đi qua 1 điểm và song song với một đường
thẳng .................................................................................................................... 3
3.3. Tìm tọa độ giao điểm của 2 đường thẳng .................................................... 3

4. LẬP TRÌNH ............................................................................................... 4
4.1. Viết phương trình đường thẳng đi qua 2 điểm ............................................. 4
4.2. Viết phương trình đường thẳng đi qua 1 điểm và song song với một đường

thẳng .................................................................................................................... 4
4.3. Tìm tọa độ giao điểm của 2 đường thẳng .................................................... 5

5. THỬ NGHIỆM .......................................................................................... 5
5.1. Viết phương trình đường thẳng đi qua 2 điểm ............................................. 5
5.2. Viết phương trình đường thẳng đi qua 1 điểm và song song với một đường
thẳng .................................................................................................................... 6
5.3. Tìm tọa độ giao điểm của 2 đường thẳng .................................................... 6

PHẦN III. KẾT LUẬN .................................................................... 7
TÀI LIỆU THAM KHẢO ............................................................... 8


Lập trình Symbolic cho trí tuệ nhân tạo

-i-

GVHD: PGS. TS. Đỗ Văn Nhơn

LỜI NĨI ĐẦU
Lập trình symbolic cho trí tuệ nhân tạo là một mơn học tự chọn thuộc
chương trình đào tạo cao học ngành Công nghệ thông tin tại trường Đại học
Công nghệ thông tin – Đại học Quốc gia TP. HCM.
Ngoài các buổi học được giảng viên truyền đạt trực tiếp trên lớp, các học
viên được giao tìm hiểu các chủ đề liên quan đến môn học để thấu hiểu sâu sắc
từng vấn đề đó và trình bày lại những hiểu biết thông qua một bài tiểu luận.
Qua thời gian tìm hiểu, nghiên cứu tài liệu, em đã đúc kết lại những vấn đề
cơ bản, quan trọng nhất của vấn đề nghiên cứu và trình bày lại trong bài tiểu
luận này với chủ đề “Ứng dụng lập trình Maple giải một số bài tốn hình học
giải tích”.

Tài liệu tham khảo chính của bài viết là tập tài liệu bài giảng mơn Lập
trình symbolic cho trí tuệ nhân tạo của PGS. TS. Đỗ Văn Nhơn, giảng viên phụ
trách môn học này. Ngoài ra, bài viết cũng tham khảo thêm một số tài liệu khác
có liên quan đến chủ đề báo cáo được liệt kê ở phần tài liệu tham khảo.

Học viên: Vũ Đăng Khơi

Cao học CNTT khóa 6/2011


Lập trình Symbolic cho trí tuệ nhân tạo

-1-

GVHD: PGS. TS. Đỗ Văn Nhơn

PHẦN I. DẪN NHẬP
Maple là một hệ thống tính tốn trên các biểu thức đại số và minh họa tốn học
mạnh mẽ của cơng ty Warterloo Maple Inc. Maple ra đời năm 1991 đến nay đã phát
triển đến phiên bản 15. 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 tố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 tốn và các cơng việc tính tốn địi hỏi của thực tiễn và sự
phát triển của giáo dục.
Có thể nhận thấy rằng ngồi các tính năng tính tố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à 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.
Mapple có các chức năng cơ bản sau:
− Là một hệ thống tính tố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 tốn cơ bản trong chương trình tố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 sinh viên trong việc tự học.

Học viên: Vũ Đăng Khơi

Cao học CNTT khóa 6/2011


Lập trình Symbolic cho trí tuệ nhân tạo

-2-

GVHD: PGS. TS. Đỗ Văn Nhơn

PHẦN II. NỘI DUNG
1. MỘT SỐ BÀI TOÁN HÌNH HỌC GIẢI TÍCH 2 CHIỀU
1.1. Viết phương trình đường thẳng đi qua 2 điểm

Input: tọa độ 2 điểm A, B trong mặt phẳng.
Ouput: phương trình đường thẳng đi qua 2 điểm A, B.

1.2. Viết phương trình đường thẳng đi qua 1 điểm và song song
với một đường thẳng
Input: tọa độ điểm A trong mặt phẳng và phương trình đường thẳng (d).
Ouput: phương trình đường thẳng đi qua điểm A và song song với đường thẳng
(d).

1.3. Tìm tọa độ giao điểm của 2 đường thẳng
Input: phương trình 2 đường thẳng (d1) và (d2).
Ouput: tọa độ giao điểm của 2 đường thẳng (d1) và (d2).

2. TỔ CHỨC CẤU TRÚC DỮ LIỆU
2.1. Viết phương trình đường thẳng đi qua 2 điểm
Sử dụng các biến kiểu thực để lưu trữ tọa độ các điểm trong mặt phẳng (x1,y1)
(x2,y2), và các hệ số của phương trình đường thẳng a, b, c.

2.2. Viết phương trình đường thẳng đi qua 1 điểm và song song
với một đường thẳng
Sử dụng các biến kiểu thực để lưu trữ tọa độ điểm trong mặt phẳng (x1,y1) và
các hệ số của các phương trình đường thẳng a1, b1, c1, a2, b2, c2.

Học viên: Vũ Đăng Khơi

Cao học CNTT khóa 6/2011


Lập trình Symbolic cho trí tuệ nhân tạo


-3-

GVHD: PGS. TS. Đỗ Văn Nhơn

2.3. Tìm tọa độ giao điểm của 2 đường thẳng
Sử dụng các biến kiểu thực để lưu trữ các hệ số của các phương trình đường
thẳng a1, b1, c1, a2, b2, c2 và tọa độ giao điểm (x,y).

3. THUẬT TỐN
3.1. Viết phương trình đường thẳng đi qua 2 điểm
Gọi: A(x1,y1) và B(x2,y2) là 2 điểm trong mặt phẳng.
Phương trình đường thẳng đi qua 2 điểm A, B có dạng:
x − x1
y − y1
=
x2 − x1 y 2 − y1
⇔ ( x − x1 )(y 2 − y1 ) = ( x2 − x1 )( y − y1 )
⇔ (y 2 − y1 ) x + ( x1 − x2 ) y + (y1 − y 2 ) x1 + y1 ( x2 − x1 ) = 0

3.2. Viết phương trình đường thẳng đi qua 1 điểm và song song
với một đường thẳng
Gọi: A(x1,y1) là 1 điểm trong mặt phẳng và (d1) là đường thẳng có cơng thức:
ax + by + c = 0
Khi đó phương trình đường thẳng (d) đi qua điểm A và song song với đường
thẳng (d1) có dạng: ax + by + c1 = 0, trong đó c1 = – (ax1 + by1)
Nghĩa là phương trình đường thẳng (d) có dạng: ax + by – (ax1+by1) = 0

3.3. Tìm tọa độ giao điểm của 2 đường thẳng
Gọi: (d1) và (d2) là 2 đường thẳng có công thức:
(d1): a1x + b1y + c1 = 0

(d2): a2x + b2y + c2 = 0
Khi đó tọa độ giao điểm A(x,y) là nghiệm của hệ phương trình:

Học viên: Vũ Đăng Khơi

Cao học CNTT khóa 6/2011


Lập trình Symbolic cho trí tuệ nhân tạo

-4-

GVHD: PGS. TS. Đỗ Văn Nhơn

a1x + b1 y + c1 = 0

a 2 x + b 2 y + c 2 = 0

4. LẬP TRÌNH
4.1. Viết phương trình đường thẳng đi qua 2 điểm
Một mơ hình tri thức dạng hàm có thể được mơ hình hóa bởi bộ:

4.2. Viết phương trình đường thẳng đi qua 1 điểm và song song
với một đường thẳng

Học viên: Vũ Đăng Khơi

Cao học CNTT khóa 6/2011



Lập trình Symbolic cho trí tuệ nhân tạo

-5-

GVHD: PGS. TS. Đỗ Văn Nhơn

4.3. Tìm tọa độ giao điểm của 2 đường thẳng

5. THỬ NGHIỆM
5.1. Viết phương trình đường thẳng đi qua 2 điểm
Học viên: Vũ Đăng Khơi

Cao học CNTT khóa 6/2011


Lập trình Symbolic cho trí tuệ nhân tạo

-6-

GVHD: PGS. TS. Đỗ Văn Nhơn

>
Phuong trinh duong thang di qua 2 diem (1.0,2.0) va (3.0,4.0)
la : 2.0x -2.0y +2.0 = 0

5.2. Viết phương trình đường thẳng đi qua 1 điểm và song song
với một đường thẳng
>
Phuong trinh duong thang di qua diem (1.0,1.0) va song song
voi duong thang 1.0x+2.0y+3.0=0 la : 1.0x +2.0y -3.0 = 0


5.3. Tìm tọa độ giao điểm của 2 đường thẳng
>
Toa do giao diem la : (4.0,1.0)

Học viên: Vũ Đăng Khơi

Cao học CNTT khóa 6/2011


Lập trình Symbolic cho trí tuệ nhân tạo

-7-

GVHD: PGS. TS. Đỗ Văn Nhơn

PHẦN III. KẾT LUẬN
Maple là một công cụ lập trình tính tốn hình thức mạnh mẽ có thể giải quyết hầu
hết các bài toán thuộc các lĩnh vực khao học tự nhiên và kỹ thuật. Đặc biệt, Maple cịn
được dùng để giải quyết các bài tốn thuộc lĩnh vực trí tuệ nhân tạo.
Bài tiểu luận đã trình bày một cách cô đọng một số ứng dụng của Maple để lập
trình giải một số bài tốn đơn giản trong hình học giải tích mặt phẳng. Nội dung bài
tiểu luận khơng nằm ngồi phạm vi mơn học “Lập trình Symbolic cho trí tuệ nhân
tạo”, nhằm củng cố phần lý thuyết được học và cài đặt minh họa một số chương trình
đơn giản trên Maple để cho thấy khả năng lập trình của Maple.

Học viên: Vũ Đăng Khơi

Cao học CNTT khóa 6/2011



Lập trình Symbolic cho trí tuệ nhân tạo

-8-

GVHD: PGS. TS. Đỗ Văn Nhơn

TÀI LIỆU THAM KHẢO
[1] Đỗ Văn Nhơn (2001). Xây dựng hệ tính tốn thơng minh: Xây dựng và phát triển
các mơ hình biểu diễn tri thức cho các hệ giải toán tự động. Luận án tiến sĩ toán học.
[2] Đỗ Văn Nhơn (2012). Bài giảng môn học: Lập trình Symbolic cho trí tuệ nhân tạo.
Trường ĐH CNTT TP. HCM.
[3] Hoàng Kiếm (2004). Bài giảng logic ứng dụng trong Tin học. Đại học Khoa học tự
nhiên TP. HCM.
[4] Hoàng Kiếm (chủ biên – 2008). Giáo trình Các hệ cơ sở tri thức. NXB ĐH Quốc
gia TP. HCM, 2008.
[5] www.maplesoft.com/support/help

Học viên: Vũ Đăng Khơi

Cao học CNTT khóa 6/2011



×