Số hóa bởi Trung tâm Học liệu - Đại học Thái Nguyên http://www.lrc-tnu.edu.vn ĐẠI HỌC THÁI NGUYÊN KHOA CÔNG NGHỆ THÔNG TIN LÊ THANH BÌNH PHƯƠNG PHÁP LAI MẠNG NƠ RON GIẢI THUẬT DI TRUY
Trang 1Số hóa bởi Trung tâm Học liệu - Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
ĐẠI HỌC THÁI NGUYÊN
KHOA CÔNG NGHỆ THÔNG TIN
LÊ THANH BÌNH
PHƯƠNG PHÁP LAI MẠNG NƠ RON
GIẢI THUẬT DI TRUYỀN GIẢI BÀI TOÁN NP-C
VÀ ỨNG DỤNG
LUẬN VĂN THẠC SĨ: KHOA HỌC MÁY TÍNH
THÁI NGUYÊN 2010
Trang 2Số hóa bởi Trung tâm Học liệu - Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
LÊ THANH BÌNH
PHƯƠNG PHÁP LAI MẠNG NƠ RON
GIẢI THUẬT DI TRUYỀN GIẢI BÀI TOÁN NP-C
VÀ ỨNG DỤNG
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:
PGS- TS ĐẶNG QUANG Á
THÁI NGUYÊN 2010
Trang 3- i -
Số hóa bởi Trung tâm Học liệu - Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
MỤC LỤC
TRANG PHỤ BÌA
LỜI CAM ĐOAN
MỤC LỤC i
DANH MỤC CÁC BẢNG……….… ………iii
DANH MỤC CÁC HÌNH iv
LỜI NÓI ĐẦU………1
CHƯƠNG I: GIỚI THIỆU SƠ LƯỢC VỀ CÁC BÀI TOÁN NP-C 3
1.1 Giới thiệu chung về bài toán NP-C 3
1.2 Cách tiếp cận giải bài toán NP-C 4
1.2.1 Một số khái niệm 4
1.2.2 Giới thiệu một số thuật toán xấp xỉ giải bài toán NP-C 5
1.2.3 Các thuật toán gần đúng 6
1.2.4 Tô mầu đồ thị với bài toán 4 mầu 13
1.2.5 Bài toán phẳng hóa đồ thị 15
1.3 Kết luận 17
CHƯƠNG II: MẠNG NƠ RON VÀ THUẬT GIẢI DI TRUYỀN GIẢI BÀI TOÁN TỐI ƯU 18
2.1 Giới thiệu về mạng nơ-ron 18
2.1.1 Lịch sử phát triển 18
2.1.2 Mô hình mạng nơ-ron nhân tạo 19
2.2 Phạm vi ứng dụng của mạng nơ-ron 23
2.2.1 Những bài toán thích hợp 23
2.2.2 Các lĩnh vực ứng dụng mạng nơ-ron 23
2.2.3 Ưu và nhược điểm của mạng nơ-ron 24
2.3 Mạng Hopfield 24
2.3.1 Mạng Hopfield rời rạc 26
2.3.2 Mạng Hopfield liên tục 27
2.4 Giới thiệu thuật giải di truyền 28
Trang 4Số hóa bởi Trung tâm Học liệu - Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
2.4.1 Các tính chất đặc thù của thuật giải di truyền 29
2.4.2 Các bước quan trọng trong việc áp dụng thuật giải di truyền 29
2.4.3 Ví dụ minh họa 31
2.4.4 Các phương thức biến hóa của giải thuật di truyền 34
2.4.5 Các giải thuật di truyền lai 38
2.5 Giải thuật di truyền với bài toán tối ưu 39
2.5.1 Ánh xạ hàm mục tiêu sang hàm phù hợp 39
2.5.2 Tỷ lệ hoá giá trị phù hợp 40
2.5.3 Mã hoá tham biến nhờ véctơ nhị phân 41
2.5.4 Bài toán tối ưu ràng buộc 41
2.6 Mạng nơ ron Hopfield - giải thuật di truyền giải bài toán tối ưu 42
2.7 Kết luận 44
CHƯƠNG 3: ỨNG DỤNG THUẬT GIẢI DI TRUYỀN GIẢI BÀI TOÁN PHÂN CÔNG NHIỆM VỤ 45
3.1 Giới thiệu 45
3.2 Định nghĩa bài toán 47
3.3 Ứng dụng Thuật giải di truyền vào bài toán 48
3.3.1 Mã hóa: 49
3.3.2 Toán tử chọn cá thể 50
3.3.3 Toán tử lai ghép và toán tử đột biến 51
3.3.4 Sửa chữa giải pháp 52
3.3.5 Tìm kiếm cục bộ 54
3.4 Thí nghiệm và nhận xét 55
3.4.1 Thí nghiệm 55
3.4.2 Nhận xét 56
3.5 Kết luận 57
KẾT LUẬN……… ……….58
TÀI LIỆU THAM KHẢO………….….……… 59
Trang 5- iii -
Số hóa bởi Trung tâm Học liệu - Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
DANH MỤC BẢNG
Bảng 3.5: Số sinh viên trong nhóm thứ i trong những giải pháp đƣợc
Bảng 3.6: So sánh các kết quả thu đƣợc bằng GGA và thuật toán
Trang 6Số hóa bởi Trung tâm Học liệu - Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
DANH MỤC CÁC HÌNH
Hình 2.9: Ví dụ về biểu diễn nơ ron của bài toán với N = 4 44 Hình 3.1: Ví dụ về sở thích của các sinh viên trong 5 nhóm 55
Trang 7- 0 -
Số hóa bởi Trung tâm Học liệu - Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
Trang 8Số hóa bởi Trung tâm Học liệu - Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
LỜI NÓI ĐẦU
Trong thực tế có rất nhiều bài toán phức tạp thuộc lớp bài toán NP- C
và bài toán tối ưu có ràng buộc, cũng có nhiều công trình nghiên cứu để giải quyết các bài toán đó Ví dụ như: Bài toán tìm đường đi ngắn nhất, bài toán
tô màu bản đồ, bài toán vận tải Xong các giải thuật đưa ra thường phức tạp mà chưa có thuật toán đơn giản và hợp lý Những năm gần đây trên thế giới đã đưa ra phương pháp lại mạng Nơ ron Hopfield và thuật giải di truyển nhằm giải quyết các bài toán tối ưu thuộc lớp NP-C và được áp dụng rộng rãi trong lĩnh vực Công nghệ thông tin Việc nghiên cứu và áp dụng những thành tựu mới vào việc phân tích, thiết kế, phân công nhiệm vụ là một trong những vấn đề nóng đang rất được quan tâm
Nhận thức được vấn đề đó và có sự gợi ý, định hướng của PGS TS
Đặng Quang Á em đã mạnh dạn nghiên cứu đề tài " Phương pháp lai
mạng nơ ron - giải thuật di truyền giải bài toán NP-C và ứng dụng" Nội
dung cơ bản của luận văn gồm có ba chương:
Chương một giới thiệu sơ lược về một số bài toán NP-C, cách tiếp cận giải các bài toán NP-C như: bài toán tô mầu đồ thị, bài toán phẳng hóa đồ thị, bài toán chọn đồng tiền…, trình bầy các cách tiếp cận tới việc giải quyết các bài toán nêu trên
Chương hai giới thiệu sơ lược về mạng nơ ron, mạng nơ ron Hopfield, giải thuật di truyền Đặc biệt trình bầy phương pháp lai mạng Hopfield và giải thuật di truyền giải bài toán tối ưu
Chương ba ứng dụng giải thuật di truyền giải bài toán phân lịch thực hành tại các trường Đại học Đây là bài toán có tính ứng dụng thực tế cao trong nhiều lĩnh vực như phân công nhiệm vụ trong các đơn vị, xắp sếp lịch biểu Bài toán thuộc lớp NP-C Vì vậy, ứng dụng giải thuật di truyền trong
Trang 9- 2 -
Số hóa bởi Trung tâm Học liệu - Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
bài toán phân công nhiệm vụ trong hệ thống tính toán hỗn tạp sẽ hứa hẹn là một gải pháp khả thi góp phần nâng cao hiệu quả trong công việc phân công, điều hành của con người
Qua luận văn này em xin chân thành cảm ơn: PGS TS Đặng Quang Á - Viện Công nghệ thông tin đã tận tình giúp đỡ, động viên, định hướng, hướng dẫn em nghiên cứu và hoàn thành luận văn Em xin cảm ơn các thầy cô giáo trong viện Công nghệ thông tin, các thầy cô giáo khoa Công nghệ thông tin
ĐH Thái nguyên, đã giảng dạy và giúp đỡ em trong hai năm học vừa qua, cảm ơn sự giúp đỡ nhiệt tình của các bạn đồng nghiệp
Xin chân thành cảm ơn!
Thái Nguyên, tháng 11 năm 2010
Người viết luận văn
Lê Thanh Bình
Trang 10Số hóa bởi Trung tâm Học liệu - Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
CHƯƠNG I GIỚI THIỆU SƠ LƯỢC VỀ CÁC BÀI TOÁN NP-C
1.1 Giới thiệu chung về bài toán NP-C
Quá trình khám phá các bài toán thuộc loại NP-C cho ta biết rằng có rất
ít cơ hội phát triển được một thuật toán hiệu quả để giải nó Điều đó khuyến khích ta tìm kiếm các heuristic, các lời giải từng phần, các xấp xỉ và những cách khác nhằm tránh giải trực diện bài toán
Mỗi lần đưa thêm một bài toán vào danh sách các bài toán NP-C chúng
ta lại củng cố thêm ý tưởng rằng tất cả mọi bài toán NP-C đều đòi hỏi thời gian mũ
Định nghĩa 1.1: Ta nói L là bài toán thuộc loại NP-complete nếu các
khẳng định sau đều đúng:
1) L thuộc NP
2) Với mọi ngôn ngữ L' ∈ NP có một phép thu thời gian đa thức L'
về L Bài toán NP-complete đầu tiên chúng ta sẽ xét là bài toán thỏa SAT (Boolean satisfiability) Chúng ta sẽ chứng tỏ rằng ngôn ngữ của mọi máy Turing không đơn định (NTM) thời gian đa thức đều có một phép thu thời gian đa thức về SAT Khi đã có được một số bài toán thuộc NP-complete (NP-C) chúng ta có thể chứng minh một bài toán mới thuộc NP-C bằng cách thu một bài toán đã biết là NP-C về bài toán đó nhờ một phép thu thời gian đa thức [ 1]
Định lý dưới đây cho biết vì sao một phép thu như thế chứng minh được bài toán đích là NP-C
Định lý 1.1: Nếu bài toán P1 là NP-C, P2 là NP và có một phép thu
thời gian đa thức từ P1 về P2 thì P2 cũng là NP-C
Trang 11data error !!! can't not
read
Trang 12data error !!! can't not
read
Trang 13data error !!! can't not
read
Trang 14data error !!! can't not
read
Trang 15data error !!! can't not
read
Trang 17data error !!! can't not
read
Trang 18data error !!! can't not
read
Trang 19data error !!! can't not
read
Trang 20data error !!! can't not
read
Trang 21data error !!! can't not
read
Trang 22data error !!! can't not
read
data error !!! can't not
read
Trang 23data error !!! can't not
read
data error !!! can't not
read
Trang 24data error !!! can't not
read
data error !!! can't not
read
Trang 26read
Trang 27data error !!! can't not
read