1. Trang chủ
  2. » Công Nghệ Thông Tin

Giáo trình các hệ cơ sở tri thức phần 2 NXB ĐHQG TP HCM

94 349 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 94
Dung lượng 1,85 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 ứng dụng cụ thể mỗi biến và giá trị của nó thường gắn liền với một khái niệm cụ thể về sự vật, mỗi quan hệ thể hiện một sự tri thức về sự vật.Cách biểu diễn tri thức tính toán dưới

Trang 1

hệ có thể cài đặt và sử dụng được cho việc tính toán Có thể nói

rằng mạng tính toán là một sự tổng quát hoá của kiểu dữ liệu trừu tượng có khả năng tự xây dựng các hàm dùng cho việc tổng hợp thành các chương trình

Trong chương nầy chúng ta xét một mạng tính toán gồm một tập hợp các biến cùng với một tập các quan hệ (chẳng hạn các công thức) tính toán giữa các biến Trong ứng dụng cụ thể mỗi biến và giá trị của nó thường gắn liền với một khái niệm cụ thể về sự vật, mỗi quan hệ thể hiện một sự tri thức về sự vật.Cách biểu diễn tri thức tính toán dưới dạng các đối tượng nầy rất tự nhiên và gần gũi đối với cách nhìn và nghĩ của con người khi giải quyết các vấn đề tính toán liên quan đến một số khái niệm về các đối tượng, chẳng hạn như các tam giác, tứ giác, hình bình hành, hình chữ nhật

Trang 2

6.2 MẠNG TÍNH TOÁN

6.2.1 Các quan hệ

Cho M = x1,x2, ,xm là một tập hợp các biến có thể lấy giá trị trong các miền xác định tương ứng D1,D2, ,Dm Đối với mỗi quan hệ R  D1xD2x xDm trên các tập hợp D1,D2, ,Dm ta nói rằng quan hệ này liên kết các biến x1,x2, ,xm, và ký hiệu là R(x1,x2, ,xm) hay vắn tắt là R(x)(ký hiệu x dùng để chỉ bộ biến < x1,x2, ,xm >) Quan hệ R(x) xác định một (hay một số) ánh xạ :

fR,u,v: Du Dv,trong đó u,v là các bộ biến và u x, v x; Du và Dv là tích của các miền xác định tương ứng của các biến trong u và trong v

Ta có thể thấy rằng quan hệ R(x) có thể được biểu diễn bởi một ánh xạ fR,u,v với u  v = x, và ta viết :

fR,u,v : u v,hay vắn tắt là:

f : u v

Đối với các quan hệ dùng cho việc tính toán, cách ký hiệu trên bao hàm ý nghĩa như là một hàm: ta có thể tính được giá trị của các biến thuộc v khi biết được giá trị của các biến thuộc u.Trong phần sau ta xét các quan hệ xác định bởi các hàm códạng:

f : u v,trong đó u  v =  (tập rỗng) Đặc biệt là các quan hệ đối

xứng có hạng (rank) bằng một số nguyên dương k Đó là các

quan hệ mà ta có thể tính được k biến bất kỳ từ m-k biến kia (ở

Trang 3

đây x là bộ gồm m biến < x1,x2, ,xm >) Ngoài ra, trongtrường hợp cần nói rõ ta viết u(f) thay cho u, v(f) thay cho v Đối với các quan hệ không phải là đối xứng có hạng k, không làm mất tính tổng quát, ta có thể giả sử quan hệ xác định duy nhất một hàm f với tập biến vào là u(f) và tập biến ra là v(f); tagọi loại quan hệ này là quan hệ không đối xứng xác định một

hàm, hay gọi vắn tắt là quan hệ không đối xứng.

Ta có thể vẽ hình biểu diễn cho các quan hệ đối xứng và cácquan hệ không đối xứng (xác định một hàm) như trong hình 6.1

và 6.2

Hình 6.1 Quan hệ đối xứng có hạng k

Hình 6.2 Quan hệ không đối xứng có hạng k

Trang 4

Ví dụ 1: Quan hệ f giữa ba góc A, B, C trong tam giác ABC

cho bởi hệ thức: A+B+C = 180 (đơn vị: độ)

Quan hệ f giữa ba góc trong một tam giác trên đây là một quan hệ đối xứng có hạng 1

Ví dụ 2: quan hệ f giữa nửa chu vi p với các độ dài của ba

cạnh a, b, c:

Trang 5

Ví dụ 3: Quan hệ f giữa n biến x1, x2, ., xn được cho

dưới dạng một hệ phương trình tuyến tính có nghiệm Trong trường hợp này f là một quan hệ có hạng k bằng hạng của ma trận hệ số của hệ phương trình

6.2.2 Mạng tính toán và các ký hiệu

Như đã nói ở trên, ta sẽ xem xét các mạng tính toán bao gồm một tập hợp các biến M và một tập hợp các quan hệ (tính toán) F trên các biến Ta gọi một mạng tính toán một cách vắn

tắt là một MTT, và trong trường hợp tổng quát có thể viết:

Ví dụ 4

Trong ví dụ 1 ở trên, ta có M(f) =A,B,C

Trong ví dụ 2 ở trên, ta có M(f) =a,b,c,p

Trang 6

d : đường chéo của hình chữ nhật;

Các vấn đề đặt

ra là

1 Có thể xác định được tập B từ tập A nhờ các quan hệ trong F hay không? Nói cách khác, ta có thể tính được giá trị của các biến thuộc B với giả thiết đã biết giá trị của các biến thuộc A hay không?

Trang 7

2 Nếu có thể xác định được B từ A thì quá trình tính toángiá trị của các biến thuộc B như thế nào?

3 Trong trường hợp không thể xác định được B, thì cần cho thêm điều kiện gì để có thể xác định được B

Bài toán xác định B từ A trên mạng tính toán (M,F) được viết dưới dạng:

A B,

trong đó A được gọi là giả thiết, B được gọi là mục tiêutính toán (hay tập biến cần tính) của vấn đề Trường hợp tập B chỉ gồm có một phần tử b, ta viết vắn tắt bài toántrên là A b

Định nghĩa 2.1

Bài toán A B được gọi là giải được khi có thể tính toán

được giá trị các biến thuộc B xuất phát từ giả thiết A Ta nói rằng một dãy các quan hệ f1, f2, , fk  F là một lời giải của bài toán A  B nếu như 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 Lời giải f1, f2, , fk được gọi là lời giải tốt nếu không thể

bỏ bớt một số bước tính toán trong quá trình giải, tức là không

thể bỏ bớt một số quan hệ trong lời giải Lời giải được gọi là lời

giải tối ưu khi nó có số bước tính toán ít nhất, tức là số quan hệ

áp dụng trong tính toán là ít nhất

Việc tìm lời giải cho bài toán là việc tìm ra một dãy quan hệ

để có thể áp dụng tính ra được B từ A Điều nầy cũng có nghĩa

là tìm ra được một quá trình tính toán để giải bài toán

Trong quá trình tìm lời giải cho bài toán chúng ta cần xét một dãy quan hệ nào đó xem có thể tính thêm được các biến từ

Trang 8

một tập biến cho trước nhờ dãy quan hệ nầy hay không Do đó chúng ta đưa thêm định nghĩa sau đây

Định nghĩa 2.2

Cho D = f1, f2, , fk là một dãy quan hệ của mạng tính

toán (M,F), A là một tập con của M Ta nói dãy quan hệ D là áp

dụng được trên tập A khi và chỉ khi ta có thể lần lượt áp dụng

được các quan hệ f1, f2, , fk xuất phát từ giả thiết A

Nhận xét : Trong định nghĩa trên, nếu đặt : A0= A, A1= A0

 M(f1), , Ak = Ak-1 M(fk), và ký hiệu Ak là D(A), thì ta

có D là một lời giải của bài toán A D(A) Trong trường hợp

D là một dãy quan hệ bất kỳ (không nhất thiết là áp dụng được trên A), ta vẫn ký hiệu D(A) là tập biến đạt được khi lần lượt áp dụng các quan hệ trong dãy D (nếu được) Chúng ta có thể nói rằng D(A) là sự mở rộng của tập A nhờ áp dụng dãy quan hệ D

Thuật toán tính D(A)

Nhập : Mạng tính toán (M,F),

A  M, dãy các quan hệ D = f 1 , f 2 , , fm.

Trang 9

6.4 GIẢI QUYẾT VẤN ĐỀ

6.4.1 Tính giải được của bài toán

Trong mục này chúng ta nêu lên một khái niệm có liên quanđến tính giải được của vấn đề trên một mạng tính toán : bao đóng của một tập hợp biến trên một mạng tính toán

Định nghĩa 3.1

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 saocho bài toán A  B là giải được, và tập hợp B được gọi là bao

đóng củ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àngcá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ó:

Trang 10

(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àitoá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àitoá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ó:

Trang 11

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:

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àngthấ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)

Trang 12

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 :

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

được của bài toán trên một mạng tính toán và chỉ ra thuật toán

Trang 13

để 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à trongtrườ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àitoá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àytạ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 :

1 Solution  empty; // Solution là dãy các quan hệ sẽ

//áp dụng

Trang 14

2 if B  A then

begin

Solution_found true; // biến Solution_found =

// true khi bài toán là giải được

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

f không đối xứng and   M(f) \ A  v(f) )

then begin

Until Solution_found or (A = Aold);

4 if not Solution_found then

Bài toán không có lời giải;

else

Solution là một lời giải;

Trang 15

Ghi chú

1 Về sau, khi cần trình bày quá trình giải (hay bài giải) ta

có thể xuất phát từ lời giải tìm được dưới dạng một dãycác quan hệ để xây dựng bài giải

2 Lời giải (nếu có) tìm được trong thuật toán trên chưa chắc

là một lời giải tốt Ta có thể bổ sung thêm cho thuật toán

ở trên thuật toán để tìm một lời giải tốt từ một lời giải đãbiết nhưng chưa chắc là tốt Thuật toán sẽ dựa trên định

lý được trình bày tiếp theo đây

Định lý 3.3 Cho D =f1, f2, , fm là một lời giải của bàitoán A  B ứng với mỗi i = 1, ,m đặt Di = f1, f2, , fi,D0= Ta xây dựng một họ các dãy con Sm, Sm-1, , S2, S1của dãy D như sau :

Sm=  nếu Dm-1là một lời giải,

Sm= fm nếu Dm-1không là một lời giải,

Si= Si+1 nếu Di-1 Si+1là một lời giải,

Si= fi  Si+1 nếu Di-1  Si+1 không là một lời giải,

Trang 16

Từ định lý 3.3 trên ta có một thuật toán tìm lời giải tốt từ một lời giải đã biết sau đây:

Thuật toán 3.3 tìm một lời giải tốt từ một lời giải đã biết.

Nhập : Mạng tính toán (M,F),

lời giải f 1 , f 2 , , f m  của bài toán A B.

Xuất : lời giải tốt cho bài toán A  B

Thuật toán :

1 D  f 1 , f 2 , , f m ;

2 for i=m downto 1 do

if D \ fi là một lời giải then

D  D \ f i ;

3 D là một lời giải tốt.

Trong thuật toán 3.3 có sử dụng việc kiểm tra một dãy quan

hệ có phải là lời giải hay không Việc kiểm tra này có thể được thực hiện nhờ thuật toán sau đây:

Thuật toán kiểm tra lời giải cho bài toán

Nhập : Mạng tính toán (M,F),

bài toán A B,

dãy các quan hệ f 1 , f 2 , , f m .

Xuất : thông tin cho biết f 1 , f 2 , , f m  có phải là lời giải của

bài toán A B hay không.

Thuật toán :

1.for i=1 to m do

if ( fiđối xứng and Card (M(fi ) \ A)  r(f i) ) or

( fi không đối xứng and M(fi ) \ A  v(f i) ) then

A  A  M(f i );

2.if A  B then

f  là lời giải

Trang 17

f 1 , f 2 , , f m  không là lời giải;

Ở trên ta đã có một thuật toán tổng quát để tìm lời giải tốt cho bài toán khi đã biết trước một lời giải Tuy nhiên trong ứng dụng cụ thể ta thường gặp các quan hệ đối xứng có hạng một hơn là các quan hệ đối xứng có hạng lớn hơn 1 Trong trường hợp như thế ta có thể áp dụng một thuật toán khác để tìm một lời giải tốt từ một lời giải biết trước với mức độ tính toán ít hơn.Theo thuật toán nầy, ta lần lượt xem xét các quan hệ trong tập lời giải đã biết và chọn ra các quan hệ để đưa vào một lời giải mới sao cho trong lời giải mới này không thể bớt ra bất kỳ một quan hệ nào

Thuật toán 3.4 Tìm một lời giải tốt từ một lời giải đã biết

không chứa quan hệ đối xứng hạng > 1

Nhập : Mạng tính toán (M,F),

Lời giải f 1 , f 2 , , f m  của bài toán A B,

Điều kiện : fi không phải là quan hệ đối xứng có hạng lớn hơn 1.

Xuất : lời giải tốt cho bài toán A B

for i=1 to m do Ai = A i-1  M(f i );

2. // Dò theo chỉ số i từ 0 tìm i đầu tiên sao cho A i  B.

i  0;

while not (Ai B) do

Trang 18

6 // Dò theo chỉ số i từ 1 đến m – 1 tìm i đầu tiên (nếu có) //

sao cho ta có thể áp dụng fm trên Ai để tính ra được // B.

i_found  false;

i  1;

while not i_found and (i  m –1) do

if ((fmđối xứng and Card (M(fm ) \ Ai)  r(f m ))

or (fmkhông đối xứng and M(fm ) \ Ai  v(f m ) )

and (B M(f m ) Ai) then

8 NewSolution là một lời giải tốt của bài toán A  B.

Ví dụ : Bây giờ ta xét một ví dụ cụ thể để minh họa cho các

thuật toán trên

Cho tam giác ABC có cạnh a và hai góc kề là ,  được cho trước

Tính diện tích S của tam giác

Để tìm ra lời giải cho bài toán trước hết ta xét mạng tính

Trang 19

1 Tập biến M = a, b, c, , , , ha, hb, hc, S, p, R, r, ,trong đó a, b, c là ba cạnh; , ,  là ba góc tương ứng với

ba cạnh; ha, hb, hc là ba đường cao; S là diện tích tam giác;

p là nửa chu vi; R là bán kính đường tròn ngoại tiếp tam giác; r là bán kính đường tròn nội tiếp tam giác

3 Yêu cầu tính : S (diện tích của tam giác)

Theo đề bài ta có giả thiết là : A =a, , , và tập biến cần tính là B =S

Trang 20

Áp dụng thuật toán tìm lời giải (thuật toán 3.2) ta có một lời giải cho bài tính là dãy quan hệ sau:

f1, f2, f3, f5, f9

Xuất phát từ tập biến A, lần lượt áp dụng các quan hệ trong lời giải ta có tập các biến được xác định mở rộng dần đến khi S được xác định :

a, ,  f1 a, , ,   f2 a, , , , b  f3

a, , , , b, c  f5 a, , , , b, c, p  f9 a, , ,

, b, c, p, S

Có thể nhận thấy rằng lời giải này không phải là lời giải tốt

vì có bước tính toán thừa, chẳng hạn là f5 Thuật toán 3.3 hay thuật toán 3.4 sẽ lọc ra từ lời giải trên một lời giải tốt là f1, f2,f9:

a, ,   a, , , f1   a, , , , bf2  f9

Trang 21

Liên quan đến lời giải tối ưu cho bài toán, ta có thể dễ dàngchứng minh mệnh đề dưới đây dựa vào tính thứ tự tốt của tập hợp các số tự nhiên.

Mệnh đề 3.3. Nếu bài toán A  B là giải được thì sẽ tồn tại một lời giải tối ưu cho bài toán

Ngoài ra, ta có thể áp dụng thuật toán A* (thuật toán heuristic) để tìm ra một lời giải tối ưu trong trường hợp bài toán

là giải được

Hình 6.3 Sơ đồ thể hiện một mạng tính toán.

6.4.4 Kiểm định giả thiết cho bài toán

yXét bài toán A B trên mạng tính toán (M,F) Trong mục n

Hình 6.3 Sơ đồ thể hiện một mạng tính toán

6.4.4 Kiểm định giả thiết cho bài toán

Xét bài toán A  B trên mạng tính toán (M,F) Trong mục này chúng ta xem xét giả thiết A của bài toán xem thừa hay thiếu, và trong trường hợp cần thiết ta tìm cách điều chỉnh giả thiết A

Trang 22

Trước hết ta cần xét xem bài toán có giải được hay không Trường hợp bài toán giải được thì giả thiết là đủ Tuy nhiên cóthể xảy ra tình trạng thừa giả thiết Để biết được bài toán có thật

sự thừa giả thiết hay không, ta có thể dựa vào thuật toán tìm sự thu gọn giả thiết sau đây:

Thuật toán 3.5 Tìm một sự thu gọn giả thiết của bài toán.

Nhập : Mạng tính toán (M,F),

Bài toán A B giải được,

Xuất : Tập giả thiết mới A’  A tối tiểu theo thứ tự .

Ghi chú : Trong thuật toán trên nếu tập giả thiết mới A’ thật

sự bao hàm trong A thì bài toán bị thừa giả thiết và ta có thể bớt

ra từ giả thiết A tập hợp các biến không thuộc A’, coi như là giả thiết cho thừa

Trường hợp bài toán A B là không giải được thì ta nói giả thiết A thiếu Khi đó có thể điều chỉnh bài toán bằng nhiều cách khác nhau để cho bài toán là giải được Chẳng hạn ta có thể sử dụng một số phương án sau đây:

Trang 23

Phương án 1 : Tìm một A’  M \ (A  B) tối tiểu sao cho bao đóng của tập hợp A’ A chứa B.

Phương án 2 : Khi phương án 1 không thể thực hiện được

thì ta không thể chỉ điều chỉnh giả thiết để cho bài toán là giải được Trong tình huống này, ta phải bỏ bớt kết luận hoặc chuyển bớt một phần kết luận sang giả thiết để xem xét lại bàitoán theo phương án 1

6.4.5 Định lý về sự phân tích quá trình giải

Xét bài toán A  B trên mạng tính toán (M,F) Trong các mục trên chúng ta đã trình bày một số phương pháp để xác định tính giải được của bài toán, tìm ra một lời giải tốt cho bài toán.Trong mục nầy ta nêu lên một cách xây dựng quá trình giải

từ một lời giải đã biết Đối với một lời giải, rất có khả năng một quan hệ nào đó dẫn tới việc tính toán một số biến thừa, tức làcác biến tính ra mà không có sử dụng cho các bước tính phía sau Do đó, chúng ta cần xem xét quá trình áp dụng các quan hệ trong lời giải và chỉ tính toán các biến thật sự cần thiết cho quá trình giải theo lời giải Định lý sau đây cho ta một sự phân tích tập các biến được xác định theo lời giải và trên cơ sở đó có thể xây dựng quá trình tính toán các biến để giải quyết bài toán

Định lý 3.4 Cho f1, f2, , fm là một lời giải tốt cho bàitoán A B trên một mạng tính toán (M,F) Đặt :

A0= A, Ai=f1, f2, , fi(A), với mọi i = 1, ,m

Khi đó có một dãyB0, B1, , Bm-1, Bm, thỏa các điều kiện sau đây:

(1) Bm= B

Trang 24

(2) Bi Ai, với mọi i = 0,1, ,m.

(3) Với mọi i = 1, ,m, fi là lời giải của bài toán Bi-1

 Bi nhưng không phải là lời giải của bài toán G  Bi, trong

đó G là một tập con thật sự tùy ý của Bi-1

Chứng minh : Ta xây dựng dãy B0, B1, , Bm-1, Bm bằng cách đặt: B = m = B, và ứng với mỗi i < m, đặt:

Bi= (Bi+1 Ai) Ai’,với Ai’ là tập có ít phần tử nhất trong Ai \ Bi+1 sao cho fi+1 ápdụng được trên tập hợp (Bi+1  Ai)  Ai’ Thật ra, Ai’ có được xác định như sau:

Ai’ = u(fi+1) \ Bi+1 nếu fi+1không đối xứng,

và nếu fi+1đối xứng thì

Ai’ = một tập con gồm max(0,ti) phần tử của tập hợp (M(fi+1)\Bi+1) Ai

trong đó ti= card(M(fi+1)) - r(fi+1) - card( M(fi+1) Bi+1 Ai).Với cách xây dựng này ta có thể kiểm tra được rằng dãyB0,B1, , Bm-1, Bm thỏa mãn các điều kiện ghi trong định lý.

Trang 25

Ghi chú

(1) Từ định lý trên ta có quá trình tính toán các biến để giải

bài toán A B như sau:

bước 1: tính các biến trong tập B1\ B0 (ápdụng f1)

bước 2: tính các biến trong tập B2\ B1 (áp dụng f2)

v.v

bước m: tính các biến trong tập Bm\ Bm-1 (áp dụng fm)

(2) Từ chứng minh của định lý trên, ta có thể ghi ra một

thuật toán để xây dựng dãy các tập biến B1’, , Bm-1’, Bm’rời nhau cần lần lượt tính toán trong quá trình giải bài toán(Bi’ = Bi\ Bi-1) gồm các bước chính như sau:

Trang 27

thể được áp dụng trong việc biểu diễn và giải một số bài toántrên các phản ứng hóa học Chúng ta biết rằng trong hóa học, việc xem xét các phản ứng hóa học là một trong những vấn đề quan trọng Về mặt tri thức người ta đã biết được nhiều chất vàcác phản ứng hóa học có thể chuyển hóa từ một số chất nàythành các chất khác Tạm thời bỏ qua một số điều kiện phản ứng, ta có thể xem tri thức đó như một mạng tính toán mà mỗi phản ứng là một quan hệ của mạng Ví dụ như phản ứng điều chế clo từ axít clohidric và đioxit mangan :

MnO2+ HCl  MnCl2+ Cl2 + H2O

Phản ứng trên có thể được xem như một quan hệ cho chúng

ta có được các chất Cl2, MnCl2, H2O từ các chất MnO2, HCl.Trong mục này ta dùng mạng tính toán để giải hai bài toánsau:

1 Cho một số chất, hỏi có điều chế được một vài chất nào đó

không?

2 Tìm các phương trình phản ứng để biểu diễn dãy các biến

hóa, chẳng hạn như các dãy :

Zn  ZnO  ZnSO4

S  SO2  SO3  H2SO4Kiến thức ta cần có đối với 2 bài toán trên là tập hợp tất cả các chất cùng với các phản ứng hóa học được phân loại thànhcác nhóm phản ứng khác nhau Dưới đây chúng ta liệt kê một

số nhóm phản ứng hóa học được lưu trữ trong phần kiến thức của chương trình

 Một số phản ứng liên quan đến khí clo

Trang 28

1/ Natri nóng chảy cháy trong clo cho phản ứng tạo thànhnatri clorua:

Trang 29

14/ Cl2 + NaBr  NaCl + Br2

 Các phản ứng liên quan đến hidro clorua HCl

15/ Cho natri clorua tinh thể tác dụng với axit sunfuric đậm đặc, đun nóng (phương pháp sunfat), tùy theo nhiệt độ ta có các phản ứng sau đây :

 Một số phản ứng khác

17/ KCl + H2SO4  KHSO4+ HCl

18/ KCl + H2SO4  K2SO4+ HCl

19/ CaCl2+ H2SO4  Ca(HSO4)2+ HCl

20/ CaCl2+ H2SO4  CaSO4+ HCl

 Các phản ứng của axit clohidric và muối clorua

Trang 30

28/ CuO + HCl  CuCl2+ H2O

29/ ZnO + HCl  ZnCl2+ H2O

30/ MgO + HCl  MgCl2+ H2O

31/ MnO2+ HCl  MnCl2+ Cl2 + H2O

32/ Al2O3+ HCl  AlCl3+ H2O

33/ Al(OH)3+ HCl  AlCl3+ H2O

34/ NaOH + HCl  NaCl + H2O

35/ KOH + HCl  KCl + H2O

36/ Zn(OH)2+ HCl  ZnCl2+ H2O

37/ Cu(OH)2+ HCl  CuCl2+ H2O

38/ Cl2+ KOH  KClO3+ KCl + H2O

39/ Cl2+ NaOH  NaClO + NaCl + H2O

40/ AgNO3+ HCl  HNO3+ AgCl

41/ CaCO3+ HCl  CaCl2+ H2O + CO2

42/ MgCO3+ HCl  MgCl2+ H2O + CO243/ BaSO3+ HCl  BaCl2+ H2SO3

44/ AgNO3+ NaCl  NaNO3+ AgCl

45/ AgNO3+ KCl  KNO3+ AgCl

46/ H2S + HClO3  HCl + H2SO4

 Nước Javen : Dẫn clo vào dung dịch NaOH:

47/ Cl2+ NaOH  NaCl + NaClO + H2O

Trang 31

 Kali clorat KClO 3

Clo đi vào dung dịch kiềm đun nóng đến 100oCsẽ cho phản ứng :

49/ Cl2+ KOH

o

t

  KCl + KClO3+ H2OKali clorat bị phân hủy khi đung nóng theo các phươngtrình :

50/ KClO3

o

t

  KCl + O251/ KClO3

o

t

  KCl + KClO4

(Kali peclorat)

 Clorua vôi : Clo tác dụng với vôi:

52/ Ca(OH)2+ Cl2  CaOCl2+ H2O

 Các phản ứng của Brom và Iot :

Trang 32

Dựa trên các thuật toán tìm lời giải trên mạng tính toán ta có thể giải được các bài toán như trong các ví dụ sau:

Ví dụ 1: Viết phương trình phản ứng biểu diễn các biến

hóa sau :

Zn  ZnO  ZnSO4

Giải : Trên cở sở dò tìm các phản ứng (xem là các quan hệ

của mạng tính toán các chất hóa học) đã biết ta có thể tìm thấy được các phản ứng sau đây :

Zn + O2  ZnO

ZnO + H2SO4  ZnSO4+ H2O

Ví dụ 2 : Từ lưu huỳnh (S) và nước (H2O) ta có thể điều chế được axit sunfuaric (H2SO4) không ?

Giải : Áp dụng các thuật toán tìm lời giải cho mạng tính toán

các chất hóa học, dò theo các phản ứng liên quan đến lưu huỳnh

và nước ta tìm ra được quá trình điều chế như sau :

điện phânH2O  H2 + O2

S + O2  SO2SO2 + O2  SO3SO3+ H2O  H2SO4Tương tự như hai ví dụ trên, với tri thức gồm các phản ứng hóa học đã biết dưới dạng một mạng các chất hóa học chúng ta cũng có thể dễ dàng giải các bài toán sau đây:

Ví dụ 3: Viết các phương trình phản ứng để thực hiện các

biến hóa theo các sơ đồ sau đây :

 SO2  H2SO4

Trang 34

Chương 7

HỆ HỌC

7.1 MỞ ĐẦU

Các chương trước đã thảo luận về biểu diễn tri thức và các

kỹ thuật suy diễn Trong trường hợp này giả định đã có sẵn tri thức và có thể biểu diễn tường minh tri thức Tuy vậy trong nhiều tình huống, sẽ không có sẵn tri thức như:

 Kỹ sư phần mềm cần thu nhận tri thức từ chuyên gialĩnh vực

 Cần biết các luật mô tả lĩnh vực cụ thể

 Bài toán không được biểu diễn tường minh theo luật, sự kiện hay các quan hệ

Do vậy cần phát triển các hệ thống có thể học từ tập các ví

dụ Có hai tiếp cận cho hệ thống học là học từ ký hiệu và học từ

dữ liệu số Học từ ký hiệu bao gồm việc hình thức hóa, sửa chữa các luật tường minh, sự kiện và các quan hệ Học từ dữ liệu số được áp dụng cho những hệ thống được mô hình dưới dạng số liên quan đến các kỹ thuật nhằm tối ưu các tham số Học theo dạng số bao gồm mạng neural nhân tạo, thuật giải di truyền, bài toán tối ưu truyền thống Các kỹ thuật học theo số không tạo ra CSTT tường minh

Trang 35

7.2 CÁC HÌNH THỨC HỌC

Có thể phân chia các loại học như sau:

7.2.1 Học vẹt

Hệ tiếp nhận các khẳng định của các quyết định đúng Khi

hệ tạo ra một quyết định không đúng, hệ sẽ đưa ra các luật hay quan hệ đúng mà hệ đã sử dụng Hình thức học vẹt nhằm cho phép chuyên gia cung cấp tri thức theo kiểu tương tác

7.2.2 Học bằng cách chỉ dẫn

Thay vì đưa ra một luật cụ thể cần áp dụng vào tình huống cho trước, hệ thống sẽ được cung cấp bằng các chỉ dẫn tổng quát Ví dụ: “gas hầu như bị thoát ra từ van thay vì thoát ra từ ống dẫn” Hệ thống phải tự mình đề ra cách biến đổi từ trừu tượng đến các luật khả dụng

Hệ thống được cung cấp đáp ứng đúng cho các tác vụ tương

tự nhưng không giống nhau Hệ thống cần làm thích ứng đáp ứng trước đó nhằm tạo ra một luật mới có khả năng áp dụngcho tình huống mới

Trang 36

7.2.5 Học dựa trên giải thích

Hệ thống phân tích tập các lời giải ví dụ ( và kết quả) nhằm

ấn định khả năng đúng hoặc sai và tạo ra các giải thích dùng để hướng dẫn cách giải bài toán trong tương lai

7.2.6 Học dựa trên tình huống

Bấy kỳ tính huống nào được hệ thống lập luận đều được lưutrữ cùng với kết quả cho dù đúng hay sai Khi gặp tình huống mới, hệ thống sẽ làm thích nghi hành vi đã lưu trữ với tìnhhuống mới

7.2.7 Khám phá hay học không giám sát

Thay vì có mục tiêu tường minh, hệ khám phá liên tục tìmkiếm các mẫu và quan hệ trong dữ liệu nhập Các ví dụ về học không giám sát bao gồm gom cụm dữ liệu, học để nhận dạng các đặc tính cơ bản như cạnh từ các điểm ảnh

7.3 CÂY ĐỊNH DANH

Cây định danh là một công cụ khá phổ biến trong nhiều dạng ứng dụng, với cơ chế rút trích các luật nhân quả xác định các mẫu dữ liệu

7.3.1 Thí dụ về thế giới thực thu gọn

Tưởng tượng có các dữ liệu về bài toán đánh giá độ rám nắng tại một nơi nghỉ mát Có người vui vì ngăm đen, nhưngcũng có người rát vì rộp da Dữ liệu quan sát trên tám người được ghi lại theo bảng sau đây

Trang 37

Dùng thuốc?

Kết quả

Bảng 7.1 Số liệu quan sát về hiện tượng rám nắng.

Nếu có ba dữ liệu khác nhau về màu tóc, cân nặng, chiều cao và người ta có thể dùng thuốc hoặc không thì sẽ có 3*3*3*2 = 54 tổ hợp Một người mới được chọn thì xác suất khớp được với mẫu là 8/54 = 0.15 Xác suất này cao hơn thực tế

do còn nhiều thuộc tính và nhiều giá trị khác mà thuộc tính cóthể nhận

Do vậy nếu so sánh các thuộc tính của đối tượng chưa biết với thuộc tính của các đối tượng thống kê thì không chính xác.Một số nhận xét về việc giải bài toán này:

 Người ta có thể xử lý dữ liệu như không gian các đặc tính, nhưng nếu không rõ thuộc tính nào là quan trọng hơn thìcũng khó tìm thấy đối tượng khớp nhất

 Có thể dùng không gian các thế hệ để cô lập các thuộc tính liên quan và thuộc tính không liên quan Tuy nhiên thường không tìm thấy lý do thuyết phục để tin được mô hình phân

Trang 38

loại có thể được diễn tả như tổ hợp các giá trị của tập các thuộc tính Mặt khác cũng có thể các mẫu bị nhiễu, không thực chính xác như thế giới thực.

 Người ta dùng thủ tục phân loại chính xác các mẫu Khi thủ tục đã học mẫu với số lượng mẫu "khá đủ", thủ tục có thể nhận ra đối tượng chưa biết

Hình 7.1 Cây định danh (Người có tên ghi đậm là người bị rám

nắng).

Một cách phù hợp cho phép thực hiện các thủ tục thử

nghiệm các thuộc tính là sắp xếp các thử nghiệm trên cây định danh Do cây định danh thuộc loại cây quyết định, đặc tả của

nó như đặc tả cây quyết định

 Định nghĩa 7.1 : Cây định danh (Identification tree)

Đen Bạc Râm

Màu tóc

Dùng thuốc Thu Đông, Xuân, Mơ

Trang 39

Cây định danh có thể hiện như cây quyết định, trong đó mỗi tập các kết luận được thiết lập ngầm định bởi một danh sách đã biết

Cây định danh dùng để xác định người bị rám nắng với kiểm tra đầu tiên là màu tóc Nếu thấy tóc đen người ta kiểm tra

có dùng thuốc không? Ngược lại, nếu tóc bạc hay râm, người ta không cần kiểm tra Nói chung việc chọn tiến hành loại kiểm tra nào là phụ thuộc vào kết quả của lần kiểm tra trước Xem ví

dụ thể hiện trong hình 7.1

Mỗi đối tượng đưa vào định danh đi xuống theo một nhánh cây, tùy theo các giá trị thuộc tính của nó Cây định danh nhưhình vẽ có thể phân loại người trong cơ sở dữ liệu "rám nắng"

vì mỗi người ứng với một nút lá trên cây định danh Nút nàydùng cho một hay nhiều người Trong hình cho thấy người bị rám nắng được đánh dấu bằng tên in đậm hơn

Người ta có thể đưa ra một cây, có các nút lá ứng với mỗi người, không liên quan gì đến thuộc tính rám nắng Liệu nó được dùng phân loại không?

So sánh cây định danh và cây tổng quát, người ta thấy cây thứ nhất là cây định danh, có vẻ liên quan đến sự rám nắng nhiều hơn cây thứ hai Cây định danh tỏ ra đã biết rằng màu tóc

và phần lộ ra ánh nắng liên quan trực tiếp đến tính rám nắng.Làm sao có thể chương trình hóa để đến được cùng một kết luận mà không cần biết trước màu tóc và việc dùng thuốc liênquan đến đặc tính của da? Một trong các giải đáp là phát biểu của Occam

 Phát biểu Occam dùng cho các cây định danh

Trang 40

Thế giới vốn đơn giản Do vậy cây định danh gồm các mẫu

là cái thích hợp nhất để định danh các đối tượng chưa biết một cách chính xác.

Theo phát biểu này, cây định danh đầu tiên nhỏ hơn cây saunên nó phù hợp hơn

7.3.2 Phân loại đối tượng theo các thuộc tính

Nếu như ta tìm kiếm cây định danh nhỏ nhất khi cần có rất nhiều thử nghiệm thì thực là không thực tế Chính vì vậy màcũng nên dừng lại ở thủ tục xây dựng những cây định danh nhỏ,

dù rằng nó không phải là nhỏ nhất Người ta chọn thử nghiệm cho phép chia cơ sở dữ liệu các mẫu thành các tập con Trong

đó nhiều mẫu cùng chung một loại Đối với mỗi tập có nhiều loại mẫu, dùng thử nghiệm khác để chia các đối tượng không đồng nhất thành các tập chỉ gồm đối tượng đồng nhất

Xét ví dụ thể hiện ở hình 7.2 Cơ sở dữ liệu “rám nắng” có thể được chia nhỏ theo bốn thử nghiệm ứng với bốn thuộc tính:

 Thử nghiệm theo cân nặng là tồi nhất nếu người ta đánh giá thử nghiệm theo các tập đồng nhất, có cùng tính chất rám nắng Sau khi dùng thử nghiệm này, những mẫu rám nắng nằm đều ở các tập

 Thử nghiệm theo chiều cao có vẻ tốt hơn Có hai người trong một tập đồng nhất Hai tập kia có lẫn cả người rám vàkhông rám nắng

 Thử nghiệm về việc dùng thuốc thu được ba đối tượng trong một tập đồng nhất gồm những người không rám nắng

Ngày đăng: 03/12/2015, 01:35

HÌNH ẢNH LIÊN QUAN

Hình 6.2. Quan hệ không đối xứng có hạng k - Giáo trình các hệ cơ sở tri thức  phần 2   NXB ĐHQG TP HCM
Hình 6.2. Quan hệ không đối xứng có hạng k (Trang 3)
Hình 6.1. Quan hệ đối xứng có hạng k - Giáo trình các hệ cơ sở tri thức  phần 2   NXB ĐHQG TP HCM
Hình 6.1. Quan hệ đối xứng có hạng k (Trang 3)
Hình 6.3. Sơ đồ thể hiện một mạng tính toán. - Giáo trình các hệ cơ sở tri thức  phần 2   NXB ĐHQG TP HCM
Hình 6.3. Sơ đồ thể hiện một mạng tính toán (Trang 21)
Bảng 7.1. Số liệu quan sát về hiện tượng rám nắng. - Giáo trình các hệ cơ sở tri thức  phần 2   NXB ĐHQG TP HCM
Bảng 7.1. Số liệu quan sát về hiện tượng rám nắng (Trang 37)
Hình 7.1. Cây định danh (Người có tên ghi đậm là người bị rám - Giáo trình các hệ cơ sở tri thức  phần 2   NXB ĐHQG TP HCM
Hình 7.1. Cây định danh (Người có tên ghi đậm là người bị rám (Trang 38)
Hình 7.2. Bốn cách phân chia cơ sở dữ liệu theo bốn thuộc tính khác - Giáo trình các hệ cơ sở tri thức  phần 2   NXB ĐHQG TP HCM
Hình 7.2. Bốn cách phân chia cơ sở dữ liệu theo bốn thuộc tính khác (Trang 41)
Hình 7.3. Ba cách phân chia tiếp theo đối với bốn người thuộc tập - Giáo trình các hệ cơ sở tri thức  phần 2   NXB ĐHQG TP HCM
Hình 7.3. Ba cách phân chia tiếp theo đối với bốn người thuộc tập (Trang 42)
Bảng 7.2. Lựa chọn cách phân chia cơ sở dữ liệu theo độ đo về sự lộn - Giáo trình các hệ cơ sở tri thức  phần 2   NXB ĐHQG TP HCM
Bảng 7.2. Lựa chọn cách phân chia cơ sở dữ liệu theo độ đo về sự lộn (Trang 44)
Bảng con 1 - Giáo trình các hệ cơ sở tri thức  phần 2   NXB ĐHQG TP HCM
Bảng con 1 (Trang 53)
Bảng con 2 - Giáo trình các hệ cơ sở tri thức  phần 2   NXB ĐHQG TP HCM
Bảng con 2 (Trang 54)
Hình 8.1. Đồ thị suy diễn - Giáo trình các hệ cơ sở tri thức  phần 2   NXB ĐHQG TP HCM
Hình 8.1. Đồ thị suy diễn (Trang 62)
Hình 8.3. Tạo ra các quan hệ IDB trên đồ thị suy diễn - Giáo trình các hệ cơ sở tri thức  phần 2   NXB ĐHQG TP HCM
Hình 8.3. Tạo ra các quan hệ IDB trên đồ thị suy diễn (Trang 64)
Hình 9.1. Đường biểu diễn của hàm đặc trưng và hàm thành viên - Giáo trình các hệ cơ sở tri thức  phần 2   NXB ĐHQG TP HCM
Hình 9.1. Đường biểu diễn của hàm đặc trưng và hàm thành viên (Trang 77)
Hình 9.2. Hàm S tăng b) Dạng S giảm - Giáo trình các hệ cơ sở tri thức  phần 2   NXB ĐHQG TP HCM
Hình 9.2. Hàm S tăng b) Dạng S giảm (Trang 78)
Hình 9.3. Hàm dạng chuông 9.2.4. Các phép toán trên tập mờ - Giáo trình các hệ cơ sở tri thức  phần 2   NXB ĐHQG TP HCM
Hình 9.3. Hàm dạng chuông 9.2.4. Các phép toán trên tập mờ (Trang 79)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm