Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 12 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
12
Dung lượng
762,13 KB
Nội dung
ĐẠ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 CAO HỌC KHÓA 6 BIỂU DIỄN TRI THỨC HÓA HỌC LỚP 8 THEO CÁCH TỰ NHIÊN HVTH: Phạm Nguyễn Trường An MSHV: CH1101062 GVHD: PGS. TS. ĐỖ VĂN NHƠN Báo cáo cuối kỳ BIỂU DIỄN TRI THỨC & ỨNG DỤNG Phạm Nguyễn Trường An Biểu diễn tri thức và ứng dụng Mục lục I.Đặt vấn đề 3 1.Giới thiệu tổng quan 3 a.Bài toán điều chế hóa chất 3 b.Hạn chế của mô hình mạng tính toán trình bày trong sách giáo khoa 4 2.Đặt vấn đề 4 II.Mô hình tri thức 5 1.Ý tưởng chính: 5 2.Tri thức và lưu trữ 6 3.Bộ suy diễn 7 III.Cài đặt và thử nghiệm 9 1.Cách thức thử nghiệm 9 2.Chương trình thử nghiệm 9 IV.Kết luận và hướng phát triển 10 V.TÀI LIỆU THAM KHẢO: 11 GVHD: PGS.TS. ĐỖ VĂN NHƠN Trang 2/12 Phạm Nguyễn Trường An Biểu diễn tri thức và ứng dụng I. Đặt vấn đề. 1. Giới thiệu tổng quan a. Bài toán điều chế hóa chất Một trong số các bài tập hóa học trong chương trình phổ thông là yêu cầu điều chế trong hóa chất. Theo đó ta phải tìm được một tập các phương trình để điều chế các chất trong tập B từ các chất trong tập A. Ví dụ, với bài toán điều chế Na 2 SO 4 , H 2 SO 4 ,HCl, Na mà chỉ sử dụng các chất: S, H 2 O, NaCl, ta có thể có lời giải như sau: H 2 O + NaCl ® NaOH + H 2 + Cl 2 H 2 + Cl 2 ® HCl H 2 O ® O 2 + H 2 NaCl ® Cl 2 + Na S + O 2 ® SO 2 SO 2 + O 2 ® SO 3 SO 3 + H 2 O ® H 2 SO 4 H 2 SO 4 + NaOH ® Na 2 SO 4 + H 2 O Bài tập này này có thể được biểu diễn và giải quyết bằng mô hình mạng tính toán[1]. Cho một mạng tính toán (M, F) trong đó M là tập các hóa chất. Và F là tập tất cả các phương trình phản ứng có thể có giữa các chất đó. Khi biểu diễn bằng mô hình mạng tính toán, điểm khác biệt duy nhất giữa bài tập điều chế hóa chất và bài tập giải tam giác đã trình bày trong sách giáo khoa đó là các phương trình hóa học chỉ xảy ra theo một chiều. Điểm khác nhau này đòi hỏi thuật giải suy diễn phải được tinh chỉnh, nhưng sự tinh chỉnh này là không đáng kể. Vì thế về cơ bạn mạng tính toán là một mô hình nhanh gọn để giải quyết vấn đề. GVHD: PGS.TS. ĐỖ VĂN NHƠN Trang 3/12 Phạm Nguyễn Trường An Biểu diễn tri thức và ứng dụng b. Hạn chế của mô hình mạng tính toán trình bày trong sách giáo khoa. Tuy ta có thể dùng mạng tính toán phục vụ việc giải quyết vấn đề rất hiệu quả nhưng khi ta mở rộng bài toán lên những mức cao hơn, tổng quát hơn mạng tính toán khá nhiều hạn chế do việc bỏ sót thông tin. Tất cả thông tin về tính chất hóa học, thành phần, cấu tạo đều bị bỏ qua. Như vậy, về chúng ta không thể phân biệt được trường hợp các chất đồng phân - đồng dạng, và không thể giải quyết các vấn đề liên quan đến tích chất của các chất hóa học này. Hạn chế thứ hai của mô hình mạng tính toán là cách biểu diễn tri thức hóa học không được tự nhiên. Thực tế tri thức của con người về hóa học không đơn thuần là việc học thuộc tất cả các phản ứng có thể xảy ra. Tri thức con người về hóa học là sự phân loại các hóa chất theo từng nhóm và từ đó giải thích cũng như dự đoán các phản ứng có thể xảy ra dựa trên tính chất của các nhóm này. Việc không biểu diễn được tri thức một cách tự nhiên khiến cho mô hình mạng tính toán không thể áp dụng để xây dựng ứng dụng thực tiễn vì tri thức sau khi thu thập cần phải được tái tổ chức theo mô hình. Và kết quả suy luận của mô hình cũng không cho diễn giải chi tiết theo cách con người. 2. Đặt vấn đề. Chính từ những hạn chế trên của mô hình mạng tính toán. Báo cáo này đặt mục tiêu đề xuất một mô hình khác dựa trên cùng ý tưởng nhưng có sửa đổi, cải tiến để khắc phục những nhược điểm và mở ra khả năng cài đặt một số tính năng mới như sau: 1. Có thể chấn nhận đề bài là mô tả của một chất chứ không chỉ là công thức hóa học của chất đó. Ví dụ: Có thể nhập “Một muối canxi vô cơ không tan” thay vì nhập “CaCO 3 ”. 2. Thứ hai, tri thức của chương trình không phải chỉ gò bó trong một tập hợp hữu hạn các hóa chất, mà có thể áp dụng cho tất cả các hóa chất thỏa mãn mô tả nào đó, ví dụ như tập “các muối vô cơ”, “các base”, v.v Trong khuôn khổ môn học này tạm thời chỉ giới hạn xử lý tri thức về các hóa chất nằm trong phạm vi kiến thức của chương trình Trung học Cơ sở, mà cụ thể là các acid, base, muối vô cơ. Bỏ qua các chi tiết về thành phần cấu tạo của chất, bỏ qua tính GVHD: PGS.TS. ĐỖ VĂN NHƠN Trang 4/12 Phạm Nguyễn Trường An Biểu diễn tri thức và ứng dụng ôxy hóa – khử, v.v (tạm coi như các hợp chất quá loãng để thể hiện tính oxy hóa – khử). Người dùng có thể cho đầu bài là bất kỳ chất nào trong phạm vi này mà không cần thiết phải định nghĩa trước chất đó trong cơ sở tri thức. II. Mô hình tri thức 1. Ý tưởng chính: Tham khảo ý tưởng của mô hình mạng đối tượng tính toán trong tài liệu số [II] và [III]. Báo cáo đề xuất mô hình gồm hai tập hợp. là tập các đối tượng có tính phân cấp O và tập luật R. Mỗi đối tượng trong tập O có một nhiều thuộc tính tùy theo loại đối tượng, các thuộc tính này có thể mang một giá trị nào đó, cũng có thể là một đối tượng hoặc tập hợp đối tượng khác. Trong phạm vi khảo sát của nhóm, tri thức tập trung chủ yếu trong chương trình hóa học cấp II, chỉ bao gồm 3 loại hóa chất vô cơ là acid, base và muối. Tập O hiện tại chỉ có 2 đối tượng “Hợp chất” và “Đơn chất”. Hợp chất đại diện cho một muối, acid hay base nào đó và có các thuộc tính (các giá trị đằng sau dấu “=” mang tính ví dụ): Hợp chất = { Loại = “Acid” , Thành_phần = { đơn chất, đơn chất } , Tính_chất = “dễ phân Hủy” } Một Đơn chất đại diện cho một ion cấu thành nên acid, base hoặc muối và sẽ có các thuộc tính: Đơn chất = { Loại = “Kim loại” , Công_thức = “Ca”, Hóa_trị = 2, Tên_gọi = “Canxi” } Bài toán điều chế trong mô hình đối tượng này sẽ biểu diễn lại thành từ một tập A các hợp chất đã có, ta tìm cách điều chế ra các hợp chất chưa có trong tập B. Các hợp chất được mô tả thông qua các thuộc tính và chúng ta có thể xác định hợp chất ngay cả khi không biết công thức của từng thành phần - điều không thể làm được với mô hình mạng tính toán. Tập các luật R sẽ bao gồm hai nhóm luật chính. Nhóm 1 nội suy các thuộc tính chưa biết của một chất từ các thuộc tính đã biết. Ví dụ tri thức Muối Canxi Sulfat khó tan trong nước có thể được biển diễn bằng luật: GVHD: PGS.TS. ĐỖ VĂN NHƠN Trang 5/12 Phạm Nguyễn Trường An Biểu diễn tri thức và ứng dụng “Nếu hợp chất A có Loại(A) = “Muối” ∧ Thành_phần(A,1).Công_thức = “Ca ∧ Thành_phần(A, 2).Công_thức = “SO 4 ” Thì Tính_chất(A) = “Kết tủa” Nhóm 2 xác định quy tắc phản ứng giữa các chất và là cơ sở để điều chế ra chất mới nhằm giải quyết bài toán, ví dụ: “Hai muối dễ tan phản ứng với nhau tạo ra hai muối mới nếu có ít nhất một trong hai muối mới kết tủa” Hệ suy diễn trên mô hình này sẽ được cài đặt bằng thuật giải suy diễn tiến tương tự như các giải thuật trên mạng tính toán được nêu trong [1]. 2. Tri thức và lưu trữ Hiện tại do một số hạn chế trong khả năng cài đặt cũng như thời gian, chương trình chỉ chấp nhận cho người dùng bổ sung, cập nhật các luật trong Nhóm 1 được nêu ở trên. Nhóm 2 hiện tại gồm 4 luật và đã được cài chết (hard code) vào trong mã nguồn của chương trình, các luật đó gồm: 1. Muối tan phản ứng với base tan tạo ra muối mới base mới nếu trong hai chất tạo ra có chất kết tủa hoặc bay hơi. 2. Muối phản ứng với acid tan tạo ra muối mới acid mới nếu trong hai chất tạo ra có chất kết tủa hoặc bay hơi. 3. Muối phản ứng với muối ra 2 muối mới nếu trong hai chất tạo ra có chất kết tủa hoặc bay hơi. 4. Acid phản ứng với base tạo ra muối và nước. Các luật nhóm một hiện tại trong phần điều kiện, nhóm chỉ hỗ trợ mệnh đề logic với chỉ 2 phép toán AND và NOT, không hỗ trợ ngoặc. Luật được lưu trữ bằng xml với cú pháp như sau: GVHD: PGS.TS. ĐỖ VĂN NHƠN Trang 6/12 Phạm Nguyễn Trường An Biểu diễn tri thức và ứng dụng Trong đó tag Mota chứa một nội dung bất kỳ, có thể dùng để chứa nội dung của luật ở dạng ngôn ngữ tự nhiên. Tag IF chứa phần điều kiện của luật bao gồm hai tag con là Bằng và Khác. Hai tag con này chứa nhiều tag hopchat. Là dạng biểu diễn của một đối tượng Hợp chất ở dạng xml, chương trình sẽ load các đối tượng này vào và thực hiện phép so sánh bằng hoặc khác tương ứng và liên kết tất cả bằng phép và để kiểm tra điều kiện của luật. Trong các tag hopchat này chỉ có các thuộc tính cần kiểm tra mới cần điền giá trị và các thuộc tính còn lại được để trống. Tương tự trong tag THEN sẽ là một đối tượng hợp chất, trong đó, các thuộc tính nào được nội suy bởi luật sẽ mang giá trị, các thuộc tính còn lại để trống. Hiện tại chương trình được nạp sẵn hơn 30 luật, chi tiết có thể xem trong file luat.xml ở phần phụ lục 3. Bộ suy diễn Do hệ thống sử dụng luật dẫn nên nhiệm vụ chính của bộ suy diễn là đọc tập luật và cài đặt thuật giải suy diễn tiến cùng thuật giải loại bỏ bước thừa trong lời giải được đề cập trong [1]. Giải thuật suy diễn tiến được cài đặt đơn giản bằng cách lần lượt thử áp dụng tất cả các luật lên tập hóa chất đầu vào (tập input), quá trình áp dụng lần lượt đó được GVHD: PGS.TS. ĐỖ VĂN NHƠN Trang 7/12 <Luat> <Mota></Mota> <IF> <Bằng> <hopchat></hopchat> </Bằng> <Khác> <hopchat></hopchat> </Khác> </IF> <THEN> <hopchat></hopchat> </THEN> </Luat> Phạm Nguyễn Trường An Biểu diễn tri thức và ứng dụng lặp đi lặp lại đến khi không còn luật nào có thể áp dụng hoặc tập đầu vào đã chứa các hóa chất cần điều chế (tập output). Các luật được áp dụng thành công sẽ được lưu lại theo đúng thứ tự để hình thành một lời giải. Nếu như thuật toán dừng vì không có luật nào áp dụng được thì ta nói bài toán không có lời giải Giải thuật suy diễn tiến để tìm lời giải. Lời giải tìm được bởi giải thuật này là chính xác nhưng không phải là một lời giải tốt vì vẫn còn có những bước áp dụng luật thừa mà trong quá trình suy luận. Để tìm một lời giải tốt, ta dùng giải thuật thứ hai. Ta đi ngược từ bước cuối cùng lên bước đầu tiên trong một lời giải chưa tốt và thử bỏ bước đó đi xem lời giải đó có còn chính xác hay không. Nếu một bước bị bỏ đi mà lời giải vẫn chính xác thì đó là bước thừa. GVHD: PGS.TS. ĐỖ VĂN NHƠN Trang 8/12 Solve( input, output) result = null bool flag = true; If ( output input )⊂ //Nếu output là tập con của input result = "Bài tập này có thể giải được."; return result; while (flag) flag = false; foreach l in tập_luật if (l.Xuly(input) == success) //Luật áp dụng thành công. result.Add(l); flag = true; If ( output input )⊂ //Nếu output là tập con của input result = "Bài tập này có thể giải được."; return result; result = "Bài tập này Không có lời giải."; return result; Phạm Nguyễn Trường An Biểu diễn tri thức và ứng dụng Giải thuật tìm lời giải tốt từ một lời giải đã biết III. Cài đặt và thử nghiệm. Ngôn ngữ được chọn cho việc cài đặt là C# và nền tảng .NET Framework 3.0 tích hợp trong Windows 7. Tính chất hướng đối tượng của C# cho phép biểu diễn tập đối tượng phân cấp O trong ngôn ngữ lập trình một cách dễ dàng Giao diện chính của chương trình GVHD: PGS.TS. ĐỖ VĂN NHƠN Trang 9/12 LoiGiaiTot ( solution, inp, outp) for ( i = solution.Count ; i > -1; i ) D = solution D.RemoveAt(i) if (KiemTraLoiGiai(D,input,output) ) solution = D; return solution; Phạm Nguyễn Trường An Biểu diễn tri thức và ứng dụng Sau khi nhập đề bài Đề bài và bài giải IV. Kết luận và hướng phát triển Tập đối tượng O phân cấp cho phép biểu diễn rất đa dạng các khái niệm trong thực tế, và cũng rất gần gũi với các suy luận của con người. Đây là nền tảng cho sự cải tiến đối với mô hình mạng tính toán. GVHD: PGS.TS. ĐỖ VĂN NHƠN Trang 10/12 [...]... Nguyễn Trường An Biểu diễn tri thức và ứng dụng Việc sử dụng luật dẫn tuy biểu diễ được ít thông tin hơn các phương trình trong mạng tính toán nguyên thủy nhưng không ảnh hưởng nhiều đối với mảng ứng dụng hóa học vì phương trình hóa học không mang giá trị tính toán Bù lại, tính uyển chuyển và gần gũi với cách suy luận của con người cho phép ta kết hợp các luật để biểu diễn nhiều tri thức phức tạp hơn,... An Biểu diễn tri thức và ứng dụng V TÀI LIỆU THAM KHẢO: 1 GSTS.Hoàng Kiếm & Đỗ Văn Nhơn, Mạng tính toán và ứng dụng, Tạp chí Tin học và điều khiển học, T.13, S.3 (1997) (10-20) 2 Hoàng Kiếm - Đỗ Văn Nhơn, Mô hình tri thức về các đối tượng tính toán, Kỷ yếu hội thảo khoa học kỷ niệm 25 năm thành lập Viện Công nghệ Thông tin, Hà Nội, tr 379 – 388 , (2001) 3 Hoàng Kiếm & Đỗ Văn Nhơn, Mở rộng và phát tri n... có thể bổ sung tri thức vào các ứng dụng thực tế thay vì phải lệ thuộc vào người phát tri n ứng dụng Tuy mô hình có khả năng mở rộng khá cao nhưng do phạm vi tri thức khảo sát còn khá hẹp nên hiện vẫn còn khá đơn giản Khi tích hợp những tri thức hóa ở các cấp học cao hơn vào thiết yếu phải có nhiều thay đổi được thực hiện Thuật toán đi kèm với mô hình hiện tại chỉ là giải thuật suy diễn tiến được cải... thảo khoa học kỷ niệm 25 năm thành lập Viện Công nghệ Thông tin, Hà Nội, tr 379 – 388 , (2001) 3 Hoàng Kiếm & Đỗ Văn Nhơn, Mở rộng và phát tri n mô hình tri thức các đối tượng tính toán, Kỷ yếu hội thảo Quốc gia một số vấn đề chọn lọc của CNTT, NXB Khoa học Kỹ thuật (2005) GVHD: PGS.TS ĐỖ VĂN NHƠN Trang 12/12 ... hình hiện tại chỉ là giải thuật suy diễn tiến được cải biên từ mô hình mạng tính toán nên chưa xử lý được các luật có cú pháp phức tạp Đây là một hạn chế tương đối mang tính chủ quan và cần nhiều kiến thức cũng như kinh nghiệm làm việc hơn nữa để khắc phục Thực tế phát sinh khi tiến hành cài đặt mô hình là có những đề bài muốn giải cần phải có sự kết hợp giữa hai hoặc nhiều luật Ví dụ nếu luật đầu đã . ĐẠ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 CAO HỌC KHÓA 6 BIỂU DIỄN TRI THỨC HÓA HỌC LỚP 8 THEO CÁCH TỰ NHIÊN HVTH: Phạm Nguyễn Trường. chất hóa học này. Hạn chế thứ hai của mô hình mạng tính toán là cách biểu diễn tri thức hóa học không được tự nhiên. Thực tế tri thức của con người về hóa học không đơn thuần là việc học thuộc. NHƠN Báo cáo cuối kỳ BIỂU DIỄN TRI THỨC & ỨNG DỤNG Phạm Nguyễn Trường An Biểu diễn tri thức và ứng dụng Mục lục I.Đặt vấn đề 3 1.Giới thiệu tổng quan 3 a.Bài toán điều chế hóa chất 3 b.Hạn