Các khái niệm chung về giải thuật di truyền

Một phần của tài liệu Ứng dụng giải thuật di truyền vào phân loại tài liệu dạng văn bản (Trang 35 - 85)

2.2.1. Chuỗi nhiễm sắc thể

Giải thuật di truyền là giải thuật tìm kiếm dựa trên sự mô phỏng di truyền học tự nhiên thông qua các cơ chế chọn lọc tự nhiên và sự tiến hóa của các gen. Các gen liên kết với nhau tạo thành chuỗi nhiễm sắc thể.

Một chuỗi nhiễm sắc thể S là một xâu có độ dài cố định thành lập trên bảng mã di truyền A nhƣ sau:

S = (d0, d1, …dn) SAn,diA

Trên tập hợp các chuỗi nhiễm sắc thể ta định nghĩa các hàm.

* Hàm len trả lại độ dài của chuỗi

S = (d0, d1, …dn) =>lenSnS

* Hàm  thực hiện ghép hai chuỗi

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

B = (b1, b2, … bm)

AB(a1, a2, … an, b1, b2, … bm)

Nói chung, trong giải thuật di truyền các chuỗi nhiễm sắc thể là các chuỗi bit nhị phân. Khi đó

A = {0,1}

* Khoảng cách Hamming giữa hai chuỗi A và B là | | ) , ( 1     n i i i B A B A

H with lenA = lenB = n

2.2.2. Các cá thể

Mỗi cá thể là một phần tử của quần thể, là đối tƣợng thực hiện các quá trình tiến hóa nhƣ lai ghép, đột biến, sinh sản và chọn lọc tự nhiên.Mỗi chuỗi nhiễm sắc thể đặc trƣng về mặt di truyền cho một cá thể.

2.2.3. Phương pháp mã hóa

Mỗi cá thể I có một bộ gen S thể hiện bởi chuỗi nhiễm sắc thể của I. Tƣơng ứng với mỗi bộ gen S thì cá thể I có một kiểu hình M nhất định. Trong khi đó, các bài toán chúng ta cần giải quyết đều đƣợc biểu diễn thông qua kiểu hình của cá thể trong quần thể. Do đó cần phải có phƣơng pháp chuyển đổi từ M sang S. Phƣơng pháp này còn gọi là phƣơng pháp mã hóa di truyền cho bài toán.

2.2.4. Quần thể

Các giải thuật di truyền không làm việc với các cá thể đơn lẻ mà thực hiện trên toàn bộ quần thể gồm nhiều cá thể. Khi thực hiện giải thuật di truyền, các quần thể sẽ trải qua các quá trình tiến hóa đƣợc mô phỏng theo tiến hóa tự nhiên. Bắt đầu từ quần thể ban đầu P0 lần lƣợt các thế hệ đƣợc sản sinh nối tiếp nhau và thông qua quá trình tiến hóa thì thế hệ sau càng có tính thích nghi cao hơn so với thế hệ trƣớc.Đây là đặc tính quan trọng nhất, là cơ sở hình thành nên giải thuật di truyền.

Quần thể ban đầu có thể khởi tạo bằng cách tạo ra p xâu ngẫu nhiên bất kỳ có độ dài l đóng vai trò chuỗi nhiễm sắc thể của các cá nhân ban đầu. Hoặc chúng ta có thể khởi tạo quần thể bằng cách tạo ra các cá thể có kiểu hình nhất định rồi từ đó tìm ra kiểu gen của từng cá thể. Tuỳ theo bài toán phƣơng pháp đƣợc sử dụng là

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

khác nhau nhƣng đều phải đƣa đến kết quả là tạo ra quần thể ban đầu P0 có chất lƣợng tốt nhằm tối thiểu hóa thời gian tính toán.

2.2.5. Hàm thích nghi

Hàm thích nghi f(I) là hàm lƣợng giá khả năng thích nghi của cá thể I đối với môi trƣờng. Hàm thích nghi f(I) đƣợc sử dụng để định hƣớng, điều khiển quá trình tiến hóa của cả quần thể theo một hƣớng nhất định.

2.2.6. Lai ghép, đột biến, tái sinh và chọn lọc

Một cá thể mới sinh ra trong quá trình tiến hóa có thể mang những đặc tính, tính trạng của cha mẹ hoặc có thể mang những đặc tính hoàn toàn mới.Tuy nhiên hiện tƣợng đột biến xảy ra với xác suất nhỏ hơn rất nhiều so với hiện tƣợng di truyền nhƣng di truyền và đột biến là hai cơ chế có vai trò quan trọng nhƣ nhau trong quá trình tiến hóa. Các thuật toán tiến hóa đều mô phỏng bốn quá trình cơ bản sau: Lai ghép, đột biến, sinh sản và chọn lọc.

* Lai ghép: Lai ghép là quá trình hình thành nhiễm sắc thể trên cơ sở các nhiễm sắc thể cha mẹ bằng cách ghép một hay nhiều đoạn gen của hai hay nhiều nhiễm sắc thể cha mẹ với nhau. Quá trình lai ghép đƣợc mô phỏng: Chọn ngẫu nhiên hai hay nhiều cá thể bất kỳ trong quần thể. Giả sử các nhiễm sắc thể của cha mẹ đều có m gen. Tạo một số ngẫu nhiên trong khoảng từ 1 đến m-1 ta gọi là điểm lai. Điểm lai chia các chuỗi cha mẹ dài m thành hai nhóm chuỗi con dài m1 và m2. Hai chuỗi nhiễm sắc thể con mới sinh sẽ là m11 + m22 và m21 + m12. Đƣa hai cá thể này vào quần thể để tham gia quá trình tiến hóa tiếp theo.

* Đột biến: Đột biến là hiện tƣợng cá thể con mang một số tính trạng không có trong mã hóa di truyền của cha mẹ. Phép đột biến đƣợc mô tả: Chọn ngẫu nhiên một cá thể bất kỳ trong quần thể có m gen. Tạo một số ngẫu nhiên k trong khoảng từ 1 đến m. Thay đổi gen thứ k của cá thể và trả cá thể này về quần thể để tham gia quá trình tiến hóa tiếp theo.

* Tái sinh: Tái sinh là quá trình trong đó các cá thể đƣợc sao chép trên cơ sở độ thích nghi của nó. Mô tả: Tính độ thích nghi của từng cá thể trong quần thể hiện hành f(I), cộng dồn độ thích nghi ký hiệu là Fm. Tạo một số ngẫu nhiên F trong đoạn

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

từ 0 đến Fm. Chọn một cá thể thứ k thỏa mãn F ≥ Fk đƣa vào quần thể của thế hệ mới.

* Chọn lọc: là quá trình loại bỏ các cá thể xấu trong quần thể để chỉ giữ lại trong quần thể các cá thể tốt. Mô tả: Sắp xếp quần thể theo thứ tự độ thích nghi giảm dần. Loại bỏ các cá thể cuối dãy để chỉ giữ lại các cá thể tốt nhất mong muốn.

2.3. Các phép toán di truyền. 2.3.1. Mã hóa 2.3.1. Mã hóa

Giải thuật di truyền bắt đầu với quần thể, tập của nhiều cá thể (nhiễm sắc thể).Nhiễm sắc thể bằng cách nào đó chứa thông tin về nghiệm mà nó biểu diễn.

Mã hóa nhiễm sắc thể là một trong những vấn đề cực kỳ quan trọng khi chúng ta bắt đầu giải quyết bài toán bằng giải thuật di truyền.Sự mã hóa các biến phụ thuộc vào từng bài toán, làm sao để chọn ra một phƣơng pháp mã hóa tốt để giải quyết bài toán là vấn đề khó. Ta đƣa ra hai nguyên tắc để chọn mã trong giải thuật di truyền là: nguyên tắc các khối xây dựng có ý nghĩa và nguyên tắc ký tự tối thiểu.

Nguyên tắc các khối xây dựng có ý nghĩa nhƣ sau: “Ngƣời dùng nên chọn một mã sao cho các sơ đồ ngắn, bậc thấp thì thích hợp đối với bài toán cơ bản và không liên quan tới vị trí cố định khác”.

Nguyên tắc ký tự tối thiểu: “Ngƣời dùng nên chọn những bộ ký tự tối thiểu cho phép thể hiện đƣợc tính tự nhiên của bài toán”

Phần này giới thiệu một vài phƣơng pháp mã hóa đã sử dụng thành công.

2.3.1.1 Mã hóa nhị phân

Cách đƣợc dùng phổ biến nhất để mã hóa nhiễm sắc thể là dùng chuỗi nhị phân. Mỗi nhiễm sắc thể chứa một chuỗi nhị phân, ký hiệu bằng các chuỗi bit 0 và 1. Mỗi bit trong chuỗi này có thể biểu diễn một đặc tính của nghiệm.

Nhiễm sắc thể A 01100101100101011100101 Nhiễm sắct thể B 111111100000110000011111

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

2.3.1.2 Mã hóa hoán vị

Mã hóa hoán vị đƣợc dùng trong các bài toán sắp xếp, chẳng hạn nhƣ bài toán ngƣời du lịch hoặc bài toán sắp xếp công việc.

Trong mã hóa hoán vị mọi nhiễm sắc thể là một chuỗi các số biểu diễn trong một dãy.

Ví dụ:

Mã hóa hoán vị chỉ hữu ích đối với các bài toán sắp xếp.

2.3.1.3 Mã hóa giá trị

Mã hóa giá trị trực tiếp có thể đƣợc dùng trong những bài toán có chứa các giá trị phức tạp, chẳng hạn nhƣ số thực.Nếu dùng mã hóa nhị phân cho loại bài toán này thì sẽ rất phức tạp.Trong mã hóa giá trị, mọi nhiễm sắc thể là một chuỗi chứa những giá trị nào đó.Những giá trị này có thể có dạng bất kỳ liên quan đến bài toán, từ số nguyên, số thực, ký tự cho đến những đối tƣợng phức tạp hơn.

Ví dụ:

Nhiễm sắc thể A 1.2324 5.3243 0.4556 2.3293.4545 Nhiễm sắc thể B ABDJEIFJDHDIERJFDLDFLFEGT Nhiễm sắc thể C (back), (back), (right), (forward), (left)

2.3.1.4 Mã hóa theo cây

Mã hóa theo cây đƣợc dùng chủ yếu cho các chƣơng trình (hoặc biểu thức) tiến hóa, cho lập trình di truyền.

Trong mã hóa theo cây, mọi nhiễm sắc thể là một cây chứa các đối tƣợng chẳng hạn nhƣ hàm hoặc lệnh trong một ngôn ngữ lập trình nào đó.

Nhiễm sắc thể A 153264798 Nhiễm sắc thể B 856723149

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

Nhiễm sắc thể A Nhiễm sắc thể B

(+x( /5y )) (do_until step wall)

Mã hóa theo cây thích hợp cho những chƣơng trình tiến hóa. Ngôn ngữ lập trình di truyền thƣờng đƣợc dùng vì chƣơng trình đƣợc biểu diễn dƣới dạng này có thể dễ dàng phân giải cây, vì thế lai giống và đột biến có thể thực hiện một cách tƣơng đối dễ dàng.

2.3.2. Quá trình lai ghép

Sau khi quyết định cách mã hóa, chúng ta chuyển sang lai ghép. Đây là việc chọn các gen từ các nhiễm sắc thể của bố mẹ và tạo ra con mới. Quá trình lai ghép đƣợc chia làm 2 loại: lai ghép giá trị thực và lai ghép giá trị nhị phân.

2.3.2.1. Lai ghép giá trị thực

- Lai ghép rời rạc

Thực hiện một quá trình trao đổi giá trị xen giữa các cá thể cha mẹ để tạo ra các cá thể con. Xét ví dụ sau đây, có 2 cá thể với 3 gen nhƣ sau:

Cá thể 1: 12 25 5

Cá thể 2: 123 4 34

Các cá thể con có thể chọn tuỳ ý 1 trong các gen của 2 cá thể cha mẹ. Chẳng hạn ta có hai con sau:

Con 1: 123 4 5

Con 2: 12 4 5 - Lai ghép trung gian

+

x /

5 y

do until

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

Lai ghép trung gian là phƣơng pháp chỉ áp dụng cho các giá trị thực, trong đó giá trị của cá thể con đƣợc chọn xung quanh và ở giữa của các cá thể cha mẹ.

Giá trị của cá thể cha mẹ đƣợc tính theo luật sau: Con = cha-mẹ-1 + (cha-mẹ-2 – cha-mẹ-1)

Với  là một hệ số tỉ lệ đƣợc chọn ngẫu nhiên trong khoảng [-d, 1+ d]. Tốt nhất nên chọn d = 0.25.

Ví dụ: Xét hai cá thể, mỗi cá thể có 3 gen:

Cá thể 1: 12 25 5 Cá thể 2: 123 4 34 Chọn  nhƣ sau: 1: 0.5 1.1 -0.1 2: 0.1 0.8 0.5  giá trị con là: Con 1: 67.5 1.9 2.1 Con 2: 23.1 8.2 13.5

Trong lai ghép trung gian, miền giá trị của các con có thể rộng hơn hình hộp giới hạn bởi giá trị của cá thể cha mẹ.

*Lai ghép tuyến tính

Tƣơng tự nhƣ lai ghép trung gian, nhƣng cùng một hệ số  đƣợc áp dụng với tất cả các biến của cá thể cha mẹ.

Xét ví dụ đã cho ở trên: Cá thể 1: 12 25 5 Cá thể 2: 123 4 34 Lấy: α1 = 0.5, α2 = 0.1ta có: con 1: 67.5 14.5 19.5 con 2: 23.1 22.9 7.9

Trong lai ghép tuyến tính có thể tạo ra cá thể con nằm tại vị trí bất kỳ trên đƣờng thẳng chứa hai cá thể cha/mẹ.

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

2.3.2.2. Lai ghép giá trị nhị phân* Lai ghép đơn điểm * Lai ghép đơn điểm

Trong lai ghép đơn điểm (lai ghép chéo), một điểm lai ghép k [1,2,…,Nvar - 1] (với Nvar là số gen của một cá thể) đƣợc chọn ngẫu nhiên và các gen trên nhiễm sắc thể của các cá thể cha mẹ đƣợc đổi chỗ cho nhau tính từ vị trí k để tạo ra 2 con mới. Ví dụ: xét hai cá thể cha mẹ: Cá thể 1: 01110011010 Cá thể 2: 10101100101 Chọn vị trí lai ghép = 5  có hai cá thể con: Con 1: 01110 100101 Con 2: 10101 011010

Hình 2.3: Nguyên tắc thực hiện lai ghép chéo * Lai ghép đa điểm

Với phƣơng pháp lai ghép đa điểm, chúng ta có m vị trí lai ghép ki [1, 2, …, Nvar - 1]. (i = 1,…,m) đƣợc chọn ngẫu nhiên sao cho không lặp lại và đƣợc sắp thứ tự.

Sau khi chọn vị trí lai ghép ta thao tác tại từng vị trí lai ghép giống nhƣ với trƣờng hợp lai ghép chéo.

Ý tƣởng của phƣơng pháp lai ghép đa điểm và cả phƣơng pháp lai ghép khác là nhiễm sắc thể của các cá thể con đƣợc tạo thành từ các nhiễm sắc thể cha mẹ trên cơ sở có sự tráo đổi một hay nhiều phần của nhiễm sắc thể.

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

Hình 2.4: Nguyên tắc thực hiện lai ghép đa điểm 2.3.3. Đột biến

Sau khi đƣợc lai ghép, các cá thể con phải trải qua quá trình đột biến. Đây là hiện tƣợng các cá thể con mang các tính trạng không có trong mã di truyền của cha mẹ. Các gen của cá thể con bị đột biến bằng cách thêm vào nó một giá trị ngẫu nhiên nhỏ nào đó với xác suất nhỏ. Xác suất đột biến của một gen tỉ lệ nghịch với số gen của cá thể.

2.3.3.1. Đột biến các giá trị thực

Thao tác đột biến thực hiện nhƣ sau:

Biến đƣợc đột biến = giá trị biến + range * delta Trong đó:

* range = 1/2 * miền giá trị của biến

* delta =  i i

a()2 , a(i) = 1 với xác suất 1/m, a(i) = 0, với m = 20

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

2.3.3.2 Đột biến các giá trị nhị phân

Với các chuỗi nhiễm sắc thể nhị phân, đột biến có nghĩa là lật trạng thái của một gen nào đó. Giả sử xét một cá thể có 11 gen và xảy ra đột biến gen số 4. Ta có bảng sau:

Bảng 2.1: Biểu diễn cá thể trước và sau đột biến

Trƣớc khi đột biến 0 1 1 1 0 0 1 1 0 1 0 Sau khi đột biến 0 1 1 0 0 0 1 1 0 1 0

2.3.4. Phép chọn lọc

Quá trình chọn lọc nhằm chọn ra các cá thể sẽ thực hiện tái sản xuất ra các cá thể con.Các cá thể đƣợc chọn phải là các cá thể có đặc tính tốt nhất, thích nghi nhất với môi trƣờng.Bƣớc đầu tiên đƣợc thực hiện là lƣợng giá độ thích nghi của các cá thể.Mỗi cá thể trong quần thể nhận đƣợc một giá trị biểu diễn khả năng thích nghi của nó phụ thuộc vào giá trị hàm mục tiêu tƣơng ứng với cá thể đó và tƣơng quan giá trị hàm mục tiêu của tất cả các cá thể trong quần thể. Độ thích nghi sẽ đƣợc dùng làm căn cứ cho các phƣơng pháp thực hiện chọn lọc trình bày sau đây.

Có rất nhiều phƣơng pháp thực hiện chọn lọc, các phƣơng pháp này đƣợc so sánh với nhau trên các tiêu chí sau:

* Độ tích cực chọn lọc: chênh lệch giữa xác suất chọn đƣợc cá thể tốt nhất với xác xuất trung bình chọn cá thể bất kỳ.

* Độ lệch: chênh lệch giữa độ thích nghi của một cá thể với xác suất đƣợc lựa chọn của nó.

2.3.4.1. Phương pháp chọn lọc dùng bánh xe Roulette

Đây đƣợc coi là phƣơng pháp chọn lọc đơn giản nhất, đƣợc tiến hành nhƣ sau: Các cá thể đƣợc ánh xạ vào các đoạn thẳng liên tiếp sao cho kích thƣớc của mỗi phần đoạn thẳng đó bằng độ thích nghi của cá thể tƣơng ứng.Sau đó một số ngẫu nhiên sẽ đƣợc tạo ra và những cá thể nào mà đoạn thẳng tƣơng ứng với nó chứa giá trị vừa tạo ra sẽ đƣợc chọn.Quá trình tiếp tục lặp lại đến khi chọn đƣợc số lƣợng cần thiết các cá thể.

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

Ví dụ: Xét một quần thể gồm 11 cá thể, có độ thích nghi và xác suất đƣợc chọn thể hiện trong bảng sau:

Bảng 2.2: Độ thích nghi và xác suất của cá thể

Số cá thể 1 2 3 4 5 6 7 8 9 10 11 Độ thích nghi 2.0 1.8 1.6 1.4 1.2 1.0 0.8 0.6 0.4 0.2 0.0 Xác suất thích nghi 0.18 0.16 0.15 0.13 0.11 0.09 0.07 0.06 0.03 0.02 0.0 Giả sử ta cần lựa chọn 6 cá thể để thực hiện lai ghép, khi đó ta cần tạo ra 6 số

Một phần của tài liệu Ứng dụng giải thuật di truyền vào phân loại tài liệu dạng văn bản (Trang 35 - 85)

Tải bản đầy đủ (PDF)

(85 trang)