Trong khi tri thức cần được biểu diễn trong các ứng dụng, hay một hệ chuyên gia là rất đa dạng và thường bao gồm những khái niệm từ đơn giản, đến những khái niệm phức tạp, các quan hệ gi
Trang 1MỤC LỤC
Chương 1:TỔNG QUAN VỀ BIỂU DIỄN TRI THỨC VÀ MÔ HÌNH COKB 3
1.1 Tổng quan về biểu diễn tri thức 3
1.2 Mô hình tri thức các đối tượng tính toán (COKB) 5
1.2.1 Mô hình: 5
1.2.2 Sự kiện trong mô hình COKB 6
1.2.3 Tổ chức cơ sở tri thức theo mô hình COKB 8
1.2.4 Ưu - khuyết điểm của mô hình COKB 9
1.3 Một số kết quả về phương pháp giải quyết vấn đề trên COKB 10
1.4 Mục Tiêu Đề Tài 12
Chương 2: MÔ HÌNH COKB VÀ PHƯƠNG PHÁP GIẢI QUYẾT VẤN ĐỀ LIÊN QUAN ĐẾN TRI THỨC HÀM 13
2.1 Thành phần hàm trong mô hình COKB 13
2.1.1 Phân loại hàm và Đặc tả 14
2.1.2 Nguyên tắc hoạt động của hàm 17
2.2 Mô hình bài toán và thuật giải 18
2.2.1 Mô hình bài toán 18
2.2.2 Thuật giải 21
Chương 3: MÔ HÌNH COKB VÀ PHƯƠNG PHÁP GIẢI QUYẾT VẤN ĐỀ LIÊN QUAN ĐẾN TRI THỨC TOÁN TỬ 27
3.1 Mô hình tri thức toán tử 27
3.1.1 Giới thiệu 27
3.1.2 Mô hình tri thức toán tử 27
3.2 Mô hình bài toán và thuật giải 35
3.2.1 Mô hình bài toán 35
3.2.2 Thuật giải tìm lời giải cho bài toán 37
Trang 2Chương 4:ỨNG DỤNG 43
4.1 Hệ hỗ trợ giải bài tập kiến thức Hình học không gian 43
4.2.1 Thiết kết cơ sở tri thức Hình học không gian 43
4.1.2 Thiết kế bộ suy diễn 47
4.2 Hệ hỗ trợ giải bài tập kiến thức Điện một chiều 55
4.2.1 Thiết kết cơ sở tri thức Điện một chiều 55
4.2.2 Thiết kế bộ suy diễn 57
4.3 Hệ hỗ trợ giải bài tập Hình học giải tích hai chiều 59
4.3.1 Thiết kết cơ sở tri Hình học giải tích hai chiều 59
4.3.2 Thiết kế bộ suy diễn 69
Chương 5: KẾT LUẬN 78
5.1 Kết quả khoa học: 78
5.2 Kết quả đào tạo: 79
TÀI LIỆU THAM KHẢO 80
Trang 3Chương 1:TỔNG QUAN VỀ BIỂU DIỄN TRI THỨC VÀ
MÔ HÌNH COKB
1.1 Tổng quan về biểu diễn tri thức
Tri thức đóng vai trò rất quan trọng trong khả năng của một chuyên gia Trong lĩnh vực khoa học trí tuệ nhân tạo để xây dựng một hệ chuyên gia, các hệ thống giải toán dựa trên tri thức của con người, ta phải thiết kế được một cơ sở tri thức đầy đủ và động cơ suy diễn đủ mạnh để giải quyết vấn đề dựa trên tri thức Chất lượng hoạt động của một hệ chuyên gia phụ thuộc rất lớn vào cơ sở tri thức
đã có, cho nên việc nghiên cứu các phương pháp biểu diễn tri thức có nghĩa rất lớn
về lý thuyết cũng như trong ứng dụng Hiện nay có nhiều mô hình biểu diễn tri thức khác nhau đã được nghiên cứu và ứng dụng trong nhiều miền tri thức khác nhau Những phương pháp này có thể được phân loại như sau:
Các phương pháp biểu diễn dựa trên logic hình thức: Các 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ức vào các bài toán cụ thể Với phương pháp này ưu điểm là rất rõ về mặt hình thức, nhưng không thể mô tả đầy đủ với những tri thức có độ trừu tượng lớn hay phức tạp hơn [1, 2]
Các phương pháp biểu diễn tri thức thủ tục: loại phương pháp này biễu diễu tri thức như là một tập hợp các chỉ thị dùng cho giải quyết các bài toán, và
thường được thể hiện bởi một tập các luật dẫn có dạng Nếu…thì… Ưu điểm là
hình thức đơn giản, dễ hiễu và cài đặt Ta có thể tham khảo hệ luật dẫn ở các tài liệu [1, 8]
Trang 4Các phương pháp biểu diễn dạng mạng: là phương pháp biểu diễn tri thức dạng đồ thị Trong đó mỗi đỉnh là một yếu tố về tri thức, mỗi cung là một thể hiện của quan hệ giữa các yếu tố đó Phổ biến nhất của phương pháp này là mạng ngữ nghĩa, và đồ thị khái niệm Ưu điểm của phương pháp biểu diễn dạng mạng là tính trực quan, tự nhiên, thể hiện rõ quan hệ giữa các yếu tố thông qua các cung, tham khảo ở tài liệu [4]
Các phương pháp biểu diễn có cấu trúc: cho phép biểu diễn những tri thức thức có cấu trúc phức tạp, trừ tượng Ví dụ như các Frames, Class, Objects Ưu điểm chính là sức mạnh diễn đạt của chúng với những tri thức có cấu trúc phức tạp, tham khảo ở tài liệu [5, 6]
Phương pháp biểu diễn tri thức theo Ontology: cho phép biểu diễn đầy
đủ hơn các yếu tố của miền tri thức thông qua một mô hình Bên cạnh mô hình cùng một quy ước về đặc tả cho tri thức, và cách tổ chức lưu trữ tri thức lên máy tính, tham khảo ở tài liệu [3]
Các phương pháp biểu diễn tri thức này đều có những điểm mạnh, điểm yếu nhất định; chẳng hạn các phương pháp chỉ biểu diễn được những tri thức đơn giản như logic vị từ, những khía cạnh của tri thức như phương pháp biểu diễn có cấu trúc, phương pháp dạng mạng Trong khi tri thức cần được biểu diễn trong các ứng dụng, hay một hệ chuyên gia là rất đa dạng và thường bao gồm những khái niệm từ đơn giản, đến những khái niệm phức tạp, các quan hệ giữa các khái niệm nầy, các hệ thức tính toán với những quy luật, các liên hệ đa dạng gồm cả định tính, lẫn định lượng, các luật dẫn, các heuristics, v.v…Trong [7, 10], tác giả đã đề xuất mô hình COKB là mô hình gồm có 6 thành phần (C, H, R, Ops, Funcs, Rules), mô hình này có thể biểu diễn khá đầy đủ cơ sở tri thức của một hệ thống thông minh, chẳng hạn như cáchệ thống hỗ trợ học, và giải bài toán trong các miền
Trang 5chưa được nghiên cứu một cách đầy đú, đặc biệt là thành phần Ops-toán tử, thành phần Funcs-hàm
1.2 Mô hình tri thức các đối tượng tính toán (COKB)
C là tập các khái niệm của tri thức, các khái niệm này được biểu diễn bởi
mô hìn đối tượng tính toán có cấu trúc gồm (Attrs, F, Facts, Rules), bên cạnh đó, các đối tượng này cũng được trang bị các hành vi để giải quyết các vấn đề của đối tượng [7]
H là tập các quan hệ phân cấp giữa các khái niệm trong C, các quan hệ này được biểu diễn dưới dạng biểu đồ Hasse
R là tập các quan hệ giữa các khái niệm trong C,trong đó, với các quan hệ r trên một khái niệm sẽ được khảo sát các tính chất phản xạ, đối xứng, hay bắc cầu
Trang 6Ví dụ trong hình học ta cũng có rất nhiều các quan hệ như là: quan hệ thuộc về của điểm với một đường thẳng, hay quan hệ song song, vuông góc giữa hai đoạn thẳng, quan hệ bằng nhau giữa hai tam giác, v.v…
Ops là tập các toán tử trên các khái niệm trong C Các toán tử này biểu diễn các mối liên hệ giữa các đối tượng dưới dạng các biểu thức Ví dụ như:trong đại số vector, ta có phép toán cộng, phép nhân có hướng, nhân vô hướng giữa hai vector, trong đại số tuyến tính có các phép toán cộng, nhân, lũy thừa,… trên ma trận
Funcs là tập các hàm trên đối tượng tính toán Đây là loại kiến thức khá phổ biến trong nhiều miền tri thức, đặc biệt là các lĩnh vực khoa học tự nhiên như là các lĩnh vực toán học, vật lý Như trong miền tri thức hình học phẳng, ta có hàm
về khoảng cách của hai điểm là một hằng số, hay trung điểm của đoạn là một điểm Hay trong miền tri thức hình học phẳng khoảng cách giữa hai mặt phẳng, điểm với mặt phẳng, đường với mặt phẳng, v.v…
Rules là tập các luật suy luận của tri thức.Mỗi luật trong tri thức được biểu diễn dưới dạng luật dẫn, có dạng “if … then …”, trong đó các sự kiện của luật sẽ được trình bày trong mục tiếp theo
1.2.2 Sự kiện trong mô hình COKB
Trong mô hình COKB có 12 loại sự kiện, các loại sự kiện này biểu diễn các phát biểu khác nhau trong tri thức, chúng được phân loại như sau:
Sự kiện loại 1: thông tin về loại đối tượng, ví dụ như là ABC là một tam giác,
ABCD là một hình thang, hay ma trận A là một ma trận vuông
Sự kiện loại 2: là sự xác định của một đối tượng hoặc thuộc tính của đối tượng
Ví dụ 1.1:Cho bài toán (P) phát biểu như sau: cho hai điểm E, F và đường thẳng (d) (P) là một mặt phẳng với E (P), F (P), và (d) // (P) Tìm phương trình tổng quát của mặt phẳn (P)
Trang 7Với ví dụ trên: ta có 3 sự kiện sau: E là một điểm được xác định, F là một điểm được xác định, (d) là một đường thẳng được xác định
Ví dụ 1.2: Cho tam giác ABC có, cho độ dài AB là 3cm, cho độ dài AC là 4cm, H là đường cao của tam giác ABC, H thuộc BC Tính đường cao AH Với ví dụ trên: ta có 3 sự kiện sau: AB được xác định, AC được xác định, ABC được xác định
Sự kiện loại 3: sự xác định của một đối tượng, hay một thuộc tính của đối
tượng bởi một biểu thức hằng
Với ví dụ 1.2 ở trên, ta có các sự kiện sau: AB = 3cm, AC = 4cm
Sự kiện loại 4: sự bằng nhau trên các đối tượng hoặc các thuộc tính của đối
tượng
Sự kiện loại 5: sự phụ thuộc của một đối tượng trên các đối tượng khác thông
qua phương trình Ví dụ: w = 2*u+3*v (w, v, u là những vector)
Sự kiện loại 6: là quan hệ trên các đối tượng, hay thuộc tính của đối tượng Ví
dụ: quan hệ song song giữa hai đường thẳng, vuông góc giữa đường thẳng và mặt phẳng, hay điểm thuộc đường thẳng
Sự kiện loại 7: là sự xác định của một hàm
Sự kiện loại 8: là sự xác định của một hàm bởi một giá trị hằng một biểu thức
hằng
Sự kiện loại 9: là sự bằng nhau giữa một đối tượng và hàm
Sự kiện loại 10: sự bằng nhau giữa hai hàm
Sự kiện loại 11: sự phụ thuộc của một hàm vào một hàm khác hoặc một đối
tượng khác
Sự kiện loại 12: quan hệ của một hàm với một hàm khác hoặc đối tượng khác
Trang 81.2.3 Tổ chức cơ sở tri thức theo mô hình 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à quy ướ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:
(1) Tập tin OBJECT.txt: lưu trữ các định danh (hay tên gọi) cho các khái
niệm về các loại đối tượng C-Object
(2) Tập tin RELATIONS.txt: lưu trữ thông tin về các loại quan hệ khác
nhau trên các loại đối tương C-Object
(3) Tập tin HIERARCHY.txt: lưu lại các biểu đồ Hasse thể hiện quan hệ
phân cấp đặc biệt hoá giữa các loại đối tượng
(4) 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
(5) Tập tin DEFINE-OPERATORS.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ử
(6) 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 (bao gồm cả sự kiện liên quan đến hàm) trong cơ sở tri thức
(7) Tập tin FUNCTIONS.txt: lưu trữ các khai báo hàm, thông tin về các
hàm trên các loại đối tượng C-Object
(8) Tập tin DEFINE-FUNCTIONS.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
(9) Các tập tin có tên <tên khái niệm C-Object>.txt: lưu trữ cấu trúc của
loại đối tượng <tên khái niệm C-Object>
Trang 91.2.4 Ưu - khuyết điểm của mô hình COKB
Với việc ứng dụng các mô hình biểu diễn tri thức vào một miền tri thức thực và phức tạp, COKB tỏ ra hữu hiệu và khả thi hơn so với các mô hình cơ bản còn lại Tuy nhiên trên mô hình COKB vẫn còn rất nhiều vấn đề cần được tìm hiểu nghiên cứu Ta có một số nhận định về ưu điểm và khuyết điểm của mô hình COKB như sau
Ưu điểm: Mô hình COKB thể hiện một cách đầy đủ các kiến thức thực tế của con người So với cách biểu diễn tri thức khác thì phương pháp biểu diễn dựa trên mô hình COKB hiệu quả hơn về nhiều mặt: biểu diễn, suy diễn, giao tiếp… Với cách tổ chức tri thức theo mô hình này, bên cạnh các ưu điểm kế thừa được từ
mô hình COKB truyền thống, ta có thể thiết kế được mô hình biểu diễn vấn đề tổng quát hơn, và trên cơ sở đó thiết kế được các thuật giải tổng quát mô phỏng hành vi suy luận giải quyết vấn đề dựa trên tri thức của con người Điều này giúp thiết kế được module suy diễn khá dễ dàng và cho lời giải tường minh với những giải thích về sự vận dụng tri thức trong cơ sở tri thức một cách rõ ràng Đây cũng
là một ưu điểm nổi bật của mô hình COKB so với nhiều phương pháp biểu diễn tri thức khác trong thiết kế ứng dụng thực tế, nhất là đối với các hệ giải toán trong lĩnh vực giáo dục Ngoài ra, cách biểu diễn tri thức theo mô hình COKB cũng giúp
ta dễ dàng xây dựng một ngôn ngữ đặc tả gần gũi với ngôn ngữ tự nhiên hơn
Khuyết điểm: Mặc dù mô hình COKB có khá nhiều ưu điểm trong việc biểu diễn tri thức, thiết kế được các thuật giải tổng quát mô phỏng hành vi suy luận giải quyết vấn đề dựa trên tri thức của con người nhưng bên cạnh đó vẫn tồn tại một số hạn chế như sau:
- Mô hình COKB vẫn còn khá tổng quát khi ta đi sâu vào giải quyết các dạng toán cụ thể, trong đó một số thành phần của mô hình COKB có thể không
Trang 10cần dùng đến, vì vậy một vấn đề rất cần được nghiên cứu đó chính là sự vận dụng các mô hình con của COKB, đồng thời nghiên cứu sự tích hợp các mô hình con ấy
- Một số thành phần của COKB vẫn chưa được nghiên cứu một cách hoàn chỉnh, chẳng hạn như thành phần tri thức hàm - Funcs, thành phần tri thức toán tử - Ops Các thành phần này cần được nghiên cứu một cách cụ thể hơn về vấn đề đặc tả, tính chất cũng như giải quyết một số lớp bài toán trên chúng
1.3 Một số kết quả về phương pháp giải quyết vấn đề trên COKB
Liên quan đến các vấn đề trên mô hình COKB, chúng tôi đã nghiên cứu và thiết kế một số ứng dụng cụ thể [7, 9, 10] Trong mục này, chúng tôi trình bày một bài toán tổng quát trên mô hình COKB
Mỗi bài toán trong miền tri thức COKB được mô hình hóa thành một hệ thống gồm 3 thành phần như sau:
(O, F, G)
Trong đó:
- O = {O1, O2, …, On} là một tập hợp các đối tượng trong bài toán, các đối tượng có kiểu là một khái niệm trong C
- F = {f1, f2,…,fm}: là tập hợp các sự kiện giả thiết thuộc loại sự kiện của
mô hình COKB Mỗi sự kiện thể hiện một tính chất hay một liên hệ nào đó trên các đối tượng hay trên các thuộc tính của đối tượng
- G = {g1, g2,…,gk}: tập các sự kiện mục tiêu của bài toán Mục tiêu của bài toán có thể là:
+ Xác định một đối tượng + Xác định thuộc tính của một đối tượng + Chứng minh một quan hệ giữa các đối tượng
Trang 11Đối với một bộ (O, F, G), khi ta xem xét tập sự kiện mục tiêu G và khảo sát các vấn đề suy diễn tính toán chẳng hạn như tìm kiếm một dạng suy diễn có thể áp dụng được trên tập các sự kiện giả thiết, chọn áp dụng một cách suy diễn thích hợp, thực hiện tính toán nhờ vào các quan hệ tính toán hay thực hiện tính toán trên hàm,… để đạt được các sự kiện trong G Bài toán này sẽ được ký hiệu là:
(O, F) → G Thuật giải sau sẽ giải quyết bài toán trên tri thức dạng COKB:
Bước 1: Thu thập các phần tử từ giả thiết và kết luận của bài toán
Bước 2: Phân loại các bài toán: bài toán xác định một đối tượng, xác định một thuộc tính của đối tượng hay xác định giá trị biểu thức giữa các đối tượng
Bước 3: Kiểm tra mục tiêu G Nếu G được xác định thì chuyển qua bước 7
Bước 4: Sử dụng một luật bất kì có thể áp dụng được nhằm phát sinh thêm sự kiện mới, các đối tượng mới và đạt đến trạng thái mới của quá trình suy luận Trong bước này, chương trình sẽ phải sử dụng thuật giải so khớp các sự kiện
Bước 5: Nếu ở bước 5 chọn được luật áp dụng thì ta ghi nhận các thông tin của bước giải, ghi nhận đối tượng mới vào tập hợp các đối tượng, ghi nhận các sự kiện mới vào tập các sự kiện đã biết và quay lại bước 3
Bước 6: Nếu không tìm được luật ở bước 4, ta kết luận: không tìm thấy lời giải cho bài toán và dừng
Bước 7:Rút gọn lời giải tìm được để có một lời giải tối ưu hơn bằng cách phân tích quá trình giải để xác định các sự kiện mới cần thiết sau mỗi bước giải, từ đó loại bỏ các bước giải dư thừa
Trang 12Bên cạnh đó, trong quá trình suy diễn, hệ thống cũng sẽ sử dụng một số các quy tắc heuristic sau:
1 Ưu tiên sử dụng các quy tắc xác định đối tượng và thuộc tính
2 Biến đổi đối tượng để các đối tượng ở cấp độ cao hơn trong đồ thị phân cấp nếu có đủ dữ kiện
3 Sử dụng các luật sinh ra các đối tượng mới chứa các yếu tố
4 Sử dụng luật để sinh ra các đối tượng mới có quan hệ với các đối tượng đã có, đặc biệt là các mục tiêu
5 Nếu không sinh ra được sự kiện mới hoặc đối tượng mới thì sử dụng các tham số và các phương trình
6 Khi sinh ra đối tượng mới, thì luôn xuất hiện sự kiện mới
Tuy nhiên, trong các kết quả trên của mô hình COKB, thì một số vấn đề liên quan đến thành phần tri thức hàm và toán tử vẫn chưa được nghiên cứu một cách hoàn chỉnh, chẳng hạn: vấn đề đặc tả tri thức hàm, toán tử, bài toán xác định giá tri hàm, giá trị của một biểu thức đối tượng cũng như các vấn đề về rút gọn một biểu thức đối tượng
- Nghiên cứu sự tích hợp giữa các thành phần tri thức hàm và toán tử trong
cơ sở tri thức COKB
Trang 13Chương 2: MÔ HÌNH COKB VÀ PHƯƠNG PHÁP GIẢI QUYẾT VẤN ĐỀ LIÊN QUAN ĐẾN TRI THỨC HÀM
Trong chương này, chúng tôi sẽ tập trung trình bày các vấn đề liên quan đến thành phần hàm trong mô hình COKB Chúng tôi sẽ nghiên cứu việc đặc tả thành phần hàm cũng như mô hình các bài toán liên quan đến hàm Thông qua đó, nghiên cứu cũng sẽ trình bày các thuật giải suy diễn để giải quyết các vấn đề trên thành phần hàm của mô hình COKB
2.1 Thành phần hàm trong mô hình COKB
Về lý thuyết, ta có thể diễn đạt các hàm dưới dạng các quan hệ với điều kiện ràng buộc nhất định Ví dụ phát biểu “H là hình chiếu của điểm A lên mặt phẳng
P” có thể biểu diễn dưới dạng một quan hệ như sau: [“HinhChieu”, H, A, P]
Nhưng cách diễn đạt này làm mất đi tính tự nhiên và hợp lý của hệ tri thức thực tế theo quan niệm của con người, không diễn đạt được đầy đủ các thông tin trên một hàm bất kỳ được định nghĩa trên các Com-Object, chẳng hạn như thông tin về quá trình thực thi một biến đổi nào đó giữa các đối tượng độc lập ban đầu để xác định một đối tượng mới hay các tính chất, thuộc tính liên quan, phát sinh trong quá trình thực hiện tính toán hàm, v.v
Chính vì vậy, ta cần phải xây dựng một cách thức khác tốt hơn để đặc tả thành phần này sao cho đảm bảo đầy đủ ý nghĩa và tính tiện dụng cũng như dễ dàng thêm hay chỉnh sửa thông tin cho môt hàm bất kỳ Vì vậy có thể dùng cách biểu diễn hàm thay vì dùng quan hệ cho phát biểu “H là hình chiếu của điểm A lên mặt
phẳng P”, ký hiệu: H= HinhChieu(A, P)
Trang 142.1.1 Phân loại hàm và Đặc tả
Thành phần tri thức hàm có thể được phân thành hai dạng sau:
Dạng 1: Là các hàm không tự động xác định giá trị trả về của khi tập đối
được xác định, mà phải nhờ đến các tính toán bên ngoài hỗ trợ Với loại hàm này, nội tại của hàm chỉ tồn tại các ràng buộc và các tính chất hàm
argument-def ::= name: type;
return-def ::= name: type;
Dạng 2: Là các hàm có thể tự động tính toán giá trị trả về của hàm khi xác
định được các đối số Với loại hàm này, nội tại của hàm ngoài các ràng buộc và tính chất hàm thì có thêm thủ tục tính toán để xác định giá trị trả về của hàm
statement-def ::= assign-stmt | if-stmt | for-stmt
asign-stmt ::= name := expr;
if-stmt ::= IF logic-expr THEN statements+ ENDIF; |
IF logic-expr THEN statements+ ELSE statements+
ENDIF;
for-stmt ::= FOR name IN [range] DO statements+ ENDFOR;
Trang 15Cách đặc tả trên sẽ đảm bảo thông tin đầy đủ cho một hàm bất kỳ định nghĩa trên một Com-Object cũng như các Com-Object khác, ta có thể cập nhật thành phần hàm này một cách dễ dàng
o Phần khai báo hàm
Tên hàm (FUNCTION): tên hàm được đặt sao cho phù hợp với tri thức
thực tế theo quan niệm của con người, ngắn gọn và tường minh
Các đối của hàm (ARGUMENT): mỗi đối của hàm hoặc là một đối tượng
(Com-Object) hoặc là một hàm khác xây dựng trên một số đối tượng Một hàm
có thể có một hoặc nhiều đối Trong các công thức hay sự kiện liên quan đến tri
thức hàm ta chấp nhận 2 loại đối là đối hình thức và đối thực tế
+ Đối thực tế: là các giá trị mà hàm nhận từ các hàm khác hay từ các đối tượng và là dữ liệu cần xử lý, các đối này truyền dữ liệu trực tiếp vào cho hàm
+ Đối hình thức: có nghĩa như là tham biến hình thức Khi muốn một hàm được thực hiện, ta phải truyền cho các đối hình thức các giá trị thực tế tương ứng
Mỗi đối của hàm phải xác định kiểu đối, là kiểu dữ liệu của đối của hàm,
có thể là các kiểu dữ liệu cơ sở như kiểu số nguyên, kiểu số thực, kiểu chuỗi, v.v hoặc là các loại đối tượng như Điểm, Đường thẳng, Mặt phẳng v.v
Kết quả trả về (RETURN): bao gồm tên biến và kiểu dữ liệu của biến mà
hàm phải trả về
Ví dụ 2.1.1: Trong biểu diễn tri thức về Hình học không gian, ta có hàm
“H là hình chiếu của điểm A lên mặt phẳng P”, ký hiệu: H= HinhChieu(A, P) Trong đó:
Trang 16- Tên hàm: HinhChieu
- Các đối: A: Diem, P: MatPhang
- Giá trị trả về kết quả: H: Diem
o Phần nội dung hàm
Sự ràng buộc [constraint]: là điều kiện để xác định sự tồn tại hàm Ví dụ
hàm GiaoDiem(d, P) là hàm giao điểm của đường thẳng d lên mặt phẳng P, và
điều kiện để hàm tồn tại là mặt phẳng P không chứa đường thẳng d
Thủ tục tính toán: thủ tục tính toán này sử dụng trong đặc tả hàm dạng 2,
bao gồm các khai báo biến [variables] cùng các xử lý [statements] Các khai
báo ở đây là các khai báo cục bộ, chỉ tồn tại bên trong thủ tục tính toán
Việc thực thi thủ tục này nhằm xác định giá trị trả về của hàm hoặc xác định một đối tượng thuộc khái niệm Com-Object Bên trong thủ tục tính toán của một hàm thường sử dụng câu lệnh return để trả về kết quả cho hàm thông qua tên hàm Giá trị trả về ở đây có thể là một giá trị hằng hay một đối tượng xác định (có hoặc không có giá trị) hay sự kiện về tính xác định của hàm Ví dụ trong hàm “H
là hình chiếu của điểm A lên mặt P”, giá trị tọa độ H sẽ là giá trị trả về của hàm
Ví dụ 2.1.2: Hàm “H là hình chiếu của điểm A lên mặt phẳng P”, ký hiệu:
H = HinhChieu(A, P) có thủ tục tính toán như sau:
là phương trình tham số của AH
Bước 4: Thế d vào phương trình mp(P) để tìm t
Bước 5: Thế t vào d để tìm tọa độ H
Trang 17Tính chất của hàm [facts]: Nếu hàm có kiểu trả về là một đối tượng cấp 1
trở lên thì tùy vào hàm mà có thể phát sinh một số tính chất (sự kiện) liên quan đến các đối tượng hay các thuộc tính của đối tượng khai báo bên trong hàm
Ví dụ 2.1.3: Theo ví dụ trên, hàm “H là hình chiếu của điểm A lên mặt phẳng P”, ký hiệu: H= HinhChieu(A, P) có các tính chất như: Đường AH vuông góc với mặt phẳng P, H thuộc mặt phẳng P, độ dài đoạn AH là khoảng cách giữa A đến mp(P)
2.1.2 Nguyên tắc hoạt động của hàm
Tương ứng với 2 dạng hàm ở trên sẽ có 2 cách xác định giá trị hàm Cách thứ nhất là cách xác định hàm bằng luật đối với những hàm không tồn tại thủ tục tính toán nội tại, và cách thứ hai là cách xác định hàm dựa trên giá trị trả về của thủ tục tính toán nội tại của hàm Cũng dựa vào đó, ta có 2 nguyên tắc hoạt động của hàm tương ứng với 2 dạng hàm như sau:
Nguyên tắc hoạt động của dạng hàm thứ 1: Vì dạng hàm này được xác
định dựa trên một luật, nên khi một luật xác định hàm được kích hoạt thì hàm được kích hoạt Hàm được kích hoạt sẽ đọc nội tại hàm và phát sinh các tính chất hàm (nếu có)
Nguyên tắc hoạt động của dạng hàm thứ 2: Hàm được kích hoạt dựa
trên sự xác định của các đối số của hàm Nghĩa là khi các đối số trong hàm được xác định thì hàm sẽ được kích hoạt Hàm được kích hoạt sẽ đọc nội tại hàm và phát sinh các tính chất hàm (nếu có)
Trang 182.2 Mô hình bài toán và thuật giải
2.2.1 Mô hình bài toán
Bài toán trên mô hình COKB được mô hình hóa bởi bộ:
(O, F) G Trong đó:
+ (O, F) là phần giả thiết của bài toán, ta có thể kí hiệu H = (O, F), với O là tập các đối tượng và F là tập các sự kiện của bài toán
+ G: là các mục tiêu của bài toán
Ở đây, ngoài việc xem xét các lớp bài toán liên quan tới thành phần tri thức hàm, trong đề tài này còn xem xét thêm một số lớp bài toán dựa trên sự mở rộng của mô hình bài toán trên COKB, như là lớp bài toán có thêm một số điều kiện hoặc ràng buộc cho trước, hay là các bài toán về tham số Để giải quyết từng lớp bài toán trên, trong quá trình thiết kế ở ứng dụng này, dựa trên mục tiêu của bài toán ta sẽ phân loại các lớp bài toán thành 3 loại sau đây:
a) Bài toán loại 1:
Xác định một đối tượng, thuộc tính của đối tượng, hàm, hoặc tính giá trị của một thuộc tính của đối tượng, hoặc một hàm
Ta có thể mô hình hóa bài toán: (O, F) G hay H G
Ví dụ 2.2.1: Cho hình chóp S.ABCD có đáy ABCD là hình vuông cạnh a; SA ⊥ mp(ABCD), SA=a√2 Gọi M và N lần lượt là hình chiếu của điểm A trên các đường thẳng SB và SD O là tâm hình vuông ABCD
a) Tìm giao tuyến của mp(SBD) và mp(AMN)
b) Chứng minh mp(SAC) ⊥ mp(AMN)
Trang 19["Tim", GiaoTuyen(MatPhang[S, B, D], MatPhang[A, M, N])]
G = ["ChungMinh", ["VuongGoc", MatPhang[S,A,C], MatPhang[A,M,N]]],["ChungMinh", ["VuongGoc", Duong[M,N], Duong[B,D]]],
N
M
Trang 20b) Bài toán loại 2:
Là bài toán loại 1, nhưng trong đó có cho thêm một số điều kiện hoặc một số ràng buộc trên các đối tượng, hoặc thuộc tính của đối tượng, hoặc giá trị của thuộc tính Mô hình bài toán có dạng:
(O, F) + (Ocondition, Fcondition) G
Trong đó:
+ (O, F): là tập giả thiết của bài toán
+ (Ocondition, Fcondition): là tập các điều kiện, ràng buộc trên bài toán,
kí hiệu Hcd = (Ocondition, Fcondition)
+ G: là mục tiêu của bài toán
Bài toán có thể được kí hiệu thành: H + Hcd G
Ví dụ 2.2.2: Trong mặt phẳng Oxy, cho điểm A(-1;2) và đường thẳng (d): 2y+3=0 Tìm trên đường thẳng (d) hai điểm B, C sao cho tam giác ABC vuông tại
x-C và Ax-C = 3Bx-C
Bài toán được đặc tả theo mô hình như sau:
Trang 21= {[ , "Diem"], [ , "Diem"], [ , "Diem"], [ , "DuongThang"]}
c) Bài toán loại 3:
Biện luận mối quan hệ giữa các đối tượng theo tham số cho trước Mô hình bài toán có dạng:
(O, F) + PAR G với: PAR: là tập các tham số, bài toán được kí hiệu thành H + PAR G
Ví dụ 2.2.3: Cho hai đường thẳng, d1: mx – 2y – 1 =0, d2: 2x – 4y + m = 0 (m
là tham số), với giá trị nào của m thì: a) d1 cắt d2, b) d1 // d2, c) d1 d2
Bài toán được đặc tả theo mô hình như sau:
Trang 22toán mẫu Cùng với đó là một số kĩ thuật, như là thuật giải xác định hàm, kiểm tra một hay tìm kiếm một bài toán mẫu để áp dụng
a) Thuật giải cho bài toán loại 1
Cho P1 là bái toán loại 1, nghĩa là P1 = H G, trong đó H là giả thiết và
là kết luận của bài toán trên mạng các đối tượng tính toán ( , ) →
Để tìm lời giải cho bài toán tổng quát trên, áp dụng các dạng suy luận khác nhau lên các giả thiết của bài toán để phát sinh sự kiện mới từ các sự kiện đã biết, mở rộng dần tập các biến có giá trị xác định cho đến khi đạt đến mục tiêu
Thuật giải 2.1
Input: Bài toán 1 = (O, F) → G
Output: Lời giải của bài toán 1
Bước 1: Ghi nhận mô hình của bài toán P bao gồm các đối tượng , các sự kiện
Bước 4: Nếu bước 3 không thành công thì sử dụng một dạng suy luận bất kì có
thể áp dụng được nhằm phát sinh thêm sự kiện mới, các đối tượng mới và đạt đến trạng thái mới của quá trình suy luận
Bước 5: Nếu ở bước 3 và bước 4 chọn được luật có thể áp dụng thì ta ghi nhận
các thông tin của bước giải, ghi nhận đối tượng mới vào tập hợp các đối tượng, ghi nhận các sự kiện mới vào tập các sự kiện đã biết và quay lại bước 2
Trang 23Bước 6: Nếu không tìm được luật hay dạng suy luận ở bước 3 và bước 4, thì ta
kết luận: không tìm thấy lời giải cho bài toán và dừng
Bước 7: Rút gọn lời giải tìm được để có một lời giải tối ưu hơn bằng cách phân
tích quá trình giải để xác định các sự kiện mới cần thiết sau mỗi bước giải, từ đó loại bỏ các bước giải dư thừa
Bước 8: Thể hiện lời giải
Trong trường hợp mục tiêu bài toán là Hàm, ta cần kiểm tra loại xác định của hàm trước khi áp dụng thuật toán tổng quát như trình bày ở trên Có 2 dạng xác định mục tiêu bài toán dạng hàm:
- Hàm trả về giá trị kiểu dữ liệu cơ bản, ví dụ: kiểu số thực
- Hàm trả về đối tượng cơ bản hoặc đối tượng cấp 1
Thuật giải 2.2
Đây là biến thể từ thuật giải 2.1 khi mục tiêu của bài toán là xác định hàm hay giá trị của một hàm
Trang 24Xác định dạng sự kiện trung gian liên quan (hàm trả về là đối tượng) đến HÀM đang xét
Áp dụng Thuật toán suy diễn
Có 2 dạng xác định hàm, kiểm tra xem Hàm đang xét có phải là hàm trả về kiểu
dữ liệu cơ bản?
false Bắt đầu
Kết thúc
Sự kiện mục tiêu dạng HÀM
Kiểm tra sự xác định của hàm?
Cho P2 là một bài toán loại 2, nghĩa là P2 = H + Hcondition G, trong đó H
là giả thiết, Hcondition là tập các giả thiết điều kiện và là kết luận của bài toán Để tìm lời giải cho bài toán P2 này, ta thực hiện các chiến lược suy luận như ở thuật
giải 2.1 Tuy nhiên, ta sẽ áp dụng chiến lược phát sinh sự kiện mới dựa trên
heuristic và mẫu bài toán sau:
Ưu tiên sử dụng các mẫu bài toán, hoặc các luật suy luận có phần giả thiết nằm trong tập điều kiện của bài toán
Trang 25 Ưu tiên sử dụng các mẫu bài toán, hoặc các luật suy luận có mục tiêu liên quan đến các sự kiện tồn tại trong phần điều kiện của bài toán
c) Thuật giải bài toán loại 3
Cho P3 là bài toán loại 3, nghĩa là P3 = H + PAR G, trong đó H là giả thiết, PAR là tập các tham số và là kết luận của bài toán Để giải quyết bài toán P3 ta có thể áp dụng các bước suy luận sau:
Thuật giải 2.4
Input: Bài toán P3 = (O, F) + PAR → G
Output: Lời giải của bài toán P3
Bước 1: Gọi Erules là tập luật tương đương được rút trích từ tập luật Rules Bước 2: Tìm một luật r trong tập Erules sao cho h(r) (hoặc g(r)) có thể hợp nhất
được với G và g(r) (hoặc h(r)) là phương trình hoặc bất phương trình
Nếu tìm được r thì loại bỏ r trong Erules và chuyển sang bước 3, ngược lại chuyển sang bước 6
Bước 3: Gọi G’ là tập các phương trình, hoặc bất phương trình trong r được tìm
ở bước 2, E là tập các yếu tố có trong G’
Bước 4: Tìm E từ trong các tập sự kiện đã biết, áp dụng thuật giải 2.3 Nếu tìm
được thì chuyển sang bước 5, ngược lại chuyển sang bước 2
Bước 5: Thay thế kết quả được tìm được ở Bước 4 vào G’, sau đó thực hiện giải
các phương trìng hoặc bất phương trình để tìm giá trị của tham số Nếu giải được thực hiện xuất kết quả của tham số và dừng chương trình
Bước 6: Xuất kết quả “không giải được tham số” Và dừng chương trình
Trang 26Các chiến lược quan trọng được sử dụng trong quá trình suy luận:
Các quy tắc heuristics để chọn lựa bước giải thích hợp
Phương pháp giới hạn cơ sở tri thức áp dụng cho bài toán cụ thể
Phương pháp tìm thứ tự luật ưu tiên áp dụng
Một số phương pháp suy diễn heuristics khác
Trang 27Chương 3: MÔ HÌNH COKB VÀ PHƯƠNG PHÁP GIẢI QUYẾT VẤN ĐỀ LIÊN QUAN ĐẾN TRI THỨC TOÁN TỬ
Trong chương này, chúng tôi sẽ tập trung trình bày các vấn đề liên quan đến thành phần toán tử trong mô hình COKB Chúng tôi sẽ nghiên cứu việc đặc tả các toán tử cũng như mô hình các bài toán liên quan đến toán tử Thông qua đó, nghiên cứu cũng sẽ trình bày các thuật giải suy diễn để giải quyết các vấn đề trên toán tử
3.1 Mô hình tri thức toán tử
3.1.1 Giới thiệu
Trên cơ sở mô hình COKB, để nghiên cứu thành phần toán tử, chúng tôi sẽ trình bày một dạng thu gọn của mô hình này để biểu diễn tri thức toán tử Mô hình này có nền tảng là các khái niệm, quan hệ giữa các khái niệm, toán tử giữa các đối
tượng trong tri thức và các luật Trong nghiên cứu này, chúng tôi sẽ chỉ trình bày
một mô hình với các toán tử hai ngôi và một số tính chất đặc trưng của toán tử: giao hoán, kết hợp, có phần tử trung hòa, đồng thời cũng xây dựng mô hình các lớp bài toán liên quan đến thành phần tri thức toán tử và các thuật giải để giải quyết các lớp bài toán này
3.1.2 Mô hình tri thức toán tử
Trong các ứng dụng thực tế, tri thức về các toán tử giữa các đối tượng trong tri thức là thành phần rất quan trọng, đặc biệt là các miền tri thức tính toán Trong chương này, một số các ký hiệu toán học sau sẽ được sử dụng:
Trang 28 *: Tập hợp các biến
Dom(x): miền giá trị của biến x, với x *
: tập hợp các số thực
var(u): Tập hợp các biến trong biểu thức u, var(u) *
card(S): số lượng phần tử của tập S
left(g): vế trái của đẳng thức g
right(g): vế phải của đẳng thức g
Định nghĩa 3.1: Trong chương này, để thuận tiện trong việc nghiên cứu thành
phần toán tử, chúng tôi sẽ trình bày một mô hình rút gọn của COKB gồm 4 thành phần:
K = (C, R, Ops, Rules )
Trong đó:
C là tập các khái niệm, mỗi khái niệm này được biểu diễn bằng mô hình
mạng tính toán cùng với các lớp bài toán trên mạng
R là tập các quan hệ giữa các khái niệm Các quan hệ trong mô hình này là
quan hệ hai ngôi giữa các khái niệm
Ops là tập các toán tử Ở kết quả này chúng tôi chỉ xét toán tử hai ngôi trên
các khái niệm trong tập C, cùng với việc khảo sát các tính chất của toán tử: đối xứng, kết hợp, phần tử trung hòa
Rules là tập các luật, các luật trong mô hình này được phân thành hai loại:
luật dưới dạng luật dẫn và luật dưới dạng phương trình
3.1.2.1 C- tập các khái niệm
Mỗi khái niệm trong C là một lớp các đối tượng được mô hình bởi bộ:
Trang 29(Attrs, EqObj, RulesObj)
Attrs là tập các thuộc tính có kiểu là số thực
EqObj là tập các phương trình được gọi là quan hệ tính toán, các phương trình
này biểu diễn quan hệ giữa các thuộc tính trong khái niệm
RulesObj là tập các luật dẫn của đối tượng
Tập C được phân loại như sau:
- Khái niệm cấp 1: gọi là C(1), khi đó các thành phần của loại khái niệm này thỏa các điều kiện:
1/ Ø Attrs {x * | Dom(x) }
2/ EqObj {f | f EqAttrs, var(f) Attrs}
với EqAttrs = {g = h | g, h là các biểu thức, var(g) Attrs, var(h) Attrs },
EqAttrs là tập các phương trình liên quan đến các biến trong Attrs
3/ RulesObj {r = u→v | u,v FAttrs, u v = Ø}
với : tập các sự kiện thuộc 7 loại như trong định nghĩa 3.2
FAttrs = {f | var(f) Attrs}: FAttrs tập các sự kiện liên quan đến các biến trong Attrs
- Khái niệm cấp 2: gọi là C(2), khi đó các thành phần của loại khái niệm này thỏa các điều kiện:
1/ Ø Attrs {x *| Dom(x) or cC(1), Dom(x) Ic} 2/ xo Attrs, cxoC(1), Dom(xo) Icxo
3/ EqObj {f | f EqAttrs, var(f) Attrs}
với EqAttrs tập các phương trình liên quan đến các biến trong Attrs
4/ RulesObj {u→v | u,v FAttrs, u v = Ø}
với FAttrs tập các sự kiện liên quan đến các biến trong Attrs
Trang 30Định nghĩa 3.2: Trong mô hình COKB rút gọn này, các sự kiện được phân loại
như sau:
Loại
sự
kiện
1 Thông tin về loại
x *, c C Dom(x) Ic
Đối tượng x có kiểu là khái niệm c
x Ic (c C)
a x.Attrs
- Đối tượng x xác định
- Thuộc tính a của đối tượng x xác định
Đối tượng x bằng một biểu thức giữa các đối tượng
Φ R
x Icx , y Icy(cx , cy C)
Đối tượng x và đối tượng có quan hệ
Ngoài ra, một khái niệm trong tri thức còn có các hành vi để giải quyết các bài toán trên các thuộc tính của nó:
1/ Xác định tập đóng các thuộc tính
Trang 312/ Cho biết lời giải của việc xác định thuộc tính của đối tượng từ các thuộc tính đã biết
3/ Tính toán trên đối tượng
Trong các bài toán trên, thì việc xác định bao đóng của các sự kiện trong đối tượng chính là bài toán cơ sở để có thể giải quyết các bài toán sau Vì vậy, trong nghiên cứu này, chúng tôi chỉ đề cập đến hành vi này của đối tượng
Định nghĩa 3.3: Bao đóng của các sự kiện trong đối tượng
Cho đối tượng Obj = (Attr, EqObj, RulesObj) là một đối tượng của khái
niệm trong C, và A là tập các sự kiện của Obj, các sự kiện trong A được phân loại như trong định nghĩa 3.2
a/ Nếu e EqObj: khi đó e là hệ phương trình giữa k biến có kiểu giá trị là
Đặt e(A) = A subs(A, e) với subs(A, e) là các phương trình trong
e, trong đó có một số biến được thay bằng các giá trị từ các sự kiện loại 3 trong A b/ Nếu r RuleObj: r là luật dẫn có dạng: u(r) → v(r)
r áp dụng được trên A khi và chỉ khi u(r) A Đặt r(A) = A v(r)
c/ Đặt r0(A) = A và s = [r1, r2,…, rm] với rk RulesObj hoặc rk EqObj, s
được gọi là object deduce khi và chỉ khi s thỏa:
(1) k 1,m , rk có thể áp dụng trên rk-1(A)
Trang 32Đặt rk(A) = rk(rk-1(A))
(2) r RulesObj\{r1,r2,…,rm}, r không thể áp dụng rm(A)
(3) r EqObj\{r1,r2,…,rm}, r không thể áp dụng trên rm(A)
Đặt DObj(A) = {s = [r1, r2,…, rm]| s là một object deduce}
d/ Đặt: Obj.Closure(A)::= rm(A)
Obj.Deduce(A)::= dA, với dADObj(A) và card(dA) = min{card(s) |
s DObj(A)}
Định lý 3.1: Đặt Obj = (Attrs, EqObj, RulesObj) là một đối tượng thuộc khái
niệm trong C, và A FAttrs Giả sử tồn tại hai danh sách s = [r1, r2,…, rm] và t = [f1, f2,…, fn] và s,t DObj(A) Thì ta có: rm(A) = fn(A)
Định lý này chỉ ra rằng định nghĩa Obj.Closure(A) trong 3.2d là định nghĩa tốt Obj.Closure(A) được gọi là bao đóng của tập sự kiện A trong đối tượng Obj Thuật giải xác định Obj.Closure(A) được trình bày trong thuật giải 3.1 ở mục 3.2
3.1.2.2 R – Tập các quan hệ
Thành phần này biểu diễn các quan hệ giữa các khái niệm trong miền tri thức Mỗi quan hệ trong tập R là một quan hệ hai ngôi trên ci × cj , với ci, cj là các khái niệm trong tập C
Mỗi quan hệ được đặc tả như sau:
relation-def ::= RELATION <name>
ARGUMENT: argument-def+
Trang 33PROPERTY: prob-type;
ENDRELATION
argument-def ::= name, <name>: type
prob-type ::= phản xạ | đối xứng | phản xứng | bắc cầu
Trong mô hình hình tri thức tóan tử được xây dựng, mỗi toán tử trong mô hình
là một ánh xạ hai ngôi: ci x ci cj , trong đó ci, cj là khái niệm trong C
Cấu trúc mỗi toán tử như sau:
operator-def ::= OPERATOR <name>;
ARGUMENT: argument-def+
RETURN: return-def;
PROPERTY: prob-type;
ENDOPERATOR
argument-def ::= name, <name>: loại đối tượng
return-def ::= name : loại đối tượng
prob-type ::= giao hoán | kết hợp | có phần tử trung hòa
Định nghĩa 3.3: Một biểu thức giữa các đối tượng được định nghĩa như sau:
expr ::= object | expr <operator> expr
Trang 34Quy tắc xác định toán tử:
Tập luật Rules của mô hình tri thức toán tử được phân thành hai loại: luật xác định toán tử và luật suy diễn của miền tri thức Do đó, kết quả của một toán tử trong tập Ops chính là một đối tượng của một khái niệm trong tập C, và giá trị các thuộc tính của đối tượng này được xác định dựa vào loại luật xác định toán tử trong tập Rules
Định nghĩa 3.4: Chiều dài của một biểu thức
Cho g là một biểu thức, length(g) được gọi là chiều dài của biểu thức g, khi đó length(g) được tính như sau:
a/ Nếu g chỉ có duy nhất một đối tượng x thì: length(g) = 1 nếu x
length(g) = 2 nếu x C(1)
length(g) = 3 nếu x C(2)
b/ Nếu g = f * h, với f, h là các biểu thức giữa các đối tượng, và operator * Ops, thì:
length(g) = length(f) + length(h)
Định nghĩa 3.5: Cho hai biểu thức g và h, g được gọi là “đơn giản hơn” h nếu
và chỉ nếu length(g) length(h) Kí hiệu: g << h
3.1.2.4 Rules – Tập các luật
Mỗi luật suy diễn r Rules là một trong hai dạng sau:
Rules =Rule deduce Rule equation
Trường hợp 1: r Rulededuce.Trong trường hợp này, r là một luật dẫn của miền tri thức có dạng sau:
Trang 35u(r) = {f1, f2,…,fp} {q1,q2,…qk} = v(r) Trong đó, fi và qi là các sự kiện của mô hình, với các loại sự kiện được định nghĩa trong 3.2
Trường hợp 2: r Ruleequation.Trong trường hợp này, r là luật dưới dạng phương trình biểu diễn quan hệ tính toán giữa các đối tượng hoặc giữa các thuộc tính của đối tượng, r có dạng:
g(o1, o2,…, ok) = h(x1, x2,…, xp) với oi, xi là các đối tượng và g, h là các biểu thức giữa các đối tượng
Ruleequation được phân loại thành hai lớp như sau:
Ruleequation = Rulesimply Ruleexpand với, Rulesimply = {r Ruleequation | right(r) << left(r)}
Ruleexpand = {r Ruleequation | length(left(r)) < length( right(r))}
3.2 Mô hình bài toán và thuật giải
3.2.1 Mô hình bài toán
Định nghĩa 3.7: Mô hình bài toán trên tri thức toán tử là một bộ gồm 3 thành
phần:
O = {O1, O2, , On}
F = {f1, f2, , fm}
G = { g1, g2, , gk }
Trong đó, tập O là tập các đối tượng thuộc các khái niệm được đặc tả trong
C, F là tập các sự kiện giữa các đối tượng trong O, và G là tập các mục tiêu Một mục tiêu của bài toán có thể là các loại sau đây:
- Xác định một đối tượng hoặc thuộc tính của đối tượng
- Chứng minh sự bằng nhau giữa các biểu thức
Trang 36
Định nghĩa 2.4: Cho tri thức toán tử K = (C, Ops, Rules ), Obj = (Attr,
EqObj, RuleObj ) là một đối tượng thuộc một khái niệm trong C, và A là một tập các sự kiện
a/ Nếu e EqObj: e là phương trình (hoặc hệ phương trình) biểu diễn quan
hệ giữa k biến số thực { x1, x2,…,xk} Attr
e áp dụng được trên A khi và chỉ khi e có thể được giải từ các sự kiện trong A
Khi đó, đặt e(A) = A { x1,x2,…,xk }
b/ Nếu r RuleObj: r là luật dẫn có dạng u(r) v(r)
r áp dụng được trên A khi và chỉ khi u(r) A Khi đó, ta đặt r(A) = A v(r)
Định nghĩa 2.5: Cho tri thức toán tử K = (C, R, Ops, Rules ), A là một tập
các sự kiện Khi đó với mỗi luật r Rules, ta có:
Trang 37+ card(A { x1,x2,…,xk }) = k-1 Khi đó, đặt r(A) = A { x1,x2,…,xk } + Hoặc các đối tượng trong biểu thức left(r) (hay right(r)) xác định Khi
đó, đặt r(A) = A r
Trong đó: card(X) là hàm trả về số phần tử của tập X
left(expr) là hàm lấy vế trái của đẳng thức expr
right(expr) là hàm lấy vế phải của đẳng thức expr
Định nghĩa 2.6: Cho bài toán S = (O, F) → G trên mô hình, L là tập các sự
kiện của giả thiết bài toán Giả sử D = [r1,r2, …, rm] là danh sách các phần tử, trong
đó rj Rules hoặc rj O
Xác định: A0 = L, A1 = r1(A0), A2 = r2(A1) , … Am = rm(Am-1) và D(L) = Am Bài toán S = (O, F) → G được gọi là giải được nếu tồn tại một danh sách D thỏa mãn G D(L) Trong trường hợp này, chúng ta nói rằng D là một lời giải của bài toán S
3.2.2 Thuật giải tìm lời giải cho bài toán
Thuật giải 3.1: Trên miền tri thức Ops-model, cho đối tượng Obj = (Attr,
EqObj, RuleObj) được đặc tả như trong mục 3.1.2.1 và A là một tập các sự kiện của Obj Thuật giải sau sẽ xác định bao đóng của tập A bởi đối tượng Obj
Input: Obj = (Attr, EqObj, RuleObj): đối tượng của miền tri thức Ops-model
A: Tập các sự kiện trên Obj
Output: Obj.Closure(A)
Thuật giải:
Result ← empty
Trang 38NewEq ← EqObj
Solution_found false;
Do
H ← Result
Select phương trình f trong EqObj và giải phương trình f:
Update đẳng thức mới f vào NewEq
Update sự kiện mới f vào Result
Select hai phương trình {f, g} trong EqObj và giải hệ e = {f, g}
Update kết quả giải hệ phương trình e vào Result
Select luật dẫn r trong RuleObj và áp dụng để sinh ra sự kiện mới
Update v(r) vào Result
While (H != Result)
Result = Result NewEq
Obj.Closure(A) = A Result
Thuật giải 3.2: Cho bài toán S = (O, F) G như định nghĩa 3.7 trong mô
hình Ops-model, thuật giải tìm lời giải cho bài toán S được thiết kế dựa trên chiến lược suy diễn tiến kết hợp với các luật heuristic Ta có thuật giải sau để tìm lời giải cho bài toán S:
Input: K = (C, R, Ops, Rules): Miền tri thức được biểu diễn bời Ops-model
S = (O, F) → G : Bài toán trên miền tri thức K
Output: Lời giải của bài toán S
Trang 39Thuật giải: được xây dựng dựa trên chiến lược suy diễn tiến, trong đó các
đối tượng tham gia vào quá trình suy diễn thông qua các hành vi của của chúng
Solution empty list;
Solution_found false;
while not(Solution_found) do
Use đối tượng trong tập O và tập các sự kiện F để xác định
bao đóng của mỗi đối tượng
if (đối tượng Obj sinh ra sự kiện mới) then
Update tập sự kiện và đưa đối tượng Obj vào Solution;
Search một luật r trong tập Rules có thể áp dụng để suy diễn;
if (tìm thấy luật r) then
Use r để sinh ra sự kiện mới hoặc đối tượng mới;
Update tập sự kiện và đưa luật r vào Solution;
if (goal G xác định) then
Solution_found true;
end if;
end if;
Trang 40end do; { while }
Các thuật giải cho mô hình tri thức toán tử thể hiện tư duy của con người trong quá trình suy diễn, tìm lời giải của bài toán Thuật giải 3.1 chính là bước suy luận trên bản thân đối tượng, trong quá trình này, đối tượng sẽ tự động suy luận phát sinh các sự kiện thông qua hành vi nội tại của đối tượng Bên cạnh đó, hệ thống cũng sẽ tìm lời giải thông qua việc phát sinh các sự kiện dựa trên các luật dẫn và việc giải các phương trình thông qua các luật phương trình của tri thức trong các thuật giải 3.2
Thuật giải 3.3: Cho miền tri thức COKB rút gọn K = (C, R, Ops, Rules), và bài
toán (O,F) + f → G, thuật giải sau sẽ trả về một biểu thức g là thu gọn của biểu
thức f
Bước 1: Đơn giản f và khởi tạo một số
biến
// g là kết quả của của quá trình rút gọn f
// min là biểu thức có độ dài ngắn nhất
trong mỗi bước
Use thuật giải 3.1 với các đối tượng trong
O và các sự kiện trong F để chuyển f thành
biểu thức f’ sao cho not(f<< f’)
2.2 Thu gọn biểu thức k
Use thuật giải 3.1 với các đối
tượng trong O và các sự kiện trong
F để chuyển k thành biểu thức k’ sao cho not(k<< k’)
h:= Simple_Reduce(k’);
If h << min then min := h;