Mạng không cảm hướng có nghĩa là các liên kết liên thuộc nút được gắn nhãn cục bộ tùy ý. Giải thuật cho mạng đầy đủ không cảm hướng được chia làm hai đợt: đợt bầu chọn để bầu ra một tác tử thủ lĩnh; đợt truyền bá thông tin, tác tử thủ lĩnh duyệt mạng để thu thập và truyền bá thông tin cho tất cả các tác tử khác.
Đợt bầu chọn thủ lĩnh dựa trên ý tưởng giải thuật bầu thủ lĩnh giữa các nút, trên mạng đầy đủ vô hướng của E.Korach và đồng sự [6]. Mỗi nút lặp lại việc thu nạp các nút khác, khi một nút thu nạp được hơn một nửa số nút trong mạng thì nó trở thành thủ lĩnh.
Chúng ta định nghĩa ba trạng thái của một nút:
(1) Nút ứng viên (candidate node): là một nút nhà của một tác tử cố gắng
thu nạp các nút khác và có một cơ hội đề trở thành tác tử thủ lĩnh. (2) Nút bị thu nạp (captured node): là một nút được thu nạp bởi một tác tử. (3) Nút bị động (passive node): là một nút không phải nút ứng viên cũng
như nút thu nạp.
Giải thuật 4.5.2-1. mô tả cụ thể giải thuật này.
Các biến:
i là định danh của tác tử pi
ni là số các nút được thu nạp bởi tác tử pi
nu và idu là số các nút và định danh của tác tử ghi trên bảng trắng của nút u
Khởi tạo:
ni = 0
pi ghi định danh i và số nút nó thu nạp ni lên bảng trắng ở nút nhà v của nó.
Đợt bầu chọn:
Mỗi tác tử pi lặp lại các hoạt động sau đây cho đến khi pi thu nạp được hơn một nửa số nút trong mạng hoặc nút nhà v của nó trở nên bị động hoặc bị thu nạp:
pi trên nút nhà v di chuyển đến mỗi hàng xóm u, có ba trường hợp: 1. Nút u là nút bị động: tác tử pi thu nạp u.
ni = ni + 1
pi đánh dấu trên u liên kết tới nút nhà v pitrở về nút nhà v: nv = nv+ 1
2. Nút u là nút ứng viên:
Nếu ni lớn hơn nu, hoặc nếu ni bằng nu và i lớn hơn idu pi thu nạp u.
Giải thuật 4.5.2-1. Giải thuật cho MAGP với mạng đầy đủ không cảm hướng pi đánh dấu trên u liên kết tới nút nhà v
pitrở về nút nhà v: nv = nv+ 1
// để các tác tử thăm u có thể di chuyển tới nút nhà của pi
Ngược lại
pi trở về nút nhà v của nó và làm v trở nên bị động.
3. Nút u là nút bị thu nạp: tác tử pi tấn công nút w là nút nhà của tác tử thu nạp u. pi di chuyển đến nút w.
Nếu w là một nút bị động hoặc nút bị thu nạp, hoặc ni lớn hơn nw, hoặc
ni bằng nw và i lớn hơn idw
pi thu nạp u và làm cho wbị động ni = ni + 1
pi đánh dấu trên u liên kết tới nút nhà v pitrở về nút nhà v: nv = nv+ 1
Ngược lại
pi trở về nút nhà v của nó và làm cho vbị động
Tác tử pi thu nạp được hơn một nửa số nút trong mạng trở thành thủ lĩnh.
Đợt truyền bá thông tin:
Tác tử thủ lĩnh duyệt qua toàn bộ các nút mạng để thu thập và phát tán thông tin cho tất cả các tác tử trong mạng.
Độ phức tạp bước di chuyển:
Trong giải thuật, các tác tử di chuyển giữa các nút để mô phỏng sự chuyển giao một thông báo. Số tác tử có thể thu nạp N/2 + 1 nút là một, và số tác tử có thể thu nạp được N/2 nút nhiều nhất là 2. Tương tự, số các tác tử có thể thu nạp được N/h nút nhiều nhất là h. Bởi vậy, việc thu nạp các nút được thực hiện không quá (N/2 + 1) +
kh2h
1
. N N log k + N/2 + 1 lần. Việc thu nạp một nút bởi một tác tử cần nhiều nhất bốn bước di chuyển. Ở đợt truyền bá thông tin, tác tử thủ lĩnh duyệt toàn mạng với 2N bước di chuyển. Vậy, độ phức tạp di chuyển của giải thuật là 4(N log k + N/2 + 1) + 2N = 4N log k + 4N + 4.