Hệ thống kiến thức về lý thuyết và hệ thống bài tập Hoá học giữ một vị trí và vai trò rất quan trọng trong việc dạy và học Hoá học ở trường phổ thông, việc giải các bài tậplại càng khó k
Trang 1ĐẠI HỌC QUỐC GIA TP.HCM
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
TRƯƠNG HOÀI PHONG
XÂY DỰNG HỆ GIẢI MỘT SỐ DẠNG BÀI TOÁN HÓA HỌC VÔ CƠ Ở
Trang 2CÔNG NGHỆ THÔNG TIN
ĐỀ TÀI KHÓA LUẬN THẠC SĨ
BUILDING SYSTEM FOR SOLVING INORGANIC CHEMISTRY
PROBLEMS IN HIGH SCHOOL
2 Ngành và mã ngành đào tạo
Ngành: Khoa học máy tính
Mã ngành: 60.48.01
3 Họ tên học viên thực hiện đề tài
Họ tên: TRƯƠNG HOÀI PHONG
MSSV: CH1301048
Khóa: Cao học khóa 8- Đợt 1
Giảng viên hướng dẫn
Giảng viên: PGS-TS ĐỖ VĂN NHƠN
Cơ quan công tác: Trường ĐH Công Nghệ Thông Tin
Địa chỉ email: nhondv@uit.edu.vn Điện thoại: 0908 107 799
Trang 3đã tận tình chỉ dạy cho em nhiều kiến thức bổ ích trong suốt thời gian học tập tại trường Em kính chúc quý thầy cô luôn dồi dào sức khoẻ và thành công trong công việc
Em xin bày tỏ lòng biết ơn chân thành và sâu sắc nhất đến PGS.TS Đỗ Văn Nhơn, người thầy đã tận tâm, nhiệt tình hướng dẫn và chỉ bảo cho chúng em trong suốt quá trình thực hiện đề tài
Con gửi tất cả lòng biết ơn và sự kính trọng đến ông bà, cha mẹ đã nuôi dạy, luôn bên cạnh động viên và ủng hộ con trên con đường mà con đã yêu thích và lựa chọn, đã cho con niềm tin và nghị lực vượt qua mọi khó khăn
Xin cảm ơn tất cả bạn bè đã động viên, giúp đỡ và hỗ trợ tôi rất nhiều cũng như đóng góp cho tôi nhiều ý kiến quý báu giúp tôi hoàn thiện hơn cho đề tài này
Khóa luận đã hoàn thành và đạt được một số kết quả nhất định tuy nhiên vẫn không tránh khỏi thiếu sót.Kính mong sự cảm thông và đóng góp ý kiến từ quý thầy
cô và các bạn
Một lần nữa tôi xin chân thành cảm ơn!
HỌC VIÊN THỰC HIỆN: TRƯƠNG HOÀI PHONG
MÃ SỐ HỌC VIÊN: CH1301048 LỚP: CAO HỌC KHÓA 8
Trang 4quả nghiên cứu nêu trong luận văn là trung thực.Vì vậy tôi xin chịu trách nhiệm hoàn
toàn về công trình nghiên cứu của mình
TP Hồ Chí Minh, ngày 07 tháng 11 năm 2015
Trương Hoài Phong
Trang 5LỜI CAM ĐOAN 5
MỤC LỤC 6
DANH MỤC HÌNH ẢNH 9
CHƯƠNG 1 - TỔNG QUAN 10
1.1 GIỚI THIỆU 10
1.2 ĐỘNG CƠ NGHIÊN CỨU 10
1.3 TỔNG QUAN VỀ KẾT QUẢ LIÊN QUAN 11
1.4 MỤC TIÊU CỦA LUẬN VĂN 20
1.5 PHẠM VI NGHIÊN CỨU 22
1.6 TÍNH KHOA HỌC VÀ TÍNH MỚI 22
CHƯƠNG 2 – CƠ SỞ LÝ THUYẾT 23
2.1 CƠ SỞ TRI THỨC 23
2.1.1 Tri thức là gì? 23
2.1.2 Phân loại tri thức: 24
2.1.3 Sự phân lớp của tri thức: 24
2.1.4 Hệ cơ sở tri thức: 24
2.2 CÁC PHƯƠNG PHÁP BIỂU DIỄN TRI THỨC 25
2.2.1 Biểu diễn tri thức dựa trên logic hình thức 25
2.2.2 Biểu diễn tri thức sử dụng luật dẫn xuất 27
2.2.3 Cơ chế suy luận trên các luật sinh 27
2.2.4 Biểu diễn tri thức bằng Scripts, Frame 28
2.2.5 Biểu diễn tri thức bằng mạng ngữ nghĩa 31
2.2.6 Biểu diễn tri thức bằng mô hình COKB 33
2.2.7 Các dạng suy luận sử dụng cho các mô hình biểu diễn tri thức 38
CHƯƠNG 3 – MÔ HÌNH BIỂU DIỄN TRI THỨC HÓA HỌC VÔ CƠ - THUẬT GIẢI 40
3.1 THU THẬP KIẾN THỨC 40
3.2 VẬN DỤNG MÔ HÌNH BIỂU DIỄN TRI THỨC ĐỂ BIỂU DIỄN TRI THỨC HÓA HỌC VÔ CƠ 42
Trang 63.2.1.2 Tập F (tập các quan hệ tính toán) 44
3.2.1.3 Tập Facts (tập các sự kiện vốn có của đối tượng) 44
3.2.1.4 Tập Rule (tập các luật) 44
3.2.2 Mô hình cơ sở tri thức về các đối tượng tính toán (Che-Cokb) 45
3.2.2.1 Tập C 45
3.2.2.2 Tập H 46
3.2.2.3 Tập R 47
3.2.2.4 Tập Func 48
3.2.2.5 Tập Rules 48
3.2.2.6 Các loại sự kiện trong mô hình Che-COKB 48
3.3 TỔ CHỨC CƠ SỞ TRI THỨC VỀ CÁC COM-OBJECT THEO MÔ HÌNH CHE-COKB 54
3.3.1 Các thành phần trong cơ sở tri thức về các Com-Object 54
3.3.2 Sơ đồ tổ chức cơ sở tri thức 54
3.3.3 Cấu trúc các tập tin lưu trữ các thành phần trong mô hình CHE-COKB 55 3.4 MÔ HÌNH BÀI TOÁN 61
3.5 ĐẶC TẢ BÀI TOÁN 64
3.6 THUẬT TOÁN GIẢI TỰ ĐỘNG THEO MÔ HÌNH CHE-COKB 70
3.6.1 Các thuật giải cho từng lớp bài toán 74
3.6.2 Lưu đồ thuật toán tổng quát của mô hình CHE-COKB: 77
3.6.3 Giải một số dạng bài toán cơ bản: 77
CHƯƠNG 4 – CÀI ĐẶT ỨNG DỤNG VÀ THỬ NGHIỆM 88
4.1 CÀI ĐẶT ỨNG DỤNG 88
4.2 THỬ NGHIỆM VÀ ĐÁNH GIÁ 94
4.2.1 Thử nghiệm 94
4.2.2 Nhận định và đánh giá: 100
CHƯƠNG 5 – KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 101
5.1 KẾT LUẬN 101
Trang 75.2.2 Hướng phát triển của đề tài 102
TÀI LIỆU THAM KHẢO 103
Trang 8Hình 1.2 Chemlap 12
Hình 1.3 DCEv 4.0 13
Hình 1.4 Periodic Table Classic 3.8.5 13
Hình 1.5 Vị trí của nguồn tài nguyên 14
Hình 1.6 Chemix School 3.6 14
Hình 1.7 Tính khối lượng phân tử 14
Hình 1.8 Chức năng cân bằng phản ứng 15
Hình 1.9 Chức năng từ điển hóa học 15
Hình 1.10 Chức năng hình ảnh 3D 16
Hình 1.11 Chemical Equation Expert 2.12 16
Hình 1.12 FormulaWeight2011 17
Hình 2.1 Sư phân lớp của tri thức 24
Hình 2.2 Sơ đồ hệ cơ sở tri thức 25
Hình 2.3 Đồ thị mối quan hệ 31
Hình 3.1 Sơ đồ quan hệ kế thừa 47
Hình 3.2 Sơ đồ tổ chức cơ sở tri thức 55
Hình 3.3 Lưu đồ thuật toán 77
Trang 9CHƯƠNG 1 - TỔNG QUAN
1.1 GIỚI THIỆU
Bộ môn Hoá học ở phổ thông có mục đích trang bị cho học sinh hệ thống kiến thức
cơ bản, bao gồm các kiến thức về cấu tạo chất, phân loại chất và tính chất của chúng.Học tốt môn hóa giúp giải thích được các hiện tượng trong cuộc sống.Việc nắm vững các kiến thức cơ bản góp phần nâng cao chất lượng đào tạo ở bậc phổ thông, chuẩn bị cho học sinh tham gia các hoạt động sản xuất và các hoạt động sau này
Đặc điểm của bộ môn Hóa là mang tính thực nghiệm cả về định tính và định lượng Khái niệm hóa học luôn trừu tượng, khó hiểu, không quan sát bằng mắt thường được (như nguyên tử, phân tử, electron, proton …) Bộ môn Hóa còn kết hợp các kỹ năng cần thiết như: Kỹ năng quan sát, tổng hợp, phân tích, đánh giá, suy luận, kỹ năng vận dụng kiến thức vào bài tập,kỹ năng tính toán Hệ thống kiến thức về lý thuyết và hệ thống bài tập Hoá học giữ một vị trí và vai trò rất quan trọng trong việc dạy và học Hoá học ở trường phổ thông, việc giải các bài tậplại càng khó khăn để giải được các bài tập đòi hỏi người học cần nắm chắc kiến thức và làm thật nhiều bài tập, để hình thành được các kỹ năng, kỹ xảo nhằm giúp người học lựa chọn được các cách giải phù hợp và tối ưu cho từng dạng bài tập
Mặt khác việc đổi mới công tác kiểm tra đánh giá ở trung học phổ thông hiện đang được ngành giáo dục đặc biệt quan tâm, trong đó việc đánh giá học sinh bằng phương pháp trắc nghiệm khách quan là một trong những phương pháp được áp dụng phổ biến hiện nay Đối với môn Hóa việc áp dụng trắc nghiệm khách quan trong đánh giá rất thông dụng
Hiện nay có rất nhiều chương trình hỗ trợ học sinh học tập môn hóa nhưng các chương trình chỉ mới dừng lại ở việc tra cứu kiến thức hay cân bằng phản ứng Bên cạnh
đó cũng có một số vài đề tài ứng dụng mô hình biểu diễn tri thức để giải một sốdạng bài tập hóa học nhưng chưa nhiều và chưa được đầy đủ
1.2 ĐỘNG CƠ NGHIÊN CỨU
Ứng dụng công nghệ thông tin vào giáo dục ngày càng trở nên phổ biến, các phần mềm hỗ trợ soạn giảng, các phần mềm hỗ trợ học tập, các phần mềm tra cứu kiến thức, các
hệ thống học trực tuyến e-learning ngày càng phát triển
Trang 10Khi nói về phần mềm hỗ trợ học tập, phần lớp các phần mềm chỉ đáp ứng ở mức độ tra cứu kiến thức, giúp học sinh ôn lại các phần lý thuyết đã học trước Gần như chưa có phần mềm hỗ trợ học sinh trong vấn đề tìm ra lời giải các bài toán Trong chương trình phổ thông, đặc biệt khối A, Toán – Lý – Hóa là 3 môn học quan trọng, có số lượng bài tập, bài kiểm tra của các môn này rất nặng về tư duy giải toán, không phải học sinh nào cũng có thể giải hết các bài tập một các dễ dàng
Vì vậy học sinh cần một công cụ hỗ trợ gợi ý tìm các công thức để đưa ra lời giải của bài toán và từ những phần mềm như vậy sẽ gợi ý giúp học sinh dễ dàng luyện tập nâng cao kĩ năng giải toán trong các kì thi hơn Từ đó đã tạo động cơ thực hiện nghiên cứu xây dựng một chương trình hỗ trợ giải các bài toán hóa học vô cơ ở trung học phổ thông
1.3 TỔNG QUAN VỀ KẾT QUẢ LIÊN QUAN
Mặc dù, hóa học là 1 ngành học đã có từ lâu đời nhưng các nghiên cứu về xây dựng
hệ thống tri thức cho lĩnh vực này còn khá mới mẻ Kết quả của quá trình tìm tòi trên mạng
và các tài liệu chính thức, hiện tại chỉ có 1 vài công trình nghiên cứu đã hoàn thiện và đang được tiếp tục phát triển
1.3.1 Chemical Entities of Biological Interest
Công trình khoa học mang tên ChEBI (Chemical Entities of Biological Interest) [16]
Trang 11nhân, tổ chức có nhu cầu đều có thể tải miễn phí toàn bộ mã nguồn và cơ sở dữ liệu của ChEBI trên trang chủ www.ebi.ac.uk
xử lý phân tích với các điều kiện khác nhau tương đối chính xác và đem lại một môi trường
ảo thân thiện với người dùng (theo tài liệu [17])
Hình 1.2 Chemlap
1.3.3 Từ điển phương trình Hóa học DCEv4.00
Một ứng dụng phổ biến về hỗ trợ học Hóa học có thể kể đến là phần mềm “Từ điển phương trình Hóa học DCEv4.00”, phần mềm hỗ trợ tra cứu tìm kiếm phương trình phản ứng hóa học do nhóm học sinh trường Lê Hồng Phong thực hiện Phần mềm thực hiện tra cứu các phương trình phản ứng hóa học dựa trên thông tin về chất tham gia, chất tạo thành Kết quả trả về là các phản ứng tìm được cùng với thông tin chi tiết về phản ứng đó Chương trình sử dụng các kĩ thuật cơ bản để so khớp thông tin tìm kiếm và không có khả năng xử
lý suy diễn trên các phản ứng tìm được (theo tài liệu [18])
Trang 12Hình 1.3 DCEv 4.0
1.3.4 Phần mềm Periodic Table Classic 3.8.5
Phần mềm cho phép xem bảng tuần hoàn hoá học với đầy đủ màu sắc, tương ứng với mỗi màu là tính đặc trưng của nó, ở bên trên bảng tuần hoàn sẽ có lời giải thích cho từng màu sắc như: kim loại, phi kim, nhóm Halogen…
Hình 1.4 Periodic Table Classic 3.8.5
Ngoài ra khi di chuyển chuột đến một nguyên tố nào ngay lập tức sẽ có hình ảnh của nguyên tố đó hiện ra, Peridic table classic còn cung cấp trọng lượng, nhiệt độ nóng chảy, trạng thái, nhóm nguyên tố, vị trí trong bảng… đặc biệt phần mềm còn cung cấp thêm thông tin năm phát hiện, nơi phát hiện, người phát hiện, các nước có nguồn tài nguyên phong phú về kim loại nào (theo tài liệu [19])
Trang 13Hình 1.5Vị trí của nguồn tài nguyên
Hình 1.7 Tính khối lượng phân tử
Trang 14Chức năng cân bằng phản ứng hoá học, ta chỉ cần nhập vào các chất tham gia phản ứng và các sản phẩm tạo thành, chương trình sẽ tự động cân bằng phản ứng hoá học một các nhanh chóng và tiện lợi
Hình 1.8 Chức năng cân bằng phản ứng
Phần mềm còn trang bị một bộ từ điển hoá học rất hữu ích, đây là chức năng rất đặc biệt mà chưa một phần mềm hoá học nào có được, khi kích hoạt chức năng vào mục Dictionary, cửa sổ từ điển hoá học xuất hiện:
Hình 1.9 Chức năng từ điển hóa học
Trong từ điển hoá học này có khá nhiều chất được giới thiệu và mô tả về công thức phân tử lẫn cấu trúc phân tử
Chức năng chuyển đổi đơn vị trong hoá học giúp ta có thể chuyển đổi nhiều dạng đơn vị hoá học
Phân tích độ tan cũng như tính axit, bazo của các chất, khi ta nhập vào một chất chương trình sẽ có biết chất đó về độ tan, tính kiềm, tính axit của các chất đó
Trang 15Ngoài ra chương trình còn cung cấp chức năng hình ảnh 3D của một số chất (theo tài liệu [20])
Hình 1.10 Chức năng hình ảnh 3D
1.3.6 Phần mềm Chemical Equation Expert 2.12
Phần mềm cung cấp tính năng cân bằng các phản ứng hoá học phức tạp một cách
dễ dàng, chỉ cần nhập chất tham gia phản ứng và chất tạo thành sau phản ứng, hoặc các phương trình phức tạp thì chương trình sẽ tự động cân bằng ngay lập tức
Hình 1.11 Chemical Equation Expert 2.12
Chức năng Chemical Equation Expert còn tích hợp công cụ tìm kiếm, cho phép tìm phương trình bằng cách chỉ định một phần các chất tham gia và tạo thành sau phản ứng của phương trình (theo tài liệu [21])
1.3.7 FormulaWeight - Tính trọng lượng phân tử trong hóa học
FormulaWeight2011 là một ứng dụng khoa học đặc biệt được thiết kế để tính công thức/trọng lượng phân tử các nguyên tố hóa học được biết đến
Trang 16Các khối lượng nguyên tử mới nhất từ IUPAC cũng được sử dụng trong phần mềm này (theo tài liệu [22])
Hình 1.12 FormulaWeight2011
1.3.8 Chemwin:
Chương trình nhỏ, gọn dễ dàng tạo các công thức hóa học, có phần hướng dẫn sử dụng khá dễ hiểu bằng tiếng anh, đây là chương trình có giảng dạy chính thức trong chương trình đào tạo Dung lượng chứa đủ trong một đĩa mềm, tuy nhiên khi cài đặt chương trình này nó đòi phải có cài máy in mặc định mới có thể chạy được bằng cách Start > Setting
>Control Panel > Add Printer, chọn một loại máy in mặc định rồi nhấp Next đến khi kết thúc (theo tài liệu [23])
1.3.9 ADC Lab
Sử dụng để vẽ công thức hóa hữu cơ.Như mọi chương trình chạy trong môi trường Windows mà chúng ta thường gặp, ACD Lab cũng trình bày dòng tiêu đề, các menu lệnh, các nút công cụ và cửa sổ làm việc Phần mềm miễn phí ACD Lab 10 của hãng Advanced Chemistry Development Inc (Theo tài liệu [23])
1.3.10 Rasmol
Trang 17Chương trình xem các công thức cấu tạo dạng 3D, bạn có thể xoay ở mọi vị trí để nhìn các góc độ khác nhau và có thể xuất ra khung ảnh đang nhìn ở dạng GIF, BMP, PCX
Có nhiều tùy chọn khung nhìn như: điểm chấm, quả cầu và liên kết, chương trình không cần cài đặt (theo tài liệu [23])
1.3.15 ChemLab:
Chương trình làm thí nghiệm ảo trên máy tính với các phần chuẩn độ, định lượng, chất chỉ thị màu và các hình ảnh bộ dụng cụ làm thí nghiệm như: burret, becher, erlen, đèn cồn và có thể copy vào các trang Word để trang trí cho trang văn bản của bạn (theo tài liệu [23])
Trang 18Chương trình xem hình dạng các orbital ở nhiều góc độ các dạng orbital s, p, d, f và
có nhiều tùy chọn xuất ra rất sinh động dành cho giảng dạy bài học trừu tượng về orbital ở các chương trình giảng dạy (theo tài liệu [23])
1.3.20 Các bài tiểu luận, báo cáo môn học, luận văn:
Các bài tiểu luận, báo cáo môn học biểu diễn tri thức và suy luận sử dụng mô hình COKB, hoặc mạng ngữ nghĩa để áp dụng trong hóa học vô cơ Nhưng các bài này chỉ dừng lại ở mức khái quát, cung cấp các chứ năng từ điển, cân bằng các phản ứng hóa học, tìm chuỗi chất phản ứng, các phương trình phản ứng khi biết chất đầu vào, giải các dạng toán
cơ bản của trong hóa học vô cơ như: cân bằng phương trình phản ứng hóa học, bài toán về
số nguyên tố, các bài toán về liên quan đến công thức phân tử, các bài toán liên quan đến cấu hình electron, các bài toán về đồng vị nguyên tố, các bài toán về định luật đương lượng, các bài toán về chất khí và phương trình trạng thái khí lý tưởng, các bài toán về phản ứng phân rã/ biến đổi hạt nhân, các bài toán liên quan đến tốc độ phân rã và chu kỳ bán hủy, các bài toán liên quan đến ánh sáng – quang phổ bức xạ điện từ, các bài toán về khí thực –
Trang 19phương trình van der Waals, các bài toán về chất rắn tinh thể, các bài toán về nhiệt, nội năng và entanpi, các bài toán về định luật Hess,các bài toán về hiệu ứng nhiệt điện tích (theo tài liệu [5])…
Tất cả các phần mềm hiện có, các bài tiểu luận, các bài báo cáo môn học, chỉ mới tập trung vào các tính năng như: tra cứu thông tin, bảng tuần hoàn hóa học, từ điển hóa học, cách thức chuyển đổi các đơn vị trong hóa học, cách mô phỏng các thí nghiệm ảo, cân bằng phản ứng, tìm chuỗi phản ứng, chất tạo thành khi biết các chất đầu vào… Nhưng tất cả các chương trình và các báo cáo, tiểu luận vẫn chưa thể giải các bài tập về hóa học vô cơ một cách cơ bản và đầy đủ, chưa xử lý được chất tác dụng với chất, và kết quả hiển thị rất khó hiểu đối với người dùng
1.4 MỤC TIÊU CỦA LUẬN VĂN
Đềtài sẽ nghiên cứu xây dựng chương trình hỗ trợ giải các bài tập trắc nghiệm về hoá học vô cơ trong sách giáo khoa, các đề thi tốt nghiệp trung học phổ thông và cao đẳng, đại học, gồm các dạng như sau:
Input: Các bài toán tìm khối lượng muối tạo thành, bài toán tìm thể tích chất
khí sau phản ứng, tìm khối lượng kim loại đã tác dụng với axit, tìm khối lượng của axit đã phản ứng, tìm nồng độ dung dịch axit tham gia phản ứng, tìm nồng độ phần trăm của axit tham gia phản ứng, tìm thể tích dung dịch axit tham gia phản ứng, tìm tỉ lệ phần trăm khối lượng của kim loại trong hỗn hợp, tìm khối lượng chất khí tạo thành sau phản ứng, hay tìm tên của kim loại đã tác dụng với axit
Output: Lời giải cho các bài toán đầu vào phù hợp với cách suy luận của con
người
Ví dụ:(Bài 22: Luyện tập – Tính chất của kim loại – Bài tập 6 – Trang 101 –
SGK Hoá học 12 – Chuẩn) Hoà tan hoàn toàn 20 gam hỗn hợp Fe và Mg trong dung dịch
HCl thu được 1 gam khí H2 Khi cô cạn dung dịch thu được bao nhiêu gam muối khan?
A 54,5 gam B 55,5 gam C 56,5 gam D 57,6 gam
Trang 20 Input: Các bài toán tìm khối lượng muối tạo thành, bài toán tìm thể tích chất
khí sau phản ứng, tìm khối lượng kim loại đã tác dụng với axit, tìm khối lượng của axit đã phản ứng, tìm nồng độ dung dịch axit tham gia phản ứng, tìm nồng độ phần trăm của axit tham gia phản ứng, tìm thể tích dung dịch axit tham gia phản ứng, tìm tỉ lệ phần trăm khối lượng của kim loại trong hỗn hợp, tìm khối lượng chất khí tạo thành sau phản ứng, hay tìm tên của kim loại đã tác dụng với axit
Output: Lời giải cho các bài toán đầu vào phù hợp với cách suy luận của con
người
Ví dụ:(Trích đề CĐ – 2007) Hòa tan hoàn toàn 3,22 gam hỗn hợp X gồm Fe,
Mg và Zn bằng một lượng vừa đủ dung dịch H2SO4 loãng, thu được 1,344 lít hiđro (ở đktc)
và dung dịch chứa m gam muối Giá trị của m là (Cho H = 1; O = 16; Mg = 24; S = 32; Fe
= 56; Zn = 65)
A 10,27 B 9,52 C 8,98 D 7,25
Input: Các bài toán tìm khối lượng muối tạo thành, tìm khối lượng kim loại
đã tác dụng với muối, tìm khối lượng của muối đã phản ứng, tìm nồng độ dung dịch muối tham gia phản ứng, tìm nồng độ phần trăm của muối tham gia phản ứng, tìm thể tích dung dịch muối tham gia phản ứng
Output: Lời giải cho các bài toán đầu vào phù hợp với cách suy luận của con
người
Ví dụ:Ngâm một lá sắt trong dung dịch CuSO4 Nếu biết khối lượng đồng bám trên lá sắt là 9,6 gam thì khối lượng lá sắt sau ngâm tăng thêm bao nhiêu gam so với ban đầu?
A 5,6 gam B 2,8 gam C 2,4 gam D 1,2 gam
Trang 211.5 PHẠM VI NGHIÊN CỨU
Phạm vi người dùng: Chương trình hỗ trợ cho các em học sinh trung học phổ thông
giải một số dạng bài tập môn hóa học
Phạm vi chương trình: Chương trình thực hiện tổ chức lưu trữ, biểu diễn tri thức
nhằm xây dựng một ứng dụng hỗ trợ trong việc giải một số bài tập liên quan đến môn hóa trung học phổ thông
1.6 TÍNH KHOA HỌC VÀ TÍNH MỚI
Tính mới: Đề tài giải các dạng bài toán trong hóa học vô cơ ở bậc trung học phổ
thông, hỗ trợ giải các bài toán đơn giản bằng cách ứng dụng công nghệ tri thức và biểu diễn tri thức
Tính khoa học: để tài có nghiên cứu, áp dụng những phương pháp và kĩ thuật xử lý
như:
Các phương pháp thiết kế cơ sở tri thức, hệ chuyên gia
Các phương pháp biểu diễn và xử lý tri thức
Trang 22CHƯƠNG 2 – CƠ SỞ LÝ THUYẾT
2.1 CƠ SỞ TRI THỨC
2.1.1 Tri thức là gì?
Tri thức có nhiều ý nghĩa tùy theo văn cảnh, nhưng lúc nào cũng có liên quan với những khái niệm như hiểu biết, ý nghĩa, thông tin, giảng dạy, giáo dục, giao tiếp, diễn tả, học hỏi, suy luận, nhận thức và kích thích trí óc Tri thức là nó bao gồm ba tiêu chí khả tín, xác thực, và chứng minh được
Tri thức là các thông tin, các tài liệu, các cơ sở lý luận, các kỹ năng khác nhau, đạt được bởi một tổ chức hay một cá nhân thông qua các trải nghiệm thực tế hay thông qua sự giáo dục đào tạo; các hiểu biết về lý thuyết hay thực tế về một đối tượng, một vấn đề, có thể lý giải được về nó
Tóm lại, Tri thức là nói về đối tượng thực hiện được những hành động một cách hiệu quả Tri thức là sự hiểu biết của con 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 có khả năng giúp con người làm việc
Trang 232.1.2 Phân loại tri thức:
Tri thức sự kiện: là các khẳng định về một sự kiện, khái niệm nào đó (trong một phạm vi xác định) Các định luật vật lý, toán học,… thường được xếp vào loại này Ví dụ: mặt trời mọc ở phía đông, tam giác đều có 3 góc 600…
Tri thức thủ tục: thường dùng để diễn tả phương pháp, các bước tiến hành, trình tự hay ngắn gọn là cách giải quyết vấn đề Thuật toán, thuật giải là một dạng của tri thức thủ tục
Tri thức mô tả: cho biết một đối tượng, sự kiện, vấn đề, khái niệm, … được thấy, cảm nhận, cấu tạo như thế nào Ví dụ: một cái bàn thường có 4 chân; con người có 2 tay,
2 mắt,
Tri thức Heuristic: là một dạng tri thức cảm tính Các tri thức thuộc loại này thường
có dạng ước lượng, phỏng đoán, và thường được hình thành thông qua kinh nghiệm
Siêu tri thức: Mô tả tri thức về tri thức Loại tri thức này giúp cho lựa chọn tri thức thích hợp nhất trong số các tri thức khi giải quyết một vấn đề [2]
2.1.3 Sự phân lớp của tri thức:
Hình 2.1 Sư phân lớp của tri thức
2.1.4 Hệ cơ sở tri thức:
Cơ sở tri thức là tập hợp các tri thức liên quan đến vấn đề mà chương trình quan tâm giải quyết [2]
Trang 24Hình 2.2 Sơ đồ hệ cơ sở tri thức
2.2 CÁC PHƯƠNG PHÁP BIỂU DIỄN TRI THỨC
2.2.1 Biểu diễn tri thức dựa trên logic hình thức
2.2.1.1 Logic mệnh đề
Logic mệnh đề là kiểu biểu diễn tri thức đơn giản nhất và gần gũi nhất với con người Mệnh đề là một khẳng định mà chỉ có hai giá trị đúng hoặc sai
“2 là số chẵn” – phát biểu này có giá trị là đúng
“-3 là số nguyên dương” – phát biểu này có giá trị là sai
Giá trị đúng sai của mệnh đề luôn luôn đúng hoặc sai bất chấp thời gian và không gian Ta ký hiệu mệnh đề bằng những chữ cái la tinh như a, b, c,
Có 3 phép nối cơ bản để tạo ra những mệnh đề mới từ những mệnh đề cơ sở là phép hội ( ), giao( ) và phủ định ( ) Bên cạnh đó ta có các cơ chế suy diễn như Ponens, Tollens, và các phép toán suy luận trên mệnh đề logic…[1]
Ưu điểm: phương pháp biểu diễn tri thức bằng logic mệnh đề là đơn giản và gần
gũi với con người
Trang 25Khuyết điểm: Logic mệnh đề chỉ có thể biểu diễn được hai trạng thái đúng hoặc sai
Nhưng trong thực tế còn rất nhiều trường hợp mà logic mệnh đề không thể nào biểu diễn được
2.2.1.2 Logic vị từ
Biểu diễn tri thức bằng mệnh đề gặp phải một trở ngại cơ bản là ta không thể can
thiệp vào cấu trúc của một mệnh đề Hay nói một cách khác là mệnh đề không có cấu
trúc.Điều này làm hạn chế rất nhiều thao tác suy luận Do đó, người ta đã đưa vào khái
niệm vị từ và lượng từ ( - với mọi, - tồn tại) để tăng cường tính cấu trúc của một mệnh
đề
Trong logic vị từ, một mệnh đề được cấu tạo bởi hai thành phần là các đối tượng tri
thức và mối liên hệ giữa chúng (gọi là vị từ).Các mệnh đề sẽ được biểu diễn dưới dạng:
Vị từ (<đối tượng 1>, <đối tượng 2>, …,<đối tượng n>)
Như vậy để biểu diễn vị của các trái cây, các mệnh đề sẽ được viết lại thành: Cam có vị Ngọ ị (Cam, Ngọt)
Màu (Cam, Xanh)
Rõ ràng là nếu chỉ sử dụng logic mệnh đề thông thường thì ta sẽ không thể tìm được một mối liên hệ nào giữa c và a,b bằng các phép nối mệnh đề ừ đó, ta cũng
không thể tính ra được giá trị của mệnh đề c Sở dĩ như vậy vì ta không thể thể hiện tường
minh tri thức "(A là bố của B) nếu có Z sao cho (A là bố của Z) và (Z anh hoặc em C)"
dưới dạng các mệnh đề thông thường.Chính đặc trưng của vị từ đã cho phép chúng ta thể hiện được các tri thức dạng tổng quát như trên
Công cụ vị từ đã được nghiên cứu và phát triển thành một ngôn ngữ lập trình đặc trưng cho trí tuệ nhân tạo.Đó là ngôn ngữ PROLOG [1]
Logic vị từ khắc phục được những khuyết điểm của logic mệnh đề
Cơ chế suy luận chính xác (được chứng minh bởi toán học)
Đối với logic vị từ chưa thể biểu diễn được các dữ liệu phức tạp
Trang 26 Tách rời việc biểu diễn và xử lý
Không hiệu quả với lượng dữ liệu lớn, quá chậm khi cơ sở dữ liệu lớn
2.2.2 Biểu diễn tri thức sử dụng luật dẫn xuất
Phương pháp biểu diễn tri thức bằng luật sinh được phát minh bởi Newell và Simon trong lúc hai ông đang cố gắng xây dựng một hệ giải bài toán tổng quát.Đây là một kiểu biểu diễn tri thức có cấu trúc Ý tưởng cơ bản là tri thức có thể được cấu trúc bằng một cặp điều kiện – hành động: "NẾU điều kiện xảy ra THÌ hành động sẽ được thi hành" Chẳng hạn: NẾU đèn giao thông là đỏ THÌ bạn không được đi thẳng, NẾU máy tính đã mở mà không khởi động được THÌ kiểm tra nguồn điện, …
Ngày nay, các luật sinh đã trở nên phổ biến và được áp dụng rộng rãi trong nhiều
hệ thống trí tuệ nhân tạo khác nhau.Luật sinh có thể là một công cụ mô tả để giải quyết các vấn đề thực tế thay cho các kiểu phân tích vấn đề truyền thống.Trong trường hợp này, các luật được dùng như là những chỉ dẫn (tuy có thể không hoàn chỉnh) nhưng rất hữu ích để trợ giúp cho các quyết định trong quá trình tìm kiếm, từ đó làm giảm không gian tìm kiếm.Một ví dụ khác là luật sinh có thể được dùng để bắt chước hành vi của những chuyên gia Theo cách này, luật sinh không chỉ đơn thuần là một kiểu biểu diễn tri thức trong máy tính mà là một kiểu biễu diễn các hành vi của con người
Để biễu diễn một tập luật sinh, người ta thường phải chỉ rõ hai thành phần chính sau: Tập các sự kiện F(Facts), Tập các quy tắc R (Rules).[1]
2.2.3 Cơ chế suy luận trên các luật sinh
Suy diễn tiến: là quá trình suy luận xuất phát từ một số sự kiện ban đầu, xác định
các sự kiện có thể được "sinh" ra từ sự kiện này
Suy diễn lùi: là quá trình suy luận ngược xuất phát từ một số sự kiện ban đầu, ta
tìm kiếm các sự kiện đã "sinh" ra sự kiện này Một ví dụ thường gặp trong thực tế là xuất phát từ các tình trạng của máy tính, chẩn đoán xem máy tính đã bị hỏng hóc ở đâu
Ổ cứng là "hỏng" hay "hoạt động bình thường"
Hỏng màn hình
Trang 27 Lỏng cáp màn hình
Tình trạng đèn ổ cứng là "tắt" hoặc "sáng"
Có âm thanh đọc ổ cứng
Tình trạng đèn màn hình "xanh" hoặc "chớp đỏ"
Không sử dụng được máy tính
Điện vào máy tính "có" hay "không"
Ưu điểm:
Biểu diễn tri thức bằng luật đặc biệt hữu hiệu trong những tình huống hệ thống cần đưa ra những hành động dựa vào những sự kiện có thể quan sát được Nó có những ưu điểm chính yếu sau đây:
- Các luật rất dễ hiểu nên có thể dễ dàng dùng để trao đổi với người dùng (vì
nó là một trong những dạng tự nhiên của ngôn ngữ)
- Có thể dễ dàng xây dựng được cơ chế suy luận và giải thích từ các luật
- Việc hiệu chỉnh và bảo trì hệ thống là tương đối dễ dàng
- Có thể cải tiến dễ dàng để tích hợp các luật mờ
- Các luật thường ít phụ thuộc vào nhau
- Cơ sở tri thức luật sinh lớn sẽ làm giới hạn khả năng tìm kiếm của chương trình điều khiển Nhiều hệ thống gặp khó khăn trong việc đánh giá các hệ dựa trên luật sinh cũng như gặp khó khăn khi suy luận trên luật sinh [4]
2.2.4 Biểu diễn tri thức bằng Scripts, Frame
Trang 282.2.4.1 Biểu diễn tri thức bằng Scripts
Script là một cách biểu diễn tri thức tương tự như frame nhưng thay vì đặc tả một
đối tượng, nó mô tả một chuỗi các sự kiện.Để mô tả chuỗi sự kiện, script sử dụng một dãy
các slot chứa thông tin về các con người, đối tượng và hành động liên quan đến sự kiện đó
Tuy cấu trúc của các script là rất khác nhau tùy theo bài toán, nhưng nhìn chung một script thường bao gồm các thành phần sau:
Điều kiện vào(entry condition): mô tả những tình huống hoặc điều kiện cần được thỏa mãn trước khi các sự kiện trong script có thể diễn ra
Role (diễn viên): là những con người có liên quan trong script
Prop (tác tố): là tất cả những đối tượng được sử dụng trong các chuỗi sự kiện
sẽ diễn ra
Scene(Tình huống): là chuỗi sự kiện thực sự diễn ra
Result (Kết quả): trạng thái của các Role sau khi script đã thi hành xong
Track (phiên bản): mô tả một biến thể (hoặc trường hợp đặc biệt) có thể xảy
ra trong đoạn script
Script rất hữu dụng trong việc dự đoán điều gì sẽ xảy đến trong những tình huống
xác định.Thậm chí trong những tình huống chưa diễn ra, script còn cho phép máy tính dự
đoán được việc gì sẽ xảy ra và xảy ra đối với ai và vào thời điểm nào.Nếu máy tính kích
hoạt một script, người dùng có thể đặt câu hỏi và hệ thống có thể suy ra được những câu trả lời chính xác mà không cần người dùng cung cấp thêm nhiều thông tin (trong một số trường hợp có thể không cần thêm thông tin) Do đó, cũng giống như frame, script là một dạng biểu diễn tri thức tương đối hữu dụng vì nó cho phép ta mô tả chính xác những tình huống "chuẩn" mà con người vẫn thực hiện mỗi ngày hoặc đã nắm bắt chính xác
Để cài đặt script trong máy tính, bạn phải tìm cách lưu trữ các tri thức dưới dạng hình thức LISP là ngôn ngữ lập trình phù hợp nhất để làm điều này Sau khi đã cài đặt xong script, bạn (người dùng) có thể đặt câu hỏi về những con người hoặc điều kiện có liên quan trong script.Hệ thống sau đó sẽ tiến hành thao tác tìm kiếm hoặc thao tác so mẫu để
Trang 29tìm câu trả lời Chẳng hạn bạn có thể đặt câu hỏi "Khách hàng làm gì trước tiên?" Hệ thống
sẽ tìm thấy câu trả lời trong scene 1 và đưa ra đáp án "Đậu xe và bước vào nhà hàng" [4]
2.2.4.2 Biểu diễn tri thức bằng Frame
Frame là một cấu trúc dữ liệu chứa đựng tất cả những tri thức liên quan đến một
đối tượng cụ thể nào đó Frames có liên hệ chặt chẽ đến khái niệm hướng đối tượng (thực
ra frame là nguồn gốc của lập trình hướng đối tượng) Ngược lại với các phương pháp biểu diễn tri thức đã được đề cập đến, frame "đóng gói" toàn bộ một đối tượng, tình huống hoặc
cả một vấn đề phức tạp thành một thực thể duy nhất có cấu trúc Một frame bao hàm trong
nó một khối lượng tương đối lớn tri thức về một đối tượng, sự kiện, vị trí, tình huống hoặc những yếu tố khác Do đó, frame có thể giúp ta mô tả khá chi tiết một đối tượng
Dưới một khía cạnh nào đó, người ta có thể xem phương pháp biểu diễn tri thức bằng frame chính là nguồn gốc của ngôn ngữ lập trình hướng đối tượng Ý tưởng của
phương pháp này là "thay vì bắt người dùng sử dụng các công cụ phụ như dao mở để đồ
hộp, ngày nay các hãng sản xuất đồ hộp thường gắn kèm các nắp mở đồ hộp ngay bên trên
vỏ lon Như vậy, người dùng sẽ không bao giờ phải lo lắng đến việc tìm một thiết bị để mở
đồ hộp nữa!" Cũng vậy, ý tưởng chính của frame (hay của phương pháp lập trình hướng
đối tượng) là khi biểu diễn một tri thức, ta sẽ "gắn kèm" những thao tác thường gặp trên tri
thức này Chẳng hạn như khi mô tả khái niệm về hình chữ nhật, ta sẽ gắn kèm cách tính
chu vi, diện tích
Frame thường được dùng để biểu diễn những tri thức "chuẩn" hoặc những tri thức được xây dựng dựa trên những kinh nghiệm hoặc các đặc điểm đã được hiểu biết cặn kẽ
Bộ não của con người chúng ta vẫn luôn "lưu trữ" rất nhiều các tri thức chung mà khi cần, chúng ta có thể "lấy ra" để vận dụng nó trong những vấn đề cần phải giải quyết Frame là một công cụ thích hợp để biểu diễn những kiểu tri thức này [4]
2.2.4.3 Ưu điểm và khuyết điểm của biểu diễn tri thức bằng Script, Frame
Ưu điểm: Có sức mạnh diễn đạt tốt, dễ cài đặt các thuộc tính cũng như các mối
liên hệ, dễ dàng tạo ra các thủ tục chuyên biệt hoá, dễ đưa vào các thông tin mặc định, dễ thực hiện các thao tác phát hiện các giá trị bị thiếu sót
Trang 30 Khuyết điểm: Khó lập trình, khó suy diễn, thiếu phần mềm hỗ trợ
2.2.5 Biểu diễn tri thức bằng mạng ngữ nghĩa
Mạng ngữ nghĩa là một phương pháp biểu diễn tri thức đầu tiên và cũng là phương pháp dễ hiểu nhất đối với chúng ta.Phương pháp này sẽ biểu diễn tri thức dưới dạng một
đồ thị, trong đó đỉnh là các đối tượng (khái niệm) còn các cung cho biết mối quan hệ giữa các đối tượng (khái niệm) này
Chẳng hạn: giữa các khái niệm chích chòe, chim, hót, cành, tổ có một số mối quan
ý nghĩa (có, làm, là, biết, ) cho các cung Trong đồ thị tiêu chuẩn, việc có một cung nối giữa hai đỉnh chỉ cho biết có sự liên hệ giữa hai đỉnh đó và tất cả các cung trong đồ thị đều
biểu diễn cho cung một loại liên hệ.Trong mạng ngữ nghĩa, cung nối giữa hai đỉnh còn cho
biết giữa hai khái niệm tương ứng có sự liên hệ như thế nào.Việc gán ngữ nghĩa vào các
cung của đồ thị đã giúp giảm bớt được số lượng đồ thị cần phải dùng để biễu diễncác mối
Trang 31liên hệ giữa các khái niệm Chẳng hạn như trong ví dụ trên, nếu sử dụng đồ thị thông thường, ta phải dùng đến 4 loại đồ thị cho 4 mối liên hệ: một đồ thị để biểu diễn mối liên
hệ "là", một đồ thị cho mối liên hệ "làm", một cho "biết" và một cho "có" Một điểm khá
thú vị của mạng ngữ nghĩa là tính kế thừa Bởi vì ngay từ trong khái niệm, mạng ngữ nghĩa
đã hàm ý sự phân cấp (như các mối liên hệ "là") nên có nhiều đỉnh trong mạng mặc nhiên
sẽ có những thuộc tính của những đỉnh khác Chẳng hạn theo mạng ngữ nghĩa ở trên, ta co thể dễ dàng trả lời "có" cho câu hỏi: "Chích chòe có làm tổ không?" Ta có thể khẳng định được điều này vì đỉnh "chích chòe" có liên kết "là" với đỉnh "chim" và đỉnh "chim" lại liên kết "biết" với đỉnh "làm tổ" nên suy ra đỉnh "chích chòe" cũng có liên kết loại "biết" với
đỉnh "làm tổ" (Nếu để ý, bạn sẽ nhận ra được kiểu "suy luận" mà ta vừa thực hiện bắt
nguồn từ thuật toán "loang" hay "tìm lien thông" trên đồ thị) Chính đặc tính kế thừa của mạng ngữ nghĩa đã cho phép ta có thể thực hiện được rất nhiều phép suy diễn từ những thông tin sẵn có trên mạng
Tuy mạng ngữ nghĩa là một kiểu biểu diễn trực quan đối với con người nhưng khi đưa vào máy tính, các đối tượng và mối liên hệ giữa chúng thường được biểu diễn dưới dạng những phát biểu động từ (như vị từ) Hơn nữa, các thao tác tìm kiếm trên mạng ngữ nghĩa thường khó khăn (đặc biệt đối với những mạng có kích thước lớn) Do đó, mô hình mạng ngữ nghĩa được dùng chủ yếu để phân tích vấn đề Sau đó, nó sẽ được chuyển đổi sang dạng luật hoặc frame để thi hành hoặc mạng ngữ nghĩa sẽ được dùng kết hợp với một
số phương pháp biểu diễn khác
Mạng ngữ nghĩa rất linh động, ta có thể dễ dàng thêm vào mạng các đỉnh hoặc cung mới để bổ sung các tri thức cần thiết
Mạng ngữ nghĩa có tính trực quan cao nên rất dễ hiểu
Mạng ngữ nghĩa cho phép các đỉnh có thể thừa kế các tính chất từ các đỉnh khác thông qua các cung loại "là", từ đó, có thể tạo ra các liên kết "ngầm" giữa những đỉnh không có liên kết trực tiếp với nhau
Trang 32 Mạng ngữ nghĩa hoạt động khá tự nhiên theo cách thức con người ghi nhận thông tin
Cho đến nay, vẫn chưa có một chuẩn nào quy định các giới hạn cho các đỉnh
và cung của mạng Nghĩa là bạn có thể gán ghép bất kỳ khái niệm nào cho đỉnhhoặc cung
Tính thừa kế (vốn là một ưu điểm) trên mạng sẽ có thể dẫn đến nguy cơ mâuthuẫn trong tri thức Chẳng hạn, nếu bổ sung thêm nút "Gà" vào mạng như hìnhsau thi
ta có thể kết luận rằng "Gà" biết "bay" Sở dĩ có điều này là vì có sự không rõ ràng trong ngữ nghĩa gán cho một nút của mạng Có thể phản đối quan điểm vì cho rằng, việc sinh ra mâu thuẫn là do ta thiết kế mạng dở chứ không phải do khuyết điểm của mạng Tuy nhiên,
xin lưu ý rằng, tính thừa kế sinh ra rất nhiều mối liên hệ "ngầm" nên khả năng nảy sinh ra
một mối liên hệ không hợp lệ là rất lớn
Hầu như không thể biển diễn các tri thức dạng thủ tục bằng mạng ngữ nghĩa vì các khái niệm về thời gian và trình tự không được thể hiện tường minh trên mạng ngữ nghĩa.[4]
2.2.6 Biểu diễn tri thức bằng mô hình COKB
2.2.6.1 Khái niệm mô hình COKB
Mô hình biểu diễn tri thức COKB(Computational Objects Knowledge Base) là một
mô hình tri thức của các đối tượng tính toán Mô hình COKB là một hệ thống gồm 6 thành phần chính được ký hiệu bởi bộ 6 như sau: [3], [4], [5]
(C,H,R,Opts, Funcs,Rules)
C là tập hợp các khái niệm về các C-object
H là tập hợp các quan hệ phân cấp giữa các loại đối tượng
R là tập hợp các khái niệm về các loại quan hệ trên các C-object
Opts là tập hợp các toán tử
Funcs là tập hợp các hàm
Rule là tập hợp các luật
Trang 33Mỗi đối tượng thuộc C là một lớp các đối tượng tính toán có cấu trúc nhất định và được phân cấp theo sự thiết lập của cấu trúc các đối tượng
2.2.6.2 Tập hợp C (các khái niệm về các C_Object)
Các khái niệm được xây dựng dựa trên các đối tượng Mỗi khái niệm là một lớp các đối tượng tính toán có cấu trúc nhất định và được phân cấp theo sự thiết lập của cấu trúc đối tượng, bao gồm:
Các đối tượng (hay khái niệm) nền: là các đối tượng (hay khái niệm) được
mặc nhiên thừa nhận Ví dụ: như một số đối tượng kiểu boolean (logic), số tự nhiên (natural), số nguyên (integer), số thực (real), tập hợp (set), danh sách (list) hay một số kiểu
tự định nghĩa
Các đối tượng cơ bản (hay khái niệm) cơ bản cấp 0: có cấu trúc rỗng hoặc có
cấu trúc thiết lập trên một số thuộc tính kiểu khái niệm nền: Các đối tượng (hay khái niệm) này làm nền cho các đối tượng (hay các khái niệm) cấp cao hơn Ví dụ: đối tượng DIEM
có kiểu mô tả không có cấu trúc thiết lập
Các đối tượng (hay khái niệm) cấp 1: Các đối tượng này chỉ có các thuộc tính
kiểu khái niệm nền và có thể được thiết lập trên một danh sách nền các đối tượng cơ bản
Ví dụ: đối tượng DOAN[A,B] trong đó A, B là các đối tượng cơ bản loại DIEM, thuộc tính
a biểu thị độ dài đoạn thẳng có kiểu tương ứng là “real”
Các đối tượng (hay khái niệm) cấp 2: Các đối tượng này có các thuộc tính
kiểu khái niệm nền và các thuộc tính loại đối tượng cấp 1, có thể được thiết lập trên một danh sách nền các đối tượng cơ bản Ví dụ: đối tượng TAMGIAC[A,B,C] trong đó A, B,
C là các đối tượng cơ bản loại DIEM, các thuộc tính như GocA, a, S có kiểu tương ứng là
“GOC[C,A,B]”, “DOAN[B,C]”, “real”
Các đối tượng (hay khái niệm) cấp n >0: Các đối tượng này có các thuộc tính
kiểu khái niệm nền và các thuộc tính loại đối tượng cấp thấp hơn, có thể được thiết lập trên một danh sách nền các đối tượng cấp thấp hơn
Cấu trúc bên trong của mỗi lớp đối tượng:
Trang 34(1) Kiểu đối tượng: Kiểu này có thể là kiểu thiết lập trên một danh sách nền các đối
tượng cấp thấp hơn
(2) Danh sách các thuộc tính của đối tượng: Mỗi thuộc tính có kiểu thực, kiểu đối
tượng cơ bản hay kiểu đối tượng cấp thấp hơn Phân ra làm 2 loại là tập các thuộc tính thiết lập của đối tượng và tập các thuộc tính khác (còn gọi là tập thuộc tính)
(3) Tập hợp các điều kiện ràng buộc trên các thuộc tính
(4) Tập hợp các tính chất nội tại hay sự kiện vốn có liên quan đến các thuộc tính của đối tượng
(5) Tập hợp các quan hệ suy diễn - tính toán trên các thuộc tính của đối tượng Các quan hệ này thể hiện các luật suy diễn và cho phép ta có thể tính toán một hay một số thuộc tính từ các thuộc tính khác của đối tượng
(6) Tập hợp các luật suy diễn trên các loại sự kiện khác nhau liên quan đến các thuộc tính của đối tượng hay bản thân đối tượng Mỗi luật suy diễn có dạng:
{các sự kiện giả thiết} {các sự kiện kết luận}
2.2.6.3 Mô hình cho một đối tượng tính toán (C-Object)Một C-Object có thể được
mô hình hóa bởi một bộ 6 thành phần chính
(BasicO,Attrs, CRela, Rules, Prop,Cons)
BasicO: là tập hợp các đối tượng nền của một đối tượng
Attrs: là tập hợp các thuộc tính của đối tượng
CRela: là tập hợp các quan hệ suy diễn tính toán
Rules: là tập hợp các luật suy diễn trên các sự kiện liên quan đến các thuộc tính cũng như liên quan đến bản thân đối tượng
Prop: là tập hợp các tính chất hay sự kiện vốn có của đối tượng
Cons: là tập hợp các điều kiện ràng buộc
2.2.6.4 Tập hợp H (các quan hệ phân cấp giữa các đối tượng)
Trong tập C, ta có các quan hệ mà theo đó có thể có những khái niệm là sự đặc biệt hoá của những khái niệm khác Có thể nói, H là một biểu đồ Hasse trên C khi xem quan hệ
Trang 35phân cấp là một quan hệ thứ tự trên C Cấu trúc của một quan hệ phân cấp:[<tên lớp đối tượng cấp cao>, <tên lớp đối tượng cấp thấp> ]
2.2.6.5 Tập hợp R
Các khái niệm về các loại quan hệ trên các C-Object, mỗi quan hệ được xác định bởi tên quan hệ và danh sách các loại đối tượng của quan hệ Đối với quan hệ 2 hay 3 ngôi thì quan hệ có thể có các tính chất như tính phản xạ, tính phản xứng, tính đối xứng và tính bắc cầu Cấu trúc của một quan hệ:[ < tên quan hệ>, < loại đối tượng> , < loại đối tượng> ,…] , {< tính chất > , <tính chất >}
2.2.6.6 Tập hợp Opts
Các toán tử thể hiện các qui tắc tính toán nhất định trên các biến thực cũng như trên các đối tượng Chẳng hạn như các phép toán số học, các phép tính toántrên các đối tượng đoạn, góc tương tự như đối với các biến thực hay các phép tính toán vectơ, tính toán ma trận,…Trong trường hợp các phép toán 2 ngôi thì phép toán có thể có các tính chất như tính giao hoán, tính kết hợp, tính nghịch đảo, tính trung hòa
2.2.6.7 Tập hợp Funcs
Các hàm Tập hợp Funcs trong mô hình COKB thể hiện tri thức về các hàm hay nói cách khác là thể hiện tri thức về các khái niệm và các qui tắc tính toán trên các biến thực cũng như trên các loại C-Object, được xây dựng thông qua các quan hệ tính toán dạng hàm Mỗi hàm được xác định bởi <tên hàm>, danh sách các đối số và một qui tắc định nghĩa hàm về phương diện toán học
Sự kiện loại 1: Sự kiện thông tin về loại của đối tượng
[<object>, <loại object>]
Trang 36 Sự kiện loại 2: Sự kiện về tính xác định của một đối tượng hay của một thuộc
tính của đối tượng
<object> hay <object>.<thuộc tính>
Sự kiện loại 3: Sự kiện về tính xác định của một đối tượng hay của một thuộc
tính của đối tượng thông qua biểu thức hằng
<object> = <biểu thức hằng> hay
<object>.<thuộc tính> = <biểu thức hằng>
Sự kiện loại 4:Sự kiện về sự bằng nhau của một đối tượng hay một thuộc tính
của đối tượng với một đối tượng hay một thuộc tính khác
<object>|<object>.<thuộc tính> = <object>|<object>.<thuộc tính>
Sự kiện loại 5: Sự kiện về sự phụ thuộc giữa các đối tượng và các thuộc tính
của đối tượng thông qua một công thức tính toán hay một đẳng thức theo các đối tượng hoặc các thuộc tính
<object> = <biểu thức theo các object hay thuộc tính khác>
hay<object>.<thuộc tính> = <biểu thức theo các object hay thuộc tính khác>
Sự kiện loại 6: Sự kiện về một quan hệ trên các đối tượng hay trên các thuộc
tính của các đối tượng
[<tên quan hệ>,<object1>,<object2>,…]
Sự kiện loại 7: Sự kiện về tính xác định của một hàm<hàm>
Sự kiện loại 8: Sự kiện về tính xác định của một hàm thông qua một biểu thức
Sự kiện loại 11: Sự kiện về sự phụ thuộc của một hàm theo các hàm hay các
đối tượng khác thông qua một công thức tính toán
<hàm> = <biểu thức theo các hàm hay các đối tượng>
Trang 37 Sự kiện loại 12: Sự kiện về một quan hệ trên các hàm hay giữa các đối tượng
và hàm
[<tên quan hệ>,<object1>,<hàm>] hay [<tên quan hệ>,<hàm>,<hàm>]
2.2.6.9 Những ưu điểm và nhược điểm của mô hình COKB
Cấu trúc tường minh giúp dễ dàng thiết kế các môđun truy cập cơ sở tri thức
Thích hợp cho việc thiết kế một cơ sở tri thức với các khái niệm có thể được biểu diễn bởi các đối tượng tính toán
Tiện lợi cho việc thiết kế các môđun giải bài toán tự động
Thích hợp cho việc định dạng ra một ngôn ngữ khai báo bài toán và đặc tả bài toán một cách tự nhiên
Với những ưu điểm trên mô hình COKB là mô hình lý tưởng để biểu diễn tri thức thay thế cho các mô hình biểu diễn tri thức thông thường Ngoài ra, với sự hỗ trợ của công cụ Maple phần mềm đại số tính toán là ngôn ngữ lập trình chính đã hỗ trợ một phần rất lớn cho mô hình COKB
Thành phần đối tượng tính toán Com-Object có phạm trù quá rộng
Các thành phần có thể dư thừa đối với một số lớp bài toán
Thành phần tri thức hàm vẫn chưa hoàn thiện về cấu trúc lẫn động cơ suy diễn
Các phương pháp suy luận
2.2.7 Các dạng suy luận sử dụng cho các mô hình biểu diễn tri thức
Bên cạnh mô hình biểu diễn tri thức, thì vấn đề suy luận trên mô hình cũng được nghiên cứu rất đa dạng Trong ngành Trí tuệ nhân tạo, người ta đã đề xuất các dạng suy luận để sử dụng cho các mô hình biểu diễn tri thức như sau: [4]
Phương pháp hợp giải trong biểu diễn tri thức dưới dạng logic vị từ:sử dụng
các luật suy diễn như luật “Modus Ponens”, luật “Modus Tollens” và luật “Tam đoạn luận”
Phương pháp suy diễn tiến (forward chaining): Chiến lược suy luận được
bắt đầu bằng tập sự kiện đã biết, rút ra các sự kiện mới nhờ dùng các luật mà phần giả thiết
Trang 38khớp với sự kiện đã biết, và tiếp tục quá trình này cho đến khi thấy trạng thái đích, hoặc
cho đến khi không còn luật nào khớp được các sự kiện đã biết hay được sự kiện suy luận
Phương pháp suy diễn lùi (Backward chaining):Phương pháp này được tiến
hành bằng cách truy ngược từ mục tiêu cần đạt được trở về phần giả thiết của bài toán bằng cách áp dụng các luật trong cơ sở tri thức Quá trình suy diễn lùi này sẽ phát sinh một sơ
đồ cây mục tiêu kèm theo một cơ chế quay lui và lời giải sẽ được tìm thấy khi tất cả các
mục tiêu ở các nút lá của cây mục tiêu đều thuộc về những sự kiện đã biết
Kết hợp suy diễn tiến và suy diễn lùi:Mỗi phương pháp suy diễn tiến và lùi
đều có ưu nhược điểm của nó Việc kết hợp 2 phương pháp này một cách thích hợp sẽ cho
ta một phương pháp suy diễn hiệu quả trong các ứng dụng cụ thể Trong thực tế, khi thiết
kế các giải thuật suy diễn, chúng ta thường kết hợp thêm việc sử dụng các heuristic, các
“kinh nghiệm” của con người trong quá trình giải quyết vấn đề, để có thể tìm ra lời giải
cho bài toán một cách nhanh nhất
Lập luận dựa trên tình huống (Case-based reasoning):Là dạng suy luận bằng
cách sử dụng các trường hợp đã biết để giải quyết cho một tình huống mới
Suy diễn dựa trên tri thức Bài toán mẫu:dựa trên mô hình COKB là phương
pháp suy diễn dựa trên bài toán mẫu, đây là một phương pháp suy diễn trên máy tính dựa vào những bài toán và những dạng toán cơ bản đã biết có liên quan với bài toán cần giải quyết Với phương pháp suy luận này, khi đó hệ thống suy diễn sẽ mô phỏng được xác thực hơn cách suy nghĩ của con người trong quá trình giải quyết vấn đề và sẽ cho kết quả tốt hơn so với các phương pháp suy diễn khác
Trang 39CHƯƠNG 3 – MÔ HÌNH BIỂU DIỄN TRI THỨC HÓA HỌC VÔ
CƠ - THUẬT GIẢI
Trong chương 2, mô hình COKB quá tổng quát và phức tạp đối với một số miền tri thức cụ thể và trong quá trình nghiên cứu, thu thập tri thức hóa học vô cơ, nhận thấy rằng cần phải có một mô hình tri thức để có thể biểu diễn tri thức hóa học vô cơ Trong thực tế
để giải được những bài toán hóa học vô cơ trung học phổ thông cần phân loại dạng bài tập, xác định đề thuộc nội dung nào đã được học, rồi sử dụng những kiến thức đã học được giải đưa ra cách giải phù hợp cho từng dạng sao cho hợp lí
Để biểu diễn tri thức ta cần lựa chọn mô hình phù hợp, và mô hình Che_Cokb [5] đây là mô hình phù hợp nhất, để có thể biểu diễn tri thức hóa vô cơ vì mô hình này sử dụng các đối tượng có mối quan hệ với nhau, sử dụng các luật suy diễn, các sự kiện để tìm ra mục tiêu của bài toán Trong phần tiếp theo ta sẽ giới thiệu rõ hơn về mô hình này
3.1 THU THẬP KIẾN THỨC
3.1.1 Quá trình thu thập
Quá trình thu thập kiến thức hóa học vô cơ rất rộng và phức tạp Các tri thức không chỉ bó gọn trong những đặc trưng riêng của môn hóa học, mà còn liên quan đến nhiều tri thức khác như toán học hay vật lí Các tri thức này là cơ sở để học sinh có thể học chuyên sâu hơn trong lĩnh vực hóa học
Để có thể biểu diễn được tri thức, khóa luận đã tìm hiểu và khảo sát một số sách về hóa học trong trường phổ thông và các đề thi tốt nghiệp, cao đẳng, đại học nhằm bám sát được nhu cầu thực tế Trong quá trình thực hiện, các tài liệu được dùng tham khảo tri thức hóa học như sách giáo khoa hóa học 10, 11, 12 cơ bản và nâng cao [8] [9], trong tài liệu được dùng dạy ở trường trung học phổ thông [10] [11] [7] Ngoài ra còn có các tài liệu tiếng anh [15] để tham khảo về hóa học vô cơ và bảng tuần hoàn các nguyên tố hóa học
Sau khi tham khảo và tiến hành phân loại tri thức đã khảo sát có thể chia thành 31 phần:
Phần 1: Các khái niệm, công thức và định luật cơ bản
Trang 40 Phần 2: Các tri thức về cấu tạo nguyên tử
Phần 3: Các tri thức về Cấu tạo phân tử
Phần 4: Các tri thức về cấu tạo chất
Phần 5: Các tri thức về Sự biến đổi tuần hoàn tính chất các nguyên tố
Phần 6: Các tri thức về Nhiệt hóa học và nhiệt động hóa học
Phần 7: Các tri thức về Động hóa học
Phần 8: Các tri thức về cân bằng hóa học
Phần 9: Các tri thức về dung dịch
Phần 10: Các tri thức về hóa học và dòng điện
Phần 11: Các tri thức về Hidro, oxi và nước
Phần 12: Các tri thức về kim loại kiềm
Phần 13: Các tri thức về kim loại kiềm thổ
Phần 14: Các tri thức về các nguyên tố nhóm IIIA
Phần 15: Các tri thức về các nguyên tố nhóm IVA
Phần 21: Các tri thức về các nguyên tố nhóm IIIB
Phần 22: Các tri thức về các nguyên tố nhóm IVB
Phần 23: Các tri thức về các nguyên tố nhóm VB
Phần 24: Các tri thức về Các nguyên tố nhóm VIB
Phần 25: Các tri thức về các nguyên tố nhóm VIIB
Phần 26: Các tri thức về các nguyên tố nhóm VIIB họ sắt
Phần 27: Các tri thức về các nguyên tố nhóm VIIIB họ platin
Phần 28: Các tri thức về các nguyên tố nhóm IB
Phần 29: Các tri thức về các nguyên tố nhóm IIB