1. Trang chủ
  2. » Luận Văn - Báo Cáo

Giải thuật di truyền và ứng dụng trong bài toán tối ưu hóa khẩu phần thức ăn chăn nuôi

89 155 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 89
Dung lượng 1,15 MB

Nội dung

Giải thuật di truyền là một trong những kỹ thuật tìm kiếm tối ưu giúp tagiải quyết được những vấn đề đã đặt ra ở trên, nó cho phép ta tìm kiếm lờigiải tối ưu trên các không gian lớn, ngu

Trang 1

ĐẠI HỌC THÁI NGUYÊN

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG

LỤC TRỌNG HIẾU

GIẢI THUẬT DI TRUYỀN VÀ ỨNG DỤNG TRONG BÀI TOÁN TỐI ƯU HÓA KHẨU PHẦN

THỨC ĂN CHĂN NUÔI

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

Thái Nguyên - 2014

Trang 2

ĐẠI HỌC THÁI NGUYÊN

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG

LỤC TRỌNG HIẾU

GIẢI THUẬT DI TRUYỀN VÀ ỨNG DỤNG TRONG BÀI TOÁN TỐI ƯU HÓA KHẨU PHẦN

THỨC ĂN CHĂN NUÔI

CHUYÊN NGÀNH: KHOA HỌC MÁY TÍNH

MÃ SỐ : 60.48.01

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

NGƯỜI HƯỚNG DẪN KHOA HỌC

TS Phạm Thanh Hà

Thái Nguyên – n 2014

Trang 3

LỜI CẢM ƠN

Trước hết cho tôi gửi lời cảm ơn chân thành đến toàn thể các thầy côgiáo Viện Công nghệ Thông tin, cùng toàn thể quý Thầy Cô trong trường Đạihọc Công nghệ Thông tin & Truyền thông đã tận tình dạy dỗ tận tình truyềnđạt những kiến thức quý báu và tạo điều kiện thuận lợi cho tôi trong suốt quátrình học tập, nghiên cứu và cho đến khi thực hiện luận văn

Đặc biệt tôi xin bày tỏ lòng biết ơn sâu sắc tới Thầy giáo TS.PhạmThanh Hà, Trưởng bộ môn Công nghệ phần mềm, Phó Trưởng khoa Côngnghệ thông tin, Trường Đại học Giao thông vận tải - Hà Nội đã quan tâmhướng dẫn và đưa ra những gợi ý, góp ý, chỉnh sửa vô cùng quý báu cho tôitrong quá trình làm luận văn tốt nghiệp Xin gửi lời tri ân nhất của tôi đối vớinhững điều mà Thầy đã dành cho tôi

Cuối cùng xin chân thành cảm ơn những người bạn đã giúp đỡ, chia sẽvới tôi trong suốt quá trình làm luận văn

Thái Nguyên, tháng 04 năm 2014

Học viên thực hiện

Lục Trọng Hiếu

Trang 4

LỜI CAM ĐOAN

Tôi xin cam đoan đây là công trình nghiên cứu của riêng tôi

Các kết quả nêu trong luận văn là trung thực và chưa từng được ai công

bố trong bất kỳ công trình nào

Thái Nguyên, ngày 12 tháng 04 năm 2014

Tác giả luận văn

Lục Trọng Hiếu

Trang 5

DANH MỤC BẢNG

Bảng 1.1 Minh họa quá trình chọn lọc 9

Bảng 1.2 Minh họa quá trình lai ghép 9

Bảng 2.1 Minh họa quá trình đột biến .23

Bảng 2.2 Các vị trí đột biến .24

Bảng 3.1: Bảng dinh dưỡng tại 3 thời kỳ nuôi 38

Bảng 3.2 Bảng ví dụ chất dinh dưỡng cần thiết cho lợn 39

Bảng 3.3: Thành phần thức ăn thường sử dụng cho lợn .40

Trang 6

DANH MỤC HÌNH

Hình 1.1 Sơ đồ lai ghép điểm cắt .6Hình 2.1 Minh họa bánh xe rulet .13Hình 2.2 Biểu diễn giá trị của 29

Trang 7

MỤC LỤC

MỞ ĐẦU 1

Chương 1.CÁC KHÁI NIỆM CƠ BẢN VỀ GIẢI THUẬT DI TRUYỀN 3

1.1 Mở đầu 3

1.2 Các khái niệm cơ bản của giải thuật di truyền 4

1.2.1 Giới thiệu chung 4

1.2.2 Giải thuật di truyền đơn giản 5

Chương 2.VẤN ĐỀ BIỂU DIỄN NHIỄM SẮC THỂ TRONG GIẢI THUẬT DI TRUYỀN 11

2.1 Phương pháp biểu diễn nhiễm sắc thể bằng mã hóa nhị phân 11

2.2 Giải thuật di truyền với biểu diễn thực 26

2.2.1 Biểu diễn nhiễm sắc thể bằng số thực 26

2.2.2 Nhóm toán tử đột biến 27

2.2.3 Nhóm toán tử lai tạo 29

2.3 Giải thuật di truyền với biểu diễn nhiễm sắc thể bằng mã hóa ký tự 32 2.3.1 Bài toán người du lịch 32

2.3.2 Mã hóa ký tự và các kỹ thuật ghéo chép mới 32

Chương 3.ỨNG DỤNG GIẢI THUẬT DI TRUYỀN TRONG BÀI TOÁN TỐI ƯU HÓA KHẨU PHẦN THỨC ĂN CHĂN NUÔI 37

3.1 Bài toán tối ưu hóa khẩu phần thức ăn chăn nuôi 37

3.2 Vấn đề tối ưu số và xử lý ràng buộc 43

3.2.1 Bài toán tối ưu số 43

3.2.2 Đột biến đồng dạng 47

3.2.3 Đột biến biên 47

3.3.1 Đột biến không đồng dạng 47

3.3.2 Lai số học 48

3.3.3 Lai đơn giản 48

Trang 9

1

Trang 10

Đặt vấn đề

PHẦN MỞ ĐẦU

Trong các trang trại nuôi lợn, chăn nuôi lợn có hiệu quả và lợi nhuận phụthuộc vào sự hiểu biết về môi trường, y tế, sự quản lý, và dinhdưỡng Tuy nhiên, thực ăn gia súc chiếm từ 60 đến 70% của tổng chiphí của chăn nuôi lợn [5]

Vì vậy trong chăn nuôi công nghiệp, hầu hết trang trại cần phải lập khẩuphần thức ăn cho lợn càng rẻ càng tốt Năng lượng, chất béo, protein, khoángchất và vitamin phải được cung cấp và cân bằng để đáp ứng các yêu cầu vềtiêu chuẩn dinh dưỡng của lợn Ngoài ra, một số trang trại nuôi lợn có cácloại lợn nuôi khác nhau do đó cần chế độ dinh dưỡng khác nhau [5,6]

Bài toán lập khẩu phần thức ăn cho lợn là bài toán tối ưu về giá thànhnhưng phải đảm bảo các tiêu chuẩn dinh dưỡng Xét về tổng thể đây là bàitoán tối ưu với nhiều ràng buộc

Giải thuật di truyền là một trong những kỹ thuật tìm kiếm tối ưu giúp tagiải quyết được những vấn đề đã đặt ra ở trên, nó cho phép ta tìm kiếm lờigiải tối ưu trên các không gian lớn, nguyên tắc cơ bản của giải thuật di truyền

là mô phỏng quá trình chọn lọc của tự nhiên Cho đến nay lĩnh vực nghiêncứu về giải thuật di truyền đã thu được nhiều thành tựu, giải thuật di truyềnđược ứng dụng trong nhiều lĩnh vực phức tạp, các vấn đề khó có thể giảiquyết được bằng phương pháp thông thường [3,4]

Với những khả năng tiềm tàng của giải thuật di truyền đã là động lực và

lý do chính để tác giả chọn đề tài “Giải thuật di truyền và ứng dụng trong bàitoán tối ưu hóa khẩu phần thức ăn chăn nuôi”

Mục tiêu của đề tài

- Nghiên cứu các khái niệm cơ bản của giải thuật di truyền

Trang 11

- Nghiên cứu một số phương pháp biểu diễn nhiễm sắc thể trong giảithuật di truyền và các toán tử di truyền tương ứng

- Ứng dụng giải thuật di truyền để giải quyết bài toán tối ưu hóa khẩuphần thức ăn chăn nuôi

Phạm vi của đề tài

- Nghiên cứu các khái niệm cơ bản của giải thuật di truyền

- Nghiên cứu giải thuật di truyền sử dụng phương pháp biểu diễn nhiễmsắc thể bằng mã hóa nhị phân và các toán tử di truyền tương ứng

- Nghiên cứu giải thuật di truyền sử dụng phương pháp biểu diễn nhiễmsắc thể bằng mã hóa số thực và các toán tử di truyền tương ứng

- Ứng dụng giải thuật di truyền để giải quyết bài toán tối ưu hóa khẩuphần thức ăn chăn nuôi

Phương pháp nghiên cứu.

+ Nghiên cứu tài liệu, các bài báo trên các tạp chí và trên internet và viếttổng quan để nắm vững nội dung lý thuyết chuyên ngành và khả năng ứngdụng

+ Nghiên cứu so sánh tìm ra sự khác biệt giữa các cách tiếp cận, giữa cácphương pháp lập luận làm cơ sở cho việc đề xuất các giải pháp của đề tài.+ Lập trình mô phỏng thuật toán trên máy tính để thuận lợi trong nghiêncứu hiệu quả của phương pháp

Trang 12

Chương 1 CÁC KHÁI NIỆM CƠ BẢN VỀ GIẢI THUẬT DI TRUYỀN

1.1 Mở đầu

Giải thuật di truyền (Gennetic Algorithm, viết tắt là GA) là giải thuật tìmkiếm, chọn lựa các giải pháp tối ưu để giải quyết các bài toán khác nhau dựatrên cơ chế chọn lọc tự nhiên của ngành di truyền học

Trong cơ thể sinh vật, các gen liên kiết với nhau theo cấu trúc dạng chuỗigọi là nhiễm sắc thể, nó đặc trưng cho mỗi loài và quyết định sự sống còn của

cơ thể đó

Một loài muốn tồn tại phải thích nghi với môi trường, cơ thể sống nàothích nghi với môi trường hơn thì sẽ tồn tại và sinh sản với số lượng ngàycàng nhiều hơn, trái lại những loài không thích nghi với môi trường sẽ dầndần bị diệt chủng

Môi trường tự nhiên luôn biến đổi, nên cấu trúc nhiễm sắc thể cũng thayđổi để thích nghi với môi trường, và ở thế hệ sau luôn có độ thích nghi caohơn ở thế hệ trước Cấu trúc này có được nhờ vào sự trao đổi thông tin ngẫunhiên với môi trường bên ngoài hay giữa chúng với nhau

Dựa vào đó các nhà khoa học máy tính xây dựng nên một giải thuật tìmkiếm tinh tế dựa trên cơ sở chọn lọc tự nhiên và quy luật tiến hóa, gọi là giảithuật di truyền

Các nguyên lý cơ bản của giải thuật được tác giả Holland đề xuất lần đầuvào năm 1962 Nền tảng toán học của giải thuật GA được tác giả công bố

trong cuốn sách “Sự thích nghi trong các hệ thống tự nhiên và nhân tạo” xuất

bản năm 1975

Giải thuật GA được xem như một phương pháp tìm kiếm có bước chuyển

Trang 13

ngẫu nhiên mang tính tổng quát để giải các bài toán tối ưu hoá [1,3,4].

1.2 Các khái niệm cơ bản của giải thuật di truyền

1.2.1 Giới thiệu chung

Giải thuật GA ,[3,4] thuộc lớp các giải thuật tìm kiếm tiến hoá Khác vớiphần lớn các giải thuật khác tìm kiếm theo điểm, giải thuật GA 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ử di truyền, giải thuật GA tráo đổithô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ậttại một cực trị địa phương Trong thực tế, giải thuật GA đã được áp dụngthành công trong nhiều lĩnh vực

Giải thuật GA lần đầu được tác giả Holland giới thiệu vào năm 1962 Giải

thuật GA mô phỏng quá trình tồn tại của các cá thể có độ phù hợp tốt nhất

thông qua quá trình chọn lọc tự nhiên, sao cho khi giải thuật được thực thi,

quần thể các lời giải tiến hoá tiến dần tới lời giải mong muốn.

Giải thuật GA duy trì một quần thể các lời giải có thể của bài toán tối ưuhoá Thông thường, các lời giải này được mã hoá dưới dạng một chuỗi các

gien Giá trị của các gien có trong chuỗi được lấy từ một bảng các ký tự được định nghĩa trước Mỗi chuỗi gien được liên kết với một giá trị được gọi là độ phù hợp Độ phù hợp được dùng trong quá trình chọn lọc.

Cơ chế chọn lọc đảm bảo các cá thể có độ phù hợp tốt hơn có xác suấtđược lựa chọn cao hơn Quá trình chọn lọc sao chép các bản sao của các cá

thể có độ phù hợp tốt vào một quần thể tạm thời được gọi là quần thể bố mẹ.

Các cá thể trong quần thể bố mẹ được ghép đôi một cách ngẫu nhiên và tiến

hành lai ghép tạo ra các cá thể con.

Trang 14

Sau khi tiến hành quá trình lai ghép, giải thuật GA mô phỏng một quá

trình khác trong tự nhiên là quá trình đột biến, trong đó các gien của các cá

thể con tự thay đổi giá trị với một xác suất nhỏ

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

GA để giải một bài toán [1,3,4], cụ thể là:

+ Mã hoá 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 đề 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 GA đầu

tiên Giải thuật này được gọi là giải thuật di truyền đơn giản (SGA).

1.2.2 Giải thuật di truyền đơn giản

Trong giải thuật di truyền của mình J H Holland sử dụng mã hoá nhịphân để biểu diễn các cá thể, lý do là phần lớn các bài toán tối ưu hoá đều cóthể được mã hoá thành chuỗi nhị phân khá đơn giản [3]

Hàm mục tiêu, hàm cần tối ưu, được chọn làm cơ sở để tính độ phù hợp

của từng chuỗi cá thể Giá trị độ phù hợp của từng cá thể sau đó được dùng đểtính toán xác suất chọn lọc

Sơ đồ chọn lọc trong giải thuật SGA là sơ đồ chọn lọc tỷ lệ Trong sơ đồ

Trang 15

chọn lọc này, cá thể có độ phù hợp f i có xác suất chọn lựa

p i f i / j 1 f , ở đây N là số cá thể có trong quần thể.

Trang 16

Toán tử lai ghép trong giải thuật SGA là toán tử lai ghép một điểm cắt Giả sử chuỗi cá thể có độ dài L (có L bít), toán tử lai ghép được tiến hành qua

hai giai đoạn là:

+ Hai cá thể trong quần thể bố mẹ được chọn một cách ngẫu nhiên vớiphân bố xác suất đều

+ Sinh một số ngẫu nhiên j trong khoảng [1, L - 1] Hai cá thể con được tạo ra bằng việc sao chép các ký tự từ 1 đến j và tráo đổi các ký tự từ j + 1 đến L.

Hai cá thể bố mẹ Hai cá thể con

1 0 0 1 1 1 0 1 0 1 1 0 0 1 1 1 0 1 1 0

0 1 0 0 1 1

Vị trí lai

1 1 1 0 0 1 0 0 1 1 1 1 0 1

Hình 1.1 Sơ đồ lai ghép 1 điểm cắt

Điều đáng lưu ý là giải thuật GA không yêu cầu toán tử lai ghép luôn xảy

ra đối với hai cá thể bố mẹ được chọn Sự lai ghép chỉ xảy ra khi số ngẫunhiên tương ứng với cặp cá thể bố mẹ được sinh ra trong khoảng [0, 1) không

lớn hơn một tham số p c (gọi là xác suất lai ghép) Nếu số ngẫu nhiên này lớn hơn p c, toán tử lai ghép không xảy ra Khi đó hai cá thể con là bản sao trựctiếp của hai cá thể bố mẹ

Tiếp theo, J H Holland xây dựng toán tử đột biến cho giải thuật SGA

Toán tử này được gọi là toán tử đột biến chuẩn Toán tử đột biến duyệt từng

gien của từng cá thể con được sinh ra sau khi tiến hành toán tử lai ghép và

Trang 17

tiến hành biến đổi giá trị từ 0 sang 1 hoặc ngược lại với một xác suất p m được

gọi là xác suất đột biến.

Cuối cùng là chiến lược thay thế hay còn gọi là toán tử tái tạo Trong giải thuật SGA, quần thể con được sinh ra từ quần thể hiện tại thông qua 3 toán tử

là chọn lọc, lai ghép và đột biến thay thế hoàn toàn quần thể hiện tại và trở thành quần thể hiện tại của thế hệ tiếp theo

Sơ đồ tổng thể của giải thuật được thể hiện qua thủ tục GSA() trình bàydưới đây

Thủ tục SGA() /* Giải bài toán tối ưu */

do { // Chuyển đổi giá trị hàm mục tiêu thành giá trị độ phù hợp và

// tiến hành chọn lọc tạo ra quần thể bố mẹ P parent

Pparent = chọn_lọc (Pk );

// Tiến hành lai ghép và đột biến tạo ra quần thể cá thể con P child

Pchild = đột_biến (lai_ghép (Pparent));

// Thay thế quần thể hiện tại bằng quần thể cá thể con

k = k + 1;

Trang 18

Pk = Pchild;tính_hàm_mục_tiêu (Pk);

// Nếu giá trị hàm mục tiêu obj của cá thể tốt nhất X trong quần // thể P k lớn hơn giá trị hàm mục tiêu của X best thì thay thế lời giải

Giải thuật di truyền phụ thuộc vào bộ 4 (N, p c , p m , G), trong đó:

N - số cá thể trong quần thể; p c - xác suất lai ghép; p m - xác suất đột biến;

G - số thế hệ cần tiến hoá

Đó chính là các tham số điều khiển của giải thuật SGA Cá thể có giá trị hàm mục tiêu tốt nhất của mọi thế hệ là lời giải cuối cùng của giải thuật SGA.Quần thể đầu tiên được khởi tạo một cách ngẫu nhiên

Ví dụ: xét bài toán tìm max của hàm f(x) = x2 với x là số nguyên trên đoạn

[0,31]

Để sử dụng giải thuật di truyền ta mã hóa mỗi số nguyên x trong đoạn [0,31] bởi một số nhị phân có độ dài 5, chẳng hạn chuỗi 11000 là mã của sốnguyên 24

Hàm thích nghi được xác định chính là hàm f(x)=x2

Quần thể ban đầu gồm 4 cá thể (kích thước quần thể n=4)

Trang 19

Thực hiện quá trình chọn lọc ta có bảng sau, trong bảng này ta thấy cá thể

2 có độ thích nghi cao nhất nên nó được chọn 2 lần, cá thể 3 có độ thích nghịthấp nhất không được chọn lần nào, mỗi cá thể 1 và 4 được chọn 1 lần

Bảng 1.1 Minh họa quá trình chọn lọc

Số hiệu

cá thể

Quần thể ban đầu

x Độ thích nghi

f(x)=x 2

Số lần được chọn

Bảng 1.2 Minh họa quá trình lai ghép

Quần thể sau

chọn lọc

Điểm ghép

Quần thể sau lai ghép

Trang 20

Để thực hiện quá trình đột biến, ta chọn xác suất đột biến pm=0.001, tức là

ta hy vọng có 5 x 4 x 0.001 = 0.02 bit được đột biến, do đó sẽ không có bitnào được đột biến

Như vậy thế hệ quần thể mới là quần thể sau lai ghép

Ta thấy rằng trong thế hệ ban đầu độ thích nghi cao nhất là 576 và độthích nghi trung bình là 292 Còn trong thế hệ mới, độ thích nghi cao nhất là

729 và độ thích nghi trung bình là 438 Như vậy chỉ qua một thế hệ, các cá thể

đã “tốt lên” rất nhiều

Trang 21

Chương 2 VẤN ĐỀ BIỂU DIỄN NHIỄM SẮC THỂ TRONG GIẢI THUẬT DI TRUYỀN 2.1 Phương pháp biểu diễn nhiễm sắc thể bằng mã hóa nhị phân

Giải thuật di truyền với biểu diễn nhiễm sắc thể bằng mã hóa nhị phân đãđược đề cập sơ bộ trong chương 1 Trong phần này chúng ta sẽ tìm hiểu sâuhơn về giải thuật di truyền này thông qua một bài toán tối ưu số [4]

Không làm mất tính tổng quát, ta giả định bài toán tối ưu là bài toán tìm

cực đại của hàm nhiều biến f Bài toán tìm cực tiểu hàm g chính là bài toán tìm cực đại hàm f = -g, hơn nữa ta có thể giả định hàm mục tiêu f có giá trị

dương trên miền xác định của nó, nếu không ta có thể cộng thêm một hằng số

C dương

Cụ thể bài toán được đặt ra như sau: Tìm cực đại một hàm k biến f(x1, ,

xk): R k R Giả sử thêm là mỗi biến x i có thể nhận giá trị trong miền D i =

[a i ,b i ] R và f(x1, , xk) 0 với mọi x i D i Ta muốn tối ưu hàm f với độ chính xác cho trước: giả sử cần n số lẻ đối với giá trị của các biến

Để đạt được độ chính xác như vậy mỗi miền D i cần được phân cắt thành

(b i - a i) 10n miền con bằng nhau, gọi m là số nguyên nhỏ nhất sao cho

Trang 22

1 2 1

Như vậy mỗi biến x i được biểu diễn bằng một chuỗi nhị phân có chiều dài

m i Biểu diễn như trên rõ ràng thoả mãn điều kiện về độ chính xác theo yêucầu Công thức sau tính giá trị thập phân của mỗi chuỗi nhị phân biểu diễn

b i a i biến x i x i a i decimal(string 2 )

Trang 23

Trong đó hàm decimal(string2) cho biết giá trị thập phân của chuỗi nhịphân đó.

Bây giờ, mỗi nhiễm sắc thể (là một lời giải) được biểu diễn bằng một

Trang 24

k

chuỗi nhị phân có chiều dài m

i 1 m i , m1 bit đầu tiên biểu diễn giá trị trong

khoảng [a1,b1], m2 bit kế tiếp biểu diễn giá trị trong khoảng [a2,b2], …

Để khởi tạo quần thể, chỉ cần đơn giản tạo pop_size nhiễm sắc thể ngẫu

nhiên theo từng bit

Phần còn lại của giải thuật di truyền rất đơn giản, trong mỗi thế hệ, ta

lượng giá từng nhiễm sắc thể (tính giá trị hàm f trên các chuỗi biến nhị phân

đã được giải mã), chọn quần thể mới thoả mãn phân bố xác suất dựa trên độthích nghi và thực hiện các phép đột biến và lai để tạo ra các cá thể thế hệmới

Sau một số thế hệ, khi không còn cải thiện thêm được gì nữa, nhiễm sắcthể tốt nhất sẽ được xem như lời giải của bài toán tối ưu (thường là toàn cục).Thông thường ta cho dừng giải thuật sau một số bước lặp cố định tuỳ ý tuỳthuộc vào điều kiện tốc độ và tài nguyên máy tính

Đối với tiến trình chọn lọc (chọn quần thể mới thoả phân bố xác suất dựatrên các độ thích nghi), ta dùng bánh xe quay Rulet với các rãnh được địnhkích thước theo độ thích nghi Ta xây dựng bánh xe Rulet như sau (giả địnhrằng các độ thích nghi đều dương)

+ Tính độ thích nghi eval(v i ) của mỗi nhiễm sắc thể v i (i = 1,…, pop_size)

+ Tìm tổng giá trị thích nghi toàn quần thể: F pop

Trang 25

+ Tính vị trí xác suất q i của mỗi nhiễm sắc thể v i , (i = 1,…, pop_size):

Trang 26

i

14

Tiến trình chọn lọc thực hiện bằng cách quan bánh xe Rulet pop_size lần,

mỗi lần chọn một nhiễm sắc thể từ quần thể hiện hành vào quần thể mới theocách sau:

+ Phát sinh ngẫu nhiên một số r trong khoảng [0 1]

+ Nếu r q1 thì chọn nhiễm sắc thể đầu tiên v1, ngược lại thì chọn nhiễm

sắc thể thứ i, v i (2 i pop_size) sao cho q i-1 r q i

Như vậy có thể có một số nhiễm sắc thể được chọn nhiều lần, điều này làphù hợp vì các nhiếm sắc thể tốt nhất cần có nhiều bản sao hơn, các nhiễm sắcthể trung bình không thay đổi, các nhiễm sắc thể kém nhất thì chết đi

eval(v ) eval(v )

eval(v )

Hình 2.1 Minh họa bánh xe rulet

Bây giờ ta có thể áp dụng phép toán di truyền: kết hợp và lai ghép các cáthể trong quần thể vừa được chọn từ quần thể cũ như trên

Trang 27

Một trong những tham số của giải thuật là xác suất lai p c Xác suất này

cho ta số nhiếm sắc thể pop_size p c mong đợi, các nhiễm sắc thể này đượcdùng trong tác vụ lai tạo Ta tiến hành theo cách sau đây:

Đối với mỗi nhiễm sắc thể trong quần thể mới:

+ Phát sinh ngẫu nhiên một số r trong khoảng [0,1]

+ Nếu r p c, hãy chọn nhiễm sắc thể đó để lai tạo

Bây giờ ta ghép đôi các nhiễm sắc thể đã được chọn một cách ngẫu nhiên:đối với mỗi cặp nhiễm sắc thể được ghép đôi, ta phát sinh ngẫu nhiên một số

nguyên pos trong khoảng [1, m-1] (m là tổng chiều dài - số bit - của một nhiễm sắc thể) Số pos cho biết vị trí của điểm lai Hai nhiễm sắc thể:

(b1b2…b pos b pos+1 …b m ) và (c1c2.…c pos c pos+1 …c m)

được thay bằng một cặp con của chúng:

(b1b2…b pos c pos+1 …c m ) và (c1c2.…c pos b pos+1 …b m)

Phép toán kế tiếp là phép đột biến, được thực hiện trên cơ sở từng bit Một

tham số khác của giải thuật là xác suất đột biến p m, cho ta số bit đột biến

p m m pop_size mong đợi Mỗi bit (trong tất cả các nhiễm sắc thể trong quần

thể) có cơ hội bị đột biến như nhau, nghĩa là đổi từ 0 thành 1 hoặc ngược lại

Vì thế ta tiến hành theo cách sau đây:

Đối với mỗi nhiễm sắc thể trong quần thể hiện hành (nghĩa là sau khi lai)

và đối với mỗi bit trong nhiễm sắc thể:

+ Phát sinh ngẫu nhiên một số r trong khoảng [0,1]

+ Nếu r<p m hãy đột biến bit đó

Sau quá trình chọn lọc, lai và đột biến, quần thể mới đến lượt lượng giá

kế tiếp của nó Lượng giá này được dùng để xây dựng phân bố xác suất (cho

Trang 28

tiến trình chọn lựa kế tiếp), nghĩa là để xây dựng lại bánh xe Rulet với cácrãnh được định kích thước theo các giá trị thích nghi hiện hành Phần còn lạicủa tiến hoá chỉ là lặp lại chu trình của những bước trên

Toàn bộ tiến trình sẽ được minh hoạ trong một ví dụ cực đại hoá hàm:

Trang 29

Giả sử cần tính chính xác đến 4 số lẻ đối với mỗi biến Miền của biến x1

có chiều dài 15.1, điều kiện chính xác đòi hỏi đoạn [-3.0, 12.1] cần được chiathành các khoảng có kích thước bằng nhau, ít nhất là 15.1 10000 khoảng,điều này cần 18 bit làm phần đâu tiên của nhiễm sắc thể: 217 151000 218

Miền của biến x2 có chiều dài là 1.7, điều kiện chính xác đòi hỏi đoạn[4.1,5.8] cần được chia thành các khoảng có kích thước bằng nhau là1.7 10000 khoảng, điều này nghĩa là cần 15 bit làm thành phần cuối của nhiễm sắc thể: 214 17000 215

Chiều dài toàn bộ nhiễm sắc thể (vectơ lời giải) là m =18+15 = 33

Để cực đại hoá hàm f bằng giải thuật di truyền ta tạo ra một quần thể có pop_size = 20 nhiễm sắc thể Cả 33 bit trong tất cả các nhiễm sắc thể đều

được khởi tạo ngẫu nhiên

Giả sử sau tiến trình khởi tạo ta có quần thể sau đây:

v1 = (100110100000001111111010011011111)

v2 = (111000100100110111001010100011010)

v3 = (000010000011001000001010111011101)

v4 = (100011000101101001111000001110010)

Trang 30

Trong giai đoạn lượng giá ta giải mã từng nhiễm sắc thể và tính giá trị

hàm thích nghi từ các giá trị (x1, x2) mới giải mã, ta có

eval(v1) = f(6.084492,5.652242) = 26.019600

eval(v2) = f(10.348434,4.380264) = 7.580015

eval(v3) = f(-2.516603,4.390381) = 19.626329

eval(v4) = f(5.278638,5.593460) = 17.406725

Trang 31

Rõ ràng nhiễm sắc thể v15 mạnh nhất và nhiễm sắc thể v2 yếu nhất

Tiếp theo ta xây dựng bánh xe Rulet cho tiến trình chọn lọc Tổng độthích nghi của quần thể là:

Trang 34

Số đầu tiên r = 0.513870 lớn hơn q10 và nhỏ hơn q11, nghĩa là nhiễm sắc

thể v11 được chọn vào quần thể mới, số thứ hai r = 0.175741 lớn hơn q3 nhỏ

hơn q4, nghĩa là v4 được chọn cho quần thể mới,…

Như vậy quần thể mới gồm các nhiễm sắc thể sau:

v’1 = v11 = (011001111110110101100001101111000)

Trang 35

Tiếp theo ta sẽ áp dụng phép toán kết hợp, lai cho những cá thể trong

quần thể mới (các véc tơ v’i) Xác suất lai ghép Pc = 0.25 vì thế ta hy vọng

25% nhiễm sắc thể sẽ tham gia lai tạo Ta tiến hành theo cách sau:

Trang 36

+ Đối với mỗi nhiễm sắc thể trong quần thể mới ta phát sinh ngẫu nhiên

một số r trong khoảng [0,1],

+ Nếu r 0.25 ta chọn một nhiễm sắc thể cho trước để lai tạo

Giả sử thứ tự các số ngẫu nhiên là

ngẫu nhiên pos thuộc khoảng {1, ,32} Số pos cho biết vị trí của điểm lai tạo.

Cặp nhiễm sắc thể đầu tiên là:

Trang 38

Phép toán kế tiếp, đột biến thực hiện trên cơ sở từng bit một Xác suất đột

biến p m = 0.01, vì thế ta hy vọng 1/100 số bit sẽ qua đột biến Có 660 bit

(m pop_size = 33 20) trong toàn quần thể, ta hy vọng có 6.6 đột biến ở mỗi

thế hệ

Mỗi bit có cơ hội đột biến ngang nhau, nên với mỗi bit trong quần thể ta

phát sinh một số ngẫu nhiên r trong khoảng [0,1], nếu r 0.01 thì ta đột biến

bit này

Điều này có nghĩa ta phát sinh 660 số ngẫu nhiên Giả sử có 5 trong 660

số này nhỏ hơn 0.01 (bảng dưới)

Bảng 2.1 Minh họa quá trình đột biến

Vị trí bit Số ngẫu nhiên

Trang 40

eval(v1) = f(3.130078, 4.996097) = 23.410669

eval(v2) = f(5.279082, 5.054515) = 18.201083

eval(v3) = f(-2.516603, 4.390381) = 19.626329 eval(v4) = f(5.278638, 5.593460) = 17.406725 eval(v5) = f(-1.255173, 4.734458) = 25.341160 eval(v6) = f(-1.811725, 4.391937) = 18.100417 eval(v7) = f(-0.991471, 5.680258) = 16.020812 eval(v8) = f(4.910618, 4.703018) = 17.959701 eval(v9) = f(0.795406, 5.381472) = 16.127799 eval(v10) = f(-2.554851, 4.793707) = 21.278435 eval(v11) = f(3.130078, 4.996097) = 23.410669 eval(v12) = f(9.356179, 4.239457) = 15.011619

Ngày đăng: 24/02/2019, 21:36

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Nguyễn Duy Tiến , “Các mô hình xác suất và ứng dụng” , Đại học Quốc gia Hà Nội, 2002 Sách, tạp chí
Tiêu đề: Các mô hình xác suất và ứng dụng
[2] Ảnh hưởng của bổ sung các mức DL-Methionine trong khẩu phần đến khả năng cho thịt của con lai, Tạp chí khoa học Huế, Đại học Huế, Số 57, 2010 Sách, tạp chí
Tiêu đề: Tạp chí khoa học Huế
[3] Hoàng Kiếm, “Giải thuật di truyền – Cách giải tự nhiên các bài toán trên máy tính”, Nhà xuất bản khoa học kỹ thuật, 2000 Sách, tạp chí
Tiêu đề: Giải thuật di truyền – Cách giải tự nhiên các bài toán trênmáy tính
Nhà XB: Nhà xuất bản khoa học kỹ thuật
[4] Nguyễn Đình Thúc, “Trí tuệ nhân tạo - Lập trình tiến hoá”, Nhà xuất bản Giáo Dục, 2001Tiếng Anh Sách, tạp chí
Tiêu đề: Trí tuệ nhân tạo - Lập trình tiến hoá
Nhà XB: Nhà xuất bảnGiáo Dục
[5] Allan Danfổr, “A Pig Model for Feed Evaluation”,Springer Series in Information Berlin, 2010 Sách, tạp chí
Tiêu đề: A Pig Model for Feed Evaluation
[6] Mitchell Melanie, “An Introduction to Genetic Algorithms. A Bradford Book The MIT Press”, Cambridge, Massachusetts London, England. Fifth printing, 1999 Sách, tạp chí
Tiêu đề: An Introduction to Genetic Algorithms. ABradford Book The MIT Press
[7] A.Sukstrienwong, “Multi-Criteria Genetic Algorithms for Solving Pig Food Problems”, International Journal on Computer Science and Engineering (IJCSE). ISSN : 0975-3397 Vol. 3 No. 1 Jan 2011 Sách, tạp chí
Tiêu đề: Multi-Criteria Genetic Algorithms for Solving PigFood Problems
[8] Randy L. Haupt, Sue Ellen Haupt, “Practical Genetic Algorithms”, Second Edition, Copyright © 2004 John Wiley &amp; Sons, Inc Sách, tạp chí
Tiêu đề: Practical Genetic Algorithms
[9] Rustem Popa, “Genetic Algorithms in Applications”, Publisher: IN- TECH (March, 2012) Sách, tạp chí
Tiêu đề: Genetic Algorithms in Applications

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w