b) Kiến trúc của Hadoop
4.3.2. xuất thuật toán
Trong phần này, tác giả trình bày đề xuất một thuật toán tìm đƣờng đi ngắn nhất trên đồ thị phân tán. Ở đây, cách tiếp cận là sử dụng thuật toán Dijkstra kết hợp với kỹ thuật ƣớc lƣợng từng phần. Để làm đƣợc điều đó, tác giả đã nghiên cứu mối liên
46
hệ giữa đƣờng đi ngắn nhất trên toàn bộ đồ thị và đƣờng đi ngắn nhất trên từng phần đồ thị. Các kỹ thuật này sẽ đƣợc trình bày trong các phần dƣới đây.
Định nghĩa 4.2: Đồ thị phân tán có trọng số là một đồ thị phân tán mà trên các
cạnh đƣợc gán một giá trị số (số nguyên hoặc số thực).
Để áp dụng cho bài toán tìm đƣờng đi ngắn nhất, tác giả sử dụng một đồ thị phân tán có trọng số. Bằng cách gán các trọng số vào đồ thị phân tán của Hình 4.1, chúng ta có một đồ thị phân tán có trọng số nhƣ trong Hình 4.2.
Hình 4.2: Ví dụ đồ thị phân tán có trọng số
Trong Hình 4.2, các trọng số đƣợc đƣa vào đƣợc xem nhƣ độ dài đƣờng đi giữa hai địa điểm (có thể sử dụng đơn vị là kilometer).
Ví dụ 4.2: Giả sử chúng ta có một đồ thị phân tán có trọng số Gnhƣ trong Hình 4.2 là một mạng đƣờng đi của các tỉnh thành. Ở đó, G1, G2, và G3 tƣơng ứng 3 tỉnh thành khác nhau lần lƣợt là Hà Nội, Hƣng Yên và Hải Dƣơng. Dữ liệu mạng đƣờng đi của các tỉnh thành là rất lớn và đƣợc lƣu trữ riêng biệt tại các máy tính khác nhau, có kết nối với nhau qua một hệ thống mạng. Trên mỗi mạng đƣờng đi của một tỉnh thành có tồn tại các điểm của các tỉnh thành lân cận. Một tình huống thực tế là: một
47
ngƣời đang ở địa điểm (1) tại Hà Nội muốn đến thăm một ngƣời bạn ở địa điểm số (16) tại Hải Dƣơng. Trên thực tế, có rất nhiều tuyến đƣờng từ Hà Nội đến Hải Dƣơng, có tuyến trực tiếp qua hai thành phố, nhƣng cũng có nhiều tuyến đi liên tỉnh qua Hƣng Yên rồi mới đến Hải Dƣơng. Hãy giúp anh ấy tìm ra một tuyến đƣờng ngắn nhất đi từ (1) đến (16) trên hệ thống dữ liệu đã có. Trong các phần tiếp theo, tác giả sẽ tập trung giải quyết bài toán này.