Khóa luận tốt nghiệp toán Những vấn đề cơ bản và một số thuật toán trên đồ thị

62 339 0
Khóa luận tốt nghiệp toán Những vấn đề cơ bản và một số thuật toán trên đồ thị

Đ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

TRƯỜNG ĐẠI HỌC sư PHẠM HÀ NỘI 2 KHOA TOÁN NGUYỄN THÚY LINH NHỮNG VẤN ĐÊ Cơ BẢN VÀ MỘT SỐ THUẬT TOÁN TRÊN ĐỒ THỊ KHÓA LUÂN TỐT NGHIÊP ĐAI HOC • • • • Chuyên ngành: ứng dụng Ngưòi hướng dẫn khoa học TS. TRẦN MINH TƯỚC HÀ NỘI - 2014 ________•__________ Trong quá trình thực hiện khoá luận em đã nhận được nhiều sự giúp đỡ quý báu và bổ ích từ các thầy cô và bạn bè. Em xin chân thành cảm ơn các thầy cô trong khoa Toán trường Đại học Sư phạm Hà Nội 2 đã tận tâm giảng dạy, truyền thụ kiến thức và kinh nghiệm quý báu để em hoàn thành tốt khoá học. Đặc biệt, em xin bày tỏ lòng cảm ơn sâu sắc của mình tới thầy Trần Minh Tước, thầy đã trực tiếp hướng dẫn, nhiệt tình giúp đỡ và chỉ bảo em ừong suốt quá trình thực hiện khoá luận. Em xin chân thành cảm ơn các thầy cô trong tổ toán ứng dụng - khoa Toán, thư viện nhà trường, gia đình và bạn bè đã tạo mọi điều kiện, động viên, giúp đỡ để em hoàn thành khoá luận này. Xuân Hòa, ngày 06 tháng 5 năm 2014 Sinh viên Nguyễn Thúy Linh LỜI CẢM ƠN Tôi cam đoan khoá luận “Những vẩn đề cơ bản và một sổ thuật toán trên đồ thị” là kết quả nghiên cứu của tôi dưới sự hướng dẫn của TS.Trần Minh Tước. Tôi xin khẳng định kết quả nghiên cứu trong khoá luận này không sao chép kết quả của bất cứ tác giả nào khác. Nếu sai sót tôi xin chịu hoàn toàn trách nhiệm. Xuân Hòa, ngày 06 tháng 5 năm 2014 Sinh viên Nguyễn Thúy Linh LỜI CẢM ƠN MỤC LỤC LỜI CẢM ƠN MỞ ĐẦU Lý thuyết đồ thị là ngành khoa học được phát hiện từ lâu nhưng lại có nhiều ứng dụng hiện đại. Những tư tưởng cơ bản của lý thuyết đồ thị được đề xuất từ những năm đầu của thế kỉ XVIII bởi nhà toán học lỗi lạc người Thụy Sĩ Leonhard Euler. Chính ông là người đã sử dụng đồ thị để giải bài toán nổi tiếng về các cây càu ở thành phố Königsberg. Từ đó lý thuyết đồ thị ngày càng khẳng định được vị trí quan trọng trong việc giải quyết các bài toán thực tế. Lý thuyết đồ thị không những có nhiều ứng dụng trong thực tế mà còn là công cụ đắc lực cho ngành công nghệ thông tin. Nó giúp cho chúng ta mô tả dễ dàng các bài toán phức tạp một cách cụ thể, để từ đó ta có thể mã hóa các bài toán đó bằng máy tính. Tuy nhiên, đây là kiến thức hoàn toàn mới, không có ừong chương trình học của tôi. Với mong muốn học hỏi và tìm tòi kiến thức mới nên tôi chọn đề tài “Những vẩn đề cơ bản và một số thuật toán trên đồ thị”. Nội dung khóa luận của tôi tuy không phải là những kết quả mới tìm được nhưng với tinh thần học hỏi kiến thức mới, hi vọng đề tài này sẽ đem lại nhiều kiến thức bổ ích cho bản thân và cho độc giả. Nội dung khóa luận gồm hai chương: Chương 1. Một sổ kiến thức cơ bản về đồ thị. Chương 2. Một sổ thuật toán trên đồ thị. Tuy đã có nhiều cố gắng, song do hạn chế về thời gian và năng lực của bản thân, nên khóa luận không tránh khỏi sai sót, rất mong được sự quan tâm góp ý của thầy cô và các bạn. Tôi xin chân thành cảm ơn! Chương 1 MỘT SỐ KIẾN THỨC Cơ BẢN VỀ ĐỒ THỊ 1. Một số khái niệm của đồ thị 1.1. Định nghĩa đồ thị 5 Ta có thể hình dung đồ thị như tập hữu hạn các đối tượng và những mối liên hệ giữa các đối tượng đó. Sơ đồ biểu diễn một mạng máy tính là một hình ảnh của đồ thị. Các đối tượng là các máy tính, mỗi kênh thoại sẽ biểu diễn mối liên hệ giữa hai máy tính trong mạng. Có nhiều loại đồ thị được xây dựng dựa vào cấu trúc của đồ thị, cụ thể là tùy thuộc vào sự xác định mối liên hệ giữa các đối tượng. Khuôn khổ khóa luận này tôi chỉ đề cập tới đồ thị vô hướng và đồ thị vô hướng có trọng số. Định nghĩa 1.1. Đồ thị là một cặp G = (y,E) gồm hai tập hợp hữu hạn VvàEthỏa mãn điều kiện £c{{m,v}Im , v g V;m^v} Phần tử của V được gọi là đỉnh, phần tử của E được gọi là cạnh của đồ thị G. Người ta thường ký hiệu V = {v 1 ,v 2 , ,v n },cạnh e = {u,v} thường viết gọn hơn là uv (cũng trùng với vu). Trong định nghĩa này, mỗi phàn tử của E là một tập gồm hai phần tử khác nhau thuộc V. Như vậy, các đồ thị được xét ở đây là các đồ thị hữu hạn, không có khuyên và cạnh bội (xem [1]), gọi tắt là đồ thị. Một cách trực quan, người ta thường biểu diễn đồ thị bằng sơ đồ đỉnh - cạnh như sau: - Biểu diễn mỗi đỉnh của đồ thị bằng một vòng tròn nhỏ (rỗng hoặc đặc). - Một cạnh được biểu diễn bởi một đoạn (cong hay thẳng) nối hai 6 đỉnh liên thuộc với cạnh đó. Ví dụ. Đồ thị G = (Y,E) với V ={v 1 ,v 2 , ,v 7 }, E = {v l v 2 , Định nghĩa 1.2. Giả sử G = (y,E) /à đồ thị không rỗng. Đồ thị ơ = (y',E') được gọi là đồ thị con của G, kí hiệu G'cG, nếu VcV và E' <^E. Trong trường hợp V' -Vthì ta nói rằng ơlà đồ thị con bao trùm của G. Ví dụ. Đồ thị ơ và G" là đồ thị con của G. Đồ thị G" là đồ thị con bao trùm của G. G G' G' 7 V 2 V 3 , v^g, V 2 V 6 , V 2 V 7 , V 3 V 4 , V 3 V 5 , V 3 V 7 , V 4 V 6 , V 3 V 6 , V 6 V 7 } là đồ thị được biểu diễn trong hình 1. Hình 2. Đồ thị G và các đồ thị con G' và G" của G . Định nghĩa 1.3. Đồ thị G = (V,E) được gọi là đồ thị có trọng số nếu hàm: W:E—>W E được xác định, ở đây giá trị W E Ç Z K . . Giá trị w(e) cho e e E được gọi là trọng số của canh e. Kí hiệu: G = (У, E, w) Các phần tử của W E có ứiể chỉ đơn thuần là các dữ liệu nhưng thường thì có một ý nghĩa định lượng nào đấy. Ví dụ. Cho G = (V,E,f ) với V={v 1 ,v 2 , ,v 7 }, E = {V{V 2 , v^, V 2 V 3 , V 2 V 5 , V 2 V 6 , V 2 V 7 , V 3 V 4 , V 3 V 5 , V 4 V 5 , V 5 V 6 , V 6 V 7 } Và w:E—>W e được xác định như sau: wCvxV 7 ) = w(v 3 v 4 ) = w(v 3 v 5 ) = 1 ; w(v 2 v 3 ) = w(v 2 v 7 ) = 2 w(v 2 v 5 ) = w(v 6 v 7 ) = 3 ; w(v 4 v 5 ) = 4 = 5 ; w(v 5 v 6 ) = 6 ; w(v 2 v 6 ) = 7 IQii đó G là đồ thị có ừọng số được biểu diễn bởi hình 3. 1.2. Các thuật ngữ cơ bản 1.2.1. Liên thuộc, kề Định nghĩa 1.4. Giả sử G = (V,E)là đồ thị không rỗng với V e V và ể g £ , ta nói đỉnh V liên thuộc với cạnh e (hay cạnh e liên thuộc với đỉnh v) neu V e e. Các đỉnh liên thuộc vón một cạnh được gọi là các đầu mút của cạnh đó. Hai đỉnh uvàv của G được gọi là kề nhau nểu uv là một cạnh của 8 Hình 3. Đồ thị có trọng số G G. Ví dụ. Hình 4. Đơn đồ thị G Xét đồ thị G được cho trong hình 4: Đỉnh v l liên thuộc với Ểj,Ể 2 Đỉnh v 2 kề với các đỉnh v 15 v 3 ,v 5 . 1.2.2. Bâc của đỉnh Định nghĩa 1.5. Giả sử G = (V,E) là đồ thị không rỗng với V là một đỉnh của G. Ta lá hiệu E(v) là tập các cạnh liên thuộc với V. Khi đó bậc của V kỷ hiệu là deg(y) là số cạnh liên thuộc với V, nghĩa là deg(v) = I E(v) I. Đỉnh bậc 0 được gọi là đỉnh cô lập. Đỉnh bậc 1 được gọi là đỉnh treo. Ví dụ. Hình 5. Bậc của các đỉnh ừên đồ thị G. Xét đồ thị G được cho ừong hình 5 ta có degivj = 1, deg(v 2 ) = 3, deg(v 3 ) = 4, deg(v 4 ) = 2 deg(v 5 ) = 0, deg(v 6 ) = 3, deg{v n ) = 3 9 Vi Từ khái niệm ta có đỉnh v 5 là đỉnh cô lập, V! là đỉnh ừeo. Định lý 1.1.[2] Trong đồ thị G = (V, E) bất kì ta luôn có Ỵ d degiý)=im □ veV *Nhận xét: Ta thấy rằng mỗi cạnh e = uv được tính một làn trong deg(u) và một lần trong deg{v). Từ đó ta suy ra được rằng tổng của tất cả các bậc của các đỉnh bằng hai lần số cạnh. 1.2.3. Đường đi, chu trình Định nghĩa 1.6. Giả sử G = (y,E)là đồ thị không rỗng, một đường đi trong G là một dãy phân biệt các đỉnh v ữ ,v v v 2 , ,v n , Vị GVsao cho VịV i+l G E với mọi ỉ = 0,l, ,n-l. Khi đó n được gọi là độ dài, đỉnh v 0 được gọi là đỉnh đầu, còn đỉnh V được gọi là đỉnh cuối của đường đi trên. Một đường đi được gọi là chu trình nểu đỉnh đầu và đỉnh cuối của nó trùng nhau. Ví dụ. Giả sử G = (V, E) là đồ thị như ở hình 6. Hình 6. Đường đi và chu trình trên G. Khi đó: Dãy v v v 2 ,v 3 ,v 4 ,v 6 là đường đi đơn độ dài 4. Dãy v 1 ,v 2 ,v 4 ,v 6 ,v 5 ,v 1 là chu trình có độ dài 5. 1.2.4. Liên thông, thành phần liên thông Định nghĩa 1.7. Đồ thị G = (V, E) được gọi là liên thông nếu với hai đỉnh и và vkhác nhau bất kỳ của G tồn tại một đường đi trong G với đỉnh đầu là и và đỉnh cuối là V. 1 [...]... hơn Chương 2 MỘT SỐ THUẬT TOÁN TRÊN ĐỒ THỊ 1 Bài toán duyệt đồ thị Một bài toán quan trọng trong lý thuyết đồ thị là bài toán duyệt đồ thị Ta phải duyệt qua tất cả các đỉnh của đồ thị, bắt đầu từ một đỉnh xuất phát nào đó Vấn đề này đưa về một bài toán liệt kê mà yêu càu của nó là không được bỏ sót và cũng không được lặp lại bất kỳ đỉnh nào Chính vì vậy mà ta phải xây dựng những thuật toán cho phép... các đỉnh một cách hệ thống Những thuật toán như vậy gọi là những thuật toán tìm kiếm trên đồ thị Ở đây ta quan tâm đến hai thuật toán cơ bản đó là thuật toán tìm kiếm theo chiều sâu và thuật toán tìm kiếm theo chiều rộng 1.1 Thuật toán tìm kiếm theo chiều sâu DFS (Depth First Search) Tư tưởng: Cho G = ( y, E ) là đồ thị với các đính u , v, w g V Ta sẽ bắt đàu tìm kiếm tò đỉnh V nào đó của đồ thị Sau...Trong trường hợp ngược lại, đồ thị được gọi là không liên thông Ví dụ Đồ thị G = (V,E) cho ttong hình 7 là đồ thị liên thông v2 Như vậy có thể thấy một đồ thị G không liên thông là tập họp các đồ thị liên thông Mỗi đồ thị liên thông là đồ thị con của G và được gọi là một thành phần liên thông của đồ thị G đã cho Ví dụ Đồ thị G = (Y,E) cho trong hình 8 là đồ thị không liên thông Nó gồm 3 thành... là đồ thị đầy đủ Đồ thị đày đủ n đỉnh, ký hiệu là Kn Ví dụ Các đồ thị K2,K3,K4,K5cho trong hình 11 dưới đây Hình 11 Đồ thị đầy đủ Có thể thấy rằng đồ thị đầy đủ Kn có tất cả —— = cị cạnh, nó là đồ thị có nhiều cạnh nhất 1.3.2 Đồ thị vòng Đồ thị gồm n đỉnh v15v2, ,v (n > 3) và các cạnh VJV , V V , 2 2 3 Vi*» v„vn+1 được gọi là đồ thị vòng Cn Ví dụ Đồ thị vòng C3,C4,C5,C6 cho trong hình 12 Hình 12 Đồ thị. .. 1.9 Giả sử G = (Y,E) là đồ thị không rỗng với e là một cạnh của G Cạnh e được gọi là cầu nểu khi loại bỏ nó khỏi đồ thị nhận được sẽ cỏ số thành phần liên thông lớn hơn số thành phần liên thông của đồ thị ban đầu Ví dụ Trong đồ thị G được cho ở hình 10 các cạnh: V V 1 3’V2V3’V4V3’V5V3 đều là cạnh cầu 1.3 1.3.1 Một số đồ thị đặc biệt Hình 10 Cạnh càu ừên đồ thị G Đồ thị đầy đủ Đồ thị mà giữa hai đỉnh bất... hơn khi đồ thị có ít cạnh - Nhìn vào ma trận ta có thể dễ dàng biết được số lượng cạnh, số lượng đỉnh và bậc của các đỉnh Nhược điểm: 2.3 Biểu diễn phức tạp nếu đồ thị có số lượng cạnh nhiều Ý nghĩa của các cách biểu diễn đồ thị Trong những ứng dụng rộng rãi của đồ thị đối với các lĩnh vực khoa học khác và đối với thực tế cuộc sống, việc biểu diễn đồ thị đóng một vai trò quan trọng Biểu diễn đồ thị với... C3,C4,C5,C6 1.3.3 Đồ thị bánh xe Đồ thị bánh xe thu được bằng cách bổ sung vào đồ thị vòng Cn một đinh mới nối với tất cả các đỉnh của с Kí hiệu w Ví dụ Đồ thị bánh xe W3,W4,W5,W6 cho trong hình 13 W, Hình 13 Đồ thị bánh xe W3,W4,W5,W6 1.3.4 Đồ thị hai phía Đồ thị G = (У, E) được gọi là hai phía nếu như tập đỉnh V của nó có thể phân hoạch thành hai tập X và Y sao cho mỗi cạnh của đồ thị chỉ nối một đỉnh nào... liên thông của đồ thị là bài toán lớn, cần có cách thức để thực hiện nhanh, chính xác Trên đây đã nêu hai cách duyệt đồ thị phổ biến được áp dụng đó là tìm kiếm theo chiều sâu và tìm kiếm theo chiều rộng giúp người sử dụng dễ dàng kiểm tra những tính chất liên quan đến tính liên thông của đồ thị như kiểm tra sự liên thông của một đồ thị, tìm đường đi giữa hai đỉnh của một đồ thị, 2 Bài toán tìm đường... rộng trên đồ thị được thực hiện nhờ thuật toán sau: BEGIN (* Initialization *) for V eV do Chuaxet[v] := true; forv eVdo if Chuaxet[V7 then BFS(v); END Ví dụ Dùng thuật toán BFS duyệt đồ thị sau: v„ Hình 2 Đồ thị G Thuật toán tìm kiếm theo chiều rộng được cho trong hình 2 được minh họa ttong các hình và bảng dưới đây Tương tự như DFS, ở đây ta cũng quy định duyệt theo thứ tự từ tăng dần của chỉ số của... DFS(u); end; (* đỉnh V đã duyệt xong *) Khi đó, tìm kiếm theo chiều sâu trên đồ thị tổng quát được thực hiện nhờ thuật toán sau: BEGIN (* Initialization *) for V eV do Chuaxet[v] := true; forv eVdo if Chuaxet[v] then DFS(v); END Ví dụ Dùng thuật toán DFS duyệt đồ thị sau Hình 1 Đồ thị G Thuật toán tìm kiếm theo chiều sâu trên đồ thị G được cho trong hình 1 được minh họa trong hình dưới đây Các đỉnh . dựng những thuật toán cho phép duyệt các đỉnh một cách hệ thống. Những thuật toán như vậy gọi là những thuật toán tìm kiếm trên đồ thị. Ở đây ta quan tâm đến hai thuật toán cơ bản đó là thuật toán. bài toán thực tế sẽ trở nên đơn giản, thuận tiện hơn. Chương 2 MỘT SỐ THUẬT TOÁN TRÊN ĐỒ THỊ 1. Bài toán duyệt đồ thị Một bài toán quan trọng trong lý thuyết đồ thị là bài toán duyệt đồ thị. . TRƯỜNG ĐẠI HỌC sư PHẠM HÀ NỘI 2 KHOA TOÁN NGUYỄN THÚY LINH NHỮNG VẤN ĐÊ Cơ BẢN VÀ MỘT SỐ THUẬT TOÁN TRÊN ĐỒ THỊ KHÓA LUÂN TỐT NGHIÊP ĐAI HOC • • • • Chuyên ngành: ứng dụng Ngưòi

Ngày đăng: 10/07/2015, 10:11

Từ khóa liên quan

Mục lục

  • W,

  • V,

  • V,

  • v,[0]

  • 5^y

    • 88 Xr' ^

      • 89 V

Trích đoạn

Tài liệu cùng người dùng

Tài liệu liên quan