ĐẠ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 QUANG ANH MỘT SỐ PHƯƠNG PHÁP HEURISTIC GIẢI BÀI TOÁN THIẾT KẾ MẠNG VIỄN THÔNG Chuyên ngành: Khoa h
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
-
NGUYỄN QUANG ANH
MỘT SỐ PHƯƠNG PHÁP HEURISTIC GIẢI BÀI
TOÁN THIẾT KẾ MẠNG VIỄN THÔNG
Chuyên ngành: Khoa học máy tính
Trang 2LỜI CAM ĐOAN
Tôi xin cam đoan luận văn này là công trình nghiên cứu, tìm hiểu và tham khảo của riêng tôi Các số liệu trong luận văn là trung thực
Tác giả
Nguyễn Quang Anh
Trang 3LỜI CẢM ƠN
Luận văn này được hoàn thành tại trường Đại học Công nghệ Thông tin và Truyền thông - Đại học Thái Nguyên Dưới sự hướng dẫn của PGS.TS ĐẶNG QUANG Á Tác giả xin bày tỏ lòng kính trọng và biết ơn sâu sắc tới thầy về sự tận tình hướng dẫn trong suốt thời gian tác giả làm luận văn
Trong quá trình học tập tại trường Đại học Công nghệ Thông tin và Truyền thông - Đại học Thái Nguyên tác giả thường xuyên nhận được sự quan tâm giúp đỡ, đóng góp ý kiến của các thầy cô trực tiếp giảng dạy và các cán bộ, giáo viên trong trường Tác giả xin bày tỏ lòng biết ơn sâu sắc đến những thầy cô đó
Tác giả xin bày tỏ lòng biết ơn tới Ban Giám Hiệu, các bạn đồng nghiệp trường Cao đẳng Công nghệ và Kinh tế Công nghiệp đã tạo điều kiện sắp xếp công việc, giúp đỡ tác giả trong thời gian học tập và làm luận văn
Xin chân thành cảm ơn anh chị em học viên lớp CAO HỌC K9A đã giúp đỡ, động viên, khích lệ tác giả trong quá trình học tập và nghiên cứu
Luận văn sẽ không hoàn thành được nếu không có sự quan tâm, động viên của người thân trong gia đình tác giả Đây là món quà tinh thần, tác giả xin gửi tặng gia đình thân yêu của mình với lòng biết ơn sâu sắc
Tác giả
Trang 4MỤC LỤC
LỜI CAM ĐOAN i
LỜI CẢM ƠN ii
MỤC LỤC iii
DANH MỤC CÁC HÌNH ẢNH, HÌNH VẼ v
DANH MỤC CÁC TỪ VIẾT TẮT VÀ THUẬT NGỮ vi
MỞ ĐẦU i
Chương 1 GIỚI THIỆU MỘT SỐ PHƯƠNG PHÁP HEURISTIC 3
1.1 Thuật toán tham lam 3
1.1.1 Giới thiệu chung 3
1.1.2 Thuật toán cho phương pháp tham lam 4
1.1.3 Ví dụ áp dụng 5
1.2 Giới thiệu về mạng nơ-ron 8
1.2.1 Mô hình mạng nơ-ron nhân tạo 8
1.2.2 Phân loại mạng nơ-ron nhân tạo 11
1.2.3 Luật học 13
1.2.4 Những bài toán thích hợp 16
1.3 Giải thuật di truyền 18
1.3.1 Các khái niệm cơ bản 18
1.3.2 Các bước quan trọng trong giải thuật 18
1.3.3 Ví dụ minh họa 19
1.3.4 Các Phương thức biến đổi của giải thuật 21
1.3.5 Các nguyên tắc cơ bản của giải thuật 23
1.3.6 Giải bài toán tối ưu bằng giải thuật di truyền 24
Chương 2 TÌM HIỂU VỀ TÌNH HÌNH TRUYỀN THÔNG BẰNG THIẾT BỊ KHÔNG DÂY CỦA THÀNH PHỐ THÁI NGUYÊN 30
2.1 Giới thiệu chung về hệ thống viễn thông thành phố Thái Nguyên 30
2.1.1 Tổng quan về VNPT Thái Nguyên 30
Trang 52.1.2 Mạng lưới, Công nghệ 31
2.2 Các số liệu thống kê về tình hình sử dụng các thiết bị không dây 34
2.2.1 Các dịch vụ cung cấp cho khách hàng 34
2.2.2 Các phương pháp quản trị chất lượng của VNPT Thái Nguyên 36
2.2.3 Các công cụ và kỹ thuật quản trị chất lượng của VNPT Thái Nguyên 37
2.3 Mục đích thiết kế Mạng Viễn thông không dây mới của thành phố 38
2.3.1 Đánh giá thực trạng 38
2.3.2 Mục tiêu xây dựng hệ thống mới 40
Chương 3 SỬ DỤNG MỘT SỐ PHƯƠNG PHÁP HEURISTIC ĐỂ GIẢI BÀI TOÁN THIẾT KẾ MẠNG VIỄN THÔNG 41
3.1 Phát biểu bài toán 41
3.1.1 Giới thiệu bài toán phân bố các thiết bị cuối 41
3.1.2 Phát biểu bài toán theo mô hình toán học 41
3.2 Ứng dụng một số phương pháp Heurstic giải bài toán thiết kế Mạng Viễn thông 44
3.2.1 Sử dụng giải thuật tham lam 44
3.2.2 Sử dụng giải thuật di truyền 49
3.2.3 Sử dụng kết hợp mạng nơ-ron và giải thuật di truyền 54
KẾT LUẬN VÀ ĐỀ NGHỊ 63
TÀI LIỆU THAM KHẢO Error! Bookmark not defined.62
Trang 6DANH MỤC CÁC HÌNH ẢNH, HÌNH VẼ
Hình 1.1 Mô hình nơ-ron sinh học 9
Hình 1.2 Mô hình một nơ-ron 10
Hình 1.3 Mạng tuyền thẳng một lớp 12
Hình 1.4 Mạng truyền thẳng nhiều lớp 12
Hình 1.5 Mạng một lớp có nối ngƣợc 13
Hình 1.6 Mạng nhiều lớp có nối ngƣợc 13
Hình 3.1 Phân bố các thiết bị cuối kết nối vào các trạm 44
Hình 3.2 Thử nghiệm Giải thuật Tham lam với bộ dữ liệu thứ nhất 46
Hình 3.3 Thử nghiệm Giải thuật Tham lam với bộ dữ liệu thứ hai 47
Hình 3.4 Thử nghiệm Giải thuật Tham lam với bộ dữ liệu thứ ba 49
Hình 3.5 Thử nghiệm Giải thuật di truyền với bộ dữ liệu thứ nhất 51
Hình 3.6 Thử nghiệm Giải thuật di truyền với bộ dữ liệu thứ hai 52
Hình 3.7 Thử nghiệm Giải thuật di truyền với bộ dữ liệu thứ ba 54
Hình 3.8 Sự kết hợp mạng nơ-ron và giải thuật di truyền với bộ dữ liệu thứ nhất 57
Hình 3.9 Sự kết hợp mạng nơ-ron và giải thuật di truyền với bộ dữ liệu thứ hai 58
Hình 3.10 Sự kết hợp mạng nơ-ron và giải thuật di truyền với bộ dữ liệu thứ ba 60
Trang 7DANH MỤC CÁC TỪ VIẾT TẮT VÀ THUẬT NGỮ
VNPT Vietnam Post and
Telecomunication
Tập đoàn Bưu chính Viễn thông Việt Nam
VNPT Thái
Nguyên Viễn thông Thái Nguyên Viễn thông Thái Nguyên
CBCNV Cán bộ công nhân viên Cán bộ công nhân viên
CT công đoàn Chủ tịch công đoàn Chủ tịch công đoàn
DNCCDV Doanh nghiệp cung cấp dịch vụ Doanh nghiệp cung cấp dịch vụ
CNTT Công nghệ thông tin Công nghệ thông tin
SXKD Sản xuất kinh doanh Sản xuất kinh doanh
BC-VT Bưu chính - Viễn thông Bưu chính - Viễn thông
OMC Operation Maintenane
Center
Trung tâm điều hành viễn thông BTS Base Transceiver Station Trạm thu phát gốc di động FTTH Fiber To The Home Dịch vụ Internet cáp quang MANE Metro Area Network
Ethernet
Mạng truyền tải IP nội thị SDH Synchronous Digital
NGN Next Generation Network Mạng thế hệ mới
IPTV Internet Protocol Television Truyền hình qua giao thức IP
Trang 8MỞ ĐẦU
Cơ sở khoa học của đề tài
Hiện nay, việc trao đổi thông tin qua các thiết bị không dây ngày càng trở nên phổ biến Để nâng cao chất lượng dịch vụ, các nhà mạng đang phải mở rộng hệ thống mạng viến thông bằng cách tăng thêm số cột thu, nhận tín hiệu từ các thiết bị không dây Do đó các nhà mạng đều mong muốn có một mạng viễn thông hoạt động hiệu quả, có hiệu suất cao và tiết kiệm được các chi phí mua thiết bị Sử dụng phương pháp Heuristic là cách làm thiết thực để đưa ra một thiết kế cho mạng viễn
thông một cách tối ưu
Nhận thấy tính thiết thực của bài toán này và được sự gợi ý của giảng viên
hướng dẫn, tôi đã chọn đề tài “Một số p n p p eur st c ả bà to n t ết kế
mạng viễn t ôn ” làm đề tài cho luận văn tốt nghiệp của mình
Mục tiêu và nhiệm vụ của luận văn
- Thu thập tài liệu và nghiên cứu về một số phương pháp Heuristic
- Nghiên cứu để hiểu cách giải các bài toán tối ưu bằng phương pháp Heuristic
- Tìm hiểu bài toán thiết kế mạng viễn thông và vận dụng phương pháp heuristic để giải bài toán này
- Xây dựng chương trình mô phỏng bài toán trên máy tính và thực hiện các thử nghiệm trên các bộ dữ liệu
Đối tượng và phạm vi nghiên cứu
- Phương pháp Heuristic như phương pháp tham, giải thuật di truyền và mạng
nơ ron giải các bài toán tối ưu tổ hợp
- Bài toán thiết kế mạng viễn thông
- Giải bài toán thiết kế mạng viễn thông bằng các phương pháp Heurristic
Phương pháp nghiên cứu
Tìm hiểu một số phương pháp Heuristic giải bài toán thiết kế mạng Viễn thông thông qua việc thu thập, tổng hợp các sách, các bài báo, các tài liệu trên mạng bằng tiếng Việt, tiếng Anh
Trang 9Cấu trúc và nội dung chính của luận văn
Cấu trúc và nội dung chính của luận văn gồm:
- Phần mở đầu
- Chương 1 Giới thiệu một số phương pháp Heuristic
Chương này trình bày tổng quan về Thuật toán tham; Mạng nơ ron nhân tạo và Giải thuật di truyền
- Chương 2 Tìm hiểu về tình hình truyền thông bằng thiết bị không dây của thành phố Thái Nguyên
Chương này Giới thiệu chung về hệ thống Viễn thông thành phố Thái Nguyên; Tham khảo các số liệu thống kê về tình hình sử dụng các thiết bị không dây Tìm hiểu mục đích thiết kế mạng viễn thông không dây mới của thành phố
- Chương 3 Sử dụng một số phương pháp Heuristic để giải bài toán thiết kế mạng Viễn thông
Nêu phát biểu bài toán và ứng dụng một số phương pháp Heuristic giải bài toán thiết kế mạng Viễn thông Đề xuất các thử nghiệm và kết quả
- Phần kết luận và đề nghị
- Tài liệu tham khảo
Trang 10Chương 1
GIỚI THIỆU MỘT SỐ PHƯƠNG PHÁP HEURISTIC
1.1 Thuật toán tham lam
1.1.1 Giới thiệu chung
* Định nghĩa
Giải thuật tham lam là một thuật toán giải quyết một bài toán dựa trên tri thức
về vấn đề để tìm kiếm một tối ưu địa phương ở mỗi bước đi với hy vọng tìm được tối ưu toàn cục
Giải thuật tham lam có 5 thành phần:
a) Một tập hợp các ứng viên để từ đó tạo ra lời giải;
b) Một hàm lựa chọn để lựa chọn ứng viên tốt nhất để bổ sung vào lời giải; c) Một hàm khả thi dùng để quyết định một ứng viên có thể là một lời giải; d) Một hàm mục tiêu để ấn định giá trị lời giải hoặc một lời giải chưa hoàn chỉnh; e) Một hàm đánh giá để chỉ ra khi nào ta tìm ra một lời giải hoàn chỉnh
* Hai thành phần quyết định nhất tới quyết định tham lam
Tính chất lựa chọn tham lam: Chúng ta có thể lựa chọn giải pháp nào được cho là
tốt nhất ở thời điểm hiện tại và sau đó giải bài toán con nảy sinh từ việc thực hiện lựa chọn vừa rồi Lựa chọn của thuật toán tham lam có thể phụ thuộc vào các lựa chọn trước đó Thuật toán tiến triển theo kiểu thực hiện các chọn lựa theo một vòng lặp, cùng lúc
đó thu nhỏ bài toán đã cho về một bài toán con nhỏ hơn Giải thuật tham lam lựa chọn sớm và thay đổi đường đi thuật toán theo lựa chọn đó, và không bao giờ xét lại các lựa chọn cũ Đối với một số bài toán, đây có thể là một thuật toán không chính xác
Cấu trúc con tối ưu: Một bài toán được gọi là "có cấu trúc tối ưu", nếu một lời
giải tối ưu của bài toán con chứa lời giải tối ưu của bài toán lớn hơn
* Ý tưởng của phương pháp tham lam
Phương pháp tham lam là kỹ thuật thiết kế thường được dùng để giải các bài toán tối ưu Phương pháp được tiến hành theo nhiều bước Tại mỗi bước, theo một lựa chọn nào đó (xác định bằng một hàm chọn), sẽ tìm một lời giải tối ưu cho bài toán nhỏ tương ứng Lời giải của bài toán được bổ sung dần từng bước từ lời giải
Trang 11của các bài toán con Các lời giải tìm được bằng phương pháp tham lam thường chỉ
là chấp nhận theo điều kiện nào đó, chưa chắc là tối ưu
Cho trước một tập A gồm n đối tượng, ta cần phải chọn một tập con S của A Với một tập con S được chọn ra thoả mãn các yêu cầu của bài toán, ta gọi là một nghiệm chấp nhận được Một hàm mục tiêu gắn mỗi nghiệm chấp nhận được với một giá trị Nghiệm tối ưu là nghiệm chấp nhận được mà tại đó hàm mục tiêu đạt giá trị nhỏ nhất (lớn nhất)
Đặc trưng tham lam của phương pháp thể hiện bởi: trong mỗi bước việc xử lý
sẽ tuân theo một sự lựa chọn trước, không kể đến tình trạng không tốt có thể xảy ra khi thực hiện lựa chọn lúc đầu
Trang 12Gọi C ij là chi phí đi từ thành phố Ti đến Tj Hãy tìm một hành trình thoả yêu cầu bài toán sao cho tổng chi phí là nhỏ nhất
Output: TOUR // Hành trình tối ưu,
COST; // Chi phí tương ứng
- TOUR := TOUR + < v, w >; // Cập nhật lời giải
- COST := COST + Cv w ; // Cập nhật chi phí
// chuyến đi hoàn thành TOUR := TOUR + < v, u >;
COST := COST + C v u ;
Trang 14* Độ phức tạp của thuật toán
int v, // Dinh dang xet
k, // Duyet qua n dinh de chon
w, // Dinh duoc chon trong moi buoc int mini; // Chon min cac canh ( cung ) trong moi buoc int COST; // Trong so nho nhat cua chu trinh
int daxet [ max ]; // Danh dau cac dinh da duoc su dung for ( k = 1; k < = n; k ++ )
daxet [ k ] = 0; // Chua dinh nao duoc xet COST = 0; // Luc dau, gia tri COST = = 0
int i; // Bien dem, dem tim du n dinh thi dung
v = Ddau; // hon dinh xuat phat la 1
i = 1 TOUR [ i ] = v; // Dua v vao chu trinh
Trang 15daxet [ v ] = 1; // Dinh v da duoc xet while ( i < n )
ƣu của bài toán có thể nhận đƣợc bằng cách thực hiện các lựa chọn tối
ƣu cục bộ
Trang 16 Cấu trúc con tối ưu (optimal substructure):Một nghiệm tối ưu có thể nhận được bằng cách gia tăng các nghiệm thành phần đã được xây dựng với một nghiệm tối ưu của bài toán con còn lại Có nghĩa là một nghiệm tối ưu sẽ chứa các nghiệm tối ưu đối với các bài toán con kích thước nhỏ hơn
1.2 Giới thiệu về mạng nơ-ron
1.2.1 Mô ìn mạn n -ron n ân tạo
* Nơ-ron sinh học
Hệ thần kinh ở người có khoảng 1010 tế bào thần kinh được gọi là các nơ-ron Mỗi nơ-ron gồm có ba phần: Thân nơ-ron với nhân ở bên trong (soma), một đầu thần kinh ra (axon) và một hệ thống hình cây thần kinh (dendrite) Có nhiều loại nơ-ron khác nhau về kích thước và khả năng thu phát tín hiệu Tuy nhiên, chúng có cấu trúc và nguyên lý hoạt động chung Hình vẽ (1.1) là một hình ảnh đơn giản hoá của một loại nơ-ron
Trong thực tế có rất nhiều dây thần kinh vào và chúng bao phủ một diện tích rất lớn (0.25 mm2) để nhận các tín hiệu từ các nơ-ron khác Đầu thần kinh ra được
rẽ nhánh nhằm chuyển giao tín hiệu từ thân nơ-ron tới nơ-ron khác Các nhánh của đầu thần kinh được nối với các khớp thần kinh (synapse) Các khớp thần kinh này được nối với thần kinh vào của các nơ-ron khác Thêm vào đó, các nơ-ron có thể sửa đổi tín hiệu tại các khớp, trong các nơ-ron nhân tạo được gọi là trọng số
Hoạt động của nơ-ron sinh học có thể mô tả tóm tắt như sau:
Khớp nối dây thần kinh (Đầu Vào)
Trang 17Mỗi nơ-ron nhận tín hiệu vào từ các tế bào thần kinh khác Chúng tích hợp các tín hiệu vào, khi tổng tín hiệu vượt quá một ngưỡng nào đó chúng tạo tín hiệu ra
và gửi tín hiệu này tới các nơ-ron khác thông qua dây thần kinh Các nơ-ron liên kết với nhau thành mạng Mức độ bền vững của các liên kết này xác định một
hệ số gọi là trọng số liên kết
* Nơ-ron nhân tạo
- Trọng số và tổng tín hiệu đầu vào: Giả sử tại nơron i có N tín hiệu vào, mỗi
tín hiệu vào được gán một trọng số tương ứng Ta có thể ước lượng tổng tín hiệu đi vào nơ- ron theo một số dạng : tuyến tính, toàn phương, mặt cầu
- Hàm kích hoạt: Hàm biến đổi tín hiệu đầu vào net cho tín hiệu đầu ra out
được gọi là hàm kích hoạt Hàm này có đặc điểm là không âm và bị chặn Có nhiều dạng hàm kích hoạt, người ta thường sử dụng một hàm kích hoạt chung cho toàn mạng
Một số hàm kích hoạt thường được sử dụng: McCuloch-Pitts, McCuloch-Pitts
trễ, Sigmoid
- Nút bias: một nút thêm vào nhằm tăng khả năng thích nghi của mạng nơ-ron
trong quá trình học Trong các mạng nơ-ron có sử dụng bias, mỗi nơ-ron có thể có một trọng số tương ứng với bias Trọng số này luôn có giá trị là 1
Trang 18∑
Trong đó : là tín hiệu vào tại nơ-ron i
là tín hiệu ra tại nơ-ron i
là trọng số liên kết từ nơ-ron j đến nơ-ron i
là ngƣỡng (đầu vào ngoài ) kích hoạt nơ-ron i
là hàm kích hoạt của nơ-ron i
* Mạng nơ-ron
Mạng nơ-ron nhân tạo (Artificial Neural Network) là một cấu trúc mạng đƣợc hình thành nên bởi một số lƣợng các nơ-ron nhân tạo liên kết với nhau Mỗi nơ-ron
có các đặc tính đầu vào, đầu ra và thực hiện một chức năng tính toán cục bộ
Với việc giả lập các hệ thống sinh học, các cấu trúc tính toán, mạng nơ-ron có thể giải quyết đƣợc các lớp bài toán nhất định nhƣ: Bài toán xếp loại, bài toán lập lịch, bài toán tìm kiếm, bài toán nhận dạng mẫu… Các bài toán phức tạp cao, không xác định Tuy nhiên, sự liên kết giữa một bài toán bất kỳ trong thực tế với một giải pháp mạng nơ-ron lại là một việc không dễ dàng
Xét một cách tổng quát, mạng nơ-ron là một cấu trúc xử lý song song thông tin phân tán mang các đặc tính nổi bật sau:
– Là mô hình toán học dựa trên bản chất của nơ-ron Bao gồm một số lƣọng rất lớn các nơ-ron liên kết với nhau
– Mạng nơ-ron có khả năng học, khái quát hoá tập dữ liệu học thông qua việc gán và hiệu chỉnh các trọng số liên kết
– Tổ chức theo kiểu tập hợp mang lại cho mạng nơ-ron khả năng tính toán rất lớn, trong đó không có nơ-ron nào mang thông tin riêng biệt
1.2.2 P ân loại mạn n ron n ân tạo
Trang 19* Mạng truyền thẳng:
- Mạng truyền thẳng một lớp
Mô hình mạng nơ-ron truyền thẳng một lớp là mô hình liên kết cơ bản và đơn giản nhất Các nơ-ron tổ chức lại với nhau tạo thành một lớp, đường truyền tín hiệu được truyền theo một hướng nhất định nào đó Các đầu vào được nối với các nơ-ron theo các trọng số khác nhau, sau quá trình xử lý cho ra một chuỗi các tín hiệu ra Nếu mạng nơ-ron là mô hình LTU thì nó được gọi là mạng Percception, còn mạng nơ-ron là mô hình LGU thì nó được gọi là mạng Adaline
Với mỗi giá trị đầu vào x = [ x1,x2, ,xn]T Qua quá trình xử lý của mạng ta
sẽ thu được một bộ tương ứng các giá trị đầu ra là y = [y1,y2, ,yn]T được xác định như sau:
,
Trong đó:
m: số tín hiệu vào
n : số tín hiệu ra
Wi T = [ wi1, wi2, ,win]T là véc tơ trọng số của nơ ron thứ i
fi: hàm kích hoạt của nơ-ron thứ i
i : là ngưỡng của nơ ron thứ i
- Mạng truyền thẳng nhiều lớp
Với mạng nơ-ron truyền thẳng một lớp ở trên, khi phân tích một bài toán phức tạp sẽ gặp rất nhiều khó khăn, để khắc phục vấn đề này người ta đưa ra mô hình
n i
x w f
m
j i
Trang 20mạng nơ-ron truyền thẳng nhiều lớp bằng việc kết hợp một số lớp nơ-ron lại với nhau Lớp nhận tín hiệu vào gọi là lớp vào, lớp đƣa ra tín hiệu ra của mạng gọi là lớp ra Các lớp ở giữa lớp vào và lớp ra đƣợc gọi là các lớp ẩn Hình (1.4) mô tả cấu trúc của mạng nơ-ron truyền thẳng nhiều lớp
* Mạng hồi quy
Mạng hồi quy 1 lớp có nối ngƣợc
Mạng hồi quy nhiều lớp có nối ngƣợc
1.2.3 Luật học
Mạng nơ-ron có một số ƣu điểm so với máy tính truyền thống Cấu trúc song song của mạng nơ-ron rất thích hợp cho những ứng dụng đòi hỏi tốc độ nhanh theo thời gian thực Khả năng huấn luyện của mạng nơ-ron có thể khai thác để phát triển
hệ học thích nghi Mặt khác, với khả năng tổng quát hoá của mạng nơ-ron, nó có thể
Y 1
Y 2
Y M
.
X 1
X 2
X N
.
Trang 21áp dụng để điều khiển nhiều tham số phức tạp đồng thời từ đó giải quyết dễ dàng một số bài toán thuộc lớp bài toán NP đầy đủ (NP - Complete)
Các luật học đóng vai trò quan trọng trong việc xác định một mạng nơ-ron nhân tạo Một cách đơn giản về khái niệm học của mạng nơ-ron là cập nhật trọng số trên cơ sở các mẫu Theo nghĩa rộng thì luật học có thể được chia làm hai loại: Học tham số và học cấu trúc
Học tham số: Các thủ tục học này nhằm tìm kiếm ma trận trọng số sao cho mạng có khả năng đưa ra dự báo sát với thực tế Dạng chung của luật học tham số
có thể được mô tả như sau:
Trong đó:
là sự thay đổi trọng số liên kết từ nơ-ron j đến nơ-ron i
xj là tín hiệu vào nơ-ron j
Trong nhóm luật học này cũng cần phải kể đến luật học Perceptron của Rosenblat (1958) Về cơ bản luật học này thay đổi các giá trị trọng số trong thời gian học, còn luật Perceptron thì thêm hay bỏ trọng tuỳ theo giá trị sai số là dương hay âm
M j
N i
Trang 22Một loạt các luật học khác cũng được dựa trên tư tưởng này Luật Oja là cải tiến và nâng cấp của luật Delta Luật truyền ngược là luật mở rộng của luật Delta cho mạng nhiều lớp Đối với mạng truyền thẳng thường sử dụng luật truyền ngược
để chỉnh trọng số với tín hiệu chỉ đạo từ bên ngoài và người ta gọi mạng này là mạng lan truyền ngược
+ Học không có tín hiệu chỉ đạo: Luật học này sử dụng đầu ra của mạng làm
cơ sở để hiệu chỉnh các trọng số liên kết Hay trong luật này chính là tín hiệu ra của mạng Điển hình là luật Hebb (1949) thường dùng cho các mạng tự liên kết, luật LVQ (Learning Vector Quantization) dùng cho mạng tự tổ chức một lớp thuộc lớp mạng ánh xạ đặc trưng của Kohonen
Luật học Hebb là luật sinh học xuất phát từ tiên đề của Hebb cho rằng: Giữa hai nơ-ron có quan hệ và có thay đổi thế năng màng thì giữa chúng có sự thay đổi trọng số liên kết Nói cách khác, trọng số được điều chỉnh theo mối tương quan trước và sau, nghĩa là:
Trong đó:
Là sự thay đổi trọng số liên kết từ nơ-ron j đến nơ-ron i
xj là tín hiệu vào nơ-ron j
yi là tín hiệu ra của nơ-ron i
là tốc độ học, nằm trong khoảng (0,1)
Luật Hebb giải thích việc chỉnh trọng trong phạm vi cục bộ của mạng mà không cần tín hiệu chỉ đạo từ bên ngoài Hopfield cũng cải tiến luật Hebb cho các mạng tự liên kết thành 16 dạng khác nhau theo kiểu luật Hebb, luật đối Hebb, luật Hopfield
Như vậy ứng với mỗi nhóm mạng thường áp dụng một luật học nhất định Nếu tồn tại hàng chục loại mạng khác nhau thì các luật học dùng trong mạng nơ-ron có thể tăng lên rất nhiều lần
Đối với mạng phản hồi thường sử dụng luật Hebb và các luật cải tiến của nó
để chỉnh trọng số mà không cần tín hiệu chỉ đạo từ bên ngoài
M j
N i
x y
Wij i j, 1 , , 1 ,
(1.5)
Trang 23+ Học tăng cường: Trong một số trường hợp, thông tin phản hồi chỉ là tín hiệu bao gồm hai trạng thái cho biết tín hiệu đầu ra của mạng là đúng hay sai Quá trình học dựa trên các thông tin hướng dẫn như vậy được gọi là học có củng cố (học tăng cường) và tín hiệu mang thông tin phản hồi được gọi là tín hiệu củng cố cho quá trình học Ta có thể thấy rằng quá trình học này là một dạng của quá trình học có tín hiệu chỉ đạo bởi vì mạng nhận được một số thông tin phản hồi từ bên ngoài
Học cấu trúc: Tìm kiếm các tham số của cấu trúc mạng để tìm ra một cấu trúc mạng hoạt động tốt nhất Trong thực tế, việc học cấu trúc là tìm ra số lớp ẩn và tìm
ra số nơ-ron trên mỗi lớp đó Giải thuật di truyền thường được sử dụng trong các cấu trúc nhưng thường chạy rất lâu, thậm chí ngay cả đối với mạng có kích thước trung bình Ngoài ra kỹ thuật gọt tỉa mạng hay mạng tăng dần cũng được áp dụng trong việc học cấu trúc của mạng có kích thước tương đối nhỏ
Ưu và nhược điểm của mạng nơ-ron
– Không có cách tổng quát để đánh giá hoạt động bên trong mạng
– Việc học đối với mạng có thể khó (hoặc không thể) thực hiện
– Khó có thể dự đoán trước được hiệu quả của mạng trong tương lai (khả năng tổng quát hoá)
1.2.4 Nhữn bà to n t íc ợp
Mạng nơ-ron được coi như là hộp đen biến đổi véc-tơ đầu vào m biến thành véc-tơ đầu ra n biến Tín hiệu ra có thể là các tham số thực, (tốt nhất nằm trong khoảng [0,1], hoặc [-1,1]), số nhị phân 0,1, hay số lưỡng cực -1;+1 Số biến của
Trang 24véc-tơ vào ra không bị hạn chế xong sẽ ảnh hưởng tới thời gian tính và tải dữ liệu của máy tính Nói chung, các lớp bài toán áp dụng cho nơ-ron có thể được phân chia thành bốn loại:
- Phân lớp (classification)
- Mô hình hoá (modeling)
- Biến đổi, thực hiện ánh xạ từ một không gian đa biến vào không gian đa biến khác tương ứng (transformation and mapping)
- Liên kết và kỹ thuật dịch chuyển cửa sổ (association and moving window) a) Phân lớp
Một trong các công việc đơn giản và thường được sử dụng nhiều trong việc quản lý các đối tượng đa biến là phân loại (phân lớp một đối tượng vào các nhóm, nhóm con, hay chủng loại) Ví dụ: Bài toán phân lớp ảnh, nhận dạng mẫu,
b) Mô hình hoá
Các hệ thống phân loại đưa ra các câu trả lời rời rạc như có, không hoặc một
số nguyên định danh các đối tượng đầu vào thuộc lớp nào Mô hình hoá yêu cầu hệ thống phải sản sinh ra các câu trả lời mang tính liên tục Trong quá trình mô hình hoá, cần một số lượng nhỏ các số liệu để xây dựng mô hình
c) Biến đổi
Việc biến đổi nhằm mục đích nén các đối tượng từ không gian m chiều vào không gian có số chiều nhỏ hơn rất nhiều Qua việc nén, các đối tượng này sẽ bộc lộ các đặc điểm mà chúng ta không thể nhận thấy khi chúng thuộc không gian nhiều chiều Theo một chừng mực nào đó, biến đổi tương tự như việc nhóm các đối tượng hay phân loại thể hiện ở chỗ biểu diễn các kết quả ra Trong phân loại, chúng ta muốn định danh các nhóm hoặc lớp mà đối tượng thuộc vào, còn trong biến đổi, chúng ta quan tâm đến toàn bộ các đối tượng và từ đó chúng ta thu nhận được các nhóm từ các đối tượng học Điểm quan trọng trong biến đổi là các đối tượng được biểu diễn bởi toạ độ của nơ-ron trung tâm chứ không phải là giá trị của tín hiệu ra d) Liên kết
Trang 25Liên kết là tìm ra đối tượng đích có mối quan hệ với một đối tượng vào, thậm chí cả khi đối tượng vào bị hỏng hoặc hoàn toàn không biết Theo một nghĩa nào
đó, liên kết có thể được coi là phân loại Thủ tục học cho vấn đề này là học có tín hiệu chỉ đạo
1.3 Giải thuật di truyền
1.3.1 C c k n ệm c bản
* Giới thiệu chung
Thuật di giải di truyền là kỹ thuật giúp giải quyết vấn đề bắt chước theo sự tiến hóa của con người hay của sinh vật nói chung trong điều kiện quy định sẵn của môi trường Phương tiện để thực hiện cách giải quyết vấn đề này là chương trình tin học gồm các bước phải thi hành, từ việc chọn giải pháp tiêu biểu cho vấn đề, cho đến việc chọn các hàm số thích nghi cũng như các phương pháp biến hóa để tạo cho giải pháp ngày càng thích nghi hơn Như vậy GA ( Genetic Algorithms ) không chú trọng đến giải pháp duy nhất và chính xác như phương pháp cổ điển, trái lại GA xét đến toàn bộ các giải pháp và tuy dựa trên tính ngẫu nhiên nhưng có hướng dẫn bởi hàm số thích nghi, do đó không có nghĩa là “đoán mò” Chúng ta sẽ xét đến các phần dưới đây
* Các tính chất của giải thuật
- GA lập luận mang tính chất ngẫu nhiên (stochastic), thay vì xác định (determinisic) như toán học giải tích
- GA duyệt xét toàn bộ các giải pháp, sau đó chọn lấy giải pháp tương đối tốt nhất dựa trên hệ số thích nghi
- GA không để ý đến chi tiết vấn đề, trái lại chỉ chú ý đến giải pháp, đặc biệt
là số tượng trưng cho giải pháp
- GA rất thích hợp cho việc tìm kiếm 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
1.3.2 C c b ớc quan trọng trong giải thuật
Để giải quyết vấn đề bằng Thuật giải di truyền, chúng ta cần thực hiện bảy bước quan trọng sau đây
Trang 26Bước 1: Chọn mô hình cho giải pháp của vấn đề: Chọn 1 số tượng trưng cho toàn bộ các giải pháp có thể có cho vấn đề
Bước 2: Chỉ định cho mỗi giải pháp một kí hiệu Ký hiệu có thể là dãy của những số 1 và 0 thuộc hệ nhị phân, hay dãy số thập phân, của chữ hay hỗn hợp của
số và chữ Ở đây ta dùng hệ nhị phân để làm ký hiệu cho giải pháp
Bước 3: Tìm hàm số thích nghi cho vấn đề và tính hệ số thích nghi cho từng giải pháp
Bước 4: Dựa trên hệ số thích nghi của các giải pháp để thực hiện sự tạo sinh (reproduction) và biến hóa các giải pháp Các phương thức biến hóa gồm: Lai ghép (cross over), đột biến (mutation)
Bước 5: Tính các hệ số thích nghi cho các giải pháp mới và loại bỏ những giải pháp kém nhất để chỉ còn giữ lại một số nhất định các giải pháp
Bước 6: Nếu chưa tìm được giải pháp tối ưu hay tương đối khá nhất hay chưa hết hạn ấn định, trở lại bước thứ tư để tìm giải pháp mới
Bước 7: Tìm được giải pháp tối ưu nếu thời gian cho phép đã chấm dứt thì báo cáo kết quả tính được
1.3.3 Ví dụ minh họa
Trong thực tế GA đã được dùng để giải quyết những vấn đề phức tạp, tuy nhiên để trình bày về lý thuyết mới, ở đây một ví dụ rất đơn giản, tìm đáp số cho phương trình X2 = 64 Dĩ nhiên bài toán này quá đơn giản không cần đến GA, nhưng chúng ta sẽ xét đến nhiều ví dụ phức tạp hơn
Bài toán: Tìm đáp số cho phương trình X2
= 64 (*) (tức là trị số của X để X2 = 64)
Bước 1: Quy định số lượng các đáp số và ấn định ký hiệu cho từng đáp số Giả
sử chúng ta không biết đáp số của bài toán Nên sẽ chọn 4 số trong những đáp số có thể có cho bài toán Đồng thời chúng ta chọn mô hình để tượng trưng cho các số phải xét (dùng hệ thống nhị phân để ký hiệu các đáp số)
Trang 27H/t thập phân 1 2 3 4 5 6 7 8
H/t 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 toán
Sau đây 4 số có thể là đáp số cho bài toán
Bước 3: Ấn định hàm số thích nghi (fitness function) và tính hệ số thích nghi
(fitness) cho từng đáp số chúng ta có thể chọn bất cứ hệ thức hay hàm số nào để biểu diễn sự thích nghi của các đáp số của bài toán Kinh nghiệm cho thấy hàm số thích nghi phải có liên hệ đến vấn đề Bước thứ ba này tương đối phức tạp và khó thực hiện nhất, vì 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, chọn hàm số thích nghi bằng 100 – (X2 – 64) và quy định đáp
số nào có hệ thích nghi bằng 1000 hay gần 1000 nhất sẽ là đáp số của bài toán Trong bảng đây chúng ta sẽ ghi lại chi tiết có trong bảng trên và thêm hệ số thích nghi cho mỗi đáp số:
Thứ tự (1) Nhị phân (2) Thập phân (3) Bình phương của hệ
số ở cột (3) trừ 64
Thích nghi
Trang 28Bước 4: Biến hóa và đáp số để tìm các đáp số có hệ số thích nghi tối ưu Nhìn
vào bảng dưới ta nhận thấy đáp số có hệ số thích nghi cao nhất vẫn còn cách xa
1000 Do đó, phải tìm ra những đáp số mới (để có hệ số này ngày càng lớn và bằng hay gần với 1000) bằng cách biến hóa các đáp số cũ
Vấn đề đặt ra là: Trong 4 số (4, 21, 10, 24) trên, số nào sẽ được chọn để biến hóa Nguyên tắc của GA đã trình bày trên là số nào đã được chọn để biến hóa hơn các số có hệ số thích nghi thấp Điều này cũng giống với thực tế, chỉ những sinh vật nào thích nghi với hoàn cảnh hơn sẽ tồn tại lâu hơn và dĩ nhiên sẽ có cơ hội tạo sinh
và biến hóa nhiều hơn
Nhìn vào bảng dưới ta thấy theo thứ tự 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 (để giữ tổng số các đáp số là 4) Trong ví dụ này chúng ta lai ghép hai số 4 và 10 tại điểm giữa hàng thứ hai và thứ ba, như trình bày dưới đây
)4(00
)10(10
Bước 6: Trước khi trở lại bước 4 và bước 5 như trình bày trên, chúng ta hãy
xét các chi tiết trong bảng trên May mắn chúng ta có được đáp số ở hàng thứ 3 là
số 8 với hệ số thích nghi bằng 1000 Theo quy định ghi trong bước 3, đây là đáp số
Trang 29có 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 cần trở lại bước 4 và bước 5, 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ó X2
= 82 =64
1.3.4 C c p n t ức biến đổi của giải thuật
Ba phương pháp sau đây đã được dùng để biến hóa các giải pháp
* Tạo sinh (reproduction)
* Lai ghép ( cross over)
* Đột biến (mutation)
a) Tạo sinh: Tạo sinh là dùng những thành phần của thế hệ trước để tạo thêm thành phần của thế hệ sau Vậy thành phần nào sẽ được chọn cho việc tạo sinh? Cũng giống như trong thiên nhiên, những thành phần nào có hệ số thích nghi lớn hơn sẽ có cơ hội được chọn để thực hiện việc tạo sinh
b) Lai ghép: Các ví dụ dưới đây thể hiện các hình thức của lai ghép
Trang 30Lai ghép dùng lại những tin tức có sẵn trong các thành phần của thế hệ trước
và truyền lại cho thế hệ sau, trong khi đột biến tạo ra những tin tức hoàn toàn mới
Ví dụ: 110011 sẽ được biến đổi thành 110010, trong đó số 1 ở hàng cuối (tính
từ trái) đã được đổi thành 0
1.3.5 C c n uyên tắc c bản của giải thuật
- GA là phương tiện để giải quyết vấn đề GA bắt chước những phương thức
mà con người, hay sinh vật nói chung, đã dùng để tồn tại và phát triển, trong những điều kiện do môi trường quy định
- GA giải quyết vấn đề bằng cách nhìn tổng quát tất cả các giải pháp hiện hữu Trước tiên xét đến một số những giải pháp rồi biến hóa để cải thiện phẩm chất của chúng, dựa trên hệ số thích nghi của từng giải pháp
- GA giải quyết vấn đề bằng cách dùng rất nhiều phép tính mà trước đây không thể thực hiện được bằng trí óc và giấy bút, gần đây mới thực hiện với máy tính và chương trình tin học thích hợp Trước tiên phải tạo mô hình để tượng trưng
Trang 31các giải pháp bằng ký hiệu, tức là dãy những số thuộc hệ nhị phân hay thập phân, hay chữ và số Kế đó phải chọn hàm số thích nghi để tính trị số thích nghi cho từng giải pháp
- Chọn một số giải pháp tiêu biểu, rồi áp dụng những phương thức biến hóa
để tìm ra giải pháp có trị số thích nghi tốt hơn Nếu chưa đạt được mục tiêu đề ra thì tiếp tục việc biến hóa trên các giải pháp vừa có, cho đến khi đạt được mục tiêu hay cho đến khi nào thời gian cho phép chấm dứt
- Như vậy GA duyệt xét toàn bộ các giải pháp của vấn đề, thay vì chỉ để ý đến giải đáp chính xác và duy nhất như toán học giải tích đã dùng trước đây
- GA dùng những định luật về xác suất để tìm ra giải pháp mới Nhưng xác suất trong trường hợp này được hướng dẫn bởi hàm số thích nghi thay vì xác suất không định hướng như trường hợp xác suất Monte Carlo
- Những thành phần được chọn để biến hóa và tạo ra giải pháp mới phải có trị
số thích nghi cao hơn, các thành phần có trị số thích nghi nhỏ sẽ bị loại bỏ
- GA cơ bản do JH Holland đề xuất có cơ sở toán học vững vàng, đã được chứng minh bởi chính tác giả hay các nhà nghiên cứu khác, như Kenneth De Jong Sau này có những biến thể của GA, tuy thành công trong nhiều trường hợp đặc biệt nhưng chưa được kiểm chứng một cách khoa học
- GA là kỹ thuật rất thích nghi cho việc việc tìm kiếm giải pháp tối ưu khi chúng ta có quá nhiều giải pháp nhưng không có giá trị, hay vấn đề quá phức tạp không biết cách nào để giải quyết Tìm kiếm, hoạch định chương trình hoạt động, phân loại cũng là những lĩnh vực ứng dụng quan trọng của GA
- Mặc dù đã thành công trong một số trường hợp, GA vẫn còn một lý thuyết tương đối mới mẻ GA cũng có những khuyết điểm như những kỹ thuật của trí tuệ nhân tạo như Hệ chuyên gia, Mạng nơron nhân tạo, là lôgíc mờ Riêng mỗi một kỹ thuật trên đều có khả năng giải quyết một số vấn đề, tuy nhiên nếu kết hợp phức tạp hơn Đây chính là một trong những lĩnh vực đang khai phá bởi một số nhà nghiên cứu Một số thành công sơ khai đã được báo cáo mở đầu cho những triển vọng đầy hứa hẹn trong tương lai
Trang 321.3.6 Giả bà to n tố u bằng giải thuật di truyền
* Đặt vấn đề
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
Cho đến nay, tuy đã có khá nhiều phương pháp giải quyết bài toán tối ưu hàm
số, nhưng nhìn chung các phương pháp chỉ dừng lại ở những lớp bài toán với thông tin rõ ràng hoặc với các thông tin bổ trợ khác Do đó, việc tìm một phương pháp mới giải bài toán tối ưu hàm nhiều biến tổng quát là cần thiết và có ý nghĩa thực tế Như đã trình bày ở các chương trước, ta nhận thấy hoàn toàn có thể áp dụng Thuật giải di truyền để giải bài toán tối ưu hàm nhiều biến tổng quát
Trong chương này, chúng tôi sẽ đề cập chi tiết việc áp dụng Thuật giải di truyền cho bài toán tối ưu một hàm f có n biến, f (x1, x2… xn) Biết rằng mỗi biến xi
có thể lấy các giá trị từ miền Di = [ ai, bi] là tập hợ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
* Biểu diễn các biến nhớ các véc tơ nhị phân
Bước đầu tiên trong Thuật giải di truyền là mã hóa, ánh xạ một xâu với chiều dài hữu hạn sang các tham biến của bài toán tối ưu
Tham biến x thuộc [Umin; Umax] sẽ đượ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 [0; 2L] sẽ được ánh xạ lên các giá trị thuộc miền xác định [Umin; Umax] Theo cách này chúng ta có thể kiểm soát miền giá trị của các biến và tính chính xác của chúng Tỷ lệ dãn của ánh xạ này được cho bởi:
Ta thấy giá trị x tương ứng với mã string2 sẽ được xác định theo công thức
Trong đó decimal (string2) biểu diễn giá trị thập phân của chuỗi nhị phân string2 g được xác định bởi công thức (1.6)
(1.6)
( 1.7)
Trang 33Ví dụ: decimal (0001) = 1; decimal (0011) = 3
Để 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à các định một giá trị tương ứng của nó nằm trong miền [Umin; Umax]
Mã hóa cho 10 biến được cho bởi
11111100
01010001
10 9 2
1U U U U
Trong đó thành tố thứ nhất (4 bít đầu tiên) tương ứng với biểu diễn của biến thứ nhất, thành tố cuối cùng (4 bit cuối cùng) biểu diễn biến cuối cùng
* Toán tử chọn cá thể (select)
Toán tử chọn lọc là thao tác xử lý trong đó mỗi cá thể được bảo lưu cho vòng tạo sinh tiếp sau tùy thuộc vào giá trị thích nghi của nói Toán tử này là một phiên bản mô phỏng của quá trình chọn lọc tự nhiên Giá trị thích nghi f(i) đượ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ể hàm không liên tục, hàm dương hay phi tuyến Xử lý chọn lọc các cá thể cha mẹ được hình thành theo mô hình tái tạo quay trên vòng tròn (roulette weel) Vòng quay của chúng có kích thước khác nhau ứng với những giá trị hợp lý của các cá thể Kỹ thuật này được gọi là lựa chọn cha mẹ trên vòng tròn quay (roulette weel parent selection) Mỗi khi cần tạo ra một con cháu, sẽ thực hiện một lần quay trên vòng tròn trọng số nhằm sản sinh ra ứng cử viên cho một tái sản xuất
Kỹ thuật này có thể thực hiện theo các bước
Bước 1 Tính tổng giá trị thích nghi của tất cả thành viên quần thể và gọi nó là tổng thích nghi (total fitness)
Bước 2 Phát sinh một số n là số ngẫu nhiên trong khoảng từ 0 đến tổng thích nghi Bước 3 Trả lại thành viên quần thể đầu tiên mà độ thích nghi của nó cộng với
độ thích nghi của các thành viên quần thể trước đấy lớn hơn hoặc bằng n
* Toán tử lai ghép (Crossover)
Trang 34Toán tử chọn lọc nhằm tìm ra những cá thể tồn tại nhất nhưng nó không tạo ra những cá thể mới Tuy vậy, trong tự nhiên, các con sẽ thừa hưởng di truyền những đặc tính tốt từ cả hai: Cha và mẹ Toán tử tác động trên các cá thể cha mẹ để tạo ra những mẹ được chọn lựa với xác suất lai ghép ký hiệu bởi Pcross Xác suất này cho chúng ta số lượng Pcross * pop – size nhiễm sắc thể được dùng cho hoạt động lai ghép, ở đây pop – size là kích thước của quần thể được lai tạo
Với mỗi nhiễm sắc thể trong quần thể
* Phát sinh một số ngẫu nhiên r trong miền [ 0; 1]
* Nếu r < Pcross, chọn nhiễm sắc thể đó để lai ghép
Sau đó, ta kết hợp các nhiễn sắc thể được chọn một cách ngẫu nhiên:
Mỗi cặp nhiễm sắc thể, chúng ta có thể phát sinh một số ngẫu nhiên pos từ miền [1; L] (L là tổng số bit trong nhiễm thể) Số pos báo hiệu vị trí của điểm lai ghép Hai nhiễm sắc thể
* Toán tử đột biến (mutation)
Các toán tử đột biến nhằm tạo ra những thông tin mới trong quần thể lai tạo tại các vị trí bit (gen) nào đó (quần thể được xem xét có pop – size cá thể, mỗi cá thể được biểu thị qua L bit /gen) Đột biến được áp dụng với xác suất pnu Số lượng bit đột biến là pmu*L* pop – size bit Mỗi bit có cơ hội đột biến như nhau và được thay đổi từ 0 thành 1 hay ngược lại Có thể xử lý theo cách sau:
Với mỗi nhiễm sắc thể trong quần thể và mỗi bit trong nhiễm sắc thể
Trang 35- Phát sinh một số ngẫu nhiên r trong miền [ 0;1]
- Nêu r<pmu, tiến hành đột biến tại bit đó
Các thao tác xử lý này được áp dụng lặp lại cho tới khi các cá thể con cháu
của chúng tăng cường tới kích cỡ mong muốn của quần thể
* Hàm thích nghi (Fitness)
+ Ánh xạ giá trị hàm mục tiêu sang giá trị thích nghi
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 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á g(x), việc chuyển từ hàm đánh giá sang hàm thích nghi để sử dụng với GA như sau:
{
á ườ ợ á
Ở đây, Cmax là một tham số đầu vào Ví dụ, có thể lấy Cmax 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 Nói chung Cmax khác nhau tùy thuộc vào giá trị các biến của quần thể 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 u(x), chúng ta có thể chuyển sang hàm thích nghi như sau:
{ á ườ ợ á
Ở đây Cmin 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ể (Hàm Scalepop)
+ Đ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
(1.8)
(1.9)