Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 27 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
27
Dung lượng
0,91 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Ệ VN HỌC VIỆN KHOA HỌC VÀ CƠNG NGHỆ Nguyễn Hữu Xn Trƣờng CHU TRÌNH HAMILTON VÀ CHU TRÌNH DÀI NHẤT TRONG MỘT SỐ LỚP ĐỒ THỊ CĨ TỔNG BẬC LỚN Chun ngành: Cơ sở tốn học cho tin học Mã số: 62 46 01 10 LUẬN ÁN TIẾN SĨ TOÁN HỌC Hà Nội – 2016 Cơng trình đƣợc hồn thành tại: 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, số 18 Hồng Quốc Việt, Cầu Giấy, Hà Nội, Việt Nam Ngƣời hƣớng dẫn khoa học: PGS.TSKH Vũ Đình Hịa GS.TS Vũ Đức Thi Phản biện 1:…………………………………………………………….……… …………………………………………………………………………………… Phản biện 2:…………………………………………………………….……… …………………………………………………………………………………… Phản biện 3:…………………………………………………………….……… …………………………………………………………………………………… Luận án bảo vệ trước Hội đồng chấm luận án cấp nhà nước họp tại: …………………………………………………………….…………… …………………………………………………………………………………… Vào hồi ngày tháng năm Có thể tìm hiểu luận án thư viện: …………………………………….… MỞ ĐẦU Các vấn đề lý thuyết đồ thị có từ vài trăm năm trước (năm 1736 với toán cầu thành phố Konigsber) phải tới vài chục năm gần đây, theo phát triển cơng nghệ thơng tin, lý thuyết đồ thị thực phát triển mạnh mẽ không ngừng chiều sâu chiều rộng Sự phát triển lý thuyết đồ thị gắn liền với tên tuổi nhà toán học lớn Euler, Gauss, Hamilton, Erdos Một lý khiến lý thuyết đồ thị phát triển mạnh mẽ lý thuyết đồ thị gần gũi với thực tế có ứng dụng sâu rộng cơng nghệ thông tin nhiều ngành khoa học khác Vấn đề chu trình vấn đề trung tâm lý thuyết đồ thị có nhiều cơng trình nghiên cứu tới vấn đề này, đặc biệt chu trình Hamilton với khoảng 400 báo khoa học đăng tải tạp chí khoa học quốc tế có uy tín hàng đầu vịng 20 năm gần [25], [26], [27] Hiện nay, nghiên cứu chu trình nói chung chu trình Hamilton rộng nhiều khía cạnh, tập trung chủ yếu tới bậc đỉnh; ngồi cịn nghiên cứu đồ thị 1-tough, đồ thị path-tough, đồ thị có tập láng giềng lớn, đồ thị phẳng, đồ thị ngẫu nhiên, đồ thị lưỡng phân chu trình dài nhất, chu trình Dominating Tại Việt Nam, số tác giả tập trung nghiên cứu chu trình Hamilton lớp đồ thị khác nhau, chẳng hạn Ngô Đắc Tân nghiên cứu lớp đồ thị split cubic, Vũ Đình Hịa nghiên cứu lớp đồ thị 1-tough có tổng bậc lớn… Chu trình Hamilton có nhiều ứng dụng thực tế, ví dụ toán người bán hàng, lập kế hoạch, hay thiết kế vi mạch, thiết kế đường truyền mạng… Bài toán (xác định tồn chu trình Hamilton đồ thị) biết tốn [23] nên trường hợp tổng qt khơng có thuật tốn tốt (thời gian đa thức) để giải Do đó, việc tìm trường hợp thuộc lớp toán việc thiết kế thuật toán thời gian đa thức để xác định chu trình Hamilton có ý nghĩa quan trọng Các nghiên cứu hầu hết dựa lớp đồ thị đặc biệt tập trung vào việc tồn chu trình Hamilton lớp đồ thị Có nhiều lớp đồ thị xét tới, phần lớn lớp đồ thị xác định theo điều kiện tổng bậc (của đỉnh) đủ lớn [15], [17], [18], [20], [22], [29], [30], [31], [36] Một số tác giả nghiên cứu độ phức tạp toán [3], [15], [23], [34], [37], đánh giá số lượng chu trình Hamilton [14]… Một số khác nghiên cứu đến việc thiết kế thuật tốn để xác định chu trình Hamilton, có thuật tốn Backtrack, Heuristic thuật toán thời gian đa thức áp dụng cho lớp đồ thị đặc biệt [5], [12], [22], [28], [38], [44]… Trong [15] (Định lý 16), tác giả đánh giá độ phức tạp toán đồ thị thỏa mãn cịn tốn với với lớp Có thể nói kết tiền đề cho nghiên cứu chu trình Hamilton tác giả luận án Thêm vào đó, số kết [11], [17], [32], [36] khẳng định tồn chu trình Hamilton lớp đồ thị xác định theo điều kiện tổng bậc đủ lớn, nhiên lớp đồ thị xác định theo điều kiện chưa có thuật tốn xác định chu trình Hamilton Cùng với chu trình Hamilton, chu trình dài đồ thị tập trung nghiên cứu tới có nhiều kết chu trình dài áp dụng cho việc chứng minh tồn thiết kế thuật tốn để xác định chu trình Hamilton Trong báo tác giả D Bauer, G Fan, H J Veldman [8] đưa Giả thuyết đánh giá độ dài chu trình dài theo giá trị mà chưa có chứng minh thỏa đáng cho Giả thuyết Mục tiêu nghiên cứu luận án là: Nghiên cứu toán trung vào trường hợp lớp đồ thị có tổng bậc lớn, tập Đánh giá độ phức tạp toán chuyển từ lớp sang lớp theo tham số Xác định để toán Xây dựng thuật toán thời gian đa thức để xác định chu trình Hamilton số lớp đồ thị khảo sát Đánh giá tính hiệu khả thi thuật tốn chương trình thực nghiệm đồ thị lớn Đánh giá độ dài chu trình dài lớp đồ thị 1-tough với Kết cấu luận án gồm: phần mở đầu, chương phần kết luận Chƣơng 1: Tổng quan chu trình đồ thị Giới thiệu số vấn đề lý thuyết đồ thị, khái niệm, quy ước ký hiệu sử dụng luận án Tiếp đến, giới thiệu tổng quan vấn đề chu trình đồ thị, trọng tâm chu trình Hamilton Ngoài ra, tác giả đưa số kết nghiên cứu bao đóng đồ thị để sử dụng số chứng minh luận án Chƣơng 2: Một số lớp đa thức toán Chương nghiên cứu chu trình Hamilton theo hai toán nguyên dương, số thực tham số) sau: Instance: Đồ thị Question: (với có đồ thị Hamilton? Instance: Đồ thị Question: thỏa mãn thỏa mãn có đồ thị Hamilton? Tác giả tập trung vào việc đánh giá độ phức tạp toán theo tham số lớp đa thức tốn để tìm Chƣơng 3: Thuật tốn đa thức xác định chu trình Hamilton đồ thị Chương thiết kế thuật toán đa thức xác định chu trình Hamilton cho lớp đồ thị , sau tác giả tiến hành thực nghiệm đồ thị lớn (hàng nghìn đỉnh) thấy tính hiệu khả thi thực thuật tốn Thêm vào đó, tác giả đưa số đề xuất để làm tăng hiệu thực thuật toán Chƣơng 4: Đánh giá độ dài chu trình dài đồ thị 1-tough với Chương luận án đưa chứng minh cho Giả thuyết tác giả Bauer, Fan, Veldman [8] cận độ dài chu trình dài rằng: Nếu đồ thị 1-tough Giả thuyết số tác giả khác quan tâm tìm cách chứng minh, nhiên chứng minh đưa chưa thỏa đáng Cho đến chưa có chứng minh cho Giả thuyết vấn đề mở CHƢƠNG TỔNG QUAN VỀ CHU TRÌNH TRONG ĐỒ THỊ 1.1 Một số khái niệm quy ƣớc Trong luận án xét tới đồ thị hữu hạn, đơn, vơ hướng khơng có trọng số Khái niệm đường chu trình luận án đơn, nghĩa chúng qua đỉnh không lần Một đường (đơn) đồ thị khơng rỗng có cấu trúc: , đó, với Các đỉnh nối , gọi đỉnh cuối; đỉnh gọi đỉnh Nếu đường chu trình, chu trình viết sau: chu trình gọi độ dài nó, ký hiệu gọi Số cạnh Các ký hiệu viết khơng kèm theo đồ thị tường minh hiểu mặc định đồ thị Ví dụ, viết tương ứng thay cho Giả sử xem đường chu trình đồ thị Trong luận án, ta tập đỉnh (tương ứng thay cho ) Một đường mở rộng (theo tập đỉnh) đường tự, chu trình mở rộng chu trình nếu Với , ta ký hiệu đoạn đường chạy dọc theo từ đỉnh vậy, đỉnh cuối Ngồi ra, | đỉnh nằm đoạn đường Tương tới đỉnh Như | quy ước số Giả sử chu trình Ta quy định chiều quay ⃗⃗⃗ theo thứ tự số đỉnh (chỉ số lấy theo ) Với đỉnh , ký hiệu đỉnh liền trước liền sau theo chiều quay định Với tập đỉnh , Với số nguyên dương , ký hiệu đầu từ đỉnh kết thúc Ta ký hiệu đoạn đường bắt theo chiều quay quy định ⃗⃗⃗ , đoạn đường theo chiều ngược lại ký hiệu ⃖⃗⃗⃗ Nếu thành phần liên thông , ký hiệu tập hợp láng giềng Một dãy cung ngoại biên nối hai đỉnh đường có đỉnh cuối đỉnh đỉnh thuộc Đặc biệt, cạnh nối đỉnh dãy cung ngoại biên Đôi ta thường không viết dấu phẩy (,) ngăn cách đỉnh chu trình đường Ví dụ, viết thay cho 1.3 Chu trình Hamilton Chu trình qua đỉnh đồ thị, đỉnh qua lần, gọi chu trình Hamilton Đồ thị có chu trình Hamilton gọi đồ thị Hamilton Tương tự, đường qua đỉnh đồ thị, đỉnh qua lần, gọi đường Hamilton đồ thị có đường Hamilton gọi đồ thị nửa Hamilton Lịch sử phát sinh đồ thị Hamilton xuất phát từ trò chơi đố vui William Rowan Hamilton vào năm 1859 Chu trình Hamilton có nhiều ứng dụng thực tế, ví dụ toán người bán hàng, lập kế hoạch, hay thiết kế vi mạch, thiết kế đường truyền mạng… Cho đến nay, vấn đề chu trình Hamilton mở trở thành vấn đề trung tâm lý thuyết đồ thị với nhiều cơng trình nghiên cứu Thơng qua ba tổng quan Ronald J Gould [25], [26], [27] thấy vịng 20 năm trở lại có khoảng 400 báo khoa học nghiên cứu chu trình Hamilton đăng tải tạp chí khoa học quốc tế có uy tín hàng đầu Trong luận án nghiên cứu chu trình Hamilton theo hướng sau: Nghiên cứu toán lớp đồ thị có tổng bậc lớn Nghiên cứu độ phức tạp toán xác định ranh giới để toán từ lớp sang lớp chuyển Xây dựng thuật toán thời gian đa thức để xác định chu trình Hamilton số lớp đồ thị khảo sát mà toán thuộc lớp 1.3.1 Độ phức tạp toán Bài toán chứng minh [23] toán (Hamiltonian Cycle Problem) Instance: Đồ thị Question: có đồ thị Hamilton? Một số tác giả nghiên cứu đến độ phức tạp toán lớp đồ thị đặc biệt, chẳng hạn [37] đánh giá độ phức tạp lớp đồ thị có hướng phẳng, hay [3] nghiên cứu hai lớp đồ thị dạng lưỡng phân Trong [15], tác giả toán lớp đồ thị cịn tốn Định lý 1.1 [15, Định lý 16] với toán với : Kết tiền đề quan trọng để tác giả tiếp tục nghiên cứu đến độ phức tạp tốn lớp đồ thị có tổng bậc lớn 1.3.3 Một số điều kiện đủ bậc đỉnh Các kết nghiên cứu chu trình Hamilton hầu hết tập trung điều kiện đủ, đặc biệt điều kiện đủ bậc đỉnh Ta bắt đầu với kết Dirac: Định lý 1.4 [17] Nếu đồ thị đỉnh bậc đỉnh khơng nhỏ với đồ thị Hamilton Định lý Dirac trường hợp riêng Định lý Ore Định lý 1.5 [36] Nếu đồ thị đỉnh với đồ thị Hamilton Với đồ thị tough, mở rộng cho Định lý Ore, Jung có kết sau: Định lý 1.6 [29] Cho Hamilton đồ thị 1-tough với Mở rộng kết cho đỉnh Khi đó,G đồ thị có: Định lý 1.7 [18] Cho G đồ thị 1-tough với đỉnh Khi đó, đồ thị Hamilton Với đồ thị -liên thông, Bondy đưa kết tổng quát cho Định lý 1.8 [11] Nếu sau: đồ thị -liên thơng thỏa mãn đồ thị Hamilton Liên quan đến khoảng cách có kết sau: Định lý 1.10 [32, Định lý 5] Cho đồ thị 2-liên thơng với Khi xảy hai trường hợp sau: đồ thị Hamilton số lẻ ̅ ̅ ̅ đỉnh thỏa mãn 1.3.4 Một số thuật toán xác định chu trình Hamilton Các nghiên cứu thuật tốn xác định chu trình Hamilton tiếp cận theo hướng sau: Thuật toán Backtrack (Quay lui) Thuật tốn Heuristic Thuật tốn tìm kiếm chu trình Hamilton cho lớp đồ thị đặc biệt Các thuật tốn Backtrack ln đảm bảo tìm chu trình Hamilton (nếu có) kết thúc sau vét cạn trường hợp mà đồ thị khơng có chu trình Hamilton, nhiên khả thực hạn chế thời gian chạy không khả thi đồ thị lớn Các thuật tốn Heuristic có cải tiến khả thực đồ thị lớn thời gian chạy tuyến tính đa thức, nhiên khơng đảm bảo tìm chu trình Hamilton, thực đồ thị Hamilton Dưới số thuật toán Backtrack Heuristic xác định chu trình Hamilton đồ thị [5], [12], [38]: Bảng 1.1 Một số thuật toán Backtrack Heuristic xác định chu trình Hamilton Thuật tốn Pósa UHC HAM SparseHam HideHam DB2 LongPath LinearHam Snakes and Ladders MultiPath MultiPath cải tiến KTC Tác giả Pósa Angluin and Valiant Bollobas, Fenner and Frieze Frieze Broder, Frieze and Shamir Brunacci Kocay and Li Thomason P Baniasadi, V Ejov, J.A Filar, M Haythorpe, S Rossomakhine Kocay Andrew Chalaturnyk Shufelt and Berliner Loại Heuristic Heuristic Heuristic Heuristic Heuristic Heuristic Heuristic Heuristic Heuristic Backtrack Backtrack Backtrack Một số tác giả khác nghiên cứu tới việc xây dựng thuật toán xác định chu trình Hamilton lớp đồ thị đặc biệt Các thuật tốn xác đảm bảo tìm chu trình Hamilton, thời gian đa thức, nhiên nhược điểm không thực đồ thị tổng quát Gần đây, tác giả [28] đưa thuật toán thời gian đồ thị Circular-Arc, [22] sử dụng phương pháp “tham lam” 2-matching để xây dựng thuật toán thời gian xác định chu trình Hamilton đồ thị ngẫu nhiên… Với đồ thị Ore (lớp đồ thị ), số tác giả đưa thuật toán đa thức để xác định chu trình Hamilton, chẳng hạn thuật tốn Albertson đề xuất [4]… 1.4 Bao đóng đồ thị Bổ đề 1.2 [10] Giả sử đồ thị có bậc hai đỉnh khơng kề thỏa mãn Khi đó, đồ thị Hamilton đồ thị Hamilton Khái niệm bao đóng đồ thị Bondy Chvátal đưa lần [10] Bao đóng đồ thị , ký hiệu đồ thị thu từ cách bổ sung thêm cạnh nối cặp đỉnh khơng kề có tổng bậc khơng nhỏ , q trình thực khơng cịn cặp đỉnh khơng kề mà có tổng bậc khơng nhỏ Bao đóng đồ thị ln xác định nhất, không phụ thuộc vào thứ tự cạnh thêm vào [2] Hình 1.5 Quá trình tạo bao đóng đồ thị Trong việc bổ sung cạnh để tạo bao đóng , ta thực việc gán nhãn tăng dần theo thứ tự cạnh bổ sung mảng Trước hết, [ ] với cạnh đặt Khi cạnh bổ sung, ta gán [ ] , thu đồ thị Quá trình thực liên tục khơng có cạnh bổ sung thu đồ thị cuối Rõ ràng là: Thuật toán 1.2 Xây dựng đồ thị bao đóng gán nhãn cho cạnh Input: Đồ thị Output: Đồ thị cạnh gán nhãn Procedure Construct_Cl Begin For each Begin [ ] ; For each If Then [ ] [ ] ; End; For each [ ] ; [ ] [ ] ; Repeat Stop True; For each For each If and Then Begin Stop False; ; [ ; [ ] [ ] ; [ ] ] ; [ ] ; , ta đặt: [ ] End; Until Stop; End; Nếu đồ thị [ ] Mệnh đề 1.2 Nếu Hamilton đồ thị Hamilton đồ thị Thuật tốn 1.3 Biến đổi chu trình Hamilton đồ thị bao đóng Input: chu trình Hamilton Output: Một chu trình Hamilton đồ thị Procedure TransformCycle( ) Begin While ( [ ] ) Begin Tìm [ ] [ ]; Tìm [ ] [ ] [ ]; ; Đánh số lại đỉnh theo thứ tự mới: ; End; End; 1.6 Chu trình đồ thị có tập láng giềng lớn Định lý 1.20 [8] Nếu đồ thị 2-liên thông Định lý 1.21 [8] Nếu đồ thị 1-tough thì Bauer, Fan, Veldman đưa Giả thuyết quan trọng sau: Giả thuyết 1.3 [8, Giả thuyết 27] Nếu đồ thị 1-tough 1.7 Kết luận Chƣơng Như vậy, chương giới thiệu khái niệm lý thuyết đồ thị cần thiết cho luận án Kế đến giới thiệu Bổ đề, Thuật toán bản, đặc biệt bao đóng đồ thị làm tảng sở quan trọng cho chứng minh luận án Cuối trình bày tổng quan chu trình đồ thị, tập trung trọng tâm tới chu trình Hamilton với vấn đề nêu là: độ phức tạp toán , số điều kiện cần đủ cho đồ thị Hamilton, số thuật toán để xác định chu trình Hamilton đồ thị Ngồi ra, chu trình Dominating, chu trình đồ thị có tập láng giềng lớn đề cập tới Định lý 1.1 tác giả [15] tốn cịn tốn với lớp đồ thị tiền đề để tác giả tiếp tục nghiên cứu toán cho lớp đồ thị tổng quát theo giá trị (với tổng quát) Chương Chương Giả thuyết 1.3 tác giả [8] đưa đánh giá độ 12 Hình 2.3 Đồ thị Dạng 3, Định lý 2.3 Hệ 2.6 Mọi đồ thị 2-liên thông thỏa mãn đồ thị Hamilton Từ thuật toán đa thức nhận biết dạng đồ thị đặc biệt không Hamilton Định lý 2.3, ta có: Định lý 2.4 toán thuộc lớp 2.4 Bài toán Từ Định lý 1.10, để đánh giá độ phức tạp toán thuật toán thời gian sau: thuộc dạng: ̅ Thuật toán 2.4 Nhận biết đồ thị ̅ ta đưa ̅ Input: Đồ thị Output: Is_Graph4 = True ̅ ̅ ̅ , ngược lại, Is_Graph4 = False Chương trình: Function Boolean Is_Graph4 Begin If ( ) Then Return False; Tính bậc đỉnh ; ; For each If ( If (| | ) Then ) and ( ; tập đỉnh độc lập) Then Return True Else Return False; End; Hệ 2.7 Hệ 2.8 toán thuộc lớp toán thuộc lớp 13 2.5 Kết luận Chƣơng Bài toán đánh giá độ phức tạp [15] Chương tác giả tiếp tục nghiên cứu mở rộng theo hai toán (với nguyên dương tổng quát) Các kết đạt sau: Với tốn Với tốn cịn tốn thuộc lớp Như vậy, nói Giả thuyết 2.1 tác giả giải đến trường hợp , với cịn vấn đề mở Dựa kết đạt Hệ 2.6, tác giả đưa Giả thuyết thứ hai: Giả thuyết 2.2 Với số nguyên dương , đồ thị 2-liên thơng thỏa mãn đồ thị Hamilton CHƢƠNG THUẬT TOÁN ĐA THỨC XÁC ĐỊNH CHU TRÌNH HAMILTON TRONG ĐỒ THỊ VÀ Chương tác giả đề xuất thuật toán đa thức xác định chu trình Hamilton cho hai lớp đồ thị Thêm vào đó, tác giả đề xuất việc sử dụng bao đóng đồ thị để mở rộng lớp đồ thị thực thuật toán Cuối cùng, tác giả tiến hành thực nghiệm đồ thị có số đỉnh lớn thấy tính hiệu khả thi thực thuật toán đề xuất 3.1 Thuật toán cho lớp đồ thị Bổ đề 3.1 Cho đồ thị thỏa mãn đồ thị Hamilton chu trình , thành phần liên thông Giả sử đỉnh đánh số theo chiều quay Nếu có khơng q đỉnh xảy trường hợp sau: Tồn cho Tồn với , Tồn Tồn cho kề với tất đỉnh a Thuật toán 3.1 Xác định chu trình Hamilton cho đồ thị Input: Đồ thị , 2-liên thơng thỏa mãn Output: Chu trình Hamilton chu trình Hamilton Procedure Hamilton2*; đồ thị Hamilton, trả lời khơng có 14 BEGIN // Kiểm tra 1: 2: 3: 4: 5: If ( ̅ ̅ Begin Thông báo Kết thúc; End; // Trường hợp 6: không đồ thị Hamilton ̅ ) Then khơng có chu trình Hamilton; đồ thị Hamilton Tìm chu trình tùy ý đồ thị ; // Vòng lặp mở rộng tập đỉnh 7: 8: 9: 10: While Begin | | Do Tìm thành phần liên thông – Đánh số đỉnh // Mở rộng chu trình 11: 12: 13: 14: 15: End 17: Else If tồn Begin Tìm cho Tìm đường 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: Then ; nối x với y ⃖⃗⃗⃗ Thay thành chu trình End Else If tồn Then Begin Chọn tùy ý tìm cho Tìm đường nối x với y ⃖⃗⃗⃗ Thay thành chu trình End Else Begin Tìm tìm Tìm đường Thay 34: End; 35: End; END; 33: Then ; nối x với y ; ⃗⃗⃗ thành chu trình ; 16: 18: ; theo trường hợp If tồn Begin Tìm cho Tìm đường Thay ; cho nối x với y ⃗⃗⃗ thành chu trình Thuật tốn 3.1 cần khơng q phép tốn thực ; ⃗⃗⃗ ; ; ; ⃗⃗⃗ ; ; ; ⃗⃗⃗ ; 15 3.2 Thuật toán cho lớp đồ thị Ý tưởng thuật tốn trường hợp 2-liên thơng xây dựng chu trình tùy ý với thời gian đa thức, sau mở rộng đủ đỉnh cách nối thêm số cạnh cho cặp đỉnh khơng kề có tổng bậc khơng nhỏ , đồng thời kết hợp với việc gán nhãn cho cạnh (được trình bày phần 1.4) Cuối cùng, ta sử dụng Thuật tốn 1.3 (TransformCycle) để tìm chu trình Hamilton cho đồ thị ban đầu từ a Thuật tốn 3.2 Xác định chu trình Hamilton cho đồ thị Input: Đồ thị 2-liên thông thỏa mãn Output: Chu trình Hamilton Procedure Hamilton3; BEGIN // Gán nhãn cho tất cạnh For each 2: ; Tìm chu trình tùy ý đồ thị While | | Do Begin Đánh số lại đỉnh 3: 4: 5: 6: 7: 8: in [ ] 1: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: If tồn Begin Tìm cho Tìm đường ; – ; Then ; nối x với y ⃗⃗⃗ Thay thành chu trình End Else If tồn Then Begin Tìm cho ; Tìm đường nối x với y ⃖⃗⃗⃗ Thay thành chu trình End Else Begin Tìm hai đỉnh 24: 25: 27: ; theo trường hợp thuộc // Bổ sung cạnh 26: ; Tìm thành phần liên thơng Tìm tập đỉnh ; // Mở rộng 9: [ Tìm ] ; ; ; cho ; ; ; ; cho đồ thị gãn nhãn ; ⃗⃗⃗ ; 16 28: 29: 30: 31: Tìm đường Thay End; End; // Biến đổi 32: nối x với y ⃖⃗⃗⃗ thành chu trình thành chu trình Hamilton ; ⃗⃗⃗ ; ban đầu TransformCycle( ); END; Thuật tốn 3.2 cần khơng q phép tốn thực 3.3 Sử dụng bao đóng cho lớp đồ thị có tổng bậc lớn Theo Mệnh đề 1.2 đồ thị Hamilton đồ thị Hamilton Trong đồ thị bao đóng , bậc đỉnh không nhỏ bậc đỉnh tương ứng đồ thị (Vì ), điều kiện tổng bậc lớn đồ thị bao đóng có nhiều khả thỏa mãn so với đồ thị ban đầu Sau tìm chu trình Hamilton đồ thị , sử dụng Thuật tốn 1.3 tìm chu trình Hamilton đồ thị ban đầu từ chu trình Do đó, tác giả đưa đề xuất sau: Hình 3.1 Sơ đồ thuật tốn xác định chu trình Hamilton sử dụng bao đóng đồ thị 17 Đề xuất 3.1 Sử dụng bao đóng đồ thị kết hợp với thuật tốn xác định chu trình Hamilton lớp đồ thị có tổng bậc lớn để thực cho lớp đồ thị tổng quát Như vậy, thay việc khơng áp dụng thuật tốn cho đồ thị ban đầu, chuyển sang đồ thị bao đóng khả áp dụng thuật tốn cao Với Thuật toán 3.1 3.2 sử dụng bao đóng đồ thị sơ đồ thuật tốn cần khơng q phép tốn thực Với đồ thị có tổng bậc lớn số cạnh lớn nên chạy chương trình cho Thuật tốn tìm chu trình Hamiltton đồ thị bao đóng thời gian tăng khơng đáng kể 3.4 Chƣơng trình thực nghiệm Phần xây dựng chương trình thực nghiệm cho hai thuật toán 3.1 3.2 mà tác giả đề xuất để xác định chu trình Hamilton cho lớp đồ thị 3.4.1 Giới thiệu chƣơng trình Hình 3.2 Sơ đồ khối thực chương trình Chương trình thực nghiệm xây dựng theo sơ đồ khối đưa Hình 3.2 phần thực Tìm Chu trình Hamilton theo thuật tốn tƣơng ứng đo thời gian Tác giả xây dựng hai chương trình thực nghiệm xác định chu trình Hamilton sau: Bảng 3.1 Các chương trình thực nghiệm xác định chu trình Hamilton Chƣơng trình Lớp đồ thị Chương trình Chương trình Thuật tốn áp dụng Thuật toán 3.1 Thuật toán 3.2 Thời gian 18 Việc xác định giá trị kỳ có thuộc lớp nên việc kiểm tra đồ thị bất cần thuật toán , Chương trình thời gian nhận liệu đầu vào đồ thị tổng quát thực khả thi với đồ thị lớn Chương trình sử dụng ngơn ngữ lập trình C# tiến hành thực nghiệm máy tính sử dụng Hệ điều hành Windows7, vi xử lý Core i3 2.53 GHz, RAM 8GB 3.4.2 Bộ liệu đầu vào Do khơng có đồ thị mẫu chưa có tác giả tiến hành thực nghiệm việc tìm chu trình Hamilton lớp đồ thị nên tác giả xây dựng hai liệu sinh ngẫu nhiên gồm đồ thị 2-liên thông thỏa mãn điều kiện đầu vào tương ứng Thuật toán 3.1 Thuật toán 3.2 để thực nghiệm Bộ liệu gồm đồ thị thỏa mãn điều kiện điều kiện , không thỏa mãn Bộ liệu gồm đồ thị thỏa mãn điều kiện không thỏa mãn điều kiện Bảng 3.2 Danh sách đồ thị tiến hành thực nghiệm Số đỉnh ( ) Đồ thị Bộ liệu ( ) Bộ liệu 1000 S2sao-1000 S3-1000 2000 S2sao-2000 S3-2000 3000 S2sao-3000 S3-3000 4000 S2sao-4000 S3-4000 5000 S2sao-5000 S3-5000 6000 S2sao-6000 S3-6000 7000 S2sao-7000 S3-7000 8000 S2sao-8000 S3-8000 9000 S2sao-9000 S3-9000 10000 S2sao-10000 S3-10000 ( ) 3.4.3 Đánh giá hiệu Bảng 3.3 Thống kê thời gian chạy chương trình sử dụng Thuật tốn 1.1 Chƣơng trình Đồ thị S2sao-1000 S2sao-2000 S2sao-3000 Chƣơng trình Thời gian (s) Đồ thị 2.467 S3-1000 19.664 S3-2000 64.895 S3-3000 Thời gian (s) 2.283 17.945 61.586 , 19 S2sao-4000 S2sao-5000 S2sao-6000 S2sao-7000 S2sao-8000 S2sao-9000 S2sao-10000 154.620 300.194 525.644 836.379 1249.134 1780.245 2416.288 S3-4000 S3-5000 S3-6000 S3-7000 S3-8000 S3-9000 S3-10000 141.135 264.959 476.623 754.716 1122.091 1618.704 2200.797 Thuật toán 3.1 Thuật tốn 3.2 có điểm chung sử dụng Thuật tốn 1.1 để xây dựng chu trình ban đầu, sau mở rộng có đủ đỉnh độ dài chu trình ban đầu có ảnh hưởng lớn đến thời gian chạy chương trình Thuật tốn 1.1 tìm chu trình đồ thị làm chu trình khởi tạo ban đầu, nhiên độ dài thường nhỏ Để tăng tốc độ thực cho chương trình sử dụng số phương pháp Heuristic thay cho Thuật tốn 1.1 để chu trình ban đầu có độ dài lớn, số vịng lặp mở rộng chu trình giảm đáng kể Đề xuất 3.2 Tìm đường dài có thể, sau tìm cặp đỉnh thuộc cho đoạn đường dài Khi đó, ta có chu trình độ dài lớn ; Đề xuất thực Thuật toán sau Thuật toán 3.3 Xác định chu trình có độ dài lớn đồ thị 2-liên thông Input: Đồ thị 2-liên thông Output: Một chu trình có độ dài lớn Procedure Create_Long_Cycle() Begin Tìm cạnh ; ; Stop = False; While Not(Stop) Do Begin Stop = True; For each If Do ( đỉnh cuối Begin ; ; Stop = False; End; End; Found = False; Length = ; ) Then 20 While Not(Found) Do Begin cho | If tồn Begin | = Length Then ; Found = True; End Else Length = Length – 1; End; End; Thay Thuật toán 1.1 Thuật tốn 3.3 để tìm chu trình khởi tạo ban đầu , tác giả cải tiến đáng kể thời gian chạy hai chương trình Bảng 3.4 Tổng hợp thời gian chạy Chương trình trước sau cải tiến Chƣơng trình Đồ thị S2sao-1000 S2sao-2000 S2sao-3000 S2sao-4000 S2sao-5000 S2sao-6000 S2sao-7000 S2sao-8000 S2sao-9000 S2sao-10000 Độ dài ban đầu 4 4 4 4 4 Thời gian (s) 2.467 19.664 64.895 154.620 300.194 525.644 836.379 1249.134 1780.245 2416.288 Chƣơng trình cải tiến Độ dài ban đầu 999 1997 2988 3980 4997 5990 6987 7951 8997 9986 Thời gian (s) 0.032 0.098 0.653 1.738 0.482 1.996 3.470 16.556 1.496 7.569 Bảng 3.5 Tổng hợp thời gian chạy Chương trình trước sau cải tiến Chƣơng trình Đồ thị S3-1000 S3-2000 S3-3000 S3-4000 S3-5000 S3-6000 S3-7000 S3-8000 S3-9000 S3-10000 Độ dài ban đầu 3 3 3 3 Thời gian (s) 2.283 17.945 61.586 141.135 264.959 476.623 754.716 1122.091 1618.704 2200.797 Chƣơng trình cải tiến Độ dài ban đầu 994 1998 2992 3995 4997 5997 6995 7998 8998 9998 Thời gian (s) 0.065 0.123 0.436 0.639 0.799 1.418 1.753 2.192 2.569 3.373 21 Phân tích ảnh hưởng độ dài chu trình khởi tạo ban đầu thời gian chạy chương trình, tác giả chọn đồ thị S3-2000 để tiến hành thực nghiệm (bằng Chương trình 2) Kết thực nghiệm đưa Bảng 3.6 Hình 3.3 sau: Bảng 3.6 Thống kê thời gian chạy Chương trình đồ thị S3-2000 theo độ dài chu trình khởi tạo ban đầu Độ dài ban đầu Thời gian (s) 17.945 200 14.802 400 12.266 600 10.095 800 8.588 1000 6.737 1200 5.380 1400 4.391 1600 2.893 1800 1.587 1998 0.123 Hình 3.3 Biểu đồ thời gian chạy Chương trình đồ thị S3-2000 theo độ dài chu trình khởi tạo ban đầu 3.5 Kết luận Chƣơng Chương đề xuất hai thuật tốn xác để xác định chu trình Hamilton lớp đồ thị Hai thuật toán đánh giá phương diện lý thuyết khơng q phép tốn thực tác giả tiến hành thực nghiệm đồ thị lớn từ 1000 đỉnh đến 10000 đỉnh Kết thực nghiệm cho thấy tính khả thi, hiệu ý nghĩa thực tiễn thuật toán tác giả đề xuất 22 Tác giả tiến hành thực nghiệm theo hai chương trình khác đánh giá yếu tố ảnh hưởng đến thời gian chạy chương trình độ dài chu trình khởi tạo ban đầu lý thuyết thực nghiệm Việc cải tiến chương trình Thuật tốn 3.3 giảm đáng kể thời gian chạy chương trình Tác giả đưa đề xuất quan trọng khác cho việc mở rộng lớp đồ thị áp dụng thuật tốn tìm chu trình Hamilton đồ thị có tổng bậc lớn việc xây dựng bao đóng đồ thị Việc sử dụng bao đóng có làm tăng thời gian chạy chương trình ưu điểm thực lớp đồ thị tổng quát hơn, đặc biệt đồ thị có tổng bậc lớn thời gian chạy chương trình tăng khơng đáng kể CHƢƠNG ĐÁNH GIÁ ĐỘ DÀI CHU TRÌNH DÀI NHẤT TRONG ĐỒ THỊ 1-TOUGH VỚI 4.1 Giới thiệu Giả thuyết Bauer Giả thuyết 1.3 Bauer, Fan, Veldman đánh giá độ dài chu trình dài [8]: Nếu đồ thị đồ thị 1-tough Giả thuyết số tác giả quan tâm tìm cách chứng minh, nhiên chứng minh đưa chưa thỏa đáng, chẳng hạn chứng minh tác giả Tri Lai [43] bị sai Proposition 26 Cho đến chưa có chứng minh cho Giả thuyết vấn đề mở Chương tác giả đưa chứng minh cho Giả thuyết 1.3 Trong tồn chứng minh Chương, Quy ước 4.1, 4.2, 4.3, 4.4, 4.5 sử dụng sau phát biểu hết Chương Quy ƣớc 4.1 Giả sử đồ thị 1-tough thỏa mãn không Hamilton Theo Quy ước 4.1 ta cần chứng minh 4.2 Các Tính chất Bổ đề Tính chất 4.1 Mọi chu trình dài Với chu trình dài | chu trình Dominating (cũng chu trình Dominating) ta định nghĩa: | Quy ƣớc 4.2 Lấy ⃗⃗⃗ chu trình dài mãn đỉnh cho với chiều quay định hướng thỏa Đặt Tính chất 4.2 (Tham khảo chứng minh Định lý [9]) Tính chất 4.3 [41, Bổ đề 9] | | Tính chất 4.4 | | 23 Bổ đề 4.1 [42] Cho ⃗⃗⃗ chu trình có độ dài đồ thị Giả sử chu trình độ dài khơng có chu trình độ dài với đỉnh cô lập Đặt , với thì: , Đặt ⋃ (a) ⋃ (b) Nếu (c) khơng có , Khi đó: Quy ƣớc 4.3 Giả sử hai tập đỉnh xây dựng Bổ đề 4.1 với đỉnh (nói Bổ đề 4.1) đỉnh xác định từ Quy ước 4.2 Tính chất 4.5 (a) Khơng có cạnh nối đỉnh (c) tập đỉnh độc lập (d) | | , (b) với đỉnh Quy ƣớc 4.4 Nhận thấy đỉnh nên Ta lấy cố | | , xuất định đỉnh kí hiệu đỉnh ⃗⃗⃗ cho Với , đặt Theo Bổ đề 4.1 (b), hợp đường rời ⃗⃗⃗ , ta gọi arc Một arc với đỉnh gọi -arc Khi ⃗⃗⃗ 1-arc (chính đỉnh thuộc ) Hai arc gọi kề tồn cạnh nối đỉnh thuộc arc với đỉnh thuộc arc lại Tính chất 4.6 tập đỉnh độc lập (a) (b) | | Tính chất 4.7 có hai arc với độ dài không nhỏ Quy ƣớc 4.5 | | Tính chất 4.8 [41, Bổ đề 4] Định nghĩa 4.1 Cặp đỉnh Định nghĩa 4.2 Đường tập đỉnh độc lập gọi bad-pair | gồm tất đỉnh ⃗⃗⃗ với ⃖⃗⃗⃗ gồm tất đỉnh với gọi bad-path | | | hai dạng sau: , đỉnh cuối , đỉnh cuối 24 Tính chất 4.9 Khơng có cặp đỉnh Bổ đề 4.2 Khơng có đường Bổ đề 4.3 Nếu bad-pair bad-path với Bổ đề 4.4 Nếu với Bổ đề 4.5 Giả sử Tương tự, Bổ đề 4.9 Giả sử cho Vì | | ⃗⃗⃗ -arc có -arc ⃗⃗⃗ có -arc cho khơng có -arc { } Nếu ⃗⃗⃗ Nếu tồn đỉnh khơng có -arc { } Bổ đề 4.10 Giả sử ⃗⃗⃗ đỉnh với có } với với Tương tự, Bổ đề 4.8 Giả sử Khi đó, { Khi với với Bổ đề 4.6 Giả sử Bổ đề 4.7 Giả sử cho thuộc ⃗⃗⃗ -arc ⃗⃗⃗ -arc ⃗⃗⃗ với thuộc ⃗⃗⃗ Nếu với , -arc ⃗⃗⃗ với ⃗⃗⃗ ⃗⃗⃗ Nếu | | theo Tính chất 4.6 (b), ta có Ta xét hai trường hợp: , | | , | | Trƣờng hợp Trong trường hợp này, theo Tính chất 4.7 bao gồm hai 2-arc lại 1-arc Trƣờng hợp hai khả sau: | | Trong trường hợp này, theo Tính chất 4.7 xảy Trƣờng hợp 2.1 bao gồm 2-arc, 3-arc 1-arc Trƣờng hợp 2.2 bao gồm ba 2-arc lại 1-arc 4.3 Chứng minh cho trƣờng hợp Trong phần chứng minh tất trường hợp không xảy phương pháp phản chứng Chứng minh gồm có Mệnh đề 21 Khẳng định 25 4.4 Kết luận Chƣơng Chương đánh giá độ dài chu trình dài theo Giả thuyết tác giả Bauer, Fan, Veldman rằng: Nếu đồ thị 1-tough Có thể tóm tắt bước chứng minh sau: Giả thiết đồ thị 1-tough thỏa mãn không Hamilton Từ Bổ đề Hopping xây dựng tập hai Chứng minh | | | | Nếu | | suy Nếu | | , chứng minh: Kết luận: | | | | KẾT LUẬN Luận án đưa kết việc nghiên cứu toán chu trình Hamilton đặc biệt hồn thành chứng minh Giả thuyết nhà toán học lớn Bauer, Fan, Veldman cho việc đánh giá độ dài chu trình dài đồ thị Vấn đề chu trình Hamilton nghiên cứu luận án theo hai toán , kết đạt luận án sau: Với tốn cịn tốn Với toán (trường hợp ) toán thuộc lớp Xây dựng thuật toán đa thức để xác định chu trình Hamilton đồ thị Thực nghiệm cho thuật toán xác định chu trình Hamilton đề xuất đồ thị lớn (từ 1000 đến 10000 đỉnh) Kết thực nghiệm cho thấy tính hiệu khả thi thuật tốn Hồn thành việc chứng minh cho Giả thuyết Bauer, Fan, Veldman rằng: Nếu đồ thị 1-tough Với việc đánh giá độ phức tạp toán khẳng định cho Giả thuyết 2.1 với thuộc lớp Một số vấn đề nghiên cứu tiếp: Tiếp tục giải Giả thuyết 2.1 Giả thuyết 2.2 cho trường hợp Chu trình Hamilton đồ thị: , , tác giả ,… Thiết kế thuật tốn thời gian đa thức xác định chu trình Hamilton cho lớp đồ thị 2liên thông thỏa mãn Thiết kế thuật tốn thời gian đa thức tìm chu trình có độ dài khơng nhỏ đồ thị 1-tough không Hamilton thỏa mãn 26 Những công trình cơng bố liên quan đến luận án [1] Vũ Đình Hịa, Nguyễn Hữu Xn Trường, Chu trình Hamilton đồ thị Tạp chí Tin học Điều khiển học, T.28, S.2, 153-160, 2012 , [2] Vũ Đình Hịa, Nguyễn Hữu Xuân Trường, Thuật toán đa thức xác định chu trình Hamilton lớp đồ thị , Tạp chí Khoa học Công nghệ - Viện Hàn Lâm Khoa Học Công Nghệ Việt Nam, T.51, S.5, 533-541, 2013 [3] Vũ Đình Hịa, Nguyễn Hữu Xn Trường, Chu trình Hamilton đồ thị , Kỷ yếu Hội nghị Khoa học Công nghệ quốc gia lần thứ VI (FAIR), 91-96, 2013 [4] Vũ Đình Hịa, Nguyễn Hữu Xn Trường, Chu trình Hamilton đồ thị , Kỷ yếu Hội nghị Khoa học Công nghệ quốc gia lần thứ VII (FAIR), 60-67, 2014 [5] Nguyen Huu Xuan Truong, Vu Dinh Hoa, Hamiltonian cycle in graphs , International Journal of Computer Science and Business Informatics, Vol.15, No.2, 38-60, 2015 [6] Nguyen Huu Xuan Truong, Vu Dinh Hoa, A new lower bound for the circumference of tough graphs, International Journal of Advanced Research in Computer Science and Software Engineering, Volume 5, Issue 9, 643-649, 2015