Tính giại được

Một phần của tài liệu Bài giảng biểu diễn tri thức và giải toán tự động (Trang 77 - 90)

III. Tìm lời giạ

3.1 Tính giại được

ª Định nghĩa “bao đĩng”:

„ Cho máng suy dieên (M,F), và A là moơt taơp con cụa M.

Ta cĩ theơ thây raỉng cĩ duy nhât moơt taơp hợp B lớn nhât M sao cho bài tốn A B là giại được, và taơp

hợp B naăy được gĩi là bao đĩng cụa A tređn máng

(M,F).

„ Ký hieơu bao đĩng cụa A là

„ Closure(A).

ª Định lý:

„ Tređn moơt máng suy dieên (M,F), bài tốn A B là giại được khi và chư khi B Closure(A).

ª Meơnh đeă:

„ Tređn moơt máng suy dieên (M,F), giạ sử A, B là hai taơp con cụa M. Ta cĩ các đieău sau đađy là tương đương: „ (1) B Closure(A).

„ (2) Cĩ moơt dãy quan heơ D = f1, f2, ..., fk F thỏa các đieău kieơn :

(a) D áp được tređn A.

ª Thuaơt tốn tìm bao đĩng cụa A tređn máng (M,F).

„ 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 khođng đơi xứng and M(f) \ B v(f) )

then

begin

B B M(f);

F F \ f ; // lối f khỏi laăn xem xét sau

end;

Until B = B1; 3. Closure(A) B;

3.2 Tìm lời giại

ª Meơnh đeă:

„ Dãy quan heơ suy dieên D là moơt lời giại cụa bài tốn

A B khi và chư khi D áp dúng được tređn A và D(A) B.

Đeơ tìm moơt lời giại ta cĩ theơ làm như sau: Xuât phát từ

giạ thiêt A, ta thử áp dúng các quan heơ đeơ mở roơng daăn taơp các biên được xác định (được biêt); và quá trình naăy táo ra moơt sự lan truyeăn tính xác định tređn

ª Thuaơt tốn tìm moơt lời giại cụa bài tốn A B .

„ 1. Solution empty;

// Solution là dãy các quan heơ sẽ áp dúng

„ 2. if B A then

begin

Solution_found true;

// biên Solution_found = true khi

// bài tốn là giại được

goto bước 4;

end else

Solution_found false;

3. Repeat

Aold A; Chĩn ra moơt f F chưa xem xét;

while not Solution_found and (chĩn được f) do

begin

if ( f đơi xứng and 0 < Card (M(f) \ A) r(f) ) or

(f khođng đơi xứng and M(f) \ A v(f)) then

begin A A M(f); Solution Solution f ; end; if B A then Solution_found true;

Chĩn ra moơt f F chưa xem xét;

end; while

4. if not Solution_found then Bài tốn khođng cĩ lời giại;

else

Solution là moơt lời giại; ° Nhaơn xét:

„ khi caăn trình bày quá trình giại (hay bài giại) ta cĩ theơ xuât phát từ lời giại tìm được dưới dáng moơt dãy các quan heơ đeơ xađy dựng bài giại.

„ Lời giại (nêu cĩ) tìm được trong thuaơt tốn tređn chưa chaĩc là moơt lời giại tơt. Ta cĩ theơ boơ sung theđm cho

thuaơt tốn ở tređn moơt thuaơt tốn đeơ tìm moơt lời giại tơt

từ moơt lời giại đã biêt nhưng chưa chaĩc là tơt.

ª Thuaơt tốn tìm moơt lời giại tơt cụa bài tốn A B .

„ Giạ sử f1, f2, ..., fm là moơt lời giại cụa bài tốn A B. Tìm moơt lời giại tơt cho bài tốn.

„ 1. D f1, f2, ..., fm ;

2. for i=m downto 1 do

if D \ fi là moơt lời giại then

D D \ fi ;

3. D là moơt lời giại tơt.

° Lưu ý: ta cĩ theơ tìm moơt lời giại tơt từ moơt lời giại biêt trước baỉng cách laăn lượt xem xét các quan heơ trong taơp lời giại đã biêt và chĩn ra các quan heơ đeơ đưa vào moơt lời giại mới sao cho trong lời giại mới naăy khođng theơ bớt ra bât kỳ moơt quan heơ nào.

Ví dú:

„ Cho tam giác ABC cĩ cánh a và 2 gĩc keă là , được cho trước. Hãy xác định (hay suy ra) S cụa tam giác. ° Đeơ tìm ra lời giại cho bài tốn trước hêt ta xét máng

suy dieên cụa tam giác. Máng suy dieên naăy goăm :

„ Taơp biên M = a, b, c, , , , ha, hb, hc, S, p, R, r, ... ,

„ trong đĩ a,b,c là 3 cánh; , , là 3 gĩc tương ứng với 3 cánh; ha, hb, hc là 3 đường cao; S là dieơn tích tam

giác; p là nửa chu vi; R là bán kính đường trịn ngối

tiêp tam giác; r là bán kính đường trịn noơi tiêp tam

giác, v.v...

„ Các quan heơ suy dieên theơ hieơn bởi các cođng thức sau đađy: „ f1 : + + = „ f2 : „ f3 : „ f4 : „ f5 : p = (a+b+c) /2 „ f6 : S = a.ha / 2 sin b sin a sin b sin c sin c sin a

„ f7 : S = b.hb / 2 „ f8 : S = c.hc / 2 „ f9 : S = a.b.sin / 2 „ f10 : S = b.c.sin / 2 „ f11 : S = c.a.sin / 2 „ f12 : S = „ v.v…

„ Múc tieđu cụa bài tốn là suy ra S (dieơn tích cụa tam giác).

c) b)(p

a)(p p(p

„ Theo đeă bài ta cĩ giạ thiêt là : A = a, , , và taơp biên caăn xác định là B = S .

„ Aùp dúng thuaơt tốn tìm lời giại ta cĩ moơt lời giại cho bài tốn là dãy quan heơ suy dieên sau:

„ f1, f2, f3, f5, f9 .

„ Xuât phát từ taơp biên A, laăn lượt áp dúng các quan heơ trong lời giại ta cĩ taơp các biên được xác định mở roơng daăn đên khi S được xác định :

„ a, , a, , , a, , , , b

a, , , , b, c a, , , , b, c, p

„ Cĩ theơ nhaơn thây raỉng lời giại tređn khođng phại là lời giại tơt vì cĩ bước suy dieên thừa, chẳng hán là f5.

Thuaơt tốn “tìm lời giại tơt” sẽ lĩc ra từ lời giại tređn

moơt lời giại tơt là f1, f2, f9 :

„ a, , a, , , a, , , , b a, , , , b, S .

„ Theo lời giại naăy, ta cĩ quá trình suy dieên như sau :

„ bước 1: Xác định (áp dúng f1).

„ bước 2: Xác định b (áp dúng f2).

„ bước 3: Xác định S (áp dúng f9).

Một phần của tài liệu Bài giảng biểu diễn tri thức và giải toán tự động (Trang 77 - 90)

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

(176 trang)