1.2.3 Cách biểu diễn tri thức Khi biểu diễn một mạng ngữ nghĩa, các đỉnh của đồ thị là các đối tượng khái niệm, tri thức, sự việc nào đó, còn các cung giữa các đỉnh thể hiện các mối liên
Trang 1LỜI CAM ĐOAN
Tôi xin cam đoan, kết quả của luận văn hoàn toàn là kết quả của tự bản
thân tôi tìm hiểu, nghiên cứu dưới sự hướng dẫn của thầy giáo PGS.TS Ngô Quốc Tạo
Tôi hoàn toàn chịu trách nhiệm về tính pháp lý quá trình nghiên cứu khoa học của luận văn này
Thái Nguyên, tháng 8 năm 2015
Học viên
Trần Thị Dương
Trang 2Thái Nguyên, tháng 8 năm 2015
Học viên
Trần Thị Dương
Trang 3MỤC LỤC
LỜI CAM ĐOAN i
LỜI CẢM ƠN ii
MỤC LỤC iii
DANH MỤC HÌNH v
MỞ ĐẦU - 1 -
Chương I : TỔNG QUAN VỀ HỆ CHUYÊN GIA VÀ MẠNG NGỮ NGHĨA- 3 - 1.1 Hệ chuyên gia - 3 -
1.1.1 Hệ chuyên gia là gì ? - 3 -
1.1.2 Đặc trưng và ưu điểm của hệ chuyên gia - 4 -
1.1.3 Các lĩnh vực ứng dụng của hệ chuyên gia - 4 -
1.1.4 Cấu trúc của hệ chuyên gia - 6 -
1.1.5 Một số mô hình kiến trúc hệ chuyên gia - 7 -
1.2 Mạng ngữ nghĩa - 8 -
1.2.1 Đặc điểm - 8 -
1.2.2 Ưu nhược điểm - 9 -
1.2.3 Cách biểu diễn tri thức - 10 -
CHƯƠNG II: BIỂU DIỄN TRI THỨC - 12 -
2.1 Giới thiệu về tri thức - 12 -
2.2 Biểu diễn tri thức bằng luật dẫn(luật sinh) - 13 -
2.2.1 Khái niệm - 13 -
2.2.2 Cơ chế suy luận trên các luật sinh - 14 -
2.2.3 Vấn đề tối ưu luật - 15 -
2.2.4 Biểu diễn tri thức bằng Frame - 17 -
2.2.5 Tính kế thừa - 19 -
2.2.6 Biểu diễn tri thức bằng Script - 20 -
2.2.7 Mô hình COKB - 21 -
2.3 Cơ sở tri thức - 29 -
2.3.1 Phân biệt tri thức và dữ liệu - 29 -
2.3.2 Phân loại tri thức - 30 -
Trang 42.3.3 Các cấp độ tri thức - 32 -
2.4 Mô tơ suy diễn - 33 -
2.4.1 Cơ chế suy diễn - 33 -
2.4.2 Cơ chế điều khiển - 34 -
2.5 Phân loại tri thức - 38 -
2.6 Các phương pháp biểu diễn tri thức - 39 -
2.6.1 Biểu diễn tri thức nhờ logic - 39 -
2.6.2 Bộ ba đối tượng - Thuộc tính – Giá trị - 41 -
2.6.3 Các Luật dẫn - 42 -
2.6.4 Biểu diễn tri thức bằng Frame - 44 -
Chương III: ỨNG DỤNG GIẢI CÁC BÀI TOÁN TAM GIÁC - 46 -
3.1 Giới thiệu bài toán - 46 -
3.2 Xây dựng bài toán hình học - 46 -
3.3 Bài toán hình tam giác: - 46 -
3.3.1 Tam giác - 46 -
3.3.2 Tam giác cân - 50 -
3.3.3 Tam giác vuông - 51 -
3.3.4 Tam giác vuông cân - 51 -
3.3.5 Tam giác đều - 52 -
3.4 Các luật biến đổi - 53 -
3.4.1.Một số luật liên quan đến tam giác : - 53 -
3.4.2 Các luật dẫn: - 54 -
3.5 Biểu diễn thông tin trên mạng ngữ nghĩa: - 55 -
3.6 Ứng dụng : - 55 -
3.7 Demo chương trình: - 57 -
KẾT LUẬN - 58 -
TÀI LIỆU THAM KHẢO - 59 -
Trang 5DANH MỤC HÌNH
Hình 1.1: Hoạt động của hệ chuyên gia dựa trên tri thức - 3 -
Hình 1.2: Cấu trúc của hệ chuyên gia - 6 -
Hình 1.3: Mô hình J.L.Ermin - 7 -
Hình 1.4 :Mô hình C.Ernest - 8 -
Hình 1.5: Mô hình E.V.Popov - 8 -
Hình 1.6: Ví dụ về mạng ngữ nghĩa tiêu biểu - 10 -
Hình 1.7: Ví dụ về mạng ngữ nghĩa kế thừa - 11 -
Hình 2.1: Cấu trúc một Frame xe hơi - 18 -
Hình 2.2: Quan hệ giữa các đối tượng hình học phẳng - 20 -
Hình 2.3: Sơ đồ tổ chức theo mô hình COKB - 25 -
Hình 2.4: Sơ đồ biểu diễn tri thức theo bộ ba (O-A-V) - 41 -
Hình 3.1: Mạng ngữ nghĩa cho bài toán hình tam giác - 55 -
Trang 6MỞ ĐẦU
1 Đặt vấn đề
Trong sự nghiệp công nghiệp hoá, hiện đại hoá đất nước, ngành công nghệ thông tin là một trong những lĩnh vực có được những bước tiến lớn và đạt được những thành tựu đáng kể Cùng với sự phát triển của ngành công nghệ thông tin, các vấn đề phức tạp trong thực tế được đơn giản đi rất nhiều Nhờ đó mà quá trình phát triển được thúc đẩy nhanh chóng hơn
Vai trò của của công nghệ thông tin trong thời buổi công nghiệp hoá, hiện đại hoá đất nước là không thể phủ nhận, tuy nhiên việc ứng dụng công nghệ thông tin vào những lĩnh vực nào và ứng dụng như thế nào để có thể khai thác hết được thế mạnh của ngành công nghệ thông tin luôn là một câu hỏi lớn Việc ứng dụng tri thức nhân loại vào trong ngành công nghệ thông tin để góp phần đưa ra những lời giải cho nhiều vấn đề khó được xem là một giải pháp và cần thiết và có ý nghĩa Các tri thức nhân loại đều có thể được xây dựng thành một hệ thống hoàn chỉnh và ứng dụng trong nhiều ngành khác nhau dưới sự hộ trợ của công nghệ thông tin Việc chuyển đổi tri thức nhân loại thành các hệ thống hay còn được gọi là biểu diễn tri thức vẫn đang được thực hiện, những tri thức đó đã và đang được ứng dụng rộng rãi trong quá trình phát triển của xã hội
Biểu diễn tri thức đóng vai trò hết sức quan trọng trong việc khảng định khả năng giải quyết vấn đề của một hệ cơ sở tri thức Dựa vào cách thức con người giải quyết vấn đề, các nhà nghiên cứu đã xây dựng các kỹ thuật biểu diễn các dạng tri thức khác nhau trên máy tính Mục tiêu của tiểu luận này là nhằm tìm hiểu và phát triển các
kỹ thuật biểu diễn tri thức dựa trên tri thức theo logic, các luật dẫn, mạng ngữ nghĩa, Frame, đồng thời trình bày việc ứng dụng giải bài toán tam giác bằng mạng ngữ nghĩa
Trong luận văn này, em nghiên cứu và đưa ra minh hoạ cho việc biểu diễn tri thức trong công nghệ thông tin và ứng dụng minh hoạ cho quá trình biểu diễn tri thức
đó Cho dù phạm vi ứng dụng của hệ thống này còn hạn chế, nhưng đây là một cơ sở
để phát triển các hệ thống chuyên gia Và trong luận văn này, em muốn gửi đến một ứng dụng khác, đó là ứng dụng mạng ngữ nghĩa để giải bài toán tam giác lượng của chương trình phổ thông
Trang 72 Đối tượng và phạm vi nghiên cứu:
Luận văn tập trung nghiên cứu các phương pháp giải bài toán lượng giác Để giải các bài toán hình học là bài toán cơ sở, mà từ đó con người đã xây dựng rất nhiều ứng dụng như: Giải các bài toán tam giác lương, hệ thức lượng trong tam giác…
3 Hướng nghiên cứu của đề tài:
- Nắm chắc các kiến thức cơ bản về một số bài toán tam giác lượng để sử dụng một số giải thuật
- Tìm hiểu lịch sử phát triển của cơ sở tri thức trong giải các bài toán tam giác lượng
- Tìm hiểu và nắm được những khái niệm cơ bản về tam giác lượng và những ứng dụng thực tế
4 Nội dung nghiên cứu:
Chương I: Tổng quan về hệ chuyên gia và mạng ngữ nghĩa
Ở chương này đề tài sẽ đi vào tìm hiểu các khái niệm về hệ chuyên gia và mạng ngữ nghĩa
Các ưu nhược điểm của mạng ngữ nghĩa
Chương II: Biểu diễn tri thức
Trong chương này đi tìm hiểu sâu về các luật và cách biểu diễn tri thức
Chương III: Ứng dung mạng ngữ nghĩa để giải bài toán tam giác lượng
Chương này sẽ đưa ra mục đích, yêu cầu cũng như mô tả chương trình thực
nghiệm đã được xây dựng
5 Phương pháp nghiên cứu:
- Nghiên cứu các tài liệu và viết tổng quan
- Phương pháp phân tích, đánh giá bài toán
- Nghiên cứu triển khai thử nghiệm hệ thống
Trang 8
Chương I : TỔNG QUAN VỀ HỆ CHUYÊN GIA
VÀ MẠNG NGỮ NGHĨA 1.1 Hệ chuyên gia
1.1.1 Hệ chuyên gia là gì ?
Hệ chuyên gia là một hệ thống chương trình máy tính chứa các thông tin, tri thức và các quá trình suy luận về một lĩnh vực cụ thể nào đó để giải quyết các vấn đề khó hoặc hóc búa đòi hỏi sự tinh thông đầy đủ của các chuyên gia con người đối với các giải pháp của họ Nói một cách khác hệ chuyên gia là dựa trên tri thức của các chuyên gia con người giỏi nhất trong lĩnh vực quan tâm
Tri thức của hệ chuyên gia bao gồm các sự kiện và các luật Các sự kiện được cấu thành bởi một số nhiều các thông tin, được thu thập rộng rãi, công khai và được sự đồng tình của các chuyên gia con người trong lĩnh vực Các luật biểu thị sự quyết đoán chuyên môn của các chuyên gia trong lĩnh vực
Mức độ hiệu quả của một hệ chuyên gia phụ thuộc vào kích thước và chất lượng của cơ sở tri thức mà hệ đó có được
Mỗi hệ chuyên gia chỉ đặc trưng cho một lĩnh vực vấn đề nào đó, như y học, tài chính, khoa học hay công nghệ, vv…, mà không phải là cho bất cứ một lĩnh vực vấn đề nào
Ví dụ : hệ chuyên gia về lĩnh vực y học để phát hiện các căn bệnh lây nhiễm
sẽ có nhiều tri thức về một số triệu chứng lây bệnh, lĩnh vực tri thức y học bao gồm các căn bệnh, triệu chứng và chữa trị
Hoạt động của một hệ chuyên gia dựa trên tri thức được minh họa như sau:
Hình 1.1: Hoạt động của hệ chuyên gia dựa trên tri thức
Người sử dụng
Hệ thống giao tiếp
Cơ sở tri thức
Máy suy diễn
Trang 91.1.2 Đặc trưng và ưu điểm của hệ chuyên gia
Độ tin cậy cao: Không thể xảy ra sự cố hoặc giảm sút độ tin cậy khi sử dụng
Dễ hiểu: Hệ chuyên gia giải thích các bước suy luận một cách dễ hiểu và nhất quán
Những ưu điểm của hệ chuyên gia :
Phổ cập: Là sản phẩm chuyên gia, được phát triển không ngừng với hiệu quả
Khả năng trả lời nhanh
Tính ổn định, suy luận có lý và đầy đủ mọi lúc mọi nơi
Trợ giúp thông minh như một người hướng dẫn
Có thể truy cập như là một cơ sở dữ liệu thông minh
1.1.3 Các lĩnh vực ứng dụng của hệ chuyên gia
Tính đến thời điểm này, hàng trăm hệ chuyên gia đã được xây dựng và báo cáo thường xuyên trong các tạp chí, sách báo và hội thảo khoa học Ngoài ra còn các hệ
Trang 10chuyên gia được sử dụng trong các công ty, các tổ chức quân sự mà không được công
Giải thích những dữ liệu thu nhận được
So sánh dữ liệu thu lượm được với chuyên môn để đánh giá hiệu quả
Trang 111.1.4 Cấu trúc của hệ chuyên gia
Một hệ chuyên gia kiểu mẫu gồm các thành phần cơ bản sau :
Hình 1.2: Cấu trúc của hệ chuyên gia
Giao diện người, máy : Thực hiện giao tiếp giữa hệ chuyên gia và người sử dụng Nhận các thông tin từ người dùng (các câu hỏi, các yêu cầu về lĩnh vực) và đưa
ra các lời khuyên, các câu trả lời, các giải thích về lĩnh vực đó
Bộ giải thích : Giải thích các hoạt động của hệ khi có yêu cầu của người sử dụng
Bộ nhớ làm việc
Cơ sở tri thức
Mô tơ suy diễn Suy diễn Điều khiển
Giao diện người, máy
Người sử dụng
Bộ thu nạp
tri thức
Bộ giải thích Chuyên gia
con người
Trang 12 Bộ thu nạp tri thức : Làm nhiệm vụ thu nhận tri thức từ chuyên gia con người, từ kỹ sư tri thức và cả người sử dụng thông qua các câu hỏi và yêu cầu của họ, sau đó lưu trữ vào cơ sở tri thức
Cơ sở tri thức : Lưu trữ, biểu diễn các tri thức trong lĩnh vực mà hệ đảm nhận, làm cơ sở cho các hoạt động của hệ Cơ sở tri thức bao gồm các sự kiện và các luật
Mô tơ suy diễn : Làm nhiệm vụ sử lý và điều khiển các tri thức được biểu diễn trong cơ sở tri thức nhằm đáp ứng các câu hỏi, các yêu cầu của người sử dụng
(*) Để thực hiện được các công việc của các thành phần trên trong cấu trúc hệ chuyên gia phải có một hệ điều khiển và quản lý việc tạo lập, tích lũy tri thức cho lĩnh vực hệ đảm nhận gọi là “Hệ quản trị cơ sở tri thức” Hệ quản trị cơ sở tri thức thực chất là quản lý và điều khiển công việc của Bộ thu nạp tri thức, Bộ giải thích, Mô tơ suy diễn Nó phải đảm bảo các yêu cầu :
Giảm dư thừa tri thức, dữ liệu
Tính nhất quán và phi mâu thuẫn của tri thức
Tính toàn vẹn và an toàn
Giải quyết các vấn đề cạnh tranh
Chuyển đổi tri thức
Ngôn ngữ xử lý tri thức
1.1.5 Một số mô hình kiến trúc hệ chuyên gia
a)Mô hình J.L.Ermin:
Hình 1.3: Mô hình J.L.Ermin
Trang 13Do mạng ngữ nghĩa là một loại đồ thị cho nên ta có thể dùng những thuật toán của đồ thị trên mạng ngữ nghĩa như thuật toán tìm liên thông, tìm đường đi ngắn nhất,… để thực hiện các cơ chế suy luận Điểm đặc biệt của mạng ngữ nghĩa so với đồ thị thông thường chính là việc gán một ý nghĩa cho các cung Cung nối giữa hai đỉnh
Trang 14cho biết giữa hai khái niệm tương ứng có sự liên hệ như thế nào Việc gán ngữ nghĩa vào các cung của đồ thị đã giúp giảm bớt được số lượng đồ thị cần phải dùng để biễu diễn các mối liên hệ giữa các khái niệm
Một đặc điểm quan trọng của mạng ngữ nghĩa là tính kế thừa Chính đặc tính kế thừa của mạng ngữ nghĩa đã cho phép ta có thể thực hiện được rất nhiều phép suy diễn từ những thông tin sẵn có trên mạng
Cơ chế suy diễn áp dụng trong mạng ngữ nghĩa là thực hiện theo thuật toán loang truyền đơn giản theo hai bước sau:
Kích hoạt các đỉnh đã cho ban đầu (các đỉnh đã có giá trị)
Nếu một đỉnh chưa xác định nối với n đỉnh khác (thông qua những mối liên hệ)
Và trong đó có n-1 đỉnh đã xác định thì đỉnh đó cũng được xác định Lặp lại bước này cho đến khi xác định được tất cả các đỉnh
1.2.2 Ưu nhược điểm
1.2.2.1 Ưu điểm:
Mạng ngữ nghĩa rất linh động, có thể thêm vào mạng các đỉnh hoặc cung mới để bổ sung các tri thức cần thiết
Mạng ngữ nghĩa có tính trực quan cao nên rất dễ hiểu
Mạng ngữ nghĩa cho phép các đỉnh có thể kế thừa 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
1.2.2.2 Nhược điểm:
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 Điều đó đồng nghĩa với người dùng có thể gắn bất kỳ khái niệm nào cho đỉnh hoặc cung
Tính thừa kế trong mạng có thể dẫn đến khả năng mâu thuẩn tri thức
Trang 151.2.3 Cách biểu diễn tri thức
Khi biểu diễn một mạng ngữ nghĩa, các đỉnh của đồ thị là các đối tượng (khái niệm, tri thức, sự việc) nào đó, còn các cung giữa các đỉnh thể hiện các mối liên hệ giữa các đối tượng (khái niệm, tri thức, sự việc) này
Hình 1.6: Ví dụ về mạng ngữ nghĩa tiêu biểu
Trong ví dụ trên, các yếu tố như “Xe máy, Xe, Động cơ, Xăng, Đường” được xem là các đối tượng của mạng ngữ nghĩa Trong khi đó các yếu tố “Là, Di chuyển trên, chạy bằng hay có” là các mối liên hệ giữa các đối tượng
Trang 16Xét ví dụ bên dưới đây:
Hình 1.7: Ví dụ về mạng ngữ nghĩa kế thừa
Trong mạng ngữ nghĩa trên ta có thể thấy được các mối quan hệ như sau:
- Hình vuông là hình chữ nhật + là tứ giác + có 4 góc Từ đó ta có thể suy luận được là hình vuông có 4 góc
- Hình chữ nhật là hình bình hành + hình bình hành có hai cặp cạnh bằng nhau
Từ đó có thể suy ra hình chữ nhật có hai cặp cạnh bằng nhau
Dù không có đường liên hệ trực tiếp từ đối tượng “Hình vuông” đến đối tượng
“4 góc” nhưng thông qua tính chất kế thừa ta có thể xác định được là đối tượng
“Hìnhvuông” có liên hệ “có” với đối tượng “4 góc”
Tương tự với trường hợp của đối tượng “Hình chữ nhật” và đối tượng “Hai cặp cạnh bằng nhau”
Tuy mạng ngữ nghĩa là một kiểu biểu diễn trực quan đối với con người nhưng khi đưa vào máy tính, các đối tượng và mối liên hệ giữa chúng thường được biểu diễn dưới dạng những phát biểu động từ (như vị từ) Hơn nữa, các thao tác tìm kiếm trên mạng ngữ nghĩa thường khó khăn (đặc biệt đối với những mạng có kích thước lớn)
Do đó, mô hình mạng ngữ nghĩa được dùng chủ yếu để phân tích vấn đề Sau đó, nó sẽ được chuyển đổi sang dạng luật hoặc frame để thi hành hoặc mạng ngữ nghĩa sẽ được dùng kết hợp với một số phương pháp biểu diễn khác
Trang 17CHƯƠNG II: BIỂU DIỄN TRI THỨC 2.1 Giới thiệu về tri thức
Tri thức (knowledge): là sự hiểu biết của 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
Ví dụ:
- Kiến thức về một lĩnh vực y học và khả năng chẩn đoán bệnh là tri thức
- Biết một tam giác có các yếu tố nào cùng với các công thức liên hệ giữa các
yếu tố là tri thức
- Biết các dạng cấu trúc dữ liệu thường dùng trong lập trình cùng với các thuật
toán xử lý cơ bản trên các cấu trúc là tri thức
Các dạng tri thức
- Tri thức mô tả: các khái niệm, các đối tượng cơ bản
- Tri thức cấu trúc: các khái niệm cấu trúc, các quan hệ, các đối tượng phức
hợp,
- Tri thức thủ tục: các luật dẫn, các thủ tục xử lý, các chiến lược, …
- Tri thức meta: tri thức về các dạng tri thức khác và cách sử dụng chúng
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): Xem lại kiến thức về quan hệ ở góc độ toán học trong giáo trình “Toán Rời Rạc”:
o Định nghĩa quan hệ 2 ngôi
o Các tính chất về một quan hệ 2 ngôi R trên một tập X: phản xạ, đối xứng, phản xứng, bắc cầu
o Quan hệ thứ tự
o Quan hệ tương đương
o 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
Trang 18o 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)
Ví dụ: T: NxN N (a,b) a+b
o Phép toán 1 ngôi S trên tập X là
- Các thực thể hay đối tượng, một phần tử cụ thể (objects)
2.2 Biểu diễn tri thức bằng luật dẫn(luật sinh)
2.2.1 Khái niệm
Phương pháp biểu diễn tri thức bằng luật sinh được phát minh bởi Newell và Simon trong lúc hai ông đang cố gắng xây dựng một hệ giải bài toán tổng quát.Đây là một kiểu biểu diễn tri thức có cấu trúc Ý tưởng cơ bản là tri thức có thể được cấu trúc bằng một cặp điều kiện và hành động: "NẾU điều kiện xảy ra THÌ hành động sẽ được thi hành" Chẳng hạn, NẾU đèn giao thông là đỏ THÌ bạn không được đi thẳng, NẾU máy tính đã mở mà không khởi động được THÌ kiểm tra nguồn điện,…
Ngày nay, các luật sinh đã trở nên phổ biến và được áp dụng rộng rãi trong nhiều hệ thống trí tuệ nhân tạo khác nhau.Luật sinh có thể là một công cụ mô tả để giải quyết các vấn đề thực tế thay cho các kiểu phân tích vấn đề truyền thống.Trong trường hợp này, các luật được dùng như là những chỉ dẫn (tuy có thể không hoàn chỉnh) nhưng rất hữu ích để trợ giúp cho các quyết định trong quá trình tìm kiếm, từ đó làm giảm không gian tìm kiếm.Một ví dụ khác là luật sinh có thể được dùng để bắt chước hành vi của những chuyên gia Theo cách này, luật sinh không chỉ đơn thuần là một
Trang 19kiểu biểu diễn tri thức trong máy tính mà là một kiểu biễu diễn các hành vi của con người
Một cách tổng quát luật sinh có dạng như sau:
P1 P2 Pn Q Tùy vào các vấn đề đang quan tâm mà luật sinh có những ngữ nghĩa hay cấu tạo khác nhau:
- Trong logic vị từ: P1, P2, , Pn, Q là những biểu thức logic
- Trong ngôn ngữ lập trình, mỗi một luật sinh là một câu lệnh
IF (P1 AND P2AND AND Pn) THEN Q
- Trong lý thuyết hiểu ngôn ngữ tự nhiên, mỗi luật sinh là một phép dịch:
2.2.2 Cơ chế suy luận trên các luật sinh
- Suy diễn tiến: là quá trình suy luận xuất phát từ một số sự kiện ban đầu, xác
định các sự kiện có thể được "sinh" ra từ sự kiện này
Sự kiện ban đầu: H, K
R3: H A {A, H K } R1: A E { A, E, H, K } R5: E K B { A, B, E, H, K } R2: B D { A, B, D, E, H, K }
Trang 20R6: D E K C { A, B, C, D, E, H, K }
- Suy diễn lùi: là quá trình suy luận ngược xuất phát từ một số sự kiện ban
đầu, ta tìm kiếm các sự kiện đã "sinh" ra sự kiện này Một ví dụ thường gặp trong thực
tế là xuất phát từ các tình trạng của máy tính, chẩn đoán xem máy tính đã bị hỏng hóc
ở đâu
2.2.3 Vấn đề tối ưu luật
Tập các luật trong một cơ sở tri thức rất có khả năng thừa, trùng lắp hoặc mâu
thuẫn.Dĩ nhiên là hệ thống có thể đổ lỗi cho người dùng về việc đưa vào hệ thống
những tri thức như vậy Tuy việc tối ưu một cơ sở tri thức về mặt tổng quát là một thao tác khó (vì giữa các tri thức thường có quan hệ không tường minh), nhưng trong giới hạn cơ sở tri thức dưới dạng luật, ta vẫn có một số thuật toán đơn giản để loại bỏ các vấn đề này
- Rút gọn bên phải:
luật sau hiển nhiên đúng :A B A (1)
do đó luật: A BA C
là hoàn toàn tương đương với: A BC
Quy tắc rút gọn : Có thể loại bỏ những sự kiện bên vế phải nếu những sự kiện
đó đã xuất hiện bên vế trái Nếu sau khi rút gọn mà vế phải trở thành rỗng thì luật đó là luật hiển nhiên Ta có thể loại bỏ các luật hiển nhiên ra khỏi tri thức
Tương đương với hai luật: A C và B C
Với quy tắc này, ta có thể loại bỏ hoàn toàn các luật có phép nối HOẶC.Các luật có phép nối này thường làm cho thao tác xử lý trở nên phức tạp
Trang 21- Thuật toán tối ưu tập luật dẫn:
Thuật toán này sẽ tối ưu hóa tập luật đã cho bằng cách loại đi các luật có phép nối HOẶC, các luật hiển nhiên hoặc các luật thừa
Thuật toán bao gồm các bước chính:
B1: Rút gọn vế phải
Với mỗi luật r trong R
Với mỗi sự kiện A VếPhải(r)
Nếu A VếTrái(r) thì Loại A ra khỏi vế phải của R
Nếu VếPhải(r) rỗng thì loại bỏ r ra khỏi hệ luật dẫn : R = R \{r}
B2: Phân rã các luật
Với mỗi luật r : X1 X2 … Xn Y trong R
Với mỗi i từ 1 đến n R := R + { Xi Y }
R := R \ {r}
B3: Loại bỏ luật thừa
Với mỗi luật r thuộc R
Nếu VếPhải(r) BaoĐóng(VếTrái(r), R-{r}) thì R := R \ {r}
B4: Rút gọn vế trái
Với mỗi luật dẫn r : X : A1 A2, …, An Y thuộc R
Với mỗi sự kiện Ai r
Gọi luật r1 : X - Ai Y
S = (R - {r}) {r1}
Nếu BaoĐóng (X - Ai , S) BaoĐóng (X, R) thì loại sự kiện A ra khỏi X
Trang 222.2.4 Biểu diễn tri thức bằng Frame
2.2.4.1 Khái niệm
Frame là một cấu trúc dữ liệu chứa đựng tất cả những trithứ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 trithức về một đối tượng, sự kiện, vị trí, tình huống hoặc những yếu tố khác Do đó, frame có thể giúp ta mô tả khá chi tiết một đối tượng
Dưới một khía cạnh nào đó, người ta có thể xem phương pháp biểudiễntrithứcbằngframe chính là nguồn gốc của ngôn ngữ lập trình hướng đối tượng
Ý tưởng của phương pháp này là "thay vì bắt người dùng sử dụng các công cụ phụ như dao mở để đồ hộp, ngày nay các hãng sản xuất đồ hộp thường gắn kèm các nắp mở đồ hộp ngay bên trên vỏ lon Như vậy, người dùng sẽ không bao giờ phải lo lắng đến việc tìm một thiết bị để mở đồ hộp nữa!" Cũng vậy, ý tưởng chính của frame (hay của
phương pháp lập trình hướng đối tượng) là khi biểudiễn một trithức, ta sẽ "gắn kèm" những thao tác thường gặp trên trithức này Chẳng hạn như khi mô tả khái niệm về
hình chữ nhật, ta sẽ gắn kèm cách tính chu vi, diện tích
Frame thường được dùng để biểudiễn những trithức "chuẩn" hoặc những trithức được xây dựng dựa trên những kinh nghiệm hoặc các đặc điểm đã được hiểu biết cặn
kẽ Bộ não của con người chúng ta vẫn luôn "lưu trữ" rất nhiều các trithức chung mà khi cần, chúng ta có thể "lấy ra" để vận dụng nó trong những vấn đề cần phải giải quyết.Frame là một công cụ thích hợp để biểudiễn những kiểu trithức này
Trang 23Frame : XE HƠI
Thuộc lớp :phương tiện vận chuyển
Tên nhà sản xuất : Audi
Quốc gia của nhà sản xuất : Đức
Máy (tham chiếu đến frame Máy)
Kiểu : In-line, overhead cam
Mã lực : 140 hp
Hình 2.1: Cấu trúc một Frame xe hơi 2.2.4.2 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ểudiễ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 frame về xe, xét
Trang 24slot 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
2.2.5 Tính kế thừa
Trong thực tế, một hệ thống trí tuệ nhân tạo thường sử dụng nhiều frame được liên kết với nhau theo một cách nào đó Một trong những điểm thú vị của frame là tính phân cấp Đặc tính này cho phép kế thừa các tính chất giữa các frame
Hình sau đây cho thấy cấu trúc phân cấp của các loại hình hình học cơ bản.Gốc của cây ở trên cùng tương ứng với mức độ trừu tượng cao nhất Các frame nằm ở dưới cùng (không có frame con nào) gọi là lá Những frame nằm ở mức thấp hơn có thể thừa kế tất cả những tính chất của những frame cao hơn
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
Trang 25Hình 2.2: Quan hệ giữa các đối tượng hình học phẳng
2.2.6 Biểu diễn tri thức bằng Script
Script là một cách biểu diễn tri thức tương tự như frame nhưng thay vì đặc tả
một đối tượng, nó mô tả một chuỗi các sự kiện.Để mô tả chuỗi sự kiện, script sử dụng
một dãy các slot chứa thông tin về các con người, đối tượng và hành động liên quan
đến sự kiện đó
Tuy cấu trúc của các script là rất khác nhau tùy theo bài toán, nhưng nhìn chung một script thường bao gồm các thành phần sau :
- Điều kiện vào(entry condition): mô tả những tình huống hoặc điều kiện cần
được thỏa mãn trước khi các sự kiện trong script có thể diễn ra
- Role (đóng vai): là những con người có liên quan trong script
- Prop (tác tố): là tất cả những đối tượng được sử dụng trong các chuỗi sự
kiện sẽ diễn ra
- Scene(Tình huống): là chuỗi sự kiện thực sự diễn ra
- Result (Kết quả): trạng thái của các Role sau khi script đã thi hành xong
- Track (phiên bản): mô tả một biến thể (hoặc trường hợp đặc biệt) có thể xảy
ra trong đoạn script
Trang 26Script rất hữu dụng trong việc dự đoán điều gì sẽ xảy đến trong những tình huống xác định.Thậm chí trong những tình huống chưa diễn ra, script còn cho phép
máy tính dự đoán được việc gì sẽ xảy ra và xảy ra đối với ai và vào thời điểm nào.Nếu
máy tính kích hoạt một script, người dùng có thể đặt câu hỏi và hệ thống có thể suy ra được những câu trả lời chính xác mà không cần người dùng cung cấp thêm nhiều thông tin (trong một số trường hợp có thể không cần thêm thông tin) Do đó, cũng giống như frame, script là một dạng biểu diễn tri thức tương đối hữu dụng vì nó cho phép ta mô tả chính xác những tình huống "chuẩn" mà con người vẫn thực hiện mỗi ngày hoặc đã nắm bắt chính xác
2.2.7 Mô hình COKB
2.2.7.1 Định nghĩa về mô hình COKB
Mô hình biểu diễn tri thức COKB(Computational Objects Knowledge Base) là một mô hình tri thức của các đối tượng tính toán Mô hình COKB là một hệ thống gồm
6 thành phần chính được ký hiệu bởi bộ 6 như sau:
(C,H,R,Opts, Funcs,Rules)
Tập hợp C (các khái niệm về các C_Object):
Các khái niệm được xây dựng dựa trên các đối tượng Mỗi khái niệm là một lớp các đối tượng tính toán có cấu trúc nhất định và được phân cấp theo sự thiết lập của cấu trúc đối tượng, bao gồm:
- Các đối tượng (hay khái niệm) nền: là các đối tượng (hay khái niệm) được
mặc nhiên thừa nhận Ví dụ: như một số đối tượng kiểu boolean (logic), số tự nhiên (natural), số nguyên (integer), số thực (real), tập hợp (set), danh sách (list) hay một số kiểu tự định nghĩa
- Các đối tượng cơ bản (hay khái niệm) cơ bản cấp 0: có cấu trúc rỗng hoặc có
cấu trúc thiết lập trên một số thuộc tính kiểu khái niệm nền: Các đối tượng(hay khái niệm) này làm nền cho các đối tượng(hay các khái niệm) cấp cao hơn Ví dụ: đối tượng DIEM có kiểu mô tả không có cấu trúc thiết lập
- Các đối tượng (hay khái niệm) cấp 1: Các đối tượng này chỉ có các thuộc
tính kiểu khái niệm nền và có thể được thiết lập trên một danh sách nền các đối tượng
Trang 27cơ bản Ví dụ: đối tượng DOAN[A,B] trong đó A, B là các đối tượng cơ bản loại DIEM, thuộc tính a biểu thị độ dài đoạn thẳng có kiểu tương ứng là “real”
- Các đối tượng (hay khái niệm) cấp 2: Các đối tượng này có các thuộc tính
kiểu khái niệm nền và các thuộc tính loại đối tượng cấp 1, có thể được thiết lập trên một danh sách nền các đối tượng cơ bản Ví dụ: đối tượng TAMGIAC[A,B,C] trong
đó A, B, C là các đối tượng cơ bản loại DIEM, các thuộc tính như GocA, a, S có kiểu tương ứng là “GOC[C,A,B]”, “DOAN[B,C]”, “real”
- Các đối tượng (hay khái niệm) cấp n >0: Các đối tượng này có các thuộc tính
kiểu khái niệm nền và các thuộc tính loại đối tượng cấp thấp hơn, có thể được thiết lập trên một danh sách nền các đối tượng cấp thấp hơn
Cấu trúc bên trong của mỗi lớp đối tượng:
- Kiểu đối tượng: Kiểu này có thể là kiểu thiết lập trên một danh sách nền các
đối tượng cấp thấp hơn
- Danh sách các thuộc tính của đối tượng: Mỗi thuộc tính có kiểu thực, kiểu
đối tượng cơ bản hay kiểu đối tượng cấp thấp hơn Phân ra làm 2 loại là tập các thuộc tính thiết lập của đối tượng và tập các thuộc tính khác (còn gọi là tập thuộc tính)
- 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 tính chất nội tại hay sự kiện vốn có liên quan đến các thuộc tính
của đối tượng
- Tập hợp các quan hệ suy diễn - tính toán trên các thuộc tính của đối tượng
Các quan hệ này thể hiện các luật suy diễn và cho phép ta có thể tính toán một hay một
số thuộc tính từ các thuộc tính khác của đối tượng
- Tập hợp các luật suy diễn trên các loại sự kiện khác nhau liên quan đến các
thuộc tính của đối tượng hay bản thân đối tượng Mỗi luật suy diễn có dạng: {các sự kiện giả thiết} {các sự kiện kết luận}
Tập hợp H (các quan hệ phân cấp giữa các đối tượng)
Trong tập C, ta có các quan hệ mà theo đó có thể có những khái niệm là sự đặc biệt hoá của những khái niệm khác Có thể nói, H là một biểu đồ Hasse trên C khi xem quan hệ phân cấp là một quan hệ thứ tự trên C
Cấu trúc của một quan hệ phân cấp:
Trang 28[<tên lớp đối tượng cấp cao>, <tên lớp đối tượng cấp thấp> ]
Tập hợp R các khái niệm về các loại quan hệ trên các C-Object
Mỗi quan hệ được xác định bởi tên quan hệ và danh sách các loại đối tượng của quan hệ Đối với quan hệ 2 hay 3 ngôi thì quan hệ có thể có các tính chất như tính phản xạ, tính phản xứng, tính đối xứng và tính bắc cầu
Cấu trúc của một quan hệ:
[ < tên quan hệ > , < loại đối tượng > , < loại đối tượng > ,…] , {< tính chất > , <
tính chất >}
Tập hợp Opts các toán tử
Các toán tử thể hiện các qui tắc tính toán nhất định trên các biến thực cũng như trên các đối tượng Chẳng hạn như các phép toán số học, các phép tính toán trên các đối tượng đoạn, góc tương tự như đối với các biến thực hay các phép tính toán vecto, tính toán ma trận,… Trong trường hợp các phép toán 2 ngôi thì phép toán có thể có các tính chất như tính giao hoán, tính kết hợp,tính nghịch đảo, tính trung hoà
Tập hợp Funcs các hàm
Tập hợp Funcs trong mô hình COKB thể hiện tri thức về các hàm hay nói cách khác là thể hiện tri thức về các khái niệm và các qui tắc tính toán trên các biến thực cũng như trên các loại C-Object, được xây dựng thông qua các quan hệ tính toán dạng hàm Mỗi hàm được xác định bởi <tên hàm>, danh sách các đối số và một qui tắc định nghĩa hàm về phương diện toán học
Tập hợp Rules các luật
Mỗi luật cho ta một qui tắc suy luận để từ các sự kiện đang biết suy ra được các
sự kiện mới thông qua việc áp dụng các định luật, định lý hay các qui tắc tính toán nào
đó Mỗi luật suy diễn r có thể được mô hình hoá dưới dạng :
r : {sk 1 , sk 2 , , sk m } {sk m+1 , sk m+2 , , sk n }
Cấu trúc của một luật:
[ Kind, BasicO, Hypos, Goals]
Trong đó:
- Kind: loại luật
- BaseO: tập các đối tượng cơ bản
Trang 29- Hypos: tập các sự kiện giả thiết của một luật
- Goals: tập các sự kiện kết luận của một luật
2.2.7.2 Tổ chức cơ sở tri thức theo COKB
Cơ sở tri thức được tổ chức bởi một hệ thống tập tin văn bản có cấu trúc dựa trên một số từ khoá và qui ước về cú pháp, thể hiện các thành phần trong mô hình tri thức COKB Hệ thống này bao gồm các tập tin như sau:
- Tập tin OBJECT.txt : Lưu trữ tất cả các khái niệm đối tượng của cơ sở tri
thức
- 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 hoá giữa các loại đối tượng C-Object
- Tập tin RELATIONS.txt: Lưu trữ tất cả các quan hệ cũng như các tính chất
giữa các loại đối tượng C-Object
- Tập tin OPERATORS.txt: lưu trữ các thông tin, cơ sở tri thức của thành
phần toán tử trên các đối tượng C-Object
- Tập tin OPERATORS_DEF.txt: Lưu trữ định nghĩa về các loại toán tử hay
định nghĩa của các thủ tục tính toán phục vụ toán tử
- Tập tin RULES.txt: Lưu trữ các hệ luật trên các loại đối tượng và các sự
kiện trong cơ sở tri thức
- Tập tin FUNCTIONS.txt: Lưu trữ cách khai báo hàm, thông tin về hảm trên
các C-Object
- Tập tin FUNCTIONS_DEF.txt: Lưu trữ định nghĩa về các hàm trên các đối
tượng và các sự kiện
- Các tập tin có tên <tên các C-OBJECT>.txt: Lưu trữ cấu trúc của đối
tượng <tên khái niệm C-Object>
2.2.7.3 Sơ đồ tổ chức 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 hoạ trên
sơ đồ sau đây:
Trang 30Hình 2.3: Sơ đồ tổ chức theo mô hình COKB 2.2.7.4 Ngôn ngữ đặc tả theo mô hình COKB
- Ngôn ngữ đặc tả theo mô hình COKB được xây dựng để biểu diễn cho các tri
thức có dạng COKB Ngôn ngữ này bao gồm các thành phần :
o Cú pháp quy định cho các thành phần của mô hình COKB
2.2.7.5 Các loại sự kiện trong mô hình COKB
- Sự kiện loại 1: Sự kiện thông tin về loại của đối tượng
Cấu trúc sự kiện: [<đối tượng>, <loại đối tượng>]
- Sự kiện loại 2: Sự kiện về tính xác định của một đối tượng hay của một thuộc
tính của đối tượng
Cấu trúc sự kiện:<đối tượng>|<đối tượng >.<thuộc tính>
- Sự kiện loại 3: Sự kiện về tính xác định của một đối tượng hay của một thuộc
tính của đối tượng thông qua biểu thức hằng
Trang 31Cấu trúc sự kiện: <đối tượng>|<đối tượng >.<thuộc tính> = <biểu thức hằng>
- Sự kiện loại 4: Sự kiện về sự bằng nhau của một đối tượng hay một thuộc tính
của đối tượng với một đối tượng hay một thuộc tính khác
Cấu trúc sự kiện: <đối tượng> | <đối tượng >.<thuộc tính> = <đối tượng> |
<đối tượng >.<thuộc tính>
- Sự kiện loại 5: Sự kiện về sự phụ thuộc giữa các đối tượng và các thuộc tính
của các đối tượng thông qua một công thức tính toán hay một đẳng thức theo các đối tượng hay các thuộc tính
Cấu trúc sự kiện:<đối tượng>|<đối tượng >.<thuộc tính>=<biểu thức theo các đối tượng hay thuộc tính >
- Sự kiện loại 6: Sự kiện về một quan hệ trên các đối tượng hay trên các thuộc
tính của các đối tượng
Cấu trúc sự kiện: [<tên quan hệ>,<object1>,<object2>,…]
- Sự kiện loại 7: Sự kiện về tính xác định của một hàm
Cấu trúc sự kiện: <hàm>
- Sự kiện loại 8: Sự kiện về tính xác định của một hàm thông qua một biểu thức
hằng
Cấu trúc sự kiện: <hàm> = <biểu thức hằng>
- Sự kiện loại 9: Sự kiện về sự bằng nhau giữa một đối tượng hay thuộc tính với
một hàm
Cấu trúc sự kiện: <đối tượng>|<đối tượng >.<thuộc tính> = <hàm>
- Sự kiện loại 10: Sự kiện về sự bằng nhau của một hàm với một hàm khác
Cấu trúc sự kiện: <hàm> = <hàm>
- Sự kiện loại 11: Sự kiện về sự phụ thuộc của một hàm theo các hàm hay các đối
tượng khác thông qua một công thức tính toán
Cấu trúc sự kiện:<hàm> = <biểu thức theo các hàm hay các đối tượng>
- Sự kiện loại 12: Sự kiện về sự phụ thuộc giữa các hàm hay các đối tượng thông
qua một đẳng thức theo các hàm hay các đối tượng
Trang 32Cấu trúc sự kiện:<đẳng thức theo các hàm hay các đối tượng>
2.2.7.6 Định nghĩa các bước giải cho mô hình COKB
- Deduce_from3s: suy ra các sự kiện loại 2 từ các sự kiện loại
- Deduce_from43s: suy ra các sự kiện mới loại 3 từ các sự kiện loại 3 và 4 bằng
cách thay thế các biến trong sự kiện loại 3 vào sự kiện loại 4
- Deduce_from53s: suy ra các sự kiện mới loại 3, 4, 5 từ các sự kiện loại 3 và 5
bằng cách thay thế các biến trong sự kiện loại 3 vào sự kiện loại 5
- Deduce_from45s: suy ra các sự kiện mới loại 3 từ các sự kiện loại 4 và 5 bằng
cách giải hệ phương trình
- Deduce_from8s: suy ra các sự kiện loại 7 từ các sự kiện loại 8
- Deduce_from983s: suy ra các sự kiện loại 3, 8 từ các sự kiện loại 3, 8, 9 bằng
cách thay thế các sự kiện loại 8 (hay sự kiện loại 3) vào các sự kiện loại 9
- Deduce_Objects: thực hiện suy diễn và tính toán bên trong cấu trúc của từng
đối tượng Các đối tượng tham gia vào bước giải có khả năng tham gia vào các bước giải có khả năng thực hiện các hành vi nhất định để phát sinh sự kiện mới, thực hiện suy diễn 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
- Deduce_from9s: suy ra các sự kiện loại 2, 3 , 6, 7, 8 từ các sự kiện loại 9 bằng
cách thực hiện tính toán hàm
- Deduce_Rules: dò tìm luật có thể áp dụng được
- Deduce_Funcs: dò tìm hàm có thể áp dụng được
- Deduce_EqsGoal: giải hệ phương trình đơn giản gồm n phương trình n ẩn
2.2.7.7 Ưu điểm của mô hình COKB
Thông qua những khái niệm về các mô hình biểu diễn tri thức tiêu biểu đã được biết ta đã thấy được một số ưu điểm cũng như những khuyết điểm của chúng Để làm
rõ hơn ta có bảng liệt kê ưu khuyết của các phương pháp biểu diễn tri thức: