2.2 Cập nhật xác suất trong mạng Bay-ét
2.2.2 Phương pháp dùng cây junction
Mục trên ta đã giới thiệu một phương pháp cập nhật tham số cho mạng Bay-ét bằng một cách đơn giản là tính tổng của các tích. Trong mục này, ta sẽ giải quyết một cách hệ thống bài tốn mà khơng cần suy luận ẩn trong mạng Bay-ét. Phương pháp này có thể được áp dụng cho một lượng lớn các bài tốn. Trước khi đề cập đến thuật tốn, ta sẽ tìm hiểu một số khái niệm và mệnh đề liên quan đến biểu diễn lý thuyết đồ thị.
Kí hiệu và nhiệm vụ
Xét một tập các thế nhận giá trị thực Φ = {φ1, . . . , φm} trên một tập hữu hạn các biến ngẫu nhiên V = {A1, . . . , Xn}. Giả sử Ψ là một tập các thế bất
kì. Kí hiệu P
ψ là tích của các thế ψ ∈Ψ.
Ta nói rằng X bị khử (marginalized) khỏiφ(X, Y, . . . , Z)nếu thếP
Xφ(X, Y, . . . , Z) = φ(x1, Y, . . . , Z) +. . .+φ(xk, Y, . . . , Z). Nếu U là một tập các biến ngẫu nhiên
thì ta kí hiệu P
U cho việc khử đi tất cả các biến trong tập U.
Thay vì sử dụng kí hiệu tổng, ta cũng có thể sử dụng kí hiệu hình chiếu (projection). Kí hiệu φ↓X(X, Y, . . . , Z) là thế nhận được sau khi khử các biến
Y, . . . , Z; ta gọi là thế bị chiếu xuống X. Nếu W là một tập các biến ngẫu nhiên
thìφ↓W kí hiệu là thế nhận được sau khi khử hết tất cả các biến không thuộc W. Như vậy, bằng cách khử đi tất cả các biến thuộc tập V \X, ta sẽ tính được xác suất biên duyên P(X) của X.
Nhiệm vụ: Tính P(Ai) = (Q
Φ)↓Ai với mọi Ai.
Định nghĩa 2.2.2. Quá trình khử một biến X ra khỏi một tập các thế Φ được thực hiện như sau:
Bước 1: Bỏ tất cả các thế chứa X trong Φ. Gọi tập các thế bị bỏ đi là ΦX. Bước 2: Tính φ−X =P
X
Q
ΦX.
Bước 3: Thêm φ−X vào Φ. Gọi Φ−X ={Φ\ΦX, φ−X}. Ví dụ 2.2.3. Xét một đồ thị có hướng như sau:
Tập các thếΦcó trong đồ thị là Φ ={φ1(A1), φ2(A2, A1), φ3(A3, A1), φ(A4, A2), φ5(A5, A2, A3), φ6(A6, A3)}. Quá trình khử A3 như sau:
- Bước 1: Tìm tập các thế có chứaA3 làΦA3 ={φ3(A3, A1), φ5(A5, A2, A3), φ6(A6, A3)}. - Bước 2: Tính φ−A3 =P A3 Q ΦA3 =P A3 φ3φ5φ6.
- Bước 3: Tập các thế còn lại sau khi khử A3 là Φ−A3 ={φ1, φ2, φ4, φ−A3}. Mệnh đề 2.2.4. Ta giải bài toán (Q
Φ)↓X bằng cách khử lần lượt hết các biến trong đồ thị trừ biến X.
Hình 2.3: Mạng Bay-ét gồm 6 biến. Đồ thị miền giới hạn (Domain Graphs)
Định nghĩa 2.2.5. Giả sử Φ = {φ1, . . . , φm} là một tập các thế trên một tập các biến ngẫu nhiên V = {A1, . . . , An}. Đồ thị miền giới hạn của Φ, kí hiệu DG(Φ) là một đồ thị vô hướng với các đỉnh là các biến trong tập V và các cạnh là các đường nối giữa các đỉnh trong các phần tử trong dom(φi), i= 1, . . . , m.
DG(Φ) = (V, E ={Ai−Aj;Ai, Aj ∈ dom(φk), k = 1, m,∀i, j = 1, n}).
Ví dụ 2.2.6. Tập các thế của đồ thị có hướng trong ví dụ 2.2.2 là Φ =
{φ1(A1), φ2(A2, A1), φ3(A3, A1), φ(A4, A2), φ5(A5, A2, A3), φ6(A6, A3)}. Đồ thị miền giới hạn DG(Φ) cho đồ thị trên là:
Đồ thị miền giới hạn DG(Φ−A3) là:
Hình 2.5: Đồ thị miền giới hạn DG(Φ−A3).
Trong đồ thị DG(Φ) có xuất hiện thêm một cạnh mới A2 −A3 so với đồ thị có hướng ban đầu; cịn trong đồ thị DG(Φ−A3) có thêm các cạnh mới
A1 −A5;A1− A6;A2 −A6 và A5− A6 do trong Φ−A3 có xuất hiện thêm thế
φ−A3 vàdom(φ−A3) ={A1, A2, A5, A6}. Ta gọi những cạnh mới này làf ill−ins. Ta thấy rằng khi khử A3 ta sẽ làm việc với một thế mới φ−A3 khơng có trong
Φ ban đầu. Để tránh làm việc với các miền giới hạn mới, ta cần cố gắng tránh thêm các cạnh fill-ins. Nói cách khác, một dãy khử mà đồ thị miền giới hạn khơng có thêm fill-ins cần ít khơng gian hơn dãy khử có thêm fill-ins.
Định nghĩa 2.2.7. (Dãy khử hoàn hảo) Một dãy khử hồn hảo là một dãy khử khơng có thêm các cạnh fill-ins.
Ví dụ 2.2.8. Trong mục phương pháp khử biến VE, ta giới thiệu một dãy khử để tính P(A4) là A6, A5, A3, A1, A2, A4. Ta sẽ chứng minh đây là một dãy khử hoàn hào. Thật vậy, ta bắt đầu quá trình khử từ biến A6.
1. Khử biến A6.
- Bước 1: ΦA6 = φ6(A6, A3).
- Bước 2: φ−A6 = P
A6
dom(φ−A6) =∅.
- Bước 3: Φ−A6 ={φ1, φ2, φ3, φ4, φ5}. Khơng có cạnh fil-ins nào được thêm vào.
Hình 2.6: Đồ thị nhận được sau khi khử A6
2. Khử biến A5.
- Bước 1: ΦA5 = φ5(A5, A2, A3).
- Bước 2: φ−A5 = P
A5
φ5(A5, A2, A3) = 1. dom(A5) =∅.
- Bước 3: Φ−A5 = {φ1, φ2, φ3, φ4}. Khơng có cạnh fil-ins nào được thêm vào.
3. Khử biến A3.
- Bước 1: ΦA3 = φ3(A3, A2).
- Bước 2: φ−A3 = P
A3
φ3(A3, A2) = 1. dom(φ−A3) =∅.
- Bước 3: Φ−A3 ={φ1, φ2, φ4}. Khơng có cạnh fil-ins nào được thêm vào. 4. Khử biến A1.
- Bước 1: ΦA1 = {φ1(A1), φ2(A2, A1)}. - Bước 2: φ−A1 = P
A1
Hình 2.7: Đồ thị nhận được sau khi khử A6, A5
dom(φ−A1) ={A2}.
- Bước 3: Φ−A3 ={φ4, φ−A1}. Khơng có cạnh fil-ins nào được thêm vào.
Hình 2.9: Đồ thị nhận được sau khi khử A6, A5, A3, A1
5. Khử biến A2.
- Bước 1: ΦA2 = {φ4(A4, A2). - Bước 2: φ−A2 = P
A2
φ4(A4, A2). dom(φ−A2) ={A4}.
- Bước 3: Φ−A2 ={φ−A2}. Khơng có cạnh fil-ins nào được thêm vào. Chú ý:Trong một đồ thị, có thể có nhiều hơn một dãy khử hồn hảo. Chẳng hạn, để tínhP(A4), ta có các dãy khử hồn hảo khác như A5, A6, A3, A1, A2, A4
hoặcA1, A5, A6, A3, A2, A4 hoặcA6, A1, A3, A5, A2, A4. Ta sẽ chứng minh khẳng định này bằng mệnh đề sau.
Mệnh đề 2.2.9. Giả sử X1, . . . , Xk là một dãy khử hoàn hảo và Xj là một đỉnh thuộc một tập các lân cận đầy đủ V. Khi đó, dãyXj, X1, . . . , Xj−1, Xj+1, . . . , Xk
cũng là một dãy khử hoàn hảo.
Chứng minh. Ta bắt đầu bằng việc khử Xj. Ta thấy φ−Xj = P
Xj
Q
ΦXj và
dom(φ−Xj) = {V \Xj}. Do V là một tập các lân cận đầy đủ nên các cạnh
thuộc V \ A1 cũng liên kết đơi một với nhau và do đó DG(Φ−Xj) khơng có thêm cạnh fill-ins nào.
liên kết mới nào và do X1, . . . , Xk là một dãy khử hồn hảo nên ta khơng cần thêm cạnh fill-ins nào khi khử Xi.
Định nghĩa 2.2.10. (Tập miền giới hạn - Domain set) Một tập miền giới hạn của một dãy khử là một tập hợp các miền giới hạn của các thế được tạo ta trong q trình khử mà trong đó các thế là tập con của các thế khác sẽ bị bỏ đi.
Mệnh đề 2.2.11. Tất cả các dãy khử hoàn hảo đều có cùng một tập miền giới hạn; cụ thể là tập các clique của đồ thị miền giới hạn.
Chứng minh. Đầu tiên, ta chỉ ra rằng một clique V tương ứng với một miền giá trị của một thế được sinh ra trong quá trình khử. Giả sử X là biến đầu tiên bị khử khỏi V. Khi X bị khử, ta sinh ra một miền D chứa X và tất cả các lân cận của X. Do các đỉnh của V đều là lân cận của X nên D ⊃ V. Giả sử Y là một đỉnh thuộc D. Sau khi khử X, tồn tại liên kết giữa Y và tất cả các đỉnh thuộc V. Q trình khử X khơng tạo thêm cạnh fill-ins nên các liên kết này đã tồn tại từ ban đầu, và vì V là tập đầy đủ cực đại nênY ∈ V. Do đó, các clique là tập con của tập miền trị.
Cuối cùng, ta chứng minh rằng mỗi phần tử W của một tập miền giá trị là một clique. Vì q trình khử khơng tạo thêm cạnh fill-ins nên W là một tập đầy đủ trong đồ thị miền. Nếu W khơng là cực đại thì W ⊂ V và V là một phần tử của tập miền giá trị, do đó W khơng thể là một phần tử của tập miền giá trị. Điều này mâu thuẫn với định nghĩa ban đầu của W.
Từ mệnh đề trên, ta kết luận rằng một dãy khử hoàn hảo kết thúc bằng đỉnh A là tối ưu để tính P(A).
Đồ thị tam giác phân (Triangulated Graphs)
Định nghĩa 2.2.12. (Đồ thị tam giác phân (TG)) Một đồ thị vơ hướng có một dãy khử hồn hảo được gọi là một đồ thị tam giác phân.
Kí hiệu: Giả sử X là một đỉnh của một đồ thị vơ hướng. Kí hiệu nb(X) là tập các lân cận (neighbor) của X và fa(X) = {X, nb(X)} là gia đình (family)
của X.
Chú ý: X là một đỉnh đơn hình khi và chỉ khi fa(X) là một clique.
Mệnh đề 2.2.13. Giả sử G là một đồ thị tam giác phân và X là một đỉnh đơn hình. Giả sử G’ là đồ thị nhận được sau khi khử X khỏi G. Khi đó, G’ cũng là một đồ thị tam giác phân.
Chứng minh. Do G là một đồ thị tam giác phân nên G chứa ít nhất một dãy khử hoàn hảo S. Do X là một đỉnh đơn hình nênX ∈ S và fa(X) là một clique (hay fa(X) là một tập các lân cân đầy đủ cực đại). Theo mệnh đề 2.2.8, S\X
cũng là một dãy khử hồn hảo. Do đó G’ là một đồ thị tam giác phân. Ví dụ 2.2.14. Xét một ví dụ đơn giản sau:
Hình 2.10: Ví dụ một đồ thị tam giác phân.
Trong ví dụ này, G là một đồ thị tam giác phân do có một dãy khử hồn hảo là X, D, E, A, C, B. Ta thấy fa(X) = { X, A, B, C } là một tập đầy đủ nên X là một đỉnh đơn hình. Khi khử X ra khỏi đồ thị G thì ta bỏ đi các cạnh X - A, X - B, X - C là các cạnh lân cận với X. Đồ thị G’ nhận được cũng là một đồ thị tam giác phân do có một dãy khử hồn hảo là D, E, A, C, B.
Định lý 2.2.15. Một đồ thị tam giác phân gồm ít nhất hai đỉnh thì có ít nhất hai đỉnh đơn hình.
Hơn nữa, ta có khẳng định mạnh hơn: Giả sử G là một đồ thị tam giác phân khơng đầy đủ có ít nhất 3 đỉnh. Khi đó, tồn tại ít nhất hai đỉnh đơn hình khơng kề nhau.
Chứng minh. Ta sẽ chứng minh khẳng định trên bằng quy nạp theo số đỉnh n của đồ thị G như sau:
Với n = 3, G là một đồ thị tam giác phân do có một dãy khử hoàn hảo là A, B, C. G khơng đầy đủ do khơng có liên kết nối hai đỉnh A và C. Ta thấy hai đỉnh A và C không kề nhau và chúng là hai đỉnh đơn hình.
Giả sử khẳng định trên đúng với tất cả đồ thị tam giác phân khơng đầy đủ có số đỉnh < n.
Ta sẽ chứng minh khẳng định trên cũng đúng với đồ thị G là một đồ thị tam giác phân không đầy đủ có n đỉnh. Thật vậy, do G là một đồ thị tam giác phân nên tồn tại ít nhất một dãy khử hồn hảo S. Giả sử X là đỉnh đầu tiên trong dãy khử S. Khi đó, X là một đỉnh đơn hình. Ta cần tìm một đỉnh khác cũng là đỉnh đơn hình mà khơng kề với X. Giả sử G’ là đồ thị nhận được sau khi khử X khỏi G. Theo mệnh đề 2.2.12, đồ thị G’ cũng là một đồ thị tam giác phân và tồn tại một đỉnh đơn hình Y ∈ G. Ta sẽ chứng minh Y ∈/ nb(X). Do G không đầy đủ nên tồn tại đỉnh ∈/ nb(X). Nếu G’ đầy đủ thì Y ∈/ nb(X) do khi khử X thì ta phải bỏ đi tất cả các cạnh kề với X. Ngược lại, nếu G’ khơng đầy đủ thì theo giả thiết quy nạp, tồn tại ít nhất hai đỉnh đơn hình khơng kề nhau. Nếu các đỉnh đơn hình đó thuộc nb(X) thì chúng phải kề nhau.
Hệ quả 2.2.16. Trong một đồ thị tam giác phân, mỗi biến A có một dãy khử hồn hảo kết thúc bằng A.
Chứng minh. Giả sử A là một đỉnh bất kì trong đồ thị tam giác phân G. Do G là một đồ thị tam giác phân nên tồn tại một đỉnh đơn hình X 6= A. Theo
mệnh đề 2.2.12, đồ thị G’ nhận được khi khử X ra khỏi G là một đồ thị tam giác phân. Ta tiếp tục lặp lại q trình khử cho đến khi chỉ cịn biến X.
Định lý 2.2.17. (Kiểm tra một đồ thị có phải tam giác phân không)
Một đồ thị vô hướng là tam giác phân khi và chỉ khi tất cả các đỉnh đều bị khử bằng cách khử lần lượt một đỉnh đơn hình X.
Chứng minh. Nếu tất cả các đỉnh đều được khử bằng cách khử lần lượt các đỉnh đơn hình thì ta sẽ sinh ra một dãy khử hoàn hào. Theo định nghĩa, đồ thị đó là đồ thị tam giác phân.
Ngược lại, giả sử G là một đồ thị tam giác phân. Ta khử một đỉnh đơn hình X ra khỏi G. Theo mệnh đề 2.2.12, đồ thị G’ nhận được sau khi khử X là một đồ thị tam giác phân và ta có thể tiếp tục lặp lại quá trình khử hết tất cả các đỉnh đơn hình trong đồ thị.
Để kiểm tra một đồ thị có phải tam giác phân hay khơng, ta khử lần lượt các đỉnh đơn hình. Tại một bước nào đó, khi ta khơng thể khử nút nào nữa. Nếu tập nút bằng ∅ thì đồ thị đó là đồ thị tam giác phân. Ngược lại, đồ thị đó khơng phải là đồ thị tam giác phân.
Trong trường hợp đồ thị G có đồ thị miền giới khơng phải là một tam giác phân, ta sẽ gắn nó vào một đồ thị tam giác phân và sử dụng junction cây của đồ thị đó. Để tìm một đồ thị tam giác phân cho G, ta chỉ việc thêm các cạnh fill-ins khi khử các đỉnh thuộc tập lân cận không đầy đủ. Dãy khử nhận được là một dãy khử hồn hảo, do đó đồ thị là tam giác phân.
Do có nhiều thứ tự khử khác nhau nên sẽ có nhiều cách tạo ra đồ thị tam giác phân khác nhau. Tuy nhiên, ta luôn mong muốn làm việc với các miền giới hạn nhỏ nhất.
Định nghĩa 2.2.18. Giả sử W là một tập các biến ngẫu nhiên bất kì. Với X ∈ W, kí hiệu sp(X) là số các trạng thái của X và cỡ của X, kí hiệu sz(X) =
P
X∈W
sp(X).
Giả sử BN là một mạng Bay-ét và G là một đồ thị tam giác phân sau khi đã mở rộng đồ thị miền giới hạn của BN và C1, . . . , Cn là các clique của G. Cỡ của G, sz(G) = P
i
Để xác định một dãy khử suy ra từ một đồ thị tam giác phân có cỡ nhỏ nhất khá là khó. Tuy nhiên, có một vài thuật toán trực quan đã được chứng minh cho ra kết quả tương đối tốt.
Thuật tốn trực quan tìm dãy khử: Khử lần lượt các đỉnh đơn hình, và nếu khơng cịn đỉnh đơn hình nào nữa, ta khử đỉnh X có sz(fa(X)) nhỏ nhất. Ví dụ 2.2.19. Xét một mạng Bay-ét và đồ thị miền giới hạn của nó như hình sau:
Hình 2.11: Ví dụ một mạng Bay-ét gồm 10 đỉnh và đồ thị miền giới hạn của nó.
Giả sử các đỉnh có số các trạng thái như sau: sáu đỉnh A, B, C, H, I và J có hai trạng thái, D có bốn trạng thái, E có năm trạng thái, F có sáu trạng thái và G có bảy trạng thái. Sau khi khử các đỉnh đơn hình A, C, H, I, J, ta khử tiếp đến các đỉnh khơng đơn hình cịn lại. Ta có, sz(fa(B)) = sz(B, D, E) = sp(B).sp(D).sp(E) = 2.4.5 = 40. Tương tự, sz(fa(D)) = 48, sz(fa(E)) = 70, sz(fa(F)) = 168 và sz(fa(G)) = 210. Do B có sz(fa(B)) nhỏ nhất nên ta chọn khử đỉnh B và tạo thêm cạnh fill-ins D - E. Với liên kết mới này, ta có các cỡ mới là sz(fa(D)) = sz(D, E, F) = 4.5.6 = 120 và sz(fa(E)) = 140. Ta khử đỉnh