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

XÂY DỰNG mô HÌNH BIỂU DIỄN TRI THỨC và hệ hỗ TRỢ GIẢI một số lớp bài tập hóa vô cơ TRONG CHƢƠNG TRÌNH THPT

117 149 1

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 117
Dung lượng 7,61 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Do đó, nhóm đã đề xuất đề tài nghiên cứu trong khóa luận này với tên là “Nghiên cứu xây dựng mô hình cơ sở tri thức và hệ giải 1 số lớp bài toán Hóa vô cơ trong chương trình THPT” với m

Trang 1

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN

KHOA KHOA HỌC MÁY TÍNH



KHÓA LUẬN TỐT NGHIỆP

XÂY DỰNG MÔ HÌNH BIỂU DIỄN TRI THỨC

VÀ HỆ HỖ TRỢ GIẢI MỘT SỐ LỚP BÀI TẬP HÓA VÔ CƠ

TRONG CHƯƠNG TRÌNH THPT

Giáo viên hướng dẫn : PGS.TS Đỗ Văn Nhơn

Sinh viên thực hiện : Lương Chấn Viễn – 07520408

Lê Hoài Nam – 07520233

TP Hồ Chí Minh, tháng 8 năm 2011

Trang 2

i

LỜI MỞ ĐẦU



Công nghệ thông tin được ra đời và phát triển từ những năm nữa cuối của thế

kỉ XX Và đến nay đã gặt hái được rất nhiều thành tựu vượt bậc, khả năng áp dụng rộng khắp vào tất các các ngành kinh tế, xã hội khác nhau và làm thay đổi không ít lối sống, cách suy nghĩ của con người hiện đại

Tuy nhiên, nhu cầu của con người ngày càng cao, họ không chỉ cần những thiết bị Công nghệ thông tin làm việc theo mệnh lệnh được lập trình sẵn, hỗ trợ tính toán cơ bản hay lưu trữ dữ liệu và tìm kiếm thông thường Họ cần những thiết bị máy tính thông minh hơn, giúp họ tìm ra lời giải những bài toán khó, gợi ý cho họ trong giải quyết các vấn đề phức tạp v.v…

Trước nhu cầu mới, ngành Khoa học máy tính nói chung và lĩnh vực Trí tuệ nhân tạo nói riêng nhận vai trò quan trọng trong việc nghiên cứu tìm ra các giải pháp tiên tiến giúp làm ra những phần mềm và thiết bị máy tính đáp ứng nhu cầu trên Chúng phải có khả năng tự động xử lý thông tin, xử lý tri thức, suy luận tính toán và điều khiển phức tạp Một số ứng dụng trong lĩnh vực này có thể kể đến như: các hệ tự động lập luận và chứng minh định lý; các hệ chuyên gia; các hệ hiểu và xử

lý ngôn ngữ tự nhiên; máy học và khai khoáng dữ liệu; robotics v.v… [10]

Để xây dựng được 1 hệ thống thông minh, việc đầu tiên là phải tìm ra 1 mô hình biểu diễn tri thức, đưa tri thức ở dạng tự nhiên thành dạng mà máy tính có thể lưu trữ và xử lý được, cùng với 1 bộ máy suy diễn, tìm kiếm tri thức trên mô hình

đó Từ những năm cuối thế kỉ trước, người ta đã tìm và liệt kê ra được 4 phương pháp chính để lưu trữ và xử lý tri thức như sau [6]:

- Biểu diễn logic như phương pháp diễn diễn tri thức theo vị từ cấp 1

- Biểu diễn tri thức thủ tục như phương pháp biểu diễn tri thức dạng hệ luật dẫn

- Biểu diễn tri thức dạng mạng ngữ nghĩa

Trang 3

ii

- Biểu diễn tri thức theo cấu trúc các frames và object

Dựa trên việc nghiên cứu và kết hợp các phương pháp trên cùng với một số cải tiến, tác giả Đỗ Văn Nhơn đã đề xuất ra mô hình các đối tượng tính toán C-Object vào năm 1997 [5] Từ ngày được công bố, C-Object đã được phát triển, mở rộng thành các mô hình như: mô hình mạng các đối tượng tính toán COKB [1], mô hình mạng các đối tượng tính toán mở rộng ECOKB [7] Từ những kết quả trên, rất nhiều nghiên cứu ứng dụng được ra đời nhằm giải quyết các vấn đề liên quan tới biểu diễn tri thức và suy luận tìm lời giải cho bài toán ở nhiều lĩnh vực khác nhau như: toán đại số tuyến tính, vật lý điện 1 chiều, hình học giải tính 2 chiều/ 3 chiều v.v… Có thể tham khảo trong các tài liệu số [4], [7], [8], [9]

Kết quả của những nghiên cứu ứng dụng từ mô hình COKB ở trên đã phần nào chứng minh được khả năng áp dụng của mô hình này vào lĩnh vực phát triển các công cụ hỗ trợ học tập thông minh Tuy nhiên số lượng ứng dụng vẫn chưa nhiều và mức độ đem lại hiệu quả thực tế vẫn chưa cao, các nghiên cứu đã có vẫn thiên về môn Toán học và Vật lý hơn Hơn nữa, Hóa học cũng là một bộ môn quan trọng trong chương trình Phổ thông nhưng vẫn chưa có nghiên cứu chính thức nào

về biểu diễn tri thức và hệ hỗ trợ giải bài tập cho Hóa học Nhu cầu của học sinh hiện nay về 1 hệ hỗ trợ học tập thông minh tương đối cao, các phần mềm này nếu hoạt động tốt sẽ giúp học sinh tiếp thu kiến thức nhanh hơn, bằng một cách thú vị hơn, góp phần vào việc nâng cao chất lượng dạy và học trong môi trường Phổ thông

Do đó, nhóm đã đề xuất đề tài nghiên cứu trong khóa luận này với tên là

“Nghiên cứu xây dựng mô hình cơ sở tri thức và hệ giải 1 số lớp bài toán Hóa vô

cơ trong chương trình THPT” với mong muốn tìm ra được 1 phương pháp biểu

diễn và xử lý tri thức Hóa vô cơ trên máy tính bằng cách áp dụng và cải tiến lý thuyết của mô hình COKB, góp phần vào thành quả chung của việc ứng dụng mô hình COKB vào lĩnh vực E-learning

Nội dung của khóa luận này được chia làm 7 chương như sau:

Trang 4

iii

Chương 1: Giới thiệu chung về vấn đề nghiên cứu, một số thành tựu đã có liên quan

tới việc biểu diễn và xử lý tri thức Hóa học trên máy tính Ngoài ra, chương này sẽ giới thiệu thêm về 1 số lý thuyết cơ bản trong việc nghiên cứu phát triển 1 hệ cơ sở tri thức trên máy tính

Chương 2: Trình bày về mô hình COKB và 1 số vấn đề mở rộng mô hình COKB

Hiện nay đã có mô hình ECOKB mở rộng nhưng đề tài chỉ tập trung cải tiến mô hình COKB để nghiên cứu xây dựng ứng dụng theo mục đã đề ra Nội dung mở rộng sẽ liên quan tới kiểu thuộc tính của đối tượng tính toán C-Object và quan hệ tính toán mới dùng để mô tả mối liên hệ giữa các kiểu thuộc tính mới Bên cạnh đó, chương 3 sẽ trình bày thêm 4 loại sự kiện mới bên cạnh 6 sự kiên đã có trong mô hình COKB

Chương 3: Biểu diễn tri thức Hóa vô cơ bằng cách áp dụng mô hình COKB nhưng

chỉ sử dụng 4 trong 5 thành phần là tập C, tập H, tập R và tập Rules, có áp dụng thêm lý thuyết cải tiến trình bày ở chương 3 Cùng với cách tổ chức lưu trữ tri thức này lên máy tính Thay vì sử dụng các tập tin TXT chứa dữ liệu cho từng tập (C,H,R,Rules), khóa luận sẽ trình bày cách lưu trữ tất cả tri thức vào 1 tập tin có tên

Chemistry.KB theo 1 chuẩn lưu trữ khác

Chương 4: Mô hình bài toán và thuật giải Ở đây, khóa luận sẽ dùng 1 mô hình duy

nhất có 3 thành phần để biểu diễn các bài toán Hóa vô cơ phổ biến trong sách giáo khoa, các kỳ thi tốt nghiệp THPT và thi vào Đại học, Cao đẳng Vẫn còn nhiều hạn chế nên mô hình chỉ tập trung giải quyết các bài toán lập luận trên các thí nghiệm hóa học, các chuỗi phản ứng liên tiếp; tạm thời chưa giải quyết được các dạng bài tập lý thuyết và hỏi đáp suy luận trên lý thuyết

Chương 5: Cài đặt thử nghiệm Đề tài sử dụng công cụ lập trình chính là Maple để

hiên thực toàn bộ lý thuyết đã đề ra, sử dụng C#, WPF trong NET Frameworks 4.0

để phát triển giao diện demo

Chương 6: Kết luận và hướng phát triển

Cuối cùng là danh mục tài liệu tham khảo và phụ lục bổ xung

Trang 5

iv

LỜI CẢM ƠN

Chúng tôi chân thành gửi lời cảm ơn sâu sắc nhất tới PSG.TS Đỗ Văn Nhơn, trưởng khoa Khoa học máy tính, trường Đại học Công Nghệ Thông Tin đã tận tình hướng dẫn chúng tôi thực hiện đề tài này trong suốt thời gian qua Bên cạnh kiến thức chuyên môn, thầy đã giúp chúng tôi thêm ý tưởng và động lực

để theo đuổi, phát triển đề tài cho khóa luận này

Bên cạnh đó, chúng tôi không quên cảm ơn các giảng viên của khoa Khoa học máy tính, trường Đại học Công nghệ thông tin đã trang bị cho chúng tôi đầy đủ kiến thức làm cơ sở để nghiên cứu và phát triển tới những mục tiêu cao hơn

Cuối cùng, chúng tôi muốn gửi lời cảm ơn tới các bạn sinh viên trong lớp CNTN02, các bạn đã đóng góp những ý kiến quí báu và tinh thần nhiệt quyết trong suốt thời gian dài chúng tôi học tập và nghiên cứu cùng nhau trên giảng đường đại học

Lương Chấn Viễn - Lê Hoài Nam

TP Hồ Chí Minh, ngày 1 tháng 8 năm 2011

Trang 6

v

Mục lục

LỜI MỞ ĐẦU i

LỜI CẢM ƠN iv

DANH MỤC BẢNG viii

DANH MỤC HÌNH ix

Chương 1: GIỚI THIỆU ĐỀ TÀI 1

1.1 Bối cảnh 1

1.2 Mục tiêu và phạm vi đề tài 2

1.3 Tổng quan về thành tựu trong và ngoài nước 3

1.4 Các vấn đề cơ bản trong thiết kế hệ giải toán dựa trên tri thức 5

1.4.1 Cấu trúc hệ thống 5

1.4.2 Biểu diễn tri thức 7

1.4.3 Bộ suy diễn tự động 8

Chương 2: MÔ HÌNH COKB VÀ 1 SỐ CẢI TIẾN MỚI 9

2.1 Mô hình COKB 5 thành phần 9

2.1.1 Định nghĩa đối tượng tính toán (C-Object): 9

2.1.2 Mô hình cho một C-Object 9

2.1.3 Mô hình tri thức các đối tượng tính toán (COKB) 10

2.2 Một số cải tiến mới 12

2.2.1 Mở rộng kiểu thuộc tính của C-Object 12

2.2.2 Quan hệ tính toán phụ thuộc 17

2.2.3 Tập 10 sự kiện (thêm 4 sự kiện mới) 22

Chương 3: BIỂU DIỄN TRI THỨC HÓA VÔ CƠ 27

Trang 7

vi

3.1 Mô hình tri thức 27

3.1.1 Tập C 27

3.1.2 Tập H 28

3.1.3 Tập R 29

3.1.4 Tập Rules 30

3.2 Cách tổ chức lưu trữ 31

3.2.1 Tập các khái niệm (C-Object) 31

3.2.2 Tập các quan hệ phân cấp 33

3.2.3 Tập các quan hệ R 34

3.2.4 Tập các luật suy diễn 34

Chương 4: MÔ HÌNH BÀI TOÁN VÀ THUẬT GIẢI 36

4.1 Mô hình bài toán 36

4.2 Thuật giải 40

4.2.1 Suy diễn bên trong một đối tượng 40

4.2.2 So khớp sự kiện 42

4.2.3 Suy diễn trên luật dẫn 55

4.2.4 Suy diễn trên các sự kiện loại 4 57

4.2.5 Deduce sự kiện 58

4.2.6 Suy diễn trên đối tượng “Thí nghiệm” 59

Chương 5: CÀI ĐẶT VÀ THỬ NGHIỆM 71

5.1 Cài đặt ứng dụng 71

5.1.1 Xây dựng thư viện ChemistryUtility 71

5.1.2 Xây dựng thư viện hàm suy diễn trên tri thức 74

Trang 8

vii

5.1.3 Xây dựng công cụ hỗ trợ người dùng nhập bài toán 75

5.1.4 Xây dựng ứng dụng demo 81

5.2 Thử nghiệm và đánh giá 82

Chương 6: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 88

6.1 Kết luận 88

6.2 Hạn chế 89

6.3 Hướng phát triển 89

TÀI LIỆU THAM KHẢO 90

PHỤ LỤC 1: GIỚI THIỆU MỘT SỐ KIẾN THỨC CƠ BẢN VỀ HÓA VÔ CƠ 92

PHỤ LỤC 2: VÍ DỤ CỤ THỂ VỀ 1 SỐ C-OBJECT TRONG HÓA VÔ CƠ 101

Trang 9

viii

DANH MỤC BẢNG

Bảng 2-1 Một số kí hiêu qui ƣớc dùng biểu diễn các loại sự kiện 22

Bảng 4-1 Bảng chân trị khi so khớp sự kiện 43

Bảng 4-2 So khớp sự kiện loại 1 43

Bảng 4-3 Xử lý sự kiện loại 7 49

Bảng 4-4 Qui luật so khớp các sự kiện 55

Bảng 4-5 Deduce sự kiện 59

Bảng 4-6 Cấu trúc mô tả 1 thí nghiệm 62

Bảng 5-1 Các hàm suy diễn 75

Trang 10

ix

DANH MỤC HÌNH

Hình 1.1 Mẫu ví dụ về ChEBI 3

Hình 1.2 Chemlap 4

Hình 1.3 Giao diện chính của DCE 2008 5

Hình 1.4 Mô hình của hệ thống tự động suy diễn 6

Hình 3.1 Ví dụ về sơ đồ mạch điện 16

Hình 5.1 Lưu đồ thuật giải suy diễn bên trong 1 đối tượng 41

Hình 5.2 Lưu đồ suy diễn trên 1 quan hệ tính toán phụ thuộc 41

Hình 5.3 Lưu đồ so khớp sự kiện loại 1 44

Hình 5.4 Lưu đồ so khớp sự kiện loại 2 45

Hình 5.5 Lưu đồ so khớp sự kiện loại 2' 45

Hình 5.6 Lưu đồ so khớp sự kiện loại 3 46

Hình 5.7 Lưu đồ so khớp sự kiện loại 4n, 4l 47

Hình 5.8 Lưu đồ so khớp sự kiện loại 4o 47

Hình 5.9 Lưu đồ so khớp sự kiện loại 6 48

Hình 5.10 Lưu đồ so khớp sự kiện lọa 8 50

Hình 5.11 Lưu đồ so khớp sự kiện loại 9 51

Hình 5.12 Phân loại môi trường phản ứng 60

Hình 5.13 Phân loại "thí nghiệm" 63

Hình 5.14 Thí nghiệm có phản ứng không hoàn toàn 65

Hình 5.15 Thí nghiệm hoàn chỉnh 65

Hình 5.16 Thí nghiệm chưa hoàn chỉnh dạng 1 66

Hình 5.17 Thí nghiệm chưa hoàn chỉnh dạng 2 67

Hình 5.18 Thí nghiệm chưa hoàn chỉnh dạng 3 68

Trang 11

Trong những ngành cần quan tâm ứng dụng Công nghệ thông tin, Giáo dục là 1 trong những ngành được nhà nước ta tập trung hàng đầu Đem Công nghệ thông tin vào Giáo dục giúp nâng cao chất lượng đào tạo, nâng cao trình độ con người trong xã hội mới

Ứng dụng Công nghệ thông tin trong giao dục bao gồm: các phần mềm hỗ trợ soạn thảo bài giảng cho giáo viên; phần mềm hỗ trợ học tập, tra cứu kiến thức cho học sinh; các hệ thống e-learning trực tuyến

Nói về phần mềm hỗ trợ học tập, phần lớn các phần mềm loại này chỉ đáp ứng được nhu cầu cơ bản của học sinh như ôn tập lý thuyết, tra cứu và hỗ trợ giải các bài tập mẫu Gần như ít có phần mềm nào tiếp cận tới vấn đề hỗ trợ học sinh tìm lời giải cho các bài toán khác nhau Việc sử dụng các phần mềm có khả năng hỗ trợ tìm lời giải sẽ giúp học sinh tiếp cận kiến thức mới nhanh hơn, tự do sáng tạo hơn để tìm ra những lời giải mới

Trong chương trình Phổ thông, đặc biệt là chương trình ban A, Toán – Lý – Hóa là 3 môn học quan trọng Các bài tập, bài kiểm tra của các môn này nặng về tư duy giải toán Không phải học sinh nào cũng có đủ năng lực để giải hết các bài tập khó

dễ trong các đề thi của 3 môn học Học sinh cần có một công cụ hỗ trợ, gợi ý để tìm ra lời giải Từ những gợi ý của công cụ phần mềm, học sinh sẽ dễ dàng luyện tập nâng cao kĩ năng giải toán trong các kì thi hơn

Trang 12

2

Như vậy, nhu cầu về 1 hệ thống hỗ trợ giải bài tập thông minh đã xuất hiện Đây chính là động lực để chúng tôi cũng như các nhóm sinh viên Công nghệ thông tin khác tìm tòi, nghiên cứu, phát triển các hệ thống tiên tiến đáp ứng nhu cầu trên

1.2 Mục tiêu và phạm vi đề tài

Đề tài khóa luận này sẽ nghiên cứu phát triển mô hình COKB, ứng dụng vào biểu diễn tri thức và hệ tự động giải 1 số bài tập Hóa Vô cơ trong chương trình Phổ thông Vì Hóa học nói chung và Hóa Vô cơ nói riêng là 1 trong những môn học quan trọng trong chương trình Phổ thông Môn Hóa học được xem là 1 trong 3 môn quan trọng Toán – Lý – Hóa của chương trình phân ban khối A, là môn thi bắt buộc trong các kì thi Đại học, Cao đẳng vào khối A, B hằng năm Khóa luận có tham khảo nội dung chương trình học và kiểm tra của môn Hóa Vô cơ từ các tài liệu [14], [15], [16], [17], [18]

Mục tiêu của đề tài là nghiên cứu mở rộng mô hình COKB nhằm phục vụ cho việc xây dựng mô hình cơ sở tri thức Hóa Vô cơ để có thể lưu trữ và xử lý suy luận giải bài tập trên máy tính; cùng với phát triển 1 ứng dụng demo hỗ trợ giải bài toán Hóa Vô cơ thỏa mãn các yêu cầu sau:

- Có cơ sở tri thức về Hóa vô cơ lưu trữ riêng trên máy tính với cấu trúc đơn giản

để người sử dụng dễ thay đổi, chỉnh sửa khi cần thiết

- Cho phép nhập bài toán bằng ngôn ngữ đơn giản gần với ngôn ngữ tự nhiên

- Tìm ra lời giải gần với cách giải của con người, trình bày đẩy đủ, dễ hiểu

- Giao diện phần mềm trực quan, sinh động, dễ thao tác

Phạm vi của đề tài này sẽ tập trung mở rộng mô hình COKB, cụ thể là tập thuộc tính và quan hệ tính toán của C-Object để áp dụng vào biểu diễn tri thức Hóa Vô cơ, xây dựng mô hình bài toán cùng thuật giải để giải quyết 1 số lớp bài toán Hóa vô cơ phổ biến trong chương trình sách giáo khoa THPT cũng như trong đề thi Tốt nghiệp THPT, đề thi Đại học khối A, B hằng năm

Trang 13

3

Đề tài sẽ sử dụng công cụ lập trình chính là Maple 15 vì ngôn ngữ này hỗ trợ khá tốt lập trình tính toán hình thức, 1 trong những kĩ thuật cơ bản trong lập trình các hệ thống tự động giải toán [17]

1.3 Tổng quan về thành tựu trong và ngoài nước

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, tiêu biểu là công trình khoa học mang tên ChEBI (Chemical Entities of Biological Interest) [19]

Hình 1.1 Mẫu ví dụ về ChEBI

ChEBI là một hệ cơ sở tri thức mở về các hợp chất hữu cơ, được dùng để tra cứu thông tin về các chất, mối liên hệ giữa các chất và cấu tạo của chúng Mục tiêu của ChEBI là xây dựng hệ thống tiêu chuẩn dùng để biểu diễn tri thức của các hợp chất hữu cơ và lưu trữ vào cơ sở dữ liệu Có thể gọi ChEBI là một Ontology của lĩnh

Trang 14

Hình 1.2 Chemlap

Trong nước, các nghiên cứu khoa học và đề tài ứng dụng liên quan tới biểu diễn tri thức của lĩnh vực Hóa học nói chung và Hóa vô cơ nói riêng gần như vẫn chưa

có nhiều thành tựu đáng kể ngoại trừ một số phần mềm ứng dụng mang tính đơn giản

và không chứa các yếu tố liên quan tới tri thức và xử lý tri thức

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” [21], 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ề

Trang 15

5

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

Hình 1.3 Giao diện chính của DCE 2008

1.4 Các vấn đề cơ bản trong thiết kế hệ giải toán dựa trên tri

thức

1.4.1 Cấu trúc hệ thống

Hệ giải toán dựa trên tri thức là 1 hệ thống thông minh, có khả năng biểu diễn được tri thức tự nhiên lên máy tính, có thể xử lý tri thức và suy luận giải quyết bài toán 1 cách tự động Hệ thống thông minh này phải có khả năng thực hiện suy luận trên 1 miền tri thức cụ thể nào đó Cấu trúc cơ bản của hệ thống này bao gồm các thành phần như: Giao diện người dùng, cơ sở tri thức, bộ suy diễn, hệ thống phân tích bài toán và hiệu chỉnh cơ sở tri thức [11]

Trang 16

6

Knowledge Base

Cơ sở tri thức Người dùng

User

Giao diện UI

Hiệu chỉnh cơ sở tri thức

KB Editor

Hê thống con giải thích Explain System

Bộ suy diễn Inference Engine

Hình 1.4 Mô hình của hệ thống tự động suy diễn

Hai thành phần quan trọng nhất của 1 hệ tự động suy diễn chính là Cơ sở tri thức và Bộ suy diễn Cơ sở tri thức chính là trái tim của hệ thống, là nơi lưu trữ tất cả tri thức của 1 lĩnh vực cụ thể để máy tính có thể xử lý được Bộ suy diễn là thành phần

sẽ đi tìm lời giải cho các bài toán bằng cách áp dụng tri thức có trong Cơ sở tri thức

Cơ sở tri thức và Bộ suy diễn cần phải được tách biệt rõ ràng bởi vì:

- Sự tách biệt giữa Cơ sở tri thức và Bộ suy diễn làm cho việc biểu diễn tri thức

tự nhiên hơn, gần gũi hơn với con người

- Sự tách biệt này nhằm tăng cường tính module hóa cho toàn bộ hệ thống Mỗi module sẽ được giao 1 nhiệm vụ khác nhau giúp cho việc kiểm tra, nâng cấp hay sửa lỗi hệ thống được dễ dàng hơn

- Tri thức là thành phần có thể thay đổi được bởi người sử dụng, còn bộ suy diễn thường được thiết kế để có thể hoạt động cả khi nội dung tri thức đã thay đổi Tuy nhiên, do mức độ phức tạp của tri thức nên việc cập nhật cơ sở tri thức cần được giới hạn trước trong 1 miền tri thức nào đó

- Sự tách biệt giữa 2 phần này còn giúp ta dễ dàng thử nghiệm nhiều chiến lượt suy diễn trên cùng 1 cơ sở tri thức hay ngược lại

Giống như các hệ thống chứa thông tin khác, cơ sở tri thức sau khi thiết kế phải đả bảo

dễ dàng sử dụng, cập nhật khi cần thiết

Trang 17

7

1.4.2 Biểu diễn tri thức

Biểu diễn tri thức là bài toán lớn đặt lên vai các nhà làm nghiên cứu trong lĩnh vực Khoa học máy tính và Trí tuệ nhân tạo Biểu diễn tri thức cơ bản là việc chuyển đổi tri thức thực thành 1 kiểu biểu diễn khác để có thể lưu trữ và xử lý trên máy tính Thành quả nghiên cứu nhiều năm của ngành Khoa học máy tính đã đề ra 4 phương pháp biểu diễn tri thức cơ bản như sau:

- Các phương pháp biểu diễn bằng logic hình thức Các phương pháp này sử

dụng các biểu diễn hình thức để diễn đạt các sự kiện và các luật trong cơ sở tri thức Người ta thường dùng ngôn ngữ lập trình PROLOG để biểu diễn phương pháp này

- Các phương pháp biểu diễn tri thức thủ tục Loại phương pháp này biểu diễn tri

thức như là một tập hợp các chỉ thị dùng cho giải quyết các bài toán Chỉ thị

như thế thường được thể hiện bởi tập các luật dẫn có dạng if … then…

- Các phương pháp biểu diễn dạng mạng Biểu diễn mạng kiến thức như là một

đồ thị trong đó các đỉnh biểu diễn cho các khái niệm hay các đối tượng và các cạnh biểu diễn quan hệ hay những sự kết hợp nào đó giữa các đối tượng và khái

niệm Phổ biến nhất trong các phương pháp loại này là các mạng ngữ nghĩa và các đồ thị khái niệm

- Các phương pháp biểu diễn cấu trúc Các ngôn ngữ biểu diễn cấu trúc cho

phép sử dụng các cấu trúc dữ liệu phức tạp và các cấu trúc dữ liệu trừu tượng trong biểu diễn Ví vụ như các khung (frames) và các đối tượng (objects)

Rõ ràng mỗi phương pháp biểu diễn trên đều có ưu và nhược điểm riêng Tri thức tự nhiên vô cùng phong phú và đa dạng, do đó các chuyên gia khả định rằng muốn xây dựng được một hệ cơ sở tri thức tốt cần phải vận dụng linh hoạt tất cả các cách trên cùng với những cải tiến thay đổi khi cần thiết

Trang 18

8

1.4.3 Bộ suy diễn tự động

Khi đã có 1 cơ sở tri thức tốt, việc quan trọng tiếp theo là xây dựng được bộ suy diễn tự động trên cơ sở tri thức đó Các phương pháp suy diễn tự động đều hướng tới mục tiêu là áp dụng tri thức trong cơ sở tri thức, phát sinh các sự kiện mới từ các

sự kiện đã có Sau đây là 4 chiến lượt suy diễn tự động tương đối khái quát:

- Phương pháp hợp giải trong biểu diễn tri thức dưới dạng logic vị từ Trong

phương pháp biểu diễn logic hình thức ta đã sử dụng luật “Modus Ponens”, luật

“tam đoạn luận”

- Phương pháp suy diễn tiến (Forward chaining) như sau: “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 khớ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 hai 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ể

Trang 19

9

Chương 2: MÔ HÌNH COKB

VÀ 1 SỐ CẢI TIẾN MỚI

2.1.1 Định nghĩa đối tượng tính toán (C-Object):

Ta gọi một đối tượng tính toán (C-object) là một đối tượng O có cấu trúc bao gồm:

(1) Một danh sách các thuộc tính Attrs = x1, x2, , xn trong đó mỗi thuộc tính lấy giá trị trong một miền xác định nhất định, và giữa các thuộc tính ta có các quan

hệ thể hiện qua các sự kiện, các luật suy diễn hay các công thức tính toán (2) Các hành vi liên quan đến sự suy diễn và tính toán trên các thuộc tính của đối tượng hay trên các sự kiện như:

 Xác định bao đóng của một tập hợp thuộc tính A  Attr(O), tức là đối tượng

O có khả năng cho ta biết tập thuộc tính lớn nhất có thể được suy ra từ A trong đối tượng O

 Xác định tính giải được của bài toán suy diễn tính toán có dạng A  B với

A  Attr(O) và B  Attr(O) Nói một cách khác, đối tượng có khả năng trả lời câu hỏi rằng có thể suy ra được các thuộc tính trong B từ các thuộc tính trong A không

 Thực hiện các tính toán

 Thực hiện việc gợi ý bổ sung giả thiết cho bài toán

 Xem xét tính xác định của đối tượng, hay của một sự kiện

2.1.2 Mô hình cho một C-Object

Một C-Object có thể được mô hình hoá bởi một bộ

(Attrs,F,Fact,Rules)

Trang 20

10

Trong đó:

- Attrs là tập hợp các thuộc tính của đối tƣợng

- F là tập hợp các quan hệ suy diễn tính toán

- Facts là tập hợp các tính chất hay sự kiện vốn có của đối tƣợng

- 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

2.1.3 Mô hình tri thức các đối tƣợng tính toán (COKB)

(C, H, R, Ops, Rules)

[1] Một tập hơp C các khái niệm về các C-Object

Mỗi khái niệm là một lớp C-Object có cấu trúc và đƣợc phân cấp theo sự thiết lập của cấu trúc đối tƣợng:

 [1] Các biến thực

 [2] Các đối tƣợng cơ bản có cấu trúc rỗng hoặc có cấu trúc gồm một số

thuộc tính thuộc kiểu thực (ví dụ như DIEM không có thuộc tính giá trị thực trong hình học phẳng) Các đối tƣợng loại nầy làm nền cho các đối

tƣợng cấp cao hơn

 [3] Các đối tƣợng C-Object cấp 1 Loại đối tƣợng nầy có một thuộc tính

loại <real> và có thể đƣợc thiết lập từ một danh sách nền các đối tƣợng

cơ bản Ví dụ: DOAN[A,B] và GOC[A,B,C] trong đó A, B, C là các đối tƣợng cơ bản loại DIEM

 [4] Các đối tƣợng C-Object cấp 2 Loại đối tƣợng nầy có các thuộc tính

loại real và các thuộc tính thuộc loại đối tượng cấp 1, và đối tƣợng 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ụ: TAM_GIAC[A,B,C] và TU_GIAC[A,B,C,D], trong đó A, B, C, D là các đối tƣợng cơ bản loại DIEM

Cấu trúc bên trong của mỗi lớp đối tƣợng gồm:

Trang 21

vi cơ bản nầy của đối tượng C-Object sẽ được xem xét chi tiết hơn trong các mục sau

[2] Một tập hơp H các quan hệ phân cấp giữa các loại đối tượng

Trên tập hợp C ta có một quan hệ phân cấp theo đó có thể có một số khái niệm

là sự đặc biệt hóa của các khái niệm khác, chẳng hạn như một tam giác cân cũng là một tam giác, một hình bình hành cũng là một tứ giác Có thể nói rằng H là một biểu

đồ Hasse khi xem quan hệ phân cấp trên là một quan hệ thứ tự trên C

[3] Một 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à các loại đối tượng của quan

hệ, và quan hệ có thể có một số tính chất trong các tính chất sau đây: tính chất phản

xạ, tính chất đối xứng, tính chất phản xứng và tính chất bắc cầu Ví dụ: Quan hệ cùng phương trên 2 đoạn thẳng có các tính chất phản xạ, đối xứng và bắc cầu

[4] Một tập hơp Ops các toán t ử

Các toán tử cho ta một số phép toán trên các biến thực cũng như trên các đối tượng, chẳng hạn các phép toán số học và tính toán trên các đối tượng đoạn và góc tương tự như đối với các biến thực

[5] Một tập hơp Rules gồm các luật được phân lớp

Các luật thể hiện các tri thức mang tính phổ quát trên các khái niệm và các loại

sự kiện khác nhau Mỗi luật cho ta một qui tắc suy luận để đi đến các sự kiện mới từ các sự kiện nào đó, và về mặt cấu trúc nó gồm 2 thành phần chính là: phần giả thiết của luật và phần kết luận của luật Phần giả thiết và phần kết luận đều là các tập hợp

Trang 22

2.2.1 Mở rộng kiểu thuộc tính của C-Object

Đối tượng tính toán C-Object được giới thiệu từ năm 1997 là cơ sở cho sự hình thành các mô hình biểu diễn tri thức sau nay như mô hình mạng các đối tượng tính toán COKB, mô hình mạng tính toán mở rộng ECOKB cùng với rất nhiều bài báo khoa học, nghiên cứu ứng dụng đã được xuất bản

Dù được phát triển qua nhiều giai đoạn nhưng C-Object vẫn đóng vai trò là thành phần không thể thiếu trong việc biểu diễn khái niệm về nhóm đối tượng trong 1 miền tri thức cụ thể Thành phần quan trọng nhất của C-Object chính là tập các thuộc tính Attrs vì mỗi thuộc tính sẽ biểu diễn một tính chất đặc trưng của đối tượng Tập các thuộc tính của 1 C-Object dùng để phân biệt nó với các C-Object khác

Ví dụ:

- Trong hình học ta có khái niệm "Tam Giác" với các thuộc tính: độ dài 3 cạnh

a,b,c; độ dài 3 góc A,B, C; diện tích S, chu vi P v.v…

- Trong vật lý về mạch điện ta có khái niệm "Điện trở" với các thuộc tính: điện

trở R, cường độ dòng điện I, hiệu điện thế U

- Trong hóa học có khái niệm "Nguyên tố" với các thuộc tính: Khối lượng riêng

M, Số hiệu nguyên tử Z, độ âm điện v.v

Trang 23

13

Cho đến hiện nay, kiểu thuộc tính của đối tượng C-Object được định nghĩa là

"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"[1] (Đối tượng

cơ bản là các đối tượng có thuộc tính kiểu thực, đối tượng cấp 1 được định nghĩa từ đối tượng cơ bản và kiểu thực, định nghĩa tương tự cho các đối tượng cấp lớn hơn.) Chú ý: định nghĩa trên được xét trong 1 miền tri thức cụ thể với các đối tượng được phân cấp

Ràng buộc về kiểu thuộc tính của đối tượng ở trên, mỗi thuộc tính chỉ có thể được gán 1 giá trị duy nhất Tuy nhiên, trong thực tế có nhiều trường hợp yêu cầu phức tạp hơn khi biểu diễn giá trị thuộc tính của đối tượng

Ví dụ

- Với khái niệm "Hỗn hợp" trong Hóa học Như đã biết, khái niệm Hỗnhợp là tập

hợp các chất cùng trạng thái vật lý và không tác dụng với nhau ở điều kiện

thường Vậy thuộc tính gì của "Hỗn hợp" có thể biểu diễn được tập các chất mà

"Hỗn hợp" đó có?

- Trong bài toán hóa học, người ta thường đưa ra 1 thí nghiệm Nếu gọi đây là 1

đối tượng "Thí nghiệm" thì tập thuộc tính của nó cần lưu trữ thông tin về các

chất tham gia, các chất tạo thành, chuỗi phản ứng xảy ra trong thí nghiệm (vì thí nghiệm có thể có nhiều phản ứng xảy ra liên tiếp), các sản phẩm trung gian tạo thành trong chuỗi phản ứng đó v.v…

- Tương tự như trong Vật lý, khi nói về đối tượng "Mạch điện", chưa cần biết mạch điện đó đơn giản hay phức tạp, nhưng khi nói tới đối tượng "Mạch điện"

ta cần phải biết thông tin về các thiết bị điện mà nó sử dụng trong mạch

- Mở rộng hơn vào trong lĩnh vực xã hội, nếu định nghĩa khái niệm "Hộ gia

đình" ngoài các thuộc tính như "địa chỉ", "điện thoại", "thu nhập", ta cần phải

có 1 thuộc tính lưu trữ danh sách các thành viên trong gia đình Mỗi thành viên

là 1 đối tượng thuộc kiểu "Con người"

Và còn nhiều loại đối tượng trong các lĩnh vực khác nhau chứa thông tin tương

tự như trên Ta thấy nếu áp dụng lý thuyết về C-Object hiện tại để áp dụng biểu diễn tri thức cho các trường hợp này là không thể Ta cần phải thay đổi, cải tiến C-Object

Trang 24

14

để giải quyết các trường hợp này Trong báo cáo này sẽ đề ra giải pháp là mở rộng kiểu thuộc tính của C-Object

Nội dung cụ thể về mở rộng kiểu thuộc tính của C-Object như sau.

Ta mở rộng kiểu thuộc tính của C-Object thêm 3 kiểu dưới đây

list( TYPE ) set( TYPE ) dict( TYPE1, TYPE2)

Với TYPE, TYPE1, TYPE2 là tên kiểu dữ liệu, bao gồm các kiểu dữ liệu cơ

bản, kiểu khái niệm đã được định nghĩa thêm trong tập C, kiểu list, set hoặc dict list(TYPE)

Một thuộc tính có kiểu dữ liệu là list( TYPE ) thể hiện một danh sách có thứ tự

mà các thành phần trong danh sách là các đối tượng thuộc kiểu TYPE Trong trường hợp ta không quan tâm tới kiểu giá trị của từng thành phần trong danh sách, TYPE có

thể bằng rỗng (NULL)

Ví dụ:

- Trong một thí nghiệm hóa học, các phản ứng hóa học xảy ra một cách lần lượt, phản ứng này xảy ra trước, phản ứng kia xảy ra ngay sau khi phản ứng này kết thúc Chẳng hạn, khi ta cho vào dung dịch chứa và một lượng dư nhôm thì phản ứng sẽ xảy ra lần lượt như sau:

có tính oxi-hóa mạnh hơn nên sẽ tác dụng trước với chất khử

Sau khi lượng tác dụng hết, thì khi đó các phân tử trong mới bắt đầu tác dụng với

Trang 25

15

Để mô tả một thí nghiệm, ta có các thuộc tính nhƣ "State" dùng để chỉ trạng thái của các chất có trong thí nghiệm tại một thời điểm, và "Phases" dùng để chỉ các pha phản ứng xảy ra giữa các thời điểm trong thí nghiệm Vậy

State có kiểu dữ liệu là list(list("Chất")) và Phases có kiểu dữ liệu là list("Phản ứng")

Ứng với thí nghiệm trên, ta có:

State = [ [Fe2+, Cu2+, Al], [Fe2+, Al, Cu, Al3+], [Al, Cu, Al3+, Fe] ] Phases[ , ]

set( TYPE )

Một thuộc tính có kiểu là set( TYPE ) biểu diễn cho một tập hợp các đối tƣợng

có kiểu là TYPE Với set, ta không quan tâm tới thứ tự sắp xếp của chúng.TYPE =

NULL khi ta không cần quan tâm tới kiểu dữ liệu của các thành phần bên trong tập hợp

Components = { ch_Al, ch_Fe, ch_Cu }

Chú ý: ch_Al, ch_Fe, ch_Cu là tên đối tƣợng dùng để biểu diễn cho 3 kim loại

Al, Fe và Cu

Đối với khái niệm "Mạch điện", ta cũng gọi thuộc tính chứa các thành phần

trong mạch điện là "Componets", có kiểu là set() Do trong mạch điện có thể có

Trang 26

16

nhiều kiểu đối tượng khác nhau như điện trở, nguồn điện, khóa điện v.v… nên

ta không cần xác định kiểu dữ liệu cụ thể

dict(TYPE1, TYPE2)

Một thuộc tính kiểu dict(TYPE1, TYPE2) thể hiện một từ điển, hay một bảng với các khóa là các đối tượng kiểu TYPE1 và các giá trị tương ứng là các đối tượng kiểu TYPE2

Ví dụ: trong khái niệm "Dung dịch" là một hỗn hợp đồng nhất giữa dung môi

và chất tan (ở đây, ta chỉ xét dung môi là nước), người ta định nghĩa Nồng độ mol thể tích (nồng độ phân tử gam), biểu thị số mol của một chất tan cho trước trong 1 lít dung

dịch

Ta có thể biểu diễn nồng độ mol thể tích là một thuộc tính của "Dung dịch" như sau:

MC có kiểu là dict("Chất", real)

Diễn tả một sự kiện "nồng độ mol thể tích của NaOH trong dung dịch X là 0.1 M" bằng đẳng thức:

, -, -

Trang 27

17

2.2.2 Quan hệ tính toán phụ thuộc

Tiếp tục nói về đối tượng tính toán C-Object, tập các thuộc tính của C-Object là thành phần quan trọng nhất dùng để mô tả các tính chất/thuộc tính có trong 1 đối tượng mà nó muốn biểu diễn Bên cạnh tập các thuộc tính, C-Object không thể thiếu các quan hệ tính toán, thành phần chính dùng trong suy diễn tính toán Quan hệ tính

toán được định nghĩa là “Mỗi quan hệ thể hiện một qui 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 nầy từ một số thuộc tính khác của đối tượng”[1] Nói 1 cách khác, quan hệ tính toán là 1 biểu thức tính toán giữa các thuộc

tính bên trong đối tượng Quan hệ tính toán có 2 loại:

- Quan hệ tính toán đối xứng có hạng (rank) bằng 1 số nguyên dương k, đó là quan hệ mà ta có thể tính được giá trị của k thuộc tính bất kì từ n-k thuộc tính

đã biết (n là số lượng thuộc tính)

- Quan hệ tính toán không đối xứng là 1 quan hệ tính toán toán có dạng 1 ánh xạ u(f) -> v(f) Với u(f) là tập biến đầu vào và v(f) là tập biến đầu ra của quan hệ

Ví dụ như trong tam giác ta có các quan hệ tính toán sau:

- A+B+C = Pi // quan hệ giữa 3 góc trong tam giác

- S= ½*a*b*sin(C) // quan hệ tính diện tích tam giác

Tuy nhiên, khi mở rộng kiểu thuộc tính trong đối tượng tính toán, ngoài việc sử dụng lại quan hệ tính toán cũ cho kiểu thuộc tính cũ, ta cũng cần phải mở rộng thêm loại quan hệ tính toán mới để áp dụng vào các kiểu thuộc tính mới Quan hệ tính toán mới sẽ biểu diễn các loại quan hệ như:

- Quan hệ tính giá trị thuộc tính bằng tổng giá trị có trong 1 thuộc tính có kiểu tập hợp/danh sách

Ví dụ: quan hệ tính khối lượng của hỗn hợp bằng tổng khối lượng các chất trong hỗn hợp đó

- Quan hệ tính giá trị thuộc tính của 1 đối tượng trong 1 thuộc tính của đối tượng khác có tập hợp danh sách

Trang 28

- ListAttrs Attrs: là tập các thuộc tính loại list (danh sách) hay set (tập hợp)

- DictAttrs Attrs: là tập các thuộc tính loại từ điển (table)

- NumAttrs Attrs: là tập các thuộc tính có kiểu số học như số thực, số nguyên… chú ý là: NumAttrs ∩ ListAttrs =

Loại : ∀ x f(la): expression(x, na)

- expression là 1 đẳng thức dựa trên x và tập na

- f : là một hàm số trả về một tập hợp (hữu hạn) f thường là các hàm filter (lọc), các phép toán trên tập hợp, hay các hàm tổ hợp…

Cách biểu diễn trong tri thức

depend [la] then [expression] for [x] in [f]

Ví dụ 1:

- Trong "Dung dịch", ta có thuộc tính Solutes biểu diễn các chất tan trong dung

dịch Solutes có kiểu là set("Chất") Thuộc tính MC dùng để chỉ nồng độ mol của chất trong dung dịch Nhƣ đã đề cập ở trên, MC có kiểu là dict("Chất", real)

Trang 29

depend Solutes then MC[s] = s[n] / V for s in Solutes

- Tỷ lệ mol phu thuộc vào số mol của chất trong dung dịch thông qua quan hệ tính toán sau:

∀* + ∈ (

)

, , -

, , -

-Với / chỉ tập các tập con của Components có 2 phần tử

Nếu biểu diễn theo tuyến tính thì:

depend Components then

MoleRatio[x[1]] / MoleRatio[x[2]] = x[1][n] / x[2][n]

Trang 30

o : là tíc đề các giữa các miền giá trị của các biến trong tập na.

mhh là thuộc tính chỉ khối lƣợng hỗn hợp, có kiểu dữ liệu là real

- Với một đối tƣợng "Chất", ta có thuộc tính m kiểu real chỉ khối lƣợng của chất

đó

- Biểu diễn phát biểu trên bằng Quan hệ tính toán phụ thuộc dạng 2 nhƣ sau:

Trang 31

depend Component then m = add(subs(s=s[m], Solutes))

(Định luật bảo toàn khối lượng)

- Với một đối tƣợng "Phản ứng", ta có các thuộc tính;

Reactants chỉ các chất tham gia phản ứng

- Biểu diễn tuyến tính của quan hệ tính toán trên

depend Reactants, Products then

sum(s[m], s in Reactants) = sum(s[m], s in Products)

Trang 32

22

2.2.3 Tập 10 sự kiện

Do có sự mở rộng kiểu thuộc tính của đôi tƣợng, tập các loại sự kiện cần bổ xung thêm 1 số loại sự kiện mới dùng để biểu diễn các sự kiện liên quan tới các kiểu thuộc tính mới Cụ thể, để biểu diễn đƣợc các bài toán Hóa Vô Cơ, chúng ta cần sử dụng các loại sự kiện sau đây (các loại sự kiện 6->10 là các loại sự kiện mới)

Chú ý một số kí hiệu quy ước dùng khi ghi cách biểu diễn các loại sự kiện trong bảng sau:

Từ khóa Biểu diễn trực quan Mô tả Ví dụ cụ thể

dd_X[MC][ch_NaOH]

(nồng độ của NaOH trong dung dịch X)

concept <concept> chỉ tên một khái

niệm

SUBTANCE

const <const> chỉ biểu thức hằng 22.4

Bảng 2-1 Một số kí hiêu qui ƣớc dùng biểu diễn các loại sự kiện

[1] Sự kiện thông tin về loại của đối tƣợng

Cấu trúc sự kiện: type(obj, concept)

Ví dụ:

istype(ch_Fe, METAL) istype(Na, ELEMENT)

[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

Trang 33

23

Cấu trúc sự kiện: determined(<object> | <object>.<thuộc tính>)

Ví dụ:

determined(ch_Fe[m]) determined(nt_M)

[3] Sự kiện về tính xác định của một thuộc tính hay một đối tƣợng thông qua một biểu thức hằng

Cấu trúc sự kiện: (obj | attr) = const

Ví dụ:

ch_M_1.m = 2.7 hh_A = MIXTURE[ch_Al_1, ch_Fe_1]

[4a] Sự kiện bằng nhau giữa 2 thuộc tính của các đối tƣợng có kiểu dữ liệu thực

Cấu trúc sự kiện: (attr | indexAttr) = (attr | indexAttr)

Trang 34

[7] Sự kiện so sánh đối tƣợng hay thuộc tính đối tƣợng với một hằng

Cấu trúc sự kiện: (obj|attr) OP const

trong đó: OP là một trong các toán tử sau * +

Ví dụ:

x.m > 0 hh_X.CV[ch_Fe] <= 1

[8] Sự kiện xác định miền giá trị của đối tƣợng

Cấu trúc sự kiện: in(x, X)

Trang 35

in(nt_M, {Na, K, Ca, Ba})

# nguyên tố nt_M là 1 trong 4 nguyên tố Na, K, Ca, Ba

in([x.V,y.V] { [1,0.5], [1, 1], [1.25, 0.25] })

# {x.V=1 ^ y.V=0.5} v {x.V=1 ^ y.V=1} v {x.V=1.25 ^ y.V=0.25}

[9] Sự kiện một thuộc tính là tập con của một tập hợp hay thuộc tính khác

Cấu trúc sự kiện: subset(attr, { }|attr2 )

Chú ý: "tập con" ở đây là tập con hay bằng chính tập hợp đó, ký hiệu trong toán học là ⊆

Attr là thuộc tính đối tƣợng mà có kiểu là `list` hoặc `set`

Concepti là loại đối tƣợng, khái niệm

Ni ràng buộc về số lƣợng các đối tƣợng thuộc loại Concepti

trong attr

ni có thể vắng mặt trong sự kiện

ni không có: không có ràng buộc về mặt số lƣợng

Trang 36

26

ni = 0: list không chứa bất kỳ thành phần nào thuộc Class_i

ni = k: list chứa đúng k thành phần thuộc Class_i

Trang 37

- Tập C: tập các khái niệm về các “đối tượng hóa chất”

- Tập H: tập các quan hệ thừa kế giữa 1 số đối tượng trong C

- Tập R: tập các quan hệ giữa các đối tượng trong C

- Tập Rules: tập các luật

3.1.1 Tập C

Là tập chứa các C-Object với mỗi C-Object là một “khái niệm về các đối tượng hóa chất” có trong chương trình trung học phổ thông, thường xuất hiện trong các bài toán hóa vô cơ Mỗi C-Object gồm có các thành phần sau:

- Tập các thuộc tính Attrs: Mỗi thuộc tính có 1 kiểu giá trị xác định thể hiện

cho 1 thuộc tính của đối tượng

Ví dụ:

o Nguyên tố có thuộc tính: khối lượng riêng, số thứ tự trong bản tuần hoàn

o Chất có thuộc tính: khối lượng, khối lượng riêng, thể tích, công thức phân

tử v.v…

Bên cạnh loại thuộc tính có kiểu số thực, ta quan tâm tới loại thuộc tính mới là:

Thuộc tính kiểu tập hợp, danh sách: dùng để mô tả thông tin về thành phần của 1

dung dịch, hỗn hợp hoặc thành phần chất tham gia/tạo thành trong phản ứng (đã được

trình bày cụ thể ở mục 3.2.1)

- Tập các quan hệ tính toán F: mỗi hàm là 1 công thức tính toán để tính giá trị

của các thuộc tính dựa trên các thuộc tính khác trong tập Attr

Trang 38

Ví dụ: công thức tính khối lượng phân tử của 1 chất phụ thuộc vào công thức hóa học của nó

- Tập các sự kiện vốn có của đối tượng Facts: mỗi thành phần là 1 sự kiện liên

quan tới các thuộc tính ở trên Các sự kiện này có thể dùng để giới hạn vùng giá trị của thuộc tính, xác định giá trị cụ thể của thuộc tính hoặc các sự kiện được khai báo kèm với đối tượng

- Tập các luật Rules: chứa các luật suy diễn dựa trên các sự kiện liên quan tới

các thuộc tính hoặc bản thân đối tượng Mỗi luật suy diễn được trình bày dưới dạng luật dẫn có mô hình có dạng

{Tập các sự kiện đã có} ->{Tập các sự kiện mới}

Tập các loại sự kiện đã được trình bày chi tiết ở mục 3.2.3

Một số mẫu ví dụ về C-Object xem chi tiết ở Phụ lục 2

3.1.2 Tập H

Là tập chứa các quan hệ thừa kế giữa các 1 số khái niệm trong C Các khái niệm có quan hệ thừa kế là những khái niệm về các chất, nhóm chất có trong chương trình THPT Cụ thể như sau:

Đơn chất

Kim loại

Kim loại kiềm

Kim loại kiềm thổ

Kim loại nhóm Boron

Phi kim

Trang 39

Oxit kim loại

Oxit phi kim

Hidroxit

Clorua

Halogenua

Nhờ sử dụng tập H nên các khái niệm tương trong tập C sẽ được thiết kế theo

mô hình thừa kế lại các thuộc tính đã có ở đối tượng “cha” Như vậy, ta chỉ cần tập

trung biểu diễn tri thức cho khái niệm Chất để cho các khái niệm “con” của nó kế

thừa lại Đối tượng “con” là 1 trường hợp cụ thể của đối tượng “cha” sẽ có đầy đủ các thuộc tính của “cha” và thêm các sự kiện trong tập Facts để xác định các trường hợp

(2)Quan hệ đồng dạng của 2 dung dịch trên thể tích

[DongDang, DD1, DD1]

Trang 40

{các sự kiện đã có} => {các sự kiện mới}

Danh sách các loại sự kiện được trình bày chi tiết trong mục 2.2.3

Các luật trong tập Rules dùng để mô tả các định lý, quy tắt tính toán và suy diễn trong hóa vô cơ Sau đây là 1 số ví dụ:

Luật về quan hệ tỉ khối hơi giữa 2 chất:

- { TyKhoiHoi[A,B,n]; determined(A.M)} => { A.M / B.M = n }

- { TyKhoiHoi[A,B,n]; determined(B.M)} => { A.M / B.M = n }

Ngày đăng: 23/12/2018, 06:18

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w