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

Thuật toán di truyền và một số ứng dụng với lớp các bài toán NP

78 372 1

Đ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 78
Dung lượng 1,21 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Thuật giải di truyền Genetic Algorithm - GA là một trong những kỹ thuật tìm kiếm lời giải tối ưu đã đáp ứng được yêu cầu của nhiều bài toán và ứng dụng.. Trong GA ta quan niệm quần thể l

Trang 1

LỜI CAM ĐOAN Sau quá trình học tập tại Trường Đại học công nghệ thông tin & truyền thông, với những kiến thức lý thuyết và thực hành đã tích lũy được, với việc vận

dụng các kiến thức vào thực tế, em đã tự nghiên cứu các tài liệu, các công trình nghiên cứu, đồng thời có sự phân tích, tổng hợp, đúc kết và phát triển để hoàn thành luận văn thạc sĩ của mình

Em xin cam đoan luận văn này là công trình do bản thân em tự tìm hiểu,

nghiên cứu và hoàn thành dưới sự hướng dẫn của thầy giáo TS Vũ Vinh Quang

Thái Nguyên, tháng 8 năm 2012

Sinh viên

Trần Vũ Minh

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

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

TRẦN VŨ MINH

THUẬT TOÁN DI TRUYỀN VÀ MỘT SỐ ỨNG DỤNG VỚI LỚP CÁC BÀI TOÁN NP

LUẬN VĂN THẠC SỸ CÔNG NGHỆ THÔNG TIN

Chuyên ngành: Khoa học máy tính

Mã số chuyên ngành: 60.48.01

Người hướng dẫn khoa học: TS Vũ Vinh Quang

Thái Nguyên - 2012

Trang 2

LỜI CẢM ƠN

Trong thời gian hai năm của chương trình đào tạo thạc sỹ, trong đó gần một nửa thời gian dành cho các môn học, thời gian còn lại dành cho việc lựa chọn đề tài, giáo viên hướng dẫn, tập trung vào nghiên cứu, viết, chỉnh sửa và hoàn thiện đề tài Với quỹ thời gian như vậy và với vị trí công việc đang phải đảm nhận, không riêng bản thân em mà hầu hết các sinh viên cao học muốn hoàn thành tốt luận văn của mình trước hết đều phải có sự sắp xếp thời gian hợp lý, có sự tập trung học tập và nghiên cứu với tinh thần nghiêm túc,

nỗ lực hết mình; tiếp đến cần có sự ủng hộ về tinh thần, sự giúp đỡ về chuyên môn một trong những điều kiện không thể thiếu quyết định đến việc thành công của đề tài

Để hoàn thành được đề tài này trước tiên em xin gửi lời cảm ơn đến thầy giáo

hướng dẫn TS Vũ Vinh Quang, người đã có những định hướng cho em về nội dung và

hướng phát triển của đề tài, người đã có những đóng góp quý báu cho em về những vấn đề chuyên môn của đề tài, giúp em tháo gỡ kịp thời những vướng mắc trong quá trình làm luận văn

Em cũng xin cám ơn các thầy cô giáo Trường Đại học Công nghệ thông tin và Truyền thông cũng như bạn bè cùng lớp đã có những ý kiến đóng góp bổ sung cho đề tài luận văn của em Xin cảm ơn gia đình, người thân cũng như đồng nghiệp luôn quan tâm, ủng hộ hỗ trợ về mặt tinh thần trong suốt thời gian từ khi nhận đề tài đến khi hoàn thiện đề tài này

Em xin hứa sẽ cố gắng hơn nữa, tự trau dồi bản thân, tích cực nâng cao năng lực chuyên môn của mình để sau khi hoàn thành đề tài này sẽ có hướng tập trung nghiên cứu sâu hơn, không ngừng hoàn thiện hơn nữa đề tài của mình để có những ứng dụng thực tiễn cao trong thực tế

Thái Nguyên, tháng 8 năm 2012

Sinh viên

Trần Vũ Minh

Trang 3

MỤC LỤC

Lời cam đoan i

Lời cảm ơn ii

Mục lục iii

Danh mục các ký hiệu, các chữ viết tắt .vi

Danh mục các bảng vii

Danh mục các hình viii

LỜI MỞ ĐẦU 1

CHƯƠNG 1 3

GIẢI THUẬT DI TRUYỀN 3

1.1 Giới thiệu về GA 3

1.2 Các khái niệm cơ bản 4

1.2.1 Cá thể, nhiễm sắc thể 4

1.2.2 Quần thể 4

1.2.3 Chọn lọc (Selection) 4

1.2.4 Lai ghép (Cross-over) 5

1.2.5 Đột biến (Mutation) 5

1.3 Mô hình GA 5

1.4 Các tham số của GA 7

1.4.1 Kích thước quần thể 7

1.4.2 Xác suất lai ghép 7

1.4.3 Xác suất đột biến 7

1.5 Cơ chế thực hiện GA 8

1.5.1 Mã hóa 8

1.5.2 Khởi tạo quần thể ban đầu 9

1.5.3 Xác định hàm thích nghi 9

1.5.4 Cơ chế lựa chọn 10

1.5.5 Các toán tử di truyền 11

1.6 Thuật toán di truyền kinh điển 13

Trang 4

1.6.1 Mã hóa 13

1.6.2 Toán tử chọn lọc 13

1.6.3 Toán tử lai ghép 14

1.6.4 Toán tử đột biến 16

1.6.5 Thuật toán di truyền mã hóa số thực (RCGA) 18

CHƯƠNG 2 25

CƠ SỞ TOÁN HỌC CỦA GIẢI THUẬT DI TRUYỀN 25

2.1 Định lý sơ đồ của Holland 25

2.1.1 Một số khái niệm 25

2.1.2 Định lý sơ đồ (Holland 1975) 26

2.2 Mô hình Markov của GA 27

2.2.1 Tính Markov 28

2.2.2 Xích Markov trong GA 29

2.2.3 Sự hội tụ của thuật toán di truyền 29

CHƯƠNG 3 32

GIẢI THUẬT DI TRUYỀN ĐỐI VỚI MỘT SỐ BÀI TOÁN THUỘC LỚP NP 3.1 Khái niệm về lớp các bài toán NP 32

3.2 Thuật toán di truyền với bài toán TSP 33

3.2.1 Giới thiệu bài toán 33

3.2.2 Mô tả bài toán 34

3.2.3 Giải thuật GA đối với bài toán TSP 36

3.3 Thuật toán GA giải bài toán TSP 39

3.3.1 Biểu diễn NST 39

3.3.2 Khởi tạo quần thể ban đầu 39

3.3.3 Chọn hàm thích nghi 39

3.3.4 Các toán tử di truyền 39

3.3.5 Toán tử đột biến 39

3.4 Thuật toán di truyền với bài toán tách từ trong văn bản 48

3.4.1 Một số thuật toán tách từ tiếng Việt hiện nay 50

Trang 5

3.4.2 Công cụ tách từ dùng GA 52

3.4.3 Công cụ Opensource tách từ tiếng việt 59

KẾT LUẬN 67

TÀI LIỆU THAM KHẢO 68

NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN 69

NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN 70

Trang 6

DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT

GA – Genetic Algorithm: giải thuật di truyền

TSP - Travelling Salesman Problems: bài toán người du lịch

EC - Evolutionary computation: tính toán tiến hóa

EP - Evolutionary Programming: quy hoạch tiến hóa

ES - Evolutionary Strategies: các chiến lược tiến hóa

GP - Genetic Programming: lập trình di truyền

CS - Classifier Systems: các hệ thống phân loại

RCGA: thuật toán di truyền mã hóa số thực

BLX-α - Blend Crossover: lai ghép BLX-α

CMX - Center of Mass Crossover: lai ghép CMX

NP-hard: bài toán NP khó

NP-complete: bài toán NP đầy đủ

WFST - Weighted finit-state Transducer: mô hình mạng chuyển dịch trạng thái

hữu hạn có trọng số

IGATEC - Internet and Genetics Algorithm-based Text Categorization for

Documents in Vietnamese: Phương pháp tách từ tiếng Việt dựa trên thống kê từ Internet và thuật toán di truyền

df - document frequency: tần số tài liệu

fitness: độ thích nghi

Trang 7

DANH MỤC CÁC BẢNG

Bảng 1: Các tham số điều khiển hoạt động của thuật giải di truyền

Bảng 2 Thống kê độ dài từ trong từ điển

Bảng 3 Tham số thực hiện GA

Bảng 4 Gói vn.hus.mim, tokenizer và các gói con

Trang 8

Hình 5: Sự phân lớp các bài toán

Hình 6: Giao diện chương trình TSP

Hình 7: Giao diện nhập dữ liệu chương trình TSP

Hình 8: Giao diện kết quả chương trình TSP

Hình 9 Biểu diễn cá thể bằng các bit 0,1

Hình 10 Thang tỉ lệ phát sinh loại từ

Trang 9

LỜI MỞ ĐẦU

Hiện nay trong ngành khoa học máy tính, việc tìm kiếm lời giải tối ưu cho các bài toán là vấn đề luôn được các nhà khoa học đặc biệt quan tâm Mục đích chính của các thuật toán tìm kiếm lời giải là tìm ra lời giải tối ưu cho bài toán trong thời gian nhỏ nhất Các thuật toán như tìm kiếm không có thông tin, vét cạn (tìm kiếm trên danh sách, trên cây hoặc đồ thị ) hoặc các thuật toán tìm kiếm có thông tin được sử dụng nhiều trong không gian tìm kiếm nhỏ Đối với không gian tìm kiếm lớn, việc tìm kiếm các lời giải tối ưu cho bài toán gặp nhiều khó khăn Do đó, cần thiết phải có những thuật giải tốt và sử dụng kỹ thuật trí tuệ nhân tạo khi giải quyết các bài toán có không gian tìm kiếm lớn Thuật giải di truyền (Genetic Algorithm - GA) là một trong những kỹ thuật tìm kiếm lời giải tối ưu đã đáp ứng được yêu cầu của nhiều bài toán và ứng dụng Cùng với logic mờ, GA được ứng dụng rất rộng rãi trong các lĩnh vực phức tạp Sự kết hợp giữa GA và logic mờ đã chứng tỏ được hiệu quả trong các vấn đề khó mà trước đây thường được giải quyết bằng các phương pháp thông thường hay các phương pháp cổ điển, nhất là trong các bài toán cần có

sự lượng giá, đánh giá sự tối ưu của kết quả thu được Chính vì vậy, GA đã trở thành một trong những đề tài nghiên cứu thu hút được nhiều sự quan tâm và hiện nay đã và đang đem đến rất nhiều ứng dụng trong thực tiễn

Xuất phát từ thuyết tiến hóa muôn loài của Darwin, GA là một kỹ thuật chung giúp giải quyết vấn đề bài toán bằng cách mô phỏng sự tiến hóa của con người hay của sinh vật nói chung trong những điều kiện được qui định sẵn của môi trường GA là một thuật giải và mục tiêu của GA không nhằm đưa ra lời giải chính xác tối ưu mà là đưa ra lời giải tương đối tối ưu

John Holland (1975) và Goldberg (1989) đã đề xuất và phát triển GA, là thuật giải tìm kiếm dựa trên cơ chế chọn lọc và di truyền tự nhiên Thuật giải này sử dụng các nguyên lý di truyền về sự thích nghi và sự sống các cá thể thích nghi nhất trong

tự nhiên

Trang 10

Ngày nay, GA được ứng dụng khá nhiều trong các lĩnh vực như khoa học, kinh doanh và giải trí Đầu tiên phải kể đến là các bài toán tối ưu bao gồm: tối ưu số

và tối ưu tổ hợp; đã sử dụng GA để tìm lời giải như là bài toán người du lịch (Travelling Salesman Problems - TSP)

Một ứng dụng khác cũng đang được ứng dụng rộng rãi của GA là giải quyết vấn đề bùng nổ về lượng thông tin trên mạng internet bao gồm: thư viện điện tử, thông tin điện tử dẫn đến phát sinh một số lượng lớn văn bản với tốc độ tăng chóng mặt Vấn đề làm sao để tổ chức và tìm kiếm một lượng thông tin lớn như vậy một cách có hiệu quả? GA hiện đang được ứng dụng hiệu quả trong việc phân loại thông tin phục vụ cho việc tìm kiếm văn bản

Với những lý do trên, em chọn đề tài: “Thuật toán di truyền và một số ứng dụng với lớp các bài toán NP” làm luận văn tốt nghiệp

Nội dung chính của luận văn gồm 3 chương:

Chương 1 trình bày các khái niệm cơ bản, mô hình, các tham số cơ bản, các

phép toán, cơ chế thực hiện tổng quát của thuật toán di truyền, thuật toán di truyền

mã hóa số thực

Chương 2 trình bày cơ sở toán học về sự hội tụ của thuật toán di tuyền thông

qua mô hình Markov và định lý sơ đồ của Holland

Chương 3 trình bày hai nội dung chính:

+ Giới thiệu bài toán người du lịch (Travelling Salesman Problems – TSP) là một trong những bài toán thuộc lớp NP và phương pháp giải bài toán này bằng thuật toán di truyền

+ Giới thiệu về bài toán tách từ trong văn bản, ứng dụng của GA đối với bài toán tách từ trong văn bản thông qua bộ công cụ tách từ dùng thuật giải di truyền

vnToolkit 3.0

Các kết quả lý thuyết về bài toán TSP và bài toán tách từ trong văn bản đã được kiểm nghiệm thông qua các chương trình thực nghiệm viết trên nền ngôn ngữ C# và Java

Trang 11

Chương 1 GIẢI THUẬT DI TRUYỀN 1.1 Giới thiệu về GA

Trong công nghệ thông tin, GA là một thành phần của Tính toán tiến hóa (Evolutionary computation – EC), một lĩnh vực được coi là có tốc độ phát triển

nhanh của trí tuệ nhân tạo Có thể chia EC thành 5 hướng nghiên cứu như sau :

- GA (Genetic Algorithm - GA): Dựa vào quá trình di truyền trong tự nhiên

để cải tiến lời giải qua các thế hệ bắt nguồn từ một tập các lời giải ban đầu

- Quy hoạch tiến hoá (Evolutionary Programming - EP): Dựa vào quy luật

tiến hoá, tìm phương pháp kết hợp đủ khả năng giải quyết trọn vẹn một bài toán từ một lớp các phương pháp giải quyết được một số phần của bài toán

- Các chiến lược tiến hoá (Evolutionary Strategies - ES): Dựa trên một số

chiến lược ban đầu, tiến hoá để tạo ra những chiến lược mới phù hợp với môi trường thực tế một cách tốt nhất

- Lập trình di truyền (Genetic Programming - GP): Mở rộng GA trong lĩnh

vực các chương trình của máy tính Mục đích của nó là để sinh ra một cách tự động các chương trình máy tính giải quyết một cách tối ưu một vấn đề cụ thể

- Các hệ thống phân loại (Classifier Systems- CS): Các GA đặc biệt được

dùng trong việc học máy và việc phát hiện các quy tắc trong các hệ dựa trên các quy tắc

GA cũng như các thuật toán tiến hoá đều được hình thành dựa trên một quan niệm được coi là một tiên đề phù hợp với thực tế khách quan Đó là quan niệm

"Quá trình tiến hoá 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 hoá thể hiện tính tối ưu ở chỗ thế hệ sau bao giờ

cũng tốt hơn thế hệ trước

Sự hình thành và phát triển của GA trên thế giới có thể được điểm qua các mốc thời gian quan trọng như sau:

Trang 12

Năm 1960, ý tưởng đầu tiên về Tính toán tiến hoá được Rechenberg giới

thiệu trong công trình “Evolution Strategies” (Các chiến lược tiến hoá) Ý tưởng này sau đó được nhiều nhà nghiên cứu phát triển

Năm 1975, Giải thuật gen do John Holland phát minh và được phát triển bởi

ông cùng với các đồng nghiệp và những sinh viên Cuốn sách "Adaption in Natural and Artificial Systems" (Sự thích nghi trong các hệ tự nhiên và nhân tạo) đã tổng hợp các kết quả của quá trình nghiên cứu và phát triển đó

Năm 1992, John Koza đã dùng GA để xây dựng các chương trình giải quyết

một số bài toán và gọi phương pháp này là “lập trình gen”

Ngày nay GA càng trở nên quan trọng, đặc biệt là trong lĩnh vực tối ưu hoá, một lĩnh vực có nhiều bài toán thú vị, được ứng dụng nhiều trong thực tiễn nhưng thường khó và chưa có giải thuật hiệu quả để giải

1.2 Các khái niệm cơ bản

1.2.2 Quần thể

Quần thể là một tập hợp các cá thể có cùng một số đặc điểm nào đấy Trong

GA ta quan niệm quần thể là một tập các lời giải của một bài toán

1.2.3 Chọn lọc (Selection)

Trong tự nhiên, quá trình chọn lọc và đấu tranh sinh tồn đã làm thay đổi các cá thể trong quần thể Những cá thể tốt, thích nghi được với điều kiện sống thì có khả năng đấu tranh lớn hơn, do đó có thể tồn tại và sinh sản Các cá thể không thích nghi được với điều kiện sống thì dần mất đi Dựa vào nguyên lý của quá trình chọn lọc và đấu tranh sinh tồn trong tự nhiên, chọn lựa các cá thể trong GA chính là cách

Trang 13

chọn các cá thể có độ thích nghi tốt để đƣa vào thế hệ tiếp theo hoặc để cho lai ghép, với mục đích là sinh ra các cá thể mới tốt hơn Có nhiều cách để lựa chọn nhƣng cuối cùng đều nhằm đáp ứng mục tiêu là các cá thể tốt sẽ có khả năng đƣợc chọn cao hơn

1.2.4 Lai ghép (Cross-over)

Lai ghép trong tự nhiên là sự kết hợp các tính trạng của bố mẹ để sinh ra thế

hệ con Trong GA, lai ghép đƣợc coi là một sự tổ hợp lại các tính chất (thành phần) trong hai lời giải cha mẹ nào đó để sinh ra một lời giải mới mà có đặc tính mong muốn là tốt hơn thế hệ cha mẹ Đây là một quá trình xảy ra chủ yếu trong GA

1.2.5 Đột biến (Mutation)

Đột biến là một sự biến đổi tại một (hay một số) gen của NST ban đầu để tạo

ra một NST mới Đột biến có xác suất xảy ra thấp hơn lai ghép Đột biến có thể tạo

ra một cá thể mới tốt hơn hoặc xấu hơn cá thể ban đầu Tuy nhiên trong GA thì ta luôn muốn tạo ra những phép đột biến cho phép cải thiện lời giải qua từng thế hệ

1.3 Mô hình GA

Với các khái niệm đƣợc giới thiệu ở trên, GA đƣợc mô tả bởi sơ đồ sau đây

Trang 14

Nhận các tham số của bài toán

Khởi tạo quần thể ban đầu

Kết thúc

Bắt đầu

Lựa chọn giải pháp tốt

nhất

Hình 1: Sơ đồ mô tả GA

1 Xác lập các tham số ban đầu của bài toán

2 Khởi tạo: Sinh ngẫu nhiên một quần thể gồm n cá thể (là n lời giải ban

đầu của bài toán)

3 Xác lập quần thể mới: tạo quần thể mới bằng cách lặp lại các bước sau

cho đến khi quần thể mới hoàn thành, bao gồm:

3.1 Tính độ thích nghi của mỗi cá thể

3.2 Kiểm tra điều kiện kết thúc giải thuật

3.3 Chọn lọc các cá thể bố mẹ từ quần thể cũ theo độ thích nghi của chúng (cá thể có độ thích nghi càng cao thì càng có nhiều khả năng được chọn)

3.4 Tiến hành lai ghép các cặp bố-mẹ với một xác suất lai ghép được chọn để tạo ra một cá thể mới

Trang 15

3.5 Tiến hành đột biến với xác suất đột biến được chọn xác định cá thể đột biến

4 Kiểm tra điều kiện dừng: Nếu điều kiện được thỏa mãn thì thuật toán kết

thúc và trả về lời giải tốt nhất chính là quần thể hiện tại

1.4 Các tham số của GA

1.4.1 Kích thước quần thể

Kích thước quần thể cho biết có bao nhiêu cá thể trong một quần thể (trong một thế hệ) Qua các nghiên cứu cũng như các thử nghiệm đã cho thấy kích thước quần thể không nên quá bé cũng như không quá lớn Nếu có quá ít cá thể thì ít có khả năng thực hiện lai giống và chỉ một phần nhỏ không gian tìm kiếm được dùng Như vậy sẽ dễ xảy ra trường hợp bỏ qua các lời giải tốt Nhưng quá nhiều cá thể cũng không tốt vì GA sẽ chạy chậm đi, ảnh hưởng đến hiệu quả của giải thuật Các nghiên cứu cũng đã chỉ ra không có lợi khi tăng kích thước quần thể lên quá một giới hạn cho phép

1.4.2 Xác suất lai ghép

Xác suất lai ghép cho biết việc lai ghép tạo ra thế hệ mới được thực hiện

thường xuyên như thế nào Nếu xác suất lai ghép là p c, khi đó khả năng để một cá

thể được lai ghép là p c Nếu không thực hiện lai ghép, con sinh ra sẽ giống hoàn toàn bố mẹ Nếu được lai ghép, con sinh ra sẽ có một phần giống bố và một phần giống mẹ

1.4.3 Xác suất đột biến

Xác suất đột biến cho biết các gen của NST thay đổi thường xuyên như thế

nào Nếu xác suất đột biến là p m, khi đó khả năng để mỗi gen của một NST bất kỳ bị

đột biến là p m Toán tử đột biến có tác dụng ngăn ngừa GA rơi vào tình trạng cực trị địa phương, tuy nhiên nếu thực hiện đột biến với xác suất quá cao sẽ biến GA thành giải thuật tìm kiếm ngẫu nhiên

Nhận xét:

Xuất phát từ sơ đồ thực hiện GA, chúng ta có thể có một số nhận xét như sau:

Trang 16

+ GA lập luận mang tính chất ngẫu nhiên để tìm giải pháp tối ưu cho những vấn đề phức tạp, thay vì xác định như toán học giải tích Tuy nhiên đây là hình thức ngẫu nhiên có hướng dẫn bởi trị số thích nghi Chính hàm thích nghi giúp GA tìm giải pháp tối ưu trong rất nhiều giải pháp có thể có

+ GA không để ý đến chi tiết vấn đề, trái lại chỉ chú ý đến giải pháp cho vấn

đề, hay tìm điều kiện tối ưu cho việc điều hành và phân nhóm những giải pháp có được

+ GA được sử dụng đặc biệt cho những bài toán yêu cầu tìm kiếm tối ưu toàn cục với không gian tìm kiếm lớn và không thể kiểm soát nhờ khả năng duyệt qua không gian tìm kiếm đại diện mà không thực sự đi qua từng điểm của toàn bộ không gian

1.5 Cơ chế thực hiện GA

1.5.1 Mã hóa

Để có thể thực hiện GA, vấn đề đầu tiên là xuất phát từ bài toán thực tế, ta cần phải mô tả các phương án của bài toán dưới một dạng nào đó (mô hình toán học, tin học, …) Vấn đề mô tả đó được gọi là các phương pháp mã hóa Thông thường người ta sử dụng một trong các phương pháp như sau:

+ Mã hoá nhị phân

Mã hoá nhị phân là phương pháp mã hoá NST phổ biến nhất Trong mã hoá nhị phân, mỗi NST là một chuỗi nhị phân, mỗi bit trong nó có thể biểu diễn một đặc tính của nghiệm

Mã hoá nhị phân thường hay dùng trong các bài toán tối ưu các hàm một biến hay nhiều biến Khi đó, mỗi chuỗi nhị phân sẽ biểu diễn hàm tại một tập giá trị của các biến Ngoài ra nó còn được áp dụng trong nhiều loại bài toán khác

Mã hoá nhị phân tuy là phổ biến nhưng nó có một nhược điểm là có thể tạo ra không gian mã hoá lớn hơn so với không gian giá trị của NST Do đó, với nhiều bài toán thì biểu diễn nhị phân là không hữu hiệu

Trang 17

+ Mã hoá hoán vị

Trong mã hoá hoán vị, mỗi NST là một chuỗi các số biểu diễn một thứ tự sắp xếp Mã hoá hoán vị phù hợp cho các bài toán liên quan đến thứ tự Đối với các bài toán này, việc thao tác trên các NST chính là hoán vị các số trong chuỗi đó làm thay đổi thứ tự của nó Mã hoá hoán vị có thể được sử dụng trong các bài toán liên quan đến thứ tự như bài toán du lịch hay bài toán lập lịch

+ Mã hoá số thực

Mã hoá trực tiếp theo giá trị có thể được dùng trong các bài toán sử dụng giá trị phức tạp như trong số thực Trong đó, mỗi NST là một chuỗi các giá trị Các giá trị có thể là bất cứ cái gì liên quan đến bài toán, từ số nguyên, số thực, kí tự cho đến các đối tượng phức tạp hơn

Mã hoá số thực thường dùng cho các bài toán đặc biệt Trong cách mã hoá này

ta thường phải phát triển các toán tử đột biến và lai ghép cho phù hợp với từng bài toán Thông thường mỗi NST được mã hóa là một véc tơ trong không gian Cách

mã hóa này thường sử dụng đối với các bài toán tối ưu số và được phát triển mạnh trong giai đoạn hiện nay

+ Mã hóa dạng cây

Phương pháp này được sử dụng trong các biểu thức toán học Mỗi NST là một cây của một nhóm đối tượng nào đó

1.5.2 Khởi tạo quần thể ban đầu

Khởi tạo quần thể ban đầu là bước đầu tiên trong GA Thông thường để khởi tạo quần thể trong bài toán tối ưu, ta tạo ra một cách ngẫu nhiên các lời giải có thể (thường là các lời giải thỏa mãn ràng buộc của bài toán nhưng chưa biết là đại lượng cần tối ưu đã là tối ưu hay chưa) Tuỳ vào từng bài toán cụ thể mà ta có các phương pháp khởi tạo khác nhau Chất lượng của quần thể ban đầu càng cao thì lời giải mà GA đưa ra càng tốt

1.5.3 Xác định hàm thích nghi

Theo các nghiên cứu và các thử nghiệm của nhiều nhà nghiên cứu về GA thì hàm tính độ thích nghi là một trong hai yếu tố quan trọng nhất quyết định sự thành

Trang 18

công hay thất bại của GA Hàm thích nghi được xây dựng sao cho giá trị thích nghi phải phản ánh được giá trị thực của NST trong việc đáp ứng yêu cầu của bài toán

1.5.4 Cơ chế lựa chọn

Cơ chế lựa chọn được áp dụng khi chọn các cá thể từ quần thể P (t)để thực hiện việc lai ghép và đột biến, tạo ra quần thể P(t1) Có nhiều cách để lựa chọn các cá thể từ một quần thể Sau đây sẽ giới thiệu một số cơ chế hay áp dụng

+ Cơ chế lựa chọn theo bánh xe Roulette

Bước 1: Tính tổng độ thích nghi của cả quần thể: 

pop size

i i

v f F

_

1)(

Bước 2: Tính xác suất chọn p i cho mỗi NST v i :

F

v f

q

1Bước 4: Sử dụng cơ chế lựa chọn theo bánh xe Roulette được thực hiện bằng

cách quay bánh xe Roulette N lần Mỗi lần chọn một NST từ quần thể hiện hành

vào quần thể mới theo nguyên tắc:

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

- Nếu rq1 thì chọn NST v1; ngược lại thì chọn NST thứ i (2 i pop_size) sao cho q i-1 r q i

Với cơ chế lựa chọn như thế này thì có một số nhiếm sắc thể sẽ được chọn

nhiều lần Điều này phù hợp với lý thuyết lược đồ: các NST tốt nhất thì có nhiều bản sao, NST trung bình thì không đổi , NST kém thì chết đi

+ Cơ chế lựa chọn xếp hạng

Cơ chế lựa chọn xếp hạng được mô tả như sau:

Trang 19

Bước 1: Sắp xếp các NST trong quần thể theo độ thích nghi từ thấp đến cao Bước 2: Đặt lại độ thích nghi cho quần thể đã sắp xếp theo kiểu: NST thứ nhất

có độ thích nghi là 1, NST thứ hai có độ thích nghi là 2, v.v., NST thứ pop_size có

độ thích nghi là pop_size

Theo phương pháp này việc một NST được chọn nhiều lần như trong lựa chọn theo kiểu bánh xe Roulette đã giảm đi Nhưng nó có thể dẫn đến sự hội tụ chậm và NST có độ thích nghi cao cũng không khác mấy so với các NST khác

+ Cơ chế lựa chọn theo lấy mẫu ngẫu nhiên

Cơ chế lựa chọn theo mẫu được thực hiện như sau:

Bước 1: Biểu diễn xác suất chọn các NST lên trên một đường thẳng

Bước 2: Đặt N điểm chọn lên đường thẳng Các điểm chọn này cách nhau

N

1,

điểm đầu tiên đặt ngẫu nhiên trong khoảng [0, 1]

Các toán tử di truyền của GA là toán tử lai ghép và đột biến Đây là hai toán tử

có tác động lớn đến chất lượng của giải thuật Các toán tử này được xây dựng phụ thuộc vào cách mã hoá các NST Ở đây chỉ đưa ra toán tử lai ghép và đột biến trên một số cách mã hoá NST để chỉ ra được ý tưởng xây dựng toán tử lai ghép và đột biến trong GA Còn tuỳ thuộc vào các bài toán cụ thể và cách mã hoá NST mà ta xây dựng hai loại toán tử này

Toán tử lai ghép

+ Lai ghép đơn điểm:

- Một điểm cắt được chọn tại một vị trí thứ k trên NST

- Từ đầu NST đến vị trí thứ k, NST con sao chép từ cha, phần còn lại sao chép

từ mẹ

Với NST cha: X = 11001010, NST mẹ Y = 11101001

Trang 20

Con sinh ra do lai ghép đơn (điểm cắt k=4):

- Xây dựng NST mới: Duyệt qua mặt nạ, bit có giá trị 1 thì sao chép gen tại

vị trí đó từ NST cha sang con, bit có giá trị 0 thì sao chép từ mẹ Ví dụ xét

Trang 21

Sử dụng véc tơ nhị phân có độ dài L như một NST để biểu diễn giá trị của

biến x [l x,u x] (độ dài L của NST phụ thuộc vào yêu cầu cụ thể của bài toán) Một

bit mã hóa x ứng với một giá trị trong khoảng [0, 2L] sẽ được ánh xạ lên giá trị thực thuộc miền [l x,u x]

g NST decimal l

Decimal(NST) là giá trị thập phân của chuỗi NST nhị phân

Để khởi tạo quần thể chỉ cần tạo pop-size (kích cỡ quần thể) NST ngẫu nhiên

theo từng bit Tiếp theo, lượng giá từng NST (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 thỏa 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 để tạo các cá thể thế hệ mới Sau một số thế hệ, nếu không được cải thiện thêm gì nữa, NST tốt nhất sẽ được xem như lời giải tối ưu (thường là toàn cục) Thông thường sẽ cho dừng thuật giải di truyền sau một số bước lặp cố định tùy thuộc vào điều kiện về tốc độ hay tài nguyên máy tính

1.6.2 Toán tử chọn lọc

a/ Sử dụng bánh xe Roulette

Có nhiều cách để thực hiện toán tử chọn lọc, chủ yếu theo cách nếu các thể

có độ thích nghi cao hơn thì khả năng được chọn nhiều hơn Tuy nhiên, để đơn giản

và hiệu quả nhất là sử dụng bánh xe Roulette

Trang 22

Mỗi cá thể trong quần thể chiếm một khe có độ rộng tỷ lệ thuận với giá trị phù hợp Độ rộng của khe được tính bằng tỷ lệ % giá trị phù hợp của một cá thể trên tổng giá trị phù hợp toàn quẩn thể

Giả sử f i là độ phù hợp của cá thể thứ i trong quần thể gồm N cá thể Khi

i i

f

f p

1

k

j p

1Các bước tiến hành thủ tục là:

- Sắp xếp các chuỗi theo thứ tự giảm dần của hàm mục tiêu (bài toán cực đại) hoặc theo thứ tự tăng dần của hàm mục tiêu (bài toán cực tiểu)

- Tính độ phù hợp của chuỗi

c/ Thủ tục chọn lọc cạnh tranh

Trong thủ tục này cách tiến hành như sau:

- Chọn t cá thể từ quần thể hiện tại một cách ngẫu nhiên và chọn cá thể tốt nhất trong t cá thể đó để sao chép sang quần thể tạm thời

- Lặp lại bước trên N lần sẽ được quần thể tạm thời

Giá trị t khi đó gọi là kích cỡ của chọn lọc cạnh tranh Khi t2 ta có chọn lọc cạnh tranh nhị phân

1.6.3 Toán tử lai ghép

a/ Lai ghép một điểm

Giả sử với hai cá thể cha và mẹ đã được chọn P1, P2:

P1= (1110001010), P2= (0101100111), độ dài L10 Toán tử này cần sinh ngẫu nhiên một vị trí k (1kL), sau đó hai cá thể con được tạo thành bằng cách tráo đổi các gen của cặp cha mẹ tính từ điểm cắt

Trang 23

Giả sử điểm cắt đã chọn k 8, hai con được sinh ra như sau:

C1= (1110001011), C2= (0101100110) Thủ tục lai ghép một điểm

Procedure lai1diem(k, P1, P2: var C1,C2);

b/ Lai ghép nhiều điểm

Lai ghép nhiều điểm thực hiện tương tự lai ghép một điểm Với hai cá thể cha kmẹ đã chọn P1, P2, toán tử này cần sinh ngẫu nhiên k vị trí i1,i2, ,i k (giả thiết i1 i2  i k) Các điểm cắt chia các cá thể đã chọn thành các đoạn được đánh số chẵn và lẻ Hai cá thể con được tạo thành bằng cách tráo đổi các gen cha

mẹ tùy theo đoạn chẵn hay đoạn lẻ

Giả sử các điểm cắt đã chọn là: 2,4,6,9

P1= 1001110101, P2= 0100111110

C1= 1000111111, C2= 0101110101

c/ Lai ghép mặt nạ

Với hai cá thể cha mẹ đã chọn P1, P2 và phát sinh một chuỗi nhị phân ngẫu

nhiên cũng có độ dài L gọi là chuỗi mặt nạ

P1= (1110001010), P2= (0101100111), U= (0110011001), độ dài L10

Trang 24

Các con được tạo ra dựa trên chuỗi mặt nạ này để quyết định lấy thành phần của cá thể cha hay cá thể mẹ dựa trên nguyên tắc:

Gen thứ i của cá thể con C1 được lấy gen thứ i của P1 nếu bit mặt nạ tương

ứng là 1 và lấy gen thứ i của P2 nếu bit mặt nạ là 0 C2 thì ngược lại

C1= (0111101110), C2= (1100000011) Thủ tục lai ghép mặt nạ:

Procedure laimatna(u, P1, P2; var C1, C2);

Toán tử đột biến bao gồm: toán tử đột biến chuẩn, đột biến đều và không đều

Thuật toán đột biến:

For i:=1 to m do

If random[0,1] < pm then invert (parent[i]);

Trang 25

Với invert(u) là hàm đảo ngược bit u

Thuật toán GA cổ điển được mô tả một cách tường minh như sau:

Algorithm GA_codien;

Begin

{Khởi tạo quần thể gồm m quần thể}

t:=0;

Creat initial population B0=(b10,b20,…,bm0);

While (stopping condition not fulfilled) do

i

j j

t b f

t b f r

1 :

1 :

),(

),() do k:k1;

k

b,1: ; End;

{lai ghép 1 điểm}

For i:=1 to m-1 step 2 do

Begin

If random[0,1]<pc then Begin

pos:= random{1, …, n-1};

for k:=pos+1 to n do begin

Trang 26

 : ;

];

[:

][

];

[:

1 1

1 1 1

1

aux k

b

k b k b

k b aux

t i

t i it

x

b  ( 1, 2, , n), i

Nhƣ vậy một quần thể kích cỡ m là một tập véc tơ có m véc tơ trong n

R hay

có thể xem nhƣ một ma trận thực cấp (m x n) Cách mã hóa này tự nhiên và thuận

tiện trong việc thực hiện các toán tử tiến hóa

Các toán tử của RCGA

+ Toán tử chọn lọc

Trang 27

Trong RCGA, toán tử chọn lọc vẫn được áp dụng như trong GA kinh điển bao gồm: Chọn lọc tỷ lệ, chọn lọc xếp hạng hoặc chọn lọc cạnh tranh

+ Toán tử lai ghép

RCGA cũng áp dụng các toán tử lai ghép như GA kinh điển bao gồm: lai ghép một điểm, lai ghép nhiều điểm, lai ghép mặt nạ Ngoài ra, do cách mã hóa quần thể, người ta còn nghiên cứu và đề xuất nhiều dạng khác nhau của toán tử lai ghép Phần này sẽ giới thiệu một số dạng toán tử lai ghép thường dùng với giả thiết cặp cá thể cha mẹ chọn để tiến hành lai ghép là:

) , , ( x1 xm

X  và Y (y1, , y m)

a/ Lai ghép một điểm

Với cặp cha mẹ X, Y là các véc tơ m chiều, toán tử lai ghép một điểm chọn

ngẫu nhiên một vị trí k (1km) rồi sinh ra cá thể con theo công thức:

) , , ,

, , ( '

) , , ,

, , ( '

1 1

1 1

m k

k

m k

k

x x

y y

Y

y y

x x

b/ Lai ghép đa điểm

Chọn ngẫu nhiên k điểm j1, , j k(1 j1  j2   j km)

Lai ghép đa điểm tạo ra cặp (X’,Y’) bằng cách đánh số các đoạn [j t , j t+1] từ 0 trở đi, sau đó lấy:

Trang 28

Chọn một số thực a (0 < a < 1)

Các cá thể con X’ và Y’ được tính bởi:

;

* ) 1 (

* '

;

* ) 1 (

* '

i i

i

i i

i

x a y

a y

y a x

a x

x'  *(  ) với 0 < r < 1

f/ Lai ghép BLX-α (Blend Crossover)

Với cặp cha mẹ được chọn lai ghép:

) , , ,

, , (

) , , ,

, , (

1 1

1 1

m k

k

m k

k

x x

y y Y

y y

x x X

g/ Lai ghép UNDX (Unimodal Normal Distributed Crossover)

Trong UNDX-m, (m+2) cha mẹ được chọn ngẫu nhiên từ quần thể, trong đó m+1 cá thể đầu được dùng để tính một véc tơ trung bình Cá thể cuối cùng được sử

dụng để định hướng cá thể con sẽ sinh ra

Thuật toán được mô tả như sau:

1) Chọn (m+1) cá thể cha mẹ x 1 , x 2 , … , x m+1 một cách ngẫu nhiên từ quần thể ban đầu

2) Tính véc tơ trung bình của các cá thể đã chọn : 

11

1 m i

i x m

u

Tính d jx ju 3) Chọn ngẫu nhiên cá thể cha m 2

x từ quần thể

Trang 29

4) Tính độ dài d của d m2  (x m2 u) trực giao với d 1 , … , d m+1

5) Lấy một cơ sở trực giao e m+2 , … , e n của không gian con trực giao với

không gian sinh bởi d 1 , … , d m+1

6) Sinh ra các con theo công thức :

j j m

i

i i c

de v d

w u

x

2 1

1 1

j j m

i

i i c

de v d

w u x

2 1

1 2

trong đó w i và v j là các biến ngẫu nhiên tương ứng với các phân phối chuẩn )

h/ Lai ghép CMX (Center of Mass Crossover)

Giả sử quần thể đang xét là {X1, , XN} Mỗi cá thể là một véc tơ trong R n

Thuật toán được mô tả như sau:

1) Chọn ngẫu nhiên m cá thể từ quần thể (1 < m < N)

), ,( 1pi n pi

pi

x x

m

X

11

3) Với mỗi i= 1, , m tính các véc tơ "cha mẹ ảo" vi

CM vi

X X

Như vậy với m cá thể cha mẹ sẽ sinh được m cá thể con

Mô phỏng lai ghép CMX được biểu diễn bởi hình 2

Trang 30

Hình 2: Lai ghép CMX

Với cách lai ghép này, các cá thể con sinh ra sẽ phân bố gần với tâm của

“đám đông” các cá thể cha mẹ

i/ Lai ghép MFX (Multi-parent Feature-wise Crossover)

Thuật toán này chọn từ mỗi cá thể cha mẹ một tính chất đặc trƣng nào đó rồi thực hiện tiến hoá sử dụng thông tin đặc trƣng này

Thuật toán như sau:

1) Chọn ngẫu nhiên m cá thể từ quần thể (1 < m < N)

), ,( 1pi n pi

pi

x x

Xi1, ,n

2) Cá thể con X cix1ci, ,x n ci) đƣợc sinh ra nhƣ sau :

Với mỗi j,j1, ,n , chọn ngẫu nhiên một số tự nhiên k trong khoảng 1, ,m sao cho k  i Sau đó ci

Trang 31

j/ Lai ghép SX (Seed Crossover)

Thuật toán này thực hiện lai ghép đôi một cá thể, cá thể con sinh ra lại tiếp

tục lai ghép với cá thể cha mẹ có độ thích nghi tăng dần

Thuật toán được trình bày như sau:

1) Chọn ngẫu nhiên m cá thể từ quần thể (1 < m < N)

), ,( 1pi n pi

pi

x x

Xi1, ,m

2) Xếp hạng các cá thể cha mẹ giảm dần theo độ thích nghi

3) c  ( pm, pm1)

X X Blx X

4) Cho j chạy từ (m2) đến 1 thực hiện X cBlx(X c,X pj)

Trong đó Blx(X,Y) là toán tử lai ghép 2 cha mẹ dạng BLX-

Như vậy với cách này, tại mỗi bước lặp, cá thể tạo được có khả năng kế thừa

những đặc trưng của cá thể cha mẹ với độ thích nghi tăng dần Toán tử này chỉ sinh

ra một cá thể con từ m cá thể cha mẹ đã chọn

Hình 4: Toán tử lai ghép SX

+ Toán tử đột biến

a/ Đột biến đều

Với một gen i được chọn ngẫu nhiên để đột biến từ cá thể b (x1,x2, ,x N),

thành phần x i được thay thế bởi một số ngẫu nhiên trong khoảng xác định [l i,u i]

của x i

b/ Đột biến biên

Từ cá thể cha mẹ đã chọn đột biến x và vị trí chọn đột biến k, thành phần

thứ k(x k)của x được thay bởi l k hay u k , trong đó [l k,u k]là khoảng xác định của

k

x

Con Cha mẹ

Trang 32

Trong các bài toán biên của các biến không lớn và giải pháp cần tìm nằm gần biên thì phép đột biến biên tỏ ra rất hữu ích

c/ Đột biến không đều

Giả sử tmax là một số cực đại được định nghĩa trước Thành phần x i được thay thế bởi một trong hai giá trị theo công thức sau:

) ,

( ''

) ,

( '

i i i

i

i i i

i

a x t x

x

x b t x

1(

*),(t xx  t t

 - thường là số ngẫu nhiên phân bố đều trong khoảng đơn vị

 - tham số xác định ảnh hưởng của lần tạo sinh thứ t trên phân bố của đột biến trong miền [ x 0 , ]

Kết luận

Trong chương 1 đã đưa ra các khái niệm tổng quát của giải thuật di truyền,

mô tả chi tiết các toán tử được sử dụng trong GA như: phép khởi tạo, phép lai, các toán tử đột biến, các phương pháp lựa chọn NST, đồng thời mô tả chi tiết giải thuật

di truyền mã hóa số thực RCGA Đây là các kiến thức cơ bản sử dụng để trình bày các nội dung sẽ được đưa ra trong chương 2 và chương 3 của luận văn

Trang 33

Chương 2

CƠ SỞ TOÁN HỌC CỦA GIẢI THUẬT DI TRUYỀN

2.1 Định lý sơ đồ của Holland

Phương pháp tối ưu hóa dựa trên lý thuyết xác suất rất khó để hình thức hóa

vì tác động của thuật toán là không đơn định trong tự nhiên Các phương pháp này chỉ có thể cho các thông tin về kỳ vọng hoặc tác động trung bình của giải thuật Trong GA còn có một số khó khăn hơn trong việc đánh giá sự hội tụ vì:

- Chỉ một sự chuyển tiếp đơn giản từ một lần tạo sinh đến thế hệ kế tiếp đã thường sử dụng tới 3 toán tử xác suất chưa nói đến cấu trúc bên trong GA khá phức tạp

- Mỗi toán tử xác suất sử dụng trong GA ngoài việc phức tạp còn có rất nhiều dạng khác nhau được đề xuất, chính vì vậy sẽ là không phù hợp nếu đưa ra một kết quả về hội tụ nói chung do việc chọn lựa toán tử ảnh hưởng đến cơ sở của

0 gọi là một sơ đồ (nhị

phân) độ dài n, ký hiệu * gọi là ký tự đại diện

- Một chuỗi Ss1,s2, ,s n trên bảng chữ cái  0,1 gọi là thỏa sơ đồ

h h h n

H  1, 2, , khi và chỉ khi nó trùng khớp với H tại các vị trí không là ký tự đại

diện *, nghĩa là ij h j * thì si = hi , khi đó ký hiệu SH

- Bậc của sơ đồ H là số các ký hiệu xác định (khác *) trong H:

, , 1 )

(Hin hi

O

- Chiều dài xác định sơ đồ H là khoảng cách giữa các vị trí xác định đầu tiên

và cuối cùng:

Trang 34

 *  *

minmax

)(Hi hi  i hi

- Số các cá thể thỏa mãn sơ đồ H tại thời điểm t đƣợc ký hiệu:

H B

1 , )(

1)(

- Độ thích nghi trung bình quan sát đƣợc của sơ đồ H tại thời điểm t:

i t

t b f r

t H f

,

),(

1),(

,

2.1.2 Định lý sơ đồ (Holland 1975)

Định lý 1: Với GA, bất đẳng thức sau đây được duy trì với mỗi sơ đồ H

) ( ,

1

1

) ( 1

.(

) (

) , ( ]

n

H p

t f

t H f r r

Hệ quả 1: Với GA đã mô tả như trên và toán tử chọn lọc theo bánh xe

Roulette, bất đẳng thức sau được duy trì

) ( ).

( ) (

) , ( ]

t f

t H f r r

E H t  H t H t C M)

)((1)

))2/1(1(1)

n H O M

Trang 35

1)

Định lý 2 (định lý sơ đồ): Các sơ đồ ngắn, bậc thấp, trên trung bình nhận số

chuỗi phù hợp tăng theo lũy thừa trong các thế hệ tiếp theo của GA

Một số hạn chế của định lý sơ đồ:

- Do đánh giá là bất đẳng thức, việc các chuỗi bị bỏ qua tăng và các chuỗi bị mất đi nên có nhiều thông tin bị bỏ qua Việc chưa chính xác của bất đẳng thức còn hạn chế ở chỗ định lý sơ đồ dự báo việc biểu diễn sơ đồ riêng đối với việc tạo sinh phức tạp, kết quả dự báo trong một số trường hợp có thể bị lỗi hoặc có hại

- Độ thích nghi quan sát của sơ đồ H tại thời điểm t có thể thay đổi đột ngột

như quần thể tập trung các mẫu mới trong một bộ phận con đặc biệt của sơ đồ Do vậy độ thích nghi trung bình của các chuỗi trong một sơ đồ đặc biệt chỉ quan hệ với lần tạo sinh thứ nhất hay thứ hai

- Định lý sơ đồ đã chuẩn bị một cận dưới cho chỉ một lần tạo sinh trong

tương lai Tuy nhiên, nó không thể dự báo biểu diễn của sơ đồ H với các lần tạo

sinh phức tạp

2.2 Mô hình Markov của GA

Năm 1992, Nix và Vose đã mô hình hóa GA kinh điển như một xích Markov trong đó mỗi trạng thái là một quần thể Vose đã cho mở rộng mô hình này đến mô hình “tìm kiếm ngẫu nhiên Heuristic”, trong đó mỗi cá thể của lần tạo sinh kế tiếp được chọn theo một phân bố xác suất trên các cá thể của không gian tìm kiếm

Suzuki đã giới thiệu mô hình của một lớp GA ưu tú và đưa ra kết quả về số lần tạo sinh cần thiết để hội tụ dựa trên xác suất đột biến

Năm 1996, Aytug và Koehler đưa ra chặn trên cho số lần tạo sinh cần thiết đối với GA kinh điển để hội tụ đến quần thể có chứa chuỗi tối ưu dựa trên xác suất đột biến

Trong phần này sẽ trình bày vắn tắt mô hình xích Markov của GA đơn giản Việc mô hình GA qua xích Markov có ý nghĩa quan trọng vừa chứng tỏ được sự hội

Trang 36

tụ của giải thuật một các chính xác vừa mô hình toán học để có thể tính toán các chi tiết, yếu tố ảnh hưởng đến khả năng và tốc độ hội tụ của giải thuật Tuy vậy, thực hiện do không gian trạng thái cần xét là rất lớn nên việc thực hiện thuật toán qua xích Markov gặp nhiều khó khăn Do vậy, mô hình này chỉ thường được phát triển

về phương diện lý luận

Nếu giá trị của thời điểm t là 0,1, thì ta có xích Markov với thời gian rời

rạc Nếu t[0,] thì ta có xích Markov với thời gian liên tục

Định nghĩa: ta nói X (t) có tính Markov nếu:

P ( n  1 )  ( 0)  0, , ( n)   ( n  1 )  ( n) 

Với bất kỳ t0  t1   tntn1  ; i0, , in, jE

- Đặt p ( s , i , t , j )= PX(t) j X(s)i(st) là xác suất có điều kiện để hệ

tại thời điểm s ở trạng thái i, chuyển đến thời điểm t ở trạng thái j và gọi là xác suất

p = p ( sh , i , th , j ) thì hệ là thuần nhất theo thời gian

- Ký hiệu pij  PX n 1 j X ni và ma trận  p ij gọi là ma trận xác suất chuyển sau một bước Theo công thức xác suất đầy đủ ta có:

1

0 p ij  và  

j ij

p 1 (ma trận ngẫu nhiên)

Trang 37

 

E k

n jk

n jk n

m

2.2.2 Xích Markov trong GA

Xét bài toán: cho một hàm f : JR và JL là tập rời rạc hóa J Cần xác

định một phần tử iJL sao cho f(i)maxf(j) jJ L

C S

N trong đó C là kí hiệu tổ hợp

Chúng ta xét hệ thống GA cơ bản với các toán tử:

+ Toán tử chọn lọc tỷ lệ, chọn cá thể i trong quần thể k với xác suất là:

k h Z h f

k i Z i f p

0

*

* ,

) , ( ) (

) , ( ) (

với Z ( k i, ) là biến cố xảy ra khi cá thể i thuộc vào quần thể k

+ Toán tử lai ghép một điểm

+ Toán tử đột biến là phép đảo bit tại vị trí đột biến

Như vậy, GA có thể được mô hình hóa như một xích Markov thời gian rời rạc, trong đó mỗi quần thể xem như một trạng thái của xích Trạng thái ở đây chỉ phụ thuộc vào một trạng thái ngay trước nó vì nếu X n là quần thể tại lần tạo sinh

thứ n thì với n1,2, Khi đó ta có:

) (

) )

, , ,

Trang 38

Giả sử B t  maxf(i)Z(i,X i)  0 ,i 0 , 1 , r 1 là chuỗi biến ngẫu nhiên của độ thích nghi cao nhất trong một quần thể biểu diễn trạng thái X t tại bước thứ t GA là hội tụ đến đến tối ưu toàn cục khi và chỉ khi lim (  *)1

Định nghĩa 2: Khoảng cách Hamming giữa hai chuỗi bit là số vị trí bit

không trùng nhau của hai chuỗi đó Đặt H ij là tổng khoảng cách Hamming giữa các

M

h

h h

H

i h – là một cá thể trong quần thể i, j h – là một cá thể trong quần thể j

h = 0, , M; i, j = 1, , N

H(i h , j h ) – là khoảng cách Hamming giữa i h và j h

Định nghĩa 3: Ma trận A gọi là nguyên sơ nếu tồn tại số tự nhiên k sao cho

ma trận k

A là ma trận dương

Bổ đề 1: Ma trận chuyển của GA đơn giản với xác suất đột biến p m(0,1),

sử dụng phép lai ghép và chọn lọc tỷ lệ là ma trận nguyên sơ

Dựa vào các định nghĩa và bổ đề trên, Rudolph đã chứng minh đƣợc GA đơn giản với các giả thiết nhƣ bổ đề không hội tụ đến lời giải tối ƣu với giả sử hàm thích nghi không ấn định một giá trị thích nghi cho mỗi cá thể Tuy nhiên, để tăng hiệu lực của GA, De Jong đã đề xuất một chiến lƣợc ƣu tú và Suzuki đã chứng minh đƣợc sự hội tụ đến lời giải toàn cục của GA với chiến lƣợc ƣu tú đƣợc thay đổi nhƣ sau:

Giả sử số cá thể M của quần thể là một số lẻ

i * - là các thể có giá trị thích nghi cao nhất của quần thể hiện tại

Chiến lƣợc ƣu tú đƣợc sửa đổi là quần thể kế tiếp luôn chứa i *

Trang 39

Với chiến lược này, toán tử tạo sinh phần tử i * luôn được thực hiện đầu tiên

tại mỗi bước của quá trình Tiếp đến M-1 cá thể còn lại được sinh ra theo các toán

Ngày đăng: 04/01/2016, 02:47

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Đỗ Phúc, Mai Xuân Hùng, Nguyễn Thị Kim Phụng (2002), Kết hợp xử lý ngôn ngữ tự nhiên và mạng Kohonen để nâng cao khả năng gom cụm văn bản tiếng Việt, nxb KHKT Sách, tạp chí
Tiêu đề: Kết hợp xử lý ngôn ngữ tự nhiên và mạng Kohonen để nâng cao khả năng gom cụm văn bản tiếng Việt
Tác giả: Đỗ Phúc, Mai Xuân Hùng, Nguyễn Thị Kim Phụng
Nhà XB: nxb KHKT
Năm: 2002
[2] Nguyễn Đình Thức (2000), Lập trình tiến hóa, nxb GDĐT. Tiếng Anh Sách, tạp chí
Tiêu đề: Lập trình tiến hóa
Tác giả: Nguyễn Đình Thức
Nhà XB: nxb GDĐT. Tiếng Anh
Năm: 2000
[1] Adam Marcryk (2004), Genetic Algorithms and Evolutionary. Computation, TalkOrigins Archive Sách, tạp chí
Tiêu đề: Genetic Algorithms and Evolutionary. Computation
Tác giả: Adam Marcryk
Năm: 2004
[2] Charbonneau, Paul (1995), Genetic algorithms in astronomy and astrophysics, The Astrophysical Jornal Supplement Series, vol 101, pp. 309-334 Sách, tạp chí
Tiêu đề: The Astrophysical Jornal Supplement Series
Tác giả: Charbonneau, Paul
Năm: 1995
[3] Coley, David A (1999), An introduction to Genetic Algorithms for Scientists and Engineers, Singapore: World Scientific Sách, tạp chí
Tiêu đề: An introduction to Genetic Algorithms for Scientists and Engineers
Tác giả: Coley, David A
Năm: 1999
[4] Dinh Dien (2000), Từ tiếng Việt, Vietnam National University, HCMC, Vietnam Sách, tạp chí
Tiêu đề: Từ tiếng Việt
Tác giả: Dinh Dien
Năm: 2000
[5] Dinh Dien, Hoang Kiem, Nguyen Van Toan (2001), Vietnamese Word Segmentation, The Sixth Natural Language Processing Pacific Rim Symposium, Tokyo, Japan, pp. 749-756 Sách, tạp chí
Tiêu đề: Vietnamese Word Segmentation
Tác giả: Dinh Dien, Hoang Kiem, Nguyen Van Toan
Năm: 2001
[6] Eiben, E. et al (1994), “Genetic algorithms with multi-parent recombination”, PPSN III: Proceedings of the International Comference on Evolutionary Computation, pp. 78-87 Sách, tạp chí
Tiêu đề: Genetic algorithms with multi-parent recombination”, "PPSN III: Proceedings of the International Comference on Evolutionary Computation
Tác giả: Eiben, E. et al
Năm: 1994
[7] R.L. Haupt and D. Werner (2007), Genetic Algorithms in Electromagnetics, New York: Wiley Sách, tạp chí
Tiêu đề: Genetic Algorithms in Electromagnetics
Tác giả: R.L. Haupt and D. Werner
Năm: 2007
[9] ZHANG. J, Chung. H and Lo.W.L (2007), Clustering-Based Adaptive Crossover and Mutation Probabilities for Genetic Algorithms, IEEE Transactions on Evolutionary Computation, vol 11, no. 3, pp. 326-335 Sách, tạp chí
Tiêu đề: IEEE Transactions on Evolutionary Computation
Tác giả: ZHANG. J, Chung. H and Lo.W.L
Năm: 2007
[8] Ting, Chuan-Kang (2005), On the Mean Convergence Time of Multi- parent Genetic Algorithms without Selection, Advances in Artificial Life: 403-412 Khác

HÌNH ẢNH LIÊN QUAN

Hình 1: Sơ đồ mô tả GA - Thuật toán di truyền và một số ứng dụng với lớp các bài toán NP
Hình 1 Sơ đồ mô tả GA (Trang 14)
Bảng 1: Các tham số điều khiển hoạt động của thuật giải di truyền - Thuật toán di truyền và một số ứng dụng với lớp các bài toán NP
Bảng 1 Các tham số điều khiển hoạt động của thuật giải di truyền (Trang 54)
Hình 6: Giao diện chương trình TSP - Thuật toán di truyền và một số ứng dụng với lớp các bài toán NP
Hình 6 Giao diện chương trình TSP (Trang 54)
Hình 7: Giao diện nhập dữ liệu chương trình TSP - Thuật toán di truyền và một số ứng dụng với lớp các bài toán NP
Hình 7 Giao diện nhập dữ liệu chương trình TSP (Trang 55)
Hình 8: Giao diện kết quả chương trình TSP - Thuật toán di truyền và một số ứng dụng với lớp các bài toán NP
Hình 8 Giao diện kết quả chương trình TSP (Trang 55)
Bảng 3. Tham số thực hiện GA - Thuật toán di truyền và một số ứng dụng với lớp các bài toán NP
Bảng 3. Tham số thực hiện GA (Trang 62)
Hình 11. Quá trình lai ghép - Thuật toán di truyền và một số ứng dụng với lớp các bài toán NP
Hình 11. Quá trình lai ghép (Trang 64)
Hình 12. Quá trình đột biến  + Quá trình sinh sản - Thuật toán di truyền và một số ứng dụng với lớp các bài toán NP
Hình 12. Quá trình đột biến + Quá trình sinh sản (Trang 65)
Hình 14. Quá trình chọn cá thể - Thuật toán di truyền và một số ứng dụng với lớp các bài toán NP
Hình 14. Quá trình chọn cá thể (Trang 66)
Bảng 4. Gói vn.hus.mim, tokenizer và các gói con - Thuật toán di truyền và một số ứng dụng với lớp các bài toán NP
Bảng 4. Gói vn.hus.mim, tokenizer và các gói con (Trang 68)
Hình 17. Kết quả thống kê từ - Thuật toán di truyền và một số ứng dụng với lớp các bài toán NP
Hình 17. Kết quả thống kê từ (Trang 70)
Hình 18. Kết quả gỡ rối tách từ - Thuật toán di truyền và một số ứng dụng với lớp các bài toán NP
Hình 18. Kết quả gỡ rối tách từ (Trang 71)
Hình 19. Kết quả tách câu - Thuật toán di truyền và một số ứng dụng với lớp các bài toán NP
Hình 19. Kết quả tách câu (Trang 72)
Hình 20. Kết quả gán nhãn - Thuật toán di truyền và một số ứng dụng với lớp các bài toán NP
Hình 20. Kết quả gán nhãn (Trang 73)
Hình 21. Bộ dán nhãn được sử dụng - Thuật toán di truyền và một số ứng dụng với lớp các bài toán NP
Hình 21. Bộ dán nhãn được sử dụng (Trang 74)

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w