Cũng giống với các thuật toán ORMSTC ở trên nó cũng xây dưng một hàm khởi tạo ban đầu để thực hiện các khởi tạo cơ bản. Khác ở đây thay dùng một mảng
Mã giả thuật toán 6: Thuật toán 6 MSTC (W,X)
Đầu vào: Cell robot vừa đi ra W (cell cha), cell robot vừa đi vào X
Các bước tiến hành:
1. S1..4 ←4 cell lân cận của X theo bốn hướng (trái, phải, trên, dưới)
2. List_cell = null 3. for 𝑖 ← 14 do
4. if 𝑁𝑖 = 𝑣ậ𝑡𝑐ả𝑛 then
5. continue tiếp tục với giá trị 𝑖 tiếp theo
6. if 𝑁𝑖 đã nằm trong một cạnh của cây bao trùm của một 𝑗 robot khác
then
7. Hỏi robot 𝑗 xem nó còn sống không 8. if robot 𝑗 trả lời then
9. backtrack←( 𝑐ạ𝑛ℎ 𝑡ừ 𝑋 𝑡ớ𝑖 𝑁𝑖, 𝑡ê𝑛 𝑟𝑜𝑏𝑜𝑡) 10. continue tiếp tục với giá trị 𝑖 tiếp theo
11. //robot kia đã chết
12. else
13. if tìm thấy backtrack.find(tên robot chứa Ni ) then
14. Xóa robot 𝑗 khỏi backtrack
15. Xóa cạnh tất cả cạnh nối với cell robot 𝑗 đã đi và thông báo nó đã xong
16. List_cell ← Ni
17. //không thuộc bất kỳ cây con nào
18. else
19. List_cell ← Ni 20. Kết thúc vòng lăp
21. if List_cell.size()>0 then
23. Tìm Ni khoảng cách xa nhất tối thiểu theo Manhattan của robot đó đến các robot còn lại
24. Vẽ cạnh từ 𝑋 tới 𝑁𝑖 và thông báo 25. Thực thi MSTC(X, Ni)
26. else
27. Trở về cell cha
28. Thực thi MSTC(W, T)//T là cell cha cua o W 29. if trở về subcell điểm khởi đầu 𝑠𝑖 then
30. Thông báo hoàn thành công việc của mình
31. while tất cả các robot vẫn chưa thông báo hoàn thành công việc của
chúng do
32. Kiểm tra định kỳ các robot có kết nối với mình xem chúng còn sống không
33. if robot 𝑗 đã chết then
34. Xóa cạnh nối với cell robot 𝑗 đã đi và thông báo 35. Thông báo mình chưa hoàn thành công việc
36. Lấy thông tin cell cần phải đến gần nhất từ vị trí nó đứng trong backtrack
37. Di chuyển điểm đã kết nối với robot đã chết
38. 𝑋 ←cell mình kết nối với robot j
39. 𝑌 ←cell robot j kết nối với mình
40. Xóa các cell của robot j mà đã được cập nhật
41. Xóa robot j khỏi mảng backtrack và thông báo robot j đã thực
hiện xong
42. Vẽ cạnh từ 𝑋 tới 𝑌 và thông báo 43. Thực thi MSTC(X, Y)
Thuật toán 6 mô tả quá trình làm việc của một robot. Tất cả các robot đều thực thi thuật toán này, bởi vậy có bao nhiêu robot thì sẽ có bấy nhiêu thể hiện của thuật toán này. Từ dòng 1 tới dòng 20 của thuật toán này, giống với thuật toán ORMSTC đã trình bày ở trên. Việc thêm vào các cell là nó sẽ tìm kiếm tất cả các cell theo bốn hướng (trên, dưới, trái, phải), tìm kiếm kiểm tra nó đã ở trong bất kỳ cây con của robot nào hay chưa (dòng 6). Từ dòng 21 đến dòng 26 giống thành lập cây con trong quá trình tạo cây bao trùm với thuật toán MSTC-offline. Nếu nó tìm thấy nhiều hơn một cell mới thì dựa vào tính khoảng cách Manhattan qua đó khoảng cách xa nhất tối thiểu theo Manhattan của robot đó đến các robot còn lại. Tại dòng 31 đến 44 thì giống với thuật toán ORMSTC đã trình bày ở trên kiểm tra các robot khác.