Ứng dụng mạng nơ ron giải một số bài toán về đồ thị Ứng dụng mạng nơ ron giải một số bài toán về đồ thị Ứng dụng mạng nơ ron giải một số bài toán về đồ thị Ứng dụng mạng nơ ron giải một số bài toán về đồ thị Ứng dụng mạng nơ ron giải một số bài toán về đồ thị Ứng dụng mạng nơ ron giải một số bài toán về đồ thị Ứng dụng mạng nơ ron giải một số bài toán về đồ thị Ứng dụng mạng nơ ron giải một số bài toán về đồ thị Ứng dụng mạng nơ ron giải một số bài toán về đồ thị Ứng dụng mạng nơ ron giải một số bài toán về đồ thị Ứng dụng mạng nơ ron giải một số bài toán về đồ thị Ứng dụng mạng nơ ron giải một số bài toán về đồ thị Ứng dụng mạng nơ ron giải một số bài toán về đồ thị Ứng dụng mạng nơ ron giải một số bài toán về đồ thị Ứng dụng mạng nơ ron giải một số bài toán về đồ thị
ĐẠ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 NGUN, NĂM 2011 Số hóa Trung tâm Học liệu – ĐHTN http://www.lrc-tnu.edu.vn ĐẠ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Ề DỒ THỊ Chuyên ngành: Mã số: Khoa học máy tính 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, NĂM 2011 Số hóa Trung tâm Học liệu – ĐHTN http://www.lrc-tnu.edu.vn i 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 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ó đƣợc kết qủa nhƣ hôm THÁI NGUYÊN 11/2011 Ngƣời viết luận văn Hà Duyên Hùng Số hóa Trung tâm Học liệu – ĐHTN http://www.lrc-tnu.edu.vn ii LỜI CAM ĐOAN Tôi xin cam đoan đề tài khoa học “Ứng dụng mạng nơ-ron giải số toán đồ thị” cơng trình nghiên cứu thân tơi 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 Số hóa Trung tâm Học liệu – ĐHTN http://www.lrc-tnu.edu.vn iii 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 toán số cạnh cắt đồ thị tròn -29Số hóa Trung tâm Học liệu – ĐHTN http://www.lrc-tnu.edu.vn iv 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 TOÁ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 toá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- Số hóa Trung tâm Học liệu – ĐHTN http://www.lrc-tnu.edu.vn 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 Số hóa Trung tâm Học liệu – ĐHTN http://www.lrc-tnu.edu.vn -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 đồ, toá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 đƣợc đề 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 đƣợc 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 đƣợ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 nhƣ 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 Số hóa Trung tâm Học liệu – ĐHTN http://www.lrc-tnu.edu.vn -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 toán số cạnh cắt đồ thị trịn Là tố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 tốn đơn giản Số hóa Trung tâm Học liệu – ĐHTN http://www.lrc-tnu.edu.vn -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 nhƣ 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 đƣợc mơ hình hố nhƣ 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 đƣợc đƣa nhƣ: mơ hình Perceptron Rosenblatt (1958), Adaline Widrow (1962) Trong mơ hình Perceptron đƣợc quan tâm ngun lý đơn giản, nhƣng có hạn chế nhƣ Marvin Minsky Seymour papert MIT (Massachurehs Insritute of Technology) chứng minh khơng dùng đƣợc cho hàm logic phức (1969) Cịn Adaline mơ hình tuyến tính, tự chỉnh, đƣợc 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 đƣợc Rumelhart, Hinton Williams đề xuất thuật toán sai số truyền ngƣợc tiếng để huấn luyện mạng Số hóa Trung tâm Học liệu – ĐHTN http://www.lrc-tnu.edu.vn - 56 - 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 toá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 Số hóa Trung tâm Học liệu – ĐHTN http://www.lrc-tnu.edu.vn - 57 - [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 Số hóa Trung tâm Học liệu – ĐHTN http://www.lrc-tnu.edu.vn - 58 - 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 Số hóa Trung tâm Học liệu – ĐHTN http://www.lrc-tnu.edu.vn - 59 - 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 Số hóa Trung tâm Học liệu – ĐHTN http://www.lrc-tnu.edu.vn - 60 - 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) Số hóa Trung tâm Học liệu – ĐHTN http://www.lrc-tnu.edu.vn - 61 - If (j > 0) And (j