1. Trang chủ
  2. » Luận Văn - Báo Cáo

Xây dựng hệ thống đại số máy tính xử lý biểu thức toán học

107 597 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 107
Dung lượng 1,72 MB

Nội dung

ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ NGUYỄN VĂN ĐỒNG XÂY DỰNG HỆ THỐNG ĐẠI SỐ MÁY TÍNH XỬ LÝ BIỂU THỨC TOÁN HỌC LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN Hà nội – 2016 ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ NGUYỄN VĂN ĐỒNG XÂY DỰNG HỆ THỐNG ĐẠI SỐ MÁY TÍNH XỬ LÝ BIỂU THỨC TOÁN HỌC Ngành: Chuyên ngành: Mã số: Công nghệ thông tin Kỹ thuật phần mềm 60480103 LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS.TS.TRƯƠNG ANH HOÀNG Hà nội- 2016 LỜI CẢM ƠN Trước tiên em xin chân thành cảm ơn PGS.TS.Trương Anh Hoàng tận tình hướng dẫn, giúp đỡ em suốt trình thực luận văn tốt nghiệp Em xin chân thành cảm ơn thầy cô giáo khoa Công nghệ Thông tin, trường Đại học Công nghệ, Đại học Quốc gia Hà Nội, người tận tình truyền đạt kiến thức, quan tâm, động viên suốt thời gian học tập nghiên cứu Trường Nhân cho phép em gửi lời cảm ơn tới gia đình, bạn bè đặc biệt nhóm bạn học lớp K20CNPM, lớp chuyên ngành công nghệ phần mềm thường xuyên quan tâm, giúp đỡ, chia sẻ kinh nghiệm, cung cấp tài liệu hữu ích suốt thời gian học tập trường Hà Nội, tháng 06 năm 2016 Tác giả luận văn Nguyễn Văn Đồng LỜI CAM ĐOAN Tôi xin cam đoan luận văn “Xây dựng hệ thống đại số máy tính xử lý biểu thức toán học” công trình nghiên cứu hướng dẫn khoa học PGS.TS.Trương Anh Hoàng, tham khảo nguồn tài liệu rõ trích dẫn danh mục tài liệu tham khảo Các nội dung công bố kết trình bày luận văn trung thực chưa công bố công trình Hà Nội, tháng 06 năm 2016 Tác giả luận văn Nguyễn Văn Đồng MỤC LỤC LỜI CẢM ƠN LỜI CAM ĐOAN Danh mục hình ảnh Danh mục bảng Danh mục chữ viết tắt Mở đầu 10 Kiến thức tảng 1.1 Ngôn ngữ giả mã 1.2 Tính toán biểu thức chương trình toán học 1.3 Khái niệm toán học 1.3.1 Số nguyên 1.3.2 Số hữu tỉ Cấu trúc biểu thức đại số 2.1 Cây biểu thức 2.2 Cấu trúc đệ quy biểu thức đại số 2.3 Cấu trúc thông thường biểu thức đại số 2.4 Cấu trúc rút gọn biểu thức đại số 2.5 Các toán tử biểu thức đại số rút gọn 10 2.5.1 Định nghĩa toán tử 𝐾𝑖𝑛𝑑(𝑢) 10 2.5.2 Định nghĩa toán tử 𝑁𝑢𝑚𝑏𝑒𝑟𝑂𝑓𝑂𝑝𝑒𝑟𝑎𝑛𝑑𝑠(𝑢) 11 2.5.3 Định nghĩa toán tử 𝑂𝑝𝑒𝑟𝑎𝑛𝑑(𝑢, 𝑖) 11 2.6 Các toán tử dựa cấu trúc biểu thức 11 2.6.1 Định nghĩa toán tử 𝐶𝑜𝑚𝑝𝑙𝑒𝑡𝑒𝑆𝑢𝑏E𝑥𝑝𝑟𝑒𝑠𝑠𝑖𝑜𝑛(𝑢) 11 2.6.2 Định nghĩa toán tử 𝐹𝑟𝑒𝑒𝑂𝑓(𝑢, 𝑡) 11 Thuật toán 12 3.1 Thuật toán toán học 12 3.2 Thuật toán đệ quy 12 3.3 Thủ tục đệ quy 13 3.3.1 Toán tử 𝐶𝑜𝑚𝑝𝑙𝑒𝑡𝑒S𝑢𝑏E𝑥𝑝𝑟𝑒𝑠𝑠𝑖𝑜𝑛 13 3.3.2 Toán tử 𝐹𝑟𝑒𝑒𝑂𝑓 14 Rút gọn biểu thức 14 4.1 4.1.1 Biểu thức đại số biểu thức đại số rút gọn 16 4.1.2 Thể biểu thức đại số 19 4.2 Thủ tục rút gọn 21 4.2.2 Rút gọn biểu thức số hữu tỉ 22 4.2.3 Rút gọn lũy thừa 23 4.2.4 Rút gọn tích 24 4.2.5 Rút gọn tổng 26 Thể thuật toán rút gọn 28 4.3.1 Phương thức rút gọn biểu thức số hữu tỉ 28 4.3.2 Phương thức rút gọn lũy thừa 29 4.3.3 Phương thức rút gọn tích 29 4.3.4 Phương thức rút gọn tổng 30 4.3.5 Phương thức rút gọn 30 Cấu trúc đa thức biểu thức hữu tỉ 31 5.1 Đa thức biến 31 5.1.1 Phân tích 31 5.1.2 Các thể đơn thức đa thức biến 37 5.2 Đa thức nhiều biến 40 5.3 Đa thức tổng quát 40 5.3.1 Các toán tử đơn thức tổng quát 41 5.3.2 Các toán tử đa thức tổng quát 46 5.3.3 Các toán tử thao tác với đa thức tổng quát 50 5.4 Thuật toán rút gọn 21 4.2.1 4.3 Các phép biến đổi sử dụng trình rút gọn biểu thức 14 Biểu thức hữu tỉ tổng quát 54 5.4.1 Toán tử 𝑁𝑢𝑚𝑒𝑟𝑎𝑡𝑜𝑟 𝐷𝑒𝑛𝑜𝑚𝑖𝑛𝑎𝑡𝑜𝑟 54 5.4.2 Toán tử RationalGPE 55 5.4.3 Toán tử RationalVariables 55 5.4.4 Hữu tỉ hóa biểu thức đại số 55 5.4.5 Thể biểu thức hữu tỉ 57 Các toán tử hệ thống SMC 58 6.1 Khai triển Taylor 58 6.1.1 Toán tử 𝐷𝑒𝑟𝑖𝑣𝑎𝑡𝑖𝑣𝑒 58 6.1.2 Toán tử 𝐻𝑖𝑔ℎ𝑒𝑟𝐷𝑒𝑟𝑖𝑣𝑎𝑡𝑖𝑣𝑒 59 6.1.3 6.2 Toán tử 𝑇𝑎𝑦𝑙𝑜𝑟Series 60 Các toán tử khác 60 6.2.1 Toán tử 𝑀𝐼𝑁𝐹 60 6.2.2 Toán tử 𝑀𝐴𝑋𝐹 61 6.2.3 Toán tử 𝐷𝐸𝑈𝑃 62 Kiểm thử 63 Kết luận 66 Tài liệu tham khảo 67 Phụ lục Danh mục hình ảnh Hình 1.1 Thủ tục tìm ước chung lớn hai số nguyên a b Hình 1.2 Thủ tục rút gọn số hữu tỉ Hình 3.1 Thuật toán đệ quy tìm giai thừa số nguyên không âm 13 Hình 3.2 Thủ tục thực toán tử 𝐶𝑜𝑚𝑝𝑙𝑒𝑡𝑒𝑆𝑢𝑏𝐸𝑥𝑝𝑟𝑒𝑠𝑠𝑖𝑜𝑛 14 Hình 3.3 Thủ tục thực toán tử 𝐹𝑟𝑒𝑒𝑂𝑓 14 Hình 4.1 Phương thức tạo nút gốc lớp Bae 21 Hình 4.2 Thủ tục rút gọn 22 Hình 4.3 Thủ tục thực toán tử 𝑆𝑖𝑚𝑝𝑙𝑖𝑓𝑦𝑅𝑁𝐸 23 Hình 4.4 Phương thức 𝑠𝑖𝑚𝑝𝑙𝑖𝑓𝑦𝑅𝑁𝐸 28 Hình 4.5 Phương thức 𝑠𝑖𝑚𝑝𝑙𝑖𝑓𝑦𝑃𝑜𝑤𝑒𝑟 29 Hình 4.6 Phương thức 𝑠𝑖𝑚𝑝𝑙𝑖𝑓𝑦𝑃𝑟𝑜𝑑𝑢𝑐𝑡 30 Hình 4.7 Phương thức 𝑠𝑖𝑚𝑝𝑙𝑖𝑓𝑦𝑆𝑢𝑚 30 Hình 4.8 Phương thức 𝑆𝑖𝑚𝑝𝑙𝑖𝑓𝑦 31 Hình 5.1 Thủ tục thực toán tử 𝑀𝑜𝑛𝑜𝑚𝑖𝑎𝑙𝑆𝑉 33 Hình 5.2 Thủ tục thực toán tử 𝑃𝑜𝑙𝑦𝑛𝑜𝑚𝑖𝑎𝑙𝑆𝑉 33 Hình 5.3 Thủ tục thực thực toán tử 𝐷𝑒𝑔𝑟𝑒𝑒𝑀𝑜𝑛𝑜𝑚𝑖𝑎𝑙𝑆𝑉 34 Hình 5.4 Thủ tục thực thực toán tử 𝐷𝑒𝑔𝑟𝑒𝑒𝑆𝑉 35 Hình 5.5 Thủ tục thực toán tử 𝐶𝑜𝑒𝑓𝑓𝑖𝑐𝑖𝑒𝑛𝑡𝑀𝑜𝑛𝑜𝑚𝑖𝑎𝑙𝑆𝑉 36 Hình 5.6 Thủ tục thực toán tử 𝐶𝑜𝑒𝑓𝑓𝑖𝑐𝑖𝑒𝑛𝑡𝑆𝑉 36 Hình 5.7 Phương thức 𝑚𝑜𝑛𝑜𝑚𝑖𝑎𝑙𝑆𝑉 38 Hình 5.8 Phương thức khởi tạo 𝑀𝑜𝑛𝑜𝑚𝑖𝑎𝑙𝑆𝑉 38 Hình 5.9 Phương thức 𝑝𝑜𝑙𝑦𝑛𝑜𝑚𝑖𝑎𝑙𝑆𝑉 39 Hình 5.10 Phương thức khởi tạo 𝑃𝑜𝑙𝑦𝑛𝑜𝑚𝑖𝑎𝑙𝑆𝑉 39 Hình 5.11 Thủ tục thực toán tử 𝑀𝑜𝑛𝑜𝑚𝑖𝑎𝑙𝐺𝑃𝐸 42 Hình 5.12 Thủ tục thực toán tử 𝐶𝑜𝑒𝑓𝑓𝑖𝑐𝑖𝑒𝑛𝑡𝐺𝑀𝐸 43 Hình 5.13 Phương thức 𝑚𝑜𝑛𝑜𝑚𝑖𝑎𝑙𝐺𝑝𝑒 45 Hình 5.14 Thủ tục thực toán tử 𝑃𝑜𝑙𝑦𝑛𝑜𝑚𝑖𝑎𝑙𝐺𝑃𝐸 46 Hình 5.15 Phương thức 𝑝𝑜𝑙𝑦𝑛𝑜𝑚𝑖𝑎𝑙𝐺𝑝𝑒 50 Hình 5.16 Thủ tục thực toán tử 𝐶𝑜𝑙𝑙𝑒𝑐𝑡𝑇𝑒𝑟𝑚 52 Hình 5.17 Thủ tục 𝐸𝑥𝑝𝑎𝑛𝑑 53 Hình 5.18 Thủ tục thực toán tử 𝑅𝑎𝑡𝑖𝑜𝑛𝑎𝑙𝑖𝑧𝑒𝐸𝑥𝑝𝑟𝑒𝑠𝑠𝑖𝑜𝑛 57 Hình 6.1 Thủ tục thực toán tử 𝐷𝑒𝑟𝑖𝑣𝑎𝑡𝑖𝑣𝑒 59 Hình 6.2 Thủ tục thực toán tử 𝐻𝑖𝑔ℎ𝑒𝑟𝐷𝑒𝑟𝑖𝑣𝑎𝑡𝑖𝑣𝑒 59 Hình 6.3 Thủ tục thực toán tử 𝑇𝑎𝑦𝑙𝑜𝑟𝑆𝑒𝑟𝑖𝑒𝑠 60 Hình 6.4 Thủ tục thực toán tử 𝑀𝐼𝑁𝐹 61 Hình 6.5 Thủ tục thực toán tử 𝑀𝐴𝑋𝐹 62 Hình 6.6 Thủ tục thực toán tử 𝐷𝐸𝐷𝑈𝑃 63 Danh mục bảng Bảng 1.1 Các toán tử đại số Bảng 2.1 Thứ tự ưu tiên toán tử Bảng 2.2 Thứ tự ưu tiên toán tử cấp độ ngoặc 10 Bảng 4.1 Các thuộc tính lớp AnyNode 20 Bảng 4.2 Các phương thức lớp AnyNode 20 Bảng 4.3 Các thuộc tính lớp Bae 20 Bảng 4.4 Các phương thức lớp BAE 20 Bảng 5.1 Các thuộc tính lớp MonomialSV 37 Bảng 5.2 Các phương thức lớp MonomialSV 37 Bảng 5.3 Các thuộc tính lớp PolynomialSV 38 Bảng 5.4 Các phương thức lớp PolynomialSV 39 Bảng 5.5 Các thuộc tính lớp GeneralMonomial 43 Bảng 5.6 Các phương thức lớp GeneralMonomial 44 Bảng 5.7 Các thuộc tính lớp GeneralPolynomial 48 Bảng 5.8 Các phương thức lớp GeneralPolynomial 49 Bảng 5.9 Các thuộc tính lớp GenneralRationalExpression 57 Bảng 5.10 Các phương thức lớp GenneralRationalExpression 58 Danh mục chữ viết tắt Thuật ngữ/ Từ viết tắt BAE GRE SAE RNE gcd Mô tả Basic algebraic expression General rational expression Simpily algebraic expression Rational number expression Greatest common divisor Mở đầu Ngày nhà khoa học mô hình hóa tượng tự nhiên cách dịch kết thực nghiệm khái niệm lý thuyết vào biểu thức toán học chứa số, biến, hàm số toán tử Sau dựa vào định lý chứng minh để biến đổi chuyển thành biểu thức khác để khám phá tượng nghiên cứu Cách tiếp cận toán học thành phần quan trọng phương pháp nghiên cứu khoa học ngành khoa học Trong nửa kỉ qua máy tính trở thành thiết bị thiếu giúp giải vấn đề toán học Các nhà toán học thường xuyên sử dụng máy tính để tìm lời giải cho vấn đề khó khăn vấn đề thực phương pháp thủ công Trên thực tế máy tính thao tác với hai kí hiệu - thông qua luật thiết lập sẵn nên mong đợi tạo tiên đề, lý thuyết Tuy nhiên phần lý luận toán học thao tác máy móc, phân tích biểu thức… thực thuật toán Hiện có chương trình máy tính có khả rút gọn biểu thức, tích hợp chức phức tạp, giải xác phương trình… Các lĩnh vực toán học khoa học máy tính có liên quan đến vấn đề gọi đại số máy tính Đại số máy tính lĩnh vực khoa học đề cập tới việc nghiên cứu phát triển thuật toán phần mềm ứng dụng tính toán biểu thức toán học đối tượng toán học khác Trong hệ thống đại số máy tính phần đại số máy tính, chương trình phần mềm cho phép tính toán biểu thức toán học cách tương tự tính toán phương pháp thủ công mà nhà toán học khoa học thường sử dụng Hệ thống đại số máy tính gì? Hệ thống đại số máy tính chương trình phần mềm thực biến đổi biểu thức toán học yếu tố toán học rút gọn, giai thừa, lũy thừa… kết hợp với cấu trúc điều khiển vòng lặp, cấu trúc rẽ nhánh chương trình để tạo chương trình giải vấn đề toán học.[23] Hệ thống đại số máy tính đặc biệt hữu ích cho nhà toán học, khoa học chúng có nhiều chức tính toán biểu thức, xử lý biểu tượng (symbolic manipulation), giải phương trình… Tại lại cần hệ thống đại số máy tính?  Trên thực tế có toán vấn đề giải phương pháp thủ công  Các đáp án đưa phương pháp đại số thường ngắn gọn cung cấp thông tin mối liên hệ biến  Từ biểu thức đại số suy thay đổi tham số ảnh hưởng đến kết tính toán 13 private AnyNode degreeSV(AnyNode u, AnyNode x){ MonomialSV d = new MonomialSV(u, x); if(d.getDeg().getKey() != -38){ return d.getDeg(); }else if(AnyNode.kind(u).equals("+")){ int temp = 0; for(int i = 1; i 1) { result.add(new AnyNode(0, 1)); result.add(exponent); return result; } } else if (u.getKey() == -3) { AnyNode c = u; AnyNode m = new AnyNode(0, 0); ArrayList f = new ArrayList(); for (int i = 1; i [...]... số nguyên, phân số, số thực, định danh, hàm số, tập hợp, danh sách và các toán tử đại số, toán tử logic, toán tử quan hệ được mô tả ở trên 1.2 Tính toán biểu thức và chương trình toán học Tính toán biểu thức Thuật ngữ tính toán biểu thức liên quan đến các hành động trong hệ thống đại số máy tính để đáp ứng một biểu thức đầu vào Các hành động bao gồm: [13] 1 Phân tích cấu trúc của biểu thức và biến đổi... của một đa thức Các đa thức có thể biểu diễn được dưới dạng các biểu thức hữu hạn, khi đó biểu thức hữu hạn này sẽ có khả năng biểu diễn tập vô hạn các chuỗi Trong công cụ SMC có sử dụng hệ thống Mathematica (một hệ thống đại số máy tính) để xử lý các biểu thức đại số, xử lý đa thức và một số các tính toán khác Mục tiêu của luận văn Mục tiêu của luận văn là dựa vào nền tảng lý thuyết về toán học và các... bao gồm các biểu thức số học, đa thức, biểu thức đại số, biểu thức giải tích Trong phạm vi luận văn các mô tả và định nghĩa sẽ tập trung vào biểu thức đại số Phân loại toán tử trong biểu thức Các thuật ngữ sau áp dụng cho các toán tử trong biểu thức đại số, chúng được sử dụng để mô tả cấu trúc biểu thức Định nghĩa 2.2: Hai toán tử trong một biểu thức đại số có cấp độ ngoặc khác nhau nếu một toán tử ở... một thương mà hai toán hạng là các biểu thức đại số cơ bản 17 7 u là hiệu đơn phân hoặc nhị phân mà các toán hạng là các biểu thức đại số cơ bản 8 u là lũy thừa với hai toán hạng là các biểu thức đại số cơ bản 9 u là giai thừa với toán hạng là biểu thức đại số cơ bản 10 u là một hàm mà các toán hạng là các biểu thức đại số cơ bản Định nghĩa 4.2: Biểu thức đại số rút gọn: Một biểu thức rút gọn u (Simplified... mỗi toán tử mà sẽ có số toán hạng tương ứng 2.3 Cấu trúc thông thường của biểu thức đại số Cấu trúc thông thường của một biểu thức đại số trong hệ thống đại số máy tính tương tự như cấu trúc của một biểu thức trong toán học và trong các ngôn ngữ lập trình phổ biến Định nghĩa 2.4: Cho u là một biểu thức đại số Các toán tử trong u phải thỏa mãn: 1 Các toán tử + và − là toán tử tiền tố đơn phân hoặc toán. .. Undefined 4.1.1 Biểu thức đại số cơ bản và biểu thức đại số rút gọn Định nghĩa 4.1: Biểu thức đại số cơ bản (Basic algebraic expression - BAE): u là một biểu thức đại số cơ bản nếu thỏa mãn một trong số các luật sau: 1 2 3 4 5 6 u là số nguyên u là phân số u là một ký hiệu u là một tích mà các toán hạng là các biểu thức đại số cơ bản u là một tổng mà các toán hạng là các biểu thức đại số cơ bản u là... triển các hàm xử lý đa thức nhằm thay thế hoàn toàn Mathematica trong công cụ SMC Các vấn đề được nêu ra và xử lý trong phạm vi luận văn:  Xử lý biểu thức o Phân tích chuỗi đầu vào để nhận biết biểu thức o Tính giá trị biểu thức o Rút gọn biểu thức  Xử lý đa thức o Đa thức một biến, nhiều biến o Các phép toán cơ bản trên đa thức o Khai triển đa thức  Xây dựng các hàm xử lý cho hệ thống SMC o Tìm... Toán tử 𝑀𝑎𝑝 sẽ được trình bày trong phần Phụ lục 1 4.2.2 Rút gọn biểu thức số hữu tỉ Thuật toán trong Hình 4.3 sử dụng để tính toán biểu thức số học với số nguyên và phân số Đầu vào của thuật toán được mô tả trong Định nghĩa 4.4 dưới đây Định nghĩa 4.4: Một biểu thức đại số 𝑢 là một biểu thức số hữu tỉ nếu: 1 2 3 4 5 u là số nguyên u là phân số u là tổng nhị phân mà các toán hạng là các biểu thức số. .. gọn số hữu tỉ 2 Cấu trúc của biểu thức đại số Do biểu thức toán học là các đối tượng dữ liệu trong chương trình đại số máy tính nên hiểu về mối quan hệ giữa các toàn tử và các toán hạng của biểu thức là rất cần thiết Trong phần này luận văn sẽ mô tả về cấu trúc thông thường của một biểu thức toán học Định nghĩa 2.1: Một biểu thức toán học là sự kết hợp của các ký hiệu thông qua các luật Các ký hiệu toán. .. một hệ thống đại số máy tính hiệu quả thì điều quan trọng là phải hiểu rõ ràng về cấu trúc và ý nghĩa của các biểu thức toán học Về cơ bản biểu thức toán học trong ngôn ngữ giả mã cũng giống như các biểu thức toán học thông thường nhưng có một số thừa nhận để thích hợp trong môi trường tính toán Các biểu thức được mô tả bằng cấu trúc sử dụng các toán tử và các ký hiệu sau:  Số nguyên và phân số Một

Ngày đăng: 14/09/2016, 23:03

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w