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

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.

pdf17 trang | Chia sẻ: lvbuiluyen | Lượt xem: 2637 | Lượt tải: 0download
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