Ng d ng thu t to n di truy n gi i b i to n ng i du l ch
This presentation is the property of its rightful owner.
Sponsored Links
1 / 17

ỨNG DỤNG THUẬT TOÁN DI TRUYỀN GIẢI BÀI TOÁN NGƯỜI DU LỊCH PowerPoint PPT Presentation


  • 132 Views
  • Uploaded on
  • Presentation posted in: General

ỨNG DỤNG THUẬT TOÁN DI TRUYỀN GIẢI BÀI TOÁN NGƯỜI DU LỊCH. I. Phát biểu bài toán.

Download Presentation

ỨNG DỤNG THUẬT TOÁN DI TRUYỀN GIẢI BÀI TOÁN NGƯỜI DU LỊCH

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Ng d ng thu t to n di truy n gi i b i to n ng i du l ch

ỨNG DỤNG THUẬT TOÁN DI TRUYỀN GIẢI BÀI TOÁN NGƯỜI DU LỊCH


I ph t bi u b i to n

I. Phát biểu bài toán

Một người du lịch muốn đi tham quan n thành phố khác nhau. Xuất phát từ một thành phố nào đó, người du lịch sẽ đi đến các thành phố còn lại, mỗi thành phố đến đúng 1 lần, rồi quay trở lại thành phố xuất phát. Hãy tìm hành trình sao cho tổng chi phí là nhỏ nhất.


Ii ph n t ch b i to n

II. Phân tích bài toán:

  • Input:

    • nthành phố tham gia vào hành trình

    • Ma trận C với cịjlà chi phí đi từ thành phố i đến j.

  • Output:

    • Hành trình có chi phí nhỏ nhất.


Iii p d ng thu t to n di truy n b c 1 m h a

III. Áp dụng thuật toán di truyền:* Bước 1: Mã hóa

  • Mỗi thành phố được mã hóa thành một số nguyên.

  • Mã hóa như vậy là cách mã hóa hoán vị.

  • Ví dụ:

    • Giả sử, có 6 thành phố tên là A, B, C, D, E, F thì ta mã hóa như sau:

    • Một chu trình sẽ là một dãy các số bao gồm các số từ 1 đến 6.

      • Ví dụ: [1 2 3 4 5 6] thể hiện đường đi:

        A  B  C  D  E  F  A


Iii p d ng thu t to n di truy n b c 1 m h a1

III. Áp dụng thuật toán di truyền:* Bước 1: Mã hóa


Iii p d ng thu t to n di truy n b c 2 x y d ng h m th ch nghi

III. Áp dụng thuật toán di truyền:* Bước 2: Xây dựng hàm thích nghi

  • Hàm thích nghi là tổng chi phí của hành trình được thể hiện bởi mỗi một nhiễm sắc thể.

  • Ví dụ:

    • Với hành trình: [1 2 3 4 5 6] tổng chi phí sẽ là tổng khoảng cách đi từ A đến B đến C đến D đến E đến F rồi quay trở về A.

    • Độ thích nghi = d(1,2) + d(2,3) + d(3,4) + d(4,5) + d(5,6) + d(6,1)

      = 500 + 2500 + 1500 + 2750 + 500 + 2000

      = 9750

       tổng càng thấp thì hành trình thể hiện bởi nhiễm sắc thể đó càng phù hợp (càng thích nghi)


Iii p d ng thu t to n di truy n b c 3 ch n l c

III. Áp dụng thuật toán di truyền:* Bước 3: Chọn lọc

  • Với bài toán này, ta sử dụng phương pháp: “Chọn lọc theo thể thức giao đấu”

  • Ở đây, hai giải pháp sẽ được cho “giao đấu” với nhau và giải pháp nào tốt hơn sẽ được lựa chọn và được để trong nhóm “giao phối”.

  • Việc chọn lọc trong các thế hệ tiếp theo sẽ thực hiện trong nhóm “giao phối” này.

  • Chú ý rằng, các trận “giao đấu” sẽ được thực hiện bởi hai giải pháp có thể có.

    • Ví dụ: có 4 giải pháp S1, S2, S3, S4 thì các trận “giao đấu” sẽ là: S1 - S2, S1 – S3, S1 - S4, S2 - S3, S2 - S4, S3 - S4


Iii p d ng thu t to n di truy n b c 2 ch n l c

III. Áp dụng thuật toán di truyền:* Bước 2: Chọn lọc

4

3

5

5

4

3

3

4

1

2

3

1

1

5

2

5

1

1

3

2

6

6

6

2

2

4

1

4

2

4

5

6

3

6

5

6

D = 9750

D = 8000

D = 11750

Nhóm “giao phối”

D = 12000


Iii p d ng thu t to n di truy n b c 2 lai gh p

III. Áp dụng thuật toán di truyền:* Bước 2: Lai ghép

  • Ở đây, sử dụng phương pháp: “tổ hợp lại cạnh tăng”.

  • lập “bảng cạnh”

  • “Bảng cạnh” là một bảng kề liệt kê các đường vào và đường ra của một thành phố trong các chuỗi bố mẹ.

  • Nếu một đỉnh đã có trong “bảng cạnh” rồi mà ta vẫn cố gắng chèn nó vào, thì nó là “cạnh phổ biến” và được biểu diễn bằng cách đảo ngược dấu của nó.


Iii p d ng thu t to n di truy n b c 4 lai gh p

III. Áp dụng thuật toán di truyền:* Bước 4: Lai ghép

Parent 1:

Parent 2:


Iii p d ng thu t to n di truy n b c 2 lai gh p1

III. Áp dụng thuật toán di truyền:* Bước 2: Lai ghép

  • Thuật toán: “tổ hợp lại cạnh tăng”

    • Chọn 1 thành phố ban đầu trong hai cá thể bố mẹ. Đây là thành phó hiện thời.

    • Loại bỏ tất cả sự xuất hiện của thành phố hiện thời ra khỏi bảng kề.

    • Nếu thành phố hiện thời có cạnh đi vào nó thì đến bước 4, còn không thì đến bước 5.

    • Xác định xem thành phố nào trong danh sách kề của thành phố hiện thời có ít cạnh vào nhất thì chọn nó làm thành phố hiện thời

    • Nếu không còn thành phố nào chưa đến thăm thì dừng. Còn thì, chọn ngẫu nhiên 1 thành phố chưa đến thăm và quay lại bước 2.


Iii p d ng thu t to n di truy n b c 2 lai gh p2

III. Áp dụng thuật toán di truyền:* Bước 2: Lai ghép

Bước 1Bước 2

Bước 1Bước 2


Iii p d ng thu t to n di truy n b c 2 lai gh p3

III. Áp dụng thuật toán di truyền:* Bước 2: Lai ghép

Bước 3Bước 4


Ng d ng thu t to n di truy n gi i b i to n ng i du l ch

Bước 5Bước 6


Iii p d ng thu t to n di truy n b c 5 t bi n

III. Áp dụng thuật toán di truyền:* Bước 5: Đột biến

Đột biến gây ra sự thay đổi trong một giải pháp để duy trì tính đa dạng của quần thể và ngăn cản sự hội tụ sớm.


  • Login