Tìm hiểu sự liên hệ giữa đồ thị có hướng và ma trận

55 323 0
Tìm hiểu sự liên hệ giữa đồ thị có hướng và ma trận

Đ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 KHOA TOÁN NGƠ THỊ HỒNG DIỄM TÌM HIỂU SỰ LIÊN HỆ GIỮA ĐỒ THỊ CÓ HƯỚNG VÀ MA TRẬN KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC Chuyên ngành: Toán ứng dụng Người hướng dẫn khoa học TS TRẦN MINH TƯỚC HÀ NỘI - 2013 Lời cảm ơn Trước tiên em xin gửi lời cám ơn chân thành sâu sắc tới thầy cô giáo trường Đại học Sư Phạm Hà Nội nói chung thầy giáo khoa Tốn, mơn Ứng Dụng nói riêng tận tình giảng dạy, truyền đạt cho em kiến thức, kinh nghiệm quý báu suốt thời gian qua Đặc biệt em xin gửi lời cảm ơn đến thầy giáo TS Trần Minh Tước, thầy tận tình giúp đỡ, trực tiếp bảo, hướng dẫn em suốt trình làm khóa luận tốt nghiệp Trong thời gian làm việc với thầy, em không ngừng tiếp thu thêm nhiều kiến thức bổ ích mà học tập tinh thần làm việc, thái độ nghiên cứu khoa học nghiêm túc, hiệu quả, điều cần thiết cho em q trình học tập cơng tác sau Đồng thời, em xin cảm ơn bạn lớp K35 Cử Nhân Tốn nhiệt tình giúp đỡ em trình học tập lớp Hà Nội, tháng 05, năm 2013 Sinh viên Ngô Thị Hồng Diễm Lời cam đoan Em xin cam đoan cơng trình nghiên cứu riêng em Các số liệu, kết nêu khóa luận trung thực thơng tin trích dẫn khóa luận ghi rõ nguồn gốc Hà Nội, tháng 05, năm 2013 Sinh viên Ngô Thị Hồng Diễm Mục lục Mở đầu Chương 1: Nhắc lại lý thuyết đồ thị ma trận 1.1 Đồ thị 1.1.1 Đồ thị có hướng .3 1.1.2 Bậc đỉnh đồ thị có hướng 1.1.3 Sự liên thông 1.2 Đường đi, chu trình, tính liên thơng đồ thị có hướng 1.2.1 Đường đi, chu trình 1.2.2 Đồ thị có trọng số .12 1.3 Ma trận 13 Chương 2: Liên hệ đồ thị có hướng ma trận 15 2.1 Biểu diễn đồ thị có hướng ma trận kề 15 2.1.1 Tính liên thơng đồ thị có hướng 16 2.1.2 Bài toán đường ngắn (Thuật toán Floyd) 18 Chương 3: Một vài lớp đồ thị đặc biệt 31 3.1 Đồ thị Euler .31 3.2 Đồ thị vòng có hướng 40 Tài liệu tham khảo 44 Mở đầu Lý chọn đề tài Trong toán học tin học, lý thuyết đồ thị nghiên cứu tính chất đồ thị Một cách phi hình thức, đồ thị gồm tập đối tượng gọi đỉnh (hoặc nút) nối với cạnh (hoặc cung) Đồ thị vẽ dạng tập đỉnh nối với đoạn thẳng (các cạnh) Khi sử dụng đồ thị tốn tin học có nhiều cách khác để lưu trữ đồ thị máy tính Sử dụng cấu trúc liệu tùy theo cấu trúc đồ thị thuật toán dùng để thao tác đồ thị Trong đề tài em đặt vấn đề nghiên cứu cấu trúc ma trận đồ thị có hướng Cấu trúc ma trận đồ thị có hướng chứa thơng tin quan hệ kề (có cung nối hay khơng) đỉnh đồ thị Ngồi cơng cụ hữu ích cho việc xem xét tính chất đồ thị có hướng với mạnh đại số tuyến tính Từ nhận thức em xin mạnh dạn nghiên cứu đề tài “Tìm hiểu liên hệ đồ thị có hướng ma trận” không nhiệm vụ em phải thực khoá luận tốt nghiệp mà thực đề tài em quan tâm nghiên cứu Các thuật ngữ khóa luận sử dụng cuốn: Norman Biggs (1974), Algebraic Graph Theory Cambridge Tracts in Mathematics, VOL 67 Nguyễn Đức Nghĩa (2003), Nguyễn Tô Thành, Ngơ Thị Hồng Diễm - K35-CN Tốn Mở đầu Tốn rời rạc, NXB Giáo dục Ngơ Đắc Tân (2004), Lý thuyết tổ hợp đồ thị, NXB ĐHQG Hà Nội Nguyễn Hữu Việt Hưng (2001), Đại số tuyến tính, NXB Quốc Gia Hà Nội Đối tượng phạm vi nghiên cứu -Đối tượng: Đồ thị ma trận -Phạm vi nghiên cứu: Đồ thị có hướng ma trận kề Mục đích nhiệm vụ nghiên cứu Tìm hiểu mối liên hệ đồ thị có hướng ma trận dựa thể số tính chất đồ thị ma trận kề tương ứng Phương pháp nghiên cứu Thu thập, nghiên cứu tài liệu, xin ý kiến chuyên gia Cấu trúc khóa luận Ngồi phần mở đầu kết luận khóa luận gồm chương: Chương 1: Nhắc lại lý thuyết đồ thị ma trận Chương 2: Liên hệ đồ thị có hướng ma trận Chương 3: Một vài lớp đồ thị đặc biệt Chương Nhắc lại lý thuyết đồ thị ma trận 1.1 Đồ thị 1.1.1 Đồ thị có hướng Một đồ thị có hướng G cặp có thứ tự G = (V, E), V tập hữu hạn, E tập có cặp thứ tự (u, v) với u, v ∈ V u ƒ= v, tức E quan hệ hai không phản xạ V Các phần tử V = {v1, v2, , vn} gọi đỉnh, phần tử E = {(u, v)|u, v ∈ V, u ƒ= v} gọi cung đồ thị có hướng G Nếu e = (u, v) ∈ E ta nói e có đỉnh đầu u, đỉnh cuối v có hướng từ u tới v Khi không gây nhầm lẫn ta kí hiệu cung e = uv (hoặc e = −u→v) Ví dụ 1.1.1 Cho đồ thị có hướng G = (V, E), với V = {a, b, c}, E = {(a, b), (b, c), (c, a)} Đồ thị có hướng G biểu diễn hình vẽ sau: CHƯƠNG NHẮC LẠI VỀ LÝ THUYẾT VỀ ĐỒ THỊ VÀ MA TRẬN a b c Hình 1.1: Đồ thị có hướng Giả sử G = (V, E) đồ thị có hướng Nếu (a, b) ∈ E đỉnh a, b gọi kề Hai cung G gọi kề chúng có đỉnh chung 1.1.2 Bậc đỉnh đồ thị có hướng • Bậc vào Định nghĩa 1.1.2 Cho G đồ thị có hướng, bậc vào đỉnh v ký hiệu deg−(v) = {x ∈ V (x, v) ∈ E} • Bậc Định nghĩa 1.1.3 Cho G đồ thị có hướng, bậc v ký hiệu deg+(v) = {y ∈ V (v, y) ∈ E} Định lý 1.1.4 [8] Cho G = (V, E) đồ thị có hướng Tổng bậc vào đỉnh tổng bậc số cung đồ thị Nghĩa ta có: m= deg−(v) = deg+(v) Chứng minh Khi lấy tổng tất bán bậc hay bán bậc vào, cung (u, v) tính lần deg+(u) tính lần deg−(v) Từ suy kết b a e c d Hình 1.2: Đồ thị có hướng Ví dụ 1.1.5 Xét đồ thị cho hình ta có: deg−(a) = 1, deg−(b) = 2, deg−(c) = 2, deg−(d) = 2, deg−(e) = deg+(a) = 3, deg+(b) = 1, deg+(c) = 1, deg+(d) = 2, deg+ (e) = Rất nhiều tính chất đồ thị có hướng khơng phụ thuộc vào hướng cung Vì vậy, nhiều trường hợp thuận tiện ta bỏ qua hướng cung đồ thị Đồ thị vô hướng thu cách bỏ qua hướng cung gọi đồ thị vô hướng đồ thị có hướng cho 1.1.3 Sự liên thơng 1.2 Đường đi, chu trình, tính liên thơng đồ thị có hướng 1.2.1 Đường đi, chu trình Đường có độ dài n từ v0 đến với n số nguyên dương, đồ thị có hướng G = (V, E) dãy cung liên tiếp v0v1, v1v2, , vn−1vn vi ƒ= vj, ∀i ƒ= j Đỉnh v0 gọi đỉnh đầu, đỉnh gọi đỉnh cuối Đường thường viết gọn: v0v1v2 vn−1vn Khi cần nêu đỉnh đầu vo đỉnh cuối đường đi, ta viết: đường vo − Đường có đỉnh đầu trùng với đỉnh cuối (tức u = v) gọi chu trình Một hành trình có hướng đồ thị có hướng dãy định dạng v0v1 Trong vi ∈ V cho vi−1vi ∈ E ; i = 1, 2, n Với v0 đỉnh đầu đỉnh cuối Một hành trình có hướng gọi vết cung vi−1vi đôi khác Một vết kín gọi mạch Một hành trình gọi đường qua đỉnh phân biệt Ví dụ 1.2.1 Cho đồ thị có hướng: B D A F C Hình 1.3 E Một số đường từ đỉnh A đến đỉnh C là: • Đường d1: (A, B), (B, C) (đường có độ dài 2) • Đường d2: (A, B), (B, D), (D, E), (E, C) (đường có độ dài 4) • Đường d3: (A, B), (B, D), (D, F ), (F, E), (E, C) (đường có độ dài 5) Đường d2 biểu diễn ma trận kề đồ thị sau: Chương Một vài lớp đồ thị đặc biệt 3.1 Đồ thị Euler Đặt vấn đề -Hãy vẽ hình sau nét bút (không nhấc bút lên vẽ) +Ta thấy hình A thì: A B Hình 3.1 Khơng vẽ nét Tối thiểu phải vẽ nét +Hình B thì: Khơng vẽ nét Tối thiểu phải vẽ nét 31 Ngô Thị Hồng Diễm - K35-CN Toán CHƯƠNG BIỆT MỘT VÀI LỚP ĐỒ THỊ ĐẶC -Hãy vẽ hình sau nét bút (khơng nhấc bút lên vẽ) Hình 3.2 • Đường đi, chu trình Euler có hướng Xét đồ thị G = (V, E) – Đường Euler có hướng đường có hướng qua cung đỉnh đồ thị, cung không q lần – Chu trình Euler có hướng chu trình có hướng qua cung đỉnh đồ thị, cung không lần Ví dụ 3.1.1 Đồ thị có hướng hình 2.10 có chu trình Euler là: Hìn h 3.3 ta có: d: 5 Có ma trận kề là: Đỉnh 0 1 0 0 0 0 0 1 0 0 0 0 – Đồ thị G gọi đồ thị Euler có hướng tồn chu trình Euler có hướng G Điều kiện cần đủ Để đồ thị có hướng đồ thị Euler có hướng: Cho G đồ thị có hướng liên thơng G Euler G có đỉnh có bán bậc bán bậc vào – Đồ thị G gọi đồ thị nửa Euler có hướng tồn đường Euler có hướng G Định lý 3.1.2 [10] Đồ thị có hướng liên thơng G đồ thị Euler với đỉnh v G có deg+(v) = deg−(v) Hệ 3.1.3 [10] Đồ thị có hướng liên thơng G có đường Euler có hướng G có hai đỉnh a, b thỏa mãn: deg−(a) = deg+(a) − deg−(b) = deg+(b) + Còn đỉnh khác cân tức : deg+(x) = deg−(x) với x ∈ V, x ƒ= a, x ƒ= b Kiểm tra đồ thị có hướng Euler hay nửa Euler – Đồ thị có hướng liên thông (Ta dễ dàng kiểm tra điều dựa vào ma trận đồ thị qua phần "2.2.2 Tính liên thơng đồ thị có hướng" nêu khóa luận) – Kiểm tra bậc đồ thị: +Nếu tất đỉnh có bán bậc = bán bậc vào tức ma trận đỉnh vi có : Tổng số số hàng i = Tổng số số cột i kết luận "Đây đồ thị Euler có hướng" +Nếu có đỉnh x có bậc nhiều bậc vào đơn vị tức ma trận tồn đỉnh x có: Tổng số số hàng x = Tổng số số cột x cộng thêm có đỉnh y khác có bậc bậc vào đơn vị tức ma trận tồn đỉnh y có: Tổng số số hàng y = Tổng số số cột y trừ đỉnh v khác cân tức : Tổng số số hàng v = Tổng số số cột v kết luận "Đây đồ thị nửa Euler có hướng" +Các trường hợp khác kết luận "Đây khơng phải đồ thị Euler có hướng hay nửa Euler có hướng" Ví dụ 3.1.4 Cho đồ thị có hướng H1, H2, H3 a c b a a b d b c e H1 d d H2 Hình 3.4 c H3 -Đồ thị vơ hướng đồ thị có hướng H1 có ma trận kề là: 0   1 A = 0  1 0  1 0  0   1 0 6 4 1 4   Ta có A4  4 =    4   4 Vì phần tử A ƒ= nên suy đồ thị H1 đồ thị liên thông Đồ thị có hướng H1 có ma trận kề là: Đỉnh a b c d e a 0 b 0 0 H1 = c 0 d 0 0 e 0 0 Từ ma trận ta thấy tất đỉnh a, b, c, d, e H1 có : Tổng số số hàng i = Tổng số số cột i = Do đồ thị có hướng H1 đồ thị Euler có hướng -Đồ thị vơ hướng đồ thị  có hướng H2 có ma trận kề là: 1    1 1 B= 1   1  12 31 21 Ta có B2 =       1 0 1 Vì phần tử B4 ƒ= nên suy đồ thị H2 đồ thị liên thông Đồ thị H2 có ma trận kề là: Đỉnh a b c d a 0 H2 = b 0 c 0 d 0 Từ ma trận ta thấy : Tổng số số hàng b = Tổng số số cột b − Tổng số số hàng c = Tổng số số cột c + Tổng số số hàng a = Tổng số số cột a = Tổng số số hàng d = Tổng số số cột d = Nên H2 đồ thị nửa Euler có hướng -Đồ thị vơ hướng đồ thị  có hướngH3 có ma trận kề là: 01 1   1   C =  1 1   1 1  2 23 2 Ta có C =    2 2 2 Vì phần tử C ƒ= nên suy đồ thị H3 đồ thị liên thông Đồ thị H3 có ma trận kề là: Đỉnh a b c d a 1 H3 = b 0 c 0 d 0 Từ ma trận ta thấy: Tổng số số hàng a = Tổng số số cột a + Tổng số số hàng b = Tổng số số cột b − Tổng số số hàng c = Tổng số số cột c = Tổng số số hàng d = Tổng số số cột d − Nên H3 không đồ thị Euler có hướng hay nửa Euler có hướng • Thuật tốn xây dựng chu trình Euler có hướng Đối với đồ thị liên có hướng thơng yếu, đỉnh có bán bậc bán bậc vào Thuật toán Fleury [7] Bắt đầu từ đỉnh đồ thị theo cung (định hướng) tuân theo quy tắc sau: -Quy tắc Khi qua cung xóa xóa ln đỉnh lập, có Khi ma trận: Từ dòng a ta gióng sang cột có giá trị giả sử cột b thay giá trị Tiếp từ dòng b ta gióng sang cột có giá trị giả sử cột c thay giá trị Cứ làm theo dòng cột Với đỉnh vi có giá trị hàng i cột j ma trận ta xóa ln hàng cột -Quy tắc Chỉ chọn cung "một không trở lại" khơng cạnh khác để Trong đó: Cung (u, v) gọi không trở lại nhu từ u ta tới v theo cạnh đó, sau xóa cạnh khơng cách từ v quay lại u Tức thay giá trị dòng i cột j ta thấy giá trị dòng j cột i ma trận Ví dụ 3.1.5 Tìm chu trình Euler đồ thị có hướng liên thơng sau: Đồ thị có ma trận kề là: Hình 3.5 Đỉnh 1 0 0 0 1 0 0 0 0 0 0 0 0 0 Bước 1: Xuất phát từ dòng gióng đến cột có giá trị là cột Ta thay giá trị ma trận Đỉnh 0 0 0 0 1 0 0 0 0 0 0 0 0 0 Bước 2: Từ dòng gióng đến cột 4, giả sử cột ta thay giá trị dòng cột Đỉnh 0 0 0 0 0 0 0 0 0 0 0 0 0 Bước 3: Tiếp tục, từ dòng ta gióng sang cột 3, ta thay giá trị dòng cột Đồng thời xóa ln dòng cột tất có giá trị Đỉnh 0 0 0 0 0 0 0 Bước 4: Từ dòng gióng sang cột 6, ta thay giá trị dòng cột Đỉnh 0 0 0 0 0 0 0 0 Bước 5: Từ dòng gióng sang cột 5, ta thay giá trị dòng cột Đồng thời xóa ln dòng cột tất có giá trị Đỉnh 0 0 0 0 0 Bước 6: Từ dòng gióng sang cột 2, ta thay giá trị dòng cột Đồng thời xóa ln dòng cột tất có giá trị Đỉnh 0 0 0 Bước 7: Từ dòng gióng sang cột 3, ta thay giá trị dòng cột Đồng thời xóa ln dòng cột tất có giá trị Đỉnh 0 Bước 8: Cuối từ dòng gióng sang cột 1, ta thay giá trị dòng cột Đồng thời xóa ln dòng 1, cột dòng 3, cột tất có giá trị Như vậy, ví dụ tìm chu trình Euler: 1-2-4-3-6-52-3-1 3.2 Đồ thị vòng có hướng Cn (n≥ 3) đồ thị có n đỉnh v1, v2, , có n cạnh (v1, v2), (v2, v3), , (vn−1, vn), (vn, v1) Ví dụ: Biểu diễn đồ thị có hướng C3 ma trận kề tương ứng: 40 Ngô Thị Hồng Diễm - K35-CN Tốn C3 C4 C5 Hình 3.6 0 0  A= 0 1 0 Biểu diễn đồ thị có hướng C4 ma trận kề tương ứng:   00    A = 0    0 1 0 Biểu diễn đồ thị có hướng C5 ma trận kề tương ứng: Nhận xét: 0 0  0 0 0 0 A=0   0 0 0   0 1 Theo chiều đồ thị vòng có hướng tồn thứ tự xếp đỉnh cho đồ thị vòng có dạng: 0     A =  0     1 0 0 0 0 0 0 0 0 .0 0  0     0    0 Chứng minh Ta dễ dàng chứng minh tồn thứ tự xếp đỉnh qua phép sau: Nói cách khác phép đổi chỗ phần tử tập đỉnh Vn = {1, 2, , n} Phép δ: Vn −→ Vn biểu diễn sau: Phép δ = n δ(1) δ(2) δ(3) δ(n) Trong δ(i) ảnh phần tử i ∈ Vn viết dòng cột với i Ảnh phần tử tập Vn qua phép cho ta hoán vị tập Vn Ngược lại hoán vị lại xác định phép Như có n! phép thế, tồn phép cho: δ(1) = 1, δ(2) = 2, , δ(n) = n theo hướng đồ thị Cn Phép hốn vị kí hiệu tập hợp chu trình nên phép cho ta chu trình (1, 2, , n) Thứ tự phần tử chu trình thay đổi theo phép xoay vòng chu trình Do hốn vị viết là: (2, 3, 4, , n, 1); (3, 4, 5, , n, 1, 2); ( , , , , )(n, 1, 2, , n − 1); Khi viết ma trận kề đồ thị có hướng Cn theo thứ tự xếp đỉnh ta nhận ma trận A Kết luận Qua khóa luận em tích lũy thêm nhiều kiến thức kinh nghiệm quý báu Bên cạnh kết đạt có điều chưa nhiều vấn đề đồ thị chưa nêu thuật toán cụ thể để giải Mới dừng lại mơ hình lý thuyết chưa có chương trình cài đặt cụ thể Bài khóa luận thực khoảng thời gian tháng Bước đầu vào thực tế, tìm hiểu lĩnh vực nghiên cứu khoa học, kiến thức em hạn chế nhiều bỡ ngỡ Do vậy, khơng tránh khỏi thiếu sót điều chắn, em mong nhận ý kiến đóng góp quý báu quý Thầy Cô bạn học lớp để kiến thức em lĩnh vực hồn thiện 43 Ngơ Thị Hồng Diễm - K35-CN Toán Tài liệu tham khảo [1] Norman Biggs (1974), Algebraic Graph Theory Cambridge Tracts in Mathematics, VOL 67 [2] Nguyễn Đức Nghĩa (2003), Nguyễn Tơ Thành, Tốn rời rạc, NXB Giáo dục [3] Ngô Đắc Tân (2004), Lý thuyết tổ hợp đồ thị, NXB ĐHQG Hà Nội [4] Nguyễn Hữu Việt Hưng (2001), Đại số tuyến tính, NXB Quốc Gia Hà Nội [5] PGS.TSKH Trần Quốc Chiến (2005), Giáo trình lí thuyết đồ thị, NXB Đại Học Đà Nẵng [6] http://doc.edu.vn/tai-lieu/giao-trinh-thiet-ke-va-danh-gia-thuattoan-6913/ [7] http://tailieu.tv/tai-lieu/giao-trinh-tin-hoc-tu-can-ban-den-nangcao-phan-i-967/ [8] http://www.math.hcmuns.edu.vn/ nvdong/Toanroirac/VII.Dothi.pdf [9] http://www.search-document.com/pdf/8/4/giai-do-thi.html [10] http://vi.scribd.com/doc/13817503/3/ 44 Ngơ Thị Hồng Diễm - K35-CN Tốn ... thuyết đồ thị ma trận Chương 2: Liên hệ đồ thị có hướng ma trận Chương 3: Một vài lớp đồ thị đặc biệt Chương Nhắc lại lý thuyết đồ thị ma trận 1.1 Đồ thị 1.1.1 Đồ thị có hướng Một đồ thị có hướng. .. không cung G Ví dụ 2.1.1 Tìm ma trận kề đồ thị sau: Hình 2.1: Đồ thị có hướng Ma trận kề đồ thị là: 15 Ngơ Thị Hồng Diễm - K35-CN Tốn CHƯƠNG LIÊN HỆ GIỮA ĐỒ THỊ CÓ HƯỚNG VÀ MA TRẬN    1 A = 1... × + × + × 0) Chương Liên hệ đồ thị có hướng ma trận 2.1 Biểu diễn đồ thị có hướng ma trận kề Cho đồ thị G = (V, E) V = {v1, v2, , vn} Ma trận kề biểu diễn đồ thị G ma trận có kích thước n × n

Ngày đăng: 31/12/2017, 19:50

Từ khóa liên quan

Mục lục

  • Lời cảm ơn

  • Lời cam đoan

  • Mục lục

  • Mở đầu

  • Kết luận

  • Tài liệu tham khảo

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

  • Đang cập nhật ...

Tài liệu liên quan