Tải bản đầy đủ (.pdf) (48 trang)

sử dụng tác tử di động phát hiện dịch vụ trong các mạng ngang hàng không có cấu trúc

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (923.09 KB, 48 trang )

Sử dụng tác tử di động phát hiện dịch vụ trong các mạng ngang hàng không có cấu trúc!

Nguyễn Thị Kim Oanh – K50MTT Trang 1 ĐH Công nghệ - ĐH Quốc Gia HN


TRƯỜNG ………………….
KHOA……………………….

[\[\

Báo cáo tốt nghiệp
Đề tài:

SỬ DỤNG TÁC TỬ DI ĐỘNG PHÁT HIỆN DỊCH VỤ TRONG
CÁC MẠNG NGANG HÀNG KHÔNG CÓ CẤU TRÚC







Sử dụng tác tử di động phát hiện dịch vụ trong các mạng ngang hàng không có cấu trúc!

Nguyễn Thị Kim Oanh – K50MTT Trang 2 ĐH Công nghệ - ĐH Quốc Gia HN










LỜI CẢM ƠN

Tôi xin gửi lời cảm ơn tới các thầy cô trong khoa Công nghệ Thông tin trường
Đại học Công nghệ, Đại học Quốc Gia Hà Nội, đặc biệt là các thầy cô trong bộ môn
Mạng và truyền thông máy tính. Các thầy cô đã dạy bảo và giúp đỡ tôi rất nhiều
trong quá trình học tập, giúp tôi trưởng thành hơn trong suy nghĩ và nhận thức.
Đặc biệt xin chân thành cảm ơn thầy Nguyễn Đại Thọ, người đã trực tiếp
hướng d
ẫn tôi hoàn thành khóa luận này. Sự nhiệt tình hướng dẫn của thầy là nguồn
động lực lớn lao cho tôi.
Tôi cũng xin chân thành cảm ơn những người bạn thân thiết đã chia sẻ những
kinh nghiệm và kiến thức bổ ích cho tôi, xin cảm ơn những người thân trong gia
đình đã động viên và tạo điều kiện cho tôi trong quá trình hoàn thành khóa luận.

Hà Nội, tháng 5 năm 2009
Sử dụng tác tử di động phát hiện dịch vụ trong các mạng ngang hàng không có cấu trúc!

Nguyễn Thị Kim Oanh – K50MTT Trang 3 ĐH Công nghệ - ĐH Quốc Gia HN


TÓM TẮT NỘI DUNG

Khóa luận này là kết quả nghiên cứu của tác giả về vấn đề tìm kiếm trong
mạng ngang hàng.Trong khuôn khổ của khóa luận, tác giả đã trình bày tổng quan
nhất về mạng ngang hàng và vấn đề tìm kiếm trong mạng ngang hàng không có cấu
trúc. Phương pháp tìm kiếm đề xuất trong khóa luận được tác giả nghiên cứu dựa
trên nhiều nguồn tư liệu trong đó tư liệu chính là bài báo [4]

Khóa luận cũng giới thiệu về một công ngh
ệ đang còn rất nhiều tiềm năng đó
là công nghệ tác tử di động. Công nghệ hữu ích này đã giải quyết bài toán tìm kiếm
hóc búa như thế nào và dựa trên những cơ sở lý thuyết nào, đó là vấn đề mà khóa
luận tập trung phân tích. Để làm rõ hơn những phân tích và nghiên cứu, trong khóa
luận tác giả đã trình bày phần thí nghiệm mô phỏng với dự án MATES của Evan
Sultanik. Dựa trên kết quả thực nghiệm thu được, so sánh với các công th
ức lý
thuyết tác giả đã đánh giá và đưa ra kết luận cho những nghiên cứu của mình.

Sử dụng tác tử di động phát hiện dịch vụ trong các mạng ngang hàng không có cấu trúc!

Nguyễn Thị Kim Oanh – K50MTT Trang 4 ĐH Công nghệ - ĐH Quốc Gia HN


MỤC LỤC

LỜI CẢM ƠN 2
TÓM TẮT NỘI DUNG 3
BẢNG CÁC THUẬT NGỮ VIẾT TẮT 6
DANH MỤC CÁC HÌNH VẼ BẢNG BIỂU 7
MỞ ĐẦU 8
Chương 1. TỔNG QUAN 10
1.1. Tổng quan mạng ngang hàng 10
1.1.1. Định nghĩa 10
1.1.2. Phân loại 11
1.1.3. Ưu điểm và nhược điểm của mạng ngang hàng 11
1.1.4. Các ứng dụng của mạng ngang hàng 12
1.2. Vấn đề tìm kiếm trong mạng ngang hàng không cấu trúc 13
1.2.1. Một số kĩ thu

ật tìm kiếm phổ biến 13
1.2.2. Xu hướng phát triển 15
Chương 2. CÔNG NGHỆ TÁC TỬ DI ĐỘNG 16
2.1. Tổng quan về tác tử di động 16
2.1.1. Lịch sử hình thành 16
2.1.2. Định nghĩa 16
2.1.3. Các đặc tính chính 17
2.2. Nguyên lý hoạt động 17
2.3. Ứng dụng 18
2.3.1. Những lợi điểm của tác tử di động 18
2.3.2. Các ứng dụng chính 19
Chương 3. MÔ HÌNH SỬ DỤNG TÁC TỬ DI ĐỘNG PHÁT HIỆN DỊCH VỤ TRONG CÁC
MẠNG NGANG HÀNG KHÔNG CẤU TRÚC 21
3.1. Cơ sở
lý thuyết 21
3.1.1. Chuỗi Markov và đường đi ngẫu nhiên 22
3.1.2. Thuật toán PageRank 24
3.2. Các tham số đánh giá hiệu năng 26
Sử dụng tác tử di động phát hiện dịch vụ trong các mạng ngang hàng không có cấu trúc!

Nguyễn Thị Kim Oanh – K50MTT Trang 5 ĐH Công nghệ - ĐH Quốc Gia HN

3.2.1. Xác suất tác tử tới thăm một host cho trước 26
3.2.2. Xác suất tác tử phát hiện dịch vụ 26
3.2.3. Hàm dự đoán tác tử nhìn thấy dịch vụ và thăm host 27
3.2.4. Thời gian kì vọng tác tử di chuyển ngẫu nhiên trở về nguồn 28
3.3. Mô hình triển khai 29
3.4. Đánh giá mô hình 30
Chương 4. CÁC THÍ NGHIỆM MÔ PHỎNG VÀ ĐÁNH GIÁ 31
4.1. Chương trình mô phỏng MATES 31

4.1.1. Kiến trúc chương trình 31
4.1.2. Triển khai chương trình 34
4.1.3. Ưu điểm, nhược điểm củ
a chương trình 36
4.2. Thí nghiệm đo tần suất tác tử tới thăm host 37
4.3. Thí nghiệm 2 39
4.4. Thí nghiệm 3 43
Chương 5. KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 45
LỜI KẾT 47
TÀI LIỆU THAM KHẢO 48












Sử dụng tác tử di động phát hiện dịch vụ trong các mạng ngang hàng không có cấu trúc!

Nguyễn Thị Kim Oanh – K50MTT Trang 6 ĐH Công nghệ - ĐH Quốc Gia HN


BẢNG CÁC THUẬT NGỮ VIẾT TẮT

P2P Peer-to-Peer

WWW World Wide Web
URL Uniform Resource Locator
CAN Content Addressable Networks
DHT Distributed Hash Table
TTL Time-to-Live
MATES Macro Agent Transport Event-based Simulator
MANET Mobile Ad-hoc Network
AI Artificial Intelligence
Sử dụng tác tử di động phát hiện dịch vụ trong các mạng ngang hàng không có cấu trúc!

Nguyễn Thị Kim Oanh – K50MTT Trang 7 ĐH Công nghệ - ĐH Quốc Gia HN


DANH MỤC CÁC HÌNH VẼ BẢNG BIỂU

Hình 1-Mô hình mạng ngang hàng 10

Hình 2-Một agent di chuyển ngẫu nhiên trong mạng ngang hàng 22
Hình 3-Một vòng mô phỏng 31
Hình 4-Mối tương quan giữa xấp xỉ v và tần suất tác tử tới thăm host trong 100000
lần lặp 39

Hình 5-Hàm dự đoán F(N) và xác suất tới thăm host của tác tử có thông tin về dịch
vụ 42

Hình 6-Thời gian kì vọng tác tử về nguồn 44
Sử dụng tác tử di động phát hiện dịch vụ trong các mạng ngang hàng không có cấu trúc!

Nguyễn Thị Kim Oanh – K50MTT Trang 8 ĐH Công nghệ - ĐH Quốc Gia HN



MỞ ĐẦU

Ngày này cư dân mạng đã không còn lạ lẫm với thuật ngữ mạng ngang hàng
(P2P). Mạng ngang hàng là bước phát triển từ mô hình mạng client/server truyền
thống tới một mô hình mạng trong đó mỗi phần tử của mạng hoạt động với vai trò
của cả client và server. Mạng ngang hàng đã tỏ rõ ưu thế và ích lợi của mình trong
vấn đề lưu trữ và băng thông. Công nghệ mạng ngang hàng đã trở nên gần gũ
i và
phổ dụng với người dùng. Nó giảm những chi phí đắt đỏ bởi những người dùng có
thể sử dụng chung và chia sẻ cho nhau những phần cứng, những tài nguyên mạng.
Một số hệ thống mạng ngang hàng đã trở nên quen thuộc với người dùng Internet
như Napster, SETI@Home, ICQ. P2P hiện đang được ứng dụng trong rất nhiều lĩnh
vực, bao gồm cả thương mại điện tử.
Thu hút hàng nghìn k
ết nối từ người dùng mà không phải lo lắng tới vấn đề
điều khiển tập trung và mở rộng, P2P vẫn phải đối mặt với vấn đề định vị tài
nguyên do sự phân tán của mạng đặc biệt khi cấu trúc mạng không cố định mà
thường xuyên thay đổi. Các giao thức phát hiện tài nguyên phổ biến nhất trong
mạng ngang hàng vẫn là truy vấn phát tràn và bảng băm phân tán. Tuy nhiên
phương thức phát tràn đặt ra bài toán tắ
c nghẽn trong mạng trong khi bảng băm
phân tán lại yêu cầu tăng chi phí cho những cập nhật phân tán. Giao thức tìm kiếm
truyền thống trong mạng ngang hàng có thể được cải tiến nếu một nút bắt đầu truy
vấn có một chút thông tin về nơi tìm kiếm tài nguyên mà không phải duy trì việc
băm phân tán. Một số thông tin như topo mạng, băng thông do các nút khác hỗ trợ
có thể được sử dụng để cung cấp hướng tìm kiếm cho những truy vấ
n sau này.
Sự phát triển của khoa học máy tính, trí tuệ nhân tạo và công nghệ phần mềm
cho ra đời một đối tượng khá hữu dụng giải quyết vấn đề trên đó là tác tử. Một tác

tử là một đoạn mã có thể tiếp tục thi hành những hành động đã được lập trình mà
không cần phải chịu sự giám sát của bộ quản lý trung tâm. Các tác tử thông minh
cũng có khả năng học hỏi thông tin từ
môi trường để cải tiến hành động của chúng
và di chuyển từ một nút này tới nút khác để thực thi những tác vụ phân tán.

Sử dụng tác tử di động phát hiện dịch vụ trong các mạng ngang hàng không có cấu trúc!

Nguyễn Thị Kim Oanh – K50MTT Trang 9 ĐH Công nghệ - ĐH Quốc Gia HN

Tác tử phần mềm (software agent) là một hướng lập trình mới phù hợp để thực
thi cơ chế tìm kiếm thông tin trong mạng ngang hàng không có cấu trúc. Trong bối
cảnh đó đề tài “Sử dụng tác tử di động phát hiện dịch vụ trong các mạng ngang
hàng không có cấu trúc” đi sâu vào nghiên cứu giải pháp ứng dụng tác tử di động
phát hiện dịch vụ trong mạng ngang hàng không có cấu trúc dựa trên thuật toán
đường đi ngẫu nhiên và những cơ sở lý thuy
ết toán học. Ý tưởng sử dụng tác tử di
động phát hiện dịch vụ trong các mạng ngang hàng không có cấu trúc không phải là
mới. Vấn đề này đã được các nhà khoa học nghiên cứu và có những đánh giá nhất
định. Trong khuôn khổ của khóa luận này, tác giả chỉ nghiên cứu và xem xét các
khía cạnh liên quan tới nguyên lý, cơ chế, những lý thuyết về thuật toán của giải
pháp và đánh giá những lý thuyết đã đưa ra bằng những thí nghiệm mô phỏng c

thể.
Nội dung của khóa luận sẽ bao gồm những phần sau:
• Chương 1: Tìm hiểu chung về mạng ngang hàng, những phương pháp tìm
kiếm truyền thống trong mạng ngang hàng.
• Chương 2: Giới thiệu công nghệ tác tử di động, từ khái niệm, phân loại, các
tính chất, nguyên lý hoạt động, các lợi điểm cho tới những ứng dụng của công
nghệ này trong thực tiễn.

• Chương 3: Nghiên cứu giải pháp sử dụng tác tử di động tìm kiếm thông tin
trong các mạng ngang hàng không có cấu trúc, cơ sở lý thuyết, các tham số
liên quan và những đánh giá sơ bộ về giải pháp.
• Chương 4: Giới thiệu chương trình mô phỏng và cài đặt những thí nghiệm cụ
thể để đánh giá giải pháp
• Chương 5: Kết luận và hướng phát triển

Sử dụng tác tử di động phát hiện dịch vụ trong các mạng ngang hàng không có cấu trúc!

Nguyễn Thị Kim Oanh – K50MTT Trang 10 ĐH Công nghệ - ĐH Quốc Gia HN


Chương 1. TỔNG QUAN

1.1. Tổng quan mạng ngang hàng

1.1.1. Định nghĩa
Mạng ngang hàng (peer to peer) là một mạng máy tính trong đó hoạt động
của mạng chủ yếu dựa vào khả năng tính toán và băng thông của các máy tham gia
chứ không tập chung vào một số nhỏ các máy chủ tập chung như các mạng thông
thường. Hay nói một cách đơn giản hơn đó là mạng ngang hàng là một mạng mà
được tạo ra bởi hai hay nhiều máy tính được kết nối với nhau và chia sẻ tài nguyên
mà không phải thông qua một máy chủ rành riêng. D
ưới đây là một ví dụ về mạng
ngang hàng.



Hình 1-Mô hình mạng ngang hàng
Sử dụng tác tử di động phát hiện dịch vụ trong các mạng ngang hàng không có cấu trúc!


Nguyễn Thị Kim Oanh – K50MTT Trang 11 ĐH Công nghệ - ĐH Quốc Gia HN


1.1.2. Phân loại
Có thể phân loại các mạng đồng đẳng hiện nay theo tiêu chí về mức độ tập
trung của chúng như sau:
- Mạng ngang hàng “thuần túy”:
• Các máy trạm có vai trò vừa là máy chủ vừa là máy khách
• Không có máy chủ trung tâm quản lý mạng
• Không có bộ định tuyến trung tâm, các máy trạm có khả năng
tự định tuyến
- Mạng ngang hàng “lai”:
• Có một máy chủ trung tâm dùng để lưu trữ thông tin của các
máy trạm và trả lời các truy vấn thông tin này.
• Các máy trạm có vai trò lưu trữ thông tin, tài nguyên được
chia sẻ, cung cấp các thông tin về chia sẻ tài nguyên của nó cho
máy chủ.
• Sử dụng các trạm định tuyến để xác định địa chỉ IP của các
máy trạm.
Các mạng ngang hàng "thuần túy" có thể kể là Gnutella và Freenet. Các
mạng ngang hàng lai có nhiều loại: mạng P2P tập trung như Napste, mạng P2P
phân tán như KazaA, mạng P2P có cấu trúc như CAN, mạng P2P không cấu trúc
như Gnutella.

1.1.3. Ưu điểm và nhược điểm của mạng ngang hàng
1.1.3.1. Ưu điểm
Mạng ngang hàng thể hiện rõ ưu thế so vớ
i mạng theo mô hình
Client/Server.Nó tận dụng được tiềm năng từ "cạnh" của Internet còn ít được khai

thác. Ví dụ chỉ cần từ 10 triệu máy tính 100 MHz nối vào mạng cùng một lúc, mỗi
máy có dung lượng lưu trữ 100 MB, băng thông 1000 bps, 10% khả năng xử lý
chưa được sử dụng đến.
Nó không dựa trên server tập trung và thường hoạt động ngoài hệ thống tên
miền mà sử dụng kiến trúc phẳng, tính kết nối cao để các máy tự tìm ra nhau, xác
định nơi cung cấp dịch vụ và chủ động yêu cầu dịch vụ theo ý muốn.
Sử dụng tác tử di động phát hiện dịch vụ trong các mạng ngang hàng không có cấu trúc!

Nguyễn Thị Kim Oanh – K50MTT Trang 12 ĐH Công nghệ - ĐH Quốc Gia HN

Kiến trúc mạng ngang hàng cho phép phân tán trách nhiệm cung cấp dịch vụ
đến tất cả các điểm nút trên mạng. Chính vì thế đã loại bỏ vấn đề ngừng trệ dịch vụ
do nơi duy nhất cung cấp bị sự cố. Đó chính là giải pháp khả biến hơn trong việc
cung cấp dịch vụ.
Mạng ngang hàng tận dụng băng thông trên toàn bộ mạng bởi vì các máy
tính giao tiếp qua nhiều đường truyền khác nhau nên
đã giảm đáng kể hiện tượng
nghẽn tắc mạng.
Mạng ngang hàng phục vụ tài nguyên với độ sẵn sàng cao, chi phí thấp đồng
thời nâng cao hiệu suất khai thác trong khi đó thì mạng theo mô hình Client-Server
thì phải cần thêm băng thông, thiết bị, phương tiện.
1.1.3.2. Nhược điểm
Do tính các máy tính trong mạng có vai trò ngang nhau nên yêu cầu dịch vụ
cũng được đáp ứng một cách tùy biến. Ví dụ, các client yêu cầu cùng một dịch vụ

có thể nối tới các máy khác nhau, qua các đường truyền khác nhau, với kết quả
nhận được khác nhau.
Một nhược điểm nữa của mạng ngang hàng là các yêu cầu từ các máy có thể
không nhận được kết quả ngay và có thể không được đáp ứng do các tài nguyên có
thể biến mất do máy cung cấp ngắt kết nối trong khi đó với Client/Server thì hầu

như tài nguyên liên tục hiện diện.

1.1.4. Các ứng dụng của mạng ngang hàng
Ứng dụng lớn nhất có thể kể đến của mạng ngang hàng là ứng dụng chia sẻ
file. Có hai công nghệ mạng ngang hàng trong lĩnh vực chia sẻ file điển hình là
Napster và Gnutenlla. Trong khi Napster cho phép người dùng trao đổi các file MP3
với nhau và có thêm chức năng gửi tin nhắn tức thời thì Gnutenlla có thể cho phép
chia sẻ mọi kiểu file. Napster sử dụng kiến trúc mạng ngang hàng lai ghép trong đó
server lưu danh sách các file MP3 mỗi người dùng chia sẻ, cho phép người dùng
tìm kiếm một file cụ thể và các file được trao
đổi trực tiếp giữa các điểm nút.
Gnutella thì không sử dụng server.
Ngoài ứng dụng chia sẻ file, mạng ngang hàng còn có ứng dụng tính toán
phân tán. SETI@Home và Distributed.net là hai ứng dụng điển hình của tính toán
phân tán.
Sử dụng tác tử di động phát hiện dịch vụ trong các mạng ngang hàng không có cấu trúc!

Nguyễn Thị Kim Oanh – K50MTT Trang 13 ĐH Công nghệ - ĐH Quốc Gia HN



1.2. Vấn đề tìm kiếm trong mạng ngang hàng không cấu trúc
1.2.1. Một số kĩ thuật tìm kiếm phổ biến
1.2.1.1. Phát tràn
Phát tràn là chiến lược tìm kiếm đơn giản nhất và thông dụng nhất trong mạng
ngang hàng. Bởi thế mà mạng Gnutella đã sử dụng phương pháp tìm kiếm này. Việc
tìm kiếm được tiến hành như sau: đầu tiền nút cần tìm gửi đi một thông điệp do
thám tới tất cả các hàng xóm của nó. Các hàng xóm này sẽ chuyển những bản sao
của thông đi
ệp kia tới những nút hàng xóm kế tiếp trừ nút hàng xóm mà đã chuyển

thông điệp tới nó. Cứ như thế, công cuộc tìm kiếm được tiếp diễn.
Trong quá trình thực thi phương pháp này cho thấy một số hạn chế và nhược
điểm. Hạn chế lớn nhất đó là vấn đề truyền tải. Những thành phần tham dự vào
mạng như những máy tính cá nhân tại gia hay ở cơ quan là những thành phần ch
ịu
ảnh hưởng nhiều nhất. Nếu một máy tính phải xử lý rất nhiều gián đoạn mạng khi
tham gia vào mạng ngang hàng, người dùng chắc sẽ chẳng do dự mà chọn giải pháp
quay trở về với công việc thực tại hơn là cố gắng kết nối vào mạng chỉ để giải trí.
Đó là một lý do làm giảm khả năng và sự hữu dụng của mạng ngang hàng. Thật
không may là thuật toán tìm ki
ếm phát tràn lại làm gia tăng vấn đề này.
Gnutella đã sử dụng TTL(Time-To-Live) để điều khiển số chặng mà truy vấn
có thể lan truyền. Tuy nhiên việc chọn số TTL làm sao cho thích hợp lại là cả vấn
đề. Nếu TTL quá cao, các nút không cần thiết sẽ trở thành gánh nặng cho mạng còn
nếu TTL quá thấp, nút có thể không tìm được đối tượng nó cần.
Một vấn đề nữa với phương thức phát tràn này là có rất nhiều bả
n sao các
thông điệp được phát tán ra. Điều này đồng nghĩa với việc tăng chi phí trên mạng.
Những bản sao này gia tăng các quá trình xử lý ngắt tại mỗi nút nhận nhưng không
hề làm tăng cơ hội tìm thấy đối tượng cần.
1.2.1.2. Mở rộng vòng
Khi phát tràn lộ rõ những hạn chế của mình thì những nhà phát triển mạng đã
cố gắng tìm ra những phương pháp thích hợp hơn, tối ư
u hơn. Đầu tiên họ nhắm
vào vấn đề chọn TTL. Với phương pháp vòng mở rộng thì một nút bắt đầu phát tràn
Sử dụng tác tử di động phát hiện dịch vụ trong các mạng ngang hàng không có cấu trúc!

Nguyễn Thị Kim Oanh – K50MTT Trang 14 ĐH Công nghệ - ĐH Quốc Gia HN

với số TTL nhỏ và đợi xem việc tìm kiếm có thành công hay không. Nếu câu trả lời

là có thì nút sẽ dừng việc tìm kiếm. Ngược lại, nút sẽ tăng số TTL và bắt đầu lượt
phát tràn khác. Tiến trình này lặp lại cho tới khi đối tượng được tìm thấy.
Kết quả thực nghiệm chỉ ra rằng, mặc dù liên tục lặp lại quá trình phát tràn đó
nhưng so với phương pháp phát tràn truyền thống mà số TTL là cố định thì ph
ương
pháp mở rộng vòng vẫn giảm đáng kể tải mạng. Tuy nhiên có thể thấy phương pháp
này sẽ làm tăng độ trễ trong việc tìm ra đối tượng do nó phụ thuộc khá nhiều vào
thời gian chờ.
Mặc dù phương pháp mở rộng vòng đã giải quyết được vấn đề chọn số TTL,
nhưng nó chưa giải quyết được vấn đề bản sao thông điệp. Để giảm s
ố lượng bản
sao thông điệp ta thử một hướng tiếp cận khác, đó là đường đi ngẫu nhiên.
1.2.1.3. Di chuyển ngẫu nhiên
Di chuyển ngẫu nhiên được đánh giá là một kĩ thuật tốt. Nó gửi một thông
điệp truy vấn tới một hàng xóm được chọn ngẫu nhiên tại mỗi bước cho tới khi đối
tượng được tìm ra. Ta gọi những thông điệp này là “những người đi
đường”.
Khi sử dụng phương pháp di chuyển ngẫu nhiên chuẩn (chỉ với một người đi
đường), tải mạng sẽ được giảm xuống một cách đáng kể so với phương pháp mở
rộng vòng. Tất nhiên nó sẽ kéo theo độ trễ trong việc tìm ra đối tượng lớn hơn. Để
giảm độ trễ này ta sử dụng nhiều “người đi đường” hơn. Thay vì gửi đi một thông
điệp truy vấn, nút yêu cầu sẽ gửi đi k thông điệp truy vấn và mỗi thông điệp này lại
tự nó di chuyển một các ngẫu nhiên. Dự tính là với k “người đi đường” sau T bước
sẽ đi qua một số nút tương tự như số nút mà một người đi đường đi được sau kT
bước. Và thực nghiệm quả đã chứng minh điều này. Như vậy dùng k “người
đi
đường” hiệu quả công việc sẽ tăng lên gấp k lần và độ trễ tìm kiếm cũng giảm đi rất
nhiều.
Để giới hạn đường đi trong trường hợp có nhiều “người đi đường” các nhà
nghiên cứu đã thử nghiệm hai phương pháp: dùng TTL và kiểm tra. Phương pháp

dùng số TTL tương tự như phát tràn, mỗi đường đi ngẫu nhiên sẽ dừng sau một số
chặng xác đị
nh. Phương pháp kiểm tra thì khác, một “người đi đường” sẽ kiểm tra
một cách định kì yêu cầu đầu tiên trước khi tiếp tục di chuyển một cách ngẫu nhiên
tới nút khác. Thực ra phương pháp kiểm tra vẫn sử dụng TTL, nhưng số TTL rất
lớn và thường dùng để tránh lặp.
Sử dụng tác tử di động phát hiện dịch vụ trong các mạng ngang hàng không có cấu trúc!

Nguyễn Thị Kim Oanh – K50MTT Trang 15 ĐH Công nghệ - ĐH Quốc Gia HN

Ở phần sau của khóa luận ta cũng sẽ nghiên cứu phương pháp di chuyển ngẫu
nhiên nhưng có sử dụng cơ chế khác.
1.2.2. Xu hướng phát triển
Theo những phân tích ở trên ta có thể thấy phương pháp di chuyển ngẫu nhiên
với k người đi đường có nhiều khả năng mở rộng hơn phương pháp phát tràn. Chìa
khóa cho tìm kiếm mở rộng trong mạng không có cấu trúc là bao quát được các nút
đúng một cách nhanh nhất có thể và với chi phí thấp nhất có th
ể. Trong mạng không
có cấu trúc, cách duy nhất để tìm các đối tượng là tới thăm tất cả các nút, như thế có
thể nói chắc chắn là một nút sẽ có đối tượng cần tìm. Tuy nhiên, để đến được nút
yêu cầu thì một nút cần chú ý tới những vấn đề sau:
Tối giản những thông điệp lặp. Mỗi truy vấn nên tới thăm một nút đúng một
lần. Càng nhiều lần tới th
ăm càng tốn nhiều chi phí và tăng tải mạng.
Số nút tới thăm trong quá trình tìm kiếm nên nhỏ. Trong mỗi bước di chuyển
tiếp sau của quá trình tìm kiếm nên hạn chế số nút đã tới thăm. Điều này có lẽ là
khác nhau cơ bản giữa phương pháp phát tràn và phương pháp đường đi ngẫu nhiên
có nhiều người đi đường. Trong phát tràn thì số nút tới thăm tăng theo hàm mũ còn
trong đường đi ngẫu nhiên ở mỗi b
ước lặp sau thì số nút tới thăm tăng theo một

hằng số. Khi mỗi lần tìm kiếm chỉ yêu cầu chính xác một số nút để tới thăm thì các
nút phụ được tới thăm trong phương pháp phát tràn chỉ làm tăng tải trên mỗi nút.
Sử dụng tác tử di động phát hiện dịch vụ trong các mạng ngang hàng không có cấu trúc!

Nguyễn Thị Kim Oanh – K50MTT Trang 16 ĐH Công nghệ - ĐH Quốc Gia HN


Chương 2. CÔNG NGHỆ TÁC TỬ DI ĐỘNG

2.1. Tổng quan về tác tử di động
2.1.1. Lịch sử hình thành
Với sự phát triển đa dạng và phong phú của công nghệ thông tin, từng ngày
từng giờ đang ra đời hàng loạt những sản phẩm mới, tiện ích hơn, thông minh hơn,
hữu dụng hơn và nhỏ gọn hơn, đặc biệt là những sản phẩm có khả năng hoạt động
một mình và kết hợp với những chương trình khác. Là một sự gặp nhau giữa trí tuệ
nhân tạo và công nghệ phần mềm, các software agent là một chương trình như thế.
Tác tử di động là một loại software agent.
Khái niệm “software agent” được Mark Sidell và Chuck Knuff đưa ra năm
1994. Năm 1995 phiên bản đầu tiên của software agent xuất hiện.Tới những năm
1975 thì kĩ thuật lập trình phổ biến là lập trình hướng cấu trúc, những năm 1982 kĩ
thuật lập trình phổ biến là lập tình hướng đối tượng và đến khi agent ra đời thì nó đã
m
ở ra một phương pháp lập trình mới.

2.1.2. Định nghĩa
Để hiểu khái niệm về tác tử di động, ta đi từ khái niệm tác tử (agent). Khái
niệm agent theo Nawana đề xuất năm 1996 là một thành phần phần mềm hoặc phần
cứng có khả năng hoạt động chính xác để thay mặt chủ nhân hoàn thành nhiệm vụ.
Nó là sự kết hợp của nhiều kĩ thuật tin học hiện đại như: k
ĩ thuật cơ sở dữ liệu và cơ

sở tri thức, máy học, AI và khoa học nhận dạng, phục hồi thông tin, các hệ thống
phân tán, mobile code.
Mobile agent (tác tử di động) là từ ghép của mobile (tính di động) và agent
(tác tử). Xét trong bối cảnh mạng internet một mobile agent là một chương trình có
khả năng di chuyển một cách tự trị từ nút mạng này sang nút mạng khác và thực
hiện các xử lý thay thế con người hoàn thành nhiệm vụ.

Sử dụng tác tử di động phát hiện dịch vụ trong các mạng ngang hàng không có cấu trúc!

Nguyễn Thị Kim Oanh – K50MTT Trang 17 ĐH Công nghệ - ĐH Quốc Gia HN

2.1.3. Các đặc tính chính
- Tính tự trị: là khả năng tự kiểm soát bản thân của agent sau khi được giao
việc mà không cần sự can thiệp nào của người dùng hoặc agent khác. Khả năng này
của agent chủ yếu được quyết định bởi tri thức trang bị cho agent. Để đánh giá tính
tự trị của agent người ta thường dựa vào hai đặc tính là hướng đích (goal-oriented)
và tính chủ động (pro-activeness).
- Tính di động: là khả năng chuyển từ môi tr
ường thi hành này sang môi
trường thi hành khác. Có thể phân tính di động thành hai loại: di động mạnh và di
động yếu. Di động mạnh là khả năng mà hệ thống có thể di chuyển cả mã chương
trình và trạng thái thi hành của agent tới một môi trường khác còn di động yếu là
khả năng mà hệ thống chỉ có thể di chuyển mã chương trình giữa các môi trường thi
hành với nhau, mã nguồn có thể mang kèm một số dữ liệu khởi tạo nhưng trạng thái
thi hành thì không thể di chuy
ển.
- Khả năng cộng tác: là khả năng liên lạc, phối hợp hoạt động của các agent
với các agent khác cùng môi trường hay với các loại đối tượng khác trong những
môi trường khác.
- Tính thích nghi: là khả năng agent có thể hoạt động trên những môi trường lạ

và cảm nhận được những thay đổi

2.2. Nguyên lý hoạt động
Về thực chất agent chỉ là một đoạn mã, nó cũng có vòng đời và tùy vào loạ
i và
mục đích sử dụng mà agent có chi tiết vòng đời khác nhau. Tuy nhiên vòng đời của
agent vẫn bao gồm những điểm chính sau:
Khi agent được tạo ra trên một host cũng là lúc vòng đời của agent bắt đầu.
Trong khoảng thời gian này thì các trạng thái ban đầu của agent cũng có thể được
khởi tạo theo.
Khi đã sẵn sàng hoặc được lệnh di trú tới một host khác nằm trong đường đi
của agent, agent sẽ lưu lại trạng thái hi
ện hành của mình và tiến hành quá trình di
trú. Nếu quá trình di trú thất bại, agent sẽ tự ngừng hoạt động. Sau một khoảng thời
gian định trước hay được kích hoạt nó sẽ tiến hành lại quá trình di trú tới host khác.
Khi đã di trú tới host mới thành công, agent sẽ phục hồi trạng thái, khi đó nó
bắt đầu thực thi nhiệm vụ của mình.
Sử dụng tác tử di động phát hiện dịch vụ trong các mạng ngang hàng không có cấu trúc!

Nguyễn Thị Kim Oanh – K50MTT Trang 18 ĐH Công nghệ - ĐH Quốc Gia HN

Sau khi agent hoàn thành nhiệm vụ, nó có thể bị hủy hoặc chuyển sang trạng
thái ngủ đông cho đến khi có yêu cầu từ bộ đếm trong chính bản thân agent. Khi đó
agent sẽ lưu lại trạng thái của nó và di trú tới một host khác.
Vòng đời agent lặp lại theo quy trình như trên cho đến khi nó hoàn thành
nhiệm vụ hoặc hết thời gian hoạt động thì agent sẽ bị hủy.

2.3. Ứng dụng
2.3.1. Những lợi điểm của tác tử di động
Tác tử di động có rất nhiều lợi điểm. Dưới đây là một số lợi điểm chính.

- Giảm tải mạng
Với phương châm là “mang xử lý tới nơi chứa dữ liệu hơn là mang dữ liệu đến
chỗ xử lý” kỹ thuật Mobile Agent cho phép người dùng đóng gói cuộc trao đổi, gửi
nó đến máy đ
ích và thực hiện xử lý dữ liệu, trao đổi cục bộ tại đó. Có thể thấy
những dòng dữ liệu thô trên mạng sẽ được giảm xuống đáng kể, điều này đồng
nghĩa với tải mạng cũng được giảm xuống.
- Đóng gói các giao thức
Khi dữ liệu được trao đổi trong hệ thống phân tán, việc truyền và nhận dữ liệu
phải
được mã hóa bởi các giao thức cần thiết. Các giao thức này được sở hữu bởi
mỗi máy trong hệ thống. Tuy nhiên, một khi các giao thức phải tiến hóa để phù hợp
với những yêu cầu mới về bảo mật hoặc tính hiệu quả, chúng bắt đầu trở nên cồng
kềnh, nặng nề và trở thành vấn đề nan giải. Với giải pháp Mobile Agent, các agent
có thể mang trên mình các giao thức thích hợp và di chuyên tới các máy ở xa để
thi
ết lập các kênh truyền nhận thông tin tương ứng.
- Thi hành không đồng bộ và tự trị
Hãy tưởng tượng khi agent được nhúng các tác vụ cần thực hiện và được gửi
lên mạng. Lúc này agent trở nên độc lập thi hành không đồng bộ và có khả năng tự
trị. Các thiết bị di động sau đó có thể kết nối trở lại để đón agent về.
- Khắc phục sự trễ mạng
Việc điều khiển các hệ thống có quy mô lớn thông qua mạng sẽ phải chấp
nhận một giới hạn trễ nào đó. Tuy nhiên điều này là không được phép nếu đó là
những hệ thống thời gian thực như điều khiển robot, quy trình sản xuất…Với các
Sử dụng tác tử di động phát hiện dịch vụ trong các mạng ngang hàng không có cấu trúc!

Nguyễn Thị Kim Oanh – K50MTT Trang 19 ĐH Công nghệ - ĐH Quốc Gia HN

agent có thể được gửi đi từ một trung tâm điều khiển và hành động cục bộ, tự trị,

trực tiếp thi hành các chỉ dẫn của người điều khiển thì vấn đề này xem ra đã có thể
được giải quyết.

2.3.2. Các ứng dụng chính
- Thu thập dữ liệu phân tán
Trong trường hợp có nhu cầu truy vấn phức tạp, chuyên biệt và liên quan đến
nhiều nguồn dữ li
ệu phân tán, không đồng nhất, việc cử các mobile agent di chuyển
đến các nguồn tin để khai thác tại chỗ và quay về với những thông tin cần thiết sẽ
cho phép giảm tải mạng và giải quyết tốt hơn bài toán tương thích. Đã có những dự
án thuộc loại này như Distributed Query Processing via Mobile Agents (University
of Maryland), DB Access (University of Cyprus).
- Thương mại điện tử
Các ứng dụng thương mại điện tử là môi trường hấp dẫn để phát tri
ển công
nghệ mobile agents. Một giao dịch thương mại điện tử có thể bao gồm sự thương
lượng với các thực thể ở xa và có thể đòi hỏi truy cập nguồn thông tin liên tục thay
đổi. Thực tế đó nảy sinh nhu cầu thay đổi hành vi của các thực thể để đạt được một
nghi thức chung trong việc thương lượng. Hơn nữa việc di chuyển các thành phần
của ứ
ng dụng tiến gần đến nguồn thông tin thích hợp cho giao dịch cũng được quan
tâm.
- Quản trị hệ thống mạng
Đối với những hệ thống mạng lớn, việc chuẩn đoán lỗi, duy trì sự ổn định của
hệ thống là các công việc rất khó khăn. Việc ứng dụng mobile agent vào việc quản
trị mạng sẽ giúp cho các công việc chuẩn đoán lỗi và duy trì từ
xa sự ổn định của hệ
thống được dễ dàng hơn.
- Giám sát và phân tán thông tin
Các mobile agents là một minh họa cho mô hình Internet push. Các agent có

thể phổ biến tin tức và cập nhật phần mềm tự động cho các nhà sản xuất. Các agent
mang các thành phần phần mềm cũng như các thủ tục cần thiết đến các máy cá nhân
của khách hàng và tự cập nhật phần mềm trên máy đó. Mô hình này giúp cho nhà
sản xuất chủ động hơn trong việc phụ
c vụ khách hàng để đảm bảo chất lượng dịch
vụ của mình. Mặt khác, các ứng dụng loại này cũng tỏ ra hiệu quả đối với các mạng
Sử dụng tác tử di động phát hiện dịch vụ trong các mạng ngang hàng không có cấu trúc!

Nguyễn Thị Kim Oanh – K50MTT Trang 20 ĐH Công nghệ - ĐH Quốc Gia HN

cục bộ hay các chương trình quản lý quy trình hoạt động, sản xuất…để giúp người
quản trị giám sát các hệ thống con. Có một số dự án ứng dụng loại này như Banking
Dartflow [CAI-96], Autopilot [FOS-99].
- Xử lý song song
Vì các mobile agent có thể tạo ra nhiều bản sao của nó trên mạng, tận dụng
đặc tính này mà mobile agent được ứng dụng để quản trị các tác vụ song song. Một
ứng dụng đòi hỏi quá nhiều tài nguyên bộ xử lý có thể đượ
c phấn bố cho các mobile
agent mang đi thực hiện trên nhiều máy tính khác nhau để tận dụng các tài nguyên
rảnh rỗi và cân bằng tải. Một ví dụ của loại ứng dụng này là Hệ mobile agents
không đồng nhất [HER-99]

Sử dụng tác tử di động phát hiện dịch vụ trong các mạng ngang hàng không có cấu trúc!

Nguyễn Thị Kim Oanh – K50MTT Trang 21 ĐH Công nghệ - ĐH Quốc Gia HN


Chương 3. MÔ HÌNH SỬ DỤNG TÁC TỬ DI ĐỘNG PHÁT
HIỆN DỊCH VỤ TRONG CÁC MẠNG NGANG HÀNG
KHÔNG CẤU TRÚC


Sự truyền thông từ một nút tới các hàng xóm của nó trong mạng ad-hoc và
mạng ngang hàng vốn đã bị hạn chế, thế nên sự truyền thông trên nhiều chặng trong
mạng càng trở nên khó khăn, điển hình là vấn đề định tuyến. Những nghiên cứu gần
đây tập trung vào vấn đề sử dụng tác tử di động để định tuyến trong mạng ad-hoc.
Hầu hết các phương pháp dựa vào việc sử dụ
ng tần suất của tác tử tới thăm mỗi nút
để dự đoán topo mạng. Những nghiên cứu sâu hơn thì tập trung vào vấn đề tìm
kiếm dịch vụ phân tán trong mạng. Dịch vụ phân tán có thể bao gồm cả những tác
tử tĩnh và tác tử di động.
Chủ yếu do sự phát triển của công nghệ chia sẻ file ngang hàng, những nghiên
cứu quan trọng đã được tiến hành trong lĩnh vực mạng động. Ki
ến trúc tìm kiếm
dịch vụ đã từng tồn tại trong những mạng như vậy, tuy nhiên khi muốn sử dụng lại
cần phải đăng kí. Trong mạng CAN (Content-Addressable Network) kĩ thuật tìm
kiếm cũng đã được áp dụng trong vấn đề định vị. Hướng tiếp tìm kiếm cơ bản
thường giả định rằng các tác tử có thể tự di trú từ một máy này tới một máy khác
trong mạng. Các ph
ương pháp dựa trên tác tử để tìm kiếm dịch vụ đã được triển
khai. Thêm vào đó CANs và DHTs giả sử rằng chỉ mục và các phần tử dữ liệu là cố
định, không có cái nào trong những hướng tiếp cận này đề cập trực tiếp tới vấn đề
về xác định vị trí các dịch vụ di động.
Trong chương 2 ta cũng đã biết được rất nhiều ưu điểm c
ủa tác tử di động.
Giải pháp dựa trên tác tử di động sẽ là một lựa chọn hợp lý cho bài toán tìm kiếm
đang còn gặp nhiều khó khăn.

3.1. Cơ sở lý thuyết
Phát hiện dịch vụ có thể được hiểu chính xác nhờ mô hình triển khai một tập
các tác tử A, ngẫu nhiên trên đường đi của mình chọn một tập các hosts H trong

mạng ngang hàng. Một các đầy hình ảnh có thể tưởng tượng rằng các agent hoạt
Sử dụng tác tử di động phát hiện dịch vụ trong các mạng ngang hàng không có cấu trúc!

Nguyễn Thị Kim Oanh – K50MTT Trang 22 ĐH Công nghệ - ĐH Quốc Gia HN

động như những chú ong, công việc của chúng là “thụ phấn” cho mạng với những
thông tin về vị trí của dịch vụ.

Hình 2-Một agent di chuyển ngẫu nhiên trong mạng ngang hàng

Hướng tiếp cận này có ba lợi điểm quan trọng đó là không tốn băng thông
mạng, các dịch vụ không cần phải được đăng kí và tính chất của đường đi ngẫu
nhiên có liên quan nhiều tới những mô hình toán học, đó là những cơ sở khoa học
chắc chắn. Dưới đây ta sẽ áp dụng những mô hình toán học để mô tả những trạng
thái c
ủa các tác tử này. Ta sử dụng các tính chất của chuỗi Markov để mô hình hóa
xác suất một tác tử sẽ tới thăm một host xác định, phân bố nhị phân để mô hình hóa
xác suất một tác tử nhìn thấy một dịch vụ và một phân bố nhị phân khác để tính giá
trị kì vọng số tác tử sẽ tới thăm một host trong một khoảng thời gian.

3.1.1. Chuỗi Markov và di chuyển ngẫu nhiên
3.1.1.1. Chuỗi Markov
Nhắc lại m
ột chút về lý thuyết giải tích, Chuỗi Markov là một quá trình thống
kê ngẫu nhiên thời gian rời rạc. Đó là một tập các trạng thái S là các phần tử của ma
trận xác suất chuyển P. S có thể là hữu hạn hoặc vô hạn đếm được. Ma trận xác suất
chuyển P có một hàng và một cột cho mỗi trạng thái trong tập S. Mỗi phần tử của
ma trận này P
ij
là xác suất chuyển sang trạng thái j từ trạng thái hiện tại là trạng thái

i. Như vậy
10:, ≤≤∈∀ PSji
ij


=
j
ij
P 1
Sử dụng tác tử di động phát hiện dịch vụ trong các mạng ngang hàng không có cấu trúc!

Nguyễn Thị Kim Oanh – K50MTT Trang 23 ĐH Công nghệ - ĐH Quốc Gia HN

Một tính chất quan trọng của chuỗi Markov là trạng thái tương lai chỉ phụ
thuộc vào trạng thái hiện thời và nó không xảy ra tại thời điểm hiện tại. Theo luận
điểm đó có thể thấy xác suất chuyển P
ij
chỉ phụ thuộc vào trạng thái i.
Chuỗi Markov có nhiều ứng dụng trong nhiều lĩnh vực khác nhau. Với các
ứng dụng Internet thì PageRank là thuật toán điển hình sử dụng mô hình chuỗi
Markov mà ta sẽ tìm hiểu trong phần sau.
3.1.1.2. Di chuyển ngẫu nhiên và dự đoán tác tử tới thăm một host
Di chuyển ngẫu nhiên theo đồ thị về bản chất là chuỗi Markov hữu hạn. Nó có
rất nhiều tính chất tương tự như chu
ỗi Markov.
Thực nghiệm của Gkantsidis đã chỉ ra rằng với việc tìm kiếm một thông tin
xuất hiện thường xuyên trong mạng thì với lượng thông điệp là ngang nhau, phương
pháp đường đi ngẫu nhiên chắc chắn thực hiện tốt hơn phương pháp truyền thống
phát tràn.
Môi trường để tác tử thực thi nhiệm vụ là mạng ngang hàng động, đầy tính

ngẫu nhiên, luôn thay đổi. Ở đó tồn tại độ
trễ của sự nhận biết những thay đổi về
topo mạng. Vì vậy mục đích cơ bản của các tác tử cũng là di chuyển một cách ngẫu
nhiên trong mạng để thu thập thông tin. Hành động của các tác tử chỉ bao gồm việc
di chuyển ngẫu nhiên từ nút mạng hiện thời tới một hàng xóm của nó. Tại mỗi nút,
tác tử truy vấn dịch vụ, lưu trữ dữ liệu trong b
ộ nhớ.
Tần suất tác tử tới thăm một host có thể được dự đoán nhờ hàm F(N). Hàm
F(N) cho biết xác suất một tác tử a

A với thông tin về dich vụ s ∈ S sẽ tới thăm
một host h
∈ H trong thời gian t. N là một mô tả trạng thái cục bộ bao gồm các
thành phần:
t – độ dài khoảng thời gian
v – xác suất một tác tử sẽ ở tại host h
η – số thể hiện của dịch vụ s
|H| - tập các host có trong mạng
|A| - tập các tác tử
l – thời gian trung bình cần để một tác tử di chuyển từ một nút hàng xóm tới
một nút khác
Sử dụng tác tử di động phát hiện dịch vụ trong các mạng ngang hàng không có cấu trúc!

Nguyễn Thị Kim Oanh – K50MTT Trang 24 ĐH Công nghệ - ĐH Quốc Gia HN

τ – thời gian lớn nhất mà tác tử nhìn thấy dịch vụ s
F(N) được định nghĩa như một ánh xạ từ N tới xác suất thực:
F: (t, v, η, |H|, |A|, l, τ )
α
[0,1] (1)

Theo đánh giá trực quan thì |A| càng lớn, |H| và l càng nhỏ sẽ có càng nhiều tác
tử tới thăm host.
Kalman Filtering là phương pháp đánh giá trạng thái của một hệ thống động
tuyến tính từ một chuỗi các phép đo. Tuy nhiên tần suất tác tử mang thông tin tới
thăm một host sẽ không theo phân bố Gaussian tuyến tính, đặc biệt là với mạng có
độ thay đổi lớn, vì thế hàm F(N) không thể được dự đoán b
ằng phương pháp tương
tự như Kalman Filtering.

3.1.2. Thuật toán PageRank
Để dự đoán tần suất tới thăm một host xác định của các tác tử di chuyển ngẫu
nhiên, ta cần tính xác suất một tác tử sẽ tới thăm một host xác định tại một thời
điểm nào đó. PageRank là thuật toán giúp ta làm việc đó.

PageRank là thuật toán phân tích liên kết để đánh giá trọng số của mỗi phần tử
trong tập các tài liệu siêu liên kết ví dụ như WWW. Thuật toán này được sử dụng
trong công cụ tìm kiếm nổi tiếng Google. Nó sẽ xác định xác suất mà một người
lướt web ngẫu nhiên sẽ thăm một trang tại một thời điểm nào đó. Nếu N là số trang
web đã biết và một trang i có k
i
liên kết thì xác suất chuyển từ trang i tới các trang
khác mà i liên kết tới là
và cho các trang mà i không có liên
kết tới. Trong đó tham số
α thường được lấy giá trị bằng 0.85.
PageRank dùng chuỗi Markov để mô hình hóa đường đi ngẫu nhiên theo đồ
thị của mạng Internet. Thuật toán này cũng được áp dụng để tính xác suất một tác tử
sẽ tới thăm một host xác định tại một thời điểm nào đó. Nó lợi dụng tính dừng của
đồ thị, tính toán vecto đặc trưng
π

ρ
của ma trận kề J. Vecto đặc trưng
π
ρ
tương ứng
với giá trị riêng
1
λ
bởi phương trình
π
ρ
J =
1
λ
π
ρ

π
ρ
chứa xác suất một agent di
chuyển ngẫu nhiên sẽ ở trên một nút bất kì. Trong trường hợp liên quan tới đường
đi ngẫu nhiên thì J là ma trận xác suất chuyển từ host này tới host khác trong mạng.
Ma trận J có dạng:
Sử dụng tác tử di động phát hiện dịch vụ trong các mạng ngang hàng không có cấu trúc!

Nguyễn Thị Kim Oanh – K50MTT Trang 25 ĐH Công nghệ - ĐH Quốc Gia HN

J =





















nnnn
inijii
n
n
hhh
hhhh
hhhh
hhhh







21
21
2232221
1131211
trong đó h
ij
là xác suất chuyển từ host i sang host j
1
π
là xác suất mà tác tử ở tại host 1.
Theo dự đoán xác suất tác tử ở tại host 2 là
2
π
=
1
π
J .
Xác suất tác tử ở tại host 3 là :
3
π
=
2
π
J =
1
π
J
2


Cứ như thế, xác suất tác tử ở tại host n là :
n
π
=
1
π
1−n
J

Thuật toán PageRank với đầu vào là ma trận kề J đại diện cho mạng, d là số
thực nằm trong khoảng [0,1] (thường lấy giá trị 0.85), iterations là số lần lặp và tất
cả các phần tử của
π
ρ
sẽ được khởi tạo là
||
1
H
.
Phát biểu thuật toán PageRank như sau:
Thuật toán được lặp iterations bước, tại mỗi bước, duyệt các phần tử của tập
|H| . Với mỗi phần tử này xét các liên kết của nó tới các nút khác, nếu có bao nhiêu
liên kết thì tăng biến đếm lên từng đó. Giá trị của
π
ρ
tại các nút hàng xóm sẽ chia
đều cho số liên kết này và cộng dồn vào biến đếm sum. Và giá trị
π
ρ

tại các nút hiện
thời sẽ bằng tổng của (1-d) và d*sum. Dưới đây là đoạn giả mã cho thuật toán
for i = 1 to iterations do
for j = 1 to |H| do
sum
← 0
for k = 1 to |H| do
if J
k,j
> 0 then
links
← |{x| (1

x

|H|)

(J
k,x
> 0)}|
if links > 0 then
sum

sum +
π
ρ
k

÷
links


π
ρ
j
← (1-d) + d*sum

×