Lớp đồ thị thỏa mãn (G) được khảo sát trong mối liên hệ với các chu trình dài nhất của chúng. Trong [9] đã đưa ra các kết quả trong lớp đồ thị
2-liên thông thỏa mãn (G)
Định lý 3.4. [10] Nếu G là đồ thị 2-liên thông với (G) và C là một chu trình dài nhất tùy ý của G thì G - C hoặc là đồ thị không chứa cạnh nào cả, hoặc là đồ thị đầy đủ.
Định lý 3.5. [10] Cho G là đồ thị 2-liên thông với (G) . Khi đó các mệnh đề sau là tương đương:
a) G là đồ thị trội
b) Mọi chu trình dài nhất của G đều là chu trình trội c) GK với K là tập các đồ thị đặc biệt.
Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
Cho số tự nhiên s ≥ 2 và n1, n2,...,ns ≥ 1, thì ký hiệu là hợp của s đồ thị đầy đủ lạ nhau , ,..., . Trong trường hợp n1=n2=...=ns=n
ta viết thay cho .
Lớp K là hợp của lớp các đồ thị K1, K2, K3, K4, K5 Trong đó:
K1 là lớp đồ thị 3r đỉnh (với r = ≥ 3), lớp đồ thị này đẳng cấu với đồ thị G thỏa mãn:
Ví dụ:
Hình 3.6. Đồ thị K1
K2 là lớp đồ thị 15 đỉnh và có ≥ 5, lớp đồ thị này đẳng cấu với đồ thị
G thỏa mãn: Ví dụ:
Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
Hình 3.7. Đồ thị K2
K3 là lớp đồ thị 3r đỉnh và có bậc nhỏ nhất = r ≥ 3, lớp đồ thị này đẳng cấu với đồ thị G thỏa mãn:
Ví dụ:
Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
K4 là lớp đồ thị 3r +2 đỉnh và có bậc nhỏ nhất = r +1 ≥ 3, lớp đồ thị này đẳng cấu với đồ thị G thỏa mãn:
Ví dụ:
Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
K5 là lớp đồ thị 3r +2 đỉnh và có bậc nhỏ nhất = r +1 ≥ 3, lớp đồ thị này đẳng cấu với đồ thị G thỏa mãn:
Ví dụ:
Hình 3.10. Đồ thị K5
3.2. Thuật toán xác định chu trình trội
Như đã chứng minh ở phần trên, bài toán DC là bài toán NP-C, chính vì vậy mà không tồn tại thuật toán đơn định với thời gian đa thức để giải quyết bài toán. Dưới đây luận văn đi sâu vào nghiên cứu thuật toán xác định có tồn tại của chu trình trội trong lớp đồ thị con là đồ thị 2-liên thông thỏa mãn bậc nhỏ nhất (G) . Cụ thể ta sẽ dựa vào định lý 3.5.
Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
Như vậy dựa vào định lý 3.5 ta thấy việc nhận biết sự tồn tại của chu trình trội trong đồ thị G cho trước là dễ dàng vì ta chỉ cần chỉ ra rằng G là đồ thị 2-liên thông có bậcnhỏ nhất (G) và đồ thị G này không thuộc lớp đồ thị đặc biệt K.
Phát biểu bài toán:
Input: Đồ thị G.
Output: - G có phải là đồ thị 2-liên thông? (G) - G có chu trình trội hay không?
3.2.1. Thuật toán: (Xác định đồ thị G có chu trình trội hay không?)
Bước 1: Tính bậc cho mỗi đỉnh
Bước 2: Sắp xếp bậc của đỉnh theo chiều giảm dần. Gán max = bậc lớn nhất của các đỉnh và = bậc nhỏ nhất của các đỉnh. Kiểm tra hay không? Nếu không thì G không thỏa mãn lớp đồ thị cần kiểm tra
Bước 3: Kiểm tra G có phải là đồ thị 2-liên thông. Nếu G không là 2- liên thông thì G không thuộc lớp đồ thị cần kiểm tra.
Bước 4: Kiểm tra G có thuộc lớp đồ thị đặc biệt K không? Nếu không thuộc thì kết luận G chứa chu trình trội, ngược lại kết luận G không chứa chu trình trội.
Theo thuật toán, ta thấy việc thực hiện bước 1, bước 2 là hết sức dễ dàng nếu đồ thị được lưu dước dạng ma trận kề, khi đó ta chỉ cần tính tổng dòng (hoặc tổng cột) ta sẽ thu được bậc của từng đỉnh của đồ thị
Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
Trong bước 3, ta thấy đồ thị G là đồ thị 2-liên thông nếu G là đồ thị liên thông và khi xóa đi một đỉnh tùy ý thì đồ thị thu được vẫn liên thông. Sau đó ta áp dụng lại thuật toán để kiểm tra tính liên thông cho đồ thị mới thu được.
Như vậy để thực hiện bước 3, ta thực hiện thuật toán theo 2 thuật toán sau: