1. Trang chủ
  2. » Giáo án - Bài giảng

Sử dụng chu trình Euler xây dựng tất cả các đồ thị có dãy bậc cho trước

8 192 2

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Một vấn đề cơ bản của lí thuyết đồ thị đã tồn tại từ lâu là tìm tất cả các đồ thị có dãy bậc là một dãy số tự nhiên cho trước. Vấn đề này không chỉ là lí thuyết cơ bản mà còn có ứng dụng trong khoa học và thực tế.

HNUE JOURNAL OF SCIENCE Natural Sciences 2019, Volume 64, Issue 3, pp 74-81 This paper is available online at http://stdb.hnue.edu.vn DOI: 10.18173/2354-1059.2019-0009 SỬ DỤNG CHU TRÌNH EULER XÂY DỰNG TẤT CẢ CÁC ĐỒ THỊ CÓ DÃY BẬC CHO TRƯỚC Vũ Đình Hòa Khoa Cơng nghệ Thơng tin, Trường Đại học Sư phạm Hà Nội Tóm tắt Một vấn đề lí thuyết đồ thị tồn từ lâu tìm tất đồ thị có dãy bậc dãy số tự nhiên cho trước Vấn đề khơng lí thuyết mà có ứng dụng khoa học thực tế Kết báo thuật tốn dựa khái niệm đồ thị cân (có thể xây dựng nhờ chu trình Euler đan màu) để xác định tất đồ thị có dãy bậc cho trước Từ khóa: Đồ thị đơn, chu trình Euler, bậc đỉnh Mở đầu Bài báo khảo sát đồ thị đơn vô hướng Các khái niệm sở tham khảo từ nhiều nguồn tài liệu khác tài liệu [1] Một dãy số tự nhiên d = (d1 , ,dn) gọi dãy bậc tồn đồ thị đơn vô hướng n đỉnh để bậc đỉnh i di Một vấn đề lí thuyết đồ thị tồn từ lâu tìm tất đồ thị có dãy bậc dãy số tự nhiên cho trước Vấn đề không lí thuyết mà có ý nghĩa thực tế [2, 3] Hình Hệ thống mạng cung cấp thực phẩm Chesapeake Bay [2] Đã có nhiều nhà khoa học đề cập tới nó, Havel [4], Erdös Gallai [5], Hakimi Havel [4], Zoltán [6], Hyunju Kima, Zoltán Toroczkai, István Miklós, Péter L Erdos, László A Székely [5], M Mihail- N Vishnoi [3], Jonathan McLaughlin [4] Tuy nhiên, nay, vấn đề chưa giải triệt để Havel [4], Erdös Gallai [4], Hakimi Havel [4] Ngày nhận bài: 12/12/2018 Ngày sửa bài: 13/3/2019 Ngày nhận đăng: 20/3/2019 Tác giả liên hệ: Vũ Đình Hòa Địa e-mail: hoavudinh@gmail.com 74 Sử dụng chu trình Euler xây dựng tất đồ thị có dãy bậc cho trước xác định dãy số tự nhiên dãy bậc đồ thị Các nỗ lực khác Zoltán [6], Hyunju Kima, Zoltán Toroczkai, István Miklós, Péter L Erdos, László A Székely [5], M Mihail- N Vishnoi [3], Jonathan McLaughlin [4] không rõ ràng họ khơng đưa chứng minh thuật tốn họ cho ta tất đồ thị cần tìm Các chương trình cài đặt theo thuật toán họ đưa đồ thị Trong báo này, thuật tốn sau giải vấn đề tồn dựa đường nét Euler đan màu khép kín ta chứng minh thuật tốn xác định tất đồ thị có dãy bậc cho trước Cho trước đồ thị G = (V, E) mà V tập đỉnh, E tập cạnh Ta kí hiệu uv cạnh nối đỉnh u v Một đồ thị G0 G với tập đỉnh V gọi đồ thị khung Một đồ thị khung tầm thường đồ thị G = (V, E) đồ thị khơng có cạnh G = (V,∅ ) Đồ thị bù đồ thị G = (V, E) kí hiệu G = (V, E ) Ta định nghĩa số phép toán hợp, giao trừ với đồ thị sau: Với G1 = (V1, E1) G2 = (V2, E2) G1 ∪ G2 đồ thị G = (V1 ∪ V2, E1 ∪ E2) Đặc biệt V1 = V2 = V ta kí hiệu G1 ∩ G2 đồ thị G = (V, E1 ∩ E2) G1 ⊕ G2 đồ thị G = (V,E1 ⊕E2 ), A ⊕ B := (A ∪ B) − (A ∩ B) (xem minh họa Hình 2) Hình Các đồ thị G1 ∪ G2 , G1 ∩ G2 G1 ⊕ G2 hai đồ thị G1 G2 Một hành trình H = (u1 ,e1 ,u2 , ,uk ,ek, uk+1) dãy đỉnh ui cho cạnh ei = uiui+1 , e i  e j, ∀i  j Nếu không xảy hiểu nhầm (chẳng hạn đồ thị đơn), ta kí hiệu H = (u1 ,u2 , uk ,uk+1) thông qua liệt kê đỉnh đồ thị nằm H Hai hành trình gọi rời chúng khơng có đỉnh chung Khi H chứa tất cạnh đồ thị, ta gọi H hành trình Euler Bài tốn quen thuộc vẽ hình phong bì thư nét tốn hành trình Euler đồ thị biểu diễn phong bì Khi u1 = uk+1 H gọi hành trình khép kín Hành trình Euler khép kín gọi chu trình Euler Vấn đề xác định hành trình Euler khép kín giải trọn vẹn Thuật toán Carl Hierholzer [7] cho ta cách tìm chu trình Euler thời gian tuyến tính Euler đưa mà khơng chứng minh Định lí sau (đã nhiều người chứng minh lại): Định lí (Euler, Định lí 1.8.1 [1]) Một đồ thị liên thơng có chu trình Euler bậc đỉnh tùy ý chẵn Nếu cạnh đồ thị tơ màu hai màu xanh đỏ cạnh đỏ hiển thị nét liền, cạnh xanh hiển thị nét đứt (như Hình 3) Số cạnh màu đỏ (xanh) xuất phát từ đỉnh v gọi bậc đỏ (bậc xanh) v Đồ thị có cạnh tơ hai màu mà đỉnh tùy ý có số cạnh xanh số cạnh đỏ gọi đồ thị cân (ví dụ đồ thị H Hình 3) Cho trước đồ thị G, ta tô màu cạnh G đồ thị G ∪ G màu đỏ cạnh G màu xanh, gọi đồ thị đầy đủ thu đồ thị tô màu sinh G mà ta kí hiệu G∗ (ví dụ đồ thị G∗ Hình 7) 75 Vũ Đình Hòa Hình Một hành trình Euler khép kín đan màu H = (v1 ,v2 ,v3 ,v4 ,v2 ,v5 ,v1 ) Một hành trình gọi hành trình đan màu khơng có hai cạnh liên tiếp màu Một hành trình khép kín đan màu hành trình đan màu không cạnh liên tiếp phải khác màu mà cạnh xuất phát cạnh kết thúc hành trình khác màu (như hành trình Euler H Hình 3) Một đỉnh coi hành trình khép kín đan màu tầm thường Dễ thấy hợp số hành trình khép kín đan màu hiển nhiên đồ thị cân Ta thêm điều kiện đan màu (cạnh chọn khác màu cạnh vừa chọn trước nó) vào thuật tốn quen thuộc để xây dựng hành trình khép kín đan màu Erdưs Gallai đưa điều kiện cần đủ để dãy số tự nhiên dãy bậc đồ thị đơn sau: Định lí (Erdưs-Gallai) Cho d1 ≥ d2 ≥ ≥ dn > số nguyên Các số dãy bậc đồ thị đơn (i) d1 + + dn số chẵn k d (ii) Cho k = 1, ,n − ta có  i 1 i  k (k  1)  n  min{k , d } i  k 1 i Định lí tiêu chuẩn túy toán điều kiện cần đủ để dãy số dãy bậc đồ thị Nó không cho ta biết cách xây dựng đồ thị tương ứng Một cách cụ thể hơn, gần gũi với thuật toán kết sau Hakimi Havel [4]: Định lí (Hakimi-Havel) Dãy số tự nhiên d1 ≥ ≥ dn > (n ≥ 3) dãy bậc dãy số d2 − 1, ,dd1 +1 − 1,dd1+2 , ,dn dãy bậc Định lí cho ta thuật toán đệ qui xác định dãy số tự nhiên cho trước có phải dãy bậc hay khơng, đồng thời cho ta cách xây dựng đồ thị tương ứng với dãy bậc Tuy nhiên đồ thị thu đồ thị đặc biệt, đỉnh có bậc cao kề với tất đỉnh có bậc cao Thuật toán Hakimi-Havel áp dụng sau: Trong bước ta chọn đỉnh v có bậc cao số đỉnh lại giảm bậc d(v) đỉnh có bậc cao kí hiệu tập đỉnh N(v) Khi bậc tất đỉnh toàn giá trị 0, ta xây dựng lại đồ thị theo qui tắc nối đỉnh v chọn với đỉnh tập N(v) Chẳng hạn với dãy bậc 2, 2, 2, 2, 1, ta xây dựng đồ thị đỉnh (Bảng 1) Trong Bảng 1, từ hàng thứ trở đi, cột chứa thông tin đỉnh v chọn tập đỉnh N(v) đỉnh nối tới 76 Sử dụng chu trình Euler xây dựng tất đồ thị có dãy bậc cho trước Bảng Xây dựng đồ thị có dãy bậc d = (2, 2, 2, 2, 1, 1) theo thuật toán Hakimi Khi bảng kết thúc, ta xây dựng đồ thị tương ứng cách nối đỉnh v chọn với đỉnh tập hợp N(v) tương ứng có đồ thị tương ứng, biểu diễn Hình Hình Đồ thị có dãy bậc d = (2, 2, 2, 2, 1, 1) theo thuật toán Hakimi Các tác giả [5] mở rộng kết theo cách tương tự, họ tin tưởng thuật toán sau cho ta tất đồ thị có dãy bậc cho trước: Định lí (Định lí mở rộng Hakimi - Havel) Cho d = {d1 ,d2 , ,dn }, dãy bậc khơng giảm, j đỉnh cố định (có thể lựa chọn tùy ý) Giả sử cho trước tập hợp đỉnh bị cấm không chọn làm láng giềng j Thì tồn đồ thị có dãy bậc d j không nối với đỉnh bị cấm tồn đồ thị với dãy bậc d j nối với tất đỉnh bậc cao số đỉnh không bị cấm Tuy nhiên tác giả không chứng minh thuật tốn mở rộng qt hết đồ thị ứng với dãy bậc cho trước Thuật tốn áp dụng Định lí xây dựng đồ thị cho tập láng giềng đỉnh xác định mong muốn ta, khó cho ta hết đồ thị cần tìm (vì tập láng giềng đỉnh khác không xác định mong muốn được) Nội dung nghiên cứu 2.1 Các kết Ta kí hiệu đồ thị gồm cạnh đỏ thu từ đồ thị G cách đổi màu cạnh đồ thị H cân G(H) (Hình 5) Dễ dàng thấy đổi màu cạnh đồ thị cân bậc đỉnh giữ nguyên Điều ngược lại đúng: Hình Từ đồ thị G1 (trái), đổi màu cạnh đồ thị cân H Hình ta thu đồ thị G2 = G(H) (phải) 77 Vũ Đình Hòa Định lí Cho trước đồ thị G1 = (V,E1 ) Đồ thị G2 = (V,E2 ) có dãy bậc G1 tồn đồ thị khung cân H đồ thị tô màu G∗1 sinh G1 cho đồ thị tô màu sinh G∗2= G∗1(H) Chứng minh Hiển nhiên H đồ thị cân đồ thị tơ màu G∗1 sinh G1 đồ thị G∗1 (H) có bậc đỉnh bậc G∗1 Khi đồ thị G2= (V, E 2) tạo cạnh đỏ G∗1 (H) có dãy bậc G1 Ngược lại G2 đồ thị có dãy bậc d1, d2, ,dn G1 (di bậc đỉnh i G1 G2), ta chứng minh tồn đồ thị cân H cho G∗2= G∗1(H) Thực vậy, tô màu cạnh G1 màu đỏ cạnh G2 mà không thuộc G1 màu xanh Kí hiệu H đồ thị G1 ⊕ G2 Khi dễ thấy số cạnh xanh số cạnh đỏ đỉnh i tùy ý H nhau, di trừ số cạnh chung G1 G2 đỉnh i Hiển nhiên đồ thị G2 đồ thị thu từ G1 cách đổi màu cạnh H, G∗2= G∗1(H) Từ Định lí 5, ta có hệ hiển nhiên sau: Hệ Số đồ thị có dãy bậc đồ thị G cho trước số đồ thị khung cân đồ thị tô màu G∗ sinh G Như vậy, để tạo đồ thị có dãy bậc với đồ thị G cho trước, ta cần có phương pháp xác định hết đồ thị khung cân đồ thị tô màu G∗ sinh G Như lưu ý trên, hợp số tùy ý hành trình đan xen khép kín đồ thị cân Ta chứng minh điều ngược lại Định lí Đồ thị H đồ thị khung cân đồ thị tô màu G∗ sinh đồ thị G H hợp số t ≥ hành trình đan màu khép kín rời đồ thị tô màu G∗ sinh G Chứng minh Một chiều Định lí hiển nhiên Ta chứng minh chiều ngược lại H đồ thị khung cân đồ thị tô màu G∗ H hợp số t ≥ hành trình đan màu khép kín rời G∗ sinh G Giả sử H có t thành phần liên thông C1 , ,Ct Xét thành phần liên thông Ci tùy ý H Ta chứng minh Ci tồn chu trình Euler đan màu Do Ci khơng có đỉnh bậc lẻ, theo Định lí 1, tồn Ci chu trình Euler Trên chu trình Euler, ta gọi lỗi vị trí đỉnh v mà cạnh vào màu với cạnh khỏi v Do có hữu hạn chu trình Euler Ci, tồn chu trình Euler Hi với lỗi Hình Hành trình Euler khép kín Hi H’I sau khỉ sửa lỗi đỉnh v vị trí vj ,v’j 78 Sử dụng chu trình Euler xây dựng tất đồ thị có dãy bậc cho trước Bây ta chứng minh Hi lỗi, tức Hi chu trình Euler đan màu Thật vậy, giả sử ngược lại Hi  (w1 , e1 , w2 , e2 ,, ek 1 , wk , ek , w1 ) có lỗi đỉnh v đó, tương ứng vị trí wj Hi Không tổng quát giả sử hai cạnh vào khỏi v ej−1 ej màu đỏ Do số cạnh xanh cạnh đỏ đỉnh v nhau, vị trí khác v Hi, chẳng hạn wj0 hai cạnh ej0 −1 ,e0j màu xanh Không tổng quát giả sử j < j0, Hi  (w1 , e1 , w2 , e2 ,, e j 1 , w j , e j1 , w j1 , e j2 ,, e j , w j , e j , w j1,, ek 1, wk , ek , w1 ) (xem Hình 6) hành trình Euler khép kín với lỗi Hi , trái với giả thiết Hi hành trình Euler lỗi Ci Vậy Hi hành trình Euler khép kín đan màu Ci Hiển nhiên H hợp Hi hành trình Hi (i = 1, 2, …, t) rời nhau, chúng thuộc thành phân liên thơng Ci khác 2.2 Thuật tốn Định lí Định lí cho ta thuật toán xác định đồ thị khung cân đồ thị có dãy bậc với đồ thị G cho trước Thuật toán sau: (i) Xác định hành trình đan màu khép kín đỉnh có số thấp đồ thị tô màu G∗ sinh G (ii) Quay lại bước thực với đồ thị tô màu thu từ đồ thị cho trước bỏ hành trình đan màu khép kín (cùng đỉnh nó) vừa thu (iii) Kết thúc khơng đỉnh Ta thu đồ thị khung cân tạo hành trình đan màu khép kín (iv) Đổi màu tất cạnh đồ thị khung cân thu được, ta có đồ thị có dãy bậc với đồ thị G Định lí cho thấy thuật tốn thật cho ta tất đồ thị cần tìm Định lí cho ta biết cách xây dựng đồ thị khung cân đường nét khép kín đan màu Ta thêm điều kiện đan màu (cạnh chọn khác màu cạnh vừa chọn trước nó) vào thuật tốn quen thuộc (có độ phức tạp thấp, chẳng hạn độ phức tạp tuyến tính Carl Hierholzer [7]) để xây dựng hành trình khép kín đan màu Một cách duyệt đơn giản dùng phân nhánh để theo dõi bước lựa chọn cạnh thêm vào hành trình trở thành hành trình khép kín đơn màu Một nghiên cứu hoàn thiện thuật tốn tương lai Ta mơ tả thuật tốn qua ví dụ Chọn dãy bậc d = (2,2,2,1,1), ta có đồ thị G thỏa mãn đồ thị đường G = (v4 ,v2 ,v1 ,v3 ,v5), thu nhờ thực thuật toán Hakimi-Havel (xem Bảng 2) Bảng Xây dựng đồ thị có dãy bậc d = (2, 2, 2, 1, 1) theo thuật tốn Hakimi 79 Vũ Đình Hòa Đồ thị tơ màu G∗ sinh G biểu diễn Hình Hình Tất đồ thị có dãy bậc d = (2, 2, 2, 1, 1) Đồ thị khung cân tầm thường G=(V,∅) cho ta lại đồ thị G Còn có tất đồ thị khung cân không tầm thường đồ thị tô màu G∗ sinh G (xem Hình 8) Hình Các hành trình đan màu khép kín Các đồ thị khung cân không tầm thường sinh hành trình đan màu khép kín sau: (i) H1,1 = (v5 ,v2 ,v3 ,v4 ,v5 ) H1,2 = (v1) Đồ thị thu từ G1 (ii) H2,1 = (v5 ,v2 ,v4 ,v3 ,v5 ) H2,1 = (v1) Đồ thị thu từ G2 (iii) H 3,1 = (v5 ,v2 ,v3 ,v1 ,v4 ,v3 ,v5 ) H3,1 = (v5 ,v2 ,v3 ,v4 ,v1 ,v3 ,v5) Đồ thị thu từ G3 (iv) H4,1 = (v4 ,v3 ,v2 ,v1 ,v5 ,v2 ,v4) H4,1 = (v4 ,v3 ,v2 ,v5 ,v1 ,v2 ,v4 ) Đồ thị thu từ G4 (v) H 5,1 = (v5 ,v2 ,v3 ,v1 ,v5) H5,2 = (v4) Đồ thị thu từ G5 (vi) H 6,1 = (v4 ,v3 ,v2 ,v1 ,v4) H 6,2 = (v5 ) Đồ thị thu từ G6 Kết luận Bài báo nghiên cứu vấn đề xây dựng tất đồ thị có dãy bậc cho trước Vấn đề nghiên cứu từ lâu, chưa giải triệt để Kết báo đồ thị dãy bậc với đồ thị G cho trước ứng với đồ thị khung cân đồ thị tô màu G∗ sinh G Bài báo đưa giải thuật dựa việc đổi màu cho 80 Sử dụng chu trình Euler xây dựng tất đồ thị có dãy bậc cho trước cạnh đồ thị khung cân (xác định hành trình đan màu khép kín) chứng minh giải thuật cho ta tất đồ thị có dãy bậc cho trước TÀI LIỆU THAM KHẢO [1] R Diestel, 2000 Graph theory Springer-Verlag, New York, second edition [2] Joseph Blitzstein and Persi Diaconis, 2010 A Sequential Importance Sampling Algorithm for Generating Rvàom Graphs with Prescribed Degrees Taylor & Francis Group, LLC ISSN: 1542-7951 print [3] M Mihail- N Vishnoi, 2002 On Generating Graphs with Prescribed Degree Sequences for Complex Network Modeling Applications, Position Paper, ARACNE (Approx Rmized Algorithms for Communication Networks), Rome [4] Jonathan McLaughlin, 2018 On connected degree sequences, arXiv:1511.09321v1 [math.CO] 30 Nov 2015-2018 [5] Hyunju Kima, Zoltán Toroczkai, István Miklós, Péter L Erdưs, László A Székely, 2008 On realizing all simple graphs with a given degree sequence, Preprint, submitted to Discrete Mathematics [6] Zotán Király, 2012 Recognizing graphic degree sequences generating all realizations, www.cs.elte.hu/egres ISSN 1587-4451 [7] Carl Hierholzer (xem https://en.wikipedia.org/wiki/Eulerian_path) Using Eulerian cycles construct all graphs with given degree sequence ABSTRACT Using Eulerian cycles construct all graphs with given degree sequence Vu Dinh Hoa Faculty of Information Technology, Hanoi National University of Education A fundamental longstvasting problem of graph theory is to find all graphs whose order is a given sequence of natural numbers This problem is not only a fundamental theoretical problem, but also a problem that applies in science practice The main result of this article is an algorithm based on the concept of balance graphs (which can be constructed using colored Euler cycles) to construct all graphs having a given degree sequence Keywords: Graph, Euler cycles, degrees of vertices 81 ... màu cho 80 Sử dụng chu trình Euler xây dựng tất đồ thị có dãy bậc cho trước cạnh đồ thị khung cân (xác định hành trình đan màu khép kín) chứng minh giải thuật cho ta tất đồ thị có dãy bậc cho trước. .. tới 76 Sử dụng chu trình Euler xây dựng tất đồ thị có dãy bậc cho trước Bảng Xây dựng đồ thị có dãy bậc d = (2, 2, 2, 2, 1, 1) theo thuật toán Hakimi Khi bảng kết thúc, ta xây dựng đồ thị tương... trình Euler Ci, tồn chu trình Euler Hi với lỗi Hình Hành trình Euler khép kín Hi H’I sau khỉ sửa lỗi đỉnh v vị trí vj ,v’j 78 Sử dụng chu trình Euler xây dựng tất đồ thị có dãy bậc cho trước

Ngày đăng: 13/01/2020, 10:27

Xem thêm:

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w