Định nghĩa 3

Một phần của tài liệu giáo trình các hệ cơ sở tri thức (Trang 102 - 106)

Cho mạng tính toán (M,F), và A là một tập con của M. Ta có thể thấy rằng có duy nhất một tập hợp B lớn nhất  M sao cho bài toán A B là giải được, và tập hợp B được gọi làbao

đóngcủa A trên mô hình (M,F). Một cách trực quan, có thể nói baođóng của A là sự mở rộng tối đa của A trên mô hình (M,F). Ký hiệu bao đóng của A là A, chúng ta có kiểm tra dễ dàng các tính chất liên quanđến bao đóng trong mệnh đề dưới đây.

Mệnh đề 3.1: Cho A và B là hai tập con của M. Ta có: (1) A A.

(2) AA.

(3) A B AB (4) A  B A B (5) A  B A B

Đối với tính giải được của bài toán, ta có thể dễ dàng kiểm chứng mệnh đề sau:

(1) Bài toán A B là giải được khi và chỉ khi các bài toán Ab là giải được với mọi b B.

(2) Nếu A B và B  C là các bài toán giải được thì bài toán A  C cũng giải được. Hơn nữa, nếu f1, f2, ..., fm

vàg1, g2, ..., gplần lượt là lời giải của bài toán AB và bài toán BC thì f1, f2, ..., fm, g1, g2, ..., gp là một lời giải của bài toán AC.

(3) Nếu bài toán A  B là giải được và B’ là một tập con của B thì AB’ cũng là một bài toán giải được. Hơn nữa, nếu f1, f2, ..., fmlà một lời giải của bài toán AB thìđó cũng là một lời giải của bài toán AB’.

Từ khái niệm bao đóng đã nóiở trên ta cũng có các định lý sau:

Định lý 3.1. Trên một mạng tính toán (M,F), bài toán A

B là giải được khi và chỉ khi B A

Từ định lý này, ta có thể kiểm tra tính giải được của bài toán A B bằng cách tính bao đóng của tập A rồi xét xem B có bao hàm trong A hay không.

Mệnh đề 3.3: Cho một dãy quan hệ D = f1, f2, ..., fk F, AM.Đặt :

A0= A, A1= A0M(f1), ..., Ak = Ak-1M(fk). Ta có các

điều sau đây là tươngđương : (1) Dãy D ápđược trên A. (2) Với mọi i=1, ..., k ta có:

Card (M(fi) \ Ai-1)  r(fi) nếu fi là quan hệ đối xứng,

M(fi) \ Ai-1 v(fi) nếu fi là quan hệ không

đối xứng.

(ký hiệu Card (X) chỉ số phần tử của tập X).

Ghi chú: Dựa vào mệnh đề 3.3 ta có một thuật toán để kiểm tra tính áp dụng được của một dãy quan hệ D trên một tập biến A.

Định lý 3.2. Cho một mạng tính toán (M,F), A, 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 quan hệ D = f1, f2, ..., fk F thỏa các

điều kiện :

(a) D ápđược trên A. (b) D(A)B.

Chứng minh : Giả sử có (1), tức là B A. Khiđó bài toán AB là giải được. Do đó có một dãy quan hệ f1, f2, ..., fk 

F sao cho khi ta lần lượt áp dụng các quan hệ fi (i=1,...,k) xuất phát từ giả thiết A thì sẽ tính được các biến thuộc B. Dễ dàng thấy rằng dãyf1, f2, ..., fknầy thỏa các điều kiện (2).

Đảo lại, giả sử có (2). Với các điều kiện có được bởi (2) ta thấy filà lời giải của vấn đề Ai-1Ai, với mọi i = 1,2, ..., k. Từ mệnh đề 3.2 suy ra bài toán A0  Ak là giải được. Do đó bài toán AB cũng giải được, suy ra B  A theođịnh lý 3.1.

Nhận xét

1. Dãy quan hệ f1, f2, ..., fk trongđịnh lý trên là một lời giải của vấn đề A B trên mạng tính toán (M,F).

2. Trong lời giải f1, f2, ..., fkta có thể bỏ bớt những fi nào mà M(fi)Di-1(A), với Di-1=f1, f2, ..., fi-1.

Qua các định lý trên, ta thấy rằng việc xác định bao đóng của một tập biến trên mô hình tính toán là cần thiết. Dưới đây là thuật toán cho phép xác định bao đóng của tập hợp A  M. Trong thuật toán này chúng ta thử áp dụng các quan hệ f Fđể tìm dần những biến thuộc M có thể tính được từ A; cuối cùng sẽ

được bao đóng của A.

Thuật toán 3.1. Tìm baođóng của tập A M :

Nhập : Mạng tính toán (M,F), AM. Xuất : A Thuật toán : 1. BA; 2. Repeat B1B; for fF do

if ( fđối xứng and Card (M(f) \ B)r(f)) or ( f khôngđối xứng and M(f) \ Bv(f) ) then

begin

BBM(f);

FF \f; //loại f khỏi lần xem xét sau

end;

Until B = B1; 3. A B;

Ghi chú : Trên đây ta đã nêu lên đặc trưng cho tính giải

để kiểm tra khi nào bài toán là giải được. Ngoài ra chúng ta sẽ còn nêu lên cách để kiểm định giả thiết của bài toán; và trong trường hợp bài toán chưa đủ giả thiết có thể bổ sung thêm nếu

được.

6.4.2. Lời giải của bài toán

Ở trên ta đã nêu lên cách xác định tính giải được của bài toán. Tiếp theo, ta sẽ trình bày cách tìm ra lời giải cho bài toán A  B trên mạng tính toán (M,F). Trước hết từ nhận xét sau

định lý 3.2 ta có mệnh đề sau đây:

Mệnh đề 3.4: Dãy quan hệ D 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ệ để mở rộng dần tập các biến có giá trị được xác định; và quá trình này tạo ra một sự lan truyền tính xác định trên tập các biến cho đến khi đạt đến tập biến B. 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 tính toán (M,F).

Thuật toán 3.2: Tìm một lời giải cho bài toán AB:

Nhập : Mạng tính toán (M,F), 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 :

Một phần của tài liệu giáo trình các hệ cơ sở tri thức (Trang 102 - 106)

Tải bản đầy đủ (PDF)

(187 trang)