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

56 1,2K 18

Đ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 56
Dung lượng 487,39 KB

Nội dung

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINHTRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN KHOA KHOA HỌC MÁY TÍNH  BÁO CÁO THU HOẠCH MÔN HỌC BIỂU DIỄN TRI THỨC VÀ ỨNG DỤNG Đề tài: XÂY DỰNG MÔ HÌNH BIỂU

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



BÁO CÁO THU HOẠCH MÔN HỌC BIỂU DIỄN TRI THỨC VÀ ỨNG DỤNG

Đề tài:

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ảng viên hướng dẫn : PGS.TS Đỗ Văn Nhơn

Sinh viên thực hiện : Đỗ Thị Nhung - CH1101117

Trang 2

TP Hồ Chí Minh, tháng 1 năm 2013

Trang 3

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ụngrộ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 ítlố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ữngthiế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ínhtoá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ảiphá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ầutrê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ínhtoá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…

Để 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ươngpháp chính để lưu trữ và xử lý tri thức như sau :

- 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ậtdẫn

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

Trang 4

- 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 Từ ngày được công bố, C-Object đã được phát triển, mở rộngthành các mô hình như: mô hình mạng các đối tượng tính toán COKB, mô hìnhmạng các đối tượng tính toán mở rộng ECOKB Từ những kết quả trên, rất nhiềunghiê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ễntri 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…

Kết quả của những nghiên cứu ứng dụng từ mô hình COKB ở trên đã phầnnà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ểncá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ưanhiề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ẫnthiê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 quantrọ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 sinhhiệ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ếuhoạ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

Đó là lý do em chọn khóa luận “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ằngcá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:

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ẽ

Trang 5

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ụngthê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ứcnà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: 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#, Window form trong .NETFrameworks 4.0 để phát triển giao diện demo

Chương 5: 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

Trang 6

LỜI CẢM ƠN

Sau hơn 1 tháng nghiên cứu và tìm tòi tôi đã hoàn thành bài thu hoạch này

Để đạt được kết quả này, tôi đã nỗ lực hết sức đồng thời cũng nhận được rất nhiều

sự quan tâm, giúp đỡ, ủng hộ của các quí Thầy Cô và các bạn

Trước hết, chúng em xin gửi lời cảm ơn chân thành đến Khoa Công NghệPhần Mềm, Khoa Mạng Máy Tính, trường Đại học Công Nghệ Thông Tin và các

quí Thầy Cô đặc biệt là TSKH Đỗ Văn Nhơn đã tận tình hướng dẫn, giảng giải và

cho em nguồn cảm hứng đến với môn học và rộng hơn là cảm hứng trong nghiêncứu khoa học

Tôi cũng rất cảm ơn bạn bè trong Khoa đã luôn bên cạnh và ủng hộ, đónggóp ý kiến giúp tôi có thể giải quyết các vấn đề khó khăn gặp phải trong quá trìnhthực hiện báo cáo cuối kì này

Mặc dù đã rất nỗ lực, cố gắng nhưng kiến thức còn hạn chế nên chắc chắnbáo cáo cuối kì này vẫn còn nhiều thiếu sót, và thực sự chưa phải là một báo cáohoàn thiện Tôi rất mong nhận được sự góp ý đánh giá của quí Thầy Cô, của cácbạn để tôi có thể phát triển báo cáo này thêm hoàn chỉnh hơn

Một lần nữa, tôi xin chân thành cảm ơn!

TPHCM, Tháng 01 năm 2013Sinh viên thực hiện

Đỗ Thị Nhung

Trang 7

Mục lục

LỜI MỞ ĐẦU i

LỜI CẢM ƠNiv 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 2

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 15

2.2.3 Tập 10 sự kiện 20

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

3.1 Mô hình tri thức 25

Trang 8

3.1.2 Tập H 26

3.1.3 Tập R 27

3.1.4 Tập Rules 28

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

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

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

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

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

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

4.1 Cài đặt ứng dụng 34

4.1.1 Xây dựng thư viện ChemistryUtility 34

4.1.2 Xây dựng thư việnhàm suy diễn trên tri thức 37

4.1.3 Qui ước nhập bài toán vào chương trình dành cho người dùn 38

4.1.4 Xây dựng ứng dụng demo 40

4.2 Thử nghiệm và đánh giá 41

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

5.1 Kết luận 47

5.2 Hạn chế 48

5.3 Hướng phát triển 48

TÀI LIỆU THAM KHẢO 49

Trang 9

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

1.1 Bối cảnh

Hiện nay, thế giới đang bước vào giai đoạn bùng nổ Công nghệ thông tin ViệtNam với vị thế là 1 nước đang phát triển cần thúc đẩy việc ứng dụng Công nghệ thôngtin vào nhiều lĩnh vực, áp dụng kĩ thuật cao, công nghệ tiên tiến vào đời sống và sảnxuất nhằm thúc đẩy đất nước đi lên 1 cách bền vững

Trong những ngành cần quan tâm ứng dụng Công nghệ thông tin, Giáo dục là 1trong những ngành được nhà nước ta tập trung hàng đầu Đem Công nghệ thông tinvà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ọcsinh; 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àitậ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ảicho 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ờigiả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 ranhữ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 ralờ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ângcao kĩ năng giải toán trong các kì thi hơn

Trang 10

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 để em 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àobiể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

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ụ choviệ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ậngiả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ánHó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ộctí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ệpTHPT, đề thi Đại học khối A, B hằng năm

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âydự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òitrê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ênChEBI (Chemical Entities of Biological Interest)

Trang 11

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 để tracứ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êucủ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ợpchấ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ĩnhvực hóa hữu cơ Mọi cá nhâ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

Bên cạnh sự hiếm hoi các đề tài nghiên cứu về lĩnh vực này là các ứng dụngthương mại hỗ trợ dạy và học Hóa thông minh với các chức năng tương đối hiện đại

và cao cấp Ví dụ tiêu biểu nhất là phần mềm tạo thí nghiệm ảo trên máy tínhChemlap Phần mềm này cung cấp đầy đủ các công cụ và tính năng ảo cần thiết choviệc thực hiện 1 thí nghiệm hóa học Nhận biết được quá trình xảy ra các phản ứnghóa học và hiện tượng của nó Có thể nói phần mềm này đã xử lý rất tốt tri thức thực

tế về các hóa chất trong Hóa học, khả năng xử lý phân tích với các điều kiện khácnhau tương đối chính xác và đem lại 1 môi trường ảo thân thiện với người dùng

Trang 12

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ểudiễ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”, phần mềm hỗ trợ tra cứu tìm kiếm phươngtrì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ầnmề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ấttham 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 tinchi 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 tintì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

Trang 13

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àitoá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ậntrê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ácthà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íchbài toán và hiệu chỉnh cơ sở tri thức

Trang 14

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ở trithứ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ỗimodule sẽ được giao 1 nhiệm vụ khác nhau giúp cho việc kiểm tra, nâng cấphay 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ễnthườ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ượtsuy 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 15

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ĩnhvự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ươngphá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ở trithức Người ta thường dùng ngôn ngữ lập trình PROLOG để biểu diễn phươngphá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áccạ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ượngtrong 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 Trithức tự nhiên vô cùng phong phú và đa dạng, do đó các chuyên gia khả định rằngmuố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áccách trên cùng với những cải tiến thay đổi khi cần thiết

Trang 16

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ướngtớ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 khithấ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ủabà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ùinầ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ờigiả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 đềuthuộ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íchhợ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 17

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

MỚI

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

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 baogồ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ấygiá 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 đốitượ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à đốitượ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ínhtrong 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 18

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ếtlậ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 đốitượ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

Trang 19

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

 Tập các thuộc tính của đối tượng Attrs: trong đó mỗi thuộc tính lấy giátrị trong 1 miền xác định

 Tập các sự

Cùng với cấu trúc trên, đối tượng còn được trang bị các hành vi cơ bản trongviệc giải quyết các bài toán suy diễn và tính toán trên các thuộc tính của đối tượng,bản thân đối tượng hay các đối tượng liên quan được thiết lập trên nền của đối tượng

[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ùngphươ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 đốitượ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óctươ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ếtcủ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 20

sự kiện trên các đối tượng nhất định Như vậy, một luật r có thể được mô hình dướidạng:

r : {sk1, sk2, , skn} -> { sk1, sk2, , skm }

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

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ìnhthà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ínhtoá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áokhoa 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 1miề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ộctí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ậpcá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

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” 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ầuphức tạp hơn khi biểu diễn giá trị thuộc tính của đối tượng

Trang 21

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ỗn hợ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ó?

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ễntri 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

để 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ộngkiể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ếtthúc Chẳng hạn, khi ta cho vào dung dịch chứa C u2 + ¿¿ và F e2+ ¿ ¿ một lượng dưnhôm Al thì phản ứng sẽ xảy ra lần lượt như sau:

Trang 22

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[ C u2 + ¿ +Al→ Cu+ A l3+ ¿ ¿

¿ , F e2+¿ +Al → Fe+ A l3+ ¿ ¿

¿ ]

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ậphợp

Trang 23

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

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.1M" bằng đẳng thức:

ddX[MC][c h NaOH]=0.1

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

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” 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ệ

Trang 24

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êmloạ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ánmớ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ểutậ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ấttrong 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ượngkhác có tập hợp danh sách

Ví dụ: quan hệ tính nồng độ phần trăm của 1 chất tan trong dung dịch gồmnhiều chất tan

Quan hệ tính toán mở rộng được đặt tên là “Quan hệ tính toán phụ thuộc” vàđược chia làm 2 loại được trình bày sau đây

Qui ước:

- 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 1: ∀ x ∈ f(la): expression(x, na)

trong đó

Trang 25

- la ListAttrs : là tập các thuộc tính loại danh sách trong quan hệ tính toán phụ thuộc

- na NumAttrs : là các thuộc tính loại số học trong quan hệ tính toán phụ thuộc

- 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).

- Trong "Chất" ta có thuộc tính n chỉ số mol của chất Thuộc tính n có kiểu làreal

- Ta có phát biểu như sau:

Nồng độ mol của một chất trong dung dịch bằng số mol của chất đó trong dung dịch chia cho thể tích dung dịch.

- Ta biểu diễn phát biểu trên theo quan hệ tính toán phụ thuộc loại 1 như sau:

∀ s∈ Solutes : M C s=s n

V

nếu biểu diễn quan hệ tính toán trên theo dạng tuyến như sau:

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

Solutes

Ví dụ 2:

Trang 26

- Trong "Hỗn hợp", ta có thuộc tính MoleRatio chỉ tỷ lệ mol của các chất cótrong hỗn hợp MoleRation có kiểu dữ liệu là dict("Chất", integer)

- Ví dụ: Hỗn hợp hhX khí SO2, CO2, O2 có tỷ lệ mol là 1:2:1 Khi đó:

hhX[MoleRatio][ch_SO2] = 1hhX[MoleRatio][ch_CO2] = 2hhX[MoleRatio][ch_O2] = 1

- 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:

{x1, x2}(Compon ents2 ), MoleRatio[x1]

MoleRatio[x2]=

x1[n]

x2[n]

Với (Components2 ) 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]

for x in combinat[choose](Components,2)

với hàm combinat[choose](X, n) là hàm trả về tập các tập con của X có n phần tử

Loại 2: d(la, na)

Trang 27

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

- Với một đối tượng "Hỗn hợp" ta có:

thuộc tính Components chỉ các chất cấu tạo nên hỗn hợp Components có kiểu là set("Chất").

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 theo dạng tuyến tính như sau

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

Trang 28

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)

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ểuthuộ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:

ch_Fe[m]

Ngày đăng: 10/04/2015, 09:59

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

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

  • Đang cập nhật ...

TÀI LIỆU LIÊN QUAN

w