Đặc biệt, ontology về tri thức các đối tượng tính toán COKB-ONT Computational Objects Knowledge Bases Ontology là một ontology có thể sử dụng rất hiệu quả trong việc thiết kế các hệ cơ s
Trang 1TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
Giao viên hướng dẫn : PGS.TS Đỗ Văn Nhơn
Học viên thực hiện: 1 Nguyễn Mai Thương CH1101124
Năm 2013
Trang 2CHƯƠNG 1 : TRI THỨC VÀ CƠ SỞ BIỂU DIỄN TRI THỨC 8
1.1 Tri thức là gì? 8
1.2 Phân loại tri thức 9
1.3 Hệ cơ sở tri thức 11
1.4 Các phương pháp biểu diễn tri thức cơ bản 12
CHƯƠNG 2 : MÔ HÌNH TRI THỨC CÁC ĐỐI TƯỢNG TÍNH TOÁN23 2.1 Giới thiệu: 23
2.2 Mô hình tri thức COKB: 23
2.2.1 Tập hợp C: các khái niệm về C-object 23
2.2.2 Tập H: các quan hệ phân cấp giữa các đối tượng 24
2.2.3 Tập R: các loại quan hệ trên các đối tượng 24
2.2.4 Tập hợp Ops: các toán tử 24
2.2.5 Tập hợp Funcs: các tập hợp hàm 24
2.2.6 Tập hợp Rules: các luật được phân lớp 24
2.3 Cách tổ chức cơ sở tri thức về các C-OBJECT 26
2.3.1 Các thành phần 26
2.3.2 Cấu trúc của các tập tin lưu trữ 27
CHƯƠNG 3 : DEMO GIẢI CÁC BÀI TOÁN ĐIỆN HỌC LÝ LỚP 9 33 3.1 Đặt vấn đề bài toán và thu thập tri thức 33
3.1.1 Kiến thức “Điện học” lý lớp 9: 33
3.1.2 Vấn đề: 35
3.1.3 Các bài toán cần giải: 36
3.2 Biểu diễn bài toán Điện học 38
3.3 Thiết kế và cài đặt thuật toán 39
3.3.1 Thiết kế cơ sở tri thức cho bài toán điện một chiều theo mô hình
Trang 33.4 Cài đặt chương trình 46
3.4.1 Sơ đồ lớp của chương trình 47
3.4.2 Các chức năng của chương trình 47
3.5 Giao diện chương trình 51
3.5.1 Chương trình chính 52
3.5.2 Menu của chương trình 53
3.5.3 Form thông tin của chương trình 54
3.5.4 Kết quả chạy demo bài toán 55
* * *
Trang 4LỜI MỞ ĐẦU
Trong khoa học về trí tuệ nhân tạo, có nhiều phương pháp để biểu diễn tri thức nhưng những phương pháp này lại không hiệu quả trong việc biểu diễn và suy luận trên các tri thức phức tạp Ontology, một hướng tiếp cận hiện đại, đã và đang được nghiên cứu phát triển do khả năng ứng dụng của nó trong việc biểu diễn các tri thức Đặc biệt, ontology về tri thức các đối tượng tính toán COKB-ONT (Computational Objects Knowledge Bases Ontology) là một ontology có thể sử dụng rất hiệu quả trong việc thiết kế các hệ cơ sở tri thức phức tạp, như các miền tri thức về Hình học, Giải tích, Vật lý… Bên cạnh đó, các phương pháp suy diễn cũng đóng một vai trò quan trọng trong các hệ cơ sở tri thức, nhưng những phương pháp suy diễn hiện nay vẫn còn mang tính khái quát cao, chưa thể mô phỏng được lối tư duy của con người Trong thực tế, khi giải quyết một bài toán, chúng ta thường không tìm ngay một lời giải mới mà trước tiên ta
sẽ tìm những bài toán liên quan với bài toán ấy để từ đó có cách giải quyết phù hợp
Trong báo cáo này, chúng em xin trình bày mô hình mở rộng mô hình COKB, trong đó có sử dụng các bài toán mẫu như là các tri thức đã có sẵn về bài toán được đặt ra, mô phỏng tối ưu hơn cho tri thức con người Từ đó, ứng dụng mô hình này trong việc xây dựng chương trình giải bài tập Điện học trong vật lý lớp 9
Trang 5LỜI CẢM ƠN
Trong suốt thời gian học vừa qua, chúng em đã nhận được sự quan tâm, động viên và tận tình dạy dỗ của thầy, đã cung cấp những kiến thức hết sức bổ ích và cần thiết để chuẩn bị cho các môn học tiếp theo ở khóa học
Chúng em xin chân thành cảm ơn quý thầy cô trường Đại học Công Nghệ Thông Tin, Ban Giám Hiệu đã tạo cho chúng em một môi trường học tập, rèn luyện đạo đức, nhân cách trong suốt thời gian học đã cung cấp những kiến thức cũng như những kinh nghiệm hết sức cần thiết cho việc học tập và nghiên cứu
Đặc biệt, chúng em xin gửi lời cảm ơn chân thành đến PGS.TS Đỗ Văn Nhơn, Thầy đã truyền đạt những kiến thức quý báu về môn học Phương pháp Toán trong Tin học, tận tình hướng dẫn chúng em thực hiện tiểu luận môn Phương pháp toán trong tin học
Tuy nhiên, do những hạn chế về mặt thời gian, chúng tôi rất mong nhận được sự chỉ bảo tận tình của quý thầy cô và sự phản hồi góp ý của các bạn đối với những thiếu xót còn tồn tại trong đề tài này Nhóm chúng em rất mong được
sự đóng góp nhiệt tình của quý Thầy Cô để bài luận được hoàn thiện hơn
Trang 6NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN
Trang 7
ĐẠI HỌC QUỐC GIA TP.HCM
TRƯỜNG ĐẠI HỘC CÔNG NGHỆ THÔNG
TIN -// -
CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
Tìm hiểu về Biểu diễn tri thức trên mô hình COKB và ứng dụng
2 Nhiệm vụ và nội dung:
Chương I: Tổng quan về tri thức và cơ sở tri thức
4 Các phương pháp biểu diễn tri thức cơ bản Nguyễn Thị Thu Thủy
Chương II: Giới thiệu mô hình các đối tượng tính toán
3 Các tổ chức cơ sở tri thức về các C-OBJECT Nguyễn Mai Thương
Chương III: Cài đặt, thử nghiệm giải các bài toán Điện học Vật lý lớp 9
1 Đặt vấn đề bài toán và thu thập tri thức Nguyễn Thị Thu Thủy
2 Biểu diễn bài toán Điện học Nguyễn Thị Thu Thủy
3 Thiết kế và cài đặt thuật toán Nguyễn Mai Thương
Trang 84 Giao diện chương trình Nguyễn Mai Thương
3 Ngày giao tiểu luận: 27/11/2012
4 Ngày hoàn thành tiểu luận: 12/01/2013.
Trang 9CHƯƠNG 1 : TRI THỨC VÀ CƠ SỞ BIỂU DIỄN TRI THỨC
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ứ 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 có hiệu quả
Tri thức là một hệ thống phức tạp, đa dạng và trừu tượng bao gồm nhiều
thành tố với những mối liên hệ tác động qua lại như:
- Các khái niệm (concepts), với những mối liên hệ cơ bản nhất định
(relationships)
- Các quan hệ (relations): là một quan hệ 2 ngôi R trên một tập X như phản
xạ, đối xứng, phản xứng, bắc cầu; Quan hệ thứ tự; Quan hệ tương đương;
Cách biểu diễn của một quan hệ 2 ngôi R trên tập X: Biểu diễn dựa trên “tập hợp”, biểu diễn bằng ma trận, biểu đồ (đồ thị)
- Các toán tử (operators), phép toán, các biểu thức hay công thức bao gồm:
+ Phép toán 2 ngôi T trên tập X là ánh xạ
T : XxX X (a,b) a T b ≡ T(a,b) + Phép toán 1 ngôi S trên tập X là
Trang 10S : X X + Các tính chất thường được xem xét: giao hoán, kết hợp, phần tử trung hòa, phần tử nghịch đảo, phần tử đối, phân phối (hay phân bố), …
- Các hàm (functions)
- Các luật (rules)
- Sự kiện (facts)
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
Tri thức siêu tri thức:
Sự phân lớp của tri thức:
Trang 11Đặc điểm của tri thức:
Làm thế nào để phân biệt thông tin vào máy tính là dữ liệu hay tri thức? Giữa tri thức và dữ liệu có một số đặc trưng khác nhau, chúng ta xem xét hai đặc trưng sau:
+ Tự giải thích nội dung: tri thức có thể tự giải thích nội dung còn dữ liệu
không thể tự giải thích được mà chỉ có người lập trình mới hiểu được nội dung
ý nghĩa các dữ liệu đó
Ví dụ: dữ liệu là số 7, tri thức của số 7 là số lẻ, là số nguyên tố, là số dương…
+ Tính cấu trúc: một trong những đặc trưng cơ bản của hoạt động nhận
thức con người đối với thế giới xung quanh là khả năng phân tích cấu trúc các đối tượng Ở mức đơn giản nhất là cấu trúc: là một bộ phận của toàn thể, là một giống của một loài cây nào đó, là phần tử của một lớp nào đó
Tri thức đưa vào máy cũng cần có khả năng tạo được phân cấp giữa các khái niệm và quan hệ chúng
Trang 12+ Tính liên hệ: ngoài các quan hệ về cấu trúc của mỗi tri thức thì giữa các
đơn vị tri thức còn có nhiều mối liên hệ khác
Ví dụ: các khái niệm: chó, sủa, động vật, bốn chân, đuôi
+ Tính chủ động: dữ liệu hoàn toàn bị động do con người khai thác, còn tri
thức thì có tính chủ động Khi hoạt động ở đâu trong lĩnh vực nào, con người cung bị điều khiển bởi tri thức của mình Các tri thức biểu diễn trong máy tính cũng vậy, chúng chủ động hướng người dùng biết cách khai thác dữ liệu
1.3 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
Trang 131.4 Các phương pháp biểu diễn tri thức cơ bản
Vấn đề biểu diễn tri thức là xây dựng mô hình biểu diễn tri thức để đưa tri thức lên máy tổ chức lưu trữ và xử lý, đặc biệt là cho suy luận giải các vấn đề, các bài toán Một trong những cách để biểu diễn cơ bản là:
1 Logic mệnh đề: là một khẳng định có thể nhận giá trị đúng hoặc sai
2 Logic vị từ: là sự mở rộng của logic mệnh đề bằng cách đưa vào các khái
niệm vị từ và các lượng từ phổ thông dụng
Một mệnh đề = các đối tượng tri thức + 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>)
Mô hình: (Predicates, Clauses)
Predicates là tập gồm các vị từ, mỗi vị từ biểu diễn cho phát biểu nói về
một tính chất của đối tượng hay một quan hệ giữa các đối tượng mỗi vị từ xác định bởi tên vị từ và các kiểu tham biến
Clauses là tập gồm các biểu thức vị từ gồm 2 dạng fact và rule
Ví dụ 1:
Trang 14Trái cam có vị ngọt => được biểu diễn như sau: Vị (cam, ngọt)
Trái cam có màu xanh => được biểu diễn như sau: Màu(cam,xanh)
Ví dụ 2: Không có vật gì là lớn nhất và không có vật gì là bé nhất => được biểu diễn như sau:
Ví dụ 3: Gần mực thì đen, gần đèn thì sáng => được biểu diễn như sau:
Để biểu diễn các ngôn ngữ vị từ trên, người ta đã nghiên cứu và phát triển một ngôn ngữ lập trình đặc trưng cho trí tuệ nhân tạo Đó là ngôn ngữ PROLOG
3 Hệ luật dẫn (luật sinh)
Hệ luật dẫn, còn được gọi là hệ luật cấu trúc Nếu-Thì, là một phương pháp biểu diễn tri thức được dùng rất phổ biến Một luật nếu-thì có thể là:
(1) Nếu điều-kiện P thì kết luận C
(2) Nếu trạng-thái S thì hành-động A
(3) Nếu các điều kiện C 1 ,…,C n đúng thì kết luận C đúng
Hệ luật dẫn được sử dụng rộng rãi vì những đặc trưng sau:
- Tính đơn thể: mỗi luật định nghĩa 1 phần nhỏ và độc lập các tri thức
- Dễ thêm: có thể thêm các luật mới vào CSTT độc lập với các qui tắc đã có
- Dễ sửa đổi: có thể sửa một qui tắc trong CSTT độc lập với các qui tắc khác
- Trong suốt: hệ thống dựa hệ luật dẫn có khả năng giải thích các quyết định cũng như hàng động của nó
Các tập luật sinh có dạng: P1 ^ P2 ^ P3 ^ … ^ Pm Q
Trang 15Tùy thuộc vào bản chất của lĩnh vực đang quan tâm mà có những ngữ nghĩa khác nhau về luật sinh:
Trong logic vị từ thì: P1, P2, P2, Pm, Q là những biểu thức logic
Là phép kéo theo Trong hệ chuyên gia: biễu diễn một tập luật sinh bằng hai thành phần chính sau
+ CSDL các sự kiện: F={f1, f2,…, fk} (F:Fact - Sự kiện)
+ Cơ sở luật sinh: fi1 ^ fi2 ^ … ^ fik Q (R:Rule - luật)
Ví dụ 1: cho một cơ sở tri thức sau
Suy luậ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
Sự kiện ban đầu là H, K
Ta có: {H,K} Từ (R3): H A thì {A, H, K}
Từ (R1): A E thì {A,E,H,K}
Trang 16Không sử dụng được máy tính
Điện vào máy tính "có" hay "không"
Trang 17Hình 1-1: Cơ chế suy diễn của suy diễn lùi
Như vậy là để xác định được nguyên nhân gây ra hỏng hóc là do ổ cứng hỏng hay cáp màn hình lỏng, hệ thống phải lần lượt đi vào các nhánh để kiểm tra các điều kiện như điện vào máy "có", âm thanh ổ cứng "không".Tại một bước, nếu giá trị cần xác định không thể được suy ra từ bất kỳ một luật nào, hệ thống sẽ yêu cầu người dùng trực tiếp nhập vào Chẳng hạn như để biết máy tính có điện
không, hệ thống sẽ hiện ra màn hình câu hỏi "Bạn kiểm tra xem có điện vào máy
tính không (kiểm tra đèn nguồn)? (C/K)" Để thực hiện được cơ chế suy luận lùi,
người ta thường sử dụng ngăn xếp (để ghi nhận lại những nhánh chưa kiểm tra)
Ưu điểm của hệ luật sinh:
Biểu diễn tri thức bằng luật mang lại hiệu quả cao trong những tình huống cần đưa quyết định dựa trên những sự kiện có thể quan sát được, cụ thể như:
1 Các luật rất dễ hiểu nên có thể dễ dàng giao tiếp, 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ữ)
2 Có thể dễ dàng xây dựng các cơ chế suy luận và giải thích từ luật
3 Việc hiệu chỉnh và bảo trì hệ thống là tương đối dễ dàng
4 Có thể cải tiến dễ dàng để tích hợp các luật mờ
5 Các luật thường ít phụ thuộc vào nhau
Trang 18Khuyết điển của hệ luật sinh:
1 Các tri thức phức tạp đôi lúc đòi hỏi hàng ngàn luật sinh, dẫn đến phát sinh nhiều vấn đề liên quan tới tốc độ xử lý và quản trị hệ thống
2 Con người thích sử dụng luật sinh để biểu diễn vì dễ cài đặt và dễ hiểu
3 Cơ sở luật sinh lớn sẽ 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 trong việc suy luận trong luật sinh
4 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 biểu diễn dưới dạng một đồ thị, trong đó đỉnh là các đối tượng (khái niệm) và cung là mối quan
hệ giữa các đối tượng này
Mạng ngữ nghĩa sửa dụng công cụ là đồ thị nên có thừa hưởng tất cả các mặt mạnh của công cụ đồ thị Các thuật toán đã được cài đặt và phát triển trên máy tính, khi áp dụng chúng ta có thể ứng dụng giải quyết nhiều vấn đề khác nhau trên mạng Cho đến nay, hai lĩnh vực ứng dụng nhiều nhất là: xử lý ngôn ngữ tự nhiên và giải các bài toán thông minh
Mô hình biểu diễn:
- Mô hình tri thức dạng đồ thị: (Nodes, Arcs)
Trang 19+ Nodes gồm các yếu tố hay các bộ phận cấu thành tri thức Các node có
thể là khái niệm, đối tượng, sự kiện, cấu trúc trừu tượng, …
+ Arcs gồm các liên kết biểu diễn cho các quan hệ giữa các nodes Các
quan hệ có thể là: IS_A, HAS_A, …
- Tổ chức lưu trữ: Dựa trên các kỹ thuật biểu diễn và tổ chức lưu trữ xử lý
đồ thị
Ví dụ 1 : Trong ứng dụng xử lý ngôn ngữ tự nhiên, mạng ngữ nghĩa có
thể giúp máy tính phân tích được cấu trúc của câu để từ đó có thể phần nào
"hiểu" được ý nghĩa của câu Chẳng hạn, câu "Châu đang đọc một cuốn sách dày và cười khoái trá" có thể được biểu diễn bằng một mạng ngữ nghĩa như sau:
Ví dụ 2:
Trang 20Ứng dụng:
- Ứng dụng mạng ngữ nghĩa để nhận diện đối tượng phức trong ảnh
- Ứng dụng mạng ngữ nghĩa để nhận diện dấu vân tay
- Giải bài toán tam giác
Ưu điểm của mạng ngữ nghĩa:
- 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 Dễ theo dõi sự phân cấp, sẽ dò theo các mối liên hệ, linh động
- 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
- 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
Khuyết điểm của mạng ngữ nghĩa:
- Ngữ nghĩa gắn liền với mỗi đỉnh có thể nhập nhằng, khó xử lý các ngoại lệ, khó lập trình
- 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 đỉnh hoặ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âu thuẫn trong tri thức Chẳng hạn, nếu bổ sung thêm nút "Gà" vào mạng như hình sau thì 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 Bạn đọc 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 rarất nhiều mối liên "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
5 Frame
Trang 21Một trong các kỹ thuật biểu diễn tri thức là dùng frame, phát triển từ khái niệm lược đồ Một lược đồ được coi là khối tri thức điển hình về khái niệm hay đối tượng nào đó, và gồm cả tri thức thủ tục dẫn tri thức mô tả
Theo định nghĩa của Minsky (1975), 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
Ý 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
Trang 22Cấu trúc một Frame xe hơi Cấu trúc của Frame
Mỗi một frame mô tả một đối tượng (object) Một frame bao gồm 2 thành
phần cơ bản là slot và facet Một slot là một thuộc tính đặc tả đối tượng được
biểu diễn bởi frame Ví dụ : trong frame mô tả xe hơi, có hai slot là trọng lượng
và loại máy
Mỗi slot có thể chứa một hoặc nhiều facet Các facet (đôi lúc được gọi là slot
"con") đặc tả một số thông tin hoặc thủ tục liên quan đến thuộc tính được mô tả bởi slot Facet có nhiều loại khác nhau, sau đây là một số facet thường gặp
- Value (giá trị) : cho biết giá trị của thuộc tính đó (như xanh, đỏ, tím vàng
nếu slot là màu xe)
- Default (giá trị mặc định) : hệ thống sẽ tự động sử dụng giá trị trong facet
này nếu slot là rỗng (nghĩa là chẳng có đặc tả nào!) Chẳng hạn trong
Trang 23frame về xe, xét slot về số lượng bánh Slot này sẽ có giá trị 4 Nghĩa là,
mặc định một chiếc xe hơi sẽ có 4 bánh!
- Range (miền giá trị) : (tương tự như kiểu biến), cho biết giá trị slot có thể
nhận những loại giá trị gì (như số nguyên, số thực, chữ cái, )
- If added: mô tả một hành động sẽ được thi hành khi một giá trị trong slot
được thêm vào (hoặc được hiệu chỉnh) Thủ tục thường được viết dưới dạng một script
If needed : được sử dụng khi slot không có giá trị nào Facet mô tả một hàm
để tính ra giá trị của slot
Tính kế thừa của Frame
Frame là tính phân cấp, cho phép kế thừa các tính chất giữa các frame Các frame cha sẽ cung cấp những mô tả tổng quát về thực thể Frame có cấp càng cao thì mức độ tổng quát càng cao Thông thường, frame cha sẽ bao gồm các
định nghĩa của các thuộc tính Còn các frame con sẽ chứa đựng giá trị thực
sự của các thuộc tính này
Ví dụ: cấu trúc phân cấp của các loại hình hình học cơ bản
Ưu điểm của Frame: Có sức mạnh diễn đạt tốt, dễ cài đặt các thuộc tính cho
các slot 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 hóa,
Trang 24dễ đưa vào các thông tin mặc định và dễ thực hiện các thao tác phát hiện các giá trị bị thiếu sót
Khuyết điểm của Frame: Khó lập trình, khó suy diễn, thiếu phần mềm hỗ
2.2 Mô hình tri thức COKB:
Mô hình tri thức các C-object được gọi là mô hình COKB (Computational Objects Knowledge Base), là một hệ thống (C, H, R, Ops, Funs, Rules) gồm:
2.2.1 Tập hợp C: các khái niệm về C-object
Khái niệm là một đơn vị của nhận thức, là một loại kiến thức mà chỉ nói về đối tượng tính toán Mỗi khái niệm là một lớp C-oject có cấu trúc như sau:
- Kiểu đối tượng
- Danh sách các thuộc tính
- Quan hệ trên cấu trúc thiết lập
- Tập hợp các điều kiện ràng buộc trên các thuộc tính
- Tập hợp các thuộc tính nội tại trên các thuộc tính
- Tập hợp các quan hệ suy diễn – tính toán
- Tập hợp các 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}
Bên cạnh đó, đối tượng còn được trang bị các hành vi trong việc giải quyết các bài toán suy diễn và tính toán
Trang 252.2.2 Tập H: các quan hệ phân cấp giữa các đối tượng
H là các quan hệ phân cấp trên khái nhiệm nghĩa là quan hệ đặc biệt hóa trên các khái niệm Trên tập C ta có một quan hệ phân cấp mà trong đó một khái niệm là sự đặc biệt hóa của khái niệm khác Cho nên có thể nói rằng H là một biểu đồ Hasse khi xem quan hệ cấp trên là một quan hệ thứ tự trên C
2.2.3 Tập R: các loại quan hệ trên các đối tượng
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 nhất định như: tính phản xạ, tính đối xứng, tính phản xứng và tính bắc cầu
Ví dụ: quan hệ cùng phương trên 2 đoạn thẳng có tính chất phản xạ, đối xứng và bắc cầu
2.2.4 Tập hợp Ops: các toán tử
Các toán tử cho ta mộ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 như 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ự đối với các biến thực
2.2.5 Tập hợp Funcs: các tập hợp 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
2.2.6 Tập hợp Rules: các luật được phân lớp
Mỗi luật cho ta một quy 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 mỗi luật r có thể được mô hình dưới dạng sau: r: {sk1, sk2, …, skn} => { sk1, sk2, …, skm}
Trang 26Các loại sự kiện bao gồm:
+ (1) Sự kiện thông tin về loại của một đối tượng Ví dụ: [Ob1,
“TAM_GIAC”] hay [Ob2, “TAM_GIAC[A,B,C]”]
+ (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:
<object>.<thuoc_tinh>
Ví dụ: Obj, Obj.a, Obj.DOAN[A,B]
+ (3) Sự kiện về sự xác định của các một thuộc tính hay một đối tượng thông qua một biểu thức hằng Ta viết: <object> = <bieu_thuc_hang>, hay
<object>.<thuộc tính> = <bieu_thuc_hang>
Ví dụ: Obj.a = 5, DOAN[A,B] = m, GOC[A,B,C] = /3
+ (4) Sự kiện về sự bằng nhau giữa một đối tượng hay một thuộc tính với các đối tượng hay một thuộc tính khác Sự kiện loại nầy sẽ được viết dưới dạng: <bject> | <object>.<thuoc_tinh> = <bject> | <object>.<thuoc_tinh>
Ví dụ: Ob1.a = Ob2.a, Ob1.a = DOAN[C,D], Ob1 = Ob2
+ (5) Sự kiện về sự phụ thuộc của một đối tượng hay của một thuộc tính theo những đối tượng hay các thuộc tính khác thông qua một công thức tính toán Loại sự kiện nầy có dạng:
<object> | <object>.<thuoc_tinh> = <bieu thuc theo cac object hay thuoc tinh khac>
Ví dụ: O1.a = O2.a + 2*O2.b
+ (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 Sự kiện loại nầy có thể được biểu diễn bởi cấu trúc danh sách có dạng:
[<ten quan he>, <object 1>, <object 2>, ], hay
Trang 27Ví dụ: [“SSONG”, DOAN[A,B], DOAN[C,D]], [“THUOC”, M, DOAN[B,C]],
[“VUONG”, Ob1.a, Ob2.b]
+ (7) Sự kiện về tính xác định của một hàm
+ (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 hằng + (9) Sự kiện về sự bằng nhau giữa một đối tượng với một hàm
+ (10) Sự kiện về sự bằng nhau của một hàm với một hàm khác
+ (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
2.3 Cách tổ chức cơ sở tri thức về các C-OBJECT
2.3.1 Các thành phần
Cơ sở tri thức về các C-Object theo mô hình COKB có thể được tổ chức bởi một hệ thống tập tin văn bản có cấu trúc thể hiện các thành phần trong mô hình tri thức Có thể thiết kế hệ thống các tập tin này bao gồm những tập tin như sau:
1 Tập tin “Objects.txt” lưu trữ các định danh (hay tên gọi) cho các khái
niệm về các loại đối tượng C-Object
2 Tập tin “RELATIONS.txt” lưu trữ thông tin về các loại quan hệ khác
nhau trên các loại C-Object
3 Tập tin “Hierarchy.txt” lưu lại các biểu đồ Hasse thể hiện quan hệ
phân cấp đặc biệt hóa trên các khái niệm
4 Các tập tin với tên tập tin có dạng “<tên khái niệm C-Object>.txt”
để lưu trữ cấu trúc của loại đối tượng <tên khái niệm C-Object> Ví dụ: tập tin “TAM_GIAC.txt” lưu trữ cấu trúc của loại đối tượng tam giác
Trang 285 Tập tin “Operators.txt” lưu trữ các thông tin về các toán tử trên các
đối tượng
6 Tập tin “FACTS.txt” lưu trữ thông tin về các loại sự kiện khác nhau
7 Tập tin “RULES.txt” lưu trữ hệ luật của cơ sở tri thức
Mối liên hệ về cấu trúc thông tin trong cơ sở tri thức có thể được minh họa trên sơ đồ sau đây:
Biểu đồ liên hệ giữa các thành phần trong COKB
2.3.2 Cấu trúc của các tập tin lưu trữ
Các tập tin lưu trữ các thành phần trong cở sở tri thức các C-Object được ghi dưới dạng các văn bản có cấu trúc dựa trên một số từ khóa và qui ước về cú pháp khá đơn giản và tự nhiên Dưới đây là phần liệt kê cấu trúc của các tập tin:
Cấu trúc tập tin “Objects.txt”
begin_Objects
<tên lớp đối tượng 1>
<tên lớp đối tượng 2>
end_Objects