1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Phân tích tai của đồ thị và đồ thị series parallel

72 17 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 72
Dung lượng 1,07 MB

Nội dung

BỘ GIÁO DỤC VÀ ĐÀO TẠO VIỆN HÀN LÂM KHOA HỌC VÀ CÔNG NGHỆ VIỆT NAM HỌC VIỆN KHOA HỌC VÀ CÔNG NGHỆ - Nguyễn Thị Thu Hà PHÂN TÍCH TAI CỦA ĐỒ THỊ VÀ ĐỒ THỊ SERIES PARALLEL LUẬN VĂN THẠC SĨ TOÁN HỌC Hà Nội - 2019 BỘ GIÁO DỤC VÀ ĐÀO TẠO VIỆN HÀN LÂM KHOA HỌC VÀ CÔNG NGHỆ VIỆT NAM HỌC VIỆN KHOA HỌC VÀ CÔNG NGHỆ - Nguyễn Thị Thu Hà PHÂN TÍCH TAI CỦA ĐỒ THỊ VÀ ĐỒ THỊ SERIES PARALLEL Chuyên ngành: Toán ứng dụng Mã số: 46 01 12 LUẬN VĂN THẠC SĨ TOÁN HỌC NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS TSKH Phan Thị Hà Dương Hà Nội - 2019 LỜI CAM ĐOAN Tơi xin cam đoan viết luận văn tìm tòi, học hỏi thân hướng dẫn tận tình Phan Thị Hà Dương Mọi kết nghiên cứu ý tưởng tác giả khác, có trích dẫn cụ thể Đề tài luận văn chưa bảo vệ hội đồng bảo vệ luận văn thạc sĩ chưa cơng bố phương tiện Tôi xin chịu trách nhiệm lời cam đoan Hà Nội, tháng 10 năm 2019 Học viên Nguyễn Thị Thu Hà LỜI CẢM ƠN Để hoàn thành luận văn này, trước hết xin bày tỏ biết ơn sâu sắc tới PGS.TSKH Phan Thị Hà Dương trực tiếp hướng dẫn, bảo tận tình tạo điều kiện thuận lợi suốt thời gian thực luận văn Tơi xin bày tỏ lòng biết ơn thầy cô, anh chị bạn bè Viện Toán học quan tâm giúp đỡ suốt trình học tập nghiên cứu Viện Qua đây, xin trân trọng cảm ơn giúp đỡ tạo điều kiện thuận lợi sở đào tạo Học viện Khoa học Công nghệ, Viện Hàn lâm Khoa học Công nghệ Việt Nam q trình thực luận văn Cuối tơi xin cảm ơn gia đình, người thân ln quan tâm, giúp đỡ, động viên khích lệ tơi suốt trình học tập nghiên cứu Hà Nội, tháng 10 năm 2019 Học viên Nguyễn Thị Thu Hà Mục lục Danh sách hình vẽ Danh sách bảng MỞ ĐẦU TÌM HIỂU VỀ PHÂN TÍCH TAI VÀ MỐI LIÊN HỆ VỚI TÍNH LIÊN THƠNG CỦA ĐỒ THỊ 1.1 Các định nghĩa đồ thị ví dụ 8 1.2 Tính liên thông đồ thị 12 1.3 Các loại liên thông đồ thị 15 1.3.1 Đồ thị k - liên thông 15 1.3.2 Đồ thị k - cạnh liên thông 21 1.4 Hai loại phân tích tai Điều kiện để có phân tích tai 24 1.4.1 Phân tích tai loại 24 1.4.2 Phân tích tai loại 27 NHẬN DẠNG ĐỒ THỊ SERIES PARALLEL DỰA TRÊN PHÂN TÍCH TAI 32 2.1 Phân tích tai gắn kết 33 2.2 Đồ thị Series - Parallel phân tích tai 40 2.2.1 Định nghĩa đồ thị Series - Parallel 40 2.2.2 Điều kiện để đồ thị Series - Parallel 41 2.3 Thuật toán nhận dạng đồ thị Series - Parallel 48 2.3.1 Ý tưởng thuật toán 48 2.3.2 Kiểm tra tính gắn kết 49 2.3.3 Độ phức tạp ví dụ 59 KẾT LUẬN, KIẾN NGHỊ 65 Danh sách hình vẽ 1.1 Một số ví dụ đồ thị 10 1.2 Đồ thị hai phần đồ thị hai phần đầy đủ K 2;3 10 1.3 Đồ thị vô hướng G 13 1.4 Trường hợp P chứa e 13 1.5 Rừng gồm 14 1.6 Kết nối K3, K2;3 đồ thị liên thơng có đỉnh cắt 16 1.7 Trường hợp đường R có điểm chung với P Q 18 1.8 Chu trình u; x; y; v; u qua hai cạnh uv xy 19 1.9 Sự phân chia cạnh uv thành đường u; w; v 19 1.10 Sửa đổi chu trình qua e; f 20 1.11 Ví dụ tập ngắt kết nối cạnh tập cạnh cắt 22 1.12 Hình minh họa S; S T 23 1.13 Kết nối kết nối cạnh số đồ thị 23 1.14 Ví dụ phân tích tai phân tích tai mở loại 24 1.15 Phân tích tai thu thay P3 = P0 25 1.16 Chuỗi phép phân chia cạnh uv chuyển đồ thị G + uv thành G[P 26 1.17 Phân tích tai phân tích tai mở loại 28 1.18 Đồ thị G, khối đồ thị - cạnh liên thông cực đại G 29 1.19 Hình minh họa trường hợp thêm tai thứ k 30 2.1 Phân tích tai gắn kết phân tích tai dạng 34 2.2 Cây khoảng gắn tai E1 35 2.3 Phân tích tai dạng 36 2.4 Tai Ej gắn Ei không gắn thực 38 2.5 Cấu trúc đồ thị TTSP phép tổng hợp chuỗi song song 41 2.6 Cây nhị phân thể cấu trúc đồ thị TTSP hình 2.5 42 2.7 Hình minh họa trường hợp 43 2.8 Tai Ei đường tai Hi 51 2.9 Cây gắn kết tai Ei 56 2.10 Đường tai Hj tai Ej 56 2.11 Cây sp 58 2.12 Đồ thị G 60 2.13 Đường cạnh H1 sp 61 2.14 Đường cạnh H2 sp 61 2.15 Đường cạnh H3 sp 62 2.16 Đường cạnh H4 sp 63 2.17 Đường cạnh H5 sp 63 2.18 Cây sp G 64 Danh sách bảng 2.1 Danh sách cạnh xuôi ngược đỉnh Hi 51 2.2 Bảng liệt kê đầu em kế cạnh H i 55 2.3 Lưu trữ cạnh Hi vào ô nhớ 55 2.4 Danh sách cạnh xuôi ngược đỉnh Hj 56 2.5 Bảng liệt kê đầu em kế cạnh H j 57 2.6 Lưu trữ cạnh Hj vào ô nhớ 57 2.7 Bảng tính X; Y; Z cho cạnh ei 58 2.8 Bảng liệt kê đầu em kế cạnh H 60 2.9 Bảng tính X; Y; Z cho cạnh H1 60 2.10 Bảng tính X; Y; Z cho cạnh H2 61 2.11 Bảng tính X; Y; Z cho cạnh H3 62 2.12 Bảng tính X; Y; Z cho cạnh H4 62 2.13 Bảng tính X; Y; Z cho cạnh H5 63 53 nút tương ứng với cạnh khơng nằm đường e có đầu nút tương ứng với cạnh N est(e) Bổ đề 2.2.6 cho ta xác định đứa nút Các nút nút cha tương ứng với đường dẫn Việc lại tìm anh em kế cho nút Nút e có em kế (next sibling) cạnh e khơng lồng cạnh f có M ax(e) = M ax(f) Nút e có anh kế (previous sibling) cạnh e không lồng cạnh f có M in(e) = M in(f) Mỗi đỉnh v Hi có cặp cạnh e f cho M ax(e) = M in(f) = v nút f em kế nút e Cạnh e f xác định sau: – Cạnh f cuối danh sách cạnh xuôi đỉnh v – Cạnh e cuối danh sách cạnh ngược đỉnh v Gốc thêm đỉnh với đứa cạnh e xuất cuối danh sách cạnh có M in = Tất bước biểu diễn cho phân tích tai nào, gắn kết hay khơng Tạo đứa em kế cho nút Nếu Hi gắn kết cạnh Hi đầu em kế cạnh khác, tức khơng có cạnh vừa đầu vừa em kế không đầu không em kế cạnh Thật giả sử có cạnh e vừa đầu f vừa em kế g Vì e đầu f nên M in(e) = M in(f) e đứng trước f danh sách Vì e em kế g nên M ax(g) = M in(e) = M in(f), mà f đứng sau e danh sách cạnh xi đỉnh có M in = M in(e) nên f em kế g (mâu thuẫn) Giả sử cạnh e không đầu khơng em kế cạnh Do e khơng đầu nên e cạnh không nằm đường, e không em kế 54 cạnh nên tồn cạnh f cho e lồng f M in(f) = M in(e) (giả sử f cạnh gần e thỏa mãn điều này) Khi theo định nghĩa N est Hi gắn kết, e f (mâu thuẫn) Ta kiểm tra tính chất sau: ta dùng chuỗi ô nhớ để lưu trữ nút cây, ô nhớ thứ i tương ứng với cạnh e i Hi Mỗi nút viết tên vào nhớ đầu em kế Nếu viết tên vào đầu ta gắn thêm chữ P vào trước tên nút Mỗi nút xác nhận khơng có hai nút viết tên vào (khơng có mà có hai nút viết tên vào) Mỗi nút khác nút gốc xác nhận có nút khác viết tên vào (tức có nút điền tên vào, khơng có để trống) Sau bước này, nút biết bố nút lồng bố Thật có nút e nút f mà cạnh e không lồng cạnh f xảy hai trường hợp Một M in(e) < M in(f), cạnh nút e đầu em kế nút khác (mâu thuẫn với điều kiện thứ 2) Hai M ax(e) > M ax(f), f e e cạnh khác Nếu tất điều kiện thỏa mãn, ta xây dựng đồ thị khơng có vòng (mỗi nút có bố) Vì đỉnh đầu em kế nên số cạnh nhỏ số đỉnh 1, đồ thị thu Mỗi nút lồng bố nút có quan hệ anh em kế nên khơng có hai cạnh khơng nằm đường cắt Vì phân tích tai cần kiểm tra gắn kết Ví dụ 2.3.2 Với đường tai Hi hình 2.8ii, ta tìm danh sách đầu em kế liệt kê bảng 2.2 Từ ta lưu trữ nút vào ô nhớ bảng 2.3 Như tất điều kiện định lý 55 2.2.2 thỏa mãn tai Ei gắn kết ta xây dựng gắn kết hình 2.9 Bảng 2.2: Bảng liệt kê đầu em kế cạnh H i Con đầu Em kế e e e3 e9 e6 e e2 e e e8 e4 e5 e9 e8 R e7 Bảng 2.3: Lưu trữ cạnh Hi vào ô nhớ Root P e7 P e6 e7 P e8 e8 e1 PR P e9 e3 Ví dụ 2.3.3 Ta xét ví dụ mà tai Ej khơng gắn kết đường tai Hj cho hình 2.10 Khi ta tìm danh sách cạnh xuôi cạnh ngược đỉnh (bảng 2.4) Từ ta xác định đầu em kế cạnh Hj (bảng 2.5) Nhưng lưu trữ vào ô nhớ, ta thấy ô số (ơ cạnh e6) số có hai cạnh viết tên vào, Hj khơng gắn kết Vấn đề 2: Tìm sp thể cấu trúc Series Parallel Hình thành phân tích phép tốn Series Parallel sau: Ta tìm hàm W cho tai Ei, hàm X; Y; Z cho nút e j gắn kết tai E i X(ei) tương ứng với cạnh ei ei đường dẫn tương ứng với tai E i ei cạnh không nằm đường Y (ei) thể phép tổng hợp P ei có đầu Z(ei) thể phép tổng hợp S ei có em kế 56 Hình 2.9: Cây gắn kết tai Ei Hình 2.10: Đường tai Hj tai Ej Bảng 2.4: Danh sách cạnh xuôi ngược đỉnh H j Cạnh xuôi Cạnh ngược e1; e6 e2; e7; e8 e1 e3; e9 e4 e5; e10 e2; e7; e6 e3; e8 e4; e9 e5; e10 57 Bảng 2.5: Bảng liệt kê đầu em kế cạnh H j Con đầu Em kế e e e e e7 e2 e8 e6 e e e e e4 e 10 e5 10 R e6 Bảng 2.6: Lưu trữ cạnh Hj vào ô nhớ Root e6 e7 e8 e 10 e6, R e1, e9 e6 e9 Nếu ej tương ứng với tai Ej X(ej) = W (ej) Nếu ej tương ứng với cạnh tai Ei X(ej) = ej Nếu ej có ek Y (ej) = P (X(ej); Z(ek)) Nếu ej khơng có Y (ej) = X(ej) Nếu ej có em kế ek Z(ej) = S(Y (ej); Z(ek)) Các trường hợp lại Z(ej) = Y (ej) Cuối với tai Ei đặt W (Ei) = Z(ej) với ej đầu gốc gắn kết Ví dụ 2.3.4 Với tai Ei cho hình 2.8i, ta hình thành sp cho tai sau Đầu tiên, ta tìm X(ej); Y (ej); Z(ej) cho nút ej (bảng 2.7) Từ ta hình thành sp cho tai Ei hình 2.11 58 e Bảng 2.7: Bảng tính X; Y; Z cho cạnh ei X Y Z e1 X(e1) = e1 Y (e1) = X(e1) Z(e1) = S(Y (e1); Z(e6)) e2 X(e2) = e2 Y (e2) = X(e2) Z(e2) = Y (e2) e3 X(e3) = e3 Y (e3) = X(e3) Z(e3) = S(Y (e3); Z(e9)) e4 X(e4) = e4 Y (e4) = X(e4) Z(e1) = Y (e4) e5 X(e5) = e5 Y (e5) = X(e5) Z(e1) = Y (e5) X(e6) = W (e6) Y (e6) = P (X(e6); Z(e2)) Z(e1) = Y (e6) e7 X(e7) = W (e7) Y (e7) = P (X(e7); Z(e1)) Z(e7) = S(Y (e7); Z(e3)) e8 X(e8) = W (e8) Y (e8) = P (X(e8); Z(e4)) Z(e8) = S(Y (e8); Z(e5)) e9 X(e9) = W (e9) Y (e9) = P (X(e9); Z(e8)) Z(e1) = Y (e9) e Hình 2.11: Cây sp 59 2.3.3 Độ phức tạp ví dụ Độ phức tạp Bước Dùng thuật toán Tarjan Vishkin thời gian O(logn) sử dụng C(m; n) xử lí song song máy CRCW Bước Bước thực thời gian số với xử lí song song tuyến tính Bước Bước dùng thuật toán Maon et al (1986) thời gian O(logn) xử dụng C(m; n) xử lí song song Bước Bước thực thời gian số với xử lí song song tuyến tính Bước Bước thời gian O(logn) với O(n + m)=logn xử lí song song Bước Bước thời gian O(logn) với O(n + m)=logn xử lí song song Vậy thuật tốn thực thời gian O(logn) với O(n + m)=logn xử lí song song Ví dụ Cho đồ thị G với tập cạnh E (hình 2.12i) Dễ thấy G có phân tích tai ED = E1 [ E2 [ E3 [ E4 [ E5 gắn kết (hình 2.12ii), G đồ thị Series Parallel Ta tìm sp đồ thị G Đầu tiên, ta tìm sp tai đồ thị G - Ta xây dựng đường cạnh H1 (hình 2.13) cho tai E1 tìm bảng liệt đầu em kế cạnh H (bảng 2.8) theo cách trình bày mục 2.3.2, từ ta tính hàm X; Y; Z cho cạnh H1 (bảng 2.9) xây dựng sp cho E1 (hình 2.13) 60 Hình 2.12: Đồ thị G Bảng 2.8: Bảng liệt kê đầu em kế cạnh H Con đầu Em kế e n 1 n2 R e n e n1 e e e4 Bảng 2.9: Bảng tính X; Y; Z cho cạnh H1 X Y Z e1 X(e1) = e1 Y (e1) = X(e1) Z(e1) = S(Y (e1); Z(n2)) e2 X(e2) = e2 Y (e2) = X(e2) Z(e2) = Y (e2) e3 X(e3) = e3 Y (e3) = X(e3) Z(e3) = Y (e3) e4 X(e4) = e4 Y (e4) = X(e4) Z(e4) = Y (e4) n1 X(n1) = W (E2) Y (n1) = P (X(n1); Z(e2)) Z(n1) = S(Y (n1); Z(e3)) n2 X(n2) = W (E3) Y (n2) = P (X(n2); Z(n1)) Z(n2) = S(Y (n2); Z(e4)) 61 Hình 2.13: Đường cạnh H1 sp - Tương tự, ta xây dựng đường cạnh cho tai E2; E3; E4; E5 tính hàm X; Y; Z cho cạnh đường cạnh (bảng 2.10, bảng 2.11, bảng 2.12 bảng 2.13) Từ ta xây dựng sp cho tai E (hình 2.14), tai E3 (hình 2.15), tai E4 (hình 2.16) tai E5 (hình 2.17) Bảng 2.10: Bảng tính X; Y; Z cho cạnh H e X Y Z e X(e5) = e5 Y (e5) = X(e5) Z(e5) = S(Y (e5); Z(e6)) e6 X(e6) = e6 Y (e6) = X(e6) Z(e6) = Y (e6) Hình 2.14: Đường cạnh H2 sp - Tiếp theo, ta thay W (E2) = Z(e5) = S(Y (e5); Z(e6)) (do e5 đầu nút gốc sp E 2), W (E3) = Z(e7) = S(Y (e7); Z(m1)), W (E4) = Z(e12) = S(Y (e12); Z(e13)) W (E5) = Z(e14) = S(Y (e14); Z(e15)) 62 Bảng 2.11: Bảng tính X; Y; Z cho cạnh H3 X Y Z e e X(e7) = e7 Y (e7) = X(e7) Z(e7) = S(Y (e7); Z(m1)) e8 X(e8) = e8 Y (e8) = X(e8) Z(e8) = Y (e8) e9 X(e9) = e9 Y (e9) = X(e9) Z(e9) = S(Y (e9); Z(m2)) 10 X(e10) = e10 Y (e10) = X(e10) Z(e10) = Y (e10) 11 X(e11) = e11 Y (e11) = X(e11) Z(e11) = Y (e11) m1 X(m1) = W (E4) Y (m1) = P (X(m1); Z(e8)) Z(m1) = S(Y (m1); Z(e9)) m2 X(m2) = W (E5) Y (m2) = P (X(m2); Z(e10)) Z(m2) = S(Y (m2); Z(e11)) e e e e Hình 2.15: Đường cạnh H3 sp e e Bảng 2.12: Bảng tính X; Y; Z cho cạnh H X Y Z 12 X(e12) = e12 Y (e12) = X(e12) Z(e12) = S(Y (e12); Z(e13)) 13 X(e13) = e13 Y (e13) = X(e13) Z(e13) = Y (e13) e 63 Hình 2.16: Đường cạnh H4 sp e e Bảng 2.13: Bảng tính X; Y; Z cho cạnh H X Y Z 14 X(e14) = e14 Y (e14) = X(e14) Z(e14) = S(Y (e14); Z(e15)) 15 X(e15) = e15 Y (e15) = X(e15) Z(e15) = S(Y (e15); Z(e16)) 16 X(e16) = e16 Y (e16) = X(e16) Z(e16) = Y (e16) e e Hình 2.17: Đường cạnh H5 sp 64 ta sp đồ thị G (hình 2.18) Hình 2.18: Cây sp G Như vậy, chúng tơi trình bày xong thuật tốn nhận dạng đồ thị Series Parallel dựa phân tích tai Đây thuật tốn chạy nhanh (trong thời gian logarit) phải dùng đến nhiều xử lí (nếu kích thước đồ thị đầu vào lớn) Trên thực tế có thuật toán nhận dạng đồ thị Series Parallel với cách thực đơn giản thời gian tuyến tính Điều cho ta thấy cách giải tinh tế thuật toán việc cải thiện thời gian xử lý toán CHƯƠNG KẾT LUẬN, KIẾN NGHỊ Trong luận văn này, chúng tơi trình bày số vấn đề sau: Trình bày sơ lược tính liên thơng số loại liên thơng đồ thị Trình bày phân tích tai điều kiện để có phân tích tai mối liên hệ phân tích tai với tính liên thơng đồ thị Giới thiệu đồ thị Series Parallel Trình bày chi tiết điều kiện cần đủ để đồ thị Series Parallel Trình bày thuật tốn nhận dạng đồ thị Series Parallel dựa phân tích tai gắn kết đồ thị Các báo mà tham khảo viết vắn tắt cô đọng Chúng có trình bày lại cách hệ thống, chi tiết chứng minh đưa ví dụ minh họa cụ thể Chúng hi vọng luận văn xem tài liệu chi tiết phân tích tai thuật tốn nhận dạng đồ thị Series Parallel Ngồi ra, chúng tơi mong muốn xây số thuật toán khác đồ thị Series Parallel nhận biết đồ thị khác dựa phân tích tai 65 Tài liệu tham khảo Tài liệu Tiếng Việt [1] Ngô Đắc Tân, 2003, Lý thuyết tổ hợp đồ thị, Nhà xuất Đại học Quốc gia Hà Nội, Hà Nội Tài liệu Tiếng Anh [2] Valdes, Jacobo, Tarjan, Robert E , Lawler, Eugene L ,1982, The recog-nition of series parallel digraphs, SIAM Journal on Computing, 11 (2): 289–313 [3] He, X And Yesha, Y ,1987, Parallel recognition and decomposition of two terminal series parallel graphs, Inform and Compute, 75, 15-38 [4] Eppstein, D ,1992, Parallel recognition of series-parallel graphs, Informa-tion and Computation, 98 (1): 41–55 [5] Douglas B West, September 2000, Introduciton to Graph Theory, Prentice Hall, New Jersey [6] Maon, Y Schieber B., And Vishkin U (1986) Parallel ear decomposition search (EDS) and ST-numbering in graphs, Theoret Comput Sci 47, 277 [7] Tarjan, R E., And Vishkin, U (1985), n efficient parallel biconnectivity algorithm, SIAM J Compuf 14, 862 A preliminary version appeared as 66 67 Finding biconnected components and computing tree functions in logarith-mic parallel time, in Proceedings, 25th IEEE Symposium on Foundations of Computer Science, 1984 pp 12-20 [8] Anderson, R J., And Miller, G L (1988), Deterministic parallel list ranking, in 3rd Aegean Workshop on Computing, pp 91-100, Lecture Notes in Computer Science, Vol 319, Springer-Verlag, Berlin/New York [9] Berkman, O., Breslauer, D., Galil, Z Schieber, B., And Vishkin U (1989), Higly parallelizable problems, in Proceedings, 21st ACM Symposium on Theory of Computing, pp 309-319 [10] Khuller Samir, 1989, Ear decomposition, SIGACT News 20, 128 [11] Jacobo Valdes, Robert E Tarjan And Eugene L Lawler, The recognition of series parallel digraphs, SIAM J Compuf pp.298 - 313 ... cạnh số đồ thị 24 1.4 Hai loại phân tích tai Điều kiện để có phân tích tai Phân tích tai (Ear decomposition - ED) đồ thị phân tích tập cạnh thành hợp đường xích đồ thị Một số lớp đồ thị quan... niệm đồ thị, loại liên thơng đồ thị, định nghĩa phân tích tai mối liên hệ với tính liên thơng Chương 2: Nhận dạng đồ thị Series Parallel dựa phân tích tai Ở chương này, giới thiệu đồ thị Series Parallel, ... dạng đồ thị có phân tích tai thỏa mãn tính chất Trong phần chúng tơi trình bày hai loại phân tích tai đặt tên phân tích tai loại phân tích tai loại Hai cách định nghĩa khác tai 1.4.1 Phân tích tai

Ngày đăng: 07/02/2020, 07:56

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w