1. Trang chủ
  2. » Luận Văn - Báo Cáo

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

17 423 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 17
Dung lượng 361,66 KB

Nội dung

\ 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 0 0.25 0.32 0.25 0.25 0.06 0.02 0.02 0.25 0.2 0.25 0.25 0.01 0 0 0.25 0.2 0.25 0.25 0.01 0 0 0.01 0.05 0.01 0.01 0.38 0.32 0.32 0 0.01 0 0 0.26 0.32 0.32 0 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 0 0.51 0.51 0.51 0.51 0 0 0 0.17 0.17 0.17 0.17 0 0 0 0.17 0.17 0.17 0.17 0 0 0 0 0 0 0 0.62 0.62 0.62 0 0 0 0 0.19 0.19 0.19 0 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 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 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.A T \ 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 = A T .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. [...]... tưởng và phương pháp của “bước nhảy ngẫu nhiên dễ dàng làm nền tảng, kết hợp với các ý tưởng khác nhau để phát triển các thuật giải hiệu quả khác nhau áp dụng cho nhiều lớp bài toán Phương pháp “bước đi ngẫu nhiên ngày càng được sử dụng nhiều hơn không chỉ trong lĩnh vực tin học mà còn được áp dụng cho nhiều lĩnh vực khác như kinh tế, phân tích dữ liệu Đồng thời, phương pháp “bước đi ngẫu nhiên cũng... cạnh để đi nhưng đến bước lặp khác vẫn con kiến đó lại không đi qua cạnh đó nữa Nhờ vậy thuật toán có khả năng tìm được lời giải tốt trong những trường hợp dữ liệu lớn 3 Áp dụng thực tiễn từ các thuật giải Qua các minh họa bởi các thuật toán trên, phương pháp “bước đi ngẫu nhiên đã ứng dụng vào nhiều thuật toán khác nhau Tùy vào mỗi yêu cầu – mục đích của bài toán mà phương pháp “bước đi ngẫu nhiên ... nhau Tùy vào mỗi yêu cầu – mục đích của bài toán mà phương pháp “bước đi ngẫu nhiên mà có phương thức xử lý linh hoạt khác nhau Mỗi thuật toán ứng dụng phương pháp “bước đi ngẫu nhiên đã được ứng dụng nhiều trong thực tế và thu được những kết quả tốt Phương pháp “bước đi ngẫu nhiên đơn giản là Trang 13 \ ngẫu nhiên chọn lựa một giải pháp tiếp theo với xác suất kèm theo để tùy theo nhu cầu bài toán... cho các tổ chức 4 Kết luận Trang 14 \ Phương pháp “bước đi ngẫu nhiên là một phương pháp tổng quan được áp dụng trong nhiều thuật giải khác nhau Nó không phải là một phương pháp cố định mà được biến đổi, áp dụng vào nhiều lớp bài toán tùy vào nhu cầu bài toán, là một ý tưởng để phát sinh ra các cách giải quyết cho các bài toán riêng biệt Phương pháp “bước đi ngẫu nhiên cho phép suy nghĩ, giải quyết... Algorithm) để giải quyết tự nhiên các bài toán trong tin học Nhìn một cách tổng quan về thuật giải đàn kiến, thuật giải này là một mô hình biến đổi từ phương pháp giải bài toàn tin học theo phương pháp “ bước đi ngẫu nhiên , thuật giả đàn kiến gần tương tự với thuật giải gom cụm Markov Cluster ở trên về mặt ý tưởng Nếu mô hình hóa bài toán thành đồ thị, mật độ phân bố mùi trên các đường đi chính là độ lớn của... , vi vj, i, j = 1, …, n Phương pháp tìm đường đi mô phỏng hành vi con kiến sẽ được thực hiện như sau: Các con kiến sẽ tiến hành tìm đường đi từ đỉnh xuất phát qua một loạt các đỉnh và quay trở về đỉnh ban đầu, tại đỉnh u một con kiến sẽ chọn đỉnh v chưa được đi qua trong tập láng giềng của u theo xác suất sau: Hình 4: xác suất lựa chọn đỉnh tiếp theo chưa được đi qua Trong đó, UV(u) là tập các đỉnh... chọn lựa đỉnh đi tiếp bằng cách phát sinh 1 số ngẫu nhiên từ 0 đến 100 Nếu số ngẫu nhiên này rơi vào vùng nào trên vector thì đỉnh tương ứng trên đó được chọn Ví dụ: nếu số ngẫu nhiên là 20 rơi vào vùng biểu diễn của v1 (từ 0 đến 30) nên v1 được chọn là đỉnh tiếp theo Trong thuật giải đàn kiến thì mỗi lần phát sinh số ngẫu nhiên được hiểu là quá trình mà mỗi con kiến tiến hành lựa chọn đường đi tiếp theo... tiếp theo Sau khi và kể cả trong quá trình các con kiến tìm đường đi các vết mùi sẽ được cập nhật lại, vì chúng bị biến đổi do quá trình bay hơi và do quá trình tích lũy của các con kiến trên đường đi đó Có nhiều cách cập nhật mùi nhưng trong phạm vi bài luận chỉ giới thiệu cách cập nhật mùi đơn giản nhất, vết mùi trên mỗi cạnh (đường đi) được cập nhật lại theo công thức sau: Trong đó ∈ [0, 1] gọi là... mùi trên cạnh (i, j) sẽ mất đi một lượng là Ngoài lượng bay hơi mất đi, mỗi cạnh (i, j) còn được tích tụ thêm một lượng mùi ∆i, j nhất định tùy thuộc vào từng con kiến đi qua, cụ thể được tính như sau: Hình 5: công thức cập nhật lượng mùi khi các con kiến đi qua Trong đó, Q là một hằng số, Lk là độ hành trình của con kiến thứ k Nhờ việc cập nhật mùi mà sau mỗi lần lựa chọn đi tiếp đến các cạnh mà nồng... kiến hiện tại đi qua gọi là thông tin heuristic giúp đánh giá chính xác hơn sự lựa chọn của con kiến khi quyết định đi từ đỉnh u qua đỉnh v Heuristic dựa trên độ dài của cạnh nối giữa đỉnh u và đỉnh v Cạnh càng dài thì xác suất đi qua càng thấp và ngược lại Công thức ở hình 4 biểu diễn xác suất chọn các đỉnh đi tiếp có thể hiểu một cách đơn giản: quyết định lựa chọn đỉnh tiếp theo để đi của con kiến . 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ự. 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. toán ứng dụng phương pháp “bước đi ngẫu nhiên đã được ứng dụng nhiều trong thực tế và thu được những kết quả tốt. Phương pháp “bước đi ngẫu nhiên đơn giản là Trang 14 ngẫu nhiên chọn

Ngày đăng: 29/08/2014, 19:10

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w