Định lí 4.1: Danh sách cây ảo của mảnh MST luôn đảm bảo giải thuật có
tính bất biến không vòng lặp.
Chứng minh: Ta cần chứng minh mọi mảnh con của mảnh MST hiện tại không xuất hiện chu trình.
Giả sử tồn tại một mảnh con bất kì có xuất hiện chu trình. Gọi u-v là liên kết trực tiếp tạo ra chu trình đó. Xét quá trình hợp mảnh qua liên kết u-v (đƣợc thực hiện trƣớc khi chu trình xuất hiện), vì quá trình hợp mảnh này tạo ra chu trình, nên trƣớc khi hợp mảnh, đƣờng nối từ u đến v là liên thông. Nếu thông điệp UPDATE đƣợc gửi đến u thì qua cơ chế forward, thông điệp này cũng sẽ đƣợc gửi đến v. Quá trình UPDATED ngƣợc lại cũng sẽ qua cả v và u, nói cách khác, danh sách “cây ảo” khi quá trình UPDATED kết thúc sẽ chứa cả u và v. Do đó thủ tục FIND tại nút u không thể chọn v làm liên kết ngoài, ngƣợc lại v không chọn u làm liên kết ngoài. Điều này dẫn đến mâu thuẫn. Định lí đƣợc chứng minh
Định lí 4.2: Chừng nào thuật toán còn đảm bảo đƣợc tính bất biến không
vòng lặp, thì mảnh MST hiện tại sẽ không có chu trình.
Chứng minh: Sau quá trình UPDATE, mỗi nút trong cây MST hiện tại sẽ có danh sách Tree_List các nút của cây. Danh sách “cây ảo” này sẽ giống hệt danh sách cây MST thật. Thủ tục FIND để tìm kiếm liên kết ngoài tối thiểu không thuộc danh sách này, do đó thủ tục UPDATE và FIND đảm bảo tính bất biến không vòng lặp.
Giả sử tại một thời điểm kết hợp mảnh nào đó, 2 nút u,v tham gia kết hợp mảnh tạo thành chu trình. Gọi nút k là nút nằm trên đƣờng đi của chu trình đó. Vì liên kết u-v tạo thành chu trình, do đó đƣờng đi từ u đến k và từ v đến k liên thông nhau, nói cách khác, k thuộc mảnh MST chứa u, đồng thời thuộc mảnh MST chứa v. Một nút không thể đồng thời thuộc 2 mảnh MST khác nhau, do đó u và v thuộc cùng mảnh MST chứa k. Nhƣ vậy, liên kết ngoài u-v đƣợc chọn để kết hợp mảnh không thể xảy ra, do sau quá trình UPDATE, “cây ảo” của MST chứa k có chứa cả u, v và k. Do đó u không thể chọn v làm liên kết ngoài, và ngƣợc lại v không thể chọn u. Định lí đƣợc chứng minh.
Minh họa chứng minh định lí 4.2 v u j k 2 2 8 7 v,k u,j,k
Hình 22: Minh họa chứng minh định lí 4.2
Do k xuất hiện ở Tree_List của cả u và v, do đó có liên kết Tree_Link từ v đến k, đồng thời có liên kết Tree_Link từ u đến k, thông qua nút j. Nhƣ vậy thủ tục UPDATE qua k sẽ qua cả u và v, nói cách khác, Tree_List của u sẽ chứa v, và ngƣợc lại. Thủ tục LOCAL_FIND tại u sẽ không thể chọn v là nút của liên kết ngoài, và ngƣợc lại v sẽ không chọn u.
Định lí 4.3: Chừng nào thuật toán còn đảm bảo tính bất biến không vòng
lặp, thủ tục UPDATE và FIND luôn kết thúc, và nút gốc nhận biết đƣợc sự kết thúc này.
Chứng minh định lí y hệt nhƣ chứng minh định lí 3.6 và đƣợc suy ra trực tiếp từ giải thuật phát hiện kết thúc của Dijkstra và Scholten[14].
Từ các định lí trên, tính đúng đắn của giải thuật đƣợc chứng minh. Giải thuật OMST cải tiến không làm xuất hiện chu trình, và số các bƣớc thực thi giải thuật là hữu hạn, giải thuật luôn kết thúc.