1. Trang chủ
  2. » Luận Văn - Báo Cáo

Development of knowledge components about functions and operators on the model of computational object knowledge base

82 10 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 82
Dung lượng 1,28 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

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 1

MỤ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 2

Chươ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 3

Chươ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 4

Cá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 5

chư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 6

Ví 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 7

Vớ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 8

1.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 9

1.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 10

cầ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 12

Bê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 13

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

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 14

2.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 15

Cá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 17

Tí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 18

2.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 20

b) 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 22

toá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 23

Bướ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 24

Xá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 26

Cá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 27

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Ử

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 cC(1), Dom(x)  Ic} 2/  xo  Attrs, cxoC(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 31

2/ 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 dADObj(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 33

PROPERTY: 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 34

Quy 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 35

u(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 38

NewEq ← 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 39

Thuậ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 40

end 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;

Ngày đăng: 22/01/2021, 20:30

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN