Cuối cùng, tôi xin trình bày về một ứng dụng nhỏ, sử dụng mạng ngữ nghĩa: ỨNG DỤNG MẠNG NGỮ NGHĨA VÀO BÀI TOÁN ĐIỀU CHẾ HÓA CHẤT Qua đây, tôi xin được gửi lời cảm ơn đến PGS - TS Đỗ Văn
Trang 1DANH MỤC CÁC BẢNG
Bảng 1.1 Các phép toán logic và các ký hiệu sử dụng 4 1
Bảng 1.2 Bảng chân trị, với các giá trị Đúng (T), Sai (F) 5 1
DANH MỤC HÌNH ẢNH
số hiệu
Hình 1.2 "Sẻ là Chim" thể hiện trên mạng ngữ nghĩa 12
Hình 1.4 Các bước thực hiện phép toán trên mạng ngữ nghĩa 13
Hình 1 6 Một ví dụ biểu diễn các đối tượng hình học bằng frame 18Hình 1.7 Mối quan hệ đặc biệt trên các lớp tam giác 28
MỤC LỤC
Trang 2LỜI NÓI ĐẦUCông nghệ tri thức có thể xem là một nhánh nghiên cứu của trí tuệ nhân tạo, phân tích tri thức lĩnh vực và chuyển nó thành những mô hình tính toán đưa vào máy tính để phục vụ những nhu cầu cần thiết Trong công nghệ tri thức, biểu diễn tri thức làmột trong những kỹ thuật quan trọng để hiện thực hóa tri thức trong đời sống Biểu diễn tri thức là phương pháp mã hoá tri thức, nhằm thành lập cơ sở tri thức cho các hệ thống dựa trên tri thức Từ đó, chúng ta rút ra nhiều thông tin, tri thức có lợi từ hệ tri thức này
Trong khuôn khổ bài thu hoạch nhỏ này, tôi xin trình về công nghệ tri thức nóichung, sau đó tôi sẽ triển khai chi tiết về các kỹ thuật biểu diễn tri thức, đặc biệt, tôi sẽ chú trọng đến kỹ thuật biểu diễn tri thức bằng mạng ngữ nghĩa Cuối cùng, tôi xin trình bày về một ứng dụng nhỏ, sử dụng mạng ngữ nghĩa: ỨNG DỤNG MẠNG NGỮ NGHĨA VÀO BÀI TOÁN ĐIỀU CHẾ HÓA CHẤT
Qua đây, tôi xin được gửi lời cảm ơn đến PGS - TS Đỗ Văn Nhơn, người đã tận tâm truyền đạt những kiến thức nền tảng cơ bản về môn học “Biểu diễn tri thức và ứng dụng”, để tôi có cơ sở kiến thức để có thể viết được bài thu hoạch này
Do kiến thức còn hạn hẹp, bài thu hoạch có thể có những sai sót nhất định, mong thầy và các bạn góp ý để bài thu hoạch ngày càng hoàn thiện hơn
Tôi xin tỏ lòng biết ơn sâu xa!
Nội dung báo cáo gồm các phần chính: CHƯƠNG 1: TỔNG QUAN VỀ BIỂU DIỄN TRI THỨC, CHƯƠNG 2: ỨNG DỤNG MẠNG NGỮ NGHĨA VÀO BÀI TOÁN ĐIỀU CHẾ HÓA CHẤT
Trang 3CHƯƠNG 1: TỔNG QUAN BIỂU DIỄN TRI THỨC
1.1 Định nghĩa tri thức:
Tri thức là một khái niệm rất trừu tượng Do đó, chúng ta sẽ không cố gắng đưa ra một định nghĩa hình thức chính xác ở đây Thay vào đó, chúng ta hãy cùng nhau cảm nhận khái niệm "tri thức" bằng cách so sánh nó với hai khái niệm khác là thông tin và dữ liệu
Nhà bác học nổi tiếng Karan Sing đã từng nói rằng "Chúng ta đang ngập chìm
trong biển thông tin nhưng lại đang khát tri thức" Câu nói này làm nổi bật sự khác
biệt về lượng lẫn về chất giữa hai khái niệm thông tin và tri thức
Người ta thường phân loại tri thức ra làm các dạng như sau :
+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 (Chẳng hạn : mặt trời mọc ở hướng đô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 cần tiến
hành, trình từ hay ngắn gọn là cách giải quyết một vấn đề Thuật toán, thuật giải là mộtdạ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 (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
Trên thực tế, rất hiếm có một trí tuệ mà không cần đến tri thức (liệu có thể có một đại kiện tướng cờ vua mà không biết đánh cờ hoặc không biết các thế cờ quan trọng không?) Tuy tri thức không quyết định sự thông minh (người biết nhiều định lý toán hơn chưa chắc đã giải toán giỏi hơn!) nhưng nó là một yếu tố cơ bản cấu thành trí
Trang 4yếu tố cơ bản này Từ đây đặt ra vấn đề đầu tiên là các phương pháp đưa tri thức vào máy tính được gọi là biểu diễn tri thức - Knowledge representation
1.2 Lịch sử của biểu diễn tri thức
Trong ngành Khoa học máy tính, đặc biệt là trong lĩnh vực Trí tuệ nhân tạo, sốcác biểu diễn đã được phát minh cho cấu trúc của thông tin
Biểu diễn tri thức được sử dụng phổ biến nhất là tham chiếu đến việc biểu diễndành cho việc xử lý bởi máy tính hiện đại, và đặc biệt, cho việc biểu diễn các đối tượng tường minh, cụ thể (ví dụ lớp các loài voi, hoặc động vật riêng rẽ) và sự xác nhận hoặc yêu cầu về chúng (“Clyde là một con voi”, hoặc “tất cả các con voi có màu xám”) Việc biểu diễn tri thức dưới hình thức tường minh, cụ thể cho phép máy tính cónhững kết luận, suy diễn từ những tri thức đã được lưu trữ (“Clyde có màu xám”)
Nhiều phương thức biểu diễn tri thức được đưa ra vào những năm 1970 và nữađầu những năm 1980, như là Heuristic question-answering, mạng neural, theorem proving, và hệ chuyên gia và đã mang đến nhiều thành công Chẩn đoán y học
(Medical diagnosis – ví dụ: Mycin là một ứng dụng lớn, cũng như trong lĩnh vực game
là đánh cờ
Trong những năm 1980, ngôn ngữ biểu diễn tri thức chính thức dành cho máy tính và hệ thống được ra đời Các dự án lớn trong việc mã hóa những kiến thức rộng lớn, chung về cơ thể con người, ví dụ “Cyc” là dự án được hiểu như là bách khoa toàn thư, việc mã hóa giúp người đọc hiểu được các thông tin trong bách khoa toàn thư: Vật
lý ngây thơ, khái niệm thời gian, quan hệ nhân quả, động cơ thúc đẩy các đối tượng phổ biến và lớp các đối tượng Dự án Cyc được quản lý bởi Cycorp, Inc dữ liệu nhiều nhưng không miễn phí
Kinh nghiệm cho thấy, sự khó khăn của việc biểu diễn tri thức ở chỗ là phải cókết quả đúng đúng đắn Trong ngôn ngữ máy tính, cơ sở dữ liệu về ngôn ngữ thông tin đang được xây dựng, nhưng vậy yêu cầu cấu hình máy tính phải có tốc độ xử lý cao vàkhả năng lưu trữ lớn…như vậy mới khả thi được việc biểu diễn tri thức
Trang 5Vài ngôn ngữ lập trình đã pháp triển hỗ trợ việc biểu diễn tri thức Prolog được phát triển năm 1972 (website: http://www.aaai.org/AITopics/bbhist.html#mod), nhưng phải một thời gian lâu mới phổ biến, nó biểu diễn một số định lý và logic cơ bản, và có thể có được những kết luận chấp nhận được KL-ONE (1980) hỗ trợ mạnh,
rõ ràng hơn trong việc biểu diễn tri thức Trong năm 1995 chuẩn Dublin Core về siêu
dữ liệu ( metadata) đã được hình thành
Trong thế giới tài liệu điện tử, các ngôn ngữ được phát triển để biểu diễn cấu trúc của tài liệu rõ ràng hơn, ví dụ SGML và sau đó là XML Thuận tiện cho việc thu thập thông tin, và khai phá dữ liệu mà những năm gần đây bắt đầu có liên quan đến biểu diễn tri thức Cộng đồng web hiện nay đặc biệt quan tâm đến cấu trúc ngữ nghĩa của web, các ngôn ngữ biểu diễn tri thức dựa trên nền tảng XML như: RDF, Topic Maps, Gellish English…có thể được sử dụng để biểu diễn tri thức sẵn có trên hệ thống web
1.3 Biểu diễn tri thức
Biểu diễn tri thức là một chủ đề trong khoa học nhận thức (cognitive science) cũng như trong trí tuệ nhân tạo (artificial intelligence) và mô hình hóa tri thức
(knowledge modeling)
Khoa học nhận thức tập trung vào vấn đề là bằng cách nào con người có thể lưu trữ và xử lý thông tin Trong trí tuệ nhân tạo (AI) và mô hình hóa tri thức (KM) là cách thức để lưu trữ tri thức vì vậy các chương trình có thể xử lý và sử dụng nó cho các ví dụ để hỗ trợ thiết kế bằng máy tính hoặc cạnh tranh với trí tuệ nhân tạo
Cách nhà nghiên cứu về trí tuệ nhân tạo đã mượn lý thuyết biểu diễn từ khoa học nhận thức
Các phương pháp biểu diễn tri thức
1.3.1 Biểu diễn tri thức bằng Logic mệnh đề & Logic vị từ
Dạng biểu diễn tri thức cổ điển nhất trong máy tính là logic, với hai dạng phổ biến
là logic mệnh đề và logic vị từ Cả hai kỹ thuật này đều dùng ký hiệu để thể hiện tri
Trang 6thức và các toán tử áp lên các ký hiệu để suy luận logic Logic đã cung cấp cho các
nhà nghiên cứu một công cụ hình thức để biểu diễn và suy luận tri thức
Phép toán AND OR NOT Kéo theo Tương đương
Khi cần kiểm tra trị chân trị của câu trên trong bài toán sử dụng logic mệnh đề, người ta kiểm tra giá trị của A Nhiều bài toán sử dụng logic mệnh đề để thể hiện tri thức và giải vấn đề Bài toán loại này được đưa về bài toán xử lý các luật, mỗi phần giả thiết và kết luận của luất có thể có nhiều mệnh đề
Ví dụ:
IF Xe không khởi động được A
AND Khoảng cách từ nhà đến chỗ làm là xa B
THEN Sẽ trễ giờ làm C
Luật trên có thể biểu diễn lại như sau: A∧ B→ C
Các phép toán quen thuộc trên các mệnh đề được cho trong bảng 2.2
Trang 7F F T F F T T
Bảng 1.2 Bảng chân trị, với các giá trị Đúng (T), Sai (F) Logic vị từ
Logic vị từ là sự mở rộng của logic mệnh đề nhằm cung cấp một cách biểu diễn
rõ hơn về tri thức Logic vị từ dùng ký hiệu để biểu diễn tri thức
Logic vị từ, cũng giống như logic mệnh đề, dùng các ký hiệu để thể hiện tri thức
Những ký hiệu này gồm hằng số, vị từ, biến và hàm.
Hằng số: Các hằng số dùng để đặt tên các đối tượng đặc biệt hay thuộc tính Nhìn chung, các hằng số được ký hiệu bằng chữ viết thường, chẳng hạn an, bình, nhiệt độ Hằng số an có thể được dùng để thể hiện đối tượng An, một người đang xét.
Vị từ: Một mệnh đề hay sự kiện trong logic vị từ được chia thành 2 phần là vị từ
và tham số Tham số thể hiện một hay nhiều đối tượng của mệnh đề; còn mệnh đề
dùng để khẳng định về đối tượng Chẳng hạn mệnh đề "Nam thích Mai" viết theo vị từ
sẽ có dạng:
thích(nam, mai)
Với cách thể hiện này, người ta dùng từ đầu tiên, tức "thích", làm vị từ Vị từ chobiết quan hệ giữa các đối số đặt trong ngoặc Đối số là các ký hiệu thay cho các đối tượng của bài toán Theo quy ước chuẩn, người ta dùng các chữ thường để thể hiện cácđối số
Biến: Các biến dùng để thể hiện các lớp tổng quát của các đối tượng hay thuộc
tính Biến được viết bằng các ký hiệu bắt đầu là chữ in hoa Như vậy, có thể dùng vị từ
có biến để thể hiện nhiều vị từ tương tự
Hàm: Logic vị từ cũng cho phép dùng ký hiệu để biểu diễn hàm Hàm mô tả một
ánh xạ từ các thực thể hay một tập hợp đến một phần tử duy nhất của tập hợp khác Ví
Trang 8mẹ(sơn) = Mai
Phép toán: Logic vị từ cũng dùng các phép toán như logic mệnh đề
Ví dụ: thích(X,Y) AND thích(Z,Y) -> thích(X,Z)
Việc lập luận theo cách không hình thức đòi hỏi một khả năng rút ra được kết luận từ các sự kiện đã có Việc lấy ra thông tin mới từ các thông tin đã biết và các luật
là trọng tâm của lập luận trong các hệ chuyên gia Quá trình lập luận được hình thức hoá trong bài toán suy luận
1.3.2 Biểu diễn tri thức dựa trên hệ luật dẫn (luật sinh)
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 – hành động : "NẾU điều kiện xảy ra THÌ hành động sẽ được
thi hành" Chẳng hạn : NẾU đèn giao thông là đỏ THÌ bạn không được đi thẳng, NẾU máy tính đã mở mà không khởi động được THÌ kiểm tra nguồn điện, …
Ngày nay, các luật sinh đã trở nên phổ biến và được áp dụng rộng rãi trong nhiều hệ thống trí tuệ nhân tạo khác nhau Luật sinh có thể là một công cụ mô tả để giải quyết các vấn đề thực tế thay cho các kiểu phân tích vấn đề truyền thống Trong trường hợp này, các luật được dùng như là những chỉ dẫn (tuy có thể không hoàn chỉnh) nhưng rất hữu ích để trợ giúp cho các quyết định trong quá trình tìm kiếm, từ
đó làm giảm không gian tìm kiếm Một ví dụ khác là luật sinh có thể được dùng để bắt chước hành vi của những chuyên gia Theo cách này, luật sinh không chỉ đơn thuần là một kiểu biểu diễn tri thức trong máy tính mà là một kiểu biễu diễn các hành vi của con người
Một cách tổng quát luật sinh có dạng như sau :
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 P2 AND 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 :
Trang 9ONE → một
TWO → hai
JANUARY → tháng một
Để biễu diễn một tập luật sinh, người ta thường phải chỉ rõ hai thành phần chính sau :
Ví dụ : Cho 1 cơ sở tri thức được xác định như sau :
Các sự kiện : A, B, C, D, E, F, G, H, K
Tập các quy tắc hay luật sinh (rule)
Cơ chế suy luận trên các luật sinh
Trang 10Suy 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
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
• Không sử dụng được máy tính
• Điện vào máy tính "có" hay "không"
Trang 11Để xác định được các nguyên nhân gây ra sự kiện "không sử dụng được máy tính", ta phải xây dựng một cấu trúc đồ thị gọi là đồ thị AND/OR như sau :
Hình 1.1: Luật dẫn không sử dụng máy tính được
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ùngtrự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)
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 thaotá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
Trang 12Quy 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
Một luật dẫn A → B được gọi là thừa nếu có thể suy ra luật này từ những luật còn lại
Ví dụ : trong tập các luật gồm {A → B, B → C, A → C} thì luật thứ 3 là luật thừa vì
nó có thể được suy ra từ 2 luật còn lại
Trang 13Thuậ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
Ưu điểm và nhược điểm của biểu diễn tri thức bằng luật
Ưu điểm
Biểu diễn tri thức bằng luật đặc biệt hữu hiệu trong những tình huống hệ thốngcần đưa ra những hành động dựa vào những sự kiện có thể quan sát được Nó có những ưu điểm chính yếu sau đây :
Trang 14Các luật rất dễ hiểu nên có thể dễ dàng dùng để trao đổi với người dùng (vì nó
là một trong những dạng tự nhiên của ngôn ngữ)
Có thể dễ dàng xây dựng được cơ chế suy luận và giải thích từ các luật
Việc hiệu chỉnh và bảo trì hệ thống là tương đối dễ dàng
Có thể cải tiến dễ dàng để tích hợp các luật mờ
Các luật thường ít phụ thuộc vào nhau
Cơ sở tri thức luật sinh lớn sẽ làm giới hạn khả năng tìm kiếm của chương trình điều khiển Nhiều hệ thống gặp khó khăn trong việc đánh giá các hệ dựa trên luật sinh cũngnhư gặp khó khăn khi suy luận trên luật sinh
1.3.3 Biểu diễn tri thức dựa trên mạng ngữ nghĩa
Mạng ngữ nghĩa là một phương pháp biểu diễn tri thức dùng đồ thị trong đó nút biểu diễn đối tượng và cung biểu diễn quan hệ giữa các đối tượng
Hình 1.2 "Sẻ là Chim" thể hiện trên mạng ngữ nghĩa
Người ta có thể nới rộng mạng ngữ nghĩa bằng cách thêm các nút và nối chúng vào đồ thị Các nút mới ứng với các đối tượng bổ sung Thông thường có thể nới rộng mạng ngữ nghĩa theo ba cách:
• Thêm một đối tượng tương tự.
• Thêm một đối tượng đặc biệt hơn.
• Thêm một đối tượng tổng quát hơn
Trang 15Thứ nhất, thêm "Cánh cụt" thể hiện một loại chim mới Thứ hai, thêm "Chip" cũng có nghĩa nó là con "Sẻ" và đồng thời là "Chim" Thứ ba, có thể đưa ra đối tượng
tổng quát như "Con vật" Lúc này, không những có thể biết được rằng "Chim là Con vật", mà còn biết "Chip thở bằng không khí"
Hình 1.3 Phát triển mạng ngữ nghĩa
Tính chất quan trọng của mạng ngữ nghĩa là tính kế thừa Nó cho phép các nút được bổ sung sẽ nhận các thông tin của các nút đã có trước, và cho phép mã hóa tri thức một cách dễ dàng
Để minh họa cho tính kế thừa của mạng ngữ nghĩa, hãy xét một câu hỏi trên đồ thị Chẳng hạn tại nút "Chim", người ta muốn hỏi con "Chip" hoạt động như thế nào? Thông qua cung hoạt động người ta biết được nó bay
Hình 1.4 Các bước thực hiện phép toán trên mạng ngữ nghĩa
Trang 16Cơ chế suy diễn thực hiện theo thuật tóan “loang” như sau
Bước 1: Kích hoạt các nút ứng với giả thiết cho ban đầu (những yếu tố đã có
giá trị)
Bước 2: lặp lại bước sau cho đến khi kích họat tất cả các đỉnh ứng với các yếu
tố cần tính (thành công) hoặc không thể kích họat được bất kỳ đỉnh nào nữa (thất bại)
Mô hình mạng ngữ nghĩa rất linh động, ta dễ dàng thêm các các đỉnh hoặc cung để bổ sung thêm tri thức Cách biểu diễn tri thức dạng đồ thị nên rất dễ hiểu Ngòai ra với cách biểu diễn này giữa các đỉnh còn thể hiện mối quan hệ “kế thừa” nếuthông qua quan hệ “là” Cùng với những ưu điểm trên thì cách biểu diễn này khá trừu tượng và khái quát, trong áp dụng phải phát triển các mô hình tri thức cụ thể hơn
Các mô hình biểu diễn tri thức theo mạng ngữ nghĩa:
Mạng tính tóan: Là một dạng biểu diễn tri thức về các vấn đề tính toán và
được áp dụng một cách có hiệu quả để giải quyết một số dạng bài tóan Mỗi mạng tínhtóan là một mạng ngữ nghĩa chứa các biến và những quan hệ có thể cài đặt sử dụng cho việc tính toán Mạng tính tóan gồm tập M và f
M: tập các biến trong miền giá trị số thực
f: tập các quan hệ giữa các biến
M = {x1,x2, ,xn},
F = {f1,f2, ,fm}
Đối với mỗi f ∈ F, ta ký hiệu M(f) là tập các biến có liên hệ trong quan hệ f
Và M(f) là tập con của M: M(f) ⊆ M
Nếu viết f dưới dạng f : u(f) → v(f) thì ta có M(f) = u(f) ∪ v(f)
Từ mô hình này theo tác giả Đỗ Văn Nhơn thì sẽ cần giải quyết các vấn đề :(1) Cho trước tập A M và B tập các biến bất kỳ Có thể xác định B từ tập A nhờ các quan
hệ trong F hay không?
(2) Nếu xác định được tập B thì quá trình tính tóan các biến của B được thực hiện như thếnào?
(3) Trong trường hợp không tìm được B thì cần bổ sung thêm điều kiện gì để có thể tìm được B
Mạng tính tóan cho ta thấy được cấu trúc nội bộ bên trong của một mạng Nhưng nếu xét trên bài tóan có nhiều mạng tính tóan thì mô hình này chưa thể hiện một cách đầy đủ các quan hệ , liên kết giữa các mạng tính tóan này
Mạng các đối tượng tính toán:
Một mạng tính tóan còn gọi là đối tượng tính tóan (ký hiệu O) Một mạng các đối tượng tính tóan bao gồm tập các đối tượng tính tóan
O = {O1,O2, , On}và tập các quan hệ giữa các đối tượng tính toán
F = {f1,f2, , fm}
Trang 17Đặt: M(fi) = Tập các biến có liên quan với nhau bởi quan hệ fi.
Mô hình biểu diễn tri thức dạng này cho phép ta thực hiện tính tóan các biến của một hay nhiều đối tượng dựa trên tập biến của các đối tượng khác
1.3.4 Frame - khung
Khái niệm
Frame là một cấu trúc dữ liệu chứa đựng tất cả những tri thức liên quan đến một đối tượng cụ thể nào đó Frames có liên hệ chặt chẽ đến khái niệm hướng đối tượng (thực ra frame là nguồn gốc của lập trình hướng đối tượng) Ngược lại với các phương pháp biểu diễn tri thức đã được đề cập đến, frame "đóng gói" toàn bộ một đối tượng, tình huống hoặc cả một vấn đề phức tạp thành một thực thể duy nhất có cấu trúc Một frame bao hàm trong nó một khối lượng tương đối lớn tri thức về một đối tượng, sự kiện, vị trí, tình huống hoặc những yếu tố khác Do đó, frame có thể giúp ta mô tả khá chi tiết một đối tượng
Dưới một khía cạnh nào đó, người ta có thể xem phương pháp biểu diễn tri thức bằng frame chính là nguồn gốc của ngôn ngữ lập trình hướng đối tượng Ý tưởng của
phương pháp này là "thay vì bắt người dùng sử dụng các công cụ phụ như dao mở để
đồ hộp, ngày nay các hãng sản xuất đồ hộp thường gắn kèm các nắp mở đồ hộp ngay bên trên vỏ lon Như vậy, người dùng sẽ không bao giờ phải lo lắng đến việc tìm một thiết bị để mở đồ hộp nữa!" Cũng vậy, ý tưởng chính của frame (hay của phương pháp
lập trình hướng đối tượng) là khi biểu diễn một tri thức, ta sẽ "gắn kèm" những thao tác thường gặp trên tri thức này Chẳng hạn như khi mô tả khái niệm về hình chữ nhật,
Trang 18Frame thường được dùng để biểu diễn những tri thức "chuẩn" hoặc những tri thức được xây dựng dựa trên những kinh nghiệm hoặc các đặc điểm đã được hiểu biết cặn kẽ Bộ não của con người chúng ta vẫn luôn "lưu trữ" rất nhiều các tri thức chung
mà khi cần, chúng ta có thể "lấy ra" để vận dụng nó trong những vấn đề cần phải giải quyết Frame là một công cụ thích hợp để biểu diễn những kiểu tri thức này
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 frame 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
Trang 19Hình 1.5 Tính kế thừa trong FRAME
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ínhphâ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 20Hình 1 6 Một ví dụ biểu diễn các đối tượng hình học bằng frame
Các kiểu dữ liệu cơ bản :
Area : numeric; // diện tích
Height : numeric; //chiều cao
Perimeter : numberic; //chu vi
Side : numeric; //cạnh
Diagonal : numeric; //đường chéo
Radius : numeric; //bán kính
Angle : numeric; //góc