Tải bản đầy đủ (.pdf) (41 trang)

Tối ưu hóa theo thuật toán di truyền

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.05 MB, 41 trang )

Tối ưu hóa theo thuật toán di truyền

GVHD : PhD Nguyễn Hoàng Dũng

1




Lời cảm ơn
Em xin chân thành cảm ơn thầy Nguyễn Hoàng Dũng đã giúp em hoàn thành đồ án
này. Trong quá trình thực hiện, em đã gặp không ít khó khăn. Nếu không có sự giúp
đỡ tận tình của thầy và các bạn thì có lẽ em khó có thể hoàn thành tốt đồ án này.
Trên con đường ghóp nhặt những kiến thức quý báu, các thầy cô và các bạn lớp thực
phẩm HC03TP là những người đã cùng em sát cánh bên nhau. Em xin chân thành
cảm ơn tất cả.




















Tối ưu hóa theo thuật tốn di truyền

GVHD : PhD Nguyễn Hồng Dũng

2

BỘ GIÁO DỤC VÀ ĐÀO TẠO CỘNG HOÀ XÃ HỘI CHỦ NGHĨA VIỆT NAM
TRƯỜNG ĐẠI HỌC BÁCH KHOA
Độc lập –Tự do-Hạnh Phúc
Thành phố Hồ Chí Minh
Khoa: Hoá
Bộ môn :Công nghệ thực phẩm
ĐỒ ÁN
MÔN HỌC :“DAMH CÔNG NGHỆ THỰC PHẨM” MÃ SỐ: 603136
Họ và tên sinh viên: Nguyễn Hữu Chính
MSSV: 60300289
Lớp :HCO3TP01
Ngành:Thực phẩm
1.Đầu đề đồ án :Tổng quan tài liệu về tối ưu hóa theo thuật tốn di truyền
2.Nhiệm vụ :
• Tổng quan về lý thuyết
• Phần mềm sử dụng
• Thiết kế thực nghiệm
3.Ngày giao đồ án :6/2/2007
4.Ngày hoàn thành đồ án : 27/6/2007
5.Ngày bảo vệ hay chấm: 28/6/2007

CHỦ NHIỆM BỘ MÔN Ngày tháng năm
(Ký và ghi rõ họ tên ) (Ký và ghi rõ họ tên)




Tối ưu hóa theo thuật tốn di truyền

GVHD : PhD Nguyễn Hồng Dũng

3


NHẬN XÉT ĐỒ ÁN

Cán bộ hướng dẫn .Nhận xét: ________________________________________
________________ ________________________________________________
________________ ________________________________________________
________________ ________________________________________________
________________ ________________________________________________

Điểm: __________ Chữ ký: ___________________

Cán bộ chấm hay Hội đồng bảo vệ.Nhận xét : __________________________
________________ ________________________________________________
________________ ________________________________________________
________________ ________________________________________________
________________ ________________________________________________

Điểm : __________ Chữ ký: ___________________







Tối ưu hóa theo thuật toán di truyền

GVHD : PhD Nguyễn Hoàng Dũng

4

Danh mục các hình
Hình 1 : Nguyên lý của phương pháp leo đồi……………………………………….10

Hình 2 : Đồ thị của hàm (1)…………………………………………………………11
Hình 3: Thuật toán di truyền………………………………………………………...13

Hình 4 : Mã nhị phân………………………………………………………………..14

Hình 5: Mã số thực………………………………………………………………….15

Hình 6: Mã dạng cây………………………………………….…………………….16

Hình 7:Mã hoán vị ………………………………………………………………….16

Hình 8 : Roulette wheel……………………………………………………………..17

Hình 9: Situation before ranking (graph of fitnesses) ………………………………18


Hình 10: Situation after ranking (graph of order numbers) ………………………...18

Hình 11 : Lai một vị trí đối với mã nhị phân………………………………………..20

Hình 12: Lai một vị trí đối với mã số thực………………………………………….20

Hình 13 : Lai một vị trí đối với mã dạng cây………………………………………..21

Hình 14: Lai hai vị trí……………………………………………………………….21
.
Hình 15: Lai hai vị trí đối với mã số thực…………………………………………...21

Hình 16: Lai đều…………………………………………………………………….22

Hình 17: Lai số học…………………………………………………………………22

Hình 18: Đột biến …………………………………………………………………..23

Hình 19: Đột biến nhẹ………………………………………………………………23

Hình 20: Phần mềm Matlab…………………………………………………………26

Hình 21 : Gatool…………………………………………………………………….27

Hình 22: Phần mềm Design-Expert 7.1.2 ………………………………………….30

Hình 23:Kết quả thu được lần 1 khi chạy mục tiêu 1 ………………………………34

Hình 24: Kết quả thu được lần 1 khi chạy mục tiêu 2………………………………35


Hình 25: Kết quả thu được lần 1 khi chạy mục tiêu 3 ……………………………...35

Tối ưu hóa theo thuật toán di truyền

GVHD : PhD Nguyễn Hoàng Dũng

5

Hình 26: Pareto front………………………………………………………………. 37



Mục lục
1.
TỔNG QUAN VỀ TỐI ƯU HÓA………………………………………………..7
1.1.KHÁI QUÁT……………………………………………………………………..7
1.2.PHÂN LOẠI……………………………………………………………………...7
1.3. TỐI ƯU HÓA CỤC BỘ VÀ TỐI ƯU HÓA TOÀN CỤC………………………8
1.3.1 Phương pháp truyền thống……………………………………………………...8
1.3.2 Phương pháp leo đồi……………………………………………………………9

2.THUẬT TOÁN DI TRUYỀN……………………………………………..…….12
2.1.LÝ THUYẾT……………………………………………………………...……12
2.1.1KHỞI TẠO QUẦN THỂ BAN ðẦU …………………………..……………13
2.1.2.MÃ HÓA……………………………………………………………………...14
2.1.2.1.Mã nhị phân ………………………………………………………………...14
2.1.2.2 .Mã số thực………………………………………………………………….15
2.1.2.3.Mã dạng cây ………………………………………………………………...16
2.1.3.LỰA CHỌN ………………………………………………………………16
2.1.3.1.Roulette selection……………………………………………………………17

2.1.3.2.Rank selection……………………………………………………………….18
2.1.3.3Elitism………………………………………………………………………..19
2.1.4.PHÉP LAI ……………………………...…………………………………….19
Tối ưu hóa theo thuật toán di truyền

GVHD : PhD Nguyễn Hoàng Dũng

6

2.1.4.1.Lai một vị trí………………………………………………………………...19
2.1.4.2.Lai hai vị trí …………………………………………………………………20
2.1.4.3. Lai đều ……………………………………………………………………..21
2.1.4.4.Lai số học …………………………………………………………………...22
2.1.5.ðỘT BIẾN ……………………...……………………………………………22
2.1.5.1.Đột biến nhẹ………………………………………………………………... 23
2.1.5.2.Đột biến biên ………………………………………………………………..24
2.1.5.3.Đột biến đồng dạng …………………………………………………………24
2.2PHẦN MỀM ÁP DỤNG………………………………………………………..24
2.3.ỨNG DỤNG……………………………………………………………………27
3.THIẾT KẾ THỰC NGHIỆM…………………………………………………...28
3.1.BÀI TOÁN……………………………………………………………………...28
3.2.CHẠY CHƯƠNG TRÌNH………………………………………………………35
4..KẾT LUẬN………………………………………………………………………37
5.TÀI LIỆU THAM KHẢO……………………………………………………….37
PHỤ LỤC










Tối ưu hóa theo thuật toán di truyền

GVHD : PhD Nguyễn Hoàng Dũng

7

1.
TỔNG QUAN VỀ TỐI ƯU HÓA.

1.1.KHÁI QUÁT
Tối ưu hóa (optimization) là quá trình tìm cực trị một đại lượng nào đó của đối tượng
thiết kế dưới dạng hàm số và phải thỏa mãn các ràng buộc của bài toán.
Cho nên người ta hiểu lời giải tối ưu hay một bản thiết kế tối ưu là lời giải tốt nhất
hay bản thiêt kế hay nhất. Trong kỹ thuật, người ta dùng nhiều phương pháp tối ưu
hóa khác nhau để tìm lời giải hay nhất.
Theo cách nhìn hiện đại, lý thuyết tối ưu hóa bao gồm tập hợp các kết quả của toán
học cơ sở kết hợp với các phương pháp số dùng để tìm phương án tốt nhất từ tập hợp
phương án theo một thuật giải nhất định. Hầu hết các bài toán kỹ thuật đều có nhiều
biến cho nên việc tính toán để tối ưu hóa rất phức tạp đòi hỏi rất nhiều thời gian và
trong nhiều trường hợp không thể giải được bằng phương pháp số thông thường mà
thiếu đi sự hỗ trợ của máy tính.
Lý thuyết tối ưu hóa được phát triển mạnh do sự xuất hiện của máy tính với tốc độ
xử lý nhanh, đảm bảo thực hiện các phương pháp số khác nhau để tối ưu hóa. Hầu
hết các phương pháp tối ưu thực chất là bất biến và có thể giải nhiều thiết kế khác
nhau. Hiện nay đã có hàng chục phương pháp số tối ưu hóa, thể hiện dưới dạng thuật
toán tiêu chuẩn được xây dựng và ngày càng hoàn thiện. Cho nên nhiệm vụ của

người thiết kế là chọn phương pháp và tập hợp chương trình sao cho đúng và hợp lý.
1.2.PHÂN LOẠI
Các phương pháp tối ưu hóa được phân ra thành nhiều nhóm mà mỗi nhóm lại có
phương pháp khác nhau. Chúng có thể được chia thành các nhóm sau đây:
• Phương pháp tối ưu hóa bằng thống kê
• Phương pháp tối ưu bằng quy hoạch toán học
• Phương pháp tối ưu hóa liên tục
• Phương pháp tối ưu hóa gián đoạn
• Phương pháp tối ưu hóa không có ràng buộc
 Phương pháp tối ưu hóa thống kê được kể đến là phương pháp lý thuyết trò
chơi và phương pháp qui hoạch thực nghiệm.
 Phương pháp tối ưu hóa bằng quy hoạch toán học được chia thành hai nhóm
nhỏ. Phương pháp thứ nhất là phương pháp phân tích bao gồm những phương
pháp phân tích vi phân, phương pháp phân tích biến phân, nguyên tắc max
min..nhóm thứ hai là những phương pháp phân tích số bao gồm phương pháp
qui hoạch tuyến tính, phương pháp qui hoạch phi tuyến, phương pháp qui
hoạch động, phương pháp qui hoạch ngẫu nhiên…
Tối ưu hóa theo thuật toán di truyền

GVHD : PhD Nguyễn Hoàng Dũng

8

Trong quy hoạch tuyến tính thông dụng nhất là phương pháp đơn hình và
phương pháp đơn hình cải biên. Trong quy hoạch phi tuyến có thể kể tới là
phương pháp quy hoạch lồi, phương pháp quy hoạch bình phương….
 Các phương pháp tối ưu hóa liên tục được phân lọa theo dấu hiệu như: sự tồn
tại của ràng buộc kỹ thuật, dạng cực trị, đặc tính của phương pháp giải
o Theo dạng của hàm mục tiêu, phương pháp tối ưu hóa liên tục được
chia ra: phương pháp tuyến tính, phương pháp lồi, phương pháp bậc

hai và phương pháp phi tuyến.
o Theo sự tồn tại của ràng buộc kỹ thuật phương pháp tối ưu hóa liên tục
được chia ra: không có ràng buộc kỹ thuật và có ràng buộc kỹ thuật.
Lọai không có ràng buộc kỹ thuật có thể giải bằng phương pháp bậc
không, bậc nhất và bậc hai. Loại có ràng buộc kỹ thuật có thể giải bằng
phương pháp hàm phạt và hàm chắn.
o Theo dạng cực trị các phương pháp tối ưu hóa chia hai loại : tối ưu hóa
cục bộ và tối ưu hóa toàn bộ.
o Theo phương pháp xác định đạo hàm thì có hai phương pháp : phương
pháp phân tích và phương pháp số. Nếu theo đạo hàm thì chia làm ba
loại : bậc không, bậc nhất và bậc hai.
 Phương pháp tối ưu hóa gián đoạn dùng trong trường hợp biên số và hàm mục
tiêu thay đổi một cách gián đoạn. Các phương pháp này áp dụng rất hiệu quả
để giải các bài toán đặc trưng như bài toán vận tải, bài toán tối ưu hóa số
nguyên hoặc bài toán dạng tổ hợp.
 Phương pháp tối ưu hóa gián đoạn có thể kể đến như : phương pháp cắt đứt,
phương pháp nhánh cây, phương pháp cộng được, phân tích quy hoạch động
và phương pháp tìm kiếm ngẫu nhiên.
 Các phương pháp tối ưu hóa cục bộ không có ràng buộc kỹ thuật tùy theo bậc
đạo hàm sẽ được phân ra bậc không, bậc nhất và bậc hai.
• Phương pháp bậc hai nổi tiếng là phương pháp Newton.
• Phương pháp bậc nhất có mấy phương pháp chính như
phương pháp gradient, phương pháp dốc đứng, phương
pháp metric thay đổi. Loại bậc không một biến bao gồm:
phương pháp chia đôi, phương pháp mặt cắt vàng,
phương pháp Phibônasi, phương pháp nội suy bậc hai….
Tối ưu hóa theo thuật toán di truyền

GVHD : PhD Nguyễn Hoàng Dũng


9

 Còn loại bậc không nhiều biến có thể kể đến phương pháp tọa
độ, phương pháp Rosenbrock, phương pháp Hook-Jeeves,
phương pháp tìm kiếm ngẫu nhiên, phương pháp đơn hình Neld-
Mead, phương pháp Powell… nhất có mấy phương pháp chính
như phương pháp gradien,ược, phân tích quy hoạch động và
phương pháp tìm kiếm ngẫu nhiên.
1.3. TỐI ƯU HÓA CỤC BỘ VÀ TỐI ƯU HÓA TOÀN CỤC
1.3.1 Phương pháp truyền thống
Phương pháp truyền thống hay còn gọi là phương pháp tối ưu hóa tiêu chuẩn
(standard algorithms). Đa số là các phương pháp tối ưu hóa cục bộ. Xem xét sơ qua
một vài phương pháp:
 Phương pháp liệt kê:
Duyệt tất cả các điểm nằm trong vùng khảo sát để tìm ra điểm cực trị của nó. Phương
pháp này không thích hợp khi dữ liệu đầu quá lớn lớn tức là không gian tìm kiếm quá
lớn.
 Phương pháp giải tích:
Một số phương pháp dạng này như phương pháp steepest descent, phương pháp
Quasi-Newton, phương pháp Gauss-Newton, phương pháp Levenberg-Marquardt …
Tìm điểm cực trị bằng cách giải tập các phương trình khi cho Gradient bằng 0. Để
xét được Gradient phải tính đạo hàm của hàm số. Điều này không giải quyết được
trong trường hợp hàm số không liên tục hoặc không có đạo hàm. Đối với bài toán có
điểm yên ngựa thì phương pháp này không còn hiệu quả nữa.
1.3.2 Phương pháp leo đồi
Đây là phương pháp nổi tiếng, mở đầu cho việc giải bài toán tối ưu hóa toàn cục.
Hầu hết các phương pháp và các thuật toán để giả bài toán tối ưu hóa toàn cục sau
này đều dựa trên phương pháp này.
Ta tưởng tượng rằng không gian tìm kiếm là một vùng đất gập ghềnh (landscape) với
nhiều ngọn đồi cao thấp khác nhau. Trong đó, ngọn đồi cao nhất sẽ có lời giải tốt

nhất và vị trí có ngọn đồi cao nhất sẽ càng gần với lời giải tốt nhất. Tìm kiếm leo đồi
có nghĩa là chúng ta phải phát sinh lời giải sao cho càng về sau các lời giải càng tiến
đến gần lời giải tốt nhất. Thao tác này cũng giống như thao tác leo đồi vậy.

Tối ưu hóa theo thuật toán di truyền

GVHD : PhD Nguyễn Hoàng Dũng

10


Hình 1 : Nguyên lý của phương pháp leo đồi
Tìm kiếm leo đồi bắt đầu bằng cách chọn vị trí bắt đầu trong không gian tìm kiếm (
hình 1). Sau đó quyết định xem hướng leo lên nhanh nhất, đánh giá lại hướng leo lên
(xem thử chỗ nào ít dốc hơn để leo lên nhanh hơn). Tiếp tục cho đến khi tìm được
một vị trí trong không gian lời giải mà tất cả những điểm xung quanh đều nằm ở
dưới.
Tối ưu hóa theo thuật toán di truyền

GVHD : PhD Nguyễn Hoàng Dũng

11

Kiểu giải quyết này gặp vấn đề cơ bản là vùng đất chúng ta có nhiều ngọn đồi nhỏ
bên cạnh thì có khả năng chúng ta bị kẹt ở những ngọn đồi nhỏ. Và như vậy, chúng
ta chỉ tìm được cực đại cục bộ mà thôi.
Hầu hết các phương pháp tối ưu khác đều hoạt động dựa theo cách này và chỉ khác
nhau đơn giản ở chỗ anh ta quyết định hướng leo lên như thế nào, chọn một bước để
tiến lên tiếp tục là bao nhiêu và có nên sử dụng những thông tin đã được tích lũy
trước đó không.

Xem xét bài toán sau:




 












(1)


  

 


  

  ;   
Cực đại toàn cục 




= 1 khi  = (0.5, 0.5)
Thật không may, cuộc sống không may mắn như vậy. chúng ta hãy xem hình 2.

Hình 2 : Đồ thị của hàm (1)
Điểm cực đại là một đỉnh trung tâm nhỏ được chỉ bởi mũi tên, xung quanh nó là
những vòng tròn đồng tâm cực đại thứ hai. Cách duy nhất mà người leo đồi có thể
tìm thấy cực đại thực sự nếu như anh lính nhảy dù rớt xuống một nơi nào đó trên
vùng dốc của cực đại trung tâm mà thôi. Việc leo đồi từ các vùng khác chỉ dẫn anh ta
tới những cực đại thứ hai của những vòng tròn đồng tâm khác. Điểm trung tân này
chỉ chiếm khoảng 1% trong toàn bộ không gian tìm kiếm ( 0   ).
Tối ưu hóa theo thuật toán di truyền

GVHD : PhD Nguyễn Hoàng Dũng

12

Với khả năng xảy ra cực đại toàn cục là 1%, bạn phải chạy chương trình tìm liếm leo
đồi trung bình là 100 lần trước khi tìm ra cực đại trung tâm. Khi phải đối mặt với bài
toán tối ưu hóa với không gian tìm kiếm lớn hoặc điểm cực đại nằm ở một phần rất
nhỏ của không gian tìm kiếm thì giải thuật leo đồi gặp nhiều khó khăn.
Và rõ ràng thuật toàn leo đồi là chiến lược tối ưu hóa cục bộ trong khi hình 2 bắt ta
phải tìm một cực đại toàn cục.
Vậy chúng ta giải quyết như thế nào đây?
Để giải bài toán như hình 2 thì thuật toán leo đồi lặp lại (iterated hill climing). Nghĩa
là bạn có thể chạy thuật toán leo đồi lặp lại nhiều lần, mỗi lần bắt đầu từ một điểm
ngẫu nhiên trong không gian tìm kiếm. Mỗi lần như vậy bạn hãy ghi nhớ các cực đại
tìm được. Cứ tiếp tục như vậy cho đến khi bạn tìm thấy cái lớn nhất trong trong tất

cả các cực đại mà bạn tìm được. Lúc này thì bạn đã giải được bài toán tối ưu hóa
toàn cục.
Đây là tư tưởng sơ khởi ban đầu của thuật toán di truyền. Càng về sau, người ta càng
hoàn thiện hơn ý tưởng của phương pháp này dẫn đến sự ra đời hoàn chỉnh các
phương pháp, nguyên lý dùng trong thuật toán di truyền. Thuật toán di truyền có thể
giải mọi bài toán tối ưu hóa không cần biết đạo hàm có xác định hay không, hàm số
có liên tục hay không và trong không gian tìm kiếm vô cùng lớn.
2.THUẬT TOÁN DI TRUYỀN
2.1.LÝ THUYẾT
Thuật giải di truyền-theo như nhà bác học Charles Darwin trong cuốn sách Natural
Selection and Survival of the Fittest-cũng như các thuật toán tiến hóa nói chung, hình
thành dựa trên quan niệm cho rằng, quá trình tiến hóa tự nhiên là quá trình hoàn hảo
nhất, hợp lí nhất và tự nó đã mang tính tối ưu. Quá trình tiến hóa thể hiện tính tối ưu
ở chỗ: thế hệ sau bao giờ cũng tốt hơn thế hệ trước. Tiến hóa tự nhiên được duy trì
nhờ hai quá trình cơ bản: sinh sản và chọn lọc tự nhiên. Cá thể nào phát triển hơn,
thích nghi hơn với môi trường sẽ tồn tại, ngược lại, cá thể đó sẽ bị đào thải. Các thuật
toán tiến hóa, tuy có những điểm khác biệt, nhưng đều mô phỏng bốn quá trình cơ
bản: lai ghép, đột biến, sinh sản và chọn lọc tự nhiên.
Thuật toán di truyền lần đầu được đưa ra bởi John Holland, thuộc trường đại học
Michigan vào những năm 1970. Ông ta đặc biệt quan tâm tới việc ứng dụng chọn lọc
tự nhiên vào nghiên cứu máy móc và phát triển kỹ thuật cho phép chương trình máy
tính có thể mô phỏng quy trình tiến hóa. Ban đầu nó được gọi là dự án tái sản xuất
(reproductive plans), nhưng sau đó được biết đến phổ biến với cái tên thuật toán di
truyền (genetic algorithms). Trong hơn 30 năm qua, đã có nhiều nghiên cứu trong
giải thuật cũng như ứng dụng được công bố.
Tối ưu hóa theo thuật toán di truyền

GVHD : PhD Nguyễn Hoàng Dũng

13



Hình 3: Thuật toán di truyền
2.1.1KHỞI TẠO QUẦN THỂ BAN ðẦU
Tối ưu hóa theo thuật toán di truyền

GVHD : PhD Nguyễn Hoàng Dũng

14

Chọn kích thước quần thể thích hợp cho thuật giải di truyền luôn luôn cần thiết
nhưng lại là một nhiệm vụ khó khăn đối với người sử dụng. Một mặt, nếu kích thước
quần thể quá nhỏ, thuật giải di truyền sẽ hội tụ rất nhanh và do đó lời giải tối ưu sẽ là
không tối ưu. Mặt khác, nếu kích thước quần thể quá lớn thì tốn nhiều tài nguyên
máy tính và thậm chí bị ngăn cản.
Theo một cuộc điều tra lý thuyết về xác định kích thước quần thể tối ưu, Goldberg
cho rằng kích thước quần thể được xác định theo công thức pop=1.65 x 2
0.21*length

đề nghị rằng kích thước này nên là 130, 557, 10244 cho chuỗi dài 30, 40, 50, 60 .
Smith đề nghị một thuật giải để xác định kích thước quần thể ban đầu từ quần thể
thích nghi…….
Tóm lại, việc xác định kích thước quần thể ban đầu là hoàn toàn ngẫu nhiên và phụ
thuộc vào từng bài toán cụ thể.
2.1.2.MÃ HÓA
GAs bắt đầu với quần thể, tập của nhiều cá thể (nhiễm sắc thể). Sự mã hóa các
biến phụ thuộc vào từng bài toán. Thông thường có các dạng mã sau: mã nhị
phân, mã Gray, mã số thực và mã dạng cây.
2.1.2.1.Mã nhị phân
Mã nhị phân được biểu diễn bằng các chuỗi 0 và 1.

Quy tắc biểu diễn gen qua chuỗi nhị phân : Chọn chuỗi nhị phân ngắn nhất nhưng
ñủ thể hiện ñược tất cả kiểu gen.

chromozome A
10001010001111101010111
chromozome B 00000001000000011110000

Hình 4 : Mã nhị phân
Giả sử muốn tối ưu hàm n biến f(x
1
,x
2
,x
3
,.,x
n
),trong đó mỗi biến xi thụộc miền D=[a
i
,b
i
] là tập con của tập số thực R và yêu cầu chính xác là k chữ số thập phân cho mỗi
giá trị của biến x
i
. Để đạt được độ chính xác như vậy miền [ a
i
,b
i

] được phân cắt
thành (b

i
- a
i
)*10
k
miền con bằng nhau. Gọi m
i
là số nguyên nhỏ nhất sao cho:
Tối ưu hóa theo thuật toán di truyền

GVHD : PhD Nguyễn Hoàng Dũng

15

(b
i
- a
i
)*10
k
≤ 2
m
i
-
1.
Như vậy mỗi biến x
i

thuộc [ a
i

,b
i

] được biểu diễn bằng một chuỗi nhị phân có
chiều dài m
i
. Phép ánh xạ biến nhị phân thành biến thực x
i

được tính theo công thức:

x
i
= a
i
+ decimal(string
2
)*
12 −

i
m
ii
ab


trong đó decimal (string
2
) biểu diễn giá trị thập phân của chuỗi nhị phân string
2

. Bây
giờ mỗi nhiễm sắc thể (là một lời giải) được biểu diễn bằng chuỗi nhị phân có chiều
dài m =

=
n
i
i
m
1
.Với m
1
là bit đầu tiên biểu diễn các giá trị trong khoảng [a
1
,b
1
], m
2

bit kế tiếp biểu diễn giá trị trong khoảng [a
2
,b
2
] và nhóm m
n
bit cuối cùng biểu diễn
trong khoảng [a
n
,b
n

] .
Biểu diễn bằng chuỗi nhị phân có thể tạo ra nhiều nhiễm sắc thể thậm chí với số alen ít.
Nói cách khác, việc mã hóa này không tự nhiên đối với vài bài toán và kết quả đúng
đạt được sau khi mã hóa hoặc đột biến.
2.1.2.2 .Mã số thực
Đối với những bài toán có nhiều tham số, việc biểu diễn gen bằng chuỗi số nhị phân
đôi lúc sẽ làm cho kiểu gen của cá thể trở nên quá phức tạp. Dẫn đến việc thi hành
cách thao tác trên gen trở nên kém hiệu quả. Khi đó, người ta sẽ chọn biểu diễn kiểu
gen dưới dạng một chuỗi số thực. Tuy nhiên, chọn biểu diễn kiển gen bằng chuỗi số
thực, bạn cần lưu ý quy tắc sau :
Quy tắc biểu diễn kiểu gen bằng chuỗi số thực : Biểu diễn kiểu gen bằng số thực
phải ñảm bảo tiết kiệm không gian ñối với từng thành phần gen.
Mục đích chính là để mở rộng không gian tìm kiếm của GA gần với không gian thực
của bài toán hơn.
Trong mã số thực, mỗi nhiễm sắc thể là một chuỗi các các giá trị. Các giá trị có thể là
bất cứ thứ gì liên quan đến vấn đề đang xét, bao gồm số thực, kí tự và thậm chí là các
đối tượng.
Chromosome A

1.2324 5.3243 0.4556 2.3293 2.4545
Chromosome B
ABDJEIFJDHDIERJFDLDFLFEGT
Chromosome C
(back), (back), (right), (forward), (left)
Tối ưu hóa theo thuật toán di truy


Trong đó A đại diện cho tác vụ ri
Việc mã hóa này rất cần thiết trong việc tạo ra các đột biến v
toán.

2.1.2.3.Mã dạng cây
Mã dạng cây đư
ợc sử dụng chủ yếu cho các ch
thức. Cấu trúc cây thường đư
bài toán cũng có dạng cây và do đó vi
Trong mã dạng cây, mỗi nhiễm sắc thể l
như hàm hoặc lệnh của ngôn ngữ ch
Chromosome A
( + x ( / 5 y ) )
Hình 6:
2.1.2.4.Mã hoán vị
Mã hoán vị được sử dụ
ng trong các bài toán trình t
bài toán “Người du lịch” (travelling salesman problem), trong đó m
là một chuỗi các số tự nhiên.

Chromosome A
Chromosome B
Hình
2.1.3.LỰA CHỌN
t toán di truyền

GVHD : PhD Nguyễn
Hình 5: Mã số thực
ại diện cho tác vụ riêng, B đại diện cho một cái khác ……
ất cần thiết trong việc tạo ra các đột biến và lai tạo cụ thể cho b
ợc sử dụng chủ yếu cho các chương trình tiến hóa hoặc các biểu
ược dụng trong trường hợp bản thân cấu trúc dữ liệu của
à do đó việc đột biến và lai được thực hiện khá dễ d
ỗi nhiễm sắc thể là một cây của nhiều đối tượng , chẳng hạn

ủa ngôn ngữ chương trình.
Chromosome B


( do_until step wall )
Mã dạng cây
ng trong các bài toán trình tự (ordering problems) như trong
travelling salesman problem), trong đó mỗi nhi
nhiên.
Chromosome A 1 5 3 2 6 4 7 9 8
Chromosome B 8 5 6 7 2 3 1 4 9
Hình 7:Mã hoán vị
n Hoàng Dũng
16

ạo cụ thể cho bài
ến hóa hoặc các biểu
ờng hợp bản thân cấu trúc dữ liệu của
ợc thực hiện khá dễ dàng.
ợng , chẳng hạn
(ordering problems) như trong
i nhiễm sắc thể

×