XÂY DỰNG MÔ HÌNH BIỂU DIỄN TRI THỨC HÌNH HỌC PHẲNG ỨNG DỤNG GIẢI BÀI TOÁN VECTOR

36 463 0
XÂY DỰNG MÔ HÌNH BIỂU DIỄN TRI THỨC HÌNH HỌC PHẲNG  ỨNG DỤNG GIẢI BÀI TOÁN VECTOR

Đ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

ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN KHOA KHOA HỌC MÁY TÍNH BÁO CÁO ĐỒ ÁN LẬP TRÌNH SYMBOLIC TRONG TRÍ TUỆ NHÂN TẠO XÂY DỰNG MÔ HÌNH BIỂU DIỄN TRI THỨC HÌNH HỌC PHẲNG ỨNG DỤNG GIẢI BÀI TOÁN VECTOR Giảng viên hướng dẫn: THS NGUYỄN ĐÌNH HIỂN Sinh viên thực hiện: NGUYỄN TRÍ HẢI 11520094 NGUYỄN HOÀNG NGHĨA 11520603 Lớp: Lớp môn học: Khoá: KHTN2011 CS314.E21.KHTN 2011 TP Hồ Chí Minh, Ngày 10 tháng 05 năm 2014 MỞ ĐẦU Trí tuệ nhân tạo lĩnh vực lớn quan trọng công nghệ thông tin Với nhiều hướng nghiên cứu khác mục tiêu xây dựng, mô lại trí tuệ người máy tính để xử lý vấn đề cách thông minh Trong đó, tri thức phần quan trọng Đóng vai trò việc đưa định người Dẫn đến việc cần thiết phải biểu diễn tri thức người máy tính để suy luận giải vấn đề Từ mô hình biểu diễn tri thức xây dựng để giải vấn đến Có nhiều mô hình biểu diễn tri thức khác nhau, chưa có mô hình giải vấn đề biểu diễn tri thức cách tổng quát Hiện mô hình COKB sử dụng tiếp tục mở rộng phù hợp mô hình hoá đặc trưng tri thức toán học Cùng với đó, người ta nghiên cứu cách biểu diễn tri thức người xây dựng chiến lược tìm kiếm lời giải cho suy diễn để có hệ thống thông minh có khả giải toán thông minh tương tự người Ứng dụng tri thức trên, đồ án xây dựng mô hình biểu diễn tri thức cho miền tri thức hình học phẳng (có giới hạn miền tri thức) áp dụng suy luận để xây dựng chương trình giải toán miền tri thức LỜI CẢM ƠN Lời chúng em xin bày tỏ lòng biết ơn sâu sắc tới ThS Nguyễn Đình Hiển, Khoa Khoa học Máy tính, Đại học Công nghệ Thông tin ĐHQG-HCM, tận tình hướng dẫn nhóm em kiến thức thiết yếu để hoàn thành đồ án Tiếp đến, xin cám ơn bạn lớp CS314.E21.KHTN nhóm trao đổi bổ sung kiến thức hỗ trợ cho việc hoàn thiện đồ án TP Hồ Chí Minh, Ngày 10 tháng 05 năm 2014 Nguyễn Trí Hải – Nguyễn Hoàng Nghĩa Báo cáo đồ án môn học Lập trình Symbolic GVHD: Ths Nguyễn Đình Hiển MỤC LỤC TỔNG QUAN ĐỒ ÁN I Mô hình tri thức hình học phẳng hệ giải toán tự động Mô hình tri thức hình học phẳng 2 Hệ giải toán vector tự động II Thu thập tri thức Tri thức vector 2 Các vấn đề cần giải miền tri thức vector III Biểu diễn tri thức Đối tượng tính toán (C-object) Mô hình COKB khyết 2.1 Tập C khái niệm đối tượng tính toán 2.2 Tập R quan hệ đối tượng 2.3 Tập Rules luật đối tượng phân cấp Mô hình toán 10 IV Thuật giải suy diễn 11 Rút gọn biểu thức vector 11 Chứng minh đẳng thức vector 13 Tối ưu lời giải 14 V Xây dựng ứng dụng 15 Cấu trúc lưu trữ 15 Công cụ hỗ trợ, lập trình 16 2.1 Kết nối C# với Maple 17 2.2 Thể kí hiệu, biểu thức toán học 17 2.3 Nhập đề theo ngôn ngữ tự nhiên 18 Xây dựng chương trình 20 3.1 Lập trình tính toán 20 3.2 Lập trình giao diện 21 VI Kiểm tra kết 25 VII Tổng kết 30 TÀI LIỆU THAM KHẢO 32 A Báo cáo đồ án môn học Lập trình Symbolic GVHD: Ths Nguyễn Đình Hiển TỔNG QUAN ĐỒ ÁN Tên đề tài Xây dựng mô hình biểu diễn tri thức hình học phẳng ứng dụng giải toán vector Giảng viên hướng dẫn ThS Nguyễn Đình Hiển Sinh viên thực Nguyễn Trí Hải, Nguyễn Hoàng Nghĩa Khoá học Khoá 2011 (Ngày nhập học: Tháng 09/2011) Thông tin liên lạc sinh viên STT Tên MSSV Email Nguyễn Trí Hải 11520094 11520094@gm.uit.edu.vn Nguyễn Hoàng Nghĩa 11520603 11520603@gm.uit.edu.vn Chương trình, ứng dụng sử dụng  Chương trình lập trình, hỗ trợ: Maple 13.0, Microsoft Visual Studio 12  Môi trường lập trình: Windows Forms, Maple Phân công thực Phân công Thực Tìm kiếm, tổng hợp tài liệu Cả nhóm Lên nội dung cần làm cho đề tài, tìm kiếm tài liệu: - Thời gian thực - Tổng hợp tài có liệu liên quan - Tìm hiểu chương trình, ứng dụng hỗ trợ Thực đồ án Nguyễn Trí Hải - Tìm hiểu, xây dụng nội dung ứng dụng Nguyễn Hoàng Nghĩa - Tổng hợp, xây dựng nội dung lý thuyết Cả nhóm - Viết báo cáo, trình bày slide - Sửa lỗi Báo cáo đồ án môn học Lập trình Symbolic GVHD: Ths Nguyễn Đình Hiển I Mô hình tri thức hình học phẳng hệ giải toán tự động Mô hình tri thức hình học phẳng Trí tuệ nhân tạo (Artificial Intelligent) khoa học máy tính giải vấn đề để máy tính có trí tuệ giống người Trong trí tuệ người, tri thức đóng góp quan trọng Vấn đề biểu diễn tri thức (Knowledge representation) máy tính từ nghiên cứu đề xuất phương pháp, mô hình giải vấn đề Đồ án tìm hiểu mô hình tri thức hình học phẳng có giới hạn miền tri thức Mặc dù kiến thức phổ thông miền tri thức hình học phẳng rộng nhiều vấn đề khác cần giải Do đó, khuôn khổ đồ án môn học giới hạn miền tri thức lại tìm hiểu mô hình biểu diễn cho Hệ giải toán vector tự động Từ mô hình biểu diễn tri thức, thiết kế thuật giải suy diễn để giải vấn đề liên quan đến miền tri thức biểu diễn Trong ta xây dựng hệ sở tri thức (Knowledge Based Systems) sử dụng tri thức để giải vấn đề hệ chuyên gia để giải vấn đề chuyên gia, hệ giải toán để hỗ trợ công việc tính giải toán Đặc biệt hệ giải toán tự động giáo dục, yêu cầu hệ giải toán phải cung cấp cho người dùng lời giải chi tiết cho toán Một hệ giải toán có yêu cầu việc giải dạng toán tổng quát miền tri thức xác định, thành phần quan trọng sở tri thức suy diễn Ở đây, báo cáo ứng dụng xây dựng hệ giải toán toán giáo dục miền tri thức vector biểu diễn Ứng dụng giải toán cụ thể vector cung cấp lời giải chi tiết cho toán cách dễ hiểu cho người dùng II Thu thập tri thức Bước dể xây dựng hệ sở tri thức cần phải thu thập tri thức Dựa hiểu biết, khả mục tiêu người thiết kế, ta thu thập lựa chọn tri thức phù hợp Như đề cập phần I, miền tri thức toán cần giải vector giới hạn miền tri thức phù hợp Tri thức vector Các khái niệm (concepts) luật (rules) thành phần cấu thành nên tri thức Một miền tri thức xác định xây dựng thành phần từ đơn giản đến phức tạp mối liên hệ thành phần Ta thu thập tổng hợp kiến thức từ thành phần đơn giản đến phức tạp Phần thu thập tri thức tham khảo trích từ [5]: Báo cáo đồ án môn học Lập trình Symbolic GVHD: Ths Nguyễn Đình Hiển Điểm: Điểm khái niệm đơn giản hình học Nó cấu trúc rỗng, định nghĩa thông qua hình ảnh chấm nhỏ trang giấy (mặt phẳng) Điểm ký hiệu thông qua chữ in hoa A, B, C,… Đường thẳng: Đường thẳng khái niệm với hình ảnh mép bàn, hay sợi căng Đoạn thẳng:  Đoạn thẳng đường thẳng bị giới hạn điểm  Trung điểm đoạn thẳng diểm thuộc đoạn thẳng chia đoạn thẳng thành phần Tam giác:  Tam giác hình gồm đoạn thẳng nối điểm không thẳng hàng với Tam giác tạo thành từ điểm A, B, C gọi tam giác ABC  Trung tuyến ứng với cạnh tam giác đoạn thẳng nối từ trung điểm đoạn đến đỉnh đối diện Mỗi tam giác có đường trung tuyến  đường trung tuyến tam giác cắt điểm Giao đường trung tuyến gọi trọng tâm tam giác Hình bình hành: Hình bình hành tứ giác có cạnh đối song song với Trong hình bình hành, đường chéo cắt trung điểm đường, họi tâm hình bình hành Vector:  Khái niệm: - Vector đoạn thẳng có hướng Tại ta xác định điểm đầu, điểm cuối - Vector có điểm đầu A, điểm cuối B gọi vector AB Kí hiệu: ⃗⃗⃗⃗⃗ AB vector ký hiệu a⃗ - Đường thẳng qua điểm đầu cuối vector gọi giá vector  Phương hướng vector: - Hướng vector xác định chiều từ điểm đầu đến điểm cuối vector - vector gọi phương giá chúng song song với  Vector nhau: - Độ dài vector khoảng cách điểm đầu cuối vector Ký ⃗⃗⃗⃗⃗ | = AB hiệu: |AB - Vector có độ dài gọi vector đơn vị Báo cáo đồ án môn học Lập trình Symbolic - GVHD: Ths Nguyễn Đình Hiển Hai vector gọi chúng có hướng độ đài Vector không vector có điểm đầu điểm cuối trùng Kí hiệu: ⃗0 Tổng vector:  Định nghĩa: - Cho vector a⃗ ⃗b Lấy điểm A tuỳ ý, vẽ ⃗⃗⃗⃗⃗ AB = a⃗ ⃗⃗⃗⃗⃗ BC = ⃗b Vector ⃗⃗⃗⃗⃗ AC gọi tổng hai vector a⃗ ⃗b Kí hiệu: ⃗⃗⃗⃗⃗ AC = a⃗ + ⃗b - Quy tắc điểm: Cho điểm A, B, C tuỳ ý ta có ⃗⃗⃗⃗⃗ AB + ⃗⃗⃗⃗⃗ BC = ⃗⃗⃗⃗⃗ AC Quy tắc hình bình hành: Nếu ABCD hình bình hành ⃗⃗⃗⃗⃗ AB + ⃗⃗⃗⃗⃗ AD = ⃗⃗⃗⃗⃗ AC - ⃗⃗⃗⃗⃗ ≠ ⃗⃗⃗⃗⃗ (AB CD)  Tính chất: Với vector a⃗, ⃗b, c tuỳ ý: - Tính giao hoán: a⃗ + ⃗b = ⃗b + a⃗; ⃗ ) + c = a⃗ + (b ⃗ + c); Tính kết hợp: (a⃗ + b - Tính chất vector không: a⃗ + ⃗0 = ⃗0 + a⃗ = a⃗ - Hiệu vector:  Vector đối: - Vector có độ dài ngược hướng với a⃗ gọi vector đối a⃗ Kí hiệu: −a⃗ - Mọi vector có vector đối ⃗ ⃗ - Vector đối  Định nghĩa: - ⃗ ) Kí Cho vector a⃗ ⃗b Ta gọi hiệu vector a⃗ ⃗b vector a⃗ + (−b hiệu: a⃗ − ⃗b - Với điểm tuỳ ý, ta có: ⃗⃗⃗⃗⃗ AB = ⃗⃗⃗⃗⃗ OA − ⃗⃗⃗⃗⃗ OB - I trung điểm đoạn thẳng AB ⃗⃗⃗ IA + ⃗⃗⃗ IB = ⃗0 G trọng tâm tam giác ABC ⃗⃗⃗⃗⃗ GA + ⃗⃗⃗⃗⃗ GB + ⃗⃗⃗⃗⃗ GC = ⃗0 - Tích vector với số:  Định nghĩa: - Cho số k ≠ Tích vector a⃗ với số k vector, kí hiệu ka⃗, hướng với a⃗ k > 0, ngược hướng với a⃗ k < có độ dài |k||a⃗| ⃗ = ⃗0 - a⃗ = 0, k0 Báo cáo đồ án môn học Lập trình Symbolic GVHD: Ths Nguyễn Đình Hiển  Tính chất: ⃗; - k(a⃗ + ⃗b) = ka⃗ + kb - (h + k)a⃗ = ha⃗ + ka⃗; h(ka⃗) = (hk)a⃗; a⃗ = a⃗, −1 a⃗ = −a⃗ - ⃗⃗⃗⃗⃗⃗ = 2MI ⃗⃗⃗⃗ Nếu I trung điểm AB, ta có với M: ⃗⃗⃗⃗⃗⃗ MA + MB ⃗⃗⃗⃗⃗⃗ + Nếu G trọng tâm tam giác A, B, C ta có với M: ⃗⃗⃗⃗⃗⃗ MA + MB - ⃗⃗⃗⃗⃗⃗ ⃗⃗⃗⃗⃗⃗ MC = 3MG Các vấn đề cần giải miền tri thức vector Từ miền tri thức thu ta xác định vấn đề cần giải (các toán) miền tri thức Đối với miền tri thức vector có dạng toán thường gặp rút gọn biểu thức vector chứng minh đẳng thức vector Ta xử lý dạng toán này:  Dạng toán rút gọn biểu thức vector: Đề tổng quát cho biểu thức vector yêu cầu người giải dùng công thức vector biết nhằm rút gọn thành phần (tối giản) Ví dụ 2.1: Rút gọn biểu thức vector: ⃗⃗⃗⃗⃗ AB + ⃗⃗⃗⃗⃗⃗ MN − ⃗⃗⃗⃗⃗ CB + ⃗⃗⃗⃗⃗ PQ + ⃗⃗⃗⃗⃗ CA + ⃗⃗⃗⃗⃗⃗ NM  Dạng toán chứng minh đẳng thức vector đa dạng bao gồm: - Bài toán chứng minh điều kiện: Đề cung cấp đẳng thức yêu cầu chứng minh đẳng thức tồn - Bài toán chứng minh có điều kiện quan hệ: Đề cung cấp đẳng thức quan hệ thành phần liên quan đẳng thức đó.Yêu cầu chứng minh đẳng thức tồn - Bài toán chứng minh có điều kiện phương trình: Đề cung cấp đẳng thức quan hệ dạng phương trình thành phần liên quan đẳng thức Yêu cầu chứng minh đẳng thức tồn - Bài toán chứng minh tổng quát: Là dạng tổng hợp dạng Đề cung cấp đẳng thức điều kiện dạng quan hệ tính toán Yêu cầu chứng minh đẳng thức tồn Ví dụ 2.2: Cho điểm A, B, C, D, J Trong J trung điểm đoạn AB Chứng minh: ⃗⃗⃗⃗⃗ ⃗⃗⃗⃗⃗ + BC ⃗⃗⃗⃗⃗ + DA ⃗⃗⃗⃗⃗ = ⃗⃗⃗⃗ AB + CD Ví dụ 2.3: Cho điểm A, B, C, D, E, F, K Trong E trung điểm đoạn AB, F trung điểm đoạn CD K trung điểm đoạn EF Chứng minh : ⃗⃗⃗⃗⃗ ⃗⃗⃗⃗⃗ = ⃗⃗⃗⃗ AB + ⃗⃗⃗⃗⃗ AC + ⃗⃗⃗⃗⃗ AD + 4AK Báo cáo đồ án môn học Lập trình Symbolic GVHD: Ths Nguyễn Đình Hiển III Biểu diễn tri thức Nhiệm vụ trí tuệ nhân tạo biểu diễn tri thức tìm kiếm tri thức miền biểu diễn Trong đó, biểu diễn tri thức đóng vai trò định đến khả hiệu hệ thống tri thức Có nhiều phương pháp khác để biểu diễn, mô hình tri thức Vấn đề lựa chọn, áp dụng phương pháp tri thức phù hợp điều quan trọng Việc lựa chọn sử dụng mô hình tri thức phải đảm bảo yêu cầu mặt biểu diễn lập trình:  Mô hình tri thức phải phù hợp với miền tri thức Các mô hình đơn giản chắn giải việc biểu diễn tri thức xác định Còn mô hình tri thức phức tạp gây tốn thời gian việc tìm hiểu, biểu diễn khó khăn mặt lập trình với thành phần không sử dụng đến  Sự độc lập mô hình tri thức thuật giải suy diễn điều cần thiết Việc độc lập giúp tách rời hai khâu trình xây dựng hệ tri thức giúp người xây dựng tập trung phần Đồng thời, việc mở rộng cải tiến đễ dàng ví thực độc lập Trong [1] đề cập mô hình biểu diễn tri thức phù hợp với hệ giải toán Trong đó, có mô hình đối tượng tính toán (C – Object) mô hình tri thức đối tượng tính toán COKB Ở ta áp dụng mô hình với việc rút gọn mô hình COKB để phù hợp với miền tri thức có Đối tượng tính toán (C-object) Tư tưởng hướng đối tượng (Object oriented) áp dụng biểu diễn tri thức Khi thành phần tri thức xem đối tượng với thành phần thuộc tính (states) hành vi (behavious) Ta sử dụng phù hợp định nghĩa [1], [4]: Gọi đối tượng tính toán (C – object) đối tượng O có cấu trúc: (1) Một danh sách thuộc tính Attr(O) = {x1, x2, …, xn} thuộc tính lấy giá trị miền xác định định, thuộc tính ta có quan hệ thể qua kiện, luật suy diễn hay công thức tính toán (2) Các hành vi liên quan đến suy diễn tính toán thuộc tính đối tượng hay kiện như: - Tìm bao đóng A ⊂ Attr(O) (Các thuộc tính suy từ A) Xác định tính giải toán suy diễn có dạng A  B Trong A ∈ Attr(O), B ∈ Attr(O) Cho biết trình xác định lời giải cho toán (A  B) Cho biết giá trị thuộc tính yêu cầu Ví dụ 3.1: Định nghĩa TAMGIAC với góc đỉnh A, B, C; cạnh a, b, c; đường đặc biệt tam giác; … với công thức liên hệ chúng (quan hệ) xác Báo cáo đồ án môn học Lập trình Symbolic GVHD: Ths Nguyễn Đình Hiển kí hiệu biểu thức chuyển sang dạng ảnh gif giúp dễ dàng thêm hình ảnh Để sử dụng thư viện động này, cần nhúng vào ứng dụng sử dụng phương thức sau:  GetFilePath(): khởi tạo đường dẫn lưu file ảnh  WriteEquation(): chuyển quy ước kí hiệu, biểu thức LaTex file ảnh gif Quy ước Latex thể Vector : \vec{x} => kết hiển thị x⃗⃗ 2.3 Nhập đề theo ngôn ngữ tự nhiên Xử lý đề ngôn ngữ tự nhiên người lả vấn đề khó hệ giải toán, tính chất ngôn ngữ đồng thời hạn chế công cụ hỗ trợ nên thường hệ giải toán tập trung vào việc giải toán Tuy nhiên, miền tri thức giới hạn dạng toán xử lý (2 dạng toán) nên ta áp dụng thuật giải đơn giản để xử lý đề theo ngôn ngữ tự nhiên với điều kiện định Việc xử lý đề bải theo tiêu chí: Tốc độ xử lý nhanh, không ảnh hưởng đến thời gian chạy chương trình thuật giải đơn giản giới hạn cho phép (thời gian tìm hiểu, kiến thức) Phương pháp dùng dựa cấu trúc chung đề từ đơn giản có sẵn Ta xét đến mô hình toán: (O, Facts),Goal Ta xét yêu tố đầu vào quy ước:  Tập O đối tượng tính toán gồm đối tượng miền tri thức với tên gọi cố định là: Điểm, đoạn thẳng, vector, tam giác, hình bình hành Ví dụ 5.2: Nhập vào: Cho điểm: A, B, C, D Chương trình xử lý thành: A,B,C,D: Diem  Tập Facts thuộc loại kiện định nghĩa trước (tương ứng với giả thiết) Trong đó, có thành phần quan hệ gồm quan hệ với tên gọi cố định: Trung điểm, trọng tâm, tâm trung tuyến Ví dụ 5.3: - Nhập vào: J trung điểm đoạn AB Chương trình chuyển thành: ["TrungDiem",J,Doan[A,B]]; - Nhập vào: K trọng tâm tam giác DEF Chương trình chuyển thành: ["TrongTam",K,TamGiac[D,E,F]]; - Nhập vào: O tâm hình bình hành ABCD Chương trình chuyển thành: ["Tam",O,HinhBinhHanh[A,B,C,D]]; - Nhập vào: NA = -2NB Chương trình chuyển thành: Vecto[N,A]= 2*Vecto[N,B]  Tập Goal có dạng biểu thức phương trình toán học (tương ứng với giả thiết) 18 Báo cáo đồ án môn học Lập trình Symbolic GVHD: Ths Nguyễn Đình Hiển Ví dụ 5.4: Nhập vào: Chứng minh đẳng thức: AB+AC+AD-4AK = Chương trình chuyển thành: Vecto[A,B] + Vecto[A,C] + Vecto[A,D] – 4*Vecto[A,K] = Vecto[0]  Một số quy ước: Danh sách thành phần dứng sau dấu `:` Tại yêu cầu đề bài, mặc định đoạn lúc nhập lả vector Một số ví dụ với liệu nhập vào: Ví dụ 5.5: Cho điểm: A, B, C, D, E, F, K Trong đó: E trung điểm đoạn AB, F trung điểm đoạn CD, K trung điểm đoạn EF Chứng minh : AB + AC + AD - 4*AK = begin_exercise kind_ex = "Chung_minh_Dang_thuc_Vecto" begin_hypothesis objects: A,B,C,D,E,F,K: Diem end_objects facts: ["TrungDiem",E,Doan[A,B]] ["TrungDiem",F,Doan[C,D]] ["TrungDiem",K,Doan[E,F]] end_facts end_hypothesis begin_goals Vecto[A,B] + Vecto[A,C] + Vecto[A,D] – 4*Vecto[A,K] = Vecto[0] end_goals end_exercise Ví dụ 5.6: Cho điểm: A, B, C, D, J Ta có: J trung điểm đoạn AB Chứng minh đẳng thức: AB + CD + BC + DA = 0, JD + JC = AD + BC begin_exercise kind_ex = "Chung_minh_Dang_thuc_Vecto" begin_hypothesis objects: A,B,C,D,J: Diem end_objects facts: 19 Báo cáo đồ án môn học Lập trình Symbolic GVHD: Ths Nguyễn Đình Hiển ["TrungDiem",J,Doan[A,B]] end_facts end_hypothesis begin_goals Vecto[A,B] + Vecto[C,D] + Vecto[B,C] + Vecto[D,A] = Vecto[0] Vecto[J,D] + Vecto[J,C] = Vecto[A,D] + Vecto[B,C] end_goals end_exercise Xây dựng chương trình 3.1 Lập trình tính toán Ta sử dụng ngôn ngữ lập trình hình thức (Symbolic Programming) hỗ trợ bơi Maple để lập trình xử lý tính toán Cấu trúc thao tác xây dựng chương trình Maple sau: Phần 1: Xây dựng hàm bản, hỗ trợ chương trình:  Các hàm xử lý, đọc file (đọc file thành phần biểu diễn): Sử dụng Maple đọc file định dạng văn có cấu trúc (như trình bày V.1) lưu vào cấu trúc phù hợp để xử lý  Các hàm hỗ trợ (các hàm thêm để xử lý chung lập trình): Các hàm phát sinh thêm để hỗ trợ xử lý cấu trúc tổng quát chương trình như: Lọc tên biến khỏi biểu thức, lấy tên thành phần danh sách, hàm xử lý list (mà Maple không hỗ trợ), …  Hàm xử lý mô hình toán (mạng tính toán): Các hàm hỗ trợ suy diễn mô hình mạng tính toán: Kiểm tra tên thuộc tính, xác định thành phần đối tượng, tìm kiếm dạng kiện (Facts) khác nhau, …  Hàm nhận dạng, phân loại kiện: Hàm dùng để nhận biế loại kiện phân loại mô hình (5 loại kiện khác nhau) để ta áo dụng xử lý  Các hàm hỗ trợ xuất nội dung hình: Các nội dung khác giả thiết, kết luận, lời giải, tóm tắt, cần có hàm hỗ trợ định dạng, thêm nội dung phù hợp Phần 2: Giải toán  Xử lý đề bài: Nội dung đề sau đọc từ file văn lưu trữ xử lý nhận diện phân loại để đưa vào thành phần ( hàm) phù hợp Sau tiến hành giải toán giải  Xây dựng suy diễn: Sử dụng giải thuật suy diễn (đã trình bày IV) hàm hỗ trợ để xây dựng suy diễn  Xử lý giải hoàn chỉnh: Các hàm xử lý hỗ trợ kết hợp lại thành thành phần hoàn chỉnh xử lý vấn đề chương trình 20 Báo cáo đồ án môn học Lập trình Symbolic GVHD: Ths Nguyễn Đình Hiển 3.2 Lập trình giao diện Chương trình gồm phần chính: Form chương trình, Form nhập đề ngôn ngữ tự nhiên, Form giúp đỡ, Form thông tin phần mềm, Class Maple Engine có nhiệm vụ kết nối với Maple Các thành phần Project: Khi chương trình mở, chương trình tự động kết nối với Maple thông qua class MapleEngine hàm LoadMapleEngine() Màn hình chương trình: Màn hình chương trình gồm phần: Thanh menu điều khiển chương trình, phần hiển thị đề phần hiển thị lời giải Thanh menu chương trình gồm: 21 Báo cáo đồ án môn học Lập trình Symbolic GVHD: Ths Nguyễn Đình Hiển  Menu “Bài toán”: chứa menu Mở, Giải: - SubMenu “Mở”: để mở toán phương thức từ tệp tin với cấu trúc định sẵn nhập tay ngôn ngữ tự nhiên có định dạng cấu trúc câu sẵn  “Từ tệp”: chương trình xuất hộp thoại mở tệp, chọn tệp txt phù hợp để mở toán:  “Nhập vào”: Nhập ngôn ngữ tự nhiên có bắt buộc cú pháp câu: 22 Báo cáo đồ án môn học Lập trình Symbolic - GVHD: Ths Nguyễn Đình Hiển SubMenu “Giải”: sau mở tệp nhập đề thành công khung hiển thị đề hiển thị đề tóm tắt lại đề ngôn ngữ tự nhiên, kí hiệu toán học:  Khi ta chọn “Giải” chương trình giải xuất kết khung hiển thị lời giải 23 Báo cáo đồ án môn học Lập trình Symbolic GVHD: Ths Nguyễn Đình Hiển  Menu “Thông tin”: cung cấp thông tin phần mềm  Menu “Giúp đỡ”: phần giúp đỡ sử dụng chương trình, cấu trúc tệp txt để nhập đề số toán mẫu để nhập tay  Menu “Thoát”: Thoát chương trình 24 Báo cáo đồ án môn học Lập trình Symbolic GVHD: Ths Nguyễn Đình Hiển VI Kiểm tra kết Kết thử nghiệm so sánh lời giải tự nhiên giải máy : Ví dụ 6.1: Cho điểm A, B, C, D, J Trong J trung điểm đoạn AB Chứng minh :  ⃗⃗⃗⃗⃗ AB + ⃗⃗⃗⃗⃗ CD + ⃗⃗⃗⃗⃗ BC + ⃗⃗⃗⃗⃗ DA = ⃗⃗⃗⃗  ⃗⃗⃗⃗ JD + ⃗⃗⃗ JC = ⃗⃗⃗⃗⃗ AD + ⃗⃗⃗⃗⃗ BC Lời giải tự nhiên ⃗⃗⃗⃗⃗ + Chứng minh :AB ⃗⃗⃗⃗⃗ CD + ⃗⃗⃗⃗⃗ BC + ⃗⃗⃗⃗⃗ DA = ⃗⃗⃗⃗ ⃗⃗⃗⃗⃗ + VT = (AB ⃗⃗⃗⃗⃗ ⃗⃗⃗⃗⃗ + DA ⃗⃗⃗⃗⃗ ) = BC) + (CD Lời giải chương trình Chứng minh : _ Bài giải _ Bước 1: VT = ⃗⃗⃗⃗⃗ AC + ⃗⃗⃗⃗⃗ CA = ⃗⃗⃗⃗ = = VP = Chứng minh : ⃗⃗⃗⃗ JD + ⃗⃗⃗ JC = ⃗⃗⃗⃗⃗ AD + ⃗⃗⃗⃗⃗ BC Ta chứng minh : ⃗⃗⃗ ) − (AD ⃗⃗⃗⃗⃗ + ⃗⃗⃗⃗ + JC (JD ⃗⃗⃗⃗⃗ BC) = ⃗⃗⃗⃗ = = = *Kết luận: ⃗⃗⃗ ) − ⃗⃗⃗⃗ + JC VT = (JD ⃗⃗⃗⃗⃗ + BC ⃗⃗⃗⃗⃗ ) (AD Chứng minh : _ Bài giải _ Bước 1: ⃗⃗⃗⃗ + ⃗⃗⃗ = (JD JC) + ⃗⃗⃗⃗⃗ + ⃗⃗⃗⃗⃗ (DA CB) VT = ⃗⃗⃗⃗⃗ ) + ⃗⃗⃗⃗ + DA = (JD ⃗⃗⃗ + ⃗⃗⃗⃗⃗ (JC CB) = ⃗⃗⃗ JA + ⃗⃗⃗ JB (∗) Vì J trung điểm AB Nên ⃗⃗⃗ JA + ⃗⃗⃗ JB = ⃗⃗⃗⃗ Do (*) = ⃗⃗⃗⃗ Suy = = = Bước 2: Vì: J trung điểm đoạn AB Do đó: VT = *Kết luận: 25 Nên: Báo cáo đồ án môn học Lập trình Symbolic GVHD: Ths Nguyễn Đình Hiển Ví dụ 6.2: Cho điểm A, B, C, D, E, F Chứng minh :  ⃗⃗⃗⃗⃗ AD + ⃗⃗⃗⃗⃗ BE + ⃗⃗⃗⃗ CF = ⃗⃗⃗⃗⃗ AE + ⃗⃗⃗⃗ BF + ⃗⃗⃗⃗⃗ CD ⃗⃗⃗⃗⃗ = ⃗⃗⃗⃗⃗ ⃗⃗⃗⃗ ⃗⃗⃗⃗ + CD  ⃗⃗⃗⃗⃗ AE + BF AF + ⃗⃗⃗⃗⃗ BD + CE Lời giải tự nhiên Chứng minh : Lời giải chương trình Chứng minh : ⃗⃗⃗⃗⃗ AD + ⃗⃗⃗⃗⃗ BE + ⃗⃗⃗⃗ CF = ⃗⃗⃗⃗⃗ AE + ⃗⃗⃗⃗ BF + ⃗⃗⃗⃗⃗ CD Bài giải ⃗⃗⃗⃗⃗ + ⃗⃗⃗⃗⃗ ⃗⃗⃗⃗ + Bước 1: (AE VT = ED) + (BF VT = ⃗⃗⃗⃗⃗ + ⃗⃗⃗⃗⃗ ⃗⃗⃗⃗ FE) + (CD DF) = ⃗⃗⃗⃗⃗ + BF ⃗⃗⃗⃗⃗ ) + (ED ⃗⃗⃗⃗ + CD ⃗⃗⃗⃗⃗ + (AE = = ⃗⃗⃗⃗⃗ DF + ⃗⃗⃗⃗ FE) = ⃗⃗⃗⃗⃗ + BF ⃗⃗⃗⃗⃗ ) + (EF ⃗⃗⃗⃗ + CD ⃗⃗⃗⃗ + FE ⃗⃗⃗⃗ ) = (AE ⃗⃗⃗⃗⃗ + BF ⃗⃗⃗⃗ + ⃗⃗⃗⃗⃗ = (AE CD) = VP = = = = *Kết luận: Chứng minh : ⃗⃗⃗⃗⃗ ⃗⃗⃗⃗⃗ ⃗⃗⃗⃗⃗ ⃗⃗⃗⃗ ⃗⃗⃗⃗ ⃗⃗⃗⃗⃗ AE + BF + CD = AF + BD + CE Chứng minh : ⃗⃗⃗⃗⃗ + ⃗⃗⃗⃗ ⃗⃗⃗⃗⃗ + (AF VT = FE) + (BD _ Bài giải ⃗⃗⃗⃗ + ⃗⃗⃗⃗⃗ ⃗⃗⃗⃗⃗ DF) + (CE ED) Bước 1: = ( ⃗⃗⃗⃗⃗ AF + ⃗⃗⃗⃗⃗ BD + ⃗⃗⃗⃗ CE ) + ( ⃗⃗⃗⃗ FE + VT = = ⃗⃗⃗⃗⃗ DF + ⃗⃗⃗⃗⃗ ED) = ⃗⃗⃗⃗⃗ + ⃗⃗⃗⃗⃗ ⃗⃗⃗⃗ ) + (DE ⃗⃗⃗⃗⃗ + ⃗⃗⃗⃗⃗ = (AF BD + CE ED) = = ⃗⃗⃗⃗⃗ AF + ⃗⃗⃗⃗⃗ BD + ⃗⃗⃗⃗ CE = VP = = = = *Kết luận: 26 Báo cáo đồ án môn học Lập trình Symbolic GVHD: Ths Nguyễn Đình Hiển Ví dụ 6.3: Cho điểm A, B, C, D, E, F, K Trong E trung điểm đoạn AB, F trung điểm đoạn CD K trung điểm đoạn EF Chứng minh rằng: Lời giải tự nhiên Lời giải chương trình ⃗⃗⃗⃗⃗ + ⃗⃗⃗⃗⃗ ⃗⃗⃗⃗⃗ + ⃗⃗⃗⃗⃗ VT = (AK KB) + (AK KC) Chứng minh : ⃗⃗⃗⃗⃗ + ⃗⃗⃗⃗⃗ ⃗⃗⃗⃗⃗ + (AK KD) - 4AK _ Bài giải _ Bước 1: ⃗⃗⃗⃗⃗ − 3AK ⃗⃗⃗⃗⃗ )+(−AK ⃗⃗⃗⃗⃗ + KC ⃗⃗⃗⃗⃗ + =(3AK VT = ⃗⃗⃗⃗⃗ ⃗⃗⃗⃗⃗ ) KD + KB = = ⃗⃗⃗⃗⃗ KA + ⃗⃗⃗⃗⃗ KC + ⃗⃗⃗⃗⃗ KD + ⃗⃗⃗⃗⃗ KB = ⃗⃗⃗⃗⃗ + ⃗⃗⃗⃗⃗ ⃗⃗⃗⃗⃗ + KC = ⃗⃗⃗⃗⃗ KA + KB KD (*) Vì E trung điểm AB nên ⃗⃗⃗⃗⃗ KA + ⃗⃗⃗⃗⃗ KB = ⃗⃗⃗⃗⃗ KE Vì F trung điểm CD nên ⃗⃗⃗⃗⃗ KC + ⃗⃗⃗⃗⃗ KD = ⃗⃗⃗⃗⃗ KF Do : (*) = ⃗⃗⃗⃗⃗ KE + ⃗⃗⃗⃗⃗ KF (**) Vì K trung điểm EF = = = = = Bước 2: Vì: E trung điểm đoạn AB Do đó: VT = Bước 3: Vì: F trung điểm đoạn CD ⃗⃗⃗⃗⃗ + KF ⃗⃗⃗⃗⃗ = ⃗⃗⃗⃗ nên KE Do (**) = ⃗⃗⃗⃗ = VP Nên: Do đó: VT = Bước 4: Vì: K trung điểm đoạn EF Do đó: VT = = *Kết luận: 27 Nên: Nên: Báo cáo đồ án môn học Lập trình Symbolic GVHD: Ths Nguyễn Đình Hiển Ví dụ 6.4: Cho điểm O, A, B, C, D, M Biết O tâm hình bình hành ABCD Chứng minh: ⃗⃗⃗⃗⃗⃗ = ⃗⃗⃗⃗⃗⃗ 4MO MA + ⃗⃗⃗⃗⃗⃗ MB + ⃗⃗⃗⃗⃗⃗ MC + ⃗⃗⃗⃗⃗⃗ MD Lời giải tự nhiên Ta chứng minh : ⃗⃗⃗⃗⃗⃗ − ( ⃗⃗⃗⃗⃗⃗ 4MO MA + ⃗⃗⃗⃗⃗⃗ MB + ⃗⃗⃗⃗⃗⃗ MC + ⃗⃗⃗⃗⃗⃗ MD) = ⃗⃗⃗⃗ Lời giải chương trình Chứng minh : _ Bài giải _ Bước 1: VT = ⃗⃗⃗⃗⃗⃗ − ⃗⃗⃗⃗⃗⃗ ⃗⃗⃗⃗⃗⃗ − ⃗⃗⃗⃗⃗⃗ − MC VT = 4MO MA − MB ⃗⃗⃗⃗⃗⃗ MD = ⃗⃗⃗⃗⃗⃗ + ⃗⃗⃗⃗⃗⃗ = 4MO AM + ⃗⃗⃗⃗⃗⃗ BM + ⃗⃗⃗⃗⃗⃗ CM + ⃗⃗⃗⃗⃗⃗ DM = ⃗⃗⃗⃗⃗⃗ + (AO ⃗⃗⃗⃗⃗ + OM ⃗⃗⃗⃗⃗⃗ ) + (BO ⃗⃗⃗⃗⃗ + = 4MO ⃗⃗⃗⃗⃗⃗ ⃗⃗⃗⃗⃗ + ⃗⃗⃗⃗⃗⃗ ⃗⃗⃗⃗⃗ + OM) + (CO OM) + (DO = = = = = ⃗⃗⃗⃗⃗⃗ OM) = ⃗⃗⃗⃗⃗⃗ ⃗⃗⃗⃗⃗⃗ ⃗⃗⃗⃗⃗ ⃗⃗⃗⃗⃗ = 4MO + 4OM + (AO + BO) + = ⃗⃗⃗⃗⃗ ⃗⃗⃗⃗⃗ (CO + DO) Bước 2: Vì: O tâm hình bình hành ABCD Nên: O ⃗⃗⃗⃗⃗ + ⃗⃗⃗⃗⃗ ⃗⃗⃗⃗⃗ + ⃗⃗⃗⃗⃗ = (AO BO) + (CO DO)(*) trung điểm đoạn AC , O trung điểm đoạn BD Vì O tâm hình bình hành Bước 3: Vì: O tâm hình bình hành ABCD Nên: ABCD Nên O trung điểm AC BD ⃗⃗⃗⃗⃗ + BO ⃗⃗⃗⃗⃗ = ⃗⃗⃗⃗ Suy : AO ⃗⃗⃗⃗⃗ CO + ⃗⃗⃗⃗⃗ DO = ⃗⃗⃗⃗ Do : (*) = ⃗⃗⃗⃗ = VP Do đó: VT = = Bước 4: Vì: O tâm hình bình hành ABCD Do đó: VT = *Kết luận: 28 Nên: Báo cáo đồ án môn học Lập trình Symbolic GVHD: Ths Nguyễn Đình Hiển ⃗⃗⃗⃗⃗ Chứng minh : Ví dụ 6.5: Cho điểm A, B, N, O Biết ⃗⃗⃗⃗⃗ NA = −2NB ⃗⃗⃗⃗⃗ + 2OB ⃗⃗⃗⃗⃗ = 3ON ⃗⃗⃗⃗⃗ OA Lời giải tự nhiên Ta chứng minh : ⃗⃗⃗⃗⃗ + 2OB ⃗⃗⃗⃗⃗ − 3ON ⃗⃗⃗⃗⃗ = ⃗⃗⃗⃗ OA VT ⃗⃗⃗⃗⃗ + 3NO ⃗⃗⃗⃗⃗ = ⃗⃗⃗⃗⃗ OA + 2OB ⃗⃗⃗⃗⃗ + ⃗⃗⃗⃗⃗ ⃗⃗⃗⃗⃗ + 2NO ⃗⃗⃗⃗⃗ = (NO OA) +2OB Lời giải chương trình Chứng minh : _ Bài giải Bước 1: VT = = ⃗⃗⃗⃗⃗ + 2NO ⃗⃗⃗⃗⃗ (*) = ⃗⃗⃗⃗⃗ NA + 2OB = ⃗⃗⃗⃗⃗ Vì ⃗⃗⃗⃗⃗ NA = −2NB Nên: (*) ⃗⃗⃗⃗⃗ + 2NO ⃗⃗⃗⃗⃗ ⃗⃗⃗⃗⃗ + 2OB = −2NB ⃗⃗⃗⃗⃗ + 2NO ⃗⃗⃗⃗⃗ ⃗⃗⃗⃗⃗ + 2OB = 2BN ⃗⃗⃗⃗⃗ + NO ⃗⃗⃗⃗⃗ ) ⃗⃗⃗⃗⃗ + OB = 2(BN ⃗⃗⃗⃗⃗ + NO ⃗⃗⃗⃗⃗ ) = 2(ON = ⃗⃗⃗⃗ = VP = = = Bước 2: Vì: Nên: Do đó: VT = *Kết luận: Ví dụ 6.6: Cho điểm M, N, A, B, C, P, Q Hãy rút gọn biểu thức sau : ⃗⃗⃗⃗⃗ AB + ⃗⃗⃗⃗⃗⃗ MN − ⃗⃗⃗⃗⃗ CB + ⃗⃗⃗⃗⃗ PQ + ⃗⃗⃗⃗⃗ CA + ⃗⃗⃗⃗⃗⃗ NM Lời giải tự nhiên Lời giải chương trình Ta có : Rút gọn biểu thức Vectơ : ⃗⃗⃗⃗⃗ ⃗⃗⃗⃗⃗ + PQ ⃗⃗⃗⃗⃗ + CA ⃗⃗⃗⃗⃗ + NM ⃗⃗⃗⃗⃗⃗ − CB ⃗⃗⃗⃗⃗⃗ AB + MN ⃗⃗⃗⃗⃗ + PQ ⃗⃗⃗⃗⃗ + CA ⃗⃗⃗⃗⃗ + NM ⃗⃗⃗⃗⃗⃗ + BC ⃗⃗⃗⃗⃗⃗ = ⃗⃗⃗⃗⃗ AB + MN _ Bài giải _ Bước 1: ⃗⃗⃗⃗⃗ + BC ⃗⃗⃗⃗⃗ ) + (MN ⃗⃗⃗⃗⃗ + CA ⃗⃗⃗⃗⃗ ⃗⃗⃗⃗⃗⃗ + NM ⃗⃗⃗⃗⃗⃗ ) +PQ = (AB ⃗⃗⃗⃗⃗ +⃗⃗⃗⃗ ⃗⃗⃗⃗⃗ + CA ⃗⃗⃗⃗⃗ = CA +PQ Ta có: = ⃗⃗⃗⃗⃗ + CA ⃗⃗⃗⃗⃗ ) +PQ ⃗⃗⃗⃗⃗ = (CA ⃗⃗⃗⃗⃗ = PQ = = = = *Kết luận: 29 Báo cáo đồ án môn học Lập trình Symbolic GVHD: Ths Nguyễn Đình Hiển Ví dụ 6.7: Cho điểm A, B, C, D, E, G, F Rút gọn biểu thức vectơ : ⃗⃗⃗⃗⃗ + CD ⃗⃗⃗⃗⃗ + EE ⃗⃗⃗⃗ ⃗⃗⃗⃗ + ⃗⃗⃗⃗⃗ ⃗⃗⃗⃗⃗ − ⃗⃗⃗⃗⃗ 2AB GA − BB ED − GF Lời giải tự nhiên Lời giải chương trình Ta có : Rút gọn biểu thức Vectơ : ⃗⃗⃗⃗⃗ + ⃗⃗⃗⃗⃗ 2AB CD + ⃗⃗⃗⃗ EE + ⃗⃗⃗⃗⃗ GA − ⃗⃗⃗⃗⃗ BB − ⃗⃗⃗⃗⃗ ED − ⃗⃗⃗⃗ GF Bài giải Bước 1: ⃗⃗⃗⃗⃗ + CD ⃗⃗⃗⃗⃗ + ⃗⃗⃗⃗⃗ ⃗⃗⃗⃗ = 2AB GA + ⃗⃗⃗⃗⃗ DE + FG Ta có: = ⃗⃗⃗⃗⃗ + ⃗⃗⃗⃗⃗ ⃗⃗⃗⃗⃗ + ⃗⃗⃗⃗⃗ = (GA AB) + ⃗⃗⃗⃗⃗ AB +(CD DE) + ⃗⃗⃗⃗ FG = = ⃗⃗⃗⃗⃗ GB + ⃗⃗⃗⃗⃗ AB + ⃗⃗⃗⃗ CE + ⃗⃗⃗⃗ FG = ⃗⃗⃗⃗⃗ + ⃗⃗⃗⃗ = (GB FG) + ⃗⃗⃗⃗⃗ AB + ⃗⃗⃗⃗ CE = ⃗⃗⃗⃗ FB + ⃗⃗⃗⃗⃗ AB + ⃗⃗⃗⃗ CE = = *Kết luận: VII Tổng kết Đồ án tìm hiểu, xây dựng mô hình biểu diễn tri thức hình học phẳng ứng dụng vào chương trình giải toán vector đơn giản Một số kết thực được:  Thu thập tri thức miền tri thức hình học phẳng  Tìm hiểu mô hình COKB, xây dựng lại mô hình COKB khuyết để giải toán vector  Áp dụng số kỹ thuật lập trình hình thức môn học  Xây dựng chương trình giải toán vector đơn giản tự động So với chương trình dạy học khác (như “Học tốt toán 10” công ty schoolnet, “Toán học trực tuyến” http://www.cadasa.vn/) thông qua tìm hiểu có ưu điểm việc giải trình bày bước phạm vi tri thức Nhưng phạm vi tri thức nhỏ nhiều so với chương trình toán phổ thông Về bản, đồ án đạt mục tiêu đặt Trong trình thực hiện, nhóm tìm hiểu xác định số hạn chế:  Miền tri thức giới hạn  Mô hình tri thức đơn giản, khó ứng dụng mở rộng dạng toán  Thuật giải áp dụng với liệu tri thức lớn xử lý chậm 30 Báo cáo đồ án môn học Lập trình Symbolic GVHD: Ths Nguyễn Đình Hiển Tri thức người đa dạng, mô hình biểu diễn tri thức giải số lĩnh vực định Do đó, đồ án cần có hướng phát triển tiếp tiếp theo:  Nghiên cứu, xây dựng mô hình biểu diễn tri thức cao cấp để mở rộng miền biểu diễn tri thức nâng cao khả xử lý chương trình  Cải tiến thuật giải, áp dụng kỹ thuật Heuristic để nâng cảo tốc độ xử lý  Ứng dụng chương trình tảng 31 Báo cáo đồ án môn học Lập trình Symbolic GVHD: Ths Nguyễn Đình Hiển TÀI LIỆU THAM KHẢO [1] Đỗ Văn Nhơn: Xây dựng hệ tính toán thông minh - Luận án tiến sĩ [2] Nguyễn Đình Hiển: Lập trình Maple – Bài giảng môn lập trình Symbolic, Đại học Công nghệ thông tin – ĐHQG HCM, 2014 [3] Nguyễn Thị Ngọc Diễm, Nguyễn Thị Thu Trang: Xây dựng hệ giải toán dựa sở tri thứ hình học giải tích chiều – khoá luận tốt nghiệp Đại học, Đại học Công nghệ thông tin – ĐHQG HCM, 2011 [4] Nhon Van Do: Computational Networks for Knowledge Representation, World Academy of Science, Engineering and Technology, Vol:3, 2009-08-21, pp 245-249 [5] http://www.vnschool.net: Toàn chương trình sách giáo khoa môn toán phần hình học THCS & THPT, 05/01/2014 32 [...]... hiểu, xây dựng được mô hình biểu diễn tri thức hình học phẳng và ứng dụng vào chương trình giải toán vector đơn giản Một số kết quả đã thực hiện được:  Thu thập tri thức trong miền tri thức hình học phẳng  Tìm hiểu mô hình COKB, xây dựng lại mô hình COKB khuyết để giải quyết bài toán vector  Áp dụng được một số kỹ thuật lập trình hình thức trong môn học  Xây dựng được chương trình giải toán vector. .. 2*Vecto[M, A]} 3 Mô hình bài toán Ta sử dụng mô hình mạng các C – object để xây dựng mô hình bài toán, mô hình bài toán để giải quyết vấn đề có dạng: (O, Facts), Goal Trong đó:  O là tập các đối tượng tính toán trong bài toán;  Facts là tập các sự kiện thuộc các loại đã định nghĩa ở trên;  Goal là mục tiêu của bài toán có dạng một biểu thức hay phương trình Ví dụ 3.3: Mô hình bài toán: O = {A,B,C,D,E,F};... một quá trình suy diễn tự nhiên giống với cách giải quyết vấn đề của con người Ta sẽ sử dụng phương pháp này để thiết kế thuật giải suy diễn 1 Rút gọn biểu thức vector Bài toán Cho một biểu thức vector đơn giản Yêu cầu rút gọn biểu thức vector đó Input Mô hình bài toán Output Biểu thức đã được rút gọn (theo nghĩa tối giản nhất có thể) và các thao tác rút gọn Thuật giải Đối với dạng bài tập rút gọn đơn... định được một số hạn chế:  Miền tri thức còn giới hạn  Mô hình tri thức còn đơn giản, khó có thể ứng dụng khi mở rộng các dạng toán  Thuật giải khi được áp dụng với bộ dữ liệu tri thức lớn có thể xử lý chậm 30 Báo cáo đồ án môn học Lập trình Symbolic GVHD: Ths Nguyễn Đình Hiển Tri thức của con người rất đa dạng, các mô hình biểu diễn tri thức ở hiện tại chỉ có thể giải quyết được trong một số lĩnh... đồ án môn học Lập trình Symbolic GVHD: Ths Nguyễn Đình Hiển 2 Chứng minh đẳng thức vector Dạng bài toán chứng minh đẳng thức vector có nhiều dạng khác nhau Ta sẽ xử lý dạng tổng quát nhất để giải quyết được toàn bộ các dạng Bài toán Cho một danh sách các đối tượng (thuộc miền tri thức vector) và các quan hệ giữa các đối tượng đó Yêu cầu chứng minh một đẳng thức vector cho trước Input Mô hình bài toán. .. án môn học Lập trình Symbolic GVHD: Ths Nguyễn Đình Hiển V Xây dựng ứng dụng Sau khi thu thập tri thức và xây dựng mô hình, cấu trúc cụ thể ta tiến hành xây dựng chương trình ứng dụng Các vấn đề cần quan tâm khi tiến hành lập trình là sử dụng cấu trúc dữ liệu biễu diễn tri thức; ngôn ngữ, công cụ lập trình phù hợp và giải quyết các vấn đề về kỹ thuật lập trình 1 Cấu trúc lưu trữ Đầu tiên ta cần xây dựng. .. định Do đó, đồ án cần có các hướng phát tri n tiếp tiếp theo:  Nghiên cứu, xây dựng các mô hình biểu diễn tri thức cao cấp hơn để có thể mở rộng miền biểu diễn tri thức và nâng cao khả năng xử lý của chương trình  Cải tiến thuật giải, áp dụng các kỹ thuật Heuristic để nâng cảo tốc độ xử lý  Ứng dụng chương trình trên các nền tảng mới 31 Báo cáo đồ án môn học Lập trình Symbolic GVHD: Ths Nguyễn Đình... các toán tử; Rules là tập các luật được phân lớp Đối với miền tri thức xác định được xét ở đây (miền tri thức về vector) ta thấy các quan hệ phân cấp khá đơn giản, cấp thấp và các toán tử cũng chỉ sử dụng 2 toán tử thông dụng là `+`, `-` và `*` với 1 số thực Do đó, ta có thể xem xét ta không cần phải xây dựng tập phân cấp và toán tử riêng nhằm làm đơn giản thao tác biểu diễn và lập trình khi ứng dụng. .. Mô hình bài toán Output Kết quả chứng minh bài toán và các thao tác chứng minh Thuật giải Thuật giải suy diễn tiến được áp dụng Ta cần lưu lại danh sách các luật được áp dụng và kết quả Các biến sử dụng:  exp: Dạng đẳng thức, lưu trữ đẳng thức cần chứng minh exp có dạng exp.L = exp.R với L và R là các biểu thức vector  sol: Dạng danh sách, danh sách các luật được áp dụng Bao gồm cả danh sách các đối... hành[A,B,C,D]} => {Vector[ A, B] + Vector[ A, D] = Vector[ A, C] , Vector[ C, B] + Vector[ C, D] = Vector[ C, A] , Vector[ B, A] + Vector[ B, D] = Vector[ B, D], Vector[ D, A] + Vector[ D, C] = Vector[ D, B], Vector[ B, C] = Vector[ A, D], Vector[ A, B] = Vector[ D, C]} {[A, ”Điểm”], [B, ”Điểm”], [M, ”Điểm”], ["Trung điểm", M, Đoạn[A,B]]} => {Vector[ M, A] + Vector[ M, B] = Vector[ 0], Vecto[A, M] + Vecto[B, M] = Vecto[0], Vecto[A,

Ngày đăng: 01/04/2016, 16:40

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan