Một số cách biểu diễn lời giải của giải thuật di truyền

Một phần của tài liệu Luận văn: Kỹ thuật mạng Nơron và giải thuật di truyền trong khai phá dữ liệu và thử nghiệm ứng dụng potx (Trang 46 - 47)

Biểu diễn lời giải là vấn đề đầu tiên đ−ợc quan tâm tới khi bắt tay vào giải quyết một bài toán bằng GA. Việc lựa chọn cách biểu diễn lời giải nh− thế nào phụ thuộc vào từng lớp bài toán thậm chí vào từng bài toán cụ thể.

GA kinh điển dùng chuỗi nhị phân có chiều dài xác định để biểu diễn lời giải. Tuy nhiên, thực tế cho thấy cách biểu diễn này khó áp dụng trực tiếp cho các bài toán tối −u cỡ lớn có nhiều ràng buộc. Vì lý do đó, GA cải tiến hay còn gọi là

Ch−ơng trình tiến hoá đã tìm kiếm các cách biểu diễn thích nghi và tự nhiên hơn với các bài toán thực tế nh−: Biểu diễn theo trật tự, biểu diễn theo giá trị thực, biểu diễn bằng các cấu trúc cây, ma trận, … Phần này sẽ trình bầy tổng quan về các cách biểu diễn đó.

2.2.2.1. Biểu diễn nhị phân (Binary encoding)

Trong biểu diễn nhị phân, mỗi nhiễm sắc thể là một chuỗi các bit 0 hoặc 1. Chẳng hạn:

NST A: 101100101100101011100101 NST B: 111111100000110000011111

Ví dụ: Bài toán “Xếp ba lô” đ−ợc phát biểu: “Cho một tập các đồ vật, mỗi đồ vật có giá trị và kích th−ớc xác định, cho biết sức chứa của ba lô. Hãy chọn cách xếp các đồ vật vào ba lô sao cho tổng giá trị của các đồ vật là cao nhất”.

Biểu diễn mỗi lời giải của bài toán trên bằng một chuỗi nhị phân, ở đó mỗi bit 0 hoặc 1 ứng với một đồ vật không đ−ợc chọn hoặc đ−ợc chọn.

Với cách biểu diễn đó, bài toán đ−ợc phát biểu lại nh− sau: “ Cho một tập các khối l−ơng W[i], tập các giá trị P[i] và sức chứa C. Tìm một vectơ nhị phân x=<x1, x2, …, xn> thoả mãn:

ni=1x[i]-W[i]≤C

với P(x) = ∑=

n

i 1x[i]-W[i] là cực đại.

Sử dụng trong bài toán mà thứ tự các thành phần của lời giải quyết định mức độ phù hợp của lời giải, điển hình nh− bài toán “ Ng−ời du lịch”.

Với cách biểu diễn thứ tự, cách sắp xếp của các gien khác nhau cho ta các nhiễm sắc thể khác nhau, mỗi nhiễm sắc thể là một chuỗi các số nguyên diễn tả quan hệ tiếp nối. Lời giải đ−ợc biểu diễn bằng một vectơ số nguyên v=( i1, i2, …, in ) với v là một hoán vị của tập thứ tự.

Ví dụ: NST A: ( 1 5 3 2 6 4 7 9 8 ) NST B: ( 8 5 6 7 2 3 1 4 9 )

2.2.2.3. Biểu diễn giá trị (Value encoding)

Th−ờng dùng trong các bài toán mà cách biểu diễn chuỗi nhị phân là khó thực hiện nh− miền xác định của các thành phần lời giải khá lớn với độ chính xác yêu cầu cao, miền xác định không rõ ràng, hay các bài toán mà việc biểu diễn nhị phân là “ không tự nhiên”.

Trong biểu diễn giá trị, mỗi cá thể là một chuỗi các giá trị liên quan đến bài toán, các giá trị có thể là số thực, số nguyên, ký tự hay các đối t−ợng phức tạp khác.

Ví dụ: NST A: (0.1229 2.9234 3.0012, 0.3567, 4.3828) NST B (AJUHNEOLDOGSGLLIKUFSEJHJH)

2.2.2.4. Biểu diễn dạng cây (Tree encoding)

Cách biểu diễn lời giải dùng cấu trúc cây đ−ợc dùng chủ yếu trong các ch−ơng trình tiến hoá, trong biểu diễn biểu thức, hay lập các ch−ơng trình di truyền học. Với cách biểu diễn này, mỗi cá thể là một cây các đối t−ợng.

Một phần của tài liệu Luận văn: Kỹ thuật mạng Nơron và giải thuật di truyền trong khai phá dữ liệu và thử nghiệm ứng dụng potx (Trang 46 - 47)