Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 75 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
75
Dung lượng
1,24 MB
Nội dung
i ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC CNTT&TT HÀ DUYÊN HÙNG ỨNG DỤNG MẠNG NƠ-RON GIẢI MỘT SỐ BÀI TOÁN VỀ ĐỒ THỊ LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH THÁI NGUYÊN, NĂM 2011 Tai ngay!!! Ban co the xoa dong chu nay!!! ii LỜI CẢM ƠN Xin chân thành cảm ơn Thầy PGS, TS Đặng Quang Á tận tình bảo, hướng dẫn tơi suốt thời gian học tập làm luận văn Em chân thành biết ơn đến Thầy giáo Viện Công nghệ Thông tin giảng dạy, giúp đỡ suốt thời gian học tập Xin cảm ơn tất anh chị học viên Cao học khóa 8, cám ơn cán công chức, giảng viên Trường Đại Học CNTT&TT- ĐH Thái Nguyên tạo điều kiện tốt cho hai năm học vừa qua Xin cám ơn đến bạn bè, đồng nghiệp bảo nhiều thời gian thực luận văn Cuối cùng, xin chân thành cảm ơn thành viên gia đình động viên tạo điều kiện thuận lợi để tơi có kết qủa hôm THÁI NGUYÊN 11/2011 Người viết luận văn Hà Duyên Hùng iii LỜI CAM ĐOAN Tôi xin cam đoan đề tài khoa học “Ứng dụng mạng nơ-ron giải số tốn đồ thị” cơng trình nghiên cứu thân Các kết nghiên cứu nêu luận văn trung thực Tôi xin chịu trách nhiệm luận văn iv MỤC LỤC Trang phụ bìa Trang Lời cảm ơn .i Lời cam đoan ii Mục lục iii Danh mục hình vẽ, ký hiệu, chữ viết tắt v MỞ ĐẦU -1Chương GIỚI THIỆU SƠ LƯỢC VỀ MẠNG NƠ-RON NHÂN TẠO .-31.1 Giới thiệu mạng nơ-ron nhân tạo -31.1.1 Lịch sử phát triển -31.1.2 Mơ hình mạng nơ-ron nhân tạo … -41.2 Phạm vi ứng dụng mạng nơ-ron -141.2.1 Các lĩnh vực ứng dụng mạng nơ-ron -141.2.2 Ưu nhược điểm mạng nơ-ron -141.3 Mạng Hopfield .-151.3.1 Mạng Hopfield rời rạc -161.3.2 Mạng Hopfield liên tục: -181.3.3 Ánh xạ toán tối ưu tổ hợp lên mạng nơ-ron -191.3.4 Mạng Hopfield với toán NP-C -22Chương ỨNG DỤNG MẠNG NƠ-RON HOPIELD TRONG BÀI TOÁN SỐ CẠNH CẮT NHAU CỦA ĐỒ THỊ TRÒN -292.1 Bài tốn số cạnh cắt đồ thị trịn -29- v 2.2 Mạng nơ-ron Hopfield với toán số cạnh cắt đồ thị trịn….… -31Chương CÀI ĐẶT THUẬT TỐN VÀ THỬ NGHIỆM -433.1 Thiết kế chương trình ứng dụng mạng nơ-ron việc giải tốn số cạnh cắt đồ thị trịn -433.2 Chương trình kết thử nghiệm .-443.3 Đánh giá kết .-53KẾT LUẬN VÀ ĐỀ NGHỊ…………………………………………… …… -54TÀI LIỆU THAM KHẢO -55PHỤ LỤC ………………………… ……………………………………… -57- v DANH MỤC CÁC HÌNH Hình 1.1 Mơ hình nơ-ron sinh học Hình 1.2 Mơ hình nơ-ron Hình 1.3 Mạng truyền thẳng lớp Hình 1.4 Mạng truyền thẳng nhiều lớp 10 Hình 1.5 Mạng lớp có nối ngược 10 Hình 1.6 Mạng nhiều lớp có nối ngược 11 Hình 1.7 Mơ hình mạng Hopfield 16 Hình 1.8 Ánh xạ tốn lên mạng nơ-ron 21 Hình 1.9 Đồ thị chưa phẳng 24 Hình 1.10 Đồ thị phẳng 24 Hình 1.11 Đồ thị phẳng 24 Hình 1.12 Biểu diễn đồ thị hàng 25 Hình 1.13 Mơ hình đồ thị tốn 27 Hình 2.1 Biểu diễn đồ thị Thí dụ 2.1 30 Hình 2.2 Biểu diễn đồ thị có điểm cắt 30 Hình 2.3 Mạng nơ-ron Hopfield 31 Hình 2.4 Mạng nơ-ron giải tốn đồ thị trịn 33 Hình 2.5 Đồ thị nối đường thẳng 34 Hình 3.3 Biểu diễn lưu đồ thuật tốn 45 Hình 3.4 (a) Biểu diễn đồ thị thí dụ hình 3.4 (a) 46 Hình 3.4 (b) Biểu diễn đồ thị có điểm cắt 47 Hình 3.5 (a) Biểu diễn đồ thị thí dụ hình 3.5 (a) 49 Hình 3.5 (b) Biểu diễn đồ thị có mười điểm cắt 50 Hình 3.6 (a) Biểu diễn đồ thị thí dụ hình 3.6 (a) 51 Hình 3.6 (b) Biểu diễn đồ thị có tám điểm cắt 52 -1- MỞ ĐẦU Trong thực tế có nhiều tốn phức tạp thuộc lớp toán thoả mãn ràng buộc toán tối ưu tổ hợp có ràng buộc Đây tốn thuộc loại NP-C Đã có nhiều phương pháp để giải tốn Trong số tốn điển hình phải kể đến tốn tìm đường ngắn nhất, tốn tơ màu đồ, tốn xếp hậu, toán số cạnh cắt đồ thị trịn, tốn người bán hàng rong, Các giải thuật heuristic đề xuất nói chung thường phức tạp có hạn chế định độ xác Trong khoảng hai chục năm trở lại hướng nghiên cứu mạng nơ-ron nhân tạo phát triển có nhiều ứng dụng lĩnh vực công nghệ thông tin Đặc biệt mạng Hopfield thích hợp cho tốn Nhận thức vấn đề có gợi ý định hướng PGS, TS Đặng Quang Á em mạnh dạn nghiên cứu đề tài " Ứng dụng mạng nơ-ron giải số toán đồ thị " Nội dung luận văn tốt nghiệp gồm có ba chương: Chương trình bày tổng quan sở mạng nơ-ron nhân tạo phương pháp giải toán NP-C, bao gồm: Giới thiệu mạng nơ-ron sinh học, mơ hình mạng nơ-ron nhân tạo, phạm vi ứng dụng mạng nơ-ron Hopfield, ưu nhược điểm mạng nơ-ron, phương pháp ánh xạ toán lên mạng nơ-ron, mạng nơ-ron với số toán NP-C, khái niệm toán lớp NP-C NP-hard, khái quát phương pháp giải Chương hai trình bày ứng dụng mạng nơ-ron Hopfield toán số cạnh cắt đồ thị trịn Đây tốn có nhiều ý nghĩa thực tiễn thiết kế mạch điện tử, định tuyến tối ưu mạch điện tử Bài tốn thuộc lớp tốn tối ưu có ràng buộc -2- Chương ba cài đặt thuật toán thử nghiệm chương trình giải tốn mạng Hopfield tốn số cạnh cắt đồ thị trịn Là toán mang ý nghĩa thực tiễn Khi chạy chương trình máy tính kết ln ln ổn định, thuật toán đơn giản -3- Chương GIỚI THIỆU SƠ LƯỢC VỀ MẠNG NƠ RON NHÂN TẠO 1.1 Giới thiệu mạng nơ-ron nhân tạo 1.1.1 Lịch sử phát triển Quá trình nghiên cứu phát triển mạng nơ-ron nhân tạo chia thành bốn giai đoạn sau: + Giai đoạn một: Có thể tính từ nghiên cứu William (1890) tâm lý học với liên kết nơ-ron thần kinh Năm 1940, MeCulloch Pitts cho biết: nơ-ron mơ hình hố thiết bị ngưỡng (giới hạn) để thực phép tính logic mơ hình mạng nơ-ron Mc Culloch-Pitts với giải thuật huấn luyện mạng Hebb đời năm 1943 + Giai đoạn hai: Vào khoảng gần năm 1960, số mơ hình nơron hồn thiện đưa như: mơ hình Perceptron Rosenblatt (1958), Adaline Widrow (1962) Trong mơ hình Perceptron quan tâm ngun lý đơn giản, có hạn chế Marvin Minsky Seymour papert MIT (Massachurehs Insritute of Technology) chứng minh khơng dùng cho hàm logic phức (1969) Cịn Adaline mơ hình tuyến tính, tự chỉnh, dùng rộng rãi điều khiển thích nghi, tách nhiễu phát triển + Giai đoạn ba: Có thể tính vào khoảng đầu thập niên 80 Những đóng góp lớn cho mạng nơ-ron giai đoạn phải kể đến Grossberg, Kohonen, Rumelhart Hopfield Trong đóng góp lớn Hopfield gồm hai mạng phản hồi: Mạng rời rạc năm 1982 mạng liên tục năm 1984 Đặc biệt, ông dự kiến nhiều khả tính tốn lớn mạng mà nơ-ron khơng có khả Cảm nhận Hopfield Rumelhart, Hinton Williams đề xuất thuật toán sai số truyền ngược tiếng để huấn luyện mạng -4- nơ-ron nhiều lớp nhằm giải tốn mà mạng khác khơng thực Nhiều ứng dụng mạnh mẽ mạng nơ-ron đời với mạng theo kiểu máy Boltzmann mạng Neocognition Fukushima + Giai đoạn bốn: Tính từ năm 1987 đến nay, hàng năm giới mở hội nghị toàn cầu chuyên ngành nơ-ron IJCNN (International Joint Conference on Neural Networks) Rất nhiều cơng trình nghiên cứu để ứng dụng mạng nơ-ron vào lĩnh vực, ví dụ như: Kỹ thuật tính, tối ưu, sinh học, y học, thống kê, giao thơng, hố học… Cho đến nay, mạng nơ-ron tìm khẳng định vị trí nhiều ứng dụng khác 1.1.2 Mơ hình mạng nơ-ron nhân tạo 1.1.2.1 Nơ-ron sinh học Hệ thần kinh người có khoảng 1010 tế bào thần kinh gọi nơron Mỗi nơ-ron gồm có ba phần: Thân nơ-ron với nhân bên (soma), đầu thần kinh (axon) hệ thống hình thần kinh (dendrite) Có nhiều loại nơ-ron khác kích thước khả thu phát tín hiệu Tuy nhiên, chúng có cấu trúc nguyên lý hoạt động chung Hình vẽ (1.1) hình ảnh đơn giản hoá loại nơ-ron Trong thực tế có nhiều dây thần kinh vào chúng bao phủ diện tích lớn (0.25 mm2) để nhận tín hiệu từ nơ-ron khác Đầu thần kinh 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 đầu thần kinh nối với khớp thần kinh (synapse) Các khớp thần kinh nối với thần kinh vào nơ-ron khác Thêm vào đó, nơ-ron sửa đổi tín hiệu khớp, nơ-ron nhân tạo gọi trọng số - 55 - TÀI LIỆU THAM KHẢO [1] Đặng Quang Á, Một cách nhìn việc sử dụng mạng Hopfield giải toán thoả mãn ràng buộc tối ưu có ràng buộc, Báo cáo Hội thảo quốc gia “Một số vấn đề chọn lọc công nghệ thơng tin”, Hải phịng 6/2001 [2] Đặng Quang Á, Ứng dụng mang nơ ron tính tốn, Sách “Hệ mờ, mạng nơ-ron ứng dụng”, Chủ biên: Bùi Cơng Cường, Nguyễn Dỗn Phước, Nhà XBKH-KT, Hà nội, 2001, 199-211 [3] Bùi minh trí, Quy hoạch tốn học, Nhà XBKH-KT, Hà nội, 1999 [4] Hopfield, J J Neurons with graded response have collective computational proper-ties like those of two-state neurons Proceedings of the Nat Acad of Sciences, USA, Vol 81, pp 3088-3092 [5] J Ramanujam and P Sadayappan (1995), “Mapping Combinatorial Optimization Problems onto Neural Networks”, Information Sciences, 82, 239-255 [6] Jiahai Wang (2006), “An Improved Maximum Neural Network Algorithm for Maximum Cut Problem,” Neural Information Processing Letters and Reviews, Vol.10, No.2 [7] K.C Lee, N Funabiki, Y.B Cho, Y Takefuji (1991), A parallel neural network computing for the maximum clique problem, International Joint Conference on Neural Networks, Singapore, pp 905–910 [8] LiMin Fu (1994), Neural Network in Computer Intelligence, Mc Graw Hill [9] L Chen, and K Aihara (1995), “Chaotic simulated annealing by a neural network model with transient chaos, ” Neural Networks, vol.8, no.6, pp.915-930 graphs, In Proc Of ALENEX'99, LNCS 1619, Springer, pp 57-73 - 56 - [10] McCulloch, W S and Pitts, W A logical calculus of the ideas immanent in nervousactivity Bulletin of Mathematical Biophysics, 5: 115133, 1943 [11] Hongmei He, Outerplanar Graph Drawings, A Report For the First Year of PhD Research, 2004 [12] S Matsuda (1999), “Quantized Hopfield networks for integer programming,” Systems and computers in Japa, Vol.30, No.6, 199, 1354-1364.S [13] Six, J M and Tollis, I.G (1990), Circular drawings of biconnected graphs, In Proc Of ALENEX'99, LNCS 1619, Springer, pp 57-73 [14] Síma, J., Neruda, R Theoretical Questions on Neural networks, MatfyzPress, Prague, 1996, (in czech) [15] Wiedermann, J Complexity issues in discrete neurocomputing Aspects and Prospects of Theoretical Computer Science, Proceedings IMYCS'90, LNCS Vol.464, Springer Verlag, Berlin, pp 93-108 [16] Purchase, H (1997), Which aesthetic has the greatest effect on human understanding? In Proc of Symposium on Graph Drawing, GD'97, LNCS 1353, Springer, pp 248-261 [17] Masuda, S., Kashiwabara, T., Nakajima, K And Fujisawa, T (1987), On the NP-completeness of a computer network layout problem, in Proc of IEEE Intl Symposium on Circuits and Sys-tems, IEEE Computer Society Press, Los Alami-tos, pp 292-295 [18] Hongmei He, Ondrej Sykora, A Hopfield Neural Network Model for the Outerplanar Drawing Problem, Inter Journal of Comp Sciences, 32, 4, 2006 - 57 - PHỤ LỤC CHƯƠNG TRÌNH THỬ NGHIỆM CỦA MẠNG NƠ-RON GIẢI BÀI TOÁN SỐ CẠNH CẮT NHAU CỦA ĐỒ THỊ TRÒN Public i, j, k, L, n, m, max, min, a, b, c, d, tong1, tong2, tong1a, tong2a, t, diag, conf, s1, s11, s12, s13, s14 As Integer Public slcn As Integer, Xsta As Integer, Ysta As Integer, centerX As Integer, centerY As Integer Public R As Integer, X As Integer, y As Integer Public x1 As Integer, y1 As Integer Public phi, S As Integer Public st As String, st1 As String Public name1 As String Public sl As Integer, slcnbd As Integer Public KT As Boolean '******************************* Public vij(1 To 50, To 50) As Integer Public Vup(1 To 50, To 50) As Integer Public Vdown(1 To 50, To 50) As Integer Public v(1 To 50, To 50) As Integer - 58 - Public xm(1 To 50, To 50) As Integer Public e(1 To 50, To 50) As Integer Public Uup(1 To 50, To 50) As Integer Public Udown(1 To 50, To 50) As Integer Public deltv(1 To 50, To 50) As Integer Public deltij(1 To 50, To 50) As Integer Public deltik(1 To 50, To 50) As Integer Public deltijkl(1 To 50, To 50, To 50, To 50) As Integer Public bias(1 To 50, To 50) As Integer Public Wijkl(1 To 50, To 50, To 50, To 50) As Integer Public sodinh As String Public MLK(50) As String '*************************************************** Public Sub timvij() ' tinh v(i,j) For i = To max For j = To max - 59 - vij(i, j) = Next Next For i = To max st = MLK(i) st = Trim(st) t = InStr(st, ",") Do t = InStr(st, ",") If t > Then st1 = Left(st, t - 1) st = Mid(st, t + 1) st = RTrim(st) Else st1 = st End If st1 = Trim(st1) j = Val(st1) - 60 - If (j > 0) And (j