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

Nghiên cứu giải thuật di truyền và ứng dụng vào bài toán tái tạo ảnh chân dung đối tượng

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.12 MB, 104 trang )


Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên




ĐẠI HỌC THÁI NGUYÊN
TRƢỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG





NGUYỄN THỊ HỢP





NGHIÊN CỨU GIẢI THUẬT DI TRUYỀN VÀ
ỨNG DỤNG VÀO BÀI TOÁN TÁI TẠO ẢNH
CHÂN DUNG ĐỐI TƢỢNG





LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH








Thái Nguyên -
2012






Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên


ĐẠI HỌC THÁI NGUYÊN
TRƢỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG




NGUYỄN THỊ HỢP





NGHIÊN CỨU GIẢI THUẬT DI TRUYỀN VÀ
ỨNG DỤNG VÀO BÀI TOÁN TÁI TẠO ẢNH
CHÂN DUNG ĐỐI TƢỢNG



LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH

Chuyên ngành: Khoa học máy tính
Mã số: 60 48 01


NGƢỜI HƢỚNG DẪN KHOA HỌC: TS NGUYỄN NGỌC CƢƠNG




Thái Nguyên -
2012





Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên


MỞ ĐẦU
1. Tính cấp thiết của đề tài
Con người là đối tượng nghiên cứu rất phong phú và phức tạp của nhiều
lĩnh vực khoa học khác nhau. Mỗi ngành khoa học, mỗi lĩnh vực khoa học chỉ
nghiên cứu về con người với góc độ, khía cạnh riêng để phục vụ thiết thực cho
ngành khoa học đó. Bài toán tái tạo ảnh chân dung đối tượng từ những thông tin
đặc tả về đối tượng không những phục vụ công tác quản lý con người mà còn

ứng dụng cần thiết trong công tác phòng ngừa, đấu tranh chống các loại tội
phạm.
Ngày nay, khi nền khoa học kỹ thuật phát triển toàn diện, việc ứng dụng
khoa học kỹ thuật tiên tiến càng cho phép chúng ta giải quyết bài toán nhanh,
chính xác và hiệu quả hơn. Nhờ có những thành tựu của các ngành khoa học
khác như: Nhân chủng học, hình thái học, dân tộc học, nhân trắc học, khoa học
chỉnh hình, … đã tạo cơ sở phát triển cho khoa học nhận dạng người nói chung
và lai ghép, tái tạo mặt người nói riêng.
Vì lẽ đó bài toán tái tạo ảnh chân dung đối tượng dựa vào các đặc điểm cơ
bản của các bộ phận cấu tạo nên mặt người là bài toán rất thiết thực đang được
nhiều người quan tâm, vấn đề cấp thiết đặt ra là giải quyết bài toán tái tạo ảnh
chân dung đối tượng sao cho hiệu quả, đáp ứng được nhu cầu của người sử
dụng.
Hiện nay đã có nhiều phương pháp tiếp cận, xây dựng chương trình tái tạo
ảnh chân dung đối tượng. Các phần mềm đã có thường khối lượng công việc cần
xử lí lớn, lọc lựa, lắp ghép trên tập các dữ liệu ảnh phức tạp nên tốc độ còn
chậm.
Nhằm nâng cao chất lượng và hiệu quả của phần mềm tái tạo, lai ghép mặt
người, tác giả đã tìm hiểu thuật giải di truyền có nhiều ưu điểm trong tốc độ tính
toán, mô hình hoá. Do đó trong khuôn khổ luận văn thạc sỹ, tôi chọn đề tài:
“Nghiên cứu giải thuật di truyền và ứng dụng vào bài toán tái tạo ảnh chân
dung đối tƣợng”.

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên


2. Mục tiêu của luận văn
Mục tiêu của luận văn là: nghiên cứu giải thuật di truyền và tìm cách ứng
dụng giải thuật di truyền để tái tạo ảnh chân dung đối tượng gần giống nhất theo
mô tả của các nhân chứng.

3. Nội dung của luận văn
Đề tài tập trung vào việc tìm hiểu các kiến thức cơ bản về giải thuật di
truyền và bước đầu ứng dụng nó vào giải bài toán tái tạo ảnh chân dung khuôn
mặt đối tượng theo hướng tiếp cận sau: sử dụng giải thuật di truyền để mã hóa
khuôn mặt thành chuỗi gene, dựa trên những mô tả chi tiết của nhân chứng để
tạo ra các khuôn mặt gần giống nhất với nhận định của nhân chứng. Sau khi
quan sát khuôn mặt tái tạo được, nhân chứng có thể thay đổi, bổ sung các chi tiết
khác. Các khuôn mặt tiếp tục được đánh giá bằng một hàm thích nghi. Độ thích
nghi được đo bằng sự vi phạm các ràng buộc như ràng buộc giữa khuôn mặt và
các bộ phận trên khuôn mặt, tỉ lệ co dãn, sinh các bộ phận và lai ghép tùy chọn
là các véc tơ đa chiều. Mỗi ràng buộc được thể hiện thông qua độ lệch và độ dãn
biên của các bộ phận được ghép.
Trên cơ sở đó, nội dung của luận văn gồm ba chương sau phần Mở đầu:
- Chƣơng 1: Khái quát về giải thuật di truyền và bài toán tái tạo ảnh
chân dung (từ trang 4 đến trang 32)
Trong chương này trình bày khái quát về giải thuật di truyền: mã hóa
nghiệm của bài toán, các toán tử di truyền, sơ đồ thuật toán di truyền, nền tảng
toán học của giải thuật di truyền, mô hình hóa giải thuật di truyền bằng xích
Markov. Phần tiếp theo của chương tìm hiểu ứng dụng giải thuật di truyền để
giải bài toán tối ưu hóa, một số cải tiến của giải thuật di truyền và những đóng
góp quan trọng của giải thuật di truyền trong thực tế.
Phần thứ 2 của chương trình bày khái quát về bài toán tái tạo ảnh chân
dung đối tượng.

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên


- Chƣơng 2: Ứng dụng giải thuật di truyền vào bài toán tái tạo ảnh
chân dung đối tƣợng (từ trang 33 đến trang 58)
Chương 2 trình bày một số đặc điểm của bài toán nhận dạng khuôn mặt,

mối liên hệ của nó với bài toán tái tạo ảnh chân dung khuôn mặt người.
Phần tiếp theo của chương đề cập đến một số phương pháp, kỹ thuật xử lý
ảnh được áp dụng trong bài toán tái tạo ảnh chân dung khuôn mặt đối tượng.
Nội dung trọng tâm của chương trình bày bài toán tái tạo ảnh chân dung
khuôn mặt đối tượng theo hướng tiếp cận mới. Đó là ứng dụng giải thuật di
truyền để giải quyết bài toán: mã hóa khuôn mặt thành chuỗi gene; xây dựng
hàm mục tiêu đánh khuôn mặt; các toán tử di truyền; các bước giải bài toán tái
tạo ảnh chân dung khuôn mặt bằng giải thuật di truyền; các tham số lựa chọn và
chi phí thời gian thực hiện giải thuật.
Phần cuối chương 2 dành cho việc trình bày các công cụ và mô hình được
lựa chọn để giải quyết bài toán theo hướng tiếp cận di truyền. Một số điểm hạn
chế của giải pháp được đề cập đến ở cuối chương.
- Chƣơng 3: Xây dựng chƣơng trình tái tạo ảnh chân dung đối tƣợng
và thử nghiệm (từ trang 59 đến trang 76)
Trong chương này tập trung vào việc phân tích, thiết kế hệ thống tái tạo
ảnh chân dung khuôn mặt đối tượng, cài đặt và thử nghiệm chương trình tái tạo
ảnh chân dung khuôn mặt đối tượng theo hướng tiếp cận giải thuật di truyền đã
được đề xuất ở Chương 2.
- Phần kết luận và hướng phát triển.
- Tài liệu tham khảo.
4. Phƣơng pháp nghiên cứu
Nghiên cứu tài liệu, đề xuất giải pháp và lập trình thử nghiệm.
Luận văn đã bước đầu đề xuất phương pháp ứng dụng giải thuật di truyền
vào giải quyết bài toán tái tạo ảnh chân dung đối tượng, các chương trình thử
nghiệm đã minh chứng hướng tiếp cận là đúng đắn và có hiệu quả.

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên




Chƣơng 1
KHÁI QUÁT VỀ GIẢI THUẬT DI TRUYỀN VÀ BÀI TOÁN
TÁI TẠO ẢNH CHÂN DUNG
Chương này tìm hiểu những khái niệm cơ bản về giải thuật di truyền, cơ sở
toán học của giải thuật di truyền, những cải tiến của giải thuật di truyền và các
ứng dụng của nó trong thực tiễn. Phần cuối chương là những nét khái quát về bài
toán tái tạo ảnh chân dung đối tượng.
1.1. Khái quát về giải thuật di truyền
1.1.1. Những khái niệm cơ bản về giải thuật di truyền đơn giản
Giải thuật di truyền (Genetic Algorithm-GA) thuộc lớp các giải thuật tìm
kiếm tiến hóa. Khác với phần lớn các giải thuật khác tìm kiếm theo điểm, giải
thuật di truyền thực hiện tìm kiếm song song trên một tập được gọi là quần thể
các lời giải có thể. Thông qua việc áp dụng các toán tử gene, giải thuật GA tráo
đổi thông tin giữa các cực trị và do đó làm giảm thiểu khả năng kết thúc giải
thuật tại một cực trị địa phương.
Ý tưởng áp dụng các nguyên lý của Darwin để tự động giải bài toán xuất
hiện từ những năm 40 của thế kỷ 20, rất lâu trước khi máy tính ra đời [8]. Từ
những năm đó Turing đã đề xuất “phép tìm kiếm tiến hóa hay tìm kiếm gene”
(Genetical or evolutionary search). Trong những năm 1960, ba khuynh hướng
phát triển của ý tưởng cơ sở này đã diễn ra ở các nơi khác nhau. Tại Mỹ, Fogel,
Owens và Walsh đề xuất hướng nghiên cứu lập trình tiến hóa (Evolutionary
programming) cùng thời điểm với phương pháp của Holland có tên gọi là giải
thuật di truyền (Genetic Algorithm)[9, 10]. Trong khi đó tại Đức, Rechenberg và
Schwefel đặt nền móng cho chiến lược tiến hóa (Evolution Strategies). Trong
khoảng 15 năm sau đó, các hướng nghiên cứu này được phát triển một cách
riêng biệt. Cho đến những năm 1990, các hướng nghiên cứu này được nhìn nhận
lại như những thể hiện khác nhau của một công nghệ chung là tính toán tiến hóa

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên



(Evolutionary Computing)[9, 10, 11, 12]. Cũng trong thời điểm này, một nhánh
thứ tư dựa trên ý tưởng chung ra đời với tên gọi lập trình gene (genetic
programming) do Koza đi tiên phong [11, 12]. Trong thuật ngữ hiện đại, toàn bộ
lĩnh vực nghiên cứu này được coi là ngành tính toán tiến hóa, các thuật toán
trong đó được gọi là các thuật toán tiến hóa. Lập trình tiến hóa, chiến lược tiến
hóa, giải thuật di truyền và lập trình gene được xem như các lĩnh vực nhỏ thuộc
về các biến thể của thuật toán tương ứng.
Giải thuật di truyền là một họ các mô hình tính toán dựa trên ý tưởng tiến
hóa. Các giải thuật này mã hóa nghiệm tiềm năng của một bài toán cụ thể bằng
một cấu trúc dữ liệu giống như các nhiễm sắc thể (chromosome) và áp dụng các
toán tử tái tổ hợp (recombination operators) lên các cấu trúc dữ liệu đó sao cho
có thể giữ được các thông tin chính. Giải thuật di truyền thường được xem như
những bộ tối ưu hàm số mặc dù chúng có thể áp dụng vào nhiều lĩnh vực rộng
hơn.
Một cài đặt của giải thuật di truyền bắt đầu với một quần thể các nhiễm sắc
thể (thường được tạo ngẫu nhiên). Người ta đánh giá các cấu trúc này và phân
bổ cơ hội tái sinh cho chúng theo cách những nhiễm sắc thể biểu diễn nghiệm
tốt hơn của bài toán sẽ được ưu tiên hơn các nhiễm sắc thể khác để tái sinh. Mức
độ “tốt” của nghiệm thường được xác định tương ứng với quần thể hiện thời.
Mô tả của giải thuật di truyền như trên là khá trừu tượng và có hai cách
hiểu về thuật ngữ “giải thuật di truyền”. Theo nghĩa chặt, “giải thuật di truyền”
được coi là một mô hình tính toán do Holland đề xuất và nghiên cứu từ năm
1975. Hầu hết các lý thuyết về giải thuật di truyền đang tồn tại cho đến hiện nay
đều dùng thuật ngữ theo nghĩa này và khi đó mô hình được gọi là giải thuật di
truyền chính tắc. Theo nghĩa rộng hơn, giải thuật di truyền được coi là bất cứ
một mô hình nào dựa trên quần thể (population-based model) nào đó sử dụng
các toán tử tái tổ hợp và lựa chọn để sinh ra các điểm mẫu mới trong không gian
tìm kiếm. Nhiều mô hình giải thuật di truyền đã được các tác giả nghiên cứu


Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên


thực nghiệm đưa ra trên quan điểm hướng ứng dụng và xem giải thuật di truyền
như công cụ tối ưu hóa.
Trong mục này, chúng ta sẽ trình bày những khái niệm cơ bản liên quan tới
giải thuật di truyền.
Trong hầu hết các giải thuật di truyền thông thường có hai thành phần phụ
thuộc vào bài toán: mã hóa bài toán và hàm đánh giá.
Bước đầu tiên trong bất kỳ một giải thuật di truyền nào là bước tạo sinh
quần thể xuất phát. Trong giải thuật di truyền chính tắc, mỗi thành viên của quần
thể này là một chuỗi nhị phân độ dài l tương ứng với mã hóa nghiệm của bài
toán. Mỗi chuỗi như vậy được xem như một nhiễm sắc thể. Trong hầu hết các
trường hợp, quần thể này được sinh ra một cách ngẫu nhiên. Sau khi sinh ra
quần thể xuất phát, mỗi cá thể của quần thể được đánh giá và được gán cho một
giá trị thích nghi (fitness value).
Khái niệm đánh giá (evaluation) và thích nghi (fitness) đôi khi được sử
dụng như cặp từ đồng nghĩa. Tuy nhiên, người ta thường phân biệt giữa hàm
đánh giá (evaluation function) và hàm thích nghi (fitness function) được sử dụng
trong các giải thuật di truyền. Trong mục này, hàm đánh giá (hay hàm mục tiêu)
cung cấp độ đo hiệu quả của việc thiết lập giá trị các tham số cụ thể. Hàm thích
nghi biến đổi độ đo hiệu quả này thành việc phân bổ cơ hội tái tạo cho các cá
thể. Việc đánh giá một chuỗi biểu diễn tập các tham số là hoàn toàn độc lập với
việc đánh giá các chuỗi khác. Tuy nhiên, mức độ thích nghi (fitness) của một
chuỗi luôn luôn được xác định trong mối tương quan với các thành viên khác
trong quần thể hiện tại.
Trong giải thuật di truyền, mức độ thích nghi có thể được xác định bằng
ff
i
/

với
i
f
là đánh giá của chuỗi i và
f
là đánh giá trung bình của tất cả các
chuỗi trong quần thể. Mức độ thích nghi cũng có thể được gán dựa trên thứ hạng
của cá thể trong quần thể hoặc bằng các phương pháp lấy mẫu như phương pháp
lựa chọn theo đấu loại.

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên


Việc thực hiện giải thuật di truyền có thể được xem như một quá trình hai
giai đoạn. Thuật toán bắt đầu với quần thể hiện thời. Việc lựa chọn được áp
dụng vào quần thể này để tạo ra một quần thể trung gian. Sau đó việc lai ghép và
đột biến được áp dụng cho quần thể trung gian để tạo nên quần thể tiếp theo.
Quá trình chuyển từ quần thể hiện thời tới quần thể tiếp theo tạo nên một thế hệ
trong tiến trình thực hiện giải thuật di truyền. Cách thực hiện như vậy được gọi
là cài đặt của giải thuật di truyền đơn giản (Simple Genetic Algorithm – SGA).
Hình 1.1 minh họa việc hình thành một thế hệ mới theo hai pha: pha chọn lọc và
pha tái tổ hợp. Việc đột biến có thể thực hiện ngay sau lai ghép.
Chọn lọc
(Nhân đôi)
Tái tổ hợp
(Lai ghép, đột biến)
Chuỗi 1

Chuỗi 1


Con-A (1 x 2)
Chuỗi 2

Chuỗi 2

Con-B (2 x 1)
Chuỗi 3

Chuỗi 2

Con-A (2 x 4)
Chuỗi 4

Chuỗi 4

Con-B (2 x 4)





















Thế hệ hiện tại t

Thế hệ trung
gian t

Thế hệ tiếp theo
t+1
Hình 1.1 Một thế hệ mới được hình thành qua pha chọn lọc và pha tái tổ hợp
Đầu tiên chúng ta xem xét việc xây dựng quần thể trung gian từ quần thể
hiện thời. Trong thế hệ đầu tiên, quần thể hiện thời cũng đồng thời là quần thể
xuất phát. Sau khi tính
ff
i
/
cho tất cả các chuỗi trong quần thể hiện thời, chúng
ta thực hiện việc lựa chọn. Trong giải thuật di truyền chính tắc, xác suất để một
chuỗi trong quần thể hiện thời được sao chép lại và được đưa vào thế hệ trung
gian tỷ lệ thuận với mức độ thích nghi của chúng.
Có nhiều cách thực hiện việc lựa chọn. Chúng ta có thể ánh xạ quần thể lên
một bánh xe roulette, mỗi cá thể chiếm một không gian tỷ lệ thuận với mức độ

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên



thích nghi của nó trên bánh xe. Quần thể trung gian được tạo nên nhờ việc quay
liên tiếp bánh xe để chọn ra các cá thể theo cơ chế “lấy mẫu ngẫu nhiên có thay
thế” (stochastic sampling with replacement). Cơ chế lựa chọn như vậy được gọi
là lựa chọn tỷ lệ (proportional selection) và xác suất để một phần tử b được lựa
chọn xác định bởi công thức:
0))(/)(()(
1



n
i
i
bfbfbp

Với
b
và các
i
b
là các cá thể nằm trong quần thể hiện tại.
Quá trình lựa chọn cũng có thể thực hiện bằng cơ chế “remainder stochastic
sampling”. Khi đó mỗi chuỗi i với
ff
i
/
lớn hơn 1 sẽ được sao chép vào quần
thể trung gian với số lần bằng phần nguyên của
ff
i

/
. Sau đó tất cả các chuỗi
(kể cả các chuỗi có
ff
i
/
nhỏ hơn 1) sẽ được sao chép thêm vào quần thể trung
gian với xác suất tỷ lệ thuận với phần thập phân của chúng.
Sau khi lựa chọn, việc tái tổ hợp được thực hiện trên quần thể trung gian.
Việc này có thể được coi như việc tạo ra quần thể tiếp theo từ quần thể trung
gian. Việc lai ghép (crossover) được áp dụng cho các chuỗi được ghép cặp một
cách ngẫu nhiên với xác suất
c
p
: lấy ra một cặp chuỗi; tái tổ hợp hai chuỗi này
với xác suất
c
p
để tạo nên hai chuỗi mới và đặt chúng vào quần thể tiếp theo.
Bước tiếp theo là việc áp dụng toán tử đột biến (mutation operator). Mỗi bit
trong quần thể có thể chịu hiện tượng đột biến với xác suất
m
p
.Thông thường,
tần xuất đột biến được thực hiện với xác suất nhỏ hơn 1%. Trong một số trường
hợp, đột biến được giải thích như việc tạo ngẫu nhiên một bít mới. Trong các
trường hợp khác, đột biến được xem là phép lật bit. Sự khác nhau giữa hai cách
giải thích thực chất chỉ là chi tiết cài đặt và mỗi kiểu đột biến đều có thể chuyển
đổi để nhận được kiểu còn lại.


Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên


Khi quá trình lựa chọn, tái tổ hợp và đột biến hoàn thành, quần thể tiếp theo
lại được đưa vào chu trình lặp với các bước như trên. Như vậy một thế hệ mới
đã được sinh ra khi thực hiện giải thuật di truyền.
Tóm lại, có 6 khía cạnh cần được xem xét trước khi áp dụng giải thuật di
truyền để giải một bài toán, cụ thể là:
 Mã hóa lời giải thành cá thể dạng chuỗi
 Hàm xác định giá trị độ phù hợp
 Sơ đồ chọn lọc các cá thể bố mẹ
 Toán tử lai ghép
 Toán tử đột biến
 Chiến lược thay thế hay còn gọi là toán tử tái tạo
Có nhiều lựa chọn khác nhau cho từng vấn đề nêu trên. Phần tiếp theo sẽ
đưa ra cách lựa chọn theo J. H. Holland khi thiết kế phiên bản giải thuật di
truyền đầu tiên. Giải thuật này được gọi là giải thuật di truyền đơn giản (Simple
Genetic Algorithm-SGA).
Giải thuật di truyền như mô tả trên có thể được viết dưới dạng giả mã như
sau:
GIẢI THUẬT DI TRUYỀN
Khởi tạo quần thể ban đầu X={x
1
,…,x
k
}
While (điều kiện kết thúc chưa thỏa mãn) do
Đánh giá mức độ thích nghi của các cá thể trong X (evaluation)
Lựa chọn một số cặp nghiệm (gọi là cha-mẹ) P


X
2
dựa trên mức
độ thích nghi của chúng (Parent selection)
Tổ hợp các cặp được lựa chọn để sinh ra các cá thể mới
(crossover)
Biến đổi ngẫu nhiên một số cá thể (mutation)
Tạo quần thể mới bằng việc thay thế một số hoặc toàn bộ cá thể của

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên


X bởi các cá thể mới được sinh ra dựa trên mức độ thích nghi của
chúng (population selection)
End while
Bộ 4 giá trị
),,,( GPPN
mc
, trong đó
N
- số cá thể trong quần thể;
c
P
- xác suất
lai ghép;
m
P
- xác suất đột biến và
G
- số thế hệ cần tiến hóa, là các tham số điều

khiển của giải thuật SGA.
Trong thực tế GA đã được dùng để giải quyết những vấn đề phức tạp, tuy
nhiên với mục đích làm sáng tỏ cách hoạt động của các toán tử trong giải thuật
di truyền chúng ta sẽ xem xét một ví dụ đơn giản đó là: “Tìm đáp số cho phương
trình
64
2
X
(*).
Bước 1: Qui định số lượng các đáp số và ấn định ký hiệu cho từng đáp số.
HT thập phân
1
2
3
4
5
6
7
8
HT nhị phân
0001
0010
0011
0100
0101
0110
0111
1000
Bước 2: Chỉ định số đáp số và ký hiệu các đáp số cho bài tóan
Sau đây là 4 số có thể là đáp số cho bài toán (*)

Thứ tự
Nhị phân
Thập phân
1
00100
4
2
10101
21
3
01010
10
4
11000
24
Bảng 1.2. Quần thể ban đầu
Bước 3: Xác định hàm thích nghi (fitness function) và tính hệ số thích nghi
(fitness) cho từng đáp số. Hàm số thích nghi phải có liên hệ đến vấn đề cần giải
quyết. Nếu chọn hàm số thích nghi không đúng, kết quả sẽ không có hiệu lực.
Trong ví dụ này ta chọn hàm số thích nghi là
)64(1000)(
2
 XXf
và quy định
đáp số nào có hệ số thích nghi bằng 1000 hay gần 1000 nhất sẽ là đáp số của bài
toán.
Thứ tự
Nhị phân
Thập phân
Hệ số


Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên


(1)
(2)
(3)
thích nghi
1
00100
4
952
2
10101
21
623
3
01010
10
964
4
11000
24
488
Bảng 1.3. Hệ số thích nghi tương ứng với từng đáp số
Bước 4: Biến hóa các đáp số để tìm các đáp số có hệ số thích nghi tối ưu.
Trong bốn số 4, 21, 10 và 24 thì 2 số 10 và 4 có hệ số thích nghi cao hơn do đó
chúng sẽ được chọn để tạo sinh và biến hóa, đồng thời số 21 và 24 có hệ số thích
nghi thấp nhất sẽ bị loại.
Tiến hành lai ghép hai số 4 và 10 tại điểm giữa hàng thứ hai và thứ ba:

001 | 00 (4) 010 | 00 (hay 8)
010 | 10 (10) 001 | 10 (hay 6)
Bước 5: Tính hệ số thích nghi cho các đáp số trong quần thể mới
Thứ tự
(1)
Nhị phân
(2)
Thập phân
(3)
Hệ số thích nghi
1
00100
4
952
2
01010
10
964
3
01000
8
1000
4
00110
6
968
Bảng 1.4. Hệ số thích nghi tương ứng với từng đáp số trong quần thể mới
Bước 6: Xét các chi tiết trong bảng 1.4, chúng ta có được đáp số ở hàng thứ
3 là số 8 với hệ số thích nghi bằng 1000, đây là đáp số có hệ số thích nghi cao
nhất, số này là 01000 (nhị phân) hay 8 (thập phân). Do đó chúng ta không phải

quay lại Bước 4 và Bước 5 nữa, chúng ta sẽ báo cáo kết quả là 8.
Bước 7: Kết quả với X = 8, chúng ta sẽ có X
2
= 8
2
= 64
1.1.2. Nền tảng toán học của giải thuật di truyền

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên


Qua ví dụ trên chúng ta nhận thấy sự phối hợp của hai mẫu bít có hệ số
thích nghi lớn hơn là
00100

01010
sản sinh ra những chuỗi mới có giá trị tốt
hơn. Điều này đã được Holland (1968, 1975) nhận xét và đưa ra khái niệm giản
đồ (schema). Giản đồ là mẫu tương tự mô tả một tập con các chuỗi với sự giống
nhau tại một số vị trí trong chuỗi.
Không mất tính tổng quát chúng ta xét các chuỗi trên tập ký tự
}1,0{V
.
Để thuận tiện chúng ta ký hiệu chuỗi là những ký tự hoa còn các ký tự của chuỗi
chúng ta dùng các ký tự thường. Ví dụ chuỗi 7 bít A = 0111000 có thể được biểu
diễn một cách tượng trưng như sau:
7654321
aaaaaaaA 
.
Trong giải thuật SGA, mỗi chuỗi cá thể được biểu diễn một cách hình thức

như sau
L
aaaA
21

, trong đó
i
a
đại diện cho gien thứ
i
trong chuỗi và có giá trị
lấy từ tập ký tự
}1,0{V
. Tại mỗi thế hệ
t
chúng ta có quần thể
)(tA
và các
chuỗi được đánh số thứ tự là
njA
j
, ,2,1, 
. J. H. Holland xây dựng tập ký tự mở
rộng
*},1,0{

V
với ký tự * được gọi là ký tự không quan tâm có thể nhận giá
trị 1 hoặc 0.
Một giản đồ

H
là một chuỗi
L
gien lấy từ tập ký tự

V
. Các giá trị
1
hoặc
0
có trong giản đồ
H
gọi là các vị trí cố định của giản đồ. Một thể hiện của giản
đồ
H
là một chuỗi
L
gien lấy từ tập ký tự
V
có các gien trùng với các gien của
giản đồ
H
tại các vị trí cố định. Dễ nhận thấy có
L
3
giản đồ có độ dài
L
. Một
cách tổng quát với tập ký tự gồm
C

ký tự sẽ có
L
C )1( 
giản đồ. Mỗi cá thể độ
dài
L
lấy từ tập ký tự
}1,0{V
chứa
L
2
thể hiện của các giản đồ khác nhau. Do
đó, một quần thể gồm
N
cá thể chứa
L
N 2.
thể hiện của các giản đồ.
Bậc của giản đồ
H
, ký hiệu là
)(Ho
, là số vị trí xác định trong giản đồ
H
.
Ví dụ với giản đồ
**1*011
có bậc là
4
, ký pháp là

4*)*1*011( o
.
Độ dài của giản đồ
H
, ký hiệu là (
H
), là khoảng cách từ vị trí xác định
đầu tiên tới vị trí xác định cuối cùng của giản đồ. Ví dụ giản đồ
**1*011H

độ dài
4
, giản đồ
******0
có độ dài là
0
và giản đồ
0*0**1*
có độ dài bằng
5
.

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên


Gọi
),( tHm
là số thể hiện của giản đồ
H
có trong quần thể tại thế hệ

t
,
f

là giá trị độ phù hợp trung bình của toàn quần thể và
)(Hf
là giá trị độ phù hợp
trung bình của các thể hiện của giản đồ
H
. J. H. Holland đã ước lượng số thể
hiện của giản đồ
H
tại thế hệ tiếp theo
)1,( tHm
dưới tác động của các toán tử
của giải thuật GA. Kết quả tính toán cuối cùng được mô tả bằng định lý 1.1.
Định lý này được biết đến như nền tảng toán học của giải thuật GA và được gọi
là định lý giản đồ.
Định lý 1.1. [9] Trong giải thuật SGA, nếu số thể hiện của giản đồ
H
tại
thế hệ
t

),( tHm
thì số thể hiện của giản đồ
H
tại thế hệ tiếp theo được ước
lượng như sau:










mc
pHo
L
H
p
f
Hf
tHmtHm ).(
1
)(
.1
)(
).,()1,(

(1)
Thật vậy, từ biểu thức (1), dễ thấy các giản đồ bậc nhỏ với độ dài ngắn và
có giá trị độ phù hợp trung bình lớn hơn giá trị độ phù hợp trung bình của toàn
quần thể sẽ có số thể hiện tăng và có vai trò quan trọng trong giải thuật di
truyền.
Hiệu ứng của toán tử tái tạo đối với giản đồ có trong quần thể rất dễ xác
định. Giả sử tại một thời điểm
t


m
mẫu của giản đồ
H
,
),( tHmm 
trong thế
hệ
)(tA
. Trong quá trình tái tạo, một chuỗi được sao chép theo sức khỏe của nó
hay chính xác hơn chuỗi
i
A
sẽ được chọn với xác suất là


jii
ffp /
. Sau khi
thay thế quần thể
)(tA
bằng quần thể tiếp theo
)1( tA
số mẫu của giản đồ
H

trong quần thể mới là


j

fHfntHmtHm /)(.).,()1,(
, ở đây
)(Hf
là giá trị sức
khỏe trung bình của các chuỗi chứa giản đồ
H
tại thời điểm
t
. Vì giá trị sức
khỏe trung bình của toàn thể quần thể là
nff
j
/


nên chúng ta có thể viết
phương trình phát triển giản đồ như sau:
f
Hf
tHmtHm
)(
).,()1,( 
(2)

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên


Bằng lời chúng ta có thể phát biểu là số mẫu của các giản đồ phát triển theo
tỉ số của giá trị sức khỏe trung bình của giản đồ và giá trị sức khỏe của toàn bộ
quần thể. Như vậy đối với những giản đồ có giá trị sức khỏe trung bình lớn hơn

giá trị sức khỏe trung bình của toàn quần thể sẽ có số mẫu tăng trong thế hệ tiếp
theo và ngược lại đối với các giản đồ có giá trị sức khỏe trung bình nhỏ hơn giá
trị sức khỏe trung bình của toàn quần thể sẽ có số mẫu không tăng trong thế hệ
tiếp theo. Điều này đúng với mọi giản đồ có trong quần thể. Hay nói một cách
khác, toán tử tái tạo xử lý song song các giản đồ của quần thể chỉ bằng việc sao
chép các chuỗi theo sức khỏe của chúng.
Hiệu ứng của toán tử tái tạo đối với số mẫu của giản đồ một cách định tính
đã rõ. Chúng ta có thể phát triển phương trình sai phân trên một cách định lượng
như sau:
Giả định sức khỏe trung bình của giản đồ
H
lớn hơn giá trị sức khỏe trung
bình của toàn quần thể là
fc.
, trong đó
c
là hằng số. Từ đây chúng ta có thể viết
phương trình (1) như sau:
),().1().,()1,( tHmc
f
fcf
tHmtHm 



Xuất phát từ giá trị
0t
và giả định c luôn không đổi chúng ta có:
l
cHmtHm )1).(0,(),( 


Như vậy một cách định lượng toán tử lai tạo làm tăng số mẫu của giản đồ
có sức khỏe lớn hơn giá trị sức khỏe trung bình của toàn quần thể theo hàm số
mũ và giảm số mẫu của các giản đồ có sức khỏe bé hơn giá trị sức khỏe trung
bình của toàn quần thể cũng theo hàm số mũ một cách song song đối với tất cả
các giản đồ có trong quần thể.
Để xem xét giản đồ nào bị ảnh hưởng bởi toán tử tạp lai, giản đồ nào không
bị ảnh hưởng, chúng ta nghiên cứu một chuỗi cụ thể với độ dài
7L
và hai giản
đồ tồn tại trong chuỗi đó như sau:

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên


**10***
0****1*
0111000
2
1



H
H
A

Rõ ràng cả hai giản đồ đều tồn tại trong chuỗi
A
và chúng đều có bậc là 2,

độ dài của giản đồ
1
H
là 5 còn độ dài của giản đồ
2
H
là 1. Chúng ta biết rằng
toán tử tạp lai được tiến hành với việc lựa chọn vị trí tạp lai là ngẫu nhiên trên
toàn bộ độ dài của chuỗi. Giả sử chuỗi
A
được chọn cho việc tạp lai và vị trí tạp
lai được chọn ngẫu nhiên là vị trí thứ 3.
Hiệu ứng của toán tử tạp lai ảnh hưởng tới hai giản đồ như sau:
A = 0 1 1 1 0 0 0 Vị trí tạp lai
H
1
= * 1 * * * * 0
H
2
= * * * 1 0 * *
Giản đồ
1
H
sẽ bị phá hủy bởi vì gien 1 ở vị trí 2 và gien 0 ở vị trí 7 sẽ được
sao chép sang hai con khác nhau. Trong khi đó giản đồ
2
H
vẫn tiếp tục tồn tại ở
một trong hai con. Với độ dài chuỗi là 7, chúng ta có 7-1 vị trí có thể đặt vị trí
tạp lai, do đó giản đồ

1
H
sẽ bị phá hủy với xác suất
6/5)1/()(
1
 LHp
d


chúng chỉ tồn tại với xác suất là
6/1
s
p
. Một cách tổng quát chúng ta có thể
tính xác suất tồn tại qua toán tử tạp lai đối với bất kì giản đồ nào
)1/()(1  LHp
s

. Nếu tính thêm cả xác suất ghép đôi (xác suất tạp lai)
c
p
lúc
này chúng ta có xác suất tồn tại qua toán tử tạp lai của bất kỳ giản đồ nào là
1
)(
.1


l
H

pp
cs

(3)
Thông qua biểu thức (3) và (2) chúng ta có thể tính được hiệu ứng chung
của hai toán tử tái tạo và tạp lai. Giả định là toán tử tái tạo và tạp lai hoạt động
một cách độc lập với nhau, chúng ta có thể tính được số mẫu của một giản đồ
bất kỳ
H
cho thế hệ tiếp theo là:








1
)(
.1
)(
).,()1,(
l
H
p
f
Hf
tHmtHm
c


(4)

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên


Toán tử cuối cùng chúng ta cần nghiên cứu là toán tử đột biến. Sử dụng
định nghĩa về toán tử đột biến là sự thay thế ngẫu nhiên và độc lập với nhau của
các gien trong chuỗi với xác suất là
m
p
, chúng ta có ngay là xác suất tồn tại của
một gien trong chuỗi là
m
p1
. Để cho một giản đồ tồn tại thì tất cả các vị trí xác
định trong giản đồ phải tồn tại. Số vị trí xác định trong giản đồ
H
chính là bậc
của giản đồ
)(Ho
. Nhân xác suất tồn tại của từng gien
m
p1
trong giản đồ lên
)(Ho
lần chúng ta có được xác suất tồn tại của giản đồ
H
qua toán tử đột biến là
)(

)1(
Ho
m
p
. Đối với giá trị
1
m
p
(rất nhỏ) chúng ta có
m
Ho
m
pHop ).(1)1(
)(

.
Kết hợp với phương trình (4) chúng ta đánh giá số lượng mẫu của một giản đồ
H
trong thế hệ tiếp theo (bỏ qua các tích chung nhỏ) là:









mc
pHo

l
H
p
f
Hf
tHmtHm ).(
1
)(
.1
)(
).,()1,(


Định lý 1.1. thể hiện rằng những giản đồ bậc thấp, có độ dài ngắn và có giá
trị sức khỏe trung bình lớn hơn giá trị sức khỏe trung bình của toàn quần thể sẽ
có số mẫu tăng theo hàm số mũ trong thế hệ tiếp theo. Kết luận quan trọng này
được biết tới như định lý giản đồ hay định nghĩa nền tảng của giải thuật di
truyền (Fundamental Theorem of Genetic Algorithms).
Những giản đồ bậc thấp, độ dài ngắn và có sức khỏe tốt được gọi là các
khối xây dựng. Thông qua các toán tử của giải thuật di truyền những khối này
được thử, kết hợp với nhau rồi thử lại để tạo ra những chuỗi có sức khỏe tốt hơn.
Nói cách khác những khối này kết hợp với nhau để tạo ra những chuỗi tốt hơn.
Giả định này đã chỉ ra rằng khi làm việc với những khối xây dựng chúng ta
sẽ giảm được độ phức tạp của bài toán. Thay cho việc phải xây dựng một chuỗi
có sức khỏe tốt bằng việc thử tất cả các tổ hợp của các khối xây dựng, chúng ta
chỉ việc xây dựng các chuỗi tốt dần lên từ các khối của các chuỗi đã có trong các
lần thử trước.

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên



Ta xem xét giải thuật di truyền như một hệ tiến triển theo thời gian. Mỗi
quần thể của giải thuật GA là một vị trí của hệ. Ký hiệu
)(tX
là vị trí của hệ tại
thời điểm
t
. Tập hợp các vị trí có thể của hệ được gọi là không gian trạng thái.
Giả sử trước thời điểm
s
hệ ở trạng thái nào đó, còn ở thời điểm
s
hệ ở trạng
thái
i
. Ta cần biết tại thời điểm tiếp theo
t
hệ ở trạng thái
j
với xác suất là bao
nhiêu? Rõ ràng theo cách tiến hành giải thuật GA, xác suất này chỉ phụ thuộc
vào trạng thái
i
tại thời điểm
s
và trạng thái
j
tại thời điểm tiếp theo
t
, độc lập

với các trạng thái ở thời điểm trước thời điểm
s
. Điều này có nghĩa là sự tiến
triển của hệ trong tương lai chỉ phụ thuộc vào hiện tại và độc lập với quá khứ.
Đó chính là tính Markov.
Về phương diện toán học tính Markov được định nghĩa như sau.
Định nghĩa 1.1. Gọi
P
là một ma trận vuông
)( kk 
với các phần tử
}, ,1,:{
,
kjiP
ji

. Một quá trình ngẫu nhiên
, ),(
10
XX
có không gian trạng thái
hữu hạn
}, ,{
1 k
ssS 
được gọi là xích Markov với ma trận chuyển dịch
P
, nếu
}, ,1{,, kjin 


}, ,1{, ,
10
kii
n


ta có
jiinjnininiijn
PsXsXPsXsXsXsXsXP
n
,11101
)|(),, ,,|(
110




Vấn đề trung tâm và quan trọng của xích Markov là phân phối dừng. Thuộc
tính này được sử dụng để phân tích tính hội tụ của các giải thuật được mô hình
hóa bằng xích Markov.
Định nghĩa 1.2. Gọi
, ),(
10
XX
là một xích Markov có không gian trạng
thái hữu hạn
}, ,{
1 k
ssS 
và ma trận chuyển dịch

P
. Một véc tơ hàng
), ,(
1 k


được gọi là phân phối dừng của xích Markov, nếu nó thỏa mãn
(i)
0
i

đối với
ki , ,1

1
1



k
i
i

.
(ii)

P.
, nghĩa là
j
k

i
jii
P



1
,
đối với
., ,1 kj 


Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên


Xích Markov được nhiều tác giả sử dụng để mô hình hóa giải thuật GA
[13, 14], phân tích tính hội tụ của giải thuật GA. Sự hội tụ của giải thuật GA
được định nghĩa thông qua xích Markov như sau:
Định nghĩa 1.3. Gọi

là phân phối dừng của xích Markov mô hình hóa
giải thuật GA. Gọi
*

là một véc tơ hàng có thành phần thứ
j
bằng 1 và các
thành phần khác bằng 0. Giải thuật GA được gọi là hội tụ tới quần thể
j
s

khi
kích thước quần thể
n
tiến tới vô hạn, ta có



n
lim
*

Theo định nghĩa 1.3, một giải thuật GA được gọi là hội tụ khi xích Markov
biểu diễn giải thuật có phân phối dừng và phân phối này tập trung toàn bộ xác
suất vào một trạng thái. Giải thuật SGA đã được các tác giả Nix và Vose mô
hình hóa và chứng minh là không đảm bảo sự hội tụ.
Gọi
L
là độ dài chuỗi. Khi đó
L
r 2
là tổng số các chuỗi nhị phân có thể.
Gọi
n
là số cá thể có trong quần thể, khi đó số các quần thể có thể (số các trạng
thái của xích Markov) là:
!)!1(
)!1(
1
1
nr

rn
r
rn
k















Sau đó, Nix và Vose định nghĩa hai toán tử
F

M
, trong đó
F
được xác
định từ hàm độ phù hợp của các cá thể và
M
phụ thuộc vào xác suất đột biến
m

p
, xác suất lai ghép
c
p
và cách thức sử dụng các toán tử đột biến và lai ghép.
Với các toán tử
F

M
đã được định nghĩa, xác suất chuyển dịch được tính
toán như sau:
jy
z
r
y
jy
y
i
i
ji
z
F
F
M
nP
,
1
0
,
,

!
||
!

























Nếu xác suất đột biến
m

p
là khác 0, xác suất để xích Markov đạt tới tất cả
các trạng thái là khác 0. Do đó, các phần tử của ma trận chuyển dịch P là dương.
Điều này làm cho xích Markov có tính ergodic. Theo định lý về xích Markov

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên


[13, 14], các xích Markov ergodic có phân phối dừng. S. Cofey tiếp theo đã
chứng minh phân phối dừng này có các phần tử đều lớn hơn 0. Như vậy, do số
lượng các trạng thái lớn, phân phối dừng không tập trung toàn bộ xác suất của
nó vào một trạng thái nào. Nói cách khác, giải thuật GA không hội tụ vì là giải
thuật có phân phối dừng nhưng phân phối này không tập trung tất cả xác suất
vào một trạng thái.
Để tạo ra một giải thuật GA có khả năng hội tụ và nâng cao hiệu quả tìm
kiếm của giải thuật GA, W. M. Spears sử dụng sơ đồ mã hóa gray thay thế sơ đồ
mã hóa nhị phân nhằm giảm thiểu hiệu ứng phá hủy các giản đồ của toán tử lai
ghép. Các tác giả [13, 14] sử dụng sơ đồ mã hóa số thực trong giải thuật di
truyền. Trong sơ đồ này mỗi gien của cá thể là một số thực nằm trong một
khoảng xác định. Với sơ đồ mã hóa số thực, có khá nhiều các toán tử lai ghép số
học và các toán tử đột biến số thực đã được đề xuất.
V. Estivill-Castro chỉ ra vai trò đảm bảo sự hội tụ của toán tử chọn lọc
trong giải thuật di truyền. J. E. Baker phân tích hiệu ứng của toán tử chọn lọc
trong giải thuật GA. T. Back phân tích sức ép chọn lọc của các giải thuật tiến
hóa trong đó có giải thuật di truyền. Sức ép chọn lọc là độ chênh lệch của giá trị
độ phù hợp trung bình của quần thể bố mẹ và quần thể hiện tại. T. Blickle và L.
Thiele phân tích sự mất đa dạng của toán tử chọn lọc sử dụng các sơ đồ chọn lọc
khác nhau. Các tác giả giả định là các cá thể trong quần thể có phân bố liên tục.
Tuy nhiên, hiệu ứng của phân bố liên tục và rời rạc là khác nhau đối với các
quần thể hữu hạn.

Đối với toán tử lai ghép và toán tử đột biến, W. M. Spears phân tích vai trò
của chúng đối với giải thuật GA sử dụng sơ đồ mã hóa nhị phân. Tác giả đã chỉ
ra toán tử lai ghép đều và toán tử đột biến có xác suất đột biến
5.0
m
p
đồng
nhất với nhau. Ngoài ra, có khá nhiều các đề xuất về toán tử lai ghép và đột biến
được đề xuất.

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên


Một trong những phương pháp làm cho giải thuật GA hội tụ là sử dụng
chiến lược thay thế có tính tinh hoa do De Jong đề xuất. Định nghĩa về tính tinh
hoa như sau:
Định nghĩa 1.4. Giải thuật GA có tính tinh hoa khi có ít nhất một cá thể có
độ phù hợp tốt nhất luôn được bảo tồn sang thế hệ tiếp theo.
Một thuộc tính hiển nhiên của giải thuật GA có tính tinh hoa là cá thể tốt
nhất của thế hệ hiện tại không tồi hơn cá thể tốt nhất của các thế hệ trước đó.
Giải thuật SGA do Holland đề xuất không có tính tinh hoa. Tuy giải thuật GA có
tính tinh hoa đã được chứng minh là hội tụ, song bằng thực nghiệm De Jong
cũng chỉ ra rằng tính tinh hoa làm tăng khả năng hội tụ sớm của giải thuật GA
đối với các hàm mục tiêu nhiều cực trị.

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên


1.1.3. Giải thuật di truyền giải bài toán tối ƣu hóa
Tối ưu hóa là một nội dung quan trọng của Tin học ứng dụng có liên quan

đến mọi lĩnh vực của tự nhiên và xã hội.
Trong mục này, tác giả sẽ đề cập chi tiết việc áp dụng giải thuật di truyền
cho bài toán tối ưu một hàm
f

n
biến,
), ,,(
21 n
xxxf
. Biết rằng mỗi biến
i
x

thể lấy các giá trị từ miền
];[
iii
baD 
là tập con của tập các số thực
R
và yêu cầu
độ chính xác là k chữ số thập phân đối với các giá trị biến.
1.1.3.1. Biểu diễn các biến nhờ các véc tơ nhị phân
Tham biến
x
thuộc
];[
maxmin
UU
được biểu diễn bởi chuỗi nhị phân có chiều

dài
L
.
L
bit mã hóa
x
ứng với giá trị trong miền
]2;0[
L
sẽ được ánh xạ lên các
giá trị thuộc miền xác định
];[
maxmin
UU
. Tỷ lệ co dãn của ánh xạ này được cho
bởi:
12
minmax



L
UU
g
(5)
Ta thấy giá trị
x
tương ứng với mã
2
string

sẽ được xác định theo công thức:
gstringdecimalUx *)(
2min

(6)
Trong đó
)(
2
stringdecimal
biểu diễn giá trị thập phân của chuỗi nhị phân
2
string
,
g
được xác định bởi công thức (5).
Để mã hóa tập các biến, ta ghép nối mã các biến riêng lẻ lại với nhau. Mỗi
mã tương ứng với một chiều dài các bit riêng và xác định một giá trị tương ứng
của nó nằm trong miền
];[
maxmin
UU

1.1.3.2. Ánh xạ giá trị hàm mục tiêu sang giá trị thích nghi
Giá trị thích nghi
)(if
được xác định đối với mỗi cá thể trong quần thể. Giá
trị này càng lớn thì cá thể được coi là hợp lý. Hàm thích nghi có thể là hàm
không liên tục, hàm dương hay phi tuyến. Vì hàm thích nghi phải nhận giá trị
không âm, do đó cần phải xây dựng ánh xạ hàm mục tiêu đang xét trong bài toán


Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên


sang hàm thích nghi thông qua một hoặc nhiều lần ánh xạ. Nếu bài toán tối ưu là
cực tiểu một hàm đánh giá
)(xg
, việc chuyển từ hàm đánh giá sang hàm thích
nghi để sử dụng với giải thuật di truyền như sau:





khác
CxgkhixgC
xf
0
)()(
)(
maxmax
(7)
Ở đây,
max
C
là một tham số đầu vào. Ví dụ, có thể lấy
max
C
là giá trị
g
lớn

nhất trong quần thể hiện tại hoặc lớn nhất sau k vòng lặp.
Khi hàm mục tiêu gốc tăng hoặc đang xét bài toán cực đại hóa một hàm
hữu dụng
)(xu
, chúng ta có thể chuyển sang hàm thích nghi như sau:





khác
CxukhiCxu
xf
0
0)()(
)(
minmin
(8)
Ở đây
min
C
là tham số đầu vào, có thể là trị tuyệt đối của
u
bé nhất trong
quần thể hiện tại hoặc trong
k
vòng lặp cuối cùng hoặc là một hàm của biến
quần thể.
1.1.3.3. Điều chỉnh độ thích nghi
Một vấn đề quan trọng là điều chỉnh số con cháu. Điều này đặc biệt quan

trọng cho một vài vòng lặp đầu tiên, khi một vài cá thể “siêu” có tiềm năng
chiếm lĩnh phần lớn quần thể và làm cho hội tụ sớm. Điều chỉnh độ thích nghi
có thể giúp giải quyết vấn đề này.
Một kiểu điều chỉnh hay gặp là điều chỉnh tuyến tính. Chúng ta định nghĩa
độ thích nghi gốc là
f
và độ thích nghi đã biến đổi là
'f
. Điều chỉnh tuyến tính
xác định quan hệ giữa
f

'f
như sau:
bfaf  *'
(9)
Ở đây, các hệ số
a

b
được chọn sao cho:
avgavg
ff '
(10)

avgmult
fCf *'
max

(11)


Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên


Ở đây
mult
C
là số các bản sao cần thiết đối với một thành viên tốt nhất trong
quần thể. Đối với các quần thể nhỏ (n = 50 đến 100),
mult
C
thường được chọn từ
1.2 đến 2 và tỏ ra khá hiệu quả. Biểu thức (10) bảo đảm rằng mỗi thành viên với
độ thích nghi trung bình sẽ cho một con hay một cháu đối với lần phát sinh tiếp
theo. Biểu thức (11) kiểm soát số con cháu được nạp vào làm thành viên với độ
thích nghi gốc cực đại.
Với chiến thuật tỷ lệ hóa đơn giản như trên, chúng ta ngăn ngừa được sự
chi phối của các cá thể siêu khỏe ở giai đoạn đầu và sau đó tạo ra được cạnh
tranh lành mạnh giữa các cá thể gần bằng nhau ở giai đoạn cuối của giải thuật di
truyền.
1.1.3.4. Các bƣớc của giải thuật di truyền giải bài toán cực tiểu hàm
f

Với cách biểu diễn biến nêu trên, để tìm lời giải tối ưu của bài toán cực tiểu
hàm với n biến có thể thực hiện thuật giải như sau:














Hình 1.2. Các bước của thuật giải di truyền cho bài toán tối ưu hàm
Bƣớc 1: Khởi tạo quần thể các nhiễm sắc thể nhằm
thiết lập số lượng nhiễm sắc thể ngẫu nhiên ban đầu
dưới dạng chuỗi nhị phân với kích cỡ quần thể bằng
pop_size xác định trước
Bƣớc 2: Xác định giá trị thích nghi (fitness value) của
từng nhiễm sắc thể.
Bƣớc 3: Sao chép lại các nhiễm sắc thể dựa vào giá
trị thích nghi của chúng và tạo ra những nhiễm sắc thể
mới bằng việc kết hợp các nhiễm sắc thể hiện tại
(dùng các toán tử lai ghép, đột biến, tái kết hợp)
Bƣớc 4: Loại bỏ những thành viên không thích nghi
trong quần thể.
Bƣớc 5: Chèn những nhiễm sắc thể mới vào quần thể
để hình thành một quần thể mới.
Tiếp tục cho đến khi
đạt được điều kiện
định trước (thường
sau một số vòng lặp
xác định khi không
tìm được cải tiến tốt
hơn dựa vào tốc độ

máy tính và độ chính
xác yêu cầu)

×