Mạng suy diễn tính toán
Trang 1MẠNG SUY DIỄN - TÍNH TOÁN
Đỗ Văn NhơnĐại Học Quốc Gia TPHCM
Trang 2GIỚI THIỆU
• Nghiên cứu các phương pháp biểu diễn và xử lý tri
thức là cốt lõi cho việc xây dựng những chương trình
“thông minh”, đặc biệt là các hệ chuyên gia và các hệ giải toán dựa trên tri thức
• Phần này sẽ nêu lên một mô hình biểu diễn tri thức được gọi là Mạng Suy diễn - Tính toán Các thuật giải cho các vấn đề cơ bản trên mô hình được thiết kế và áp dụng trong một số chương trình cụ thể
Trang 3NỘI DUNG
I Dẫn nhập
II Mô hình Mạng suy diễn và vấn đềIII Tìm lời giải
IV Lời giải tối ưu
V Tập hợp sinh
VI Mạng Suy diễn - Tính toán
Trang 4I Dẫn Nhập
1.1 Sự cần thiết của việc nghiên cứu xây dựng và phát
triển các mô hình biểu diễn tri thức cho các chương
trình giải toán thông minh
1.2 Các ví dụ dẫn tới sự đề xuất mô hình Mạng Suy diễn - Tính toán và các vấn đề cơ bản trên mô hình
Trang 51.1 VẤN ĐỀ BIỂU DIỄN TRI THỨC
° Trong cấu trúc của một hệ giải toán dựa trên tri thức, 2 thành phần trung tâm là cơ sở tri thức và bộ suy diễn dựa trên tri thức
° Đã có nhiều phương pháp biểu diễn tri thức và suy
diễn đã được nghiên cứu và đề xuất Tuy nhiên mỗi phương pháp đều chỉ thể hiện được một khía cạnh nào đó của tri thức và có những nhược điểm nhất định
⇒ Cần xây dựng và phát triển các mô hình biểu diễn tri thức giúp thiết kế và cài đặt phần tri thức cũng như
phần suy diễn của các hệ giải toán dựa trên tri thức
Trang 61.2 CÁC VÍ DỤ DẪN TỚI MÔ HÌNH
Trong nhiều chủ đề giải toán thường gặp những vấn đề đặt ra dưới dạng như sau:
° Cần phải thực hiện những tính toán hay suy diễn ra những yếu tố cần thiết nào đó từ một số yếu tố đã
được biết trước
° Để giải quyết vấn đề người ta phải vận dụng một số hiểu biết (tri thức) nào đó về những liên hệ giữa các yếu tố đang được xem xét Những liên hệ cho phép ta có thể suy ra được một số yếu tố từ giả thiết đã biết một số yếu tố khác
Trang 7Ví dụ 1.
• Giả sử chúng ta đang quan tâm đến một số yếu tố
trong một tam giác, chẳng hạn : 3 cạnh a, b, c; 3 góc tương ứng với 3 cạnh : α, β, γ; 3 đường cao tương ứng :
ha, hb, hc; diện tích S của tam giác; nửa chu vi p của tam giác; bán kính đường tròn nội tiếp r của tam giác
• Giữa 12 yếu tố trên có các công thức thể hiện những mối quan hệ giúp ta có thể giải quyết được một số vấn
đề tính toán đặt ra như: Tính một yếu tố từ một số yếu tố được cho trước Chẳng hạn, tính S khi biết a, b
và p
Trang 8• Liên hệ giữa 3 góc : α + β + γ = π
csin
bsin
a
=
=
Trang 9• Liên hệ giữa nửa chu vi và 3 cạnh :
a)(p p(p − − −
S =
Trang 10Ví dú 2.
• Moôt vaôt theơ coù khoâi löôïng m chuyeơn ñoông thaúng vôùi gia toâc khođng thay ñoơi laø a trong moôt khoạng thôøi gian tính töø thôøi ñieơm t1 ñeân thôøi ñieơm t2 Vaôn toẫc ban ñaău cụa vaôt theơ laø v1, vaôn toâc ôû thôøi ñieơm cuoâi laø v2, vaø vaôn toâc trung bình laø v Khoạng caùch giöõa ñieơm ñaău vaø
ñieơm cuoâi laø ∆s Löïc taùc ñoông cụa chuyeơn ñoông laø f Ñoô bieân thieđn vaôn toâc giöõa 2 thôøi ñieơm laø ∆v, vaø ñoô
bieân thieđn thôøi gian laø ∆t Ngoaøi ra coøn coù moôt soâ yeâu toâ khaùc nöõa cụa chuyeơn ñoông vaôt theơ coù theơ ñöôïc quan tađm
Trang 11Để giải những bài toán về chuyển động nầy chúng ta phải sử dụng một số công thức liên hệ giữa các yếu tố của chuyển động, chẳng hạn như:
Trang 13II Mô hình Mạng Suy diễn2.1 Mô hình.
ª Sự bổ sung giả thiết
2.3 Một số khái niệm và ký hiệu
Trang 142.1 Mô hình
ª Giới thiệu:
• Nhận thấy có nhiều vấn đề trong các lĩnh vực khác
nhau đặt ra dưới dạng một “mạng” các yếu tố, trong đó giữa các yếu tố có những mối liên hệ (hay quan hệ) cho phép ta có thể suy ra được một số yếu tố nầy từ một số yếu tố khác
• Mô hình mạng suy diễn - tính toán là một sự khái quát dạng tri thức trên, và có thể dùng biểu diễn tri thức và thiết kế các chương trình giải toán tự động
Trang 15ª Định nghĩa
° Quan hệ suy diễn:
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 D1, D2, ,Dm Mỗi
quan hệ suy diễn R trên M được xác định bởi một (hay
một số) ánh xạ có dạng:
• fR,u,v : Du → Dv,
• trong đó u,v là các bộ biến được phân chia từ bộ biến
x = <x1,x2, ,xm>; 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
Trang 16• Quan hệ suy diễn R(x) có thể được biểu diễn bởi một (hay một số) ánh xạ fR,u,v và ta viết vắn tắt là:
• Cách ký hiệu trên bao hàm ý nghĩa như một luật suy
diễn: ta có thể xác định hay suy ra được các biến thuộc
v khi biết các biến thuộc u
• Quan hệ là đối xứng và có hạng k khi quan hệ đó giúp
ta có thể tính được k biến bất kỳ từ m-k biến kia (ở đây
x là bộ gồm m biến < x1,x2, ,xm >)
Trang 18• 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ệ đối xứng có hạng k bằng hạng của ma trận hệ số của hệ phương trình
Trang 19ª Định nghĩa
° Mạng suy diễn, viết tắt là MSD, là một cấu trúc (M,F)
gồm 2 tập hợp:
˜ M = {x1,x2, ,xn}, là tập hợp các thuộc tính hay các biến lấy giá trị trong các miền xác định nào đó
˜ F = {f1,f2, ,fm}, là tập hợp các luật suy diễn có dạng:
˜ f : u(f) → v(f)
trong đó u(f) và v(f) là các tập hợp con khác rỗng của
M sao cho u(f) ∩ v(f) = ∅.ø
˜ Ký hiệu: M(f) = u(f) ∪ v(f)
Trang 20ª Ví dụ: Mạng suy diễn cho một hình chữ nhật.
• Việc tính toán trên một hình chữ nhật liên quan đến một số giá trị của hình chữ nhật như sau :
• b1, b2 : hai cạnh của hình chữ nhật;
• d : đường chéo của hình chữ nhật;
• S : diện tích của hình chữ nhật;
• p : chu vi của hình chữ nhật;
• trong đó mỗi biến đều có giá trị là thuộc tập các số thực dương
Trang 21• Giữa các biến ta đã biết có các quan hệ tính toán sau
đây:
f1 : S = b1 * b2;
f2 : p = 2 * (b1 + b2);
f3 : d2 = b12 + b22;
• Về mặt suy luận, các quan hệ nầy đều có thể xem là
các quan hệ suy diễn đối xứng có hạng là 1 Như vậy tập biến và tập quan hệ của mạng nầy là :
• M = {b1, b2, d, s, p},
• R = {f1, f2, f3}
Trang 22• Mạng (M,R) trên tương ứng với mạng suy diễn (M, F) với F là tập các luật suy diễn sau đây:
Trang 232.2 Các vấn đề cơ bản
ª Tính giải được:
• Có thể xác định được (hay suy ra) 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?
Cho một mạng suy diễn (M,F) với M là tập các thuộc tính (hay các biến) và F là tập các quan hệ suy diễn hay các luật suy diễn
Giả sử có một tập biến A ⊆ M đã được xác định (tức là tập gồm các biến đã biết trước), và B là một tập biến bất kỳ trong M
Trang 24ª Tìm lời giải:
• Nếu có thể suy ra được B từ A thì quá trình suy diễn như thế nào? Trong trường hợp có nhiều cách suy diễn khác nhau thì cách suy diễn nào là tốt nhất?
ª Bổ sung giả thiết:
• 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
° Ký hiệu bài toán xác định B từ A là:
• A → B
Trang 252.3 Một số khái niệm và ký hiệu
ª Định nghĩa:
• Một luật suy diễn u → v được được gọi là áp dụng
được trên A khi u ⊂ A
• Một quan hệ suy diễn được gọi là áp dụng được trên A khi nó xác định một luật suy diễn áp dụng được trên A
• Dãy D = {f1, f2, , fk} các quan hệ suy diễn (hay luật
suy diễn) của mạng suy diễn (M,F) được nói 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
Trang 26ª Ký hiệu:
• Với D = {f1, f2, , fk}, đặt:
• A0 = A, A1 = A0 ∪ M(f1), , Ak = Ak-1 ∪ M(fk),
• và ký hiệu Ak là D(A)
• 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
• Ví dụ:
Trong mạng suy diễn cho một hình chữ nhật, với A = {
b1, b2 }và D = { f1: S = b1 * b2; f2:p = 2*(b1+b2)} ta có D(A) = { b1, b2, S, p}
Trang 27ª Định nghĩa lời giải:
• D = {f1, f2, , fk} là một lời giải của bài toán A → B khi 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ẽ suy ra được các biến thuộc B Nói cách khác D là một lời giải của bài toán khi D(A) ⊃ B
• Bài toán A → B là giải được khi nó có một lời giải.
• 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 ngắn nhất:ù có số bước suy diễn thấp nhất.
Trang 28III Tìm lời giải
3.1 Tính giải được
3.2 Thuật toán tìm lời giải3.3 Phân tích quá trình giải
Trang 293.1 Tính giải được
ª Định nghĩa “bao đóng”:
• Cho mạng suy diễ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 nầy được gọi là bao đóng của A trên mạng
(M,F)
• Ký hiệu bao đóng của A là
• Closure(A)
Trang 30• (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
Trang 31ª Thuật toán tìm bao đóng của A trên mạng (M,F).
Trang 323.2 Tìm lời giải
ª Mệnh đề:
• Dãy quan hệ suy diễn 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
⇒ Để 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 xác định (được biết); 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
Trang 33ª Thuật toán tìm một lời giải của bài toán A → B
// biến Solution_found = true khi
// bài toán là giải được
goto bước 4;
end
else
Solution_found ← false;
Trang 343
3 Repeat
Aold ← A; Chọn ra mộ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 không đối xứng and ∅ ≠ M(f) \ A ⊆ v(f)) then
Trang 354
4 if not Solution_found then
Bài toán không có lời giải;
• 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 một 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
Trang 36ª Thuật toán tìm một lời giải tốt của bài toán A → B
• Giả sử {f1, f2, , fm} là một lời giải của bài toán A→ B Tìm một lời giải tốt cho bài toán
• 1 D ← {f1, f2, , fm};
2 for i=m downto 1 do
if D \ {fi} là một lời giải then
D ← D \ {fi};
3 D là một lời giải tốt
° Lưu ý: ta có thể tìm một lời giải tốt từ một lời giải biết trước bằng cách 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ể
Trang 37• 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à 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, v.v
Trang 38• Các quan hệ suy diễn thể hiện bởi các công thức sau đây:
Trang 39a)(p p(p − − −
Trang 40• Theo đề bài ta có giả thiết là : A = {a, β, γ}, và tập
biến cần xác định là B = {S}
• Aùp dụng thuật toán tìm lời giải ta có một lời giải cho bài toán là dãy quan hệ suy diễn 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, β, γ} → {a, β, γ, α} → {a, β, γ, α, b}
→ {a, β, γ, α, b, c} → {a, β, γ, α, b, c, p}
→ {a, β, γ, α, b, c, p, S}
Trang 41• Có thể nhận thấy rằng lời giải trên không phải là lời giải tốt vì có bước suy diễn thừa, chẳng hạn là f5
Thuật toán “tìm lời giải tốt” 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, β, γ, α} → {a, β, γ, α, b}
→ {a, β, γ, α, b, S}
• Theo lời giải nầy, ta có quá trình suy diễ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).
Trang 423.3 Phân tích quá trình giải
ª 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 của bài toán A → B trên
mạng (M,F)
• Đố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
Trang 43Đị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 suy diễn để giải quyết bài toán
• Định lý: Cho Định lý: {f1, f2, , fm} là một lời giải tốt cho bài toá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
(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 Bi-1 → Bi
nhưng không là lời giải của G → Bi , trong đó
Trang 44IV Lời giải tối ưu
4.1 Mạng Suy diễn có trọng số4.2 Định nghĩa lời giải tối ưu4.3 Tìm lời giải tối ưu
Trang 454.1 Mạng Suy diễn có trọng số
ª Dẫn nhập
• trong nhiều trường hợp áp dụng cụ thể như hệ suy diễn tính toán hay hệ suy diễn trên các phản ứng hóa học, mỗi luật suy diễn có một tham số tương ứng đại diện cho độ phức tạp của luật suy diễn hay chi phí Những tham số nầy đóng vai trò quan trọng trong tính hiệu
quả của lời giải Ví dụ, để tính a, sử dụng (1) a + b + c Ví dụ, để tính a, sử dụng
= 2*p tốt hơn sử dụng (2) a2 = b2 + c2 - 2*b*c*cos(A),
vì công thức (1) tính ít hơn công thức (2)
∀ ⇒ Mô hình mạng suy diễn có trọng số.
Trang 46ª Định nghĩa:
• Mạng suy diễn có trọng số là một mô hình (A,D,w)
gồm:
(1) một tập hợp các thuộc tính A,
(2) một tập hợp các luật suy diễn D, và
(3) một hàm trọng số dương w : D → R+
• Mỗi luật dẫn r thuộc D có dạng r : u ⇒ v, với u và v là các tập hợp con khác rỗng và rời nhau của A Ta gọi u
là phần giả thiết của luật r và ký hiệu là hypothesis(r)
Tập v được gọi là phần kết luận của luật r và ký hiệu
là goal(r) Tập hợp attr(r) = hypothesis(r) ∪ goal(r)
được gọi là tập hợp các thuộc tính trong luật r
Trang 49• Giả sử các phép toán +, -, * và / được đặt cho trọng số là 1, phép tính căn bậc 2 có trọng số là một hằng số dương c1, và các tính toán hàm lượng giác có trọng số là một hằng số dương c2 Như thế các quan hệ suy
diễn có trọng số tương ứng như sau:
Trang 504.2 Định nghĩa lời giải tối ưu
ª Giả sử (A, D, w) là một mạng suy diễn có trọng số Cho S = {f1, ,fk} là một dãy các luật suy diễn và A là một tập hợp các thuộc tính Đặt
• S 1(A) = A ∪ goal(f1) nếu hypothesis(f1) ⊆ A,
= A nếu ngược lại
• S i(A) = S i-1(A) ∪ goal(fi) nếu hypothesis (fi) ⊆ S i-1(A),
= S i-1(A) nếu ngược lại, (i=2,…,k)
• S (A) = S k(A).
Trang 51• Đặt: w(S) = w(f1) + w(f2) + + w(fk).
• Ta gọi w(S) là trọng số của S.
ª Cho một bài toán A → B dãy các luật suy diễn S được
gọi là một lời giải tối ưu của bài toán khi nó thỏa mãn các điều kiện sau đây:
• (1) S là một lời giải của bài toán A → B
(2) Trọng số của S nhỏ hơn hoặc bằng trọng số của
bất kỳ một lời giải nào khác của bài toán Nói một cách khác là
w(S) = min { w(S’) | S’ là một lời giải của
bài toán A → B }
Trang 524.3 Tìm lời giải tối ưu
ª Vấn đề: tìm lời giải tối ưu cho bài toán H → G trên một mạng suy diễn có trọng số (A, D, w).
ª Tiếp cận: thuật giải A*
⇒ cần có một biểu diễn thích hợp cho không gian trạng thái của bài toán cũng như cho yêu cầu của bài toán