2 Các hành vi liên quan đến sự suy diễn và tính toán trên các thuộc tính của đối tượng hay trên các sự kiện như: 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
Trang 1TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
PHÒNG ĐÀO TẠO SAU ĐẠI HỌC
ĐỒ ÁN MÔN HỌC BIỂU DIỄN TRI THỨC VÀ SUY LUẬN
NGHIÊN CỨU LÝ THUYẾT MỘT SỐ MÔ HÌNH BIỂU DIỄN TRI THỨC (COKB VÀ ĐỒ THỊ KHÁI NIỆM)
VÀ ỨNG DỤNG ĐỒ THỊ KHÁI NIỆM VÀO VIỆC XÂY
DỰNG HỆ TRUY VẤN Giảng viên hướng dẫn: PGS TS ĐỖ VĂN NHƠN
Học viên thực hiện: NGUYỄN VĂN KIỆT
BIỂU DIỄN TRI THỨC VÀ SUY LUẬNTP Hồ Chí Minh, tháng 3 năm 2014 Trang 1
Trang 2Em xin chân thành cảm ơn PGS.TS Đỗ Văn Nhơn, người Thầy giảng dạy vàhướng dẫn khoa học đầy tâm huyết Thầy giảng dạy chúng tôi từ kiến thức chuyênmôn cho đến phương pháp nghiên cứu khoa học Thầy luôn tạo điều kiện tốt nhất đểchúng tôi phát huy khả năng học tập và nghiên cứu.
Xin cảm ơn tất bạn bè đã và đang động viên, giúp đỡ tôi trong quá trình họctập và hoàn thành đồ án môn học này
TP Hồ Chí Minh, tháng 3 năm 2014
Nguyễn Văn Kiệt
Trang 3MỞ ĐẦU 1
CHƯƠNG 1: TỔNG QUAN VỀ CÁC MÔ HÌNH BIỂU DIỄN TRI THỨC 2
1.1 Trí tuệ nhân tạo và hệ chuyên gia 2
1.2 Một số phương pháp biểu diễn tri thức truyền thống 6
CHƯƠNG 2: MÔ HÌNH BIỂU DIỄN COKB 12
2.1 Định nghĩa đối tượng tính toán (C-Object) 12
2.3 Mô hình tri thức các đối tượng tính toán (COKB) 13
2.4 Một số vấn đề trên mạng các đối tượng 17
2.5 Kỹ thuật thiết kế hệ cơ sở tri thức 26
2.6 Ưu và nhược điểm của mô hình COKB 29
2.7 Khảo sát một số ứng dụng của mô hình COKB 31
CHƯƠNG 3: ĐỒ THỊ KHÁI NIỆM 47
3.1 Khái niệm 47
3.2 Node khái niệm 50
3.3 Quan hệ thuộc về khái niệm 53
3.4 Tổng quát hóa và chuyên môn hóa 54
3.5 Node mệnh đề 56
3.6 Đồ thị khái niệm và Logic 58
CHƯƠNG 4: ỨNG DỤNG ĐỒ THỊ KHÁI NIỆM VÀO VIỆC XÂY DỰNG HỆ TRUY VẤN 61
4.1 Phát biểu ứng dụng 61
4.2 Mô hình xây dựng 61
4.3 Qui trình xây dựng chương trình 63
4.4 Cài đặt, thử nghiệm và đánh giá 66
CHƯƠNG 5: KẾT LUẬN 72
5.1 Kết luận 72
5.2 Hướng phát triển 72
TÀI LIỆU THAM KHẢO 73
PHỤ LỤC: CHƯƠNG TRÌNH DEMO ỨNG DỤNG HỆ TRUY VẤN 75
Trang 5Bảng 2.1: Liệt kê các ưu khuyết của các phương pháp biễu diễn tri thức 30
Trang 6Hình 2.1 : Cấu trúc của hệ chuyên gia (Trích từ “Intelligent Problem Solvers in
Education: Design Method and Applications” – Đỗ Văn Nhơn - 2011) 5
Hình 2.1: Cấu trúc của một hệ thống 26
Hình 3.1 Một vài kiểu quan hệ trong CGs 48
Hình 3.2 “Đồ thị khái niệm” của câu “Mary gave John the book” 49
Hình 3.3 CGs chỉ rõ rằng dog named emma is brown 50
Hình 3.4 CGs chỉ rõ rằng một cá thể cụ thể (nhưng không có tên) dog is brown 51
Hình 3.5 “Dog named emma is brown” 51
Hình 3.6 CGs của một người có 3 tên khác nhau 52
Hình 3.7 Cá thể không xác định 52
Hình 3.8 CGs của câu “The dog scratches its ear with its paw.” 53
Hình 3.9 Các kiểu quan hệ trong CGs 53
Hình 3.10 “Mary buy a book” 54
Hình 3.11 Mô tả các phép toán sử dụng trên CGs 55
Hình 3.12 CGs của câu “Tom believes that Jane likes pizza” 57
Hình 3.13 “Tom can go” 58
Hình 3.14 “Tom must go” 58
Hình 3.15 “Tom went” 58
Hình 3.16 CGs của câu “There are no pink dogs” 59
Trang 7Hình 4.2: Minh họa cơ sở dữ liệu sách 63
Hình 4.3: Cơ sở dữ liệu sách được biểu diễn dưới dạng đồ thị khái niệm 66
Hình 4.4: Mô tả hệ thống truy vấn dữ liệu dự trên ngôn ngữ tự nhiên 67
Hình PL.1: Chương trình Demo hệ truy vấn thông tin về sách 75
Trang 8MỞ ĐẦU
Trong báo cáo này, em nghiên cứu hai mô hình biểu diễn tri thức: môn hìnhbiểu diễn tri thức COKB (Computational Object Knowledge Base) và đồ thị kháiniệm (Conceptual Graph)
- Nghiên cứu cơ sở lý thuyết về mô hình biểu diễn tri thức COKB, phân tích ưunhược điểm của mô hình so với những mô hình khác và tìm hiểu một số ứngdụng
- Nghiên cứu cơ sở lý thuyết đồ thị khái niệm
- Xây dựng hệ truy vấn dựa trên ngữ nghĩa hình thức và đồ thị khái niệm Mộtứng dụng cụ thể - Công cụ tra cứu thông tin sách
Trang 9CHƯƠNG 1 TỔNG QUAN VỀ CÁC MÔ HÌNH BIỂU DIỄN TRI THỨC
Các kiến thức về trí tuệ nhân tạo, hệ chuyên gia và các mô hình biểu diễn trithức truyền thống dựa trên các tài liệu: [1], [2] và [3]
1.1 Trí tuệ nhân tạo và hệ chuyên gia
1.1.1 Trí tuệ nhân tạo.
Trí tuệ nhân tạo là lĩnh vực khoa học chuyên nghiên cứu các phương phápchế tạo trí tuệ máy sao cho giống trí tuệ của con người
Hai thành phần cơ bản trong bất kì một hệ thống trí tuệ nhân tạo là:
- Các phương pháp biểu diễn vấn đề, các phương pháp biểu diễn trithức
- Các phương pháp tìm kiếm trong không gian bài toán, các chiến lượcsuy diễn
Có thể phân chia các hệ thống trí tuệ nhân tạo như sau:
1 Các hệ tìm kiếm thông tin, các hệ thống hỏi đáp thông minh cho phép hộithoại giữa những người sử dụng đầu cuối không chuyên tin với cơ sở trithức và cơ sở dữ liệu thông qua ngôn ngữ chuyên ngành gần với ngôn ngữ
Trang 10Vai trò của TTNT: Trí tuệ nhân tạo tạo cho máy tính khả năng suy nghĩ Nhờđơn giản hóa phương cách kết hợp các chương trình với nhau, trí tuệ nhân tạo có thể
mô phỏng quá trình học của con người, trên cơ sở đó thu nạp được những thông tinmới phục vụ cho quá trình suy diễn sau đó Có thể thấy rẳng bộ não của con người
có thể tích hợp những tri thức mới, mà không cần thay đổi cách làm việc, cách suydiễn trong bộ não hoặc loại đi những sự kiện đã được lưu trữ trước đó Các chươngtrình trí tuệ nhân tạo cũng hoạt động tương tự như vậy, tức là những cải biên đối vớicác chương trình trí tuệ nhân tạo dễ cài đặt hơn nhiều so với khi thực hiện với cácchương trình truyền thống
- Tri thức chuyên gia: Tri thức giải bài toán trong hệ chuyên gia là tri thức thuthập từ người chuyên gia
- Tập trung nguồn chuyên gia: Người chuyên gia chỉ có khả năng giải quyếtcác vấn đề trong lĩnh vực chuyên môn của họ, còn các vấn đề ngoài lĩnhvực chuyên môn này họ không có khả năng Giống như cách giải quyết vấn
đề của người chuyên gia, hệ chuyên gia chỉ giải quyết được các vấn đềtrong lĩnh vực chuyên môn
- Xử lí tri thức bằng kí hiệu: Tri thức giải bài toán trong hệ chuyên gia được
mã hóa bằng kí hiệu và xử lí những kí hiệu này trên cơ sở lập luận logic
- Xử lí tri thức với heuristics: Người chuyên gia có rất nhiều kinh nghiệm giảiquyết vấn đề trong lĩnh vực chuyên môn của họ Với kinh nghiệm này giúp
họ giải quyết vấn đề rất nhanh Giống như các giải quyết vấn đề của người
Trang 11chuyên gia, các hệ chuyên gia hầu hết đều sử dụng thông tin heuristic thuthập được từ kinh nghiệm của người chuyên gia giúp hệ giải quyết vấn đềnhanh nhất và hiệu quả nhất.
- Xử lí tri thức không chắc chắn: Hơn 80% ứng dụng trong thực tế không thểgiải quyết được bằng các phương pháp lập luận chắc chắn Hệ chuyên gia cóthể giải quyết được ứng dụng này nhờ vào các phương pháp xử lí tri thứckhông chắc chắn
- Bài toán giải được: Hệ chuyên gia chỉ giải được bài toán nào mà ngườichuyên gia giải được
- Mức phức tạp vừa phải: Không nên thiết kế một hệ chuyên gia để giải quyếtvấn đề quá đơn giản và cũng không nên mong đợi hệ chuyên có thể giải quyếtvấn đề quá phức tạp ngoài khả năng giải quyết vấn đề của người chuyên gia
- Chấp nhận sai lầm: Người chuyên gia giải quyết vấn đề đôi lúc cũng mắc sailầm, vì thế ta phải chấp nhận một số rủi ro khi sử dụng hệ chuyên gia
Cấu trúc hệ chuyên gia :
Giống như cơ chế làm việc của người chuyên gia, cấu trúc hệ chuyên giađược mô tả như hình
Trang 12Hình 2.1 : Cấu trúc của hệ chuyên gia (Trích từ “Intelligent Problem Solvers
in Education: Design Method and Applications” – Đỗ Văn Nhơn - 2011)
+ Cơ sở tri thức: là phần của hệ chuyên gia chứa miền tri thức để giảiquyết vấn đề Nó được lưu trữ dưới dạng máy tính có thể đọc được,gồm các khái niệm, các đối tượng, các quan hệ, các toán tử, các hàm,các luật và các sự kiện
+ Động cơ suy diễn: Hệ chuyên gia mô hình hóa quá trình xử lý lý giảinhư con người Vì thế động cơ suy diễn chính là bộ xử lý trong hệchuyên gia xác định vấn đề và sử dụng các chiến lược suy luận thíchhợp để dẫn đến kết luận về bài toán từ các luật và sự kiện được chứatrong vùng nhớ làm việc và miền tri thức được chứa trong cơ sở trithức
+ Vùng nhớ làm việc: là phần của hệ chuyên gia chứa các dữ liệu trongquá trình làm việc của hệ thống Nó cũng lưu trữ các dữ liệu, sự kiện
và luật trong quá trình tìm kiếm và suy luận của động cơ suy diễn
+ Giao diện người dùng : Thực hiện giao tiếp giữa hệ chuyên gia vàngười sử dụng Người sử dụng nhập vào câu truy vấn, hướng dẫn, vấnđề,…, sau quá trình suy luận, xử lý thì giao diện sẽ hiện ra câu trả lờibằng ngôn ngữ mà con người có thể hiểu được
+ Bộ giải thích : Giải thích các giai đoạn, khái niệm trong quá trình giảiquyết vấn đề
+ Bộ quản lý tri thức : Hỗ trợ cập nhật tri thức trong cơ sở tri thức, tìmkiếm và kiểm tra tính đúng đắn của tri thức
1.2 Một số phương pháp biểu diễn tri thức truyền thống
1.2.1 Phương pháp biểu diễn tri thức theo logic vị.
Khái niệm.
Trang 13Mô hình chung:
(Predicates, Clauses)
Trong đó
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ị
Ví dụ: gioi(x:sinhvien).
vg(v: vector, P: plane).
Phương pháp này sử dụng các biểu thức logic hình thức để diễn đạt các sựkiện và các luật trong cơ sở tri thức Các thủ tục chứng minh sẽ áp dụng kiến thứcvào các bài toán cụ thể Phép tính logic vị từ cấp 1 được sử dụng phổ biến nhất và có
cả một ngôn ngữ lập trình hỗ trợ cho phương pháp này, đó là lập trình Prolog
1.2.2 Phương pháp biểu diễn tri thức bằng hệ luật dẫn.
Trang 14trú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 đithẳng, NẾU máy tính đã mở mà không khởi động được THÌ kiểm tra nguồn điện,v.v
Ngày nay, các luật sinh đã trở nên phổ biến và được áp dụng rộng rãi trongnhiề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 Trongtrườ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ànchỉ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ỉ đơnthuầ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áchà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, … P n ,Qlà 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∧P2∧…∧P n)THEN Q
- Trong lý thuyết ngôn ngữ tự nhiên, mỗi luật sinh là một phép dịch
ONE ⟶ 1 TWO ⟶ 2 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ầnchính sau :
(1) Tập các sự kiện F (Facts)
Trang 15- Rất khó theo dõi sự phân chia, không hiểu quả trong những hệ thống lớn,
không thể biễu diễn được mọi loại tri thức, rất yếu trong việc biểu diễncác tri thức dạng mô tả, có cấu trúc
1.2.3 Phương pháp biểu diễn tri thức bằng mạng ngữ nghĩa.
Khái niệm.
Mạng tính toán là một dạng biểu diễn tri thức có thể dùng biểu diễn các trithứ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 một sốdạng bài toán Mỗi mạng tính toán là một mạng ngữ nghĩa chứa các biến và những
toán gồm một tập hợp các biến cùng với một tập các quan hệ (chẳng hạn các côngthức) tính toán giữa các biến Trong ứng dụng cụ thể mỗi biến và giá trị của nóthường gắn liền với một khái niệm cụ thể về sự vật, mỗi quan hệ thể hiện một sự trithức về sự vật
Cho M={x1, x2, … x m} là một tập hợp biến có thể lấy giá trị trong các miền xácđịnh tương ứng D1, D2, … D m Đối với mỗi quan hệ R ⊆ D1× D2× …× D m trên các tậphợp D1, D2, … D m ta nói rằng quan hệ này liên kết các biến x1, x2, … x m và ký hiệu là
R(x1, x2, …x m) hay vắn tắt là R(x ) (ký hiệu x dùng để chỉ bộ biến
Trang 16¿x1, x2, … x m>¿ Ta có thể thấy rằng quan hệ R(x ) có thể được biểu diễn bởi một ánh
xạ f R , u , v với u ∪v =x, và ta viết : f R , u , v :u ⟶ v, hay vắn tắt là f :u ⟶ v
Đối với các quan hệ dùng cho việc tính toán, cách ký hiệu trên bao hàm ý nghĩa như
là một hàm: ta có thể tính được giá trị của các biến thuộc v khi biết được giá trị củacác biến thuộc u
- Đối với các bài toán mà sử dụng nhiều các đối tượng tính toán bài toán trởnên phức tạp, việc giải quyết bài toán bằng mạng tính toán trở nên khókhăn cho người lập trình
1.2.4 Phương pháp biểu diễn tri thức bằng Frame.
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 đếnmột đối tượng cụ thể nào đó Frames có liên hệ chặt chẽ đến khái niệm hướng đốitượ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ácphương pháp biểu diễn tri thức đã được đề cập đến, frame "đóng gói" toàn bộ một
Trang 17đố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 trithứ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, ta sẽ gắn kèm cách tính chu vi, diện tích
Frame thường được dùng để biểu diễn những tri thứ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ểubiế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ứcchung mà khi cần, chúng ta có thể "lấy ra" để vận dụng nó trong những vấn đề cầnphả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ứcnày
Nhận xét.
- 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ácmối liên hệ, dễ dàng tạo ra các thủ tục chuyên biệt hóa, dễ đưa vào các thôngtin 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
- Khó lập trình, khó suy diễn, thiếu phần mềm hỗ trợ
Trang 18Với những ưu điểm và khuyết điểm của những mô hình biểu diễn tri thứctruyền thống, mà các nhà khoa học máy tính đã cho ra những mô hình mới phù hợp
và khắc phục được những khuyết điểm của mô hình truyền thống Trong báo cáonày, tôi xin được giới thiệu 2 mô hình mới:
- Mô hình biểu diễn tri thức các đối tượng tính toán (COKB) do PGS TS
Đỗ Văn Nhơn đã xây dựng và phát triển từ năm 2002 Mô hình này tỏ ra hiệu quảvới những hệ giải toán tự động
- “Đồ thị khái niệm” (Conceptual Graph) do John Sowa là người đề xuất,
là một mạng biểu diễn ngôn ngữ hiện đại Mục đích của đồ thị khái niệm là quychiếu những nhận thức vào một hệ thống biểu diễn và suy luận trừu tượng
Hai mô hình này sẽ được trình bày chi tiết về cơ sở lý thuyết và cũng như ứngdụng trong các chương kế tiếp
Trang 19CHƯƠNG 2
MÔ HÌNH BIỂU DIỄN COKB
Cơ sở lý thuyết mô hình biểu diễn tri thức các đối tượng tính toán dựa trêncác bài báo khoa học và tài liệu: [4], [5], [6], [7] và [8]
2.1 Định nghĩa đối tượng tính toán (C-Object)
Một đối tượng tính toán (C-Object) là một đối tượng O có cấu trúc bao gồm:
(1) Một danh sách các thuộc tính Attr(O)=x1, x2, , x n trong đó mỗi thuộc tínhlấy giá trị trong một miền xác định nhất định, và giữa các thuộc tính ta có cácquan 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ínhtoán
(2) Các hành vi liên quan đến sự suy diễn và tính toán trên các thuộc tính của
đối tượng hay trên các sự kiện như:
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ừ Atrong đối tượng O
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.2 Mô hình cho một C-Object
Trang 20Một C-Object có thể được mô hình hoá bởi một bộ
(Attrs , F , ,!Rule)
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.3 Mô hình tri thức các đối tượng tính toán (COKB)
Để có một mô hình biểu diễn tri thức rộng hơn có thể sử dụng trong việc xâydựng một hệ cơ sở tri thức và giải toán về các C-Object ta cần phải xem xét kháiniệm C-Object trong một hệ thống các khái niệm C-Object cùng với các loại sự kiện,các loại quan hệ khác nhau và các dạng luật khác nhau liên quan đến chúng
Mô hình tri thức các C-Object , viết tắt là mô hình COKB (Computational ObjectsKnowledge Base), là một hệ thống (C, H, R, Ops, Funcs, Rules) gồm:
2.3.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ộctính thuộc kiểu thực (ví dụ như DIEM không có thuộc tính giá trị thựctrong hình học phẳng) Các đối tượng loại này làm nền cho các đối tượngcấ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ơ
Trang 21bả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ạireal và các thuộc tính thuộc loại đối tượng cấp 1, và đối tượng có thểđược thiết lập trên một danh sách nền các đối tượng cơ bản Ví dụ:TAM_GIAC[A,B,C] và TU_GIAC[A,B,C,D], trong đó A, B, C, D là cácđối tượng cơ bản loại DIEM
Cấu trúc bên trong của mỗi lớp đối tượng gồm:
- Kiểu đối tượng Kiểu này có thể là loại kiểu thiết lập trên một danh sách
nền các đối tượng cơ bản
- Danh sách các thuộc tính, 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
- Quan hệ trên cấu trúc thiết lập Quan hệ này thể hiện các sự kiện về sự
liên hệ giữa đối tượng và các đối tượng nền (tức là các đối tượng thuộcdanh sách đối tượng nền)
- 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 liên quan đến các thuộc tính của đối tượng.
Mỗi tính chất này cho ta một sự kiện của đối tượng
- Tập hợp các quan hệ suy diễn - tính toán 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ínhnày từ một số 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ếtcác sự kiện kết luận
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,
Trang 22bả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(nếu đối tượng được thiết lập trên một danh sách các đối tượng nền nào đó)
2.3.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áiniệ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âncũ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
2 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
3 Một tập hơp Ops các toán tử.
Các toán tử cho ta một số phép toán trên các biến thực cũng như trên các đối tượng,chẳng hạn các phép toán số học và tính toán trên các đối tượng đoạn và góc tương tựnhư đối với các biến thực
4 Một tập hợp Funcs các hàm liên quan.
Thể hiện tri thức và quy tắc tính toán trong hình học giải tích 2 chiều
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
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
Trang 23Để mô hình luật dẫn trên có hiệu lực trong cơ sở tri thức và để có thể khảo sát cácthuật giải để giải quyết các bài toán, ta cần định nghĩa các dạng sự kiện khác nhautrong các luật Dưới đây là định nghĩa cho 6 loại sự kiện khác nhau được xem xéttrong mô hình.
[1] Sự kiện thông tin về loại của một đối tượng
[2] Sự kiện về tính xác định của một đối tượng (các thuộc tính coi như đãbiết) hay của một thuộc tính
[3] Sự kiện về sự xác định của một thuộc tính hay một đối tượng thông quamột biểu thức hằng
[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 mộtđối tượng hay một thuộc tính khác Sự bằng nhau này giữa 2 đối tượng
sẽ được hiểu theo nghĩa là các thuộc tính tương ứng của chúng bằngnhau
[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 theonhững đối tượng hay các thuộc tính khác thông qua một công thức tínhtoán
[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ủacác đối tượng
[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ượngkhác thông qua một công thức tính toán
Một ví dụ áp dụng của mô hình COKB là biểu diễn tri thức về các tam giác
và tứ giác trong hình học phẳng theo mô hình tri thức về các C-Object ([3]) Mộtphần lớn kiến thức về hình học giải tích 3 chiều hay kiến thức về các phản ứng hóa
Trang 24học cũng có thể được biểu diễn theo mô hình này Cách biểu diễn kiến thức theo môhình này có nhiều ưu điểm thuận lợi cho việc thiết kế một cơ sở tri thức truy cậpđược dễ dàng bởi các môđun quản trị tri thức cũng như các môđun giải toán và tracứu kiến thức Đặc biệt là mô hình giúp ta có thể thiết kế các thuật giải để giải toán
tự động
Mô hình tri thức về các C-Object giúp ta có một tổ chức cơ sở tri thức chặcchẽ và tiện lợi cho việc hiệu chỉnh, truy cập cũng như cho việc sử dụng tri thức tronggiải tự động các bài toán Mô hình này thể hiện được ưu thế và lợi ích của chúngtrong việc thiết kế các chương trình giải bài toán thông minh dựa trên tri thức
2.4 Một số vấn đề trên mạng các đối tượng
Cho một mạng các đối tượng tính toán (O,F), trong đó O là tập hợp các đốitượng tính toán và F là tập hợp các quan hệ giữa các đối tượng Xét một tập hợp biến
1 Có thể xác định được tập B từ tập A nhờ các quan hệ trong F và các đối
tượng thuộc O hay không? Nói cách khác, ta có thể tính được giá trị của cácbiến thuộc B với giả thiết đã biết giá trị của các biến thuộc A hay không?
2 Nếu có thể xác định được B từ A thì quá trình tính toán giá trị của các biến
thuộc B như thế nào?
3 Trong trường hợp không thể xác định được B, thì cần cho thêm điều kiện gì
để có thể xác định được B
Tương tự như đối với một mạng tính toán, bài toán xác định B từ A trên mạng(O,F) được viết dưới dạng:
Trang 25A B
trong đó A được gọi là giả thiết, B được gọi là mục tiêu tính toán (hay tập biếncần tính) của bài toán Trường hợp tập B chỉ gồm có một phần tử b, ta viết vắn tắtbài toán trên là A b
Chúng ta có thể nhận thấy rằng nếu gộp lại tất cả các biến của các đối tượng
tượng cùng với các quan hệ giữa các đối tượng thành một tập các quan hệ thì ta cómột mạng tính toán như đã xét trong chương II Như vậy nếu đặt :
M (O , F )=M (O)
thì (M, F ) là một mạng tính toán; mạng này được gọi là mạng tính toán
tương ứng của mạng các đối tượng tính toán (O , F ).
Bài toán A Btrên mạng các đối tượng tính toán (O , F ) được gọi là giải được khi
bài toán đó là giải được trên mạng tính toán tương ứng (M , F ) , hay nói chung ta cóthể tính toán được giá trị các biến thuộc B xuất phát từ giả thiết A Tất nhiên một lờigiải của bài toán trên trên mạng (M , F ) cũng được xem là một lời giải trên mạngcác đối tượng Tuy nhiên lời giải đó có thể có chứa các quan hệ nội bộ bên trong củacác đối tượng mà nhiều khi ta không cần quan tâm chi tiết Do đó ta gọi một lời giải
như thế là một lời giải chi tiết của bài toán trên mạng các đối tượng tính toán Chẳng
hạn như trong tình huống nêu trong ví dụ sau đây:
Ví dụ 1 : Giả sử đang xét bài toán A B trên mạng các đối tượng (O , F ), và khigiải bài toán trên mạng tính toán (M , F ) tương ứng ta tìm được một lời giải gồm 10
quan hệ (thuộc F ) là f1, f2, , f10, trong đó ta có:
f1, f2, f7, f8, f10F
f2, f3F (O2),
f5, f6F (O1),
f9F (O2).
Trang 26Theo khái niệm nêu ở trên thì f1, f2, , f10 là một lời giải chi tiết của bài toán
A B Quá trình tính toán theo lời giải này có thể được biểu diễn như sau:
O i tương ứng Từ đó ta được một dãy chỉ gồm các quan hệ giữa các đối tượng (tức là
các quan hệ thuộc F) và các đối tượng; dãy này được gọi là một lời giải gọn (hay
vắn tắt là một lời giải) của bài toán trên mạng các đối tượng tính toán (O , F ).
Trong ví dụ trên f1, O2, f4, O1, f7, f 8 ,O 2 , f 10 là một lời giải (gọn) của bàitoán A B Quá trình tính toán theo lời giải này được biểu diễn như sau :
A=A0' A1' A2' A6' A7' A8'
trong đó ta có :
A0' A1' A2' A6' A7' A8' M
A8' B
Tóm lại ta nói rằng một dãy t1, t2, ,t k gồm các phần tử thuộc F hay thuộc O là
một lời giải của bài toán A B trên mạng (O , F ) nếu như ta lần lượt áp dụng các
trong quá trình giải, theo nghĩa là không thể bỏ bớt một số quan hệ hay đối tượng
trong lời giải Lời giải được gọi là lời giải tối ưu khi nó có số “bước tính toán” ít
nhất, tức là số quan hệ hay đối tượng áp dụng trong tính toán là ít nhất
Trang 27Việc tìm lời giải cho bài toán là việc tìm ra một dãy các quan hệ hay các đốitượng để có thể áp dụng tính ra được B từ A Điều này cũng có nghĩa là tìm ra đượcmột quá trình tính toán để giải quyết bài toán
2.5 Giải quyết vấn đề
2.5.1 Tính giải được của bài toán
Để xét tính giải được của bài toán A B trên mạng các đối tượng tính toán (O , F ) với
M là tập biến được xem xét, ta có thể khảo sát bài toán trên mạng tính toán (M , F )
tương ứng của mạng các đối tượng (O , F ). Theo cách này, ta tìm bao đóng ~A của Atrên mạng (M , F ) rồi xem bao đóng này có chứa B không Tuy nhiên, trong ~A có thểchứa các biến của các đối tượng mà ta không cần quan tâm; đó là các biến thuộc tậphợp ~A¿ Ở đây, trên mạng các đối tượng (O , F ), ta chỉ cần quan tâm đến tập hợpbiến lớn nhất trong M có thể tính được từ giả thiết A; và chúng ta có thể thấy rằngtập hợp biến lớn nhất này là tồn tại do tính hữu hạn của tập hợp M Từ đó ta có thểđịnh nghĩa bao đóng của của một tập hợp biến trên mạng các đối tượng tính toánnhư sau:
cho A M, một dãy D={t1, t2, … t m}⊆ F ∪O áp dụng được trên tập hợp A Đặt
Trang 28Cho một mạng các đối tượng tính toán (O , F ), M là tập biến được xem xét, A
và B là hai tập con của M Ta có các điều sau đây là tương đương:
(1) B ⊆ ´A
(2) Có một dãy D ⊆F ∪O thỏa các điều kiện:
(a) D áp dụng được trên A
Cuối cùng, liên quan đến tính giải được của bài toán ta nêu lên thuật toán tìmbao đóng của một tập biến trên mạng các đối tượng tính toán
Thuật toán: tìm bao đóng của tập A ⊆ M trên mạng các đối tượng tính toán (O , F ).
Nhập : Mạng các đối tượng tính toán (O , F ), M là tập biến được xét của
mảng A M.Xuất : A
2.5.2 Lời giải của bài toán
Xét bài toán A → Btrên mạng các đối tượng tính toán (O , F ). Chúng ta sẽ nêulên cách tìm một lời giải tốt cho bài toán theo cách tương tự như đối với một mạngtính toán Theo cách này công việc sẽ được tiến hành qua các giai đoạn sau đây :
1 Đầu tiên ta tìm một lời giải cho bài toán
2 Xuất phát từ một lời giải đã tìm được, tìm cách trích ra một lời giải tốt
Mệnh đề:
Trang 29Dãy D ⊆F ∪O là một lời giải của bài toán A → B khi và chỉ khi D áp dụngđược trên A và D ( A ) ⊇B
Do mệnh đề trên, để tìm một lời giải ta có thể làm như sau: Xuất phát từ giảthiết A, ta thử áp dụng các quan hệ giữa các đối tượng cùng với các đối tượng để
mở rộng dần tập các biến có giá trị được xác định cho đến khi đạt đến tập biến B.Tuy nhiên để định hướng nhanh hơn đến mục tiêu, quá trình trên có thể được tiếnhành theo thứ tự ưu tiên xem xét như sau :
1 Xét các quan hệ f ∈ Ftrước, rồi đến
2 Các đối tượng chứa yếu tố cần xác định, và cuối cùng là
3 Các đối tượng O i khác mà tập M i chưa được xác định hết
Dưới đây là thuật toán tìm một lời giải cho bài toán A → B trên mạng các đốitượng tính toán (O , F ) có tập biến được xem xét là M
Nhập : Mạng các đối tượng tính toán (O , F ), với tập biến là M,
tập giả thiết A ⊆ M,tập biến cần tính B ⊆ M
Xuất : lời giải cho bài toán A → B
Thuật toán :
// hay các đối tượng sẽ áp dụng
2 if B⊆ A then
begin
// giải đượcgoto 5;
end
Trang 30else
Solution found ← false;
3 Repeat
A old ← A;Chọn ra một f ∈ F chưa xem xét (trong bước 3 lần này);
while not Solution_found and (chọn được f) do begin
if ( f đối xứng and 0<Card (M(f )¿)≤ r (f ) ) or ( f không đối xứng and ⊘≠ M (f )¿⊆ v (f ) ) then
Until Solution_found or (A=A old);
4 if not Solution_found then
Trang 31end;
5 if not Solution_found then
Bài toán không có lời giải;
2 Lời giải (nếu có) tìm được trong thuật toán trên chưa chắc là một lời giải tốt Ta
có thể bổ sung thêm cho thuật toán ở trên thuật toán để tìm một lời giải tốt từ một lờigiải đã biết nhưng chưa chắc là tốt
Thuật toán 2: Tìm một lời giải tốt từ mới lời giải đã biết.
Nhập : Mạng các đối tượng tính toán (O , F ),
lời giải t1, t2, ,t m của bài toán A → B
Xuất : lời giải tốt cho bài toán A → B
Thuật toán :
1 D ←{t1,t2, …t m};
if D¿t i} là một lời giải then
D ← D¿t i};
3 D là một lời giải tốt
Trang 32Thuật toán kiểm tra lời giải cho bài toán :
Nhập : Mạng các đối tượng tính toán (O , F ),
{t1,t2, … t m} không là lời giải;
2.5 Kỹ thuật thiết kế hệ cơ sở tri thức
2.5.1 Cấu trúc hệ thống
Trang 33Hình 2.1: Cấu trúc của một hệ thống
Một hệ thống tìm kiếm, truy vấn và xử lý các bài toán cho một hệ giải toánthông minh nào đó, có cấu trúc giống như hệ chuyên gia Hệ thống sẽ gồm các thànhphần sau:
- Cơ sở tri thức: chứa các tri thức để xử lý một số bài toán trong một miền tri
thức đặc biệt nào đó
- Động cơ suy diễn: sẽ sử dụng các tri thức được lưu trữ trong cơ sở tri thức để
xử lý các bài toán, tìm kiếm hoặc trả lời các tri vấn Xác định vấn đề và chiếnlược suy diễn để tìm ra các luật đúng và các sự kiện để xử lý bài toán
- Bộ phận giải thích: cung cấp các giải thích cho các giai đoạn, các định nghĩa
trong quá trình xử lý bài toán
- Bộ nhớ làm việc: lưu trữ các sự kiện và các luật trong quá trình tìm kiếm và
suy diễn
- Quản lý tri thức: cập nhật tri thức đến cơ sở tri thức, cung cấp tìm kiếm tri
thức và kiểm tra tính phù hợp của tri thức
- Giao diện: giao tiếp giữa người dùng và hệ thống.
Trang 342.5.2 Kỹ thuật thiết kế
Quá trình phân tích và thiết kế các thành phần của hệ thống gồm các giaiđoạn sau:
Giai đoạn 1 : Thu thập tri thức thực tế cho mô hình COKB.
Giai đoạn 2 : Phân loại tri thức vừa mới thu thập ở bước 1 và phân tích các
yêu cầu xử lý tri thức
Giai đoạn 3 : Tổ chức cơ sở tri thức cho mô hình COKB và thiết kế ngôn ngữ
đặc tả Cơ sở tri thức được tổ chức trên các file text có cấu trúc Bao gồm cácfile 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
thể hiện quan hệ phân cấp đặc biệt hoá giữa các loại đối tượng C-Object
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 Object
tri thức của thành phần toán tử trên các đối tượng C-Object
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
thông tin về hảm trên các C-Object
các hàm trên các đối tượng và các sự kiện
Trang 35- 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>
Giai đoạn 4 : Mô hình hóa các vấn đề và thiết kế thuật giải
Vấn đề bài toán được trình bày sử dụng mô hình mạng các đối tượng tínhtoán gồm 3 thành phần :
Bước 3 : Mô hình hóa các loại bài toán từ các phân lớp trong bước 1 và 2
Từ các mô hình mỗi loại, chúng ta xây dựng mô hình tổng quát cho bàitoán
Giai đoạn 5 : Tạo các truy vấn ngôn ngữ cho mô hình Ngôn ngữ này giúp
giao tiếp giữa hệ thống và người dùng
Giai đoạn 6 : Thiết kế giao diện phần mềm và cài đặt phần mềm này bằng
cách sử dụng các công cụ : C#, SQL Server, …
Giai đoạn 7 : Kiểm tra, thử nghiệm và kiểm tra ứng dụng.
Trang 362.6 Ưu và nhược đ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:
Luật sinh Cú pháp đơn giản, dễ hiểu, diễn
dịch đơn giản, tính đơn thể cao,linh động (dễ điều chỉnh)
Rất khó theo dõi sự phân cấp,không hiệu quả trong những
hệ thống lớn, không thể biểudiễn được mọi loại tri thức, rấtyếu trong việc biểu diễn cáctri thức dạng mô tả, có cấutrúc
Mạng tính toán
Giải được hầu hết các bài toán
GT KL nếu như đáp ứng đầy
đủ các giả thiết cần thiết
Thuật toán đơn giản dễ cài đặtcho nên việc bảo trì hệ thốngtương đối đơn giản
Có thể xây dựng hệ thống suyluận và giải thích một cách rõràng và dễ hiểu
Không giải được các tri thứcphức tạp, lưu trữ khó khăn vànhập nhằng khi quản lý
Đồng thời việc xây dựng lạithuật toán là một việc tươngđối khó khăn bảo trì lạitoàn bộ hệ thống
Frame Có sức mạnh diễn đạt tốt, dễ cài
đặt các thuộc tính cho các slotcũng như các mối liên hệ, dễdàng tạo ra các thủ tục chuyênbiệt hóa, dễ đưa vào các thôngtin mặc định và dễ thực hiện
Khó lập trình, khó suy diễn,thiếu phần mềm hỗ trợ
Trang 37các thao tác phát hiện các giá trị
bị thiếu sót
Bảng 2.1: Liệt kê các ưu khuyết của các phương pháp biễu diễn tri thức
Ta nhận thấy “mô hình biểu diễn tri thức bằng Frame” là mô hình biểu diễn trithức tương đối đối hoàn thiện nhất trong tất cả các phương pháp Nhưng khuyết điểmcủa mô hình đó là khó lập trình và thiếu phần mềm hỗ trợ Trong khi ưu điểm của môhình COKB là:
môđun truy cập cơ sở tri thức
các khái niệm có thể được biểu diễn bởi các đối tượng tính toán
tự động
khai báo bài toán và đặc tả bài toán một cách tự nhiên
Với những ưu điểm trên mô hình COKB là mô hình lý tưởng để biểu diễn trithức thay thế cho các mô hình biểu diễn tri thức thông thường Ngoài ra, với sự hỗtrợ của công cụ Maple phần mềm đại số tính toán là ngôn ngữ lập trình chính đã hỗtrợ một phần rất lớn cho mô hình COKB
2.7 Khảo sát một số ứng dụng của mô hình COKB
2.7.1 Mô hình COKB cho hệ giải toán hình học giải tích 3 chiều
M = {C, H, R, Ops, Funcs, Rules}
- Tập C các khái niệm về đối tượng tính toán
Trang 38C = {điểm, vector, mặt phẳng, đường thẳng, đường elip, đường tròn, v.v }.
Khái niệm “điểm” là đối tượng cơ bản, có các thuộc tính kiểu thực là x, y,z(tọa độ của điểm)
Khái niệm “vector” là đối tượng cấp 1 Vector có các thuộc tính như x, y,z(tọa độ của vector) Vector được thiết lập trên một danh sách nền gồm 2đối tượng “điểm” Giả sử vector v được thiết lập từ cặp điểm (A, B) thì ta
có quan hệ trên cấu trúc được thiết lập như sau: v.x = B.x – A.x, v.y = B.y– A.y, v.z = B.z – A.z
Khái niệm “mặt phẳng” và “đường thẳng” là các khái niệm cấp 2 Mặtphẳng có thể được thiết lặp từ một danh sách các đối tượng nền gồm 3điểm không thẳng hàng, và đường thẳng có thể được thiết lặp từ một danhsách các đối tượng nền gồm 2 điểm không trùng nhau
“đường elip” và “đường tròn” cũng là đối tượng cấp 2
- Tập H thể hiện quan hệ phân cấp trên các khái niệm về các CO – Object
Một số quan hệ phân cấp như là :
“đường tròn” là một “elip” đặc biệt”
Điểm, vector, đường thẳng, mặt phẳng phân cấp quan hệ theo sơ đồ Hassesau:
- Tập R thể hiện các loại quan hệ giữa các CO – Object
Giữa các loại CO – Object ta cũng có các loại quan hệ sau:
Quan hệ “thẳng hàng” của 3 điểm, 4 điểm,
Quan hệ “song song” giữa 2 vector
Quan hệ “vuông góc” giữa hai vector
Quan hệ “thuộc” giữa điểm và mặt phẳng
Quan hệ “song song” giữa vetcor và mặt phẳng
Quan hệ “vuông góc” giữa vector và mặt phẳng
Trang 39+ Phép toán tích vô hướng của 2 vector.
+ Phép toán tích hữu hướng của 2 vector
+ Phép tính tích hỗn hợp của 3 vector Phép tính này nếu thể hiện dướidạng toán tử thì đây là toán tử 3 ngôi Ta cũng có thể biểu diễn toán tử nàydưới dạng hàm và đặt trong thành phần Funcs của mô hình COKB
- Tập Funcs các hàm trên các CO – Object
Nhiều khái niệm của hình học giải tích 3 chiều chỉ các qui tắc tính toán nhấtđịnh từ các CO – Object Các khái niệm này được hiện thực hóa thành các hàm như:
Hàm tính khoảng cách giữa hai điểm
Hàm tính khoảng cách giữa điểm và mặt phẳng
Hàm giao tuyến của 2 mặt phẳng(trường hợp 2 mặt phẳng cắt nhau)
Hàm tính giao điểm của 2 đường thẳng(trường hợp hai đường thẳng cắtnhau
Hàm tính điểm đối xứng của một điểm qua một mặt phẳng
- Tập Rules các luật dẫn
Hầu hết các tính chất, mệnh đề, định lý trong hình học giải tích 3 chiều có thểđược biểu diễn dưới dạng các luật dẫn trên các sự kiện(được phân loại) liên quanđến các loại CO – Object được biểu diễn bởi tập C Dưới đây là một số luật dẫn cụthể:
{u: “vector”, v: “vector”, w: “vector”, u “vuông góc” v, u “song song” w}
{v “vuông góc” w}
{M: “điểm”, v: “vector”, P: “mặt phẳng”, M xác định, v xác định, M
“thuộc” P, v “vuông góc” P} {P xác định}
{u: “vector”, v: “vector”, u*v = 0} {u “vuông góc” v}
{A: “điểm”, B: “điểm”, P: “mặt phẳng”, B = diem_dx(A, P)} {distance(A, P) = distance(B, P)}
Trong đó diem_dx(A, P) là hàm tính điểm đối xứng của A qua mặt phẳng P
Trang 402.7.2 Mô hình tri thức về hình học giải tích 2 chiều
Ứng dụng này được xây dựng từ công trình []
Xây dựng mô hình dựa trên mô hình tri thức COKB (Computational ObjectsKnowledge Base) gồm 5 thành phần :
(C, R, Ops, Funcs, Rules)
Mô hình tri thức về hình học giải tích hai chiểu sử dụng tất cả 11 loại sự kiệncủa mô hình COKB 6 thành phần Cụ thể như sau:
Các loại sự kiện
[1] Sự kiện thông tin về loại của đối tượng
Cấu trúc sự kiện: [<object>, <loại object>].
Ví dụ: [d,”DuongThang”], [a,”Vecto”]
[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ấu trúc sự kiện:<object> hay <object>.<thuộc tính>