Sau t lần các bƣớc, kết quả của thuật toán này trong một mạng với N= t+ mo nút và mt cung. Phát triển theo 2 luật này, mạng phát triển thành trạng thái scale-invariant (rộng bất biến). Độ phân cụm tƣơng ứng đƣợc thể hiện bởi hàm lũy thừa với số mũ 3,
2.2.4. Mạng thế giới nhỏ
Lịch sử hình thành:
Năm 1967, Milgram và các đồng nghiệp đã làm một thí nhiệm đánh giá khoảng cách trung bình của mạng xã hội những công dân Mỹ. Ông chuẩn bị những lá thƣ để gửi đến cho một ngƣời bạn, và yêu cầu ngẫu nhiên một số ngƣời ở Kansas và Nebraska chuyển giúp. Thông tin chuyển thƣ chỉ bao gồm: Tên ngƣời nhận, nghề nghiệp (stock broker) và thành phố nơi ngƣời nhận sống (Boston). Ngƣời chuyển sẽ chuyển thƣ bằng cách chuyển cho ngƣời mà họ nghĩ là “gần” hơn so với ngƣời nhận. Kết quả thu đƣợc là thông thƣờng các bức thƣ có thể chuyển đến nơi mà không cần quá nhiều lần chuyển trung gian ~ 6 bƣớc chuyển. Kết quả này khá thú vị, nó mở dự đoán trong đồ thị mạng xã hội, thì khoảng đƣờng kính của đồ thị ~6 với số nút không hạn chế.
Mặc dù có thử nhiệm thú vị trên về đồ thị mạng xã hội, nhƣng vẫn không có phƣơng pháp để tạo ra dạng đồ thị có tính chất đƣờng kính đồ thị ~ 6 nhƣ trên. Năm 1998, Watts và Strogatz và sau đó năm 2000, Kleinberg đã đƣa ra những cách định nghĩa xây dựng mô hình đồ thị cho mạng thế giới nhỏ.
2.2.4.1. Mô tả mạng thế giới nhỏ.
a) Mô hình mạng thế giới nhỏ của Watts và Strogatz
Watts và Strogatz bắt đầu với một mạng dạng lƣới hình tròn các nút mạng đƣợc đánh số từ 1 đến n theo vòng tròn và mỗi nút mạng có cạnh nối đến k nút kế tiếp theo chiều kim đồng hồ. Duyệt qua mọi đỉnh trong mạng, với mỗi đỉnh thay thế một số cạnh bằng các cạnh mới đến một nút mạng ngẫu nhiên chƣa có kết nối đến đỉnh đó. Mạng xây dựng theo cách này đƣợc gọi là mạng thế giới nhỏ.
Hình bên dƣới mô tả cách xây dựng mạng thế giới nhỏ theo Watts và Strogatz. Có thể thấy mạng thế giới nhỏ là mạng trung gian giữa một mạng dạng lƣới thông thƣờng, và mạng ngẫu nhiên.
Hình 14. Mạng thông thường, mạng thế giới nhỏ, mạng ngẫu nhiên
b) Mô hình mạng thế giới nhỏ của Kleinberg
Cách xây dựng
Đƣa các đỉnh của đồ thị vào một lƣới r chiều. Với mỗi đỉnh của đồ thị xây dựng các cạnh theo quy tắc sau:
Thiết lập ngẫu nhiên p cạnh với các nút ở gần (short link) Thiết lập ngẫu nhiên q cạnh với các nút ở xa (long link)
Với mỗi hàng xóm u, thì xác suất để nó có cạnh tới v là d(u,v)-r. với r là số chiều của lƣới.
Hình 15. Xây dựng đồ thị thế giới nhỏ theo Kleinberg trong lưới hai chiều
2.2.4.2. Tính chất của mạng thế giới nhỏ
a) Tính phân cụm cao
Hình 16. Tính phân cụm của đồ thị thế giới nhỏ
Với mạng Watts và Strogatz, do đồ thị dạng lƣới là đồ thị có tính chất, các đỉnh là hàng xóm lẫn nhau cao, tức là xác suất nếu B và C là hàng xóm của A, thì B và C cũng là hàng xóm của nhau là cao, nên khi thay thế ngẫu nhiên các cạnh của đồ thị dạng lƣới với số lƣợng cạnh vừa phải, toàn đồ thị sẽ chia thành nhiều nhóm cụm riêng rẽ, và tính phân cụm của đồ thị vẫn đƣợc bảo toàn.
Tƣơng tự với mạng Kleinberg đƣa ra, xác suất các nút ở gần nhau trên lƣới r chiều cơ bản xây dựng đồ thị là hàng xóm của nhau là cao, do vậy độ phân cụm của mạng cũng cao.
Tóm lại mạng thế giới nhỏ là mạng có độ phân cụm cao. b) Đƣờng kính mạng nhỏ
Một mạng dạng lƣới bình thƣờng có đƣờng kính mạng lớn, mạng ngẫu nhiên có đƣờng kính mạng trung bình, nhƣng mạng trung gian giữa mạng ngẫu nhiên, và mạng dạng lƣới có đƣờng kính nhỏ. Ngƣời ta đã chứng minh rằng nếu một mạng, có tính xác vừa có tính ngẫu nhiên, vừa có độ phân cụm cao thì độ dài đƣờng dẫn trung bình giảm mạnh. Đây là một kết quả nghiên cứu thực nghiệm trong tự nhiên. Từ đó yếu tố cơ bản để xây dựng mạng thế giới nhỏ là vừa tạo liên kết ngẫu nhiên để giảm đƣờng kính mạng. Mặt khác, duy trì các kết nối đến các nút ở gần để tạo các cụm địa phƣơng của mạng. Thực tế đƣa ra với mạng thế giới nhỏ đƣợc xây dựng khéo thì đƣờng kính của mạng ~6 không phụ thuộc vào số lƣợng nút mạng.
c) Đặc điểm về tỉ lệ hàng xóm gần, hàng xóm xa
Phần này trình bày đặc tính nhằm phân loại các topology của các mạng phủ cho các mạng ngang hàng phân tán phi cấu trúc. Một trong những đặc tính chính nhằm phân loại là tỉ lệ alpha giữa số lƣợng cạnh liên kết “ngắn” trên tổng số cạnh trong mạng. Các cạnh ngắn đƣợc lựa chọn theo một tiêu chí xác định nhƣ độ trễ hay khoảng cách giữa các nút mạng. Trong khi các đƣờng liên kết “dài” là kết quả của phép lựa chọn ngẫu nhiên hoặc từ các nút mạng ở xa.
Hệ số alpha=0 tƣơng đƣơng với mạng bao toàn bộ các cạnh là các cạnh xa, alpha=1 tƣơng đƣơng với mạng bao gồm toàn bộ các cạnh là các cạnh gần. Trong các mạng toàn các cạnh xa, tất cả các hàng xóm đều đƣợc chọn một cách ngẫu nhiên tạo thành một đồ thị ngẫu nhiên. Hệ số gần alpha càng tăng thì tính ngẫu nhiên của đồ thị càng giảm và số lƣợng liên kết ngắn tăng hay độ phân cụm của mạng cao tức là, nếu A và B liên kết gần với C, thì xác suất A và B liên kết “gần” của nhau là cao. Với hệ số alpha từ 0,5 đến 1,0 thì mạng có cả đặc tính ngẫu nhiên lẫn kết cụm, chúng ta gọi là mạng phủ “giống thế giới nhỏ”. Topology của mạng phủ “giống thế giới nhỏ” bao gồm
lƣợng ngẫu nhiên các kết nối dài giúp cho mạng liên thông đồng thời duy trì đƣợc đặc tính đƣờng kính ngắn của mạng ngẫu nhiên.
Ngẫu nhiên Nhiều liên kết dài Nhiều liên kết ngắn (thế giới nhỏ) Tât cả liên kết ngắn Đƣờng kính Nhỏ Nhỏ Nhỏ Cao
Tính kết nối Liên thông Liên thông Liên thông Không liên thông
Không gian tìm kiếm
Rộng Rộng Rộng Nhỏ
Tính hiệu dụng Kém Kém Tốt Tốt
Độ “nhận biết” * Bằng 0 Bằng 0 Lớn hơn 0 Lớn hơn 0
2.3. Ứng dụng mạng thế giới nhỏ
2.3.1. Đánh giá về các lớp mạng phủ
Ba yêu cầu chính đối với mạng ngang hàng là có cấu trúc, đáng tin tƣởng và có tính mở rộng cao. Ba yêu cầu trên là ba yêu cầu cơ bản đối với kiến trúc mạng để giúp xây dựng các ứng dụng ngang hàng. Cả ba dạng lớp mạng phủ cơ bản đều giải quyết đƣợc vấn đề đảm bảo đƣa đƣợc lớp mạng phủ giúp tất cả các nút mạng tham gia có thể kết nối với nhau, tuy nhiên chúng vẫn có những yếu điểm nhất định. Ta sẽ đi sâu phân tích về tính cấu trúc phân nhóm và đƣờng kính của mạng để thấy các ƣu, nhƣợc điểm của lớp mạng phủ thế giới nhỏ so với các lớp mạng phủ khác.
a) Mạng ngẫu nhiên và mạng thế giới nhỏ
Dễ thấy ƣu điểm nổi bật của mạng ngẫu nhiên là đơn giản, dễ cài đặt tuy nhiên mạng ngẫu nhiên có tính phân nhóm không cao. Các nút mạng liên kết với nhau hoàn toàn ngẫu nhiên, theo đó tính cấu trúc của mạng không cao dẫn đến khó khăn trong việc phát triển các thuật toán đẩy mạnh khả năng tìm kiếm và chia sẻ thông tin. Ngƣợc
lại mạng thế giới nhỏ, các nút mạng có tính phân cụm cao. Việc phân cụm của các nút mạng lệ thuộc vào tiêu chí đánh giá khoảng cách các nút mạng với nhau. Theo đó mặc dù việc chia nhóm có tính ngẫu nhiên nhất định nhƣng các nút trong nhóm thì luôn đƣợc phân chia theo đặc trƣng ngƣời xây dựng mạng thiết kế. Đó là điểm quan trọng để làm tăng hiệu suất của mạng.
b) Mạng bao đóng và mạng thế giới nhỏ
Mạng bao đóng và mạng thế giới nhỏ đều có tính phân nhóm và có đƣờng kính mạng nhỏ, tuy nhiên mạng bao đóng có một tỉ lệ nút mạng nhất định có bậc cao hơn hẳn so với các mạng khác. Điều đó gây nên vấn đề mất cân bằng đối với các nút tham gia mạng. Hơn nữa, khi kích thƣớc mạng tăng, mạng bao đóng cũng yêu cầu có một số nút có bậc rất cao, điều này có thể gây quá tải cho các nút đó. Do vậy lớp mạng phủ bao đóng, để mở rộng, thì cần phải xây dựng theo mô hình mạng ngang hàng lai ghép, không thể xây dựng theo mạng ngang hàng thuần túy đƣợc. Đối với mạng thế giới nhỏ, các nút mạng đều có bậc xấp xỉ bằng nhau, do đó có thể thấy ở tầng lớp mạng phủ thì các nút có đóng gớp nhƣ nhau cho việc duy trì dịch vụ của mạng.
Mạng ngẫu nhiên Mạng bao đóng Mạng thế giới nhỏ
Tính cấu trúc Kém Trung bình Trung bình
Tính phân nhóm Phân nhóm yếu Phân nhóm cao Phân nhóm cao
Đƣờng kính mạng Trung bình Nhỏ Nhỏ
Kích thƣớc mạng Lớn Lớn Trung bình
Bảng 1 Bảng so sánh các lớp mạng phủ
2.3.2. Truyền dữ liệu trong mạng thế giới nhỏ
Với các phƣơng thức truyền tin thông dụng trên mạng ngang hàng nhƣ kéo, đẩy, kéo đẩy xen kẽ, truyền lan phân tán… các nút mạng chia sẻ thông tin với nhau bằng cách chia sẻ thông tin với các hàng xóm, sau đó các các hàng xóm sẽ đóng vai trò trung gian tiếp tục truyền thông tin đến các nút mạng khác.
Trong mạng thế giới nhỏ, do tính chất phân nhóm cục bộ nên có thể chia việc chia sẻ thông tin thành hai loại:
Chia sẻ thông tin nội bộ giữa các nút mạng trong một nhóm.
Chia sẻ thông tin giữa các peer khác nhóm – hay chia sẻ giữa các nhóm. a) Chia sẻ thông tin nội bộ trong nhóm
Hình 17. Mô hình truyền tin nội bộ của các nút trong một nhóm
Trong một nhóm cục bộ, xác suất các nút trong nhóm quen biết lẫn nhau là cao, nên các nút trung gian trong nhóm, có thể đóng vai trò tích cực cho việc truyền tin. Nhìn vào hình trên khi gửi thông tin từ A đến B, thì ít nhất 2 nút trung gian có thể đóng góp trực tiếp vào quá trình chia sẻ thông tin. Tóm lại trong mạng thế giới nhỏ, thì hiệu suất truyền tin nội bộ trong nhóm cao.
Hình 18. Truyền tin giữa các nhóm
Đối với quá trình chia sẻ thông tin giữa các nút ở các nhóm khác nhau, do xác suât để các nút ở các nhóm khác nhau là hàng xóm trực tiếp của nhau là thấp nên quá trình chia sẻ thông tin đƣợc thực hiện qua một số các hàng xóm trung gian. Với tính chất đƣờng kính trung bình của mạng thế giới nhỏ là nhỏ, thì số lƣợng hàng xóm trung gian yêu tham gia truyền tin cũng nhỏ vì vậy có thể hi vọng độ trễ truyền tin giữa các nút ở các nhóm khác nhau là không quá cao.
Chƣơng 3. GIẢI PHÁP XÂY DỰNG MẠNG THẾ GIỚI NHỎ NHỎ
3.1. Xây dựng mô hình lý thuyết
a) Giải thuật
Bước 1: Xây dựng mạng dạng lưới - xây dựng mạng, với các nút mạng được sắp xếp trên một vòng tròn, các nút mạng liên kết với K nút mạng kề nó theo chiều kim đồng hồ.
Bước 2: Ngẫu nhiên hóa tạo mạng thế giới nhỏ - duyệt các đỉnh của mạng dạng lưới theo chiều kim đồng hồ, thay thế một số cạnh đang có của đồ thị bằng các cạnh ngẫu nhiên mới, với xác suất để tạo các cặp cạnh ngẫu nhiên là p (p thuộc khoảng [0,1])
Việc thay đổi ngẫu nhiên hóa ở bƣớc 2, tạo ra các liên kết dài trong mạng. Số liên kết dài đƣợc tính theo công thức p * n *K.
p: là xác suất để tạo cạnh mới
n: là số đỉnh của đồ thị
K: là hàng xóm trong mạng dạng lƣới đã đƣa ra
Nếu ta thay mạng dạng lƣới với các nút mạng đƣợc sắp xếp trên vòng tròn thành mạng dạng lƣới với nút mạng sắp xếp trong không gian, 2 chiều, 3 chiều… thì mạng thu đƣợc sẽ là mạng thế giới nhỏ theo mô hình Kleinberg. Tức là giải thuật trên có thể sử dụng để xây dựng cả hai mô hình mạng thế giới nhỏ đã đƣợc đƣa ra chƣơng 2.
b) Đánh giá
Tính khả thi trong cài đặt thuật toán: Đây là phƣơng pháp đơn giản và cơ bản để xây dựng mô hình lý thuyết cho mạng thế giới nhỏ theo định nghĩa. Tuy nhiên, mô hình này còn nhiều hạn chế khi triển khai cài đặt thực tế. Việc thiết lập mạng dạng lƣới ở bƣớc 1 là khó khăn và có thể là không thiết lập đƣợc khi triển khai ứng dụng.
Tính đầy đủ của giải thuật: Mạng đƣợc xây dựng trên mô hình trên, tuy đã xây dựng đƣợc mạng thế giới nhỏ, nhƣng chƣa giải quyết đƣợc những vấn đề khi nút mạng tham gia, và rời bỏ mạng.
3.2. Giải thuật xây dựng mô hình thế giới nhỏ dựa vào xây dựng nhóm
a) Giải thuật
Thay vì giải thuật thiết lập mạng thế giới nhỏ dựa trên mô hình lý thuyết nhƣ đã trình bày ở trên, một số nghiên cứu [7] đề xuất giải thuật xây dựng mạng dựa theo tính chất phân nhóm của mạng. Với các ƣu điểm nhƣ đề xuất đƣợc giải thuật chi tiết về việc tham gia, và rời bỏ mạng của các nút, dễ dàng mở rộng với số lƣợng nút mạng lớn, giải thuật đã xây dựng đƣợc phƣơng pháp cài đặt mạng thế giới nhỏ hiệu quả.
Đầu tiên, tác giả trình bày một số tham số liên quan đến tính phân nhóm. Sau đó, mô tả chi tiết thuật toán xây dựng mạng dựa trên các tính chất phân nhóm đó.
Các điều kiện về nhóm:
Kích thƣớc nhóm- G: Số lƣợng tối đa các nút mạng trong nhóm.
Đƣờng kính nhóm - D: Khoảng cách tối đa giữa các nút trong nhóm
Số lƣợng liên kết xa - k: Số lƣợng các liên kết đến các hàng xóm xa.
Tiến hành chia các nút mạng thành hai loại, các nút thành viên của nhóm (inner node) và các nút trƣởng nhóm (head node). Mỗi một nhóm có một nút trƣởng nhóm. Chia các liên kết thành hai loại, liên kết gần và liên kết xa. Các liên kết xa là liên kết của các nút mạng trong các nhóm khác nhau, các liên kết gần, là liên kết giữa các nút mạng trong một nhóm.
Nếu gọi m là số lƣợng trung bình các nhóm trong mạng, và n là số lƣợng nút trong mạng thì số lƣợng cạnh mong đợi để thiết lập cho các nút là: (m*k + G *n) / n
Để duy xây dựng và duy trì mạng, các nút mạng thực hiện theo các phƣơng thức bên dƣới:
Nếu một nút, muốn tham gia mạng nó sử dụng một hàm băm để lấy khóa h(i)
sau đó liên kết với nút ngay trƣớc nó - nút a, và nút ngay sau nó - nút b trong mạng. Nút ngay trƣớc nút i là nút có khóa h(a) lớn nhất thỏa mãn h(a)<h(i). Nút ngay sau nút
i là nút có khóa h(b) nhỏ nhất thỏa mãn h(b)>h(i). Xác định khoảng cách d1, d2 đến các nhóm:
d1= h(i) – h(a) d2= h(b) – h(i)
Để tham gia đƣợc vào nhóm chứa nút a hoặc nút b thì điều kiện là khoảng cách d1, d2 tƣơng ứng phải nhỏ hơn kích thƣớc nhóm D, và nhóm cần tham gia có số lƣợng nút nhỏ hơn G.
Nếu nút i không thể tham gia vào hai nhóm chứa a, hoặc chứa b, thì nút i sẽ tạo nhóm mới đồng thời làm trƣởng nhóm nhóm đó.
Nếu i có thể giam gia vào nhóm, Trong trƣờng hợp có thể tham gia cả hai nhóm, thì tùy theo độ dài d1, d2, i sẽ tham gia vào nhóm có khoảng cách nhỏ hơn.
Nếu nút i tham gia vào mạng, chỉ là nút thành viên, nó sẽ tạo liên kết đến các nút trong nhóm nó. Trong trƣờng hợp nút là trƣởng nhóm, nó cũng sẽ tạo liên kết đến nhóm nó đồng thời tạo thêm k liên kết đến các nhóm khác.
Cài đặt chi tiết
$.join cluster{ /* For each node */