Tính ñúng ñắn của giải thuật

Một phần của tài liệu Nghiên cứu vấn đề truyền bá thông tin giữa các tác tử di động trong mạng động (Trang 57)

Để chứng minh tính ñúng ñắn của giải thuật OMST, chúng ta trước hết xem xét một sốñịnh nghĩa sau:

Định nghĩa 3.3. Xét mt mnh MST ti mt thc hin nào ñó

•Đặt Un là hp ca tt c “cây o” ca các nút trong mnh MST này

•Đặt Um là hp ca các liên kết trong thông báo DIFF ñang di chuyn trên các liên kết trong mnh.

Thì “tp cây o” ca mnh MST ñó ñược ñịnh nghĩa là hp ca Un và Um

Định nghĩa 3.4. “Tp cây o” ñược gi là có “tính bt biến không vòng lp” nếu vi mi mnh trên cây MST tht, “tp cây o” ca nó không cha chu trình.

Tính chất này của “tập cây ảo” ñóng một vai trò rất quan trọng trong việc chứng minh tính ñúng ñắn của giải thuật. Chỉ cần các thủ tục trong giải thuật ñảm bảo “tính bất biến” trước và sau khi thực hiện, thì quá trình ghép và xây dựng cây khung sẽ luôn chính xác. Trong quá trình thực hiện giải thuật, “cây ảo” trên các nút không phải luôn luôn phản ánh chính xác cây thật. Ví dụ, một nút có thể phát hiện ra một liên kết trong mảnh bị mất, nó sẽ hủy bỏ liên kết này trong dữ liệu nhưng chưa kịp thông báo cho các nút khác. Điều này dẫn ñến “cây ảo” của nút này sẽ khác với “cây ảo” của các nút khác trong cùng một mảnh. Tuy nhiên, nếu thuật toán luôn ñảm bảo “tính bất biến không vòng lặp”, thì các nút trong mảnh sẽ không chọn một liên kết ngoài thay thế trước khi biết sự thay ñổi này. Nhờ ñó, cây khung MST ñược xây dựng sẽ không có chu trình.

Chúng ta có một sốñịnh lý sau:

Định lý 3.5:. Chng nào thut toán còn ñảm bo ñược “tính bt biến không vòng lp”, thì các mnh MST hin thi s không có chu trình

Các liên kết trên các mảnh MST luôn luôn xuất hiện trên “cây ảo” của các nút kề với liên kết ñó. Vì vậy, tập các liên kết trong mảnh MST sẽ là tập con của “tập cây ảo” của mảnh. Nếu “tập cây ảo” không có chu trình thì mảnh MST tương ứng cũng không có chu trình. Định lý ñược chứng minh.

Định lý 3.6:. Chng nào thut toán còn ñảm bo ñược “tính bt biến không vòng lp”, thì th tc FIND luôn kết thúc, và nút gc s biết s kết thúc này.

Chng minh:

Với mọi nút u trong mảnh, nếu u không bị ngắt khỏi mảnh (do thay ñổi topo mạng), thì sẽñảm bảo những ñiều sau ñây:

•Nếu u không phải là gốc, sau khi u nhận ñược phản hồi của các nút con, u sẽ gửi phản hồi của nó cho nút cha

•Nếu u là gốc, sau khi u nhận ñược phản hồi của các nút con, thủ tục FIND sẽ kết thúc tại u

•Khi u nhận ñược tất cả các phản hồi của nút con, thì thủ tục FIND ñã kết thúc tại tất cả các nút con của nút u.

Các sự thay ñổi trong mạng không ảnh hưởng ñến những chứng minh trên. Chúng ta xét 2 trường hợp:

•Một liên kết ñược phục hồi, thủ tục FIND không bị ảnh hưởng vì liên kết này không thuộc mảnh.

•Nếu liên kết giữa u và một nút con bị mất, u sẽ không ñợi phản hồi từ nút con này, vì vậy các chứng minh trên vẫn chính xác. Đồng thời, nút con của u sẽ trở

thành gốc của một cây mới và tiến hành lại các thủ tục UPDATE và FIND.

Định lý 3.7:. Th tc UPDATE không làm thay ñổi “tính bt biến không vòng lp” trong “tp cây o”

Định lý này chứng minh tương ñối phức tạp, chi tiết có thể xem trong tài liệu tham khảo [7].

Các thủ tục khác trong thuật toán không làm thay ñổi “cây ảo” tại các nút. Kết hợp với ñịnh lý trên, “tính bất biến không vòng lặp” luôn ñược ñảm bảo trong quá trình thực hiện giải thuật.

CHƯƠNG 4. ĐỀ XUT MT S GII THUT GII QUYT BÀI TOÁN

Một phần của tài liệu Nghiên cứu vấn đề truyền bá thông tin giữa các tác tử di động trong mạng động (Trang 57)