Sử dụng sympy giải hệ phương trình
ĐẠI HỌC QUỐC GIA TP.HCMTRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TINĐỒ ÁN MÔN HỌC GVHD: PGS. TS. Đỗ Văn NhơnHVTH: Lê Thành NguyênMSHV: CH1301102TP HCM, Tháng 03 năm 2014MÔN: BIỂU DIỄN TRI THỨC VÀ SUY LUẬNTÌM HIỂU LẬP TRÌNH SYBOLICBỘ THƯ VIỆN SYMPY TRONG TÍNH TOÁN ĐẠI SỐ TRÊN MÁY TÍNHMỤC LỤC2DANH MỤC HÌNH, BẢNG3GVHD: PGS. TS. Đỗ Văn Nhơn HVTH: Lê Thành NguyênPHẦN 1: MỞ ĐẦUNgày nay, với sự phổ biến của máy tính điện tử cùng với sự bùng nổ về thông tinvà nhu cầu khai thác dữ liệu ngày càng cao trong nhiều lĩnh vực khác nhau như: kinh tế,xã hội, y tế, giáo dục, … Đồng thời, nhu cầu về các hệ thống có khả năng tổng hợp thôngtin và vận dụng sự hiểu biết của con người đưa ra những chỉ định, khuyến cáo, … đãđược đặt ra với sự ra đời của công nghệ tri thức. Từ đó, công nghệ tri thức được nghiên cứu nhằm đưa ra các mô hình tích lũy trithức (mô hình biểu diễn tri thức) của chuyên gia trên máy tính dưới dạng tập luật, tạo racác hệ thống có khả năng tư duy và suy nghĩ như con người, có khả năng suy luận đưa ranhững khuyến cáo, giải pháp tối ưu cho người dùng, đồng thời giúp con người nâng caobản thân. Việc lập luận trên dữ liệu và tri thức đã và đang mang lại cho con người nhữngthành công ngày càng tăng trong việc xử lý dữ liệu. Hiện nay, các ngành công nghệ trithức đang phát triển mạnh mẽ với nhiều hệ thống phục vụ trong nhiều cơ quan, xí nghiệp.Song song đó, các phương pháp suy diễn đã được nghiên cứu nhằm đảm bảo khảnăng giải quyết vấn đề trên các mô hình biểu diễn tri thức. Cùng với sự phát triển của cácmô hình biểu diễn tri thức, các phương pháp suy diễn hiện rất đa dạng và phong phú vàhầu hết là ở dưới dạng mô hình hoặc giải thuật mô phỏng và được cụ thể hóa ứng với mỗitrường hợp ứng dụng thực tế. Hiện nay, nhu cầu xây dựng các hệ chuyên gia ngày càngcao, đặc biệt, trong lĩnh vực giáo dục các phương pháp suy diễn đòi hỏi khả năng tínhtoán trên các dạng hàm, đa thức, giải phương trình,… với các biến và tham số không cốđịnh. Tuy nhiên, nếu sử dụng các ngôn ngữ lập trình thuần túy để giải quyết các bài toántrên là hết sức khó khăn.Từ những nhu cầu trên, các công cụ lập trình Symbolic đã ra đời và giải quyếtkhối lượng lớn các xử lý tính toán, nhất là tính toán symbolic như: Maple, Mathematica,… Tuy nhiên, các hệ thống này được thương mại với giá bản quyền đắt đỏ là cản trở lớncho các nhà phát triển các ứng dụng mã nguồn mở, các ứng dụng với quy mô nhỏ,…Trang 4GVHD: PGS. TS. Đỗ Văn Nhơn HVTH: Lê Thành NguyênTrong chuyên đề này sẽ nghiên cứu lập trình Symbolic với bộ thư viện mã nguồn mởSympy trên nên ngôn ngữ Python.Trang 5GVHD: PGS. TS. Đỗ Văn Nhơn HVTH: Lê Thành NguyênPHẦN 2: KHÁI QUÁT VỀ BIỂU DIỄN TRI THỨC2.1. TRI THỨCTri thức (Knowledge) là sự “hiểu biết” của người trong một phạm vi, lĩnh vực nàođó; được xem xét theo các mục tiêu hay các vấn đề nhất định[1].Ví dụ: − Tri thức về bệnh lao và khả năng điều trị bệnh lao của bác sĩ chuyên khoa LaoPhổi.− Tri thức về toán học đại số ở bậc trung học phổ thông và khả năng giải bải tậpcủa học sinh cấp III.Tri thức là một hệ thống phức tạp, đa dạng và trừu tượng bao gồm nhiều thành tốvới những mối liên hệ tác động qua lại [1] như: khái niệm, quan hệ, luật, sự kiện, … 2.2. BIỂU DIỄN TRI THỨCBiểu diễn tri thức (Knowledge Representation) là xây dựng mô hình biểu diễn trithức để đưa tri thức lên máy tổ chức lưu trữ và xử lý, đặc biệt là cho suy luận giải các vấnđề, các bài toán[1]. Tri thức trong thực tế rất đa dạng và phức tạp. Tùy những trường hợpcụ thể có thể sử dụng các cấu trúc dữ liệu cơ bản (dãy, danh sách, tập hợp, …), các cấutrúc trừu tượng (class) hoặc các ngôn ngữ đặc tả tri thức.2.3. CÁC PHƯƠNG PHÁP BIỂU DIỄN TRI THỨC2.3.1. Biểu diễn dựa trên logic hình thứcSử dụng các biểu thức logic hình thức trong một hệ thống logic để diễn đạt các sựkiện và các luật trong cơ sở tri thức. Phép tính logic vị từ cấp 1 được sử dụng phổ biếnnhất và có cả một ngôn ngữ lập trình hỗ trợ cho phương pháp này. Đó là ngôn ngữ lậptrình PROLOG. Trong ngôn ngữ PROLOG, chỉ cần khai báo các sự kiện và các luật.Hệthống sẽ tiến hành giải quyết vấn đề được yêu cầu dựa trên tri thức được khai báo.Trang 6GVHD: PGS. TS. Đỗ Văn Nhơn HVTH: Lê Thành Nguyên2.3.2. Hệ luật dẫnMỗi luật dẫn được phát biểu dưới dạng:if |