2.3.1. Sự khác nhau giữa mạng tĩnh và mạng ñộng
Mạng tĩnh là mạng có topo không thay ñổi theo thời gian. Tức là các nút và các liên kết trong mạng ñược giữ nguyên từ khi bắt ñầu thực hiện thuật toán cho ñến lúc kết thúc.
Đối với mô hình tác tử di ñộng, mạng tĩnh còn một ñặc ñiểm nữa là số lượng các tác tử
không thay ñổi. Ban ñầu trong mạng có k tác tử, thì ñến khi kết thúc thuật toán, số lượng tác tử cũng là k. Vì vậy, các thuật toán truyền bá thông tin giữa các tác tử trong mạng tĩnh có những ñặc ñiểm sau ñây:
•Việc cài ñặt thuật toán không phải quan tâm ñến vấn ñề thay ñổi trong topo của mạng. Điều này khiến cho các thuật toán trong mạng tĩnh ñơn giản hơn rất nhiều. Ví dụ như trong các thuật toán hẹn gặp, các tác tử có thể chọn ra một nút làm ñịa
ñiểm hẹn gặp mà không phải lo lắng ñến vấn ñềñịa ñiểm có thể bị mất do thay ñổi topo mạng. Một số giải thuật dựa trên mô hình xây dựng cây khung, sau khi xây dựng xong thì có thể sử dụng ñược mãi mãi.
•Các thuật toán có ñiểm kết thúc. Bài toán truyền bá thông tin ngẫu nhiên giữa các tác tử trong mạng tĩnh sẽ kết thúc khi các tác tử ñảm bảo ñược rằng mình ñã thu thập ñược thông tin của tất cả các tác tử khác. Ví dụ như trong giải thuật bầu thủ
lĩnh, tác tử thủ lĩnh chỉ cần duyệt trong mạng 2 lần là ñảm bảo ñược việc truyền bá thông tin ñã hoàn thành. Khi ñó, các tác tử có thể dừng lại.
Tuy nhiên, ñối với mạng ñộng, topo của mạng có thể thay ñổi một cách ngẫu nhiên. Ngoài việc các liên kết cũng như các nút trong mạng có thể bị thay ñổi, các tác tử cũng có thể tham gia vào hoặc rời khỏi mạng liên tục. Vì vậy, các thuật toán truyền bá thông tin giữa các tác tử trong mạng ñộng sẽ gặp phải những vấn ñề sau ñây:
•Trong quá trình thực hiện thuật toán, các tác tử phải liên tục ñáp ứng ñược với những thay ñổi của topo mạng. Ví dụ, các thuật toán ñòi hỏi xây dựng cây khung trong mạng, việc mất ñi một liên kết cũng như một nút có thể khiến cây khung bị
thay ñổi. Các tác tử phải phát hiện ra sự thay ñổi này và có những ñiều chỉnh phù hợp. Có nhiều phương pháp xử lý với những trường hợp như thế này, và cách ñơn giản nhất là cải tiến thuật toán tương tự trong mạng tĩnh. Đó là mỗi khi có sự thay
ñổi, chúng ta sẽ hủy toàn bộ kết quảñã ñạt ñược và tiến hành xây dựng lại từñầu.
•Số lượng tác tử trong mạng ñộng là không cốñịnh. Một số tác tử có thể rời khỏi mạng do nút chứa chúng bị ngắt khỏi hệ thống. Trong khi một số tác tử khác có thể
tham gia vào mạng khi các nút chứa những tác tử này kết hợp vào hệ thống. Vấn ñề
này khiến quá trình thu thập thông tin của các tác tử gặp rất nhiều khó khăn. Sẽ xảy trường hợp, các tác tử trong một mạng ñã thu thập ñược thông tin của tất cả tác tử
khác, nhưng một thời gian sau, một số tác tử ngoài hệ thống bất ngờ tham gia vào mạng. Khi ñó, hệ thống sẽ bao gồm tập các tác tử cũ cộng thêm tập các tác tử mới. Bài toán truyền bá thông tin giữa các tác tử vẫn chưa hoàn thành, do các tác tử cũ
vẫn chưa trao ñổi ñược thông tin với các tác tử mới này. Vì vậy, bài toán truyền bá thông tin giữa các tác tử trong mạng ñộng phải giải quyết ñược những trường hợp này.
Hình 9. Hai mạng kết hợp lại
Như chúng ta thấy trên hình 9, mặc dù các tác tử từ 1 ñến 4 ñã thu thập ñược tất cả
thông tin trong hệ thống. Nhưng khi tác tử số 5 tham gia vào mạng, các tác tử cũ chưa có
ñược thông tin của tác tử mới này, tức là bài toán truyền bá thông tin giữa các tác tử vẫn chưa ñược giải quyết.
Để khắc phục vấn ñề này, các giải thuật phải ñi theo một trong hai hướng: cho các tác tử tự khởi ñộng lại quá trình di chuyển khi có sự thay ñổi trong mạng, hoặc sử dụng một số tác tử liên tục di chuyển trong toàn mạng. Hướng giải quyết thứ nhất không thực hiện ñược, do trong nhiều trường hợp, các tác tử ñứng yên không phát hiện ra ñược sự
thay ñổi (sự thay ñổi trong mạng diễn ra ở những nút không chứa tác tử). Trong bài báo [21], các tác giả cũng ñã chứng minh rằng, ñối với các thuật toán truyền bá thông tin giữa các tác tử trong mạng ñộng, bắt buộc phải có một số tác tử liên tục di chuyển trong mạng
ñể thu thập thông tin cũng nhưñáp ứng ñược những thay ñổi trong topo mạng.
Định lý 2.3: Không tồn tại một thuật toán truyền bá ngẫu nhiên nào trong mạng
ñộng mà tất cả các tác tử có thể ngừng di chuyển sau một cấu hình nào ñó.
Chứng minh:
Giả sử tồn tại một thuật toán P thỏa mãn yêu cầu trên. Chúng ta xem xét 2 mạng N1 và N2 có kích thướng n, trong mỗi mạng có k tác tử hoạt ñộng (n > k). Áp dụng giải thuật P cho các tác tử trong 2 mạng N1 và N2 này. Sau một cấu hình nào ñó, toàn bộ các tác tử
trong 2 mạng N1 và N2 sẽ dừng lại (theo giả thiết của giải thuật). Các tác tử này sẽ biết toàn bộ thông tin của các tác tử khác trong mạng của mình, những không biết thông tin
của mạng kia (Do 2 mạng không liên thông với nhau). Tại trạng thái này, chúng ta sẽ xây dựng một mạng mới, kết hợp 2 mạng N1 và N2 lại làm 1 tại những nút không có tác tử.
Điều này có thể thực hiện ñược, do trong mạng ñộng, các nút mới kèm theo các tác tử có thểñược thêm vào. Và với số lượng nút n > số tác tử k, sẽ luôn tồn tại một số nút không chứa tác tử. Do quá trình kết hợp 2 mạng không thay ñổi ñến trạng thái của các nút khác. Nên các tác tử không biết ñược sự thay ñổi trong topo mạng và không thể tự khởi ñộng lại quá trình di chuyển. Khi ñó, trong mạng mới này, các tác tử sẽ không có ñược toàn bộ
thông tin của các tác tử khác (các tác tử mới ñược kết hợp) -> việc truyền bá thông tin không ñảm bảo
2.3.2. Đánh giá ñộ phức tạp của các thuật toán trong mạng ñộng
Như phần trên ñã ñề cập, không tồn tại thuật toán truyền bá thông tin nào trong mạng ñộng mà các tác tử có thểñồng thời ngừng di chuyển sau một cấu hình nào ñó. Để
giải quyết bài toán, sẽ phải có một số tác tử liên tục di chuyển trên toàn mạng. Vì vậy, tiêu chí ñầu tiên mà chúng ta có thể ñánh giá về các thuật toán trong mạng ñộng là số lượng các tác tử có thể ngừng di chuyển sau một cấu hình của thuật toán. Một thuật toán càng hiệu quả khi số lượng các tác tử có thể ngừng di chuyển càng lớn.
Cũng trong bài báo [21], các tác giả ñã ñưa ra một thông số dùng ñể ñánh giá ñộ
hiệu quả của các thuật toán truyền bá thông tin ngẫu nhiên là “ñộ yên tĩnh” (quiescene). “Độ yên tĩnh” của một thuật toán ñược ñịnh nghĩa như sau:
Định nghĩa 2.1: Một thuật toán phân tán cho các tác tử di ñộng có “ñộ yên tĩnh t” (với t là một số nguyên) nếu mọi thực hiện của thuật toán ñều ñạt ñược một cấu hình mà sau cấu hình ñó có t (hoặc nhiều hơn) tác tử ngừng di chuyển mãi mãi.
Định nghĩa 2.2: “Độ yên tĩnh của một bài toán” là t nếu t là số nguyên lớn nhát thỏa mãn tồn tại một thuật toán với ñộ yên tĩnh t ñể giải quyết bài toán trên.Để thuận tiện, ta quy ước ñộ yên tĩnh của bài toán là -1 nếu không tồn tại một giải thuật nào (kể cả giải thuật với tất cả các tác tử ñều di chuyển trong mạng) ñể giải quyết bài toán trong mạng
Hình 10. Một số tác tử liên tục di chuyển trên mạng
“Độ yên tĩnh” của bài toán truyền bá thông tin phụ thuộc vào loại mô hình tác tử
trong hệ thống. Bài báo cũng ñã ñưa ra thống kê về ñộ yên tĩnh của bài toán trong những mô hình tác tử khác nhau như sau:
Mô hình ñồng bộ Mô hình không ñồng bộ
Song công Đơn công Song công Đơn công Bảng trắng ñầy ñủ (FW) k – 1 k – 1 0 0 Bảng trắng ñiều khiển (CW) k – 1 k – 1 -1 0 Không bảng trắng (NW) -1 -1 -1 -1
Hình 11: Độ yên tĩnh của bài toán k tác tử trong mô hình tác tử có ñịnh danh
Mô hình ñồng bộ Mô hình không ñồng bộ
Song công Đơn công Song công Đơn công Bảng trắng ñầy ñủ (FW) >= 0 >= 0 0 0 Bảng trắng ñiều khiển (CW) -1 -1 -1 -1 Không bảng trắng (NW) -1 -1 -1 -1
Độ yên tĩnh của bài toán truyền bá thông tin giữa các tác tử trong mạng ñộng ở bảng trên ñược rút ra dựa theo các ñịnh lý dưới ñây.
Để tiện cho việc trình bày các ñịnh lý, chúng ta ký hiệu một mô hình theo cấu trúc như sau: (tính ñồng bộ, loại bảng trắng, loại liên kết). Ví dụ, một mô hình ñược ký hiệu là
(Asynch, FW, full-duplex) có nghĩa là chúng ta ñang xem xét mô hình không ñồng bộ, bảng trắng ñầy ñủ và liên kết song công. Một thành phần ký hiệu là * nếu nó ñúng với tất cả các loại trong mô hình ñó. Ví dụ (Asynch, *, *) là mô hình không ñồng bộ với tất cả
các dạng bảng trắng hay liên kết.
Khi xem xét mô hình tác tử có ñịnh danh, chúng ta có một sốñịnh lý sau ñây:
Định lý 2.4: Không tồn tại thuật toán truyền bá thông tin giữa k tác tử có ñịnh danh trong mạng ñộng có ñộ yên tĩnh t (1 <= t <= k – 1) trong mô hình không ñồng bộ
(Asynch, *, *).
Chứng minh:
Giả sử tồn tại một giải thuật với ñộ yên tĩnh t (1 <= t <= k – 1) trong một hệ thống không ñồng bộ với k tác tử. Theo giả thiết, do t >= 1, sẽ tồn tại một cấu hình mà sau cấu hình ñó, ít nhất một tác tử ngừng di chuyển. Do thuật toán ñúng với mọi topo mạng, bằng một cách nào ñó, chúng ta có thể tách nút chứa tác tử ñứng yên này, cùng với các nút lân cận không chứa tác tử. Quá trình này không ảnh hưởng ñến trạng thái của nút chứa tác tử, vì vậy, tác tử ñứng yên không phát hiện ra, và không thể tự khởi ñộng lại quá trình di chuyển. Cứ làm như vậy, chúng ta có thể tách ñược m hệ thống con, mỗi hệ thống có một tác tửñứng yên. Xây dựng một hệ thống phân tán mới bằng cách kết hợp m hệ thống con này tại những nút không chứa tác tử. Trong hệ thống mới này, các tác tử không biết thông tin của nhau, những không thể tự khởi ñộng quá trình di chuyển (do trạng thái tại nút chứa tác tử không thay ñổi, và hệ thống là không ñồng bộ). Kết quả là các tác tử không thể gặp
ñược nhau, và quá trình truyền bá thông tin không ñảm bảo.
Định lý 2.5: Độ yên tĩnh của của bài toán truyền bá thông tin trong mô hình k tác tử
có ñịnh danh, không ñồng bộ và bảng trắng ñầy ñủ (Asynch, FW, *) là 0.
Chứng minh:
Theo ñịnh lý 2.4, không tồn tại giải thuật có ñộ yên tĩnh >= 1 giải quyết ñược bài toán truyền bá thông tin trong mô hình k tác tử không ñồng bộ. Vì vậy, ñể chứng minh
ñịnh lý 2.5, ta chỉ cần chỉ ra một thuật toán có ñộ yên tĩnh là 0 ñể giải quyết bài toán trong mô hình không ñồng bộ và bảng trắng ñầy ñủ.
Thuật toán có ñộ yên tĩnh 0 trong mô hình này rất ñơn giản. Mỗi tác tử liên tục duyệt trên toàn mạng (sử dụng một thuật toán duyệt theo chiều sâu hoặc chiều rộng), mỗi
khi ñến một nút, tác tử lưu trữ thông tin của mình lên bảng trắng của nút ñó, ñồng thời lấy thông tin của các tác tử khác ñã lưu trữ ở thời ñiểm trước. Nếu mạng ñủ ổn ñịnh, sau khi tác tử duyệt hết mạng, nó sẽ lấy ñược thông tin của tất cả các tác tử khác. Nếu topo mạng bị thay ñổi, do các tác tử liên tục duyệt như vậy, nên chúng sẽñáp ứng ñược những thay
ñổi ñó. Như vậy thuật toán trên thỏa mãn yêu cầu của bài toán, và có ñộ yên tĩnh là 0.
Định lý 2.6: Độ yên tĩnh của bài toán truyền bá thông tin trong mô hình k tác tử có
ñịnh danh, không ñồng bộ, bảng trắng ñiều khiển và liên kết song công (Asynch, CW, full- duplex) là -1.
Chứng minh:
Theo ñịnh lý 2.4, không tồn tại một thuật toán với ñộ yên tĩnh >= 1 giải quyết bài toán trong mô hình tác tử không ñồng bộ. Vì vậy, ñể chứng minh ñịnh lý 3.6, chúng ta chỉ
cần chỉ ra rằng không tồn tại một thuật toán nào có ñộ yên tĩnh là 0 ñể giải quyết bài toán trong mô hình trên. Chứng minh phản chứng, giả sử tồn tại một thuật toán với ñộ yên tĩnh 0 ñể giải quyết bài toán. Tức là trong giải thuật này, tất cả k tác tử phải liên tục di chuyển trên mạng.
Xét một tác tử p, trong mô hình tác tử không ñồng bộ, liên kết song công, sẽ tồn tại một thực hiện sao cho p không bao giờ gặp bất kỳ một tác tử nào khác. Tức là khi p ñến một nút, tất cả các tác tử tại nút ñó ñã rời khỏi nút và ñến một nút khác. (Điều này có thể
xảy ra do mô hình là không ñồng bộ, p không kiểm soát ñược thời gian mình ñến một nút, và mô hình song công cho phép tất cả các tác tử khác rời khỏi nút ñó trước khi p ñến). Khi ñó, p sẽ mãi mãi không gặp bất cứ một tác tử nào, và sẽ không thu thập cũng như
truyền bá thông tin của mình ñược. Bài toán truyền bá thông tin giữa các tác tử không
ñược giải quyết.
Đối với mô hình tác tử không ñịnh danh, chúng ta có một số kết quả sau ñây:
Định lý 2.7: Độ yên tĩnh của bài toán truyền bá thông tin giữa k tác tử trong mô hình tác tử không ñịnh danh, bảng trắng ñiều khiển (*, CW, *) là -1.
Chứng minh:
Trong mô hình tác tử không ñịnh danh, các tác tử có trạng thái ban ñầu giống nhau. Ta chỉ cần xét trong một mạng vòng ñồng bộ, trạng thái của các nút cũng giống nhau. Vì vậy, các tác tử sẽ thực hiện các hành ñộng giống nhau. Khi ñó, các tác tử sẽ di chuyển theo vòng một cách ñồng bộ và không bao giờ gặp ñược nhau. Bài toán truyền bá thông tin không thực hiện ñược.
Định lý 2.8: Độ yên tĩnh của bài toán truyền bá thông tin trong mô hình k tác tử
không ñịnh danh, không ñồng bộ và bảng trắng ñầy ñủ (Asynch, FW, *) là 0.
Chứng minh:
Tương tự như trong mô hình có ñịnh danh, các tác tử chỉ cần di chuyển trong toàn mạng, lưu thông tin của mình lên bảng trắng và thu thập các thông tin ñã ñược viết lên bảng trắng trước ñó.
Vấn ñề ở ñây là, trong mô hình tác tử không ñịnh danh, các tác tử không thực hiện
ñược các thuật toán duyệt thông thường (Do các tác tử không phân biệt ñược các tác tử
khác cũng như các nút trên mạng). Vì vậy, các tác tử phải thực hiện một phương pháp duyệt khác, duyệt theo ñộ dài ñường ñi như sau: Đầu tiên, các tác tử duyệt ñường ñi với
ñộ dài là 1 (chỉñi qua 1 liên kết rồi quay lại). Với mỗi ñộ dài, các tác tử duyệt các liên kết trong mạng theo thứ tự từñiển. Mỗi lần duyệt xong, ñộ dài ñường ñi sẽñược tăng lên 1 và thực hiện việc duyệt lại từñầu. Bằng cách làm như vậy, các tác tử có thể duyệt ñược toàn mạng mà không bỏ sót bất cứ nút nào.
Định lý 2.9: Độ yên tĩnh của bài toán truyền bá thông tin trong mô hình k tác tử
không ñịnh danh, ñồng bộ, với bảng trắng ñầy ñủ (Synch, FW, *) không nhỏ hơn 0 và