Đối với tiếng Việt, đã có một số công trình nghiên cứu về phân loại văn bản: Conditional Random Fields and Support Vector Machine [7], Weighted Finit State Transducer and Neural Network
Trang 1NGƯỜI HƯỚNG DẪN KHOA HỌC PGS.TSKH NGUYỄN XUÂN HUY
HÀ NỘI - 2007
CÁC KỸ THUẬT LAI GHÉP TRONG GIẢI THUẬT DI TRUYỀN
NGUYỄN XUÂN TOÀN
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ - -
LUẬN VĂN THẠC SĨ NGÀNH CÔNG NGHỆ THÔNG TIN
MÃ SỐ 1.01.10
Trang 2MỤC LỤC
MỞ ĐẦU 3
Chương 1 MỘT SỐ PHƯƠNG PHÁP TÁCH TỪ VÀ PHÂN LOẠI VĂN BẢN TIẾNG VIỆT 6
1.1 Tổng quan về tách từ và phân loại văn bản tiếng Việt 6
1.2 Hướng tiếp cận tách từ và phân loại văn bản tiếng Việt 8
1.2.1 Hướng tiếp cận dựa trên từ 9
1.2.2 Hướng tiếp cận dựa trên ký tự 10
1.2.3 Một số nhận xét về các phương pháp tách từ tiếng Việt 11
1.3 Phương pháp tách từ và phân loại văn bản tiếng Việt dựa trên thống kê từ Internet và Giải thuật di truyền 11
Kết luận chương 1 15
Chương 2 GIẢI THUẬT DI TRUYỀN 16
2.1 Tổng quan về giải thuật di truyền 16
2.2 Một số cách biểu diễn lời giải của giải thuật di truyền 19
2.2.1 Biểu diễn nhị phân 19
2.2.2 Biểu diễn hoán vị 20
2.2.3 Biểu diễn giá trị 21
2.2.4 Biểu diễn dạng cây 21
2.3 Các toán tử di truyền 21
2.3.1 Đánh giá độ thích nghi của cá thể và toán tử chọn lọc 22
2.3.2 Toán tử lai ghép 24
2.3.3 Toán tử đột biến 25
2.4 Cơ sở toán học của giải thuật di truyền 27
2.4.1 Một số khái niệm 28
2.4.2 Định lý sơ đồ 30
2.5 Những cải tiến của giải thuật di truyền 32
Trang 32.5.1 Các toán tử cao cấp 32
2.5.2 Các sơ đồ lựa chọn 38
Kết luận chương 2 39
Chương 3 SỬ DỤNG GIẢI THUẬT DI TRUYỀN TÁCH TỪ TIẾNG VIỆT 40
3.1 Cấu trúc âm tiết và mối tương quan với “từ” tiếng Việt 40
3.1.1 Cấu trúc âm tiết năm thành phần 40
3.1.2 Cấu trúc âm tiết ba thành phần 42
3.1.3 So sánh cấu trúc hai loại âm tiết 49
3.2 Nguyên lý thống kê dựa trên Internet 50
3.3 Sử dụng giải thuật di truyền để tách từ tiếng Việt 53
3.3.1 Khảo sát độ dài của “từ” trên từ điển 54
3.3.2 Xử lý dữ liệu 55
3.3.3 Biểu diễn cá thể 57
3.3.4 Khởi tạo các tham số 58
3.3.5 Toán tử chọn lọc 59
3.3.6 Toán tử lai ghép 60
3.3.7 Toán tử đột biến 61
3.3.8 Quá trình sinh sản 62
3.4 Phân loại văn bản tiếng Việt 63
Kết luận chương 3 63
KẾT LUẬN 65
TÀI LIỆU THAM KHẢO 66
PHỤ LỤC 70
Trang 4MỞ ĐẦU
Hơn hai thập kỷ trở lại đây, lượng thông tin được lưu trữ trên các thiết bị điện tử không ngừng tăng lên Do các ưu điểm khi lưu trữ tài liệu số như cách lưu trữ gọn nhẹ, thời gian lưu trữ lâu dài, tiện dụng trong trao đổi, dễ dàng sửa đổi… nên các phương thức sử dụng giấy tờ trong công việc và trong giao dịch
đã dần được số hoá chuyển sang các dạng văn bản lưu trữ trên máy tính hoặc truyền tải trên mạng Điều đó đã làm số lượng văn bản số tăng lên nhanh chóng Cùng với sự gia tăng về số lượng văn bản, nhu cầu tìm kiếm văn bản cũng tăng theo Với lượng văn bản đồ sộ thì việc phân loại văn bản tự động phục vụ quá trình tìm kiếm thông tin dễ dàng, nhanh chóng là cần thiết Đồng thời, việc phân loại văn bản tự động sẽ giúp con người tiết kiệm được rất nhiều thời gian và công sức
Theo [29], “Việc phân loại văn bản tự động là việc gán các nhãn phân
loại lên một văn bản mới dựa trên mức độ tương tự của văn bản đó so với các văn bản đã được gán nhãn trong tập huấn luyện”
Trong tiếng Anh đã có nhiều công trình nghiên cứu và đạt được kết quả như: Graph - Based Approach [6], Neural Network [12], Support Vector Machine [18], Linear Least Squares Fit [28]… Các phương pháp trên đều dựa vào xác suất thống kê hoặc thông tin về trọng số của từ trong văn bản
Đối với tiếng Việt, đã có một số công trình nghiên cứu về phân loại văn bản: Conditional Random Fields and Support Vector Machine [7], Weighted Finit State Transducer and Neural Network [10], Dynamic Programming [20]… Các nghiên cứu trên đã đề cập đến khó khăn trong vấn đề xử lý văn bản
để rút ra tần số xuất hiện của từ Trong khi đó, để phân loại văn bản thì bước tách từ đầu tiên là quan trọng Đồng thời phần lớn các phương pháp tách từ tiếng Việt đều dựa trên tập dữ liệu huấn luyện và từ điển trong khi hiện nay
Trang 5chưa có từ điển hay tập dữ liệu huấn luyện tiếng Việt được gán nhãn đủ lớn phục vụ việc này
Trong thời gian gần đây, một phương pháp tiếp cận cho việc tách từ và phân loại văn bản là: Internet and Genetics Algorithm - Based Text Categorization (IGATEC) của H Nguyen [17] Điểm khác biệt của thuật toán
là kết hợp giải thuật di truyền với việc trích xuất thông tin thống kê từ Internet thông qua một công cụ tìm kiếm thay vì lấy từ tập dữ liệu như các phương pháp khác Giải thuật di truyền cho phép xây dựng phương pháp tìm kiếm song song (tìm kiếm tiến hóa) trên quần thể mà trong đó mỗi cá thể tương ứng với một cách tách từ cho câu đang xét Hàm thích nghi sẽ đánh giá độ thích nghi của các tài liệu thống kê, rút trích từ Internet sử dụng các công cụ tìm kiếm thông minh (Search Engine) Thông tin rút trích bao gồm tần số các tài liệu và thông tin tương quan giữa các nhóm từ trong tài liệu
Trên cơ sở các phân tích trên, luận văn thực hiện tìm hiểu giải thuật di truyền, cơ sở toán học, các cải tiến của giải thuật di truyền và ứng dụng vào vấn đề tách từ tiếng Việt Việc tách từ tiếng Việt trong luận văn này dựa trên ý tưởng của thuật toán IGATEC nhưng có bổ sung một vài cải tiến trong quá trình lai ghép và đột biến nhằm tăng độ chính xác
Ngoài phần mở đầu, kết luận và phụ lục, luận văn được chia thành các chương chính như sau:
Chương 1 Một số phương pháp tách từ và phân loại văn bản tiếng Việt: tìm hiểu các hướng tiếp cận tách từ và phân loại văn bản tiếng Việt và phương
pháp tách từ tiếng Việt sử dụng giải thuật di truyền kết hợp với trích xuất thông tin thống kê từ Internet
Chương 2 Giải thuật di truyền: tìm hiểu về giải thuật di truyền, cơ sở
toán học, các toán tử và các cải tiến của giải thuật di truyền
Trang 6 Chương 3 Sử dụng giải thuật di truyền để tách từ tiếng Việt: đề xuất
một số cải tiến trong quá trình lai ghép và đột biến với mục tiêu tăng hiệu quả của thuật toán IGATEC
Mặc dù đã cố gắng hoàn thành luận văn trong phạm vi và khả năng cho phép nhưng sẽ không tránh khỏi những thiếu sót Hiện thời trong luận văn này mới chỉ dừng ở mức tìm hiểu, sử dụng giải thuật di truyền cho quá trình tách từ tiếng Việt phục vụ cho các chương trình dịch chéo đa ngữ, phân loại tự động các văn bản tiếng Việt… Mong quý thầy cô và các bạn đọc thông cảm, có những ý kiến đóng góp để hoàn thiện đề tài
Trang 7Chương 1 MỘT SỐ PHƯƠNG PHÁP TÁCH TỪ VÀ PHÂN LOẠI
VĂN BẢN TIẾNG VIỆT
1.1 Tổng quan về tách từ và phân loại văn bản tiếng Việt
Theo các kết quả nghiên cứu [7, 10, 20, 29], các phương pháp phân loại văn bản tiếng Việt hiệu quả như: Support Vector Machine, Conditional Random Fields, Dynamic Programing… đều cần thông tin xác suất hay thống
kê trọng số của từ Thông qua tìm hiểu các phương pháp này trong việc phân loại văn bản tiếng Việt, có thể nhận ra rằng việc tách từ là bước đầu tiên hết sức quan trọng cần phải được giải quyết
Đối với các ngôn ngữ châu Á như tiếng Hoa, tiếng Nhật, tiếng Hàn và cả tiếng Việt, tách từ là một khó khăn chính trong việc phân loại văn bản Mặc dù được viết bằng các ký tự La tinh mở rộng, tiếng Việt cũng có những đặc tính chung với các ngôn ngữ Đông Nam Á khác như khó xác định ranh giới giữa các từ và có nhiều điểm khác biệt về ngữ âm, văn phạm và ngữ nghĩa… so với tiếng Anh
Do đó, khó có thể áp dụng hướng tiếp cận đã được nghiên cứu và thử nghiệm thành công trên tiếng Anh [6, 12, 18, 29, 30]… cho phân loại văn bản tiếng Việt nếu không xây dựng thành công giải pháp cho việc tách từ trong văn bản tiếng Việt
Vì sao việc xác định ranh giới từ trong tiếng Việt lại là bài toán khó?
Đơn vị cơ bản trong tiếng Việt là tiếng (hay “âm tiết”), không phải là từ Trong [1] đã nêu ra một số đặc tính chính của từ trong tiếng Việt như sau:
- Từ ở dạng nguyên thể, hình thức và ý nghĩa độc lập với cú pháp
- Từ được cấu trúc từ “tiếng” (hay “âm tiết”)
Trang 8- Từ bao gồm từ đơn (từ một tiếng) và từ ghép (n tiếng với n < 5), bao gồm từ láy và từ ghép
Ví dụ: “Khoa học” là từ ghép gồm 2 “tiếng” trong tiếng Việt
Trong khi đó, định nghĩa về từ trong tiếng Anh như sau: “Từ là một
nhóm ký tự có nghĩa, được phân cách bởi ký tự khoảng trắng trong câu” (Theo
từ điển Webster)
Dưới đây là một số điểm khác biệt chính giữa tiếng Việt và tiếng Anh [2,
17, 25]
Ranh giới từ Tổ hợp có nghĩa dựa vào
Bảng 1.1 Các điểm khác biệt chính giữa tiếng Việt và tiếng Anh
Chính những đặc điểm khác biệt trên làm cho việc tách từ tiếng Việt trở nên khó khăn hơn
Theo Đinh Điền [10], trong một số phương pháp tách từ tiếng Hoa và một số ngôn ngữ Đông Nam Á khác được thử nghiệm trên tiếng Việt thì điều kiện quan trọng cần có là một hệ thống từ điển và tập dữ liệu huấn luyện đầy
đủ chính xác Một từ điển hay một tập dữ liệu huấn luyện không hoàn chỉnh sẽ làm giảm hiệu suất của thuật toán
Hiện tại, chưa có từ điển chuẩn hay dữ liệu huấn luyện tiếng Việt được gán nhãn đủ lớn phục vụ việc này Do đặc điểm của tiếng Việt nên việc xây dựng bộ từ điển chuẩn hay dữ liệu này cần rất nhiều thời gian, công sức và chi
Trang 9phí Đây chính là vấn đề đáng lo nhất trong bài toán phân loại văn bản tiếng,
xử lý ngôn ngữ tự nhiên và tìm kiếm thông tin tiếng Việt
1.2 Hướng tiếp cận tách từ và phân loại văn bản tiếng Việt
Theo các kết quả khảo sát của Foo và Li [14] về tách từ trong văn bản tiếng Hoa và qua tìm hiểu có thể thấy rằng có hai cách tiếp cận trong vấn đề tách từ và phân loại văn bản: Hướng tiếp cận dựa trên từ và hướng tiếp cận dựa trên ký tự
Hình 1.1 Các hướng tiếp cận cơ bản trong việc tách từ tiếng Hoa và hướng
tiếp cận trong tách từ tiếng Việt
Chinese Segmentation Vietnamese Segmentation
Word - Based Character - Based
Uni - Gram N - Gram Statistic Dictionary Hybrid
Full Word / Phrase Component
Nguyễn Cẩm Tú
H Nguyen
Lê Hà An
Luận văn này
Shortest Match Longest Match Overlap Match
Đinh Điền
Trang 101.2.1 Hướng tiếp cận dựa trên từ
Các hướng tiếp cận dựa trên từ được chia thành ba nhóm: dựa vào thống
kê (Statistic Based), dựa vào từ điển (Dictionary Based) và nhóm lai (Hybrid)
Giải pháp theo hướng tiếp cận dựa vào thống kê cần phải dựa vào
thống tin thống kê như: từ, tần số ký tự, xác suất cùng xuất hiện trong một tập
dữ liệu cơ sở… Tính hiệu quả của các giải pháp loại này chủ yếu dựa vào dữ liệu huấn luyện cụ thể được sử dụng Đây là vấn đề khó khăn đối với bài toán tách từ tiếng Việt
Trong hướng tiếp cận dựa vào từ điển, các phân đoạn văn bản được
đối sánh dựa vào từ điển Hạn chế trong việc tách từ theo hướng tiếp cận dựa trên từ điển đó là cần phải thực hiện hoàn toàn dựa trên từ điển hoàn chỉnh, trong khi việc xây dựng từ điển hoàn chỉnh là không khả thi
Hướng tiếp cận lai áp dụng nhiều cách khác nhau để tận dụng ưu điểm
của các giải pháp Mặc dù có được những ưu điểm của các giải pháp nhưng hướng tiếp cận này lại gặp phải các khóa khăn, phức tạp khác như: thời gian xử
lý, không gian đĩa…
Đinh Điền [10] đã xây dựng dữ liệu huấn luyện riêng (khoảng 10MB) dựa vào các tài nguyên, tin tức và sách điện tử trên Internet… Trên cơ sở tập
dữ liệu tác giả sử dụng hệ thống tách từ tiếng Việt gồm hai tầng: tầng WFST ngoài việc tách từ còn xử lý thêm các vấn đề liên quan đến đặc thù của tiếng Việt như từ láy, tên riêng… và tầng mạng nơron dùng để khử nhập nhằng đối với các trường hợp tầng WFST cho kết quả ngang nhau Phương pháp này cho kết quả với độ chính xác cao vì mục đích của tác giả là để phục vụ cho việc dịch máy Tuy nhiên tập dữ liệu huấn luyện còn tương đối nhỏ, khó có thể đảm bảo dung lượng và độ phong phú cho việc tách từ
Trang 11Tóm lại, các hướng tiếp cận phục vụ cho việc phân loại văn bản tiếng Việt dựa vào từ chỉ thực hiện tốt khi chúng ta có bộ từ điển tốt hay dữ liệu huấn luyện đủ lớn
1.2.2 Hướng tiếp cận dựa trên ký tự
Các hướng tiếp cận dựa trên ký tự (dựa trên “tiếng” - “âm tiết” trong tiếng Việt) có thể chia làm hai nhóm nhỏ: tiếp cận dựa trên một ký tự (uni-gram) và tiếp cận dựa trên nhiều ký tự (n-gram):
Hướng tiếp cận dựa trên một ký tự chia văn bản thành các ký tự đơn
lẻ để thực hiện tách từ
Hướng tiếp cận dựa trên nhiều ký tự (n-gram) chia văn bản ra thành
nhiều chuỗi, mỗi chuỗi gồm hai, ba ký tự trở lên So với hướng tiếp cận trên một ký tự, hướng tiếp cận này cho nhiều kết quả ổn định hơn Ưu điểm nổi bật của hướng tiếp cận dựa trên nhiều ký tự là tính đơn giản và dễ ứng dụng, ngoài
ra còn có thuận lợi là ít tốn chi phí cho việc tạo chỉ mục (index) và xử lý nhiều câu truy vấn (query processing)
Các phương pháp dựa trên ký tự tuy đơn giản nhưng đã đem lại một số kết quả trong việc xử lý Việt Gần đây cũng có một số bài báo tiếp cận hướng tách từ và phân đoạn văn bản tiếng Việt theo hướng tiếp cận này:
Lê Hà An [10] đã xây dựng tập dữ liệu thô và sử dụng quy hoạch động
để tối ưu hóa tổng xác suất của các phân đoạn trong văn bản (các ngữ được phân cách bởi các ký tự phân cách) Tập dữ liệu đầu vào được tác giả sử dụng nhỏ và thí nghiệm chỉ dừng lại ở việc tách từ có ba “tiếng”
Nguyễn Cẩm Tú [7] đang nghiên cứu, sử dụng hai phương pháp Conditional Random Fields và Support Vector Machine cho việc phân loại văn bản tiếng Việt
Trang 12Trong bài báo của H Nguyen [17], thay vì sử dụng tập dữ liệu thô cho quá trình phân loại, tác giả đã sử dụng thông tin thống kê trực tiếp từ Internet
và sử dụng giải thuật di truyền để tìm ra những cách phân loại văn bản tối ưu nhất của cùng một văn bản Mặc dù bài báo chỉ mới trình bày những kết quả thử nghiệm bước đầu, nhưng cũng đã mở ra khả năng tìm hiểu, nghiên cứu, phát triển cho hướng tiếp cận này
1.2.3 Một số nhận xét về các phương pháp tách từ tiếng Việt
Một cách tổng quan, phương pháp dựa trên từ cho độ chính xác khá cao (trên 95%) nhờ vào tập dữ liệu huấn luyện lớn, được đánh dấu chính xác, tuy nhiên hiệu suất của thuật toán phụ thuộc hoàn toàn vào dữ liệu huấn luyện Với các phương pháp cần phải sử dụng từ điển hoặc tập huấn luyện, ngoài việc tách
từ thật chính xác, ta còn có thể nhờ vào các thông tin đánh dấu trong tập dữ liệu để thực hiện các mục đích khác như dịch máy, kiểm lỗi chính tả, từ điển đồng nghĩa
Hướng tiếp cận dựa trên ký tự có ưu điểm là dễ thực hiện, thời gian thực thi tương đối nhanh, tuy nhiên lại có độ chính xác không cao bằng phương pháp dựa trên từ Hướng tiếp cận này thích hợp cho các mục đích nghiên cứu không cần đến độ chính xác tuyệt đối cũng như các thông tin về từ loại như phân loại văn bản, lọc spam, firewall Nhìn chung, hướng tiếp cận dựa trên ký
tự có những ưu điểm nhất định, mở ra các hướng nghiên cứu tiếp theo để nâng cao độ chính xác của phương pháp tách từ này
1.3 Phương pháp tách từ và phân loại văn bản tiếng Việt dựa trên thống
kê từ Internet và Giải thuật di truyền
Phương pháp tách từ và phân loại văn bản tiếng Việt dựa trên thống kê
từ Internet và giải thuật di truyền (Internet and Genetics Algorithm-based Text
Categorization for Documents in Vietnamese (IGATEC) do H Nguyen giới
Trang 13thiệu là hướng tiếp cận cho việc tách từ cho mục đích phân loại văn bản mà không cần dùng đến một từ điển hay tập huấn luyện nào
Trong hướng tiếp cận này, tác giả kết hợp giữa giải thuật di truyền với
dữ liệu thống kê được trích xuất từ Internet tiến hoá một quần thể gồm các cá thể là các khả năng tách từ trong câu Hàm thích nghi sẽ đánh giá độ thích nghi của các tài liệu thống kê, rút trích từ Internet sử dụng các công cụ tìm kiếm thông minh
Online Extractor: thực hiện lấy thông tin về tần số xuất hiện của các từ
trong văn bản bằng cách sử dụng một Search Engine nổi tiếng như Google Sau
đó, tác giả sử dụng các công thức sau đây để tính toán mức độ phụ thuộc lẫn nhau (Mutual Information) để là cơ sở tính hàm phù hợp fitness cho Engine
Online Extractor
Online Extractor Online Extractor
Online Extractor
Segmentation
……
Segmentation Segmentation
Trang 14của giải thuật di truyền
- Công thức tính xác suất các từ xuất hiện trên Internet:
x count( )
(1.1)
o p(x1 & x2) = MAX
x x count ( 1& 2)
(1.2)
với MAX là số lƣợng các tài liệu tiếng Việt đã đƣợc lập chỉ mục
count(x) số lƣợng văn bản trên Internet đƣợc tìm thấy có chứa từ x hoặc
cùng chứa x1 và x2 đối với count(x1 & x2)
- Tính xác suất độ phụ thuộc của một từ lên một từ khác:
x p
x x p
n
x x
x p x
p
x x
x p
1
2 1
2 1
Engine for Text Segmentation: mỗi cá thể trong quần thể đƣợc biểu
diễn bởi chuỗi các bit 0 và 1, trong đó, mỗi bit đại diện cho một tiếng trong văn bản, mỗi nhóm bit cùng loại đại diện cho một phân đoạn (Segment) Các cá thể đƣợc khởi tạo ngẫu nhiên, trong đó, mỗi Segment đƣợc giới hạn trong khoảng
5 tiếng Engine sau đó thực hiện các toán tử lai ghép và đột biến làm tăng giá trị fitness của các cá thể nhằm đạt đƣợc cách tách từ tốt nhất có thể
Text Categorization: tác giả dùng độ hỗ trợ (Support Degree) của văn
bản cần phân loại cho các từ khoá để phân loại văn bản Công thức phân loại văn bản trong IGATEC do chính tác giả đề nghị dựa vào xác suất đồng xuất
Trang 15hiện của các từ trong văn bản với một từ khóa nhất định, cụ thể:
- Cho trước một từ khóa k, độ phụ thuộc của từ x vào k được tính theo
x k p
- Tiếp theo, độ liên quan (Relative) của một cách tách ngữ t với từ khóa k bằng tổng xác suất của tất cả các từ x xuất hiện đồng thời với k:
1
(1.6) với ki là tập các từ khóa đại diện cho chủ đề c
Theo công thức trên, tác giả cho rằng phân đoạn g = {t1, t2,…, tn} có độ
hỗ trợ vào một chủ đề càng cao thì khả năng phân đoạn đó thuộc về chủ đề này càng lớn Dựa vào các công thức, độ phụ thuộc của văn bản d được xác định theo công thức:
1
)
| ( =
)
| (
Phương pháp IGATEC có ưu điểm là:
- Không cần sử dụng bất cứ tập dữ liệu huấn luyện hoặc từ điển nào
- Tương đối đơn giản và không tốn thời gian huấn luyện
Trang 16Các chương tiếp theo sẽ đi sâu tìm hiểu giải thuật di truyền, cơ sở toán học và các cải tiến của giải thuật Trên cơ sở đó đề xuất một số cải tiến nhằm tăng hiệu quả cho thuật toán IGATEC
Trang 17Chương 2 GIẢI THUẬT DI TRUYỀN
2.1 Tổng quan về giải thuật di truyền
Giải thuật di truyền (Genetic Algorithm - GA) lần đầu được tác giả Holland giới thiệu vào năm 1962 [15, 16] Giải thuật di truyền mô phỏng theo
cơ chế của quá trình chọn lọc và di truyền trong tự nhiên [3, 4, 5, 9, 11, 13, 15,
16, 22, 25] Từ tập các lời giải có thể ban đầu, thông qua nhiều bước tiến hoá
để hình thành các tập mới với những lời giải tốt hơn, cuối cùng sẽ tìm được lời giải gần tối ưu nhất
Giải thuật di truyền sử dụng các thuật ngữ lấy từ di truyền học:
- Một tập hợp các lời giải được gọi là một lớp hay quần thể (Population)
- Mỗi lời giải biểu diễn bởi một nhiễm sắc thể hay cá thể (Chromosome)
- Nhiễm sắc thể được tạo thành từ các gen
Một quá trình tiến hoá được thực hiện trên một quần thể tương đương với sự tìm kiếm trên không gian các lời giải có thể của bài toán Quá trình tìm kiếm này luôn đòi hỏi sự cân bằng giữa hai mục tiêu: Khai thác lời giải tốt nhất
và xem xét toàn bộ không gian tìm kiếm
Giải thuật di truyền thực hiện tìm kiếm theo nhiều hướng bằng cách duy trì tập hợp các lời giải có thể và khuyến khích sự hình thành và trao đổi thông tin giữa các hướng
Tập lời giải phải trải qua nhiều bước tiến hoá, tại mỗi thế hệ, một tập mới các cá thể được tạo ra có chứa các phần của những cá thể thích nghi nhất trong thế hệ cũ Đồng thời giải thuật di truyền khai thác một cách có hiệu quả thông tin trước đó để suy xét trên điểm tìm kiếm mới với mong muốn có được
sự cải thiện qua từng thế hệ Như vậy, các đặc trưng được đánh giá tốt sẽ có cơ
Trang 18hội phát triển và các tính chất tồi (không thích nghi với môi trường) sẽ có xu hướng biến mất
Giải thuật di truyền tổng quát được mô tả như sau:
- Tập hợp các lời giải ban đầu được khởi tạo ngẫu nhiên
- Trong vòng lặp thứ t, GeneticAlgorithm xác định tập các nhiễm sắc thể
trong quần thể P(t)={x1t, x2t, …, xnt} bằng cách chọn lựa các nhiễm sắc thể thích nghi hơn từ quần thể P(t-1) Mỗi nhiễm sắc thể xit
được đánh giá để xác định độ thích nghi của nó và một số thành viên của P(t) lại được tái sản xuất nhờ các toán tử chọn lọc, lai ghép và đột biến
Khi áp dụng giải thuật di truyền để giải quyết một bài toán cụ thể, cần phải xác định rõ các vấn đề sau:
Trang 191 Chọn các cách biểu diễn di truyền nào đối với những lời giải có thể của bài toán?
2 Tạo tập lời giải ban đầu như thế nào?
3 Xác định hàm đánh giá để đánh giá mức độ thích nghi của các cá thể trong quần thể
4 Xác định các toán tử di truyền để sản sinh con cháu
5 Xác định giá trị các tham số mà giải thuật di truyền sử dụng như kích thước tập lời giải, xác suất áp dụng các toán tử di truyền…
Như vậy giải thuật di truyền là một giải thuật lặp nhằm giải quyết các bài toán tìm kiếm, nó khác với các giải thuật tối ưu thông thường ở những điểm cơ bản sau:
- Giải thuật di truyền làm việc với bộ mã của tập thông số chứ không làm việc trực tiếp với giá trị của các thông số
- Giải thuật di truyền tìm kiếm song song trên một quần thể chứ không tìm kiếm từ một điểm, mặt khác nhờ áp dụng các toán tử di truyền, nó sẽ trao đổi thông tin giữa các điểm, như vậy sẽ giảm bớt khả năng kết thúc tại một cực tiểu cục bộ mà không tìm thấy cực tiểu toàn cục
- Giải thuật di truyền chỉ sử dụng thông tin của hàm mục tiêu để đánh giá quá trình tìm kiếm chứ không đòi hỏi các thông tin bổ trợ khác
- Các luật chuyển đổi của giải thuật di truyền mang tính xác suất chứ không mang tính tiền định
Các thông số của bài toán được mã hoá thành các chuỗi Cách đơn giản nhất là chúng ta dùng chuỗi bit để mã hoá các thông số của bài toán Mỗi thông
số được mã hoá bằng một chuỗi bit có độ dài nào đó, sau đó nối chúng lại với nhau, ta sẽ có một chuỗi mã hoá cho tập các thông số Để tính toán giá trị hàm mục tiêu tương ứng với mỗi chuỗi thông số, ta phải giải mã bộ thông số này theo một quy tắc nào đó Giải thuật di truyền tìm kiếm song song trên một tập
Trang 20các chuỗi, do đó giảm thiểu được khả năng bỏ qua các cực trị toàn cục và dừng lại ở cực trị địa phương Điều này giải thích vì sao giải thuật di truyền mang tính toàn cục
Hiện nay giải thuật di truyền được áp dụng ngày càng nhiều trong kinh doanh, khoa học và kỹ thuật vì tính chất không quá phức tạp mà hiệu quả của
nó Hơn nữa, giải thuật di truyền không đòi hỏi khắt khe đối với không gian tìm kiếm như giả định về sự liên tục, sự có đạo hàm Bằng lý thuyết và thực nghiệm, giải thuật di truyền đã được chứng minh là giải thuật tìm kiếm toàn cục mạnh trong các không gian lời giải phức tạp
2.2 Một số cách biểu diễn lời giải của giải thuật di truyền
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 giải thuật di truyền 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ể
Giải thuật di truyền 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 [16] 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
đó, giải thuật di truyền 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ự, theo giá trị thực, bằng cấu trúc cây, ma trận [5]… Phần tiếp theo sẽ trình bầy tổng quan về các cách biểu diễn đó
2.2.1 Biểu diễn nhị phân
Trong biểu diễn nhị phân (Binary Encoding), 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
Trang 21NST 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ô trên 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:
b L U
(Ub, Lb là cận trên và cận dưới của miền giá trị và n là
số lượng bit của nhiễm sắc thể)
Các biểu diễn nhị phân có nhước điểm:
- Độ chính xác không cao, muốn tăng độ chính xác phải tăng số lượng bit biểu diễn (điều này sẽ làm chậm thuật toán)
- Mất tính chính xác khi tăng kích cớ miền giá trị (vì chiều dài nhị phân cho trước là cố định)
2.2.2 Biểu diễn hoán vị
Biểu diễn hoán vị (Permutation Encoding) được 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”
Trang 22Với cách biểu diễn hoán vị, cách sắp xếp của các gen 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.3 Biểu diễn giá trị
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.4 Biểu diễn dạng cây
Cách biểu diễn lời giải dùng cấu trúc cây (Tree Encoding) được dùng chủ yếu trong các chương trình tiến hoá, biểu diễn biểu thức hay các chương trình di truyền Với cách biểu diễn này, mỗi cá thể là một cây các đối tượng
2.3 Các toán tử di truyền
Các cá thể trong giải thuật di truyền là các chuỗi bit được tạo bởi việc cắt dán các chuỗi bit con Mỗi chuỗi bit đại diện cho một tập thông số trong không gian tìm kiếm, nên được coi là lời giải tiềm năng của bài toán tối ưu Từ mỗi
Trang 23chuỗi bit ta giải mã để tính lại tập thống số, sau đó tính được giá trị hàm mục tiêu Từ đó, giá trị hàm mục tiêu được biến đổi thành giá trị do độ phù hợp của từng chuỗi
Quần thể chuỗi ban đầu được khởi tạo ngẫu nhiên, sau đó tiến hoá từ thế
hệ này sang thế hệ khác bằng các toán tử di truyền (tổng số chuỗi trong mỗi quần thể là không thay đổi) [3, 4, 5, 19, 24, 25] Có ba toán tử di truyền đơn giản là:
- Chọn lọc (Selection)
- Lai ghép (Crossover)
- Đột biến (Mutation)
2.3.1 Đánh giá độ thích nghi của cá thể và toán tử chọn lọc
Mỗi bài toán trong thực tế có các điều kiện ràng buộc khác nhau đối với lời giải Quá trình tìm kiếm lời giải đối với giải thuật di truyền chính là quá trình tiến hoá trong đó tại mỗi bước cần phải lựa chọn các cá thể thích nghi hơn
để tái sản xuất ở thế hệ sau bằng phép chọn lọc
Để đánh giá các lời giải, người ta xây dựng hàm thích nghi Fitness() Chọn lọc là quá trình sao chép các chuỗi (các cá thể) từ thế hệ trước sang thế
hệ sau theo giá trị hàm thích nghi (còn gọi là hàm mục tiêu)
Coi giá trị của hàm là số đo độ phù hợp, giải thuật di truyền sử dụng giá trị hàm thích nghi để quyết định số con của một chuỗi: Những chuỗi với giá trị hàm thích nghi lớn sẽ có xác suất lớn trong việc đóng góp một hay nhiều con cháu trong thế hệ tiếp theo
Toán tử này mô phỏng theo học thuyết sinh tồn của Darwin, chỉ có các
cá thể khoẻ mới có cơ hội sống sót và đóng góp vào việc tái sinh con cháu trong các thế hệ sau
Hàm thích nghi được xây dựng như sau:
Trang 24- Xét lớp lời giải P có n cá thể, với mỗi cá thể hi thuộc P, tính độ thích nghi Fitness(hi)
- Xác suất chọn cá thể hi để tái sản xuất được xác định bởi công thức sau: Pr(hi) =
h Fitness
1 ( )
) (
- Tại mỗi bước tiến hoá, các cá thể được chọn tái sinh là các cá thể có xác suất Pr() cao, điều này cho phép tạo ra các thế hệ sau có độ thích nghi tốt hơn thế hệ trước
Fitness() còn được dùng để xác định điểm dừng của quá trình tìm kiếm lời giải khi đã đạt được độ thích nghi chấp nhận được
Có nhiều cách để chọn lựa cá thể khoẻ, tuy nhiên cần phải thận trọng trong thuật toán chọn lựa sao cho đảm bảo các chuỗi khoẻ nhất có đóng góp nhiều con trong quần thể, còn các chuỗi yếu vẫn có khả năng đóng góp vào quần thể theo một xác suất nào đó Điều này làm hạn chế khả năng các cá thể siêu khoẻ sẽ nhanh chóng chiếm toàn bộ quần thể và thuật toán sẽ dừng rất nhanh vì toàn bộ quần thể chỉ gồm một vài nhóm các chuỗi giống nhau Trong trường hợp đó, kết quả tìm được có nhiều khả năng chỉ là các giá trị cực trị địa phương
Một trong các cách đơn giản và hiệu quả để thực hiện toán tử chọn lọc là
sử dụng vòng tròn Rulet Trong vòng tròn Rulet, mỗi cá thể sẽ chiếm một vùng
có diện tích tỷ lệ với độ thích nghi của chúng Diện tích của cả vòng tròn tương ứng với 100% tổng mức thích nghi của toàn quần thể Việc thực hiện lựa chọn chuỗi con trong tái tạo được thực hiện như sau:
- Đánh số các cá thể trong quần thể, tính tổng độ thích nghi sumfitness của toàn quần thể đồng thời ứng với mỗi cá thể, tính một tổng chạy bằng tổng
độ thích nghi của cá thể đó và các cá thể đứng trước đó
Trang 25- Sinh một số ngẫu nhiên n trong khoảng từ 0 đến tổng mức thích nghi sumfitness
Cá thể đầu tiên trong quần thể có tổng chạy lớn hơn hoặc bằng n sẽ được chọn cho thế hệ tiếp theo
Ví dụ: Trong bảng 2.1, sinh số ngẫu nhiên n = 175 thì chuỗi thứ 3 là chuỗi được chọn cho quá trình tái sinh
Tuy nhiên mỗi thế hệ tiến hoá còn phải có thêm các toán tử lai ghép và đột biến nữa thì mới thực sự hoàn thành
2.3.2 Toán tử lai ghép
Các cá thể trong quần thể sau khi đã chọn lọc được lai ghép với nhau Toán tử lai ghép được coi là toán tử di truyền quan trọng nhất, nó kết hợp các đặc trưng của các cá thể bố mẹ để tạo ra hai cá thể con bằng cách tráo đổi các đoạn gen tương ứng trên hai cá thể cha mẹ
Phép lai ghép chọn ngẫu nhiên hai chuỗi bất kì trong quần thể sau khi đã thực hiện chọn lọc, đồng thời sinh một số ngẫu nhiên, nếu nhỏ hơn xác suất lai
Trang 26ghép pc thì thực hiện lai ghép, ngược lại thì chỉ thực hiện sao chép đơn giản hai chuỗi vào quần thể mới Phép lai ghép hai chuỗi thực hiện tráo đổi hai đoạn mã cho nhau, rồi đưa hai chuỗi kết quả vào một quần thể mới
Chú ý rằng lực lượng của quần thể là không thay đổi, do đó ở mỗi thế hệ tiến hoá, chỉ tiến hành lai ghép cho tới khi nào quần thể mới có đủ số chuỗi thì dừng Vị trí tráo đổi khi lai ghép được chọn ngẫu nhiên trong khoảng [1, l-1], với l là độ dài chuỗi
Ví dụ: Giả sử chúng ta có hai chuỗi bố mẹ là:
Toán tử đột biến sẽ thay đổi ngẫu nhiên một bit thông tin của một chuỗi với xác suất đột biến pm Xác suất đột biến thể hiện mức độ thường xuyên được thực hiện của toán tử đột biến, Tuy nhiên, xác suất đột biến phải đủ nhỏ vì thực
tế toán tử đột biến là toán tử tìm kiếm ngẫu nhiên
Với phương pháp mã hoá chuỗi bit, một bit thông tin A nếu bị đột biến được biến đổi bằng công thức đơn giản: A‟ = 1 - A
Ba toán tử chọn lọc, lai ghép và đột biến tiến hành lặp đi lặp lại cho đến khi các chuỗi con chiếm toàn bộ quần thể mới Quần thể mới sẽ bao gồm các
Trang 27cá thể của ba loại: Lai ghép nhƣng không đột biến, bị đột biến sau khi lai ghép
và không lai ghép cũng không đột biến mà chỉ đơn thuần là sao chép lại
Nhƣ vậy, trong một giải thuật di truyền đơn giản, chúng ta cần xác định các thông số sau:
- Số cá thể trong quần thể n
- Xác suất lai ghép pc và xác suất đột biến pm
- Độ gối của các quần thể G
Ba thông số đầu rất dễ hiểu và đã đƣợc nhắc tới trong các phần trên Còn
độ gối G đƣợc De Jong đƣa vào năm 1975, ý nghĩa của nó là cho phép quần thể mới chứa một phần của quần thể cũ: Với G = 1, tất cả các cá thể mới đều đƣợc sinh ra bởi các toán tử của giải thuật di truyền, với 0 < G < 1, sẽ có G*n cá thể đƣợc đƣa trực tiếp từ quần thể cũ sang quần thể mới
Ví dụ đơn giản sau sẽ cho thấy đƣợc sự hoạt động của giải thuật di truyền cũng nhƣ tác dụng của chúng:
Giả sử cần tìm giá trị cực đại của hàm số f(x) = x2, với x [0, 31]
Ta mã hoá biến x thành chuỗi có độ dài 5 bit Nhƣ vậy, số 7 sẽ đƣợc mã thành chuỗi „00111‟ Hàm thích nghi của các chuỗi đƣợc tính bằng f(x) Với các giá trị thông số: n = 4, pm = 0.01; G = 1 và quần thể ban đầu đƣợc khởi tạo một cách ngẫu nhiên Bảng 2.2 và 2.3 mô tả quá trình chọn lọc, lai ghép và đột biến trong một thế hệ:
Trang 282.4 Cơ sở toán học của giải thuật di truyền
Nền tảng lý thuyết của giải thuật di truyền dựa trên biểu diễn chuỗi nhị phân và lý thuyết sơ đồ [5]
Trang 292.4.1 Một số khái niệm
Sơ đồ: Là một chuỗi, dài bằng chuỗi nhiễm sắc thể, các thành phần của
nó có thể nhận một trong các giá trị nằm trong tập kỹ tự biểu diễn gen hoặc một ký tự đại diện “*”
Sơ đồ biểu diễn không gian con của không gian tìm kiếm Không gian con này là tập tất cả các chuỗi trong không gian lời giải mà với mọi vị trí trong chuỗi, giái trị của gen trùng với giá trị của sơ đồ Ký tự đại diện “*” có thể trùng khớp với bất kỳ ký tự biểu diễn chuỗi gen nào
Mỗi một sơ đồ cụ thể có tương ứng 2r
chuỗi (r là số ký tự đại diện “*” có trong sơ đồ) Mắt khác, một chuỗi chiều dài m sẽ khớp với 2m
Trang 30Trong một quần thể có kích thước n, có thể có tương ứng từ 2m
đến n*2m
sơ đồ khác nhau Các sơ đồ khác nhau có đặc trưng khác nhau, các đặc trưng
này thể hiện qua hai thuộc tính quan trọng: bậc và độ dài sơ đồ
Bậc của sơ đồ H, kí hiệu là o(H), là số các vị trí cố định (0 và 1) có
trong sơ đồ Nói cách khác bậc là chiều dài của chuỗi trừ đi số ký tự đại diện
có bậc tương ứng là o(H1) = 6; o(H2) = 3; o(H3) = 8
Khái niệm bậc của sơ đồ giúp cho việc tính xác suất sống còn của sơ đồ
do ảnh hưởng của đột biến
Độ dài của sơ đồ, kí hiệu (H), là khoảng cách giữa vị trí cố định đầu tiên và vị trí cố định cuối cùng trong sơ đồ Độ dài của sơ đồ định nghĩa độ nén của thông tin chứa trong một sơ đồ
Một sơ đồ chỉ có một vị trí cố định duy nhất thì sẽ có chiều dài xác định
là 0 Khái niệm độ dài của sơ đồ giúp tính xác suất sống còn của sơ đồ do ảnh
hưởng của phép lai ghép
Trang 312.4.2 Định lý sơ đồ
Số chuỗi của mỗi sơ đồ thường bị ảnh hưởng ít nhiều trong các toán tử chọn lọc, lai ghép và đột biến, tuỳ thuộc vào giá trị thích nghi trung bình của các cá thể trong sơ đồ
Đối với toán tử chọn lọc, gọi m = m(H,t) là tần số chuỗi của sơ đồ H tại
thời điểm t Gọi fi là giá trị thích nghi của chuỗi Ai ta sẽ có pi =
n
i j
- f(H) là giá trị thích nghi trung bình của các cá thể thuộc sơ đồ H
Thay giá trị thích nghi trung bình của toàn quần thể i
th
ff
Đối với toán tử lai ghép, các sơ đồ có độ dài càng lớn thì càng dễ bị phá
vỡ Giả sử các chuỗi có độ dài l thì xác suất sơ đồ bị phá huỷ sẽ là:
d
(H)p
1 l
Trang 32Điều này rất dễ hiểu bởi vì tất cả các vị trí lai ghép nằm giữa các điểm cố định đều làm cho sơ đồ bị phá vỡ
Vậy xác suất tồn tại của một sơ đồ sẽ là:
*1
1
) (
* 1
Trang 33Định lý sơ đồ: Công thức (2.10) cho thấy, các sơ đồ bậc thấp, có độ dài
ngắn và có giá trị thích nghi trung bình lớn hơn giá trị thích nghi trung bình của toàn quần thể sẽ có số chuỗi tăng trong các thế hệ tiếp theo
2.5 Những cải tiến của giải thuật di truyền
Giải thuật di truyền được xem như một phương pháp tìm kiếm có bước chuyển ngẫu nhiên mang tính tổng quát để giải bài toán tối ưu hóa Tuy nhiên, giải thuật di truyền gặp khó khăn về sự hội tụ [9]
Đã có những nghiên cứu nhằm xử lý sơ đồ tốt hơn, tăng sự hội tụ Dựa trên những toán tử di truyền đơn giản, các sơ đồ lựa chọn, các toán tử cao cấp
đã được đưa vào nhằm cải tiến hoạt động của giải thuật di truyền trong những bài toán phức tạp
2.5.1 Các toán tử cao cấp
Toán tử cao cấp được chia thành hai loại: Toán tử vi mô và toán tử vĩ
mô Toán tử vi mô chỉ tác động đến từng gen của các cá thể, còn các toán tử vĩ
mô thì tác động đến toàn quần thể
2.5.1.1 Toán tử vi mô:
Toán tử lai ghép nhiều điểm:
Mở rộng của lai ghép một điểm là lai ghép nhiều điểm, trong đó nhiều vị trí lai ghép Nc được chọn ngẫu nhiên với xác suất đều dọc theo chiều dài của chuỗi gen (số vị trí lai ghép Nc lớn hơn một) Hai chuỗi lai ghép với nhau không chỉ trao đổi một đoạn mã mà trao đổi Nc đoạn mã cho nhau
Ví dụ: Giả sử có hai bố mẹ là:
A1 = 1 0 | 0 1 | 1 1 | 0 1 0 | 1
A2 = 0 1 | 0 0 | 1 1 | 1 1 1 | 0
Trang 34với vị trí lai ghép là 2, 4, 6 và 9 thì hai cá thể con:
A‟1 = 1 0 0 0 1 1 1 1 1 1
A‟2 = 0 1 0 1 1 1 0 1 0 1
Lưu ý, do lai nhiều điểm phải xem kẽ các đoạn (có được sau khi cắt một nhiễm sắc thể thành Nc đoạn) giữa hai bố mẹ nên số đoạn phải chẵn Nói cách khác, lai nhiều điểm không phải là mở rộng tự nhiên của lai một điểm
Một bước tổng quát hoá xa hơn của lai một điểm và nhiều điểm là lai đồng nhất: đối với mỗi bit trong con đầu tiên, nó quyết định (với một xác suất p nào đó) bố mẹ nào sẽ đóng góp giá trị của nó vào vị trí đó Con thứ hai sẽ nhận bit từ bố mẹ khác Do lai đồng nhất trao đổi các bit chứ không phải các đoạn,
nó có thể kết hợp các tính năng với nhau bất chấp vị trí tương đối của chúng Đối với nhiều bài toán, khả năng này quan trọng hơn những bất lợi của việc phá huỷ các khối kiến trúc gây ra
Toán tử lai ghép tuyến tính:
Lai ghép tuyến tính chỉ áp dụng cho sơ đồ mã hóa số thực Lai ghép tuyến tính được định nghĩa là tổ hợp tuyến tính của hai vectơ X1 và X2 sinh ra con sẽ là:
Trị số a được phát sinh ngẫu nhiên là 0.4
Thành phần gen đầu tiên của cá thể con là:
C1 = 0.4*8 + (1 - 0.4) * 124 = 77.6
Trang 35C2 = 0.4*8 + (1 - 0.4) * 16 = 19.2
C3 = 0.4*8 + (1 - 0.4) * 32 = 39.2
Vậy kiểu gen của cá thể con là C là: C: 77.6 19.2 39.2
Lai ghép tuyến tính tạo ra các cá thể thế hệ con cháu nằm trên đoạn thẳng nối giữa cha và mẹ của chúng
Toán tử lai ghép Heuristic:
Giả sử cá thể bố mẹ thứ hai X2 có độ phù hợp không nhỏ hơn độ phù hợp của cá thể bố mẹ thứ nhất X1 Cá thể con được xác định là:
được tạo Nếu sau w lần thử mà không tìm được lời giải mới nào thoả mãn các
ràng buộc, toán tử này sẽ bỏ cuộc và sẽ không tạo ra con nào
Toán tử lai ghép tuyến tính mở rộng:
Xuất phát từ thực tế lai ghép tuyến tính hoạt động khá tốt với sơ đồ mã hoá số thực Tuy nhiên, việc bó hẹp vùng sản sinh các cá thể con nằm trong khoảng giữa hai cá thể bố mẹ hay chỉ mở rộng về một phía như lai ghép heuristic là không đủ Ngoài ra, trong trường hợp không gian tìm kiếm có thể phân tách được, nếu thực hiện lai ghép tuyến tính trên các không gian phân tách sẽ tốt hơn Trong [3] cũng đề xuất thêm một phép lai ghép mới hoạt động trên sơ đồ mã hóa số thực đó là lai ghép tuyến tính mở rộng