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) AA.
(3) A B AB (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 Ab 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, ..., gplần lượt là lời giải của bài toán AB và bài toán BC thì f1, f2, ..., fm, g1, g2, ..., gp là một lời giải của bài toán AC.
(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ì AB’ cũng là một bài toán giải được. Hơn nữa, nếu f1, f2, ..., fmlà một lời giải của bài toán AB thìđó cũng là một lời giải của bài toán AB’.
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, AM.Đặt :
A0= A, A1= A0M(f1), ..., Ak = Ak-1M(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) BA.
(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 AB 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ãyf1, f2, ..., fknầ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 filà lời giải của vấn đề Ai-1Ai, 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 AB 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, ..., fkta 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), AM. Xuất : A Thuật toán : 1. BA; 2. Repeat B1B; for fF do
if ( fđối xứng and Card (M(f) \ B)r(f)) or ( f khôngđối xứng and M(f) \ Bv(f) ) then
begin
BBM(f);
FF \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 AB 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 AB 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 AB:
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 AB
Thuật toán :