Ngày nay, sức mạnh máy tính đã có những bước phát triển vượt trội giúp con người
đạt được nhiều thành tựu trong các lĩnh vực của cuộc sống. Sức mạnh tính toán của máy
tính được phát triển dựa trên những thành tựu của khoa học – kỹ thuật để ngày càng thu
nhỏ hơn và tích hợp nhiều hơn những bóng bán dẫn trên cùng một bộ vi xử lý để tăng khả
năng xử lý. Nhiều năm qua, tốc độ phát triển tính toán của máy tính đều tuân theo định
luật Moore với nội dung là sau mỗi 2 năm tốc độ tính toán máy tính l ại tăng gấp đôi. Tuy
tốc độ tính toán đã những bước phát triển vượt bậc nhưng những công việc của máy tính
thực hiện về tác vụ chính chỉ ràng buộc trong một số thao tác cơ bản như lưu trữ, tìm
kiếm và cập nhật thông tin. Và để giải quyết một vấn đề nào đó trong cuộc sống, máy
tính vẫn phải dựa trên các phương pháp giải quyết của con người, để nhằm được cung
cấp cho máy tính những phương thức và quá trình giải quyết vấn đề đó.
Quá trình giải quyết các vấn đề trong cuộc sống của con người ít bị thay đổi theo thời
gian. Nó là một sự mở rộng và hoàn thiện các phương pháp nhưng tất cả đều tựu chung
theo một phương pháp tổng quan nhất:
- Quan sát và tập hợp các sự kiện ở trong quá khứ và hiện tại.
- Bổ sung, kết hợp và biến đổi những sự kiện trước đó.
- Kiểm tra và đánh giá những kết quả đạt được.
- Ghi nhận, xử lý các kết quả (kết quả đúng và sai) và đưa ra hướng giải quyết mới.
- Quay lại bước quan sát – tập hợp và lặp lại quá trình giải quyết như vậy.
17 trang |
Chia sẻ: lvbuiluyen | Lượt xem: 2662 | Lượt tải: 0
Bạn đang xem nội dung tài liệu Phương pháp bước đi ngẫu nhiên trong giải quyết các bài toán tin học, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
\
Trang 1
ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
-----------------------------------------------------
PHƯƠNG PHÁP NGHIÊN CỨU KHOA HỌC TRONG TIN HỌC
PHƯƠNG PHÁP BƯỚC ĐI NGẪU NHIÊN
TRONG GIẢI QUYẾT CÁC BÀI TOÁN TIN
HỌC
\
Trang 2
Mục lục trang
1. Đặt vấn đề ............................................................................................................... 2
2. Các thuật toán dựa trên phương pháp “bước đi ngẫu nhiên” ............................. 3
2.1 Thuật giải áp dụng trên đồ thị ............................................................................ 3
2.1.1 Thuật giải gom cụm Markov Cluster .............................................................. 3
2.1.2 Thuật giải đánh giá liên kết HITS .................................................................. 7
2.2 Thuật giải tối ưu hóa mô phỏng hành vi đàn kiến ............................................. 10
3. Áp dụng thực tiễn từ các thuật giải ..................................................................... 12
4. Kết luận ................................................................................................................ 14
Tài liệu tham khảo .............................................................................................. 15
Phụ lục ..................................................................................................................... 16
Chương trình minh họa ................................................................................................ 16
\
Trang 3
1. Đặt vấn đề
Ngày nay, sức mạnh máy tính đã có những bước phát triển vượt trội giúp con người
đạt được nhiều thành tựu trong các lĩnh vực của cuộc sống. Sức mạnh tính toán của máy
tính được phát triển dựa trên những thành tựu của khoa học – kỹ thuật để ngày càng thu
nhỏ hơn và tích hợp nhiều hơn những bóng bán dẫn trên cùng một bộ vi xử lý để tăng khả
năng xử lý. Nhiều năm qua, tốc độ phát triển tính toán của máy tính đều tuân theo định
luật Moore với nội dung là sau mỗi 2 năm tốc độ tính toán máy tính lại tăng gấp đôi. Tuy
tốc độ tính toán đã những bước phát triển vượt bậc nhưng những công việc của máy tính
thực hiện về tác vụ chính chỉ ràng buộc trong một số thao tác cơ bản như lưu trữ, tìm
kiếm và cập nhật thông tin. Và để giải quyết một vấn đề nào đó trong cuộc sống, máy
tính vẫn phải dựa trên các phương pháp giải quyết của con người, để nhằm được cung
cấp cho máy tính những phương thức và quá trình giải quyết vấn đề đó.
Quá trình giải quyết các vấn đề trong cuộc sống của con người ít bị thay đổi theo thời
gian. Nó là một sự mở rộng và hoàn thiện các phương pháp nhưng tất cả đều tựu chung
theo một phương pháp tổng quan nhất:
- Quan sát và tập hợp các sự kiện ở trong quá khứ và hiện tại.
- Bổ sung, kết hợp và biến đổi những sự kiện trước đó.
- Kiểm tra và đánh giá những kết quả đạt được.
- Ghi nhận, xử lý các kết quả (kết quả đúng và sai) và đưa ra hướng giải quyết mới.
- Quay lại bước quan sát – tập hợp và lặp lại quá trình giải quyết như vậy.
Quá trình như vậy được lặp lại cho đến khi đạt được kết quả mong muốn. Kết quả
mong muốn ở đây có thể là một kết quả không cần đúng hoàn toàn, chỉ cần kết quả đúng
một phần trong một giới hạn cho phép. Ví dụ các lý thuyết trong vật lý và kinh tế, nó
được dẫn giải và giải thích đúng một số hiện tượng nhưng các lý thuyết đó vẫn chưa thể
được chứng minh đúng hoàn toàn như thuyết tương đối, thuyết thị trường hiệu quả…
Riêng đối tin học, các giải pháp đưa ra cho một vấn đề đôi khi không thể giải quyết để
thỏa mãn cùng lúc tất cả các yêu cầu của vấn đề. Đôi khi, phải sử dụng các phương pháp
gián tiếp với kết quả trả về được chấp nhận theo các điều kiện nào đó. Ví dụ: tìm kiếm
trên Google không dựa trên ngữ nghĩa mà dựa trên tìm kiếm theo từ khóa và đánh giá nội
dung theo các link các trang web bên trong nhưng vẫn cung cấp được các kết quả tìm
kiếm tương đối chính xác với nội dung tìm kiếm của người dùng.
\
Trang 4
Như vậy, việc kết hợp sức mạnh của máy tính về tính toán, lưu trữ với phương pháp
giải quyết các vấn đề một cách tổng quan của con người có thể được áp dụng cho nhiều
lĩnh vực khác nhau trong cuộc sống với hiệu quả cao hơn, giải quyết được nhiều vấn đề
hơn. Hiện nay, khi các giải pháp tin học đã được áp dụng rộng rãi trong tất cả các ngành
thì đã nổi bật lên ý tưởng về phương pháp “bước đi ngẫu nhiên” (tên tiếng Anh là
Random Walk) để giải quyết các vấn đề trong cuộc sống.
Phương pháp, ý tưởng của “bước đi ngẫu nhiên” là một nền tảng chung nhất, tùy vào
các yêu cầu bài toán sẽ có những biến đổi để tạo ra những giải pháp mới, những thuật giải
mới. Phương pháp “bước đi ngẫu nhiên” mang tính chất gần gũi với cách giải quyết của
con người đồng thời tận dụng được sức mạnh của máy tính để giải quyết hiệu quả các vấn
đề được đặt ra trong cuộc sống. Ví dụ: thuật toán đánh giá nội dung trang Web của
Google với thuật giải đàn kiến trong việc tối ưu, tuy hoàn toàn khác nhau về phương
pháp thực hiện cũng như thuộc 2 bài toán khác nhau nhưng về cơ bản cả hai thuật giải
trên đều xuất phát từ khái niệm “bước đi ngẫu nhiên” để phát triển thành hai thuật giải
hiệu quả để giải quyết các yêu cầu của mỗi bài toán.
2. Các thuật toán dựa trên phương pháp “bước đi ngẫu nhiên”
Phương pháp “bước đi ngẫu nhiên” là một phương pháp tổng quan. Tùy vào các yêu
cầu bài toán mà phương pháp “bước đi ngẫu nhiên” có những sự thay đổi để hình thành
thuật giải mới phù hợp với nhu cầu.
Phương pháp “bước đi ngẫu nhiên” là một phương pháp với nền tảng đơn giản. Đó là
lựa chọn ngẫu nhiên các giải pháp trong tập giải pháp với những ràng buộc giữa những
giải pháp. Việc lựa chọn này tiếp tục với phương pháp lưu vết hoặc kết quả lặp lại giữa
những giải pháp hoặc tăng cường – làm yếu đi các liên kết để làm xuất hiện những kết
quả mà các phương pháp khác khó tiếp cận.
Dưới đây là một số thuật toán áp dụng phương pháp “bước đi ngẫu nhiên” để giải
quyết bài toán cụ thể:
2.1 Các thuật giải áp dụng trên đồ thị.
Đồ thị là một tập hợp các đỉnh và các cạnh nối các đỉnh với nhau. Mô hình đồ thị là
một trong những mô hình biểu diễn rất tốt các đặc điểm, mối quan hệ giữa các sự vật,
thực thể khác nhau. Một số mô hình đồ thị tiêu biểu như mạng xã hội, mạng ngữ nghĩa,
mạng đặc điểm nhận dạng khuôn mặt, protein… Dưới đây một số thuật giải trên đồ thị
xuất phát từ phương pháp “bước đi ngẫu nhiên” để giải quyết một số bài toán nổi bật:
\
Trang 5
2.1.1 Thuật giải gom cụm: Markov Cluster Algorithm (MCL) [1]
Bài toán gom cụm dữ liệu là một bài toán thuộc lớp phân lớp không giám sát. Trong
đó, yêu cầu của bài toán là từ tập dữ liệu lớn sẽ được gom cụm các tài liệu trong tập
thành các nhóm tài liệu dựa trên chỉ số có thể so sánh với nhau giữa các tài liệu(độ đồng
dạng, độ khác biệt, khoảng cách Euclid…). Các thuật toán kinh điển và được sử dụng phổ
biến khi gom cụm như thuật giải K-Mean, EM đã đạt nhiều kết quả khả quan… nhưng
phần lớn các thuật toán đều không có sự ổn định khi xuất kết quả, đồng thời hiệu quả của
thuật toán không phụ thuộc hoàn toàn vào số liệu mà phụ thuộc vào thiết kế ban đầu để
chạy thuật toán như phải xác định số lượng nhóm cho trước, thiết kế quy tắc chọn phần tử
trung tâm của nhóm… mà từ đó có những ảnh hưởng rõ rệt đến kết quả của bài toán.
Từ yêu cầu bài toán gom cụm có thể mô hình hóa tập dữ liệu theo mô hình đồ thị như
sau: mỗi đỉnh của đồ thị là một tài liệu và cạnh nối giữa các tài liệu thể hiện một chỉ số so
sánh (ví dụ như độ đồng dạng của tài liệu). Lưu ý: với những cặp tài liệu độ đồng dạng
thấp thì có thể bỏ qua sự kết nối thông qua cạnh giữa 2 tài liệu đó.
Ví dụ: cho 7 tài liệu như hình 1 minh họa. Trong đó, nếu giữa 2 cặp tài liệu bất kỳ
được xem là tương đối giống nhau thì tồn tại một cạnh nối 2 tài liệu đó.
Hình 1: minh họa mô hình đồ thị
Ý tưởng của phương pháp “bước đi ngẫu nhiên” được sử dụng ở đây là nếu chúng ta
bắt đầu xuất phát tại một đỉnh bất kỳ của đồ thị và thực hiện “bước đi ngẫu nhiên” - chọn
ngẫu nhiên tới một đỉnh khác thông qua cạnh liên kết giữa chúng thì dường như chúng ta
đi qua chủ yếu các cạnh giữa các đỉnh cùng thuộc một nhóm nhiều hơn là đi qua các cạnh
nối giữa các nhóm với nhau. Từ đặc điểm này có thể tiến hành gom cụm dữ liệu với độ
chính xác cao. Ví dụ từ hình 1: cạnh nối đỉnh 2 và đỉnh 5, có mật độ di chuyển qua lại ít
hơn các cạnh khác, do nó là cạnh nối liền 2 nhóm đỉnh.
Việc tính toán gom cụm dữ liệu trên phương pháp “bước đi ngẫu nhiên” sẽ được tính
toán dựa trên nền tảng lý thuyết toán học xích Markov (Markov Chain). Trong phạm vi
bài luận này, xích Markov chỉ được giới thiệu một cách tổng quan nhất.
\
Trang 6
Xích Markov là một dãy các trạng thái X1, X2, X3, … được xác định bởi trạng thái
hiện thời không phụ thuộc vào trạng thái ở quá khứ và tương lai. Trong đó, các trạng thái
X1, X2, X3… trong phạm vi thuật giải gom cụm được xem là một ma trận xác suất
(trong đó, tổng các thành phần trên mỗi cột là 1 và giá trị mỗi phần tử trong ma trận có
giá trị từ 0 đến 1).
Từ hình 1 nhận thấy, từ đỉnh 1 có xác suất ngẫu nhiên để đi tới đến các đỉnh 2, 3, 4 là
33% (0.33) và từ đỉnh 1 đến đỉnh các còn lại là 0%. Từ đây sẽ hình thành được một ma
trận xác suất với trên mỗi cột là xác suất từ đỉnh đó tới các đỉnh khác.
Hình 2: minh họa ma trận xác suất
Các bước tổng quan gom cụm dữ liệu dựa trên ý tưởng “bước đi ngẫu nhiên”
- Bước 1: Xác định mối quan hệ giữa các tài liệu và mô hình hóa bài toán thành đồ
thị. Trong đó, nếu 2 tài liệu có quan hệ thì giá trị biểu diễn trên ma trận của đồ thị
là 1 ngược lại là 0.
- Bước 2: Chuyển giá trị trên đường chéo chính của ma trận thành 1.
- Bước 3: Chuẩn hóa ma trận trên thành ma trận xác suất. Trong đó, giá trị phần tử
sau khi chuẩn hóa có giá trị từ 0 đến 1 và tổng giá trị trên mỗi cột là 1.
- Bước 4: Tự nhân ma trận với chính nó để hình thành một ma trận mới.
- Bước 5: Tiến hành thực hiện làm mạnh các liên kết được xem là mạnh (có thể
trong cùng 1 nhóm) và làm yếu đi các liên kết được xem là yếu (các cạnh kết nối
các nhóm với nhau). Gọi A[i, j] là giá trị phần tử ma trận với n phần tử thì công
thức làm mạnh và yếu các liên kết được tính như sau:
ܣ[݅, ݆] = ܣ[݅, ݆]ଶ
∑ ܣ[݇, ݅]ଶ ୀଵ
\
Trang 7
- Bước 6: Tiến hành chuẩn hóa là thành ma trận xác suất với tổng giá trị trên cột là 1
và giá trị mỗi phần tử có giá trị từ 0 đến 1.
- Bước 7: Sau khi chuẩn hóa nếu ma trận hội tụ, đạt được trạng thái cân bằng (giá trị
bằng giá trị sau khi chuẩn hóa ma trận sau bước 3) và trạng thái trên mỗi dòng có
các phần tử khác 0 thì cùng giá trị với nhau.
- Bước 8: nếu đã xác định được ma trận hội tụ tiến hành phân tích kết quả thành các
nhóm dữ liệu. Mỗi dòng trên ma trận là một nhóm dữ liệu với trong đó các tài liệu
mang giá trị khác 0. Lưu ý: một tài liệu có thể thuộc nhiều nhóm.
Từ hình 2, trải qua 1 vòng lặp (nhân ma trận – chuẩn hóa), ma trận có trạng thái:
⎝
⎜
⎜
⎜
⎛
0.25 0.2 0.25 0.25 0.01 0 00.25 0.32 0.25 0.25 0.06 0.02 0.020.25 0.2 0.25 0.25 0.01 0 00.25 0.2 0.25 0.25 0.01 0 00.01 0.05 0.01 0.01 0.38 0.32 0.320 0.01 0 0 0.26 0.32 0.320 0.01 0 0 0.26 0.32 0.32⎠⎟
⎟
⎟
⎞
Trải qua 4 vòng lặp, ma trận có trạng thái bên dưới. Tuy chưa hội tụ nhưng quá trình
xử lý Markov Cluster đã làm gia tăng sức mạnh các cạnh liên kết trong nhóm và triệt tiêu
dần các cạnh nối giữa 2 nhóm.
⎝
⎜
⎜
⎜
⎛
0.17 0.17 0.17 0.17 0 0 00.51 0.51 0.51 0.51 0 0 00.17 0.17 0.17 0.17 0 0 00.17 0.17 0.17 0.17 0 0 00 0 0 0 0.62 0.62 0.620 0 0 0 0.19 0.19 0.190 0 0 0 0.19 0.19 0.19⎠⎟
⎟
⎟
⎞
Sau 8 vòng lặp, ma trận đạt trạng thái hội tụ. Từ đây những dòng ma trận có giá trị
khác 0 sẽ hình thành nên các nhóm dữ liệu. Như hình bên dưới, tồn tại 2 dòng ma trận
(dòng 2 và dòng 5) tạo thành nhóm 1 gồm các đỉnh (1, 2, 3, 4) và nhóm 2 gồm các đỉnh
(5, 6, 7).
⎝
⎜
⎜
⎜
⎛
0 0 0 0 0 0 01 1 1 1 0 0 00 0 0 0 0 0 00 0 0 0 0 0 00 0 0 0 1 1 10 0 0 0 0 0 00 0 0 0 0 0 0⎠⎟
⎟
⎟
⎞
\
Trang 8
2.1.2 Thuật giải đánh giá các liên kết: Hyperlink Induce Topic Search (HITS) [2]
Bài toán đánh giá dựa trên các liên kết được áp dụng rộng rãi trong nhiều lĩnh vực
như kinh tế, phân tích dữ liệu nhưng nổi bật nhất đó là phân tích liên kết giữa các trang
Web trên mạng Internet, hỗ trợ cho việc tìm kiếm thông tin trên mạng Internet. Trong đó,
thuật giải đánh giá các liên kết Hyperlink Induce Topic Search (HITS) là một trong
những thuật giải nổi bật trong việc đánh giá xếp hạng nội dung các trang Web dựa trên sự
liên kết giữa các trang Web. Thuật giải HITS phát triển bởi giáo sư Kleinberg ở đại học
Cornell và được công bố vào năm 1998.
Nếu xem các trang Web là một đỉnh và các link liên kết giữa các trang Web là cạnh
nối các đỉnh với nhau thì mô hình trang Web trên mạng Internet có thể được xem như là
một mô hình đồ thị khổng lồ. Và để đánh giá nội dung 1 tập các trang Web (tương ứng
với một câu lệnh tìm kiếm) có thể dựa trên sự phân tích mối liên kết giữa các trang Web
với nhau. Trong đó, thuật giải HITS đánh giá các trang Web qua 2 điểm: Hub (Hub
score) và Authority (Authority score). Minh họa dễ hiểu về Hub và Authority dưới thể
hiện bên dưới. Cho một tập trang Web được rút trích từ các từ khóa sau: Top automobile
makers.
Hình 3: minh họa điểm Hub và điểm Authority
Theo thuật giải HITS thì một trang Web có một điểm Hub cao khi trang Web đó chứa
nhiều link liên kết tới các trang Web có điểm Authority cao. Ngược lại, một trang Web
có điểm Authority cao là một trang Web được liên kết (trỏ tới) từ nhiều trang Web có
\
Trang 9
điểm Hub cao. Tùy vào mục đích tìm kiếm mà căn cứ vào điểm Hub hoặc điểm Authority
để xác định nội dung trang Web, như dưới ví dụ mô tả, tính chất mà điểm Hub và điểm
Authority đóng góp cho quá trình đánh giá nội dung trang Web.
Ví dụ đơn giản hơn: như hình minh họa ở trên khi chúng ta cần mua một chiếc xe.
Chúng ta cần tham khảo trước hết từ những người bạn mà đã sử dụng qua nhiều loại xe.
Đồng thời, các loại xe của những người bạn đấy đã sử dụng phải là những loại xe tốt để
chúng ta có cái nhìn toàn diện tương ứng với chất lượng xe mà chúng ta cần tìm. Từ đó,
một người bạn thỏa các tiêu chí như sử dụng nhiều loại xe và chất lượng các dòng xe họ
dùng thuộc dạng tốt thì họ chính là những người bạn đáng cho chúng ta tham khảo khi
mua xe. Và quá trình đánh giá như vậy sẽ được tương tư cho điểm Hub – điểm Hub dành
cho những người ta cần tham khảo mua xe. Còn điểm Authority là điểm dành cho các
loại xe mà được nhiều người dùng, đồng thời những người dùng này cũng đã dùng nhiều
loại xe tốt khác (để có thể so sánh chất lượng mua xe với nhau). Vậy cuối cùng khi mua
xe, chúng ta cần tham khảo từ những người bạn có điểm Hub cao và các hãng xe được
tìm hiểu phải có điểm Authority cao để xác định được loại xe tốt nhất để mua. Như vậy,
cả hai loại điểm Hub và điểm Authority đều hỗ trợ cho việc tìm kiếm thông tin nhưng tùy
vào mục đích mà xác định ưu tiên một trong hai loại điểm Hub hoặc Authority và kết hợp
chúng lại với nhau.
Thuật giải HITS cũng dựa trên phương pháp “bước đi ngẫu nhiên” gần tương tự với
thuật giải gom cụm Markov Cluster, nhưng có một chút khác biệt so với Markov Cluster.
Vì mục đích của bài toán HITS là đánh giá trang Web, đồng thời mô hình đồ thị ở đây là
một mô hình đồ thị có hướng nên thuật giải HITS có những bước tính toán khác với
Markov Cluster. “Bước đi ngẫu nhiên” được thực hiện trong thuật giải HITS như sau:
chọn một đỉnh bất kỳ đồ thị và thực hiện lựa chọn ngẫu nhiên đi tới các đỉnh kết nối với
nhau trên cạnh có hướng của đồ thị. Mỗi lần thực hiện đi ngẫu nhiên, sẽ cập nhật thông
tin Hub và Authority cho mỗi trang Web.
“Bước đi ngẫu nhiên” trên thuật giải HITS cũng được tính toán trên xích Markov
nhưng thay vì làm mạnh các liên kết giữa các cạnh của các đỉnh trong một nhóm và làm
yếu đi cạnh nối giữa các nhóm với nhau thì xích Markov được dùng trong trường hợp
thuật giải HITS là đánh giá theo điểm Hub và điểm Authority dựa trên số lượng liên kết
có hướng giữa các trang Web với nhau.
Các bước tính toán của thuật giải HITS:
- Bước 1: Biểu diễn đồ thị bằng một ma trận kề. Gọi ma trận đó là A
- Bước 2: Nhân ma trận đó với ma trận chuyển vị của chính nó. A = A.AT
\
Trang 10
- Bước 3: Xây dựng một vector xác suất h (hub vector) với số lượng phần tử bằng
số lượng các trang Web cần đánh giá. Trong đó, các phần tử trên vector có giá trị
bằng nhau (giá trị từ 0 đến 1) và tổng giá trị các phần tử trên vector có giá trị là 1.
- Bước 4: Nhân vector h với ma trận A. Vector t = A.h
- Bước 5: Chuẩn hóa vector t thành vector xác suất. Nếu vector t bằng với vector h
thì gán các giá trong trong vector t cho vector h và chuyển sang bước 6. Ngược lại,
chuyển về bước 5 lặp lại đến khi vector t bằng vector h.
- Bước 6: Vector Authority a bằng cách nhân vector h (hub) với ma trận chuyển vị
của ma trận A. a = AT.h
- Bước 7: Chuẩn hóa vector Authority thành vector xác suất.
Mỗi giá trị lần lượt trên vector Hub và vector Authority là các điểm Hub và điểm
Authority cho mỗi trang Web. Lưu ý: nếu tính HITS từ đồ thị vô hướng thì kết quả của
điểm Hub và điểm Authority là giống nhau vì khi trong đồ thị vô hướng thì 1 cạnh nối 2
đỉnh được xem như là 2 cạnh có hướng đối nghịch nhau, đỉnh A trỏ tới đỉnh B và ngược
lại.
Ví dụ từ hình 1: điểm Hub và điểm Authority cho 7 đỉnh
Đỉnh 1: Hub: 0.19 Authority: 0.19
Đỉnh 2: Hub: 0.22 Authority: 0.22
Đỉnh 3: Hub: 0.19 Authority: 0.19
Đỉnh 4: Hub: 0.19 Authority: 0.19
Đỉnh 5: Hub: 0.1 Authority: 0.1
Đỉnh 6: Hub: 0.05 Authority: 0.05
Đỉnh 7: Hub: 0.05 Authority: 0.05
Vì đây là một đồ thị vô hướng nên điểm Hub và điểm Authority của mỗi đỉnh là bằng
nhau. Đỉnh 2 có nhiều link liên kết nên có số điểm Hub và Authority cao nhất, còn các
đỉnh 6 và đỉnh 7 có số liên kết thấp nhất nên có số điểm Hub và Authority thấp nhất.
\
Trang 11
2.2 Thuật giải tối ưu hóa dựa trên mô phỏng hành vi đàn kiến [3]
Thuật giải tối ưu hóa dựa trên mô phỏng hành vi của đàn kiến trong tự nhiên. Ý tưởng
xuất phát từ một công trình nghiên cứu sinh học vào năm 1989. Khi nhà bác học người
Đan Mạch Deneubourg và các cộng sự công bố kết quả nghiên cứu về thí nghiệm trên
đàn kiến Argentina, gọi là thí nghiệm trên chiếc “Chiếc cầu đôi”. Cụ thể, họ đã đặt một
chiếu cầu đôi gồm hai nhánh (nhánh dài hơn có độ dài bằng hai lần nhánh ngắn hơn) nối
tổ của đàn kiến với nguồn thức ăn, sau đó thả một đàn kiến và bắt đầu quan sát hoạt động
của chúng trong một thời gian đủ lớn. Kết quả ban đầu các con kiến đi theo cả hai nhánh
của chiếc cầu với số lượng gần như ngang nhau, nhưng càng về cuối thời gian quan sát
người ta nhận thấy các con kiến có xu hướng chọn nhánh ngắn hơn để đi (80-100% số
lượng).
Kết quả được các nhà sinh học lý giải như sau: do đặc tính tự nhiên và đặc tính hóa
học, mỗi con kiến khi di chuyển luôn để lại một lượng hóa chất gọi là các vết mùi trên
đường đi và thường thì chúng sẽ đi theo con đường có lượng mùi đậm đặc hơn. Các vết
mùi này là những loại hóa chất bay hơi theo thời gian, do vậy ban đầu thì lượng mùi ở hai
nhánh là xấp xỉ như nhau, nhưng sau một khoảng thời gian nhất định nhánh ngắn hơn sẽ
có lượng mùi đậm đặc hơn so với nhánh dài hơn do ban đầu cùng lượng mùi gần xấp xỉ
nhau nhưng sau một khoảng thời gian nhất định nhánh ngắn hơn sẽ có lượng mùi đậm
đặc hơn so với nhánh dài do mật độ phân bố mùi ở nhánh dài không dày như mật độ mùi
trên nhánh ngắn và lượng mùi bay hơi trên nhánh dài sẽ bay hơi nhanh hơn nhánh ngắn
nên dần dần đàn kiến lựa chọn con đường có mùi đậm đặc. Từ đặc tính này, đàn kiến đã
lựa chọn được con đường tối ưu.
Với cơ sở là kết quả của thí nghiệm trên, năm 1991 nhà khoa học người Bỉ Marco
Dorigo đã xây dựng thuật giải đàn kiến (Ant Algorithm) để giải quyết tự nhiên các bài
toán trong tin học.
Nhìn một cách