lý thuyết đồ thị các thuật toán với bài toán người du lịch

46 1.4K 4
lý thuyết đồ thị  các thuật toán với bài toán người du lịch

Đ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

tài liệu gồm lý thuyết về đồ thị trong tin học. cùng các thuật toán và khái niệm ví dụ rõ ràng từ cơ bản đến nâng cao. trong đó sẽ quay quanh giải quyết bài toán người du lịch. tài liệu sẽ giúp các bạn ôn tập tốt hơn để thi hsg tin học vòng trường, tỉnh, quốc gia.

So sánh giải thuật song song Metaheuristic việc giải toán TSP Tổng quan Bài viết so sánh hiệu vài giải thuật metaheuristic việc giải toán người du lịch Các mô hình song song hóa dựa MPI sử dụng để đánh giá cho giải thuật GA (gentetic algorithm) ,SA (simulated annealing), ACO ( Ant Colony Optimization) Các kết đánh giá dựa hiệu song song hóa mô hình song song cho giải thuật giải thuật khác Keyword : parallel metaheuristic , gentetic algorithm , simulated annealing, ant colony optimization , MPI , TSP , speedup Giới thiệu chung Mục đích toán tối ưu tổ hợp tìm lời giải tốt lời giải không gian tìm kiếm lời giải toán rời rạc Nhiều toán tối ưu tổ hợp có độ phức tạp tính toán cao phân lọai thuộc lớp NP khó Việc tìm lời giải tối ưu cho toán cho hệ thống song song lớn hoàn thành giới hạn thời gian cho phép kỹ thuật heuristic cho việc giải toán tổ hợp theo hướng xấp xỉ phát triển để tìm lời giải gần tối ưu (hay xấp xỉ ) giới hạn thời gian cho phép Bài toán người du lịch (TSP) toán cổ điển thuộc lớp NP nghiên cứu sâu lĩnh vực tối ưu tổ hợp Metaheuristic cách gọi chung cho giải thuật heuristic việc giải toán tổ hợp khó Metaheuristic bao gồm chiến lược khác việc khám phá không gian tìm kiếm cách sử dụng phương thức khác phải đạt cân tính đa dạng chuyên sâu không gian tìm kiếm Một cài đặt thành công metaheuristic toán tổ hợp phải cân khai thác kinh nghiệm thu thập trình tìm kiếm để xác định vùng với lời giải có chất lượng cao gần tối ưu Những ví dụ metaheuristic bao gồm giải thuật luyện thép (SA) , giải thuật di truyền (GA) , giải thuật đàn kiến (ACO) ,… Giải thuật đàn kiến metaheuristic dùng chiến lược kiến giới thực để giải toán tối ưu SA xuất phát từ phương thức xác suất kỹ thuật luyện bao gồm việc nung điều khiển làm nguội kim loại để đạt trạng thái lượng nhỏ Trong giải thuật di truyền dựa ý tưởng từ chế di truyền sinh học tiến trình tiến hóa cộng đồng cá thể lòai 1|Page Với độ phức tạp tính toán cao toán tối ưu tổ hợp đòi hỏi mặt thời gian , việc giải toán yêu cầu cần phải có cài đặt song song hóa hiệu giải thuật để giải chúng Song song hóa giải thuật metaheuristic phải đạt yêu cầu : đa dạng hóa để khám phá nhiều vùng không gian tìm kiếm tăng tốc độ tìm kiếm Nhiều mô hình song song hoái đề xuất cho nhiều metaheuristic ACO GA cách tiếp cận dựa tập cá thể tự nhiên cho việc xử lý song song Tuy nhiên SA vốn mang tính chậm cho toán với không gian tìm kiếm lớn có vài kỹ thuật song song hóa áp dụng để tăng tốc độ tìm kiếm Bài viết so sánh hiệu song song hóa mô hình song song cho vài giải thuật metaheuristic cho việc tìm kiếm lời giản gần tối ưu tóan TSP Các mô hình song song đề xuất cho giải thuật đàn kiến, luyện thép giải thuật di truyền Mô hình thực nghiệm dùng MPI vài toán thư viện TSPLIB 2|Page Contents Tổng quan Giới thiệu chung 1.Các kiến thức .7 1.1 Các khái niệm đồ thị Định nghĩa đồ thị 1.1.1 Các thuật ngữ .9 1.1.2 Đường đi, chu trình đồ thị liên thông 10 1.1.3 Chu trình Euler .11 1.1.4 Chu trình Hamilton 12 1.1.5 Đồ thị có trọng số 13 1.1.6 Các cấu trúc liệu biểu diễn đồ thị 13 1.2 Khái niệm lớp toán P NP 14 1.1.1 Khái niệm loại thời gian tính .14 1.1.2 Bằng chứng ngắn gọn dễ kiểm tra 15 1.1.3 Khái niệm quy dẫn 16 1.1.4 Lớp toán P 16 1.1.5 Lớp toán NP .16 1.1.6 Lớp toán Co-NP 17 1.1.7 Lớp toán NP-đầy đủ (NP-Complete) 17 1.1.8 Lớp toán NP- khó (NP-Hard) 17 1.3 Các thuật toán xấp xỉ 18 1.4 Bài toán tối ưu hóa tổ hợp (Combinatorial optimization) 20 Bài toán tối ưu hóa tổ hợp tĩnh (Static Combinatorial optimization): .20 3|Page Bài toán tối ưu hóa tổ hợp động (Dynamic Combinatorial optimization): 20 2.Bài toán người du lịch 21 1.5 Giới thiệu toán 21 1.6 Lịch sử toán TSP .22 1.7 Mô tả toán TSP 23 1.8 Phân loại toán 23 Đối xứng bất đối xứng 23 Với khoảng cách metric .24 Với khoảng cách không metric 24 1.9 Các giải thuật giải toán TSP 25 Các giải thuật để tìm lời giải xác 25 Heuristic giải thuật xấp xỉ .26 3.Giải thuật di truyền di truyền song song 28 1.10 Giới thiệu giải thuật di truyền 28 3.1.1 Lịch sử phát triển: 28 1.11 Các khái niệm 29 3.1.2 Cá thể, nhiễm sắc thể 29 3.1.3 Quần thể 29 3.1.4 Các toán tử di truyền 30 1.12 Mô hình giải thuật di truyền 30 1.13 Các tham số GA .32 Xác suất lai ghép .32 Xác suất đột biến 32 Kích thước quần thể 32 1.14 Các cách mã hoá NST 32 4|Page Mã hoá nhị phân .33 Mã hoá hoán vị .33 Mã hoá theo giá trị 33 1.15 Khởi tạo quần thể ban đầu 34 Hàm tính độ thích nghi 34 Cơ chế lựa chọn 34 Lựa chọn tỷ lệ 35 Lựa chọn xếp hạng 35 Lựa chọn theo chế lấy mẫu ngẫu nhiên 35 Lựa chọn tranh đấu 36 1.16 Các toán tử di truyền 36 Mã hoá nhị phân .36 Mã hoá hoán vị .38 Mã hoá theo giá trị 38 1.17 Chiến lược nạp lại quần thể 39 Nạp lại hoàn toàn 39 Nạp lại ngẫu nhiên 39 Nạp lại theo mô hình cá thể ưu tú 39 4.Thuật toán bầy kiến 40 1.18 Sơ đồ chung thuật toán bầy kiến 40 Giới thiệu chung thuật toán bầy kiến 40 Sơ đồ chung thuật toán bầy kiến 44 5|Page Hình Hình Hình Hình 18 Hình 23 Hình 6: Sơ đồ mô tả giải thuật di truyền 31 6|Page Các kiến thức 1.1 Các khái niệm đồ thị Định nghĩa đồ thị Trong toán học tin học, đồ thị đối tượng nghiên cứu lý thuyết đồ thị Một cách không thức, đồ thị tập đối tượng gọi đỉnh nối với cạnh Thông thường, đồ thị vẽ dạng tập điểm (đỉnh, nút) nối với đoạn thẳng (cạnh) Tùy theo ứng dụng mà số cạnh có hướng.Chúng ta phân biệt loại đồ thị khác kiểu số lượng cạnh nối hai đỉnh đồ thị Định nghĩa 1.1 Đơn đồ thị vô hướng G=(V,E) bao gồm V tập đỉnh, E tập cặp thứ tự gồm hai phần tử khác V gọi cạnh Hình Định nghĩa 1.2 Đa đồ thị vô hướng G=(V,E) bao gồm V tập đỉnh, E họ cặp thứ tự gồm hai phần tử khác V gọi cạnh Hai cạnh e e2 gọi cạnh lặp chúng tương ứng với cặp đỉnh Định nghĩa 1.3 Đơn đồ thị có hướng G=(V,E) bao gồm V tập đỉnh, E tập cặp có thứ tự gồm hai phần tử khác V gọi cung 7|Page Định nghĩa 1.4 Đa đồ thị có hướng G=(V,E) bao gồm V tập đỉnh, E họ cặp có thứ tự gồm hai phần tử khác V gọi cung Hai cung e e2 gọi cung lặp chúng tương ứng với cặp đỉnh Hình Hai loại đồ thị bản: a) Đồ thị vô hướng(6 đỉnh, cạnh) b) Đồ thị có hướng(5 đỉnh, cung) Định nghĩa 1.5 Đồ thị hỗn hợp G=(V, E, A ) bao gồm V tập đỉnh, E tập cạnh (E≠Ø) A tập cung (A ≠Ø) đồ thị Hình Đồ thị hỗn hợp(6 đỉnh cạnh, cung) Số đỉnh đồ thị G số phần tử V Chúng ta coi đồ thị vô hướng có hướng trường hợp riêng đồ thị hỗn hợp G=(V, E, A) mà A =Ø E=Ø 8|Page 1.1.1 Các thuật ngữ Định nghĩa 1.6 Hai đỉnh u v đồ thị vô hướng G gọi kề (u,v) cạnh đồ thị G Nếu e=(u,v) cạnh đồ thị nói cạnh liên thuộc với hai đỉnh u v, nói cạnh e nối đỉnh u đỉnh v, đồng thời đỉnh u v gọi đỉnh đầu cuả cạnh (u,v) Để biết cạnh liên thuộc với đỉnh, đưa vào định nghĩa sau Định nghĩa 1.7 Chúng ta gọi bậc đỉnh v đồ thị vô hướng số cạnh liên thuộc với kí hiệu deg(v) Định lý 1.1 Giả sử G=(V,E) đồ thị vô hướng với m cạnh Khi 2m = ∑ deg(v) v∈V Hệ 1.1 Trong đồ thị vô hướng, số đỉnh bậc lẻ(nghĩa có bậc số lẻ) số chẵn Định nghĩa 1.8 Nếu e=(u,v) cung đồ thị có hướng G nói hai đỉnh u v kề nhau, nói cung (u,v) nối đỉnh u đỉnh v nói cung khỏi đỉnh u vào đỉnh v Đỉnh u (v) gọi đỉnh đầu (cuối) cung (u,v) Định nghĩa 1.9 Chúng ta gọi bán bậc (bán bậc vào) đỉnh v đồ thị có hướng số cung đồ thị khỏi (đi vào nó) ký hiệu deg + (v)(deg − (v)) Định lý 1.2 Giả sử G=(V,E) đồ thị có hướng Khi ∑ deg v∈V + (v) = ∑ (deg − (v)) = A v∈V Tương tự , xét thuật ngữ cho đồ thị hỗn hợp Quy ước Kí hiệu với S tập hợp #(S) hay |S| số phần tử tập S Cho đồ thị hỗn hợp G =(V,E,A) Nếu e=(u,v) thuộc E, nói cạnh e kề với đỉnh u, v Nếu e=(u,v) thuộc A, nói cung e kề với đỉnh u, v Định nghĩa 1.10 Cho đồ thị hỗn hợp G=(V, E, A) Kí hiệu deg(v) bậc đỉnh v đồ thị Giá trị deg(v) tính theo công thức sau: 9|Page deg(v)= #(các cạnh kề với đỉnh v)+ # (các cung kề với đỉnh v) Định nghĩa 1.11 Chúng ta gọi bán bậc ra( bán bậc vào) đỉnh v đồ thị hỗn hợp G số cung đồ thị khỏi (đi vào nó) kí hiệu indegree(v) (outdegree(v)) 1.1.2 Đường đi, chu trình đồ thị liên thông Định nghĩa 1.12 Đường độ dài n từ đỉnh u đến đỉnh v, n số nguyên dương, đồ thị vô hướng G=(V,E) dãy x0,x1, …,xn-1,xn u=x0 , v= xn , (xi,xi+1) ∈ E, i = 0,1,2,…,n-1 Đường nói biểu diễn dạng dãy cạnh: (x0, x1), (x1, x2), …, (xn-1, xn) Đỉnh u gọi đỉnh đầu, đỉnh v gọi đỉnh cuối đường Đường có đỉnh đầu trùng với đỉnh cuối (tức u=v) gọi chu trình Đường hay chu trình gọi đơn cạnh bị lặp lại Định nghĩa 1.13 Đường độ dài n từ đỉnh u đến đỉnh v, n số nguyên dương, đồ thị có hướng G=(V, A) dãy x0,x1, …,xn-1,xn u=x0 , v= xn , (xi,xi+1) ∈ A, i = 0,1,2,…,n-1 Đường nói biểu diễn dạng dãy cung: (x0, x1), (x1, x2), …, (xn-1, xn) Đỉnh u gọi đỉnh đầu, đỉnh v gọi đỉnh cuối đường Đường có đỉnh đầu trùng với đỉnh cuối (tức u=v) gọi chu trình Đường hay chu trình gọi đơn cung bị lặp lại Định nghĩa 1.14 Đường độ dài n từ đỉnh u đến đỉnh v, n số nguyên dương, đồ thị hỗn hợp G=(V, E, A) dãy x0,x1, …,xn-1,xn u=x0 , v= xn , (xi,xi+1) ∈ E, (xi,xi+1) ∈ A, i = 0,1,2,…,n-1 Đường nói biểu diễn dạng dãy cạnh, cung: (x0, x1), (x1, x2), …, (xn-1, xn) 10 | P a g e [Chọn kết quả] Nếu điều kiện dừng thỏa mãn thuật toán kết thúc trả lời giải tốt quần thể 1.13 Các tham số GA Xác suất lai ghép Xác suất lai ghép cho biết tính thường xuyên việc lai ghép tạo hệ thực Nếu xác suất lai ghép p c , khả để cá thể lai ghép pc Nếu không thực lai ghép, sinh giống hoàn toàn bố mẹ Nếu lai ghép, sinh có phần giống bố phần giống mẹ Xác suất đột biến Xác suất đột biến cho biết tính thường xuyên việc gen NST thay đổi Nếu xác suất đột biến p m, khả để gen NST bị đột biến pm Tác dụng toán tử đột biến ngăn ngừa giải thuật di truyền rơi vào tình trạng cực trị địa phương, nhiên thực đột biến với xác suất cao biến giải thuật di truyền thành giải thuật tìm kiếm ngẫu nhiên Kích thước quần thể Kích thước quần thể cho biết có cá thể quần thể (trong hệ) Qua nghiên cứu thử nghiệm cho thấy kích thước quần thể không nên bé không lớn Nếu có cá thể có khả thực lai giống phần nhỏ không gian tìm kiếm dùng Như dễ xảy trường hợp bỏ qua lời giải tốt Nhưng nhiều cá thể không tốt GA chạy chậm đi, ảnh hưởng đến hiệu giải thuật Các nghiên cứu lợi tăng kích thước quần thể lên giới hạn cho phép 1.14 Các cách mã hoá NST Trong giải thuật di truyền, nhiễm sắc thể biểu diễn lời giải theo cách mà chứa đủ thông tin cần thiết lời giải Các nhiễm sắc thể tạo nên quần thể, không gian lời giải toán mà ta khảo sát Cách mã hoá NST đánh giá hai yếu tố định xây dựng giải thuật di truyền Phần sau trình bày số chế mã hoá nhiễm sắc thể hay dùng cho giải thuật di truyền Tuy nhiên, tuỳ thuộc vào tri thức riêng toán mà ta lựa chọn hay xây dựng cách biểu diễn nhiễm sắc thể riêng phù hợp với toán 32 | P a g e Mã hoá nhị phân Mã hoá nhị phân phương pháp mã hoá nhiễm sắc thể phổ biến Trong mã hoá nhị phân, nhiễm sắc thể chuỗi nhị phân, bit biểu diễn đặc tính nghiệm Ví dụ: hai nhiễm sắc thể có chiều dài 16 Nhiễm sắc thể 1: 1101100100110110 Nhiễm sắc thể 2: 1101111000011110 Mã hoá nhị phân thường hay dùng toán tối ưu hàm biến hay nhiều biến Khi đó, chuỗi nhị phân biểu diễn hàm (tập) giá trị (các) biến Ngoài áp dụng nhiều loại toán khác Ví dụ: Trong toán túi, để biểu diễn cách xếp đồ vào túi, ta dùng chuỗi nhị phân có kích thước số đồ vật, bit tương ứng với đồ vật có hai giá trị: giá trị đồ vật không cho vào túi giá trị đồ vật cho vào túi Mã hoá nhị phân phổ biến có nhược điểm tạo không gian mã hoá lớn so với không gian giá trị nhiễm sắc thể Do đó, với nhiều toán biểu diễn nhị phân không hữu hiệu Mã hoá hoán vị Mã hoá hoán vị sử dụng toán liên quan đến thứ tự toán du lịch hay toán lập lịch Trong mã hoá hoán vị, nhiễm sắc thể chuỗi số biểu diễn trình tự Ví dụ : Nhiễm sắc thể 1: Nhiễm sắc thể 2: Mã hoá hoán vị phù hợp cho toán liên quan đến thứ tự Đối với toán này, việc thao tác nhiễm sắc thể hoán vị số chuỗi làm thay đổi trình tự Ví dụ: Trong toán người du lịch, để biểu diễn cách người du lịch dùng nhiễm sắc thể mà trình tự số chuỗi cho biết thứ tự thành phố mà người du lịch qua Mã hoá theo giá trị Mã hoá trực giá trị dùng toán sử dụng giá trị phức tạp số thực Trong đó, nhiễm sắc thể chuỗi giá trị Các giá trị liên quan đến toán, từ số nguyên, số thực, kí tự đối tượng phức tạp Ví dụ: 33 | P a g e Nhiễm sắc thể 1: 1.23 5.32 0.34 2.98 3.54 Nhiễm sắc thể 2: (back), (back), (right), (forward), (left) Mã hoá theo giá trị thường dùng cho toán đặc biệt Trong cách mã hoá ta thường phải phát triển toán tử đột biến lai ghép cho phù hợp với toán 1.15 Khởi tạo quần thể ban đầu Khởi tạo quần thể ban đầu bước giải thuật di truyền Thông thường để khởi tạo quần thể toán tối ưu, ta tạo cách ngẫu nhiên lời giải (thường lời giải thỏa mãn ràng buộc toán chưa biết đại lượng cần tối ưu tối ưu hay chưa) Tuỳ vào toán cụ thể mà ta có phương pháp khởi tạo khác Ví dụ toán BDMST, ta sinh ngẫu nhiên DBST trọng số chưa quan tâm đến Chất lượng quần thể ban đầu cao lời giải mà giải thuật di truyền đưa tốt Nếu toán khung mà ta tạo khung quần thể ban đầu có trọng số thấp tốt Do đó, nhiều giải thuật di truyền, thường sử dụng giải thuật có để giải toán mà cho kết tốt để khởi tạo quần thể ban đầu Hàm tính độ thích nghi Theo nghiên cứu thử nghiệm nhiều nhà nghiên cứu giải thuật di truyền hàm tính độ thích nghi hai yếu tố quan trọng định thành công hay thất bại GA Hàm thích nghi xây dựng cho giá trị thích nghi phải phản ánh giá trị thực NST việc đáp ứng yêu cầu toán Ví dụ toán khung nhỏ hàm thích nghi hàm tính tổng trọng số cạnh khung Cơ chế lựa chọn Cơ chế lựa chọn áp dụng chọn cá thể từ quần thể P(t) để thực việc lai ghép đột biến, tạo quần thể P(t+1) Có nhiều cách để lựa chọn cá thể từ quần thể Sau giới thiệu số chế hay áp dụng Để tiện mô tả chế lựa chọn ta đưa số kí hiệu sau : Cách biểu diễn nhiễm sắc thể thứ i vi Hàm tính độ thích nghi nhiễm sắc thể vi f(vi) Kích thước quần thể pop_size Số nhiễm sắc thể cần chọn N 34 | P a g e Lựa chọn tỷ lệ Trước lựa chọn tính giá trị sau :  Tính tổng độ thích nghi quần thể: F = pop _ size ∑ f (v ) i i =1  Tính xác suất chọn pi cho nhiễm sắc thể vi : pi = f(vi)/F i  Tính vị trí xác suất qi nhiễm sắc thể : qi = ∑ Pj j =1 Cơ chế lựa chọn theo bánh xe Roulet thực cách quay bánh xe Roulet N lần Mỗi lần chọn nhiễm sắc thể từ quần thể hành vào quần thể cách sau :  Phát sinh ngẫu nhiên số r khoảng [0,1]  Nếu r < q1 chọn nhiễm sắc thể v1; ngược lại chọn nhiễm sắc thể thứ i ( ≤ i ≤ pop_size ) cho qi-1 ≤ r ≤ qi Với chế lựa chọn có số nhiếm sắc thể chọn nhiều lần Điều phù hợp với lý thuyết lược đồ: Các nhiễm sắc thể tốt có nhiều sao, nhiễm sắc thể trung bình không đổi , nhiễm sắc thể chết [11] Lựa chọn xếp hạng Cơ chế lựa chọn xếp hạng mô tả sau:  Sắp xếp nhiễm sắc thể quần thể theo độ thích nghi từ thấp đến cao  Đặt lại độ thích nghi cho quần thể xếp theo kiểu: nhiễm sắc thể thứ có độ thích nghi 1, NST thứ hai có độ thích nghi 2, v.v., NST thứ pop_size có độ thích nghi pop_size Theo phương pháp việc NST chọn nhiều lần lựa chọn theo kiểu bánh xe Roulet giảm Nhưng dẫn đến hội tụ chậm NST có độ thích nghi cao không khác so với NST khác Lựa chọn theo chế lấy mẫu ngẫu nhiên Cơ chế lựa chọn:  Biểu diễn xác suất chọn NST lên đường thẳng  Đặt N điểm chọn lên đường thẳng Các điểm chọn cách 1/N, điểm đặt ngẫu nhiên khoảng [0,1/N]  Với điểm chọn, NST gần với bên phải chọn Phương pháp có đặc điểm điểm chọn phân bố trục số, gần với điểm xứng đáng chọn 35 | P a g e Lựa chọn tranh đấu Cơ chế lựa chọn :  Lấy số NST quần thể, NST có độ thích nghi cao chọn  Lặp lại thao tác N lần 1.16 Các toán tử di truyền Các toán tử di truyền GA toán tử lai ghép đột biến Đây hai toán tử có tác động lớn đến chất lượng giải thuật Các toán tử xây dựng phụ thuộc vào cách mã hoá NST Ở đưa toán tử lai ghép đột biến số cách mã hoá NST để ý tưởng xây dựng toán tử lai ghép đột biến GA Còn tuỳ thuộc vào toán cụ thể cách mã hoá NST mà ta xây dựng hai loại toán tử Mã hoá nhị phân 3.1.4.1 Toán tử lai ghép Lai ghép đơn điểm cắt :  Một điểm cắt chọn vị trí thứ k NST  Từ đầu NST đến vị trí k, NST chép từ cha, phần lại chép từ mẹ Ví dụ : Cha : 11011 | 001 Mẹ : 10011 | 101 Con sinh lai ghép đơn điểm cắt : Con : 11011 | 101 Lai ghép hai điểm cắt :  Hai điểm cắt chọn  Từ đầu điểm cắt thứ chép từ cha, từ điểm cắt thứ đến điểm cắt thứ hai chép từ mẹ phần lại chép từ cha Ví dụ : Cha : 11| 0110 | 01 Mẹ 36 | P a g e : 10| 0111 | 01 Con sinh lai ghép hai điểm cắt : Con : 11 | 0111| 01 Lai ghép đồng :  Có mặt nạ chép chuỗi nhị phân có chiếu dài chiều dài NST  Xây dựng NST mới: Duyệt qua mặt nạ, bit có giá trị chép gen vị trí từ NST cha sang con, bit có giá trị chép từ mẹ  Mặt nạ phát sinh ngẫu nhiên cặp cha mẹ Ví dụ : Cha : 11011001 Mẹ : 10011101 Mặt nạ : 10101000 Con : 10011101 Lai ghép số học: NST tạo thành cách thực phép toán logic AND, OR, … với cặp NST bố mẹ Ví dụ : Cha : 11011001 Mẹ : 10011101 Con (AND): 10011001 3.1.4.2 Toán tử đột biến Phép đảo bit : Bit chọn bị đảo (Bit chọn có gạch chân) Ví dụ Trước đột biến : 11011001 Sau đột biến 37 | P a g e : 11010001 Mã hoá hoán vị 3.1.4.3 Toán tử lai ghép Toán tử lai ghép đơn điểm cắt :  Một điểm cắt chọn  Từ đầu đến điểm cắt lấy từ cha, phần lại duyệt qua mẹ, đưa gen chưa có vào Ví dụ : Cha : Mẹ : Con : 3.1.4.4 128 | 74365 537 | 68412 128 | 53764 Toán tử đột biến Thay đổi thứ tự : Hai số chọn hoán đổi vị trí cho Ví dụ : (Số chọn có gạch chân) Trước đột biến : 12874365 Sau đột biến : 14872365 Mã hoá theo giá trị 3.1.4.5 Toán tử lai ghép Mã hoá theo giá trị áp dụng tất toán tử lai ghép có mã hoá nhị phân 3.1.4.1 Toán tử đột biến Với mã hoá theo giá trị thực thực đột biến cách thay đổi giá trị (cộng thêm trừ đi) giá trị nhỏ vào số cá thể chọn Ví dụ : (Các thể chọn tô đậm) Giá trị nhỏ : 0.02 Trước đột biến : 1.23 5.32 0.34 2.98 3.54 Sau đột biến : 1.23 5.30 0.34 3.00 3.54 38 | P a g e 1.17 Chiến lược nạp lại quần thể Nạp lại hoàn toàn Tạo số NST kích thước quần thể quần thể bao gồm toàn NST này, NST hệ trước Nạp lại ngẫu nhiên Tạo số NST kích thước quần thể thay cách ngẫu nhiên NST hệ trước NST hệ sau Nạp lại theo mô hình cá thể ưu tú Tạo số NST kích thước quần thể thay chúng cho bố mẹ có độ thích nghi thấp Nhận xét chiến lược nạp lại :  Nạp lại hoàn toàn : chiến lược đơn giản Mỗi NST tồn hệ, sang hệ thay hoàn toàn Như xảy trường hợp NST tốt không giữ lại, chiến lược chiến lược phù hợp cho việc cải thiện lời giải qua hệ  Nạp lại theo mô hình cá thể ưu tú: Được coi chiến lược tối ưu Các NST tốt sống sót qua nhiều hệ Qua hệ, có số lượng định NST tồi bị thay Tuy chiến lược không kiểm tra NST cháu nạp vào có tốt bố mẹ bị loại hay không chắn NST cháu nạp vào tồi bị loại hệ tiếp Như đảm bảo qua nhiều hệ tính chất quần thể cải thiện 39 | P a g e Thuật toán bầy kiến Bài toán người du lịch toán NP-khó Cho nên việc tìm kiếm lời giải tối ưu việc khó khăn mà không gian lời giải toán dạng hàm mũ số thành phố làm cho việc tìm kiếm vét cạn không khả thi Các thuật toán xấp xỉ phát triển để tìm lời giải tốt nằm cận xấp xỉ lời giải tối ưu Một xu hướng áp dụng thuật toán heuristic vào toán tối ưu nhằm tìm giá trị gần với giá trị tối ưu 1.18 Sơ đồ chung thuật toán bầy kiến Giới thiệu chung thuật toán bầy kiến Các thuật toán kiến lần giới thiệu Dorigo cộng cách tiếp cận đa tác tử tới vấn đề tối ưu tổ hợp khó, toán người du lịch (TSP), toán người đưa thư Hiện số lượng ứng dụng ngày tăng nhà khoa học ứng dụng vào nhiều vấn đề tối ưu rời rạc Các ứng dụng gần kể đến toán lập lịch, tô màu đồ thị, định hướng mạng truyền thông, v.v… Các thuật toán kiến thuật toán dựa vào quan sát bầy kiến thực Kiến loại cá thể sống bầy đàn Chúng giao tiếp với thông qua mùi mà chúng để lại hành trình mà chúng qua Mỗi kiến qua đoạn đường để lại đoạn chất mà gọi mùi Số lượng mùi tăng lên có nhiều kiến qua Các kiến khác tìm đường dựa vào mật độ mùi đường, mật độ mùi lớn chúng có xu hướng chọn Dựa vào hành vi tìm kiếm mà đàn kíên tìm đường ngắn từ tổ đến nguồn thức ăn sau quay trở tổ Sau ví dụ luồng đàn kiến thực tế 40 | P a g e a Kiến theo đường thẳng A E b Khi có chướng ngại vật kiến chọn hướng đi, có hai hướng với khả kiến chọn c Trên đường ngắn nhiều mùi (pheromone) Hình Hình 41 | P a g e Xem hình 2a giải thích rõ tình hình 1b Giả sử khoảng cách DH=BH=DB qua C =1, C điểm nằm B D(hình 2a) Bây xem xét điều xảy khoảng thời gian rời rạc: t=0, 1, 2… Giả định 30 kiến từ A đến B, 30 từ E đến D, kiến di chuyển với tốc độ đơn vị thời gian di chuyển kiến để thời điểm t vệt pheromone với nồng độ Để đơn giản xét lượng pheromone bay hoàn toàn liên tục khoảng thời gian (t+1, t+2) Tại thời điểm t=0, vệt mùi cạnh có 30 kiến B, 30 D Việc lựa chọn đường ngẫu nhiên đó, trung bình từ nút có 15 kiến đến H 15 đến C (hình 2b) Tại thời điểm t=1, 30 kiến từ A đến B, lúc chọn hướng đến C hướng đến H Tại hướng đến H có vệt mùi 15 15 kiến từ B đến H, hướng đến C có vệt mùi 30 15 kiến từ B đến D 15 từ D đến B thông qua C (hình 2c) Do khả kiến hướng đến chọn đường đến C, số kiến mong muốn đến C gấp đôi số kiến đến H (20 đến C 10 đến H) Tương tự cho 30 kiến từ D đến B Quá trình liên tục tất kiến chọn đường ngắn Trên mô tả hành vi tìm kiếm bầy kiến thực.Sau , tìm hiểu sâu thuật toán kiến Thuật toán tối ưu bầy kiến (ACO) nghiên cứu hệ thống nhân tạo dựa vào hành vi tìm kiếm bầy kiến thực sử dụng để giải vấn đề tối ưu rời rạc.Thuật toán bầy kiến siêu tìm kiếm(ACO meta_heuristic) lần Dorigo, Di Caro Gambardella đề xuất vào năm 1999 Metaheuristic tập khái niệm thuật toán sử dụng để xác định phương thức tìm kiếm thích hợp cho tập vấn đề khác Hay nói cách khác, siêu tìm kiếm ( meta-heuristic) coi phương thức tìm kiếm đa ACO meta-heuristic, tập kiến nhân tạo phối hợp tìm kiếm giải pháp tốt cho vấn đề tối ưu rời rạc Sự phối hợp yếu tố cối lõi 42 | P a g e thuật toán ACO Các kiến nhân tạo liên lạc với thông qua trung gian mà ta thường gọi mùi Các thuật toán ACO sử dụng để giải vấn đề tối ưu tổ hợp tĩnh động Các vấn đề tĩnh vấn đề mà đặc tính vấn đề không thay đổi suốt trình giải vấn đề Còn vấn đề động ngược lại hàm tham số mà giá trị động hay thay đổi trình giải vấn đề, ví dụ toán người đưa thư vấn đề dynamic problem Hệ thống ACO lần Marco Dorigo giới thiệu luận văn vào năm 1992, gọi Hệ thống kiến (Ant System, hay AS) AS kết việc nghiên cứu hướng tiếp cận trí tuệ máy tính nhằm tối ưu tổ hợp mà Dorigo hướng dẫn Politecnico di milano với hợp tác Alberto Colorni Vittorio Maniezzo AS ban đầu áp dụng cho toán người du lịch (TSP) QAP Cũng vào năm 1992, hội nghị sống nhân tạo lần châu Âu , Dorigo cộng công bố bài: tối ưu phân bố đàn kiến Tiếp theo hội nghị quốc tế thứ hai giải vấn đề song song tự nhiên Hà Lan (1992), ông cộng công bố bài: nghiên cứu đặc tính giải thuật kiến Kể từ năm 1995 Dorigo, Gambardella Stützle phát triển sơ đồ AS khác Dorigo Gambardella đề xuất Hệ thống bầy kiến (Ant Colony System, hay ACS) Stützle and Hoos đề xuất MAX-MIN Ant System (MMAS) Tất áp dụng cho toán người du lịch đối xứng hay không đối xứng cho kết mỹ mãn Dorigo, Gambardella and Stützle đề xuất phiên lai ACO với tìm kiếm địa phưong Vào năm 1995, L.M Gambardella M Dorigo đề xuất hệ thống Ant-Q, cách tiếp cận học tăng cường cho cho toán TSP.Và áp dụng Học Máy Tiếp đó, vào năm 1996, báo công nghệ Bruxelles M Dorigo L.M Gambardella công bố hệ thống Ant Conoly System Đây hệ thống đề cập đến cách học phối hợp áp dụng cho toán TSP 43 | P a g e Cũng năm 1996 này, T Stützle H H Hoos đề xuất hệt thống MaxMin Ant System Đây hệ thống cải tiến hệ thống AntSystem ban đầu đánh giá hệ thống tính toán tương lai Sau đó, vào năm 1997, G Di Caro M Dorigo đề xuất hệ thống AntNet Đây cách tiếp cận định hướng thích nghi Và phiên cuối hệ thống AntNet điều khiển mạng truyền thông công bố vào năm 1998 Cũng năm 1997, hệ thống Rank-based Ant System, hệ thống cải tiến hệ thống kiến ban đầu nghiên cứu hệ thống tính toán đề xuất B Bullnheimer, R F Hartl C Strauss Phiên cuối hệ thống công bố vào năm 1999 Vào năm 2001, C Blum, A Roli, M Dorigo cho công bố hệ thống kiến Hyper Cube – ACO Phiên mở rộng tiếp công bố vào năm 2004 Hầu hết nghiên cứu gần ACO tập trung vào việc phát triển thuật toán biến thể để làm tăng hiệu tính toán thuật toán Ant System ban đầu Trên sơ lược chung thuật toán kiến, mục mô tả sơ đồ chung thuật toán kiến Sơ đồ chung thuật toán bầy kiến Procedure ACO Initial(); While (!ĐK dừng) ConstructSolutions(); LocalSearch(); /*Tuỳ ý, có không UpdateTrails(); End; End; đó: ĐK dừng (tức điều kiện dừng) điều kiện đạt thuật toán trạng thái kết thúc Với toán người đưa thư ĐK dừng điều kiện đạt số vòng lặp 44 | P a g e thuật toán = số vòng lặp lớn người dùng tự định nghĩa tất đàn kiến theo đường (tức đường ngắn nhất) ConstrucSolutions() hàm xây dựng giải pháp theo phương pháp siêu tìm kiếm(meta-heuristic), với toán người đưa thư hàm xây dựng chu trình cho kiến UpdateTrails() hàm cập nhật mùi cho hành trình mà kiến qua LocalSearch() hàm tìm kiếm địa phương, giúp tìm tối ưu cục Hình Sơ đồ chung thuật toán bầy kiến 45 | P a g e Đó sơ đồ chung thuật toán bầy kiến, mục sâu vào mô tả thuật toán bầy kiến đơn giản cho toán người đưa thư Trung Hoa đồ thị hỗn hợp 46 | P a g e [...]... Khi đó, đồ thị được sử dụng để biễu diễn mạng truyền thông với các đỉnh là các nút mạng, các cạnh, các cung là các đường truyền dữ liệu giữa các nút mạng Đồ thị có thể dùng để biễu diễn các đường đi trong một vùng: các đỉnh tương ứng với các ngã 3, ngã 4, còn các cạnh, các cung tương ứng là các đường đi 2 chiều và đường đi 1 chiều Để cấu trúc đồ thị có thể biễu diễn được các bài toán thực tế người ta... giải s ⊆ S Bài toán tối ưu hóa tổ hợp có thể chia 2 loại: Bài toán tĩnh và bài toán động  Bài toán tối ưu hóa tổ hợp tĩnh (Static Combinatorial optimization): Là bài toán tối ưu hóa tổ hợp trong đó cấu trúc (topology) và giá (cost) không thay đổi khi bài toán đang được giải quyết Ví dụ là bài toán người du lịch Khi thực hiện thuật toán để giải bài toán vị trí các thành phố, khoảng cách giữa các thành... Lớp bài toán NP-đầy đủ (NP-Complete) Định nghĩa Một bài toán quyết định A được gọi là NP-đầy đủ (NP-Complete) nếu như:  A là một bài toán trong NP  Mọi bài toán trong NP đều có thể quy dẫn về A Bổ đề Giả sử bài toán A là NP-đầy đủ, bài toán B thuộc NP, và bài toán A qui dẫn được về bài toán B Khi đó bài toán B cũng là NP-đầy đủ 1.1.8 Lớp bài toán NP- khó (NP-Hard) Một cách ngắn gọn có thể hiểu bài toán. .. điều kiện cần và đủ để đồ thị vô hướng và có hướng là đồ thị Euler Điều kiện cần và đủ để đồ thị hỗn hợp là đồ thị Euler là khá phức tạp và sẽ được trình bày trong phần bài toán người đưa thư Trung Hoa trên đồ thị hỗn hợp 1.1.4 Chu trình Hamilton Trong toán học, ngành lý thuyết đồ thị, một đường đi Hamilton là một đường đi trong đồ thị vô hướng đi qua tất cả các đỉnh của đồ thị, mỗi đỉnh đúng một lần... một đồ thị , các đỉnh của đồ thị tương ứng với các thành phố và các cạnh thì tương ứng với đường nối giữa các thành phố, chiều dài của một cạnh tương ứng với khoang cách giữa 2 thành phố Một đường đi trong bài toán TSP là một chu trình Hamilton trên đồ thị và một lời giải tối ưu của bài toán là chu trình Hamilton ngắn nhất Thường thì đồ thị là đồ thị đầy đủ , vì vậy mọi cặp cạnh đều được nối bởi các. .. thay đổi  Bài toán tối ưu hóa tổ hợp động (Dynamic Combinatorial optimization): Là bài toán tối ưu hóa tổ hợp trong đó cấu trúc (topology) và giá (cost) có thể thay đổi khi bài toán đang được giải quyết Ví dụ là bài toán định hướng trong mạng viễn thông, trong đó mô hình mạng và dung lượng yêu cầu luôn thay đổi 20 | P a g e 2 Bài toán người du lịch 1.5 Giới thiệu bài toán Bài toán người du lịch (Travelling... S 1.1.6 Các cấu trúc dữ liệu biểu diễn đồ thị Có nhiều cách khác nhau để lưu trữ các đồ thị trong máy tính Sử dụng cấu trúc dữ liệu nào thì tùy theo cấu trúc của đồ thị và thuật toán dùng để thao tác trên đồ thị đó Trên lý thuyết, người ta có thể phân biệt giữa các cấu trúc danh sách và các cấu trúc ma trận Tuy nhiên, trong các ứng dụng cụ thể, cấu trúc tốt nhất thường là kết hợp của cả hai Người ta... tất cả các đỉnh của đồ thị thì trở về đỉnh xuất phát Một đồ thị có chu trình Hamilton được gọi là đồ thị Hamilton, đồ thị có đường đi Hamilton được gọi là đồ thị nửa Hamilton Bài toán tìm đường đi và chu trình như vậy được gọi là bài toán Hamilton Bài toán Hamilton là NP đầy đủ Tên gọi đường đi và chu trình Hamilton là gọi theo tên của William Rowan Hamilton • Định lý Bondy-Chvátal Cho đồ thị G có... như: 1 Bài toán bè cực đại (MaxClique): Cho một đồ thị vô hướng G = (V, E) V là tập các đỉnh, E là tập các cạnh tương ứng các đỉnh trong V Cần tìm bè lớn nhất của G Bè là tập các đỉnh trong đồ thị mà đôi một có cạnh nốivới nhau (là một đồ thị con đầy đủ trong đồ thị G) 2 Bài toán tập độc lập (Independent set): Cho đồ thị vô hướng G = (V, E) và số nguyên K, hỏi có thể tìm được tập độc lập S với |S|... toán NP-khó là bài toán mà không có thuật toán thời gian tính đa thức để giải nó trừ khi P = NP, mà chỉ có các thuật toán giải trong thời gian hàm mũ Sau đây là định nghĩa chính thức của bài toán NP-khó Định nghĩa Một bài toán A được gọi là NP- khó (NP-hard) nếu như sự tồn tại thuật toán đa thức để giải nó kéo theo sự tồn tại thuật toán đa thức để giải mọi bài toán trong NP Một số bài toán NP-khó tiêu ... 6: Sơ đồ mô tả giải thuật di truyền 31 6|Page Các kiến thức 1.1 Các khái niệm đồ thị Định nghĩa đồ thị Trong toán học tin học, đồ thị đối tượng nghiên cứu lý thuyết đồ thị Một cách... hướng đồ thị Euler Điều kiện cần đủ để đồ thị hỗn hợp đồ thị Euler phức tạp trình bày phần toán người đưa thư Trung Hoa đồ thị hỗn hợp 1.1.4 Chu trình Hamilton Trong toán học, ngành lý thuyết đồ thị, ... 1.1.6 Các cấu trúc liệu biểu diễn đồ thị Có nhiều cách khác để lưu trữ đồ thị máy tính Sử dụng cấu trúc liệu tùy theo cấu trúc đồ thị thuật toán dùng để thao tác đồ thị Trên lý thuyết, người

Ngày đăng: 07/04/2016, 16:36

Từ khóa liên quan

Mục lục

  • 1.1 Các khái niệm cơ bản về đồ thị

  • 1.2 Khái niệm về lớp các bài toán P và NP

  • 1.3 Các thuật toán xấp xỉ

  • 1.4 Bài toán tối ưu hóa tổ hợp (Combinatorial optimization)

  • 1.5 Giới thiệu bài toán

  • 1.6 Lịch sử bài toán TSP

  • 1.7 Mô tả bài toán TSP

  • 1.8 Phân loại bài toán

  • 1.9 Các giải thuật giải bài toán TSP

  • 1.10 Giới thiệu về giải thuật di truyền

  • 1.11 Các khái niệm cơ bản

  • 1.12 Mô hình giải thuật di truyền

  • 1.13 Các tham số của GA

  • 1.14 Các cách mã hoá NST

  • 1.15 Khởi tạo quần thể ban đầu

  • 1.16 Các toán tử di truyền

  • 1.17 Chiến lược nạp lại quần thể

  • 1.18 Sơ đồ chung của thuật toán bầy kiến

Tài liệu cùng người dùng

Tài liệu liên quan