Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 65 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
65
Dung lượng
1,4 MB
Nội dung
i MỤC LỤC MỤC LỤC i LỜI CAM ĐOAN iii LỜI CẢM ƠN iv DANH MỤC CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT v DANH MỤC HÌNH vi MỞ ĐẦU Chương I: MỘT SỐ KHÁI NIỆM CƠ BẢN TRONG LÝ THUYẾT ĐỒTHỊ VÀ LÝ THUYẾT CÁC BÀI TOÁN NP-C 1.1 Lý thuyết đồthị 1.1.1 Các thuật ngữ 1.1.2 Đường đi, chu trình, đồthị liên thông 10 1.1.3 Biểu diễn đồthị máy tính 13 1.2 Lý thuyết lớp toán P NP 17 1.2.1 Khái niệm loại thời gian tính 17 1.2.2 Khái niệm phép quy dẫn đa thức 18 1.2.3 Lớp toán P 18 1.2.3 Lớp toán NP 19 1.2.4 Lớp toán NP-đầy đủ (NP-Complete) 19 1.3 Kết luận 20 Chương II: CHUTRÌNHHAMILTON 21 2.1 Chutrình Hamilton: Định nghĩa, tính chất điều kiện đủ 21 2.1.1 Một số khái niệm 21 2.1.2 Một số tính chất đồthịHamilton 22 2.2 Thuật toán tìm chutrìnhHamilton 26 2.3 ĐồthịHamilton tối đại 29 2.3.1 Khái niệm 30 2.3.2 Thuật toán xây dựng đồthịHamilton tối đại n ≥ đỉnh [1] 30 2.3 Kết luận 31 Chương III: CHUTRÌNH TRỘI 32 3.1 Khái niệm chutrình trội điều kiện đủ 32 3.1.1 Khái niệm: 32 3.1.2 Một số điều kiện đủ chutrình trội 33 3.1.3 Chutrình trội lớp đồthị 2-liên thông thỏa mãn (G) ≥ 36 3.2 Thuật toán xác định chutrình trội 40 3.2.1 Thuật toán: (Xác định đồthị G có chutrình trội hay không?) 41 ii 3.2.2 Thuật toán 2.1: (kiểm tra đồthị liên thông) 42 3.2.3 Thuật toán 2.2: (kiểm tra đồthị 2-liên thông) 42 3.2.4 Thuật toán 3.1: Kiểm tra đồthị G có thuộc lớp K1 hay không? 43 3.2.5 Thuật toán 3.2: Kiểm tra đồthị G có thuộc lớp K2 hay không? 43 3.2.6 Thuật toán 3.3: Kiểm tra đồthị có thuộc K3 hay không? 44 3.2.7 Thuật toán 3.4: Kiểm tra đồthị G có thuộc lớp K4 hay không? 45 3.2.8 Thuật toán 3.5: Kiểm tra đồthị G có thuộc lớp K5 hay không? 45 3.3 Cài đặt thử nghiệm: 47 3.3.1 Phát biểu toán 47 3.3.2 Công cụ lựa chọn 47 3.3.3 Xây dựng, phát triển chương trình 47 3.3.4 Giao diện chương trình 51 3.3.5 Thử nghiệm đánh giá 55 3.4 Kết luận: 55 PHẦN KẾT LUẬN 56 TÀI LIỆU THAM KHẢO 57 iii LỜI CAM ĐOAN Tôi xin cam đoan kết nêu luận văn kết tìm hiểu, nghiên cứu hướng dẫn GS.TS: Đặng Quang Á Mọi trích dẫn sử dụng báo cáo ghi rõ nguồn tài liệu tham khảo theo quy định Tác giả Nguyễn Văn Thái iv LỜI CẢM ƠN Trước tiên, xin gửi lời cảm ơn đến tất quý thầy cô giảng dạy chương trình đào tạo Cao học chuyên ngành Khoa học máy tính K11 trường Đại học Công nghệ thông tin truyền thông – Đại học Thái Nguyên tổ chức đào tạo, người truyền đạt cho kiến thức hữu ích làm sở cho thực tốt luận văn Tác giả xin chân thành cảm ơn thầy cô, người tận tình hướng dẫn truyền đạt kinh nghiệm quý báu học tập nghiên cứu tận tình giúp đỡ Đặc biệt xin bày tỏ lòng cảm ơn xâu sắc tới GS.TS Đặng Quang Á, người tận tình hướng dẫn, quan tâm, đóng góp ý kiến cho xuất thời gian thực luận văn Mặc dù trình thực luận văn có giai đoạn không thuận lợi Thầy hướng dẫn, bảo cho nhiều kinh nghiệm thời gian thực luận văn Sau xin gửi lời biết ơn sâu sắc đến gia đình tạo điều kiện tốt cho suốt trình học thực luận văn Do thời gian có hạn kinh nghiệm nghiên cứu khoa học chưa nhiều nên luận văn nhiều thiếu sót, mong nhận ý kiến góp ý Thầy/Cô anh chị học viên Thái Nguyên, tháng năm 2014 Nguyễn Văn Thái v DANH MỤC CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT Ký hiêu Từ viết tắt V Tập đỉnh đồthị E Tập cạnh đồthị G=(V,E) Đồthị G với tập đỉnh V, tập cạnh E |V|, |V(G)| Số đỉnh đồthị |E|, |E(G)| Số đỉnh đồthị deg(v), degG(v) Bậc đỉnh v đồthị G , (G) Bậc nhỏ đỉnh G Kn Đồthị đầy đủ n đỉnh Cn Đồthị vòng n đỉnh Wn Đồthị bánh xe n đỉnh W(G) Số thành phần liên thông G k-liên thông Đồthị có số liên thông k k(G) Chỉ số liên thông đồthị G P Deterministic Polynomial NP Nondeterministic Polynomial NP-C NP-Complete HC Hamilton cycle DC Dominating cycle NTM Nondeterministic Turing Machine DTM Deterministic Turing Machines Phép quy dẫn đa thức K Lớp đồthị đặc biệt K K1, K2, K3, K4, K5 Các đồthị đặc biệt K1, K2, K3, K4, K5 , , …, Diễn giải Hợp s đồthị đầy đủ lạ Hợp s đồthị đầy đủ lạ Kn vi DANH MỤC HÌNH Trang Hình 1.1 Đồthịvôhướng Hình 1.2 Đồthịvôhướng bậc đỉnh Hình 1.3 Một số đồthị đầy đủ Hình 1.4 Đồthị vòng Hình 1.5 Đồthị bánh xe Hình 1.6 Đồthị hai phía Hình 1.7 Đồthị G1 đẳng cấu với G2 Hình 1.8 Đồthị G đồthị G’ Hình 1.9 Đơn đồthị G1, G2 đồthị G = G1 G2 Hình 1.10 Đường đồthị có độ dài 10 Hình 1.11 Đồthị G liên thông, đồthị G’ không liên thông 11 Hình 1.12 Đồthị liên thông G đồthị H gồm thành phần liên thông H1, H2, H3 11 Hình 1.13 Đồthị 4-liên thông 12 Hình 1.14 Đồthị có k(G) = k(H) = 13 Hình 1.15 Đồthị ma trận kề 14 Hình 1.16 Đồthị ma trận trọng số 15 Hình 1.17 Đồthị danh sách cạnh 16 Hình 1.18 Đồthị danh sách kề tương ứng 17 Hình 2.1 Đồthị có đường Hamilton, chutrìnhHamilton 21 Hình 2.2 ĐồthịHamilton 22 Hình 2.3 Đồthị K5 có chutrìnhHamilton (a→b→c→d→e→a) 23 Hình 2.4 Đồthị có đỉnh, đỉnh có bậc ≥ n/2 24 Hình 2.5 Đồthị G gồm đỉnh, cạnh 28 vii Hình 2.6 Cây liệt kê chutrìnhHamilton theo thuật toán quay lui 28 Hình 2.7 Đồthị liệt kê chutrìnhHamilton theo thuật toán quay lui 29 Hình 2.8 Đồthịthịhamilton tối đại G3 30 Hình 3.1 Đồthị có chutrình Hamilton, có nhiều chutrình Dominating 32 Hình 3.2 Đồthịchutrình Hamilton, có mội chutrình Dominating 32 Hình 3.3 Đồthị 2-liên thông với chutrình Dominating dài độ dài 33 Hình 3.4 Đồthị G có chutrình dài (độ dài 6) chutrình Dominating 34 Hình 3.5 Đồthị G G’ xây dựng từ đồthị G 35 Hình 3.6 Đồthị K1 37 Hình 3.7 Đồthị K2 38 Hình 3.8 Đồthị K3 38 Hình 3.9 Đồthị K4 39 Hình 3.10 Đồthị K5 40 Hình 3.11 Giao diện bắt đầu chạy chương trình 51 Hình 3.12 Form nạp lưu đồthị từ tập tin có sẵn chứa ma trận kề đồthị 52 Hình 3.13 Form kết kiểm tra đồthị 52 Hình 3.14 Đồthị không thỏa mãn điều kiện kiểm tra 53 Hình 3.15 Form kiểm tra tính liên thông đồthị 53 Hình 3.16 Form kiểm tra đồthị với số đỉnh lớn 54 Hình 3.17 Form thông tin chương trình 54 MỞ ĐẦU Đặt vấn đề: Lý thuyết đồthị lĩnh vực nghiên cứu từ năm đầu kỷ 18 nhà toán học Leonhard Euler người Thụy sĩ Đồthị sử dụng để giải nhiều toán nhiều lĩnh vực khác nhau, tin học trường hợp cụ thể Trong năm 70 kỷ 20, giới chứng kiến phát triển nhanh chóng rộng lớn lý thuyết đồ thị, số có số lượng đáng kể công trình nghiên cứu cấu trúc chutrìnhđồ thị, đặc biệt chutrìnhHamilton nhiều vấn đề mở Nghiên cứu cấu trúc chutrìnhđồthị giúp giải tốt toán tối ưu đời sống Chẳng hạn, lĩnh vực chế tạo robot thám hiểm, chuyển gửi tín hiệu hình ảnh qua vệ tinh, toán phân tích hệ thống tương tác tiện ích website, Trong số cấu trúc đồthịchutrìnhHamilton đóng vai trò đặc biệt quan trọngĐóchutrình qua tất đỉnh đồ thị, đỉnh lần Bài toán chutrìnhHamilton toán xác định xem liệu đồthị có chứa chutrìnhHamilton không tìm chutrình Bài toán chứng minh NP-C (NP- đầy đủ) Chính không tồn thuật toán đa thức giải nó, để giải toán nhiều thuật toán gần nghiên cứu Một mở rộng chutrìnhHamiltonchutrình trội (Dominating cycle) Bài toán chứng minh NP-C Việc tìm hiểu chutrìnhHamiltonchutrình trội, dấu hiệu nhận biết chúng thuật toán xác định, cải tiến phát triển chúng việc làm có ý nghĩa khoa học thực tiễn Đây mục đích luận văn Mục tiêu luận văn: Đối tượng nghiên cứu luận văn vấn đề cấu trúc chutrình liên quan đến chutrìnhHamiltonchutrình trội đồthị Phạm vi nghiên cứu Luận văn tập trung nghiên cứu kiến thức có liên quan, sở lý thuyết như: Lý thuyết đồthị lý thuyết toán NP-C, chutrìnhHamiltonchutrình trội Nhiệm vụ nghiên cứu - Tìm hiểu kiến thức tổng quan đồthị lý thuyết toán NP-C - Tìm hiểu đồthịHamilton mở rộng - Tìm hiểu thuật toán tìm chutrìnhHamilton - Xây dựng thuật toán đa thức xác định tồn chutrình trội đồthị cho trước - Cài đặt thuật toán Tổ chức luận văn: Luận văn bao gồm phần mở đầu, chương nội dung, phần kết luận, phần phụ lục tài liệu tham khảo Chương I: Một số kiến thức lý thuyết đồthị lý thuyết toán NP-C Chương II: ChutrìnhHamilton Phần đầu tìm hiểu chutrình Hamilton, số thuật toán xác định chutrìnhHamilton Phần cuối tìm hiểu chutrìnhHamilton tối đại, cách xây dựng đồthịHamilton tối đại n đỉnh Chương III: Chutrình trội Phần đầu trình bày hiểu biết chutrình trội đồthịvô hướng, chứng minh toán xác định có tồn chutrình trội đồthị G cho trước NP-C Phần sau trìnhtrình bày thuật toán đa thức xác định tồn chutrình trội đồthịvôhướng lớp đồthị 2-liên thông có (G) ≥ n/3 Tìm hiểu lớp đồthị 2-liên thông Một số hình ảnh thể chương trình demo Phần kết luận: Tóm tắt kết đạt luận văn 44 Bước 1: gán r = Bước 2: Kiểm tra |V| = 15 không? Nếu không K2 Bước 3: Chọn ba đỉnh u, v, w có bậc lớn (deg(u) = deg(v) = deg(w) = max(deg(i)) = k) Nếu k < 12 K2 Bước 4: Tìm đồthị đầy đủ mà đỉnh gồm đỉnh (K3) Nếu K2 Bước 5: Kiểm tra đỉnh đồthị đầy đủ K3 xem có nối với ba đỉnh u, v, w không? Nếu không K2 3.2.6 Thuật toán 3.3: Kiểm tra đồthị có thuộc K3 hay không? Để kiểm tra G có thuộc K3 hay không ta kiểm tra xem G có tập đỉnh S gồm r-1 đỉnh có bậc ≥ 2(r-1) Nếu có, bỏ chúng G phân rã thành r – đồthị đầy đủ mà đồthị có đỉnh đỉnh nối tới r-1 đỉnh thuộc S Các bước thực hiện: Bước 1: gán r = Bước 2: Kiểm tra |V| = 3r không? Nếu không K3 Bước 3: Chọn tập S gồm r – đỉnh ( j Î S|deg(j) = max(deg(i)) = k) Nếu k < 2(r-1) K3 Bước 4: Tìm r-1 đồthị đầy đủ (K2) đồthị đầy đủ K3 Nếu K3 Bước 5: Kiểm tra đỉnh thuộc tập S có nối với đồthị đầy đủ không? Nếu không K3 45 3.2.7 Thuật toán 3.4: Kiểm tra đồthị G có thuộc lớp K4 hay không? Để kiểm tra G có thuộc K4 hay không ta kiểm tra xem G có chứa đỉnh u, v có bậc lớn ≥ 3r cho bỏ đồthị G trở thành đồthị đầy đủ mà đồthị gồm r đỉnh hay không, đỉnh nối với u, v không? Các bước thực hiện: Bước 1: gán r = - Bước 2: Kiểm tra |V| = 3r+2 không? Nếu không K4 Bước 3: Chọn hai đỉnh u, v có bậc lớn (deg(u) = deg(v) = max(deg(i)) = k) Nếu k < 3r K4 Bước 4: Tìm K_(r, r, r) (3 đồthị đầy đủ mà đồthị gồm r đỉnh) Nếu K4 Bước 5: Kiểm tra đỉnh K_(r, r, r) có nối với hai đỉnh u, v không? Nếu không K4 3.2.8 Thuật toán 3.5: Kiểm tra đồthị G có thuộc lớp K5 hay không? Để kiểm tra G có thuộc K5 hay không ta kiểm tra xem G có tập S gồm r đỉnh có bậc ≥ 2(r+1) cho bỏ đỉnh thuộc S đồthị G phân rã thành r+1 đồthị đầy đủ gồm đỉnh hay không, đỉnh nối với đỉnh tập S Các bước thực hiện: Bước 1: gán r = - Bước 2: Kiểm tra |V| = 3r+2 không? Nếu không K5 46 Bước 3: Chọn tập S gồm r đỉnh có bậc lớn ( j Î S|deg(j) = max(deg(i)) = k) Nếu k < 2(r+1) K5 Bước 4: Tìm r+1 đồthị đầy đủ K2 Nếu K5 Bước 5: Kiểm tra đỉnh r+1 đồthị đầy đủ K2 có nối với r đỉnh tập S không? Nếu không K5 Đánh giá độ phức tạp thuật toán: Với việc đồthị tổ chức ma trận kề, độ phức tạp thuật toán xác định sau: Bước 1: Để tính bậc cho đỉnh O(n2) phép toán Bước 2: Sắp xếp dãy bậc đỉnh theo chiều giảm dần bậc đỉnh: độ phức tạp O(n2) kiểm tra (G) O(1) Như bước thời gian O(n2) Bước 3: Kiểm tra đồthị 2-liên thông: Sử dụng thuật toán 2.1 để kiểm tra tính liên thông đồthị O(n2) phép tính Lặp lại n lần việc xóa đỉnh kiểm tra tính liên thông đồthị thu (thuật toán 2.2), toàn bước có độ phức tạp O(n3) Bước 4: Kiểm tra xem đồthị có thuộc lớp đồthị đặc biệt K hay không Để đánh giá độ phức tạp bước 4, ta tiến hành đánh giá độ phức tạp thuật toán 3.1, 3.2, , 3.5 Vì thuật toán tương tự nên ta xét độ phức tạp thuật toán (giả sử chọn thuật toán 3.1) Trong bước bước thuật toán 3.1 O(1) phép tính Bước có độ phức tạp O(r) với r số phần tử thuộc tập S Trong bước 4, đỉnh cần kiểm tra đỉnh kề với xét xem tập đỉnh có tạo nên đồthị đầy đủ hay không Việc kiểm tra có phải đồthị đầy đủ hay không O(n2) phép tính Do bước O(n3) phép toán Bước O(n2) phép toán Như 47 thuật toán 3.1 có độ phức tạp O(n3) để kiểm tra đồthị có thuộc vào lớp đồthị K1 hay không Tóm lại thuật toán xác định tồn chutrình trội lớp đồthị 2-liên thông thỏa ≥ O(n3), độ phức tạp thời gian đa thức Như ta thấy toán xác định tồn chutrình trội đồthị G thuộc lớp NP-C, toán toán xác định tồn chutrình trội lớp đồthị 2-liên thông thỏa ≥ lại thuộc lớp P có độ phức tạp tính toán thời gian đa thức 3.3 Cài đặt thử nghiệm: 3.3.1 Phát biểu toán Cho trước đồthịvôhướng G Hãy kiểm tra xem G có phải lớp đồthị 2- liên thông thỏa mãn (G) ≥ hay không, G có tồn chutrình trội hay không? 3.3.2 Công cụ lựa chọn Việc lựa chọn ngôn ngữ lập trình cho nội dung toán vấn đề quan trọng ngôn ngữ lập trình có ưu điểm nhược điểm định Để hoàn thành ứng dụng chương trình Demo viết ngôn ngữ lập trình C# Visual Studio 2010, chương trình chạy hệ điều hành Windows XP, Vista, Windows7 3.3.3 Xây dựng, phát triển chương trình Luận văn sử dụng phương pháp dùng ma trận kề để biểu diễn đồthị máy tính Chương trình gồm lớp Form hiển thị kết thu Ngoài chương trình sử dụng số class, phương thức nhằm bổ trợ cho việc thể thuật toán 48 3.3.3.1 Lớp MyFile.class Trong lớp Myfile.class ta sử dụng phương thức public static int[][] readFile(String filename) để đọc ma trận kề phương thức public static void saveFile(String filename, int[][] matran) để lưu ma trận vào máy tính 3.3.3.2 Lớp MaTran.class Trên lớp Matran.class thực chức như: Tính bậc đỉnh, xếp bậc đỉnh theo chiều giảm dần, kiểm tra tính liên thông đồ thị, kiểm tra đồthị có phải đồthị 2-liên thông Để duyệt đồ thị, chương trình sử dụng thuật toán duyệt theo chiều sâu (DFS) 3.3.3.3 Lớp DoThi.class Trên lớp Dothi.class chủ yếu thực chức kiểm tra đồthị có phải đồthị đầy đủ không? Kiểm tra xem đồthị có thuộc lớp đồthị đặc biệt K (K1, K2, K3, K4, K5) hay không Phương thức isDominating nhằm đưa kết luận xem đồthị có thuộc lớp đồthị đặc biệt K, hay có chutrình trội hay không Sau đoạn chương trình kiểm tra đồthị có thuộc lớp K1 hay không (các lớp lại tương tự) public static bool kiemTraK1(MaTran m) { int[] fix = new int[m.nMaTran]; int r = m.dsDinh[m.nMaTran - 1].bac; //Bước 1: kiểm tra |V|=3r if (m.nMaTran != * r) return false; // Bước 2: chọn đỉnh u, v có bậc lớn kiểm tra deg(u)=deg(v)[...]... Chutrình bắt đầu từ một đỉnh v nào đó qua tất cả các đỉnh còn lại mỗi đỉnh đúng một lần rồi quay trở về v được gọi là chutrìnhHamilton 22 Định nghĩa 2.3 Đồthị G được gọi là đồthịHamilton nếu nó chứa chutrìnhHamilton và gọi là đồthị nửa Hamilton nếu nó có đường đi Hamilton Rõ ràng đồthịHamilton là nửa Hamilton, nhưng điều ngược lại không còn đúng Ví dụ về đồthị Hamilton: Hình 2.2 Đồthị Hamilton. .. lớp đồthị đặc biệt, đó là đồthịHamilton 2.1 Chutrình Hamilton: Định nghĩa, tính chất và các điều kiện đủ 2.1.1 Một số khái niệm Định nghĩa 2.1 Trongđồthị G = (V,E) đường đi qua tất cả các đỉnh của đồthị mỗi đỉnh đúng một lần được gọi là đường đi Hamilton Ví dụ: Đồthị có đường đi Hamilton là a b c d a b d c Hình 2.1 Đồthị có đường đi Hamilton, không có chutrìnhHamilton Định nghĩa 2.2 Chu. .. tất cả các chutrìnhHamilton (nếu có) của đồthị G Ví dụ: Cho đồthịĐồthịvôhướng G gồm 5 đỉnh và 6 cạnh 5 1 6 2 1 3 1 5 2 4 3 28 1 4 2 4 2 5 3 5 Hình 2.5 Đồthị G gồm 5 đỉnh, 6 cạnh ChutrìnhHamilton thu được: 135241; 142531 1 3 2 5 5 4 1 3 4 2 5 2 4 1 1 3 1 Hình 2.6 Cây liệt kê chutrìnhHamilton theo thuật toán quay lui 29 Ví dụ 2 Hình 2.7 Đồthị và cây liệt kê chutrìnhHamilton của... thuyết đồthị như: Khái niệm đồ thị, đồthị đầy đủ, đồthị liên thông, cách biểu diễn đồthị trên máy tính Mặt khác chúng ta cũng đã tìm hiểu các kiến thức cơ bản về thời gian tính, phép quy dẫn đa thức, lớp các bài toán P, NP và NP-C Trong chương tiếp theo chúng ta sẽ tập chung tìm hiểu về chutrình Hamilton, thuật toán xác định chutrìnhHamilton và đồthịHamilton tối đại cùng thuật toán xây dựng đồ thị. .. liền kề của nó nằm trên một chutrìnhHamiltonthì các cạnh còn lại của nó không nằm trên chutrìnhHamiltonđó Một số điều kiện đủ về sự tồn tại đường đi Hamilton và chutrìnhHamilton Định lý 2.2 (Định lý Rédei) [2] Đồthị đầy đủ vôhướng Kn với n ≥ 3 là đồthịHamilton Chứng minh: Chúng ta có thể xây dựng chutrìnhHamiltontrong Kn xuất phát từ bất kỳ đỉnh nào Một chutrình như thế có thể xây dựng... nghĩa 1.18 Chutrình đơn: là một chutrình mà đường đi của nó không có cạnh nào lặp lại 11 Định nghĩa 1.19 Trong một đồthị G, chutrình có độ dài lớn nhất gọi là chutrình dài nhất 1.1.2.3 Đồthị liên thông – chỉ số liên thông Định nghĩa 1.20 (Đồ thị liên thông) Một đồthịvôhướng được gọi là liên thông nếu có đường đi giữa mọi cặp đỉnh phân biệt của đồthị - Đồthịvôhướng G = (V,E) được gọi là liên... (V,E) là đồthị G’ = (V’,E’) trongđó V’ Í V và E’ Í E Ký hiệu G’ Í G a a e e b d d c c Hình 1.8 Đồthị G và đồthị con G’ Định nghĩa 1.13 Hợp của hai đồthị G1 = (V1,E1) và G2 = (V2,E2) là một đơn đồthị có tập các đỉnh là V1 V2 và tập các cạnh E1 E2 Ta ký hiệu hợp của các đồthị G1 và G2 là G = G1 G2 G2 G1 G= G1 G2 Hình 1.9 Đơn đồthị G1, G2 và đồthị G = G1 G2 Định nghĩa 1.14 Cho đồthị G... có là Hamilton hay không, và vấn đề này vẫn còn là một vấn đề mở Hiện tại mới chỉ có các điều kiện đủ để một đồthị là đồthịHamilton hay có đường đi Hamilton 2.1.2 Một số tính chất của đồthịHamilton Định lý 2.1 [16]: Giả sử G là đồthịHamilton Khi đó: 23 a) Mọi đỉnh của đồthị G phải có bậc không nhỏ hơn 2 b) Nếu một đỉnh có bậc bằng 2 thì hai cạnh của nó phải nằm trên bất kỳ một chutrình Hamilton. .. đỉnh của đồthị Quy ước A[i,i] = 0 với i; Ví dụ: Cho đồthịvôhướng như hình vẽ v1 v2 v3 v4 v5 v1 v5 v2 v4 v3 Ma trận kề v1 0 0 1 1 0 v2 0 0 0 1 1 v3 1 0 0 0 v4 1 1 0 0 0 v5 0 1 1 0 0 Hình 1.15 Đồthị và ma trận kề - Đối với đồthịvôhướng G, thì ma trận kề là ma trận đối xứng (A[i,j]=A[j,i]) - Nếu G là đồthịvôhướng và A là ma trận kề tương ứng thì trên ma trận A: Tổng các số trên hàng i = Tổng các... c Hình 2.3 Đồthị K5 có chutrìnhHamilton (a→b→c→d→e→a) Định lý 2.3 (Định lý Dirac [5]): Giả sử G là một đơn đồthị liên thông có n đỉnh, trongđó n ≥ 3, khi đó G có chutrìnhHamilton nếu bậc của mỗi đỉnh ít nhất bằng n/2 24 Chứng minh: Thêm vào đồthị G k đỉnh mới và nối chúng với tất cả các đỉnh của G Giả sử k là số nhỏ nhất các đỉnh cần thêm vào để cho đồthị thu được G’ là đồthịHamilton Ta ... quay trở v gọi chu trình Hamilton 22 Định nghĩa 2.3 Đồ thị G gọi đồ thị Hamilton chứa chu trình Hamilton gọi đồ thị nửa Hamilton có đường Hamilton Rõ ràng đồ thị Hamilton nửa Hamilton, điều ngược... Trong số cấu trúc đồ thị chu trình Hamilton đóng vai trò đặc biệt quan trọng Đó chu trình qua tất đỉnh đồ thị, đỉnh lần Bài toán chu trình Hamilton toán xác định xem liệu đồ thị có chứa chu trình. .. Hình 1.18 Đồ thị danh sách kề tương ứng 17 Hình 2.1 Đồ thị có đường Hamilton, chu trình Hamilton 21 Hình 2.2 Đồ thị Hamilton 22 Hình 2.3 Đồ thị K5 có chu trình Hamilton (a→b→c→d→e→a)