Viết phương trình đường thẳng đi qua 1 điểm và song song với một đường thẳng .... 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
Trang 1ĐẠ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
Trang 2LỜ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 quá 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 hoàn thiện hơn
TP Hồ Chí Minh, 02/2013 Học viên thực hiện
Vũ Đăng Khôi
Trang 3NHẬN XÉT CỦA GIẢNG VIÊN
Trang 4
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
Trang 5Lập trình Symbolic cho trí tuệ nhân tạo - i - GVHD: PGS TS Đỗ Văn Nhơn
Học viên: Vũ Đăng Khôi Cao học CNTT khóa 6/2011
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 toá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
Trang 6
Lập trình Symbolic cho trí tuệ nhân tạo - 1 - GVHD: PGS TS Đỗ Văn Nhơn
Học viên: Vũ Đăng Khôi Cao học CNTT khóa 6/2011
PHẦN I DẪN NHẬP
Maple là một hệ thống tính toán trên các biểu thức đại số và minh họa toá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 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ển củ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à 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 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 sinh viên trong việc tự học
Trang 7Lập trình Symbolic cho trí tuệ nhân tạo - 2 - GVHD: PGS TS Đỗ Văn Nhơn
Học viên: Vũ Đăng Khôi Cao học CNTT khóa 6/2011
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
Trang 8Lập trình Symbolic cho trí tuệ nhân tạo - 3 - GVHD: PGS TS Đỗ Văn Nhơn
Học viên: Vũ Đăng Khôi Cao học CNTT khóa 6/2011
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 TOÁ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:
y
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:
Trang 9Lập trình Symbolic cho trí tuệ nhân tạo - 4 - GVHD: PGS TS Đỗ Văn Nhơn
Học viên: Vũ Đăng Khôi Cao học CNTT khóa 6/2011
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
Trang 10Lập trình Symbolic cho trí tuệ nhân tạo - 5 - GVHD: PGS TS Đỗ Văn Nhơn
Học viên: Vũ Đăng Khôi Cao học CNTT khóa 6/2011
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
Trang 11Lập trình Symbolic cho trí tuệ nhân tạo - 6 - GVHD: PGS TS Đỗ Văn Nhơn
Học viên: Vũ Đăng Khôi Cao học CNTT khóa 6/2011
>
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)
Trang 12Lập trình Symbolic cho trí tuệ nhân tạo - 7 - GVHD: PGS TS Đỗ Văn Nhơn
Học viên: Vũ Đăng Khôi Cao học CNTT khóa 6/2011
PHẦN III KẾT LUẬN
Maple là một công cụ lập trình tính toá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 toá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 toá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 ngoà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
Trang 13Lập trình Symbolic cho trí tuệ nhân tạo - 8 - GVHD: PGS TS Đỗ Văn Nhơn
Học viên: Vũ Đăng Khôi Cao học CNTT khóa 6/2011
TÀI LIỆU THAM KHẢO
[1] Đỗ Văn Nhơn (2001) Xây dựng hệ tính toá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