Trang 2 TRƯỜNG ĐẠI HỌC QUY NHƠNNGUYỄN PHẠM THANH ĐỊNHMỘT SỐ VẤN ĐỀ VỀ ĐỒ THỊ EULER,ĐỒ THỊ HAMILTON VÀ ỨNG DỤNGĐỀ ÁN THẠC SĨ PHƯƠNG PHÁP TỐN SƠ CẤPNgành : Phương pháp Tốn sơ cấpMã số: 846
Định nghĩa đồ thị
Định nghĩa 1.1.1. Đơn đồ thị vô hướng là một cặp G = (V, E ) bao gồm V là tập các đỉnh, và E là tập các cặp không có thứ tự gồm hai phần tử khác nhau của V gọi là các cạnh. Đa đồ thị vô hướng G = (V, E) bao gồm V là tập các đỉnh, và E là họ các cặp không có thứ tự gồm hai phần tử khác nhau của V gọi là các cạnh Hai cạnh e 1 và e 2 được gọi là cạnh lặp nếu chúng cùng tương ứng với một cặp đỉnh.
Rõ ràng mỗi đơn đồ thị đều là đa đồ thị, nhưng không phải đa đồ thị nào cũng
Hình 1.1: Ví dụ đơn đồ thị vô hướng và đa đồ thị vô hướng là đơn đồ thị, vì trong đa đồ thị có thể có hai (hoặc nhiều hơn) cạnh nối một cặp đỉnh nào đó. Định nghĩa 1.1.2 Đơn đồ thị có hướng G = (V, E) bao gồm V là tập các đỉnh, và E là tập các cặp có thứ tự gồm hai phần tử khác nhau của V gọi là các cung (cạnh có hướng). Đa đồ thị có hướng G = (V, E) bao gồm V là tập các đỉnh, và E là họ các cặp có thứ tự gồm hai phần tử khác nhau của V gọi là các cung Hai cung e 1 , e 2 tương ứng với cùng một cặp đỉnh được gọi là cung lặp.
Hình 1.2: Ví dụ đơn đồ thị có hướng và đa đồ thị có hướng
Trong các phần tiếp theo chủ yếu chúng ta sẽ làm việc với đơn đồ thị vô hướng và đơn đồ thị có hướng Vì vậy, để cho ngắn gọn, ta sẽ bỏ qua tính từ đơn khi nhắc đến chúng.
Các thuật ngữ cơ bản
Trong mục này chúng ta sẽ trình bày một số thuật ngữ cơ bản của lý thuyết đồ thị Trước tiên, ta xét các thuật ngữ mô tả các đỉnh và cạnh của đồ thị vô hướng. Định nghĩa 1.2.1 Hai cạnh (cung) a, b được gọi là kề nhau, nếu:
(ii) Chúng có đỉnh chung (nếu a, b là cung, thì không phụ thuộc vào đỉnh chung đó là đỉnh đầu hay đỉnh cuối của cung a, đỉnh đầu hay đỉnh cuối của cung b). Định nghĩa 1.2.2 Hai đỉnh u và v của đồ thị vô hướng G được gọi là kề nhau nếu (u, v) là cạnh của đồ thị G Nếu e = (u, v) là cạnh của đồ thị thì ta nói cạnh này là liên thuộc với hai đỉnh u và v, hoăc cũng nói là cạnh e là nối đỉnh u và đỉnh v, đồng thời các đỉnh u và v sẽ được gọi là các đỉnh đầu mút của cạnh (u, v). Để đặc trưng cho số cạnh liên thuộc với một đỉnh, người ta đưa vào định nghĩa sau đây. Định nghĩa 1.2.3 Ta gọi bậc của đỉnh v trong đồ thị vô hướng là số cạnh liên thuộc với nó và sẽ ký hiệu là deg(v).
Ví dụ 1.2.4 ([3]) Xét đồ thị cho trong hình 1.3 , ta có deg(a) = 1, deg(b) = 4, deg(c) = 4, deg(f) = 3,deg(d) = 1, deg(e) = 3, deg(g) = 0. a f d c g e b
Hình 1.3: Đồ thị vô hướng G Đỉnh bậc 0gọi là đỉnh cô lập Đỉnh bậc1được gọi là đỉnh treo Trong ví dụ trên đỉnh g là đỉnh cô lập, a và d là các đỉnh treo Kết quả sau đây cho ta mối liên hệ giữa dãy bậc đỉnh và số cạnh của đồ thị. Định lý 1.2.5 ([3]) Giả sử G = (V, E) là đồ thị vô hướng với m cạnh Khi đó
Chứng minh Rõ ràng mỗi cạnh e = (u, v) được tính một lần trong deg(u) và một lần trong deg(v) Từ đó suy ra tổng tất cả các bậc của các đỉnh bằng hai lần số cạnh.
Ví dụ 1.2.6 ([3]) Đồ thị với n đỉnh và mỗi đỉnh có bậc là 6 có bao nhiêu cạnh? Giải Theo định lý 1.2.5 , ta có 2m = 6n Từ đó suy ra số cạnh của đồ thị là 3n.
Hệ quả 1.2.7 ([3]) Trong đồ thị vô hướng, số đỉnh bậc lẻ là một số chẵn.
Chứng minh Giả sử đồ thị (đa đồ thị) G = (V, E) có n đỉnh, m cạnh
Các đỉnh x 1 , x 2 , , x k bậc lẻ và x k+1 , , x n−1 , x n bậc chẵn Theo định lý 1.2.5 ta có đẳng thức: m (x 1 ) + m (x 2 ) + + m (x k )
Vì B là tổng của các số chẵn nên B là một số chẵn Do đó, A = 2m − B phải là một số chẵn.
Số chẵn A là tổng của k số lẻ, nênk phải chẵn Bởi vậy, số đỉnh bậc lẻ trong đồ thị (đa đồ thị) bất kỳ phải là một số chẵn.
Ta xét các thuật ngữ tương tự cho đồ thị có hướng. Định nghĩa 1.2.8 Nếu e = (u, v) là cung của đồ thị có hướng G thì ta nói hai đỉnh u và v là kề nhau, và nói cung (u, v) nối đỉnh u với đỉnh v hoặc cũng nói cung này là đi ra khỏi đỉnh u và đi vào đỉnh v Đỉnh u (tương ứng v) được gọi là đỉnh đầu (cuối) của cung (u, v).
Tương tự như khái niệm bậc, đối với đồ thị có hướng ta có khái niệm bán bậc ra (vào) của một đỉnh. Định nghĩa 1.2.9 Ta gọi bán bậc ra (bán bậc vào) của của đỉnhv trong đồ thị có hướng là số cung của đồ thị đi ra khỏi nó (đi vào nó) và ký hiệu là deg + (v) (tương ứng deg − (v)).
Ví dụ 1.2.10 ([3]) Xét đồ thị cho trong hình 1.4 Ta có deg(A) = 2, deg(B) = 3, deg − (C) = 1, deg(D) = 2, deg − (E) = 2. deg + (A) = 3, deg + (B ) = 2, deg + (C) = 2, deg + (D) = 2, deg + (E) = 1.
Hình 1.4: Đồ thị có hướng G
Do mỗi cung(u, v)sẽ được tính một lần trong bán bậc vào của đỉnh v và một lần trong bán bậc ra của đỉnh u nên sử dụng phương pháp đếm tương tự như trường hợp vô hướng ta đi đến kết quả sau. Định lý 1.2.11 ([3]) Giả sử G = (V, E) là đồ thị có hướng Khi đó
Rất nhiều tính chất của đồ thị có hướng không phụ thuộc vào hướng trên các cung của nó Vì vậy, trong nhiều trường hợp sẽ thuận tiện hơn nếu ta bỏ qua hướng trên các cung của đồ thị Đồ thị vô hướng thu được bằng cách bỏ qua hướng trên các cung được gọi là đồ thị vô hướng nền tương ứng với đồ thị có hướng đã cho.
Đường đi, chu trình Đồ thị liên thông
Định nghĩa 1.3.1 Cho đơn đồ thị G = (V, E) Đường đi trong G là một dãy hữu hạn hoặc vô hạn các cạnh ((v i,1 , v i,2 )) i=1, ,n trong đó v i,2 = v i+1,1 với mọi i Độ dài của đường đi hữu hạn là số cạnh trong dãy. Đường đi độ dài n + 1 từ v 1,1 đến v n,2 là dãy
(v 1,1 , v 2,1 , , v n,1 , v n,2 ) = (v 1,1 , v 1,2 , v 2,2 , , v n,2 ) Đường đi được gọi là khép kín (chu trình) nếu v 1,1 = v n,2
Ví dụ 1.3.2 ([3]) Xét đồ thị vô hướng cho trong hình 1.5 : a f d c e b a f d c e b
Hình 1.5: Đường đi trên đồ thị
Ta có: a, d, c, f, e là đường đi đơn độ dài 4 Còn d, e, c, a không là đường đi, do (e, c) không phải là cạnh của đồ thị Dãy b, c, f, e, b là chu trình độ dài 4 Đường đi a, b, e, d, a, b có độ dài là 5 không phải là đường đi đơn, do cạnh (a, b) có mặt trong nó hai lần.
Khái niệm đường đi và chu trình trên đồ thị có hướng được định nghĩa hoàn toàn tương tự như trường hợp đồ thị vô hướng chỉ khác là ta có chú ý đến hướng trên các cung. Định nghĩa 1.3.3 Cho đa đồ thị G = (V, E) Đường đi trong G là một dãy hữu hạn hoặc vô hạn các cạnh ((v i,1 , v i,2 )) i=1, ,n trong đó v i,2 = v i+1,1 với mọi i Độ dài của đường đi hữu hạn là số cạnh trong dãy. Đường đi độ dài n + 1 từ v 1,1 đến v n,2 là dãy
(v 1,1 , v 1,2 , , v n,1 , v n,2 ) = (v 1,1 , v 1,2 , v 2,2 , , v n,2 ) Đường đi được gọi là khép kín (chu trình) nếu v 1,1 = v n,2
Ví dụ 1.3.4 ([3]) Trên đồ thị có hướng cho trong hình 1.5 a, d, c, f, e là đường đi đơn độ dài 4 Còn d, e, c, a không là đường đi, do (e, c) không phải là cung của đồ thị Dãy b, c, f, e, blà chu trình độ dài 4 Đường đi a, b, e, d, a, b ˙ có độ dài là 5 không phải là đường đi đơn, do cung (a, b) có mặt trong nó hai lần.
Sử dụng khái niệm đường đi, người ta định nghĩa tính liên thông của các đồ thị như sau đây. Định nghĩa 1.3.5 Đồ thị vô hướng G = (V, E) được gọi là liên thông nếu luôn tìm được đường đi giữa hai đỉnh bất kỳ của nó.
Ví dụ 1.3.6 ([3]) Trong hình 1.6: Đồ thị G là liên thông, còn đồ thị H là không liên thông. a f d c e b g
Hình 1.6: Đồ thị liên thông G và đồ thị H gồm 3 thành phần liên thông H 1 , H 2 , H 3 Định nghĩa 1.3.7 Ta gọi đồ thị con của đồ thị G = (V, E) là đồ thị H = (W, F ), trong đó W ⊆ V và F ⊆ E.
Trong trường hợp đồ thị là không liên thông, nó sẽ rã ra thành một số đồ thị con liên thông đôi một không có đỉnh chung Những đồ thị con liên thông như vậy ta sẽ gọi là các thành phần liên thông của đồ thị.
Ví dụ 1.3.8 ([3]) Đồ thị Htrong hình 1.6 gồm 3 thành phần liên thôngH 1 , H 2 , H 3 Định nghĩa 1.3.9 Đỉnh v được gọi là đỉnh rẽ nhánh nếu việc loại bỏ v cùng với các cạnh liên thuộc với nó khỏi đồ thị làm tăng số thành phần liên thông của đồ thị Cạnhe được gọi là cầu nếu việc loại bỏ nó khỏi đồ thị làm tăng số thành phần liên thông của đồ thị.
Ví dụ 1.3.10 ([3]) Trong đồ thị G ở hình 1.6, đỉnh d và e là đỉnh rẽ nhánh, còn các cạnh (d, g) và (e, f) là cầu. Đối với đồ thị có hướng có hai khái niệm liên thông phụ thuộc vào việc ta có xét đến hướng trên các cung hay không. Định nghĩa 1.3.11 Đồ thị có hướng G = (V, A) được gọi là liên thông mạnh nếu luôn tìm được đường đi giữa hai đỉnh bất kỳ của nó. Định nghĩa 1.3.12 Đồ thị có hướng G = (V, A)được gọi là liên thông yếu nếu đồ thị vô hướng tương ứng với nó là đồ thị vô hướng liên thông.
Rõ ràng nếu đồ thị là liên thông mạnh thì nó cũng là liên thông yếu, nhưng điều ngược lại là không luôn đúng, như chỉ ra trong ví dụ dưới đây.
Ví dụ 1.3.13 ([3]) Trong hình 1.7 đồ thị G là liên thông mạnh, còn H là liên thông yếu nhưng không là liên thông mạnh.
Một câu hỏi đặt ra là khi nào có thể định hướng các cạnh của một đồ thị vô hướng liên thông để có thể thu được đồ thị có hướng liên thông mạnh? Ta sẽ gọi đồ thị như vậy là đồ thị định hướng được Định lý dưới đây cho ta tiêu chuẩn nhận biết một đồ thị có là định hướng được hay không.
Hình 1.7: Đồ thị liên thông mạnh G và đồ thị liên thông yếu H Định lý 1.3.14 ([3]) Đồ thị vô hướng liên thông là định hướng được khi và chỉ khi mỗi cạnh của nó nằm trên ít nhất một chu trình.
Chứng minh Điều kiện cần: Giả sử (u, v) là một cạnh của đồ thị Từ sự tồn tại đường đi có hướng từ u đến v và ngược lại suy ra (u, v) phải nằm trên ít nhất một chu trình. Điều kiện đủ: Thủ tục sau đây cho phép định hướng các cạnh của đồ thị để thu được đồ thị có hướng liên thông mạnh Giả sử C là một chu trình nào đó trong đồ thị Định hướng các cạnh trên chu trình này theo một hướng đi vòng theo nó Nếu tất cả các cạnh của đồ thị là đã được định hướng thì kết thúc thủ tục Ngược lại, chọn e là một cạnh chưa định hướng có chung đỉnh với ít nhất một trong số các cạnh đã định hướng Theo giả thiết tìm được chu trình
C ′ chứa cạnh e Định hướng các cạnh chưa được định hướng của C ′ theo một hướng dọc theo chu trình này (không định hướng lại các cạnh đã có hướng).Thủ tục trên sẽ được lặp lại cho đến khi tất cả các cạnh của đồ thị được định hướng Khi đó ta thu được đồ thị có hướng liên thông mạnh.
Một số dạng đồ thị đặc biệt
Đồ thị đầy đủ
Hình 1.8: Đồ thị đầy đủ Định nghĩa 1.4.1 Đồ thị đầy đủ n đỉnh, ký hiệu bởi K n , là đơn đồ thị vô hướng mà giữa hai đỉnh bất kỳ của nó luôn có cạnh nối.
Các đồ thị K 3 , K 4 , K 5 cho trong hình 1.8 dưới đây. Đồ thị đầy đủ K n có tất cả n(n − 1)/2cạnh, nó là đơn đồ thị có nhiều cạnh nhất.
Đồ thị vòng
Định nghĩa 1.4.2 Đồ thị vòng C n , n ≥ 3, gồm n đỉnh v 1 , v 2 , , v n và các cạnh
(v 1 , v 2 ) , (v 2 , v 3 ) , , (v n−1 , v n ) , (v n , v 1 ). Đồ thị vòng C 3 , C 4 , C 5 , C 6 cho trong hình 1.9
Đồ thị bánh xe
Định nghĩa 1.4.3 Đồ thị W n thu được từ C n bằng cách bổ sung vào một đỉnh mới nối với tất cả các đỉnh của C n (xem hình 1.10).
Hình 1.10: Đồ thị bánh xe W 4 , W 5 , W 6 , W 7 , W 8 , W 9
Đồ thị lập phương
Định nghĩa 1.4.4 Đồ thị lập phương n đỉnh Q n là đồ thị với các đỉnh biểu diễn
2 n xâu nhị phân độ dài n Hai đỉnh của nó là kề nhau nếu như hai xâu nhị phân tương ứng chỉ khác nhau 1 bit.
Hình 1.11 và 1.12 cho thấy Q n , với n = 0, 1, 2, 3, 4.
Hình 1.11: Đồ thị bánh xe Q 0 , Q 1 , Q 2
Hình 1.12: Đồ thị bánh xe Q 3 , Q 4
Đồ thị hai phía
Định nghĩa 1.4.5 Đơn đồ thị G = (V, E) được gọi là hai phía nếu như tập đỉnh
V của nó có thể phân hoạch thành hai tập X và Y sao cho mỗi cạnh của đồ thị chỉ nối một đỉnh nào đó trong X với một đỉnh nào đó trong Y Khi đó ta sẽ sử dụng ký hiệu G = (X ∪ Y, E) để chỉ đồ thị hai phía với tập đỉnh X ∪ Y.
Hình 1.13: Đồ thị hai phía Định lý sau đây cho phép nhận biết một đơn đồ thị có phải là hai phía hay không. Định lý 1.4.6 ([3]) Đơn đồ thị là đồ thị hai phía khi và chỉ khi nó không chứa chu trình độ dài lẻ. Để kiểm tra xem một đồ thị liên thông có phải là hai phía hay không có thể áp dụng thủ tục sau Chọnv là một đỉnh bất kỳ của đồ thị ĐặtX = {v}, còn Y là tập các đỉnh kề của v Khi đó các đỉnh kề của các đỉnh trong Y phải thuộc vào X, ký hiệu tập các đỉnh như vậy là T Vì thế nếu phát hiện T ∩ Y ̸=∅ thì đồ thị không phải là hai phía, kết thúc Ngược lại, đặt X = X ∪ T Tiếp tục xét như vậy đối với
T ′ là tập các đỉnh kề của T, Đồ thị hai phía G = (X ∪ Y, E) với |X| = m, |Y | = n được gọi là đồ thị hai phía đầy đủ và ký hiệu là K m,n nếu mỗi đỉnh trong tập X được nối với mỗi đỉnh trong
Y Các đồ thị K 2,3 , K 3,3 , K 3,4 được cho trong hình 1.13.
Đồ thị phẳng
Định nghĩa 1.4.7 Đồ thị được gọi là đồ thị phẳng nếu ta có thể vẽ nó trên mặt phẳng sao cho các cạnh của nó không cắt nhau ngoài ở đỉnh Cách vẽ như vậy sẽ được gọi là biểu diễn phẳng của đồ thị.
Hình 1.14: Đồ thị K 4 là đồ thị phẳng
Ví dụ đồ thị K 4 (hình 1.14) là phẳng, vì có thể vẽ nó trên mặt phẳng sao cho các cạnh của nó không cắt nhau ngoài ở đỉnh. Để nhận biết xem một đồ thị có phải là đồ thị phẳng hay không người ta có thể sử dụng định lý Kuratovski, mà để phát biểu nó ta cần thêm một số khái niệm. Một phép chia cạnh (u, v) của đồ thị là việc loại bỏ cạnh này khỏi đồ thị và thêm vào đồ thị một đỉnh mới w cùng với hai cạnh (u, w), (w, u) Hai đồ thị G = (V, E) và H = (W, F ) được gọi là đồng cấu nếu chúng có thể thu được từ cùng một đồ thị nào đó nhờ các phép chia cạnh. Định lý 1.4.8 (Kuratovski,[3]) Đồ thị là phẳng khi và chỉ khi nó không chứa đồ thị con đồng cấu với K 3,3 hoặc K 5
Trong trường hợp riêng, đồ thị K 3,3 và K 5 không phải là đồ thị phẳng Bài toán về tính phẳng của đồ thịK 3,3 là bài toán đố nổi tiếng về ba căn hộ và ba hệ thống cung cấp năng lượng cho chúng: Cần xây dựng hệ thống đường cung cấp điện, hơi đốt và nước cho ba căn hộ, nối mỗi một trong ba nguồn cung cấp năng lượng với mỗi một căn hộ nói trên sao cho chúng không cắt nhau. Đồ thị phẳng còn tìm được những ứng dụng quan trọng trong công nghệ chế tạo mạch in Biểu diễn phẳng của đồ thị sẽ chia mặt phẳng ra thành các miền, trong đó có thể có cả miền không bị chặn Ví dụ, biểu diễn phẳng của đồ thị cho trong hình 1.15 chia mặt phẳng ra thành 6 miền R 1 , R 2 , , R 6
Hình 1.15: Các miền tương ứng biểu diễn của đồ thị
Euler đã chứng minh được rằng các cách biểu diễn phẳng khác nhau của một đồ thị đều chia mặt phẳng ra thành cùng một số miền Để chứng minh điều đó, Euler đã tìm được mối liên hệ giữa số miền, số đỉnh của đồ thị và số cạnh của đồ thị phẳng sau đây. Định lý 1.4.9 (Công thức Euler,[3]) Giả sử G là đồ thị phẳng liên thông với v đỉnh, e cạnh Gọi f là số miền của mặt phẳng bị chia bởi biểu diễn phẳng của G. Khi đó f = e − v + 2
Có thể chứng minh định lý bằng qui nạp (Bài toán 1.5.1) Xét ví dụ minh hoạ cho áp dụng công thức Euler.
Ví dụ 1.4.10 Cho G là đồ thị phẳng liên thông với 20 đỉnh, mỗi đỉnh đều có bậc là 3 Hỏi mặt phẳng bị chia làm bao nhiêu phần bởi biểu diễn phẳng của đồ thị G? Giải Do mỗi đỉnh của đồ thị đều có bậc là 3 , nên tổng bậc của các đỉnh là
3 × 20 = 60 Từ đó suy ra số cạnh của đồ thị e = 60/2 = 30 Vì vậy, theo công thức Euler, số miền cần tìm là f = 30 − 20 + 2 = 12.
Một số bài toán liên quan đến đồ thị phẳng
Sau đây là một số bài toán được trích từ [6] và sưu tầm.
Bài toán 1.5.1 Hãy chứng minh Công thức Euler trong Định lý 1.4.9.
Chứng minh Ta chứng minh định lý này qui nạp theo f.
Nếu f = 1, thì G không chứa chu trình Suy ra, Glà cây vì nó liên thông Từ đó suy ra Định lý 1.4.9 cũng đúng trong trường hợp này.
Bây giờ giả sử đồ thị phẳng liên thông G có số miền f > 1 và giả sử Định lý 1.4.9 đã được chứng minh là đúng cho mọi đồ thị phẳng liên thông có số miền nhỏ hơnf Vì f > 1, nênG chứa chu trình Giả sử (u, v) là một cạnh của một chu trình
G Vì mỗi chu trình tách mặt phẳng làm hai phần rời nhau, nên cạnh (u, v) thuộc biên của hai miền, chẳng hạn S và T Nếu xóa cạnh (u, v), thì ta nhận được một đồ thị phẳng liên thông G ′ mới, trong đó các miền S và T được nhập lại với nhau tạo thành một miền mới, còn các miền khác giữ nguyên không đổi Như vậy là G ′ có v đỉnh, e − 1 cạnh và f − 1 miền Theo giả thiết qui nạp, v − (e − 1) + (f − 1) = 2. Nhưng đẳng thức này hiển nhiên tương đương với v − e + f = 2.
Do đó, theo nguyên lý quy nạp toán học, công thức Euler đúng cho mọi đồ thị phẳng.
Bài toán 1.5.2 Đồ thị H được cho sau đây (Hình 1.16) có phải là đồ thị phẳng không? Nếu phẳng hãy vẽ ra dạng phẳng của nó.
Giải.Theo công thức Euler, ta có v +f − e = 4 + 4 − 6 = 2nênH là đồ thị phẳng. Các dạng phẳng của đồ thị là
Bài toán 1.5.3 Trong các đồ thị sau đây, hãy xác định đâu là đồ thị phẳng.
Hình 1.17: Các dạng phẳng của đồ thị H
Giải Áp dụng Công thức Euler ta có kết quả như trong bảng 1.1 sau.
Bài toán 1.5.4 Chứng minh rằng có đúng 5 khối đa diện đều lồi (khối đa diện lồi có tất cả các mặt, các cạnh và các góc ở đỉnh bằng nhau). Đồ thị Đỉnh Mặt Cạnh v + f − e Phẳng (Đ/S)
Chứng minh Tất cả các mặt của một khối đa diện đều là những đa giác đều giống hệt nhau và mỗi đỉnh có cùng một bậc Ta xét bốn trường hợp, tùy thuộc vào loại đa giác đều.
Trường hợp 1: Mỗi mặt là một hình tam giác.
Gọi f là số mặt Khi đó có 3f /2 cạnh Sử dụng công thức Euler, chúng ta có v − 3f /2 + f = 2 nênv = 2 + f /2 Bây giờ mỗi đỉnh có cùng bậc, giả sử k Vậy số cạnh cũng là kv/2 Đặt cái này lại với nhau sẽ mang lại e = 3f
Cả k và f đều phải là số nguyên dương.
4 + f là hàm tăng đối với f dương, bị giới hạn phía trên bởi một tiệm cận ngang tại k = 6 Do đó, các giá trị duy nhất có thể có của k là 3, 4 và 5.Mỗi giá trị này đều có thể Để có k = 3, chúng ta cần f = 4 (đây là tứ diện).Với k = 4 chúng ta lấy f = 8 (hình bát diện) Với k = 5 lấy f = 20 (hình hai mươi mặt) Như vậy có đúng ba khối đa diện đều mỗi mặt là hình tam giác.
Trường hợp 2: Mỗi mặt là một hình vuông.
Bây giờ chúng ta có e = 4f /2 = 2f Sử dụng công thức Euler, chúng ta có v = 2 + f, và việc đếm các cạnh sử dụng bậc k của mỗi đỉnh cho chúng ta e = 2f = k(2 + f )
4 + 2f Đây lại là một hàm tăng, nhưng lần này tiệm cận ngang là k = 4, vì vậy giá trị duy nhất mà k có thể nhận là 3 Khi đó số các mặt là 6 mặt và đó là một khối lập phương Như vậy, chỉ có một khối đa diện đều có mặt là hình vuông.
Trường hợp 3: Mỗi mặt là một hình ngũ giác.
Chúng ta thực hiện phép tính tương tự như trên, lần này nhận đượce = 5f /2 nên v = 2 + 3f /2 Do đó e = 5f
Bây giờ tiệm cận ngang là 10
3 Con số này nhỏ hơn 4 , vì vậy chúng ta chỉ có thể hy vọng kiếm được k = 3 Khi đó số các mặt là 12 mặt và đó là một khối mười hai mặt đều Đây là khối đa diện đều duy nhất có các mặt là hình ngũ giác.
Trường hợp 4: Mỗi mặt là một n-giác với n ≥ 6.
Thực hiện theo quy trình tương tự như trên, ta suy ra rằng k = 2nf
4 + (n − 2)f sẽ tăng lên thành một tiệm cận ngang 2n n − 2 Khi n = 6, tiệm cận này làk = 3. Bất kỳ giá trị lớn hơn nào của n sẽ cho một tiệm cận thậm chí còn nhỏ hơn.
Do đó không có khối đa diện đều nào có mặt lớn hơn hình ngũ giác.
Bài toán 1.5.5 Chứng minh rằng đồ thị K 5 không phải là đồ thị phẳng.
Chứng minh Giả sử rằng K 5 là phẳng Khi đó đồ thị phải thỏa mãn công thức Euler cho đồ thị phẳng K 5 có 5 đỉnh và 10 cạnh, nên ta có
5 − 10 + f = 2, có nghĩa là nếu đồ thị được vẽ mà không có bất kỳ cạnh nào cắt nhau thì sẽ có các mặt f = 7.
Bây giờ hãy xem xét có bao nhiêu cạnh bao quanh mỗi mặt Mỗi mặt phải được bao quanh bởi ít nhất 3 cạnh Gọi B là tổng số đường bao quanh tất cả các mặt trong đồ thị Như vậy chúng ta có 3f ≤ B Nhưng B = 2e cũng vậy, vì mỗi cạnh được sử dụng làm ranh giới chính xác hai lần Do đó ta có được
Nhưng điều này là không thể, vì chúng ta đã xác định được rằng f = 7 và e = 10, và 3f = 21≰ 20 = 2e Điều này mâu thuẫn nên K 5 không phẳng.
Bài toán 1.5.6 Chứng minh rằng đồ thị K 3,3 không phải là đồ thị phẳng.
Chứng minh Giả sử K 3,3 là đồ thị phẳng Vì chúng ta chọn ngẫu nhiên 3 đỉnh trong K 3,3 nên phải có 2 đỉnh không liền kề nhau Do đó, mỗi mặt có ít nhất 4 cạnh làm ranh giới Qua
Sử dụng công thức Euler ta có
2 ⇒ e⩽ 2v − 4 Trong K 3,3 , v = 6, e = 9, vậy 9 > 2 × 6 − 4, điều này dẫn đến mâu thuẫn Vì vậy K 3.3 không phải là đồ thị phẳng.
Chương 2 Đồ thị Euler và các bài toán liên quan
Đồ thị Euler
Định nghĩa 2.1.1 (Chu trình Euler, đường đi Euler) Chu trình đơn chứa tất cả các cạnh của đồ thịGđược gọi làchu trình Euler.Đường đi Euler trongGlà đường đi đơn chứa mọi cạnh của G. Định nghĩa 2.1.2 (Đồ thị Euler và nửa Euler) Một đồ thị được gọi là đồ thị
Euler nếu nó có một chu trình Euler và được gọi là đồ thị nửa Euler nếu nó có đường đi Euler.
Nhận xét 2.1.3 Hiển nhiên một đồ thị Euler sẽ là đồ thị nửa Euler.
Ví dụ 2.1.4.Đồ thị trong hình 2.1(a) là đồ thị Euler với chu trình Euler:A, B, C, D, E, F, A. Trong khi đồ thị trong hình 2.1(b) là đồ thị nửa Euler với đường đi Euler:Y, T, Z, Y, X, T.
Ta thấy rằng đồ thị hình 2.1(b) không chứa bất kì chu trình Euler nào cả nên nó không là đồ thị Euler.
Hình 2.1: Đồ thị Euler và đồ thị nửa Euler.
Bài toán 2.1.1 (Bảy cây cầu ở K¨onigsberg) Thành phố K¨onigsberg (nay là Kalin- ingrad, Nga) nằm trên sông Pregel, bao gồm hai hòn đảo lớn nối với nhau và với đất liền bởi bảy cây cầu Bài toán đặt ra là tìm một tuyến đường mà đi qua mỗi cây cầu một lần và chỉ đúng một lần (bất kể điểm xuất phát hay điểm tới).
Hình 2.2: Bảy cây cầu K¨ onigsberg Để giải bài toán, ta quay mỗi vùng đất bằng một đỉnh, mỗi cây cầu liên kết các vùng đất bằng một cạnh giữa 2 đỉnh Như vậy, biểu đồ ban đầu được đồ thị hóa như Hình 2.3.
Hình 2.3: Đồ thị bảy cây cầu K¨ onigsberg
Khi đó yêu cầu bài toán tương đương với việc xác định chu trình Euler trong đồ thị 2.3.
Tính chất và dấu hiệu nhận biết đồ thị Euler
Định lý 2.2.1 ([3]) Đồ thị vô hướng liên thông G là đồ thị Euler khi và chi khi mọi đỉnh của G đều có bậc chẵn.
Chứng minh Để chứng minh Định lý, trước hết ta chứng minh bổ đề:
Bổ đề 2.2.2 Nếu bậc của mỗi đỉnh của đồ thị G không nhỏ hơn 2 thì G chứa chu trình.
Chứng minh Nếu G có cạnh lặp thì khẳng định của bổ để là hiển nhiên Vì vậy giả sử G là đơn đồ thị Gọi v là một đỉnh nào đó của G Ta sẽ xây dựng theo quy nạp đường đi v → v 1 → v 2 → trong đó v 1, là đỉnh kề với v, còn với i ≥ 1 chọn v i+1 là kề với v i và v i+1 ̸= v r−1 (có thể chọn v i+1 như vậy là vì deg (v i ) ≥ 2 ) Do tập đỉnh của G là hữu hạn, nên sau một số hữu hạn bước ta phải quay lại một đỉnh đã xuất hiện trước đó Gọi đỉnh đầu tiên như thế là v k Khi đó, đoạn của đường đi xây dựng nằm giữa hai đỉnh v k là 1 chu trình cần tìm.
Bây giờ ta đi đến chứng minh của Định lý 2.2.1. Điều kiện cần: Giả sửG là đồ thị Euler tức là tồn tại chu trình Euler P trong
G Khi đó cứ mổi lần chu trình P đi qua 1 đỉnh nào đó của G thì bậc của đỉnh đó tăng lên 2 Mặt khác mỗi cạnh của đồ thị xuất hiện trong P đúng 1 lần, suy ra mỗi đỉnh của đồ thị đều có bậc chẵn. Điều kiện đủ: Quy nạp theo số cạnh của G Do G liên thông và deg(v) là số chẵn nên bậc của mỗi đỉnh của nó không nhỏ hơn 2 Từ đó theo Bổ đề 2.2.2 thì
G phải chứa một chu trình C Nếu C đi qua tất cả các cạnh của G thì nó chính là chu trình Euler Giả sử C không đi qua tất cả các cạnh của G Khi đó loại bỏ khỏi
G tất cả các cạnh thuộc C ta thu được 1 đồ thị mới H (không nhất thiết là liên thông) Số cạnh trong H nhỏ hơn trong G và rõ ràng mỗi đỉnh của H vẫn có bậc là chẫn Theo giả thiết quy nạp trong mỗi thành phần liên thông của H đều tìm được chu trình Euler Do G là liên thông nên mỗi thành phần trong H có ít nhất
1 đỉnh chung với chu trình C Vì vậy, ta có thể xây dựng chu trình Euler trong G như sau.
Hình 2.4: Minh họa chứng minh Định lý 2.2.1
Bắt đầu từ một đỉnh nào đó của chu trình C, đi theo các cạnh của chu trình
C chừng nào chưa gặp phải đỉnh không cô lập của H Nếu gặp phải đỉnh như vậy thì ta đi theo chu trình Euler của thành phần liên thông của H chứa đỉnh đó Sau đó lại tiếp tục đi theo cạnh của C cho đến khi gặp phải đỉnh không cô lập của H thì lại theo chu trình Euler của thành phần liên thông tương ứng trong H (xem Hình 2.4 ) Quá trình sẽ kết thúc khi ta trở về đỉnh xuất phát, tức là thu được chu trình đi qua mỗi cạnh của đồ thị đúng một lần.
Từ đây định lý được chứng minh.
Hệ quả 2.2.3([5]) Đồ thị vô hướng liên thông G = (X, E)có đường đi Euler nhưng không là chu trình Euler khi và chỉ khi nó có đúng 2 đỉnh bậc lẻ.
Chứng minh Giả sử G có một đường đi Euler không khép kín với P và Q là hai đỉnh đầu và cuối của đường đi này thì G là một đồ thị liên thông và khi ta nối P với Q bởi một cạnh mới thì ta được một chu trình Euler.
Hình 2.5: Minh họa chứng minh Hệ quả 2.2.3
Theo Định lí 2.2.1 mọi đỉnh của đồ thị thêm cạnh (P, Q) này có bậc chẵn Sau khi bó cạnh mới thêm vào (P, Q) này, mọi đỉnh khác với P và Q trong G có bậc chẵn, còn P và Q có bậc lẻ. Đảo lại, giả sứ G là một đồ thị có đúng hai đỉnh P và Q là hai đỉnh bậc lẻ Xét đồ thị G + (P, Q) là đồ thị thu được từG khi thêm cạnh (P, Q) nối P với Q Khi đó đồ thị thu được là đồ thị liên thông không có đỉnh bậc lẻ nào Theo Định lý 2.2.1 đồ thị G + (P, Q) có chu trình Euler Sau khi bỏ cạnh mới thêm vào, đồ thị ban đầuG chứa một đường đi Euler không khép kín với hai đỉnh đầu và cuối là P và Q (Hình 2.5).
Ví dụ 2.2.4 Xác định đường đi Euler trong đồ thị 2.3
Trong đồ thị 7 cây cầu K¨onigsberg, có 3 đỉnh có bậc3 và có 1đỉnh có bậc 5 Do đó, không tồn tại đường đi Euler trong đồ thị 2.3 Hay Bài toán 2.1.1 không có lời giải.
Ta mở rộng những kết quả đã xét ở trên cho trường hợp đồ thị có hướng. Định nghĩa 2.2.5 Đồ thị có hướng, liên thông yếu G = (X, U ) được gọi là đồ thị tựa đối xứng, nếu tại mỗi đỉnh x số cung đi vào đỉnh x bằng số cung đi ra khỏi đỉnh x, nói cách khác, nếu deg − (x) = deg + (x).
Bằng cách chứng minh tương tự với trường hợp đồ thị vô hướng, ta cũng có những kết quả sau: Định lý 2.2.6 ([2]) Đồ thị có hướng, liên thông yếu G = (X, U) là đồ thị Euler khi và chỉ khi nó tựa đối xứng.
Hệ quả 2.2.7 ([2]) Điều kiện cần và đủ để đồ thị có hướng, liên thông yếu G có một đường đi Euler không khép kín là nó có đúng 2 đỉnh u, v thỏa mãn deg − (u) = deg + (u) + 1, deg − (v) = deg + (v ) − 1, và tất cả các đỉnh còn lại đều có bán bậc ra bằng bán bậc vào.
Ứng dụng của đồ thị Euler trong bài toán người đưa thư Trung Hoa (Chinese
đưa thư Trung Hoa (Chinese postman problem).
Nhiệm vụ của người đưa thư bao gồm nhận thư tại bưu điện, giao thư và sau đó quay trở lại Tất nhiên, anh ấy phải đi bộ ít nhất một lần dọc theo mọi con phố trong khu phố của mình Anh ta muốn lên kế hoạch cho con đường của mình sao cho anh ta đi bộ ít nhất có thể, tuân theo yêu cầu này Vì nhà toán học Trung Quốc, Kuan (1962), là người đầu tiên nghĩ đến vấn đề này nên nó được gọi là bài toán người đưa thư Trung Hoa (Chinese postman problem)[1].
Trong một đồ thị có chứa trọng số, ta định nghĩa độ dài của một chu trình v 0 − e → 0 v 1 − e → 1 −−−→ e n−1 v n −→ e n v 0 bởi công thức n
P i=0 w (e i ) Rõ ràng là lời giải cho bài toán người đưa thư Trung Hoa là xác định chu trình có trọng số nhỏ nhất trong biểu đồ có trọng số dương Một chu trình mang tính chất này sẽ được coi là chu trình tối ưu.
Trong một đồ thị EulerG,mọi chu trình Euler của Glà chu trình tối ưu vì nó đi qua tất cả các cạnh của đồ thị đúng một lần Vì các nhà toán học đã đề xuất nhiều thuật toán để tìm chu trình Euler trong một đồ thị Euler, nên bài toán người đưa thư Trung Hoa sẽ được giải quyết dễ dàng Thuật toán Fleury xây dựng một chu trình Euler bằng cách tìm ra một đường đi, tuân theo một điều kiện là, ở bất kỳ giai đoạn nào, một cạnh cắt của đồ thị con không được vẽ chỉ được lấy nếu không có lựa chọn nào khác.
1 Chọn một đỉnh v 0 bất kì và gán W 0 = v 0
2 Giả sử rằng đường đi W i = v 0 e 1 v 1 e i v i đã được chọn Sau đó chọn cạnh e i+1 từ tập các cạnh E\ {e 1 , e 2 , , e i } theo quy tắc sau
(i) Đặt W i = v 0 e 1 v 1 e 2 e i v i là đường đi giữa v 0 và v i tại bước thứ i, gọi
E i = {e 1 , e 2 , , e i }; G i là đồ thị con sau khi xóa các cạnh thuộc E i trong
(ii) Chọn một cạnh e i+1 nối v i với v i+1 từ tập cạnh E\Ei Lưu ý là nếu e i+1 là một cạnh cầu trong đồ thị con G ′ , chỉ chọn nó khi và chỉ khi không còn lựa chọn nào khác.
(iii) Cập nhậtW i+1 = W i e i+1 v i+1 Nếu không còn lựa chọn nào cho cạnhe i+1thì dừng.
Theo định nghĩa, thuật toán của Fleury xây dựng một đường đi trong G Ta sẽ chứng minh tính đúng đắn của thuật toán
Chứng minh Trước tiên ta chỉ ra rằng thủ tục trên có thể thực hiện được ở mỗi bước Giả sử ta đi đến một đỉnhv nào đó, khi đó nếuv ̸= u thì đồ thị con còn lạiH là liên thông và chứa đúng hai đỉnh bậc lẻ là v và u Theo hệ quả 2.2.3 trong H có đường đi Euler P từ v đến u Do việc xoá bỏ cạnh đầu tiên của đường đi P không làm mất tính liên thông của H, từ đó suy ra thủ tục có thể thực hiện ở mỗi bước.Nếu v = u thì lập luận ở trên sẽ vẫn đúng chừng nào vẩn còn cạnh kề với u.
Như vậy chỉ còn phải chỉ ra là thủ tục trên dẩn đến đường đi Euler Thực vậy trong G không thể còn cạnh chưa đi qua khi mà ta sử dụng cạnh cuối cùng kề với u (trong trường hợp ngược lại, việc loại bỏ 1 cạnh nào đó kể với 1 trong số những cạnh còn lại chưa đi qua sẽ dẫn đến một đồ thị không liên thông, và điều đó là mâu thuẫn).
Nếu Gkhông phải là đồ thị Euler, thì bất kỳ chu trình nào trong G và đặc biệt là một chu trình tối ưu trong G, sẽ đi qua một số cạnh nhiều lần Ví dụ, trong đồ thị hình 2.6a, xuywvzwyxuwvxzyx là một chu trình tối ưu trong đó bốn cạnh ux, xy, yw và wv được đi qua hai lần trong chu trình này.
Một cạnh e được cho là bị nhân đôi khi hai đầu của nó được nối với một cạnh mới có trọng số w(e) Bằng cách nhân đôi các cạnh ux, xy, yw và wv trong đồ thị của hình 2.6a, chúng ta thu được đồ thị như trong hình 2.6b.
Bây giờ chúng ta có thể diễn đạt lại bài toán người đưa thư Trung Hoa như sau: cho một đồ thị có trọng số âm G,
(i) Bằng cách nhân đôi các cạnh, tìm một đa đồ thị Euler có trọng số G ∗ của G sao cho P e∈E(G ∗ )\E(G) w(e) càng nhỏ càng tốt;
(ii) Tìm chu trình Euler trong G ∗
Thuật toán để thực hiện (i) đã được đưa ra vào năm 1973 bởi Edmonds và Johnson, tuy nhiên thuật toán khá phức tạp Ở đây ta chỉ khảo sát trường hợp khá đơn giản là G có đúng 2 đỉnh bậc lẻ.
Giả sử G có đúng hai đỉnh u và v bậc lẻ và G ∗ là đa đồ thị Euler mở rộng của
G thu được bằng cách nhân đôi các cạnh và ta kí hiệu E ∗ cho E (G ∗ ) Rõ ràng đồ thị con G ∗ [E ∗ \E] của G ∗ (được tạo ra bởi các cạnh của G ∗ không nằm trong G ) cũng chỉ có hai đỉnh u và v bậc lẻ Do đó u và v nằm trong cùng một thành phần của G ∗ [E ∗ \E] và chúng được kết nối bởi một (u, v)-đường đi P ∗ Rõ ràng
X e∈E 4 \E w(e) ≥ w (P ∗ ) ≥ w(P ) trong đóP là đường đi của(u, v)có trọng số nhỏ nhất trongG Do đó P e∈E(G ∗ )\E(G) w(e) là giá trị nhỏ nhất khi G ∗ thu được từ G bằng cách nhân đôi từng cạnh trên (u, v)- đường đi có trọng số nhỏ nhất Từ đây ta chuyển về thuật toán tìm đường đi ngắn nhất giữa hai đỉnh.
Một số bài toán liên quan đến đồ thị Euler
Sau đây là một số bài toán được trích từ [5, 6, 7]
Bài toán 2.4.1 ([5]) Với một số k, cho G là đồ thị liên thông vô hướng có 2k đỉnh bậc lẻ và số đỉnh bậc chẵn bất kỳ Chúng ta nói rằng một tập các đường đi phân biệt bao trùm G nếu không có cạnh nào được lặp lại trong một đường đi, và mỗi cạnh củaG được sử dụng đúng một lần trong tập hợp các đường đi đó Chứng minh rằng tồn tại một tập k đường đi phân biệt bao phủ G.
Chứng minh Gọi v 1 , v 2 , , v 2k là tập hợp các đỉnh có bậc lẻ của G ta nhận được một đồ thị mới G ′ bằng cách thêm k đường đi mới có độ dài bằng 2 giữa các cặp đỉnh này: với mỗi i = 0, , k − 1, ta thêm một đỉnh mới w i và 2 cạnh mới v 2i+1 w i và w i v 2i (Hình 2.7).
Hình 2.7: Hình minh họa chứng minh Bài toán 2.4.1
Lưu ý rằng các đỉnh w i đều có bậc 2 , và ta đã thêm 1 cạnh vào mỗi đỉnh bậc lẻ của đồ thị G nên các đỉnh trong G ′ đều có bậc chẵn Do đó, G ′ chứa một chu trình Euler Không mất tổng quát, ta giả sử rằng chu trình có dạng v 1 , w 1 , v 2 , W 1 , v 3 , w 2 , v 4 , W 2 , , v 2k−1 , w k , v 2k , W k , v 1
Từ chu trình Euler này, ta bỏ đi hết các cạnh và đỉnh đã thêm vào G Kết quả cho ta tập k đường đi phân biệt bao trùm G.
Bài toán 2.4.2 ([6]) Tìm giá trị m, n để
(i) Đồ thị hoàn chỉnh K n là một đồ thị Euler?
(ii) Đồ thị hoàn chỉnh K n chứa một đường đi Euler không khép kín?
(iii) Đồ thị hai phía hoàn chỉnh K m,n là một đồ thị Euler?
(i) Vì các đỉnh trong đồ thị đầy đủ K n đều có bậc n − 1 nên K n là đồ thị Euler khi và chỉ khi n là số lẻ.
(ii) Vì các đỉnh của đồ thị đầy đủ có bậc bằng nhau nên K n chứa một đường đi Euler không khép kính khi n = 2.
(iii) Vì các đỉnh của đồ thị K m,n có bậc là m hoặc n nên K m,n là đồ thị Euler khi và chỉ khi m và n là các số chẵn.
Bài toán 2.4.3 (Olympic toán học Trung Quốc lần thứ 5, [6]) Một đồ thị bao gồm một đa giác lồi n đỉnh và n − 3 đường chéo phân biệt của đa giác được gọi là đồ thị phân chia Chứng minh rằng điều kiện cần và đủ cho sự tồn tại một đồ thị phân chia là đồ thị Euler trong đa giác n cạnh là 3 | n.
Chứng minh Đầu tiên chứng minh bằng quy nạp rằng điều kiện 3 | n là điều kiện đủ Khi n = 3, rõ ràng mệnh đề đúng Giả sử với bất kỳ đa giác 3k-lồi nào, tồn tại một đồ thị phân chia là đồ thị Euler Đối với một đa giác 3(k + 1) = 3k + 3 đỉnh
A 1 A 2 A 3 A 3k+3 , hãy nối A 4 A 3k+3 (Hình 2.8) Vì A 4 A 5 A 3k+3 là một đa giác lồi 3k đỉnh, theo quy nạp, A 4 A 5 A 3k+3 chứa đồ thị phân chia là đồ thị Euler.
Hình 2.8: Minh họa chứng minh Bài toán 2.4.3
Xây dựng biểu đồ phân chia của A 4 A 5 A 3k+3 và nối A 2 A 4 , A 2 A 3k+3 , nhờ đó chúng ta thu được biểu đồ phân chia của một đa giác lồi3(k+1)đỉnhA 1 A 2 A 3 A 3k+3 Vậy tính đủ đã được chứng minh.
Tiếp theo chứng minh điều kiện cần Giả sử rằng một đa giác lồi n đỉnh có một đồ thị phân chia là đồ thị Euler Khi đó mỗi đỉnh của đồ thị sẽ có bậc chẵn Rõ ràng một tứ giác lồi và một ngũ giác lồi không có đồ thị chia sao cho mỗi đỉnh là một đỉnh chẵn Do đó khi3⩽ n < 6 , nếu đa giác lồin đỉnh có một đồ thị phân chia, sao cho mỗi đỉnh là một đỉnh chẵn, khi đón = 3 Giả sử, khi3⩽ n < 3k (k > 2) , nếu một đa giác lồi n đỉnh có đồ thị phân chia, sao cho mỗi đỉnh là một đỉnh chẵn, thì
3 | n Bây giờ, xét 3k ⩽ n < 3(k + 1) Giả sử rằng một đa giác lồi n đỉnh A 1 A 2 A n có một đồ thị phân chia, sao cho mỗi đỉnh là một đỉnh chẵn Dễ dàng thấy rằng bất kỳ phép phân chia nào của một đa giác lồi n(n > 3) đỉnh đều có thể chia đa giác thành n − 2 các tam giác nhỏ, không có phần trong chung và ít nhất hai trong số những tam giác này chứa hai cạnh liền kề của đa giác như hai cạnh Do đó, không mất tính tổng quát, cho A 1 A 3 là một đường chéo của đồ thị chia của hình đa giác
Vì vậy A 1 A 3 vẫn là một cạnh của △A 1 A 3 A i khác trong đồ thị phân chia Mà
A 1 A 2 A n có đồ thị phân chia sao cho mỗi đỉnh đều có bậc chẵn, do đó i ̸= 4, nếu ngược lại, A 3 là đỉnh lẻ Tương tự i ̸= n; nếu không thì A 1 là một đỉnh lẻ Do đó
4 < i < n Đồ thị phân chia của A 1 A 2 A n tạo ra các đồ thị phân chia của đa giác
A 3 A 4 A i và đa giác A 1 A 2 A n Mỗi đỉnh của đa giác lồi tương ứng với hai đồ thị phân chia này là chẵn Do đó bằng quy nạp,
3|i − 2, 3|n − i + 2, vậy 3 | n Do đó điều kiện cần đã được chứng minh.
Bài toán 2.4.4 ([5]) Chứng minh rằng ta có thể tô màu các cạnh của một đồ thị liên thôngGbởi hai màu xanh và đỏ sao cho số cạnh đỏ và số cạnh xanh xuất phát tại mỗi đỉnh của đồ thị luôn bằng nhau khi và chi khi G có số chẵn cạnh và bậc của mỗi đỉnh của G là số chẵn.
Chứng minh Nếu ta có thể tô màu các cạnh của một đồ thị liên thông G bởi hai màu xanh, đỏ sao cho số cạnh đỏ và số cạnh xanh xuất phát tại mỗi đỉnh của đồ thị luôn bằng nhau thì bậc của mỗi đỉnh là số chẵn (số cạnh xanh và số cạnh đỏ tại đỉnh đó bằng nhau), và đồ thị có chẵn cạnh (số cạnh xanh và số cạnh đỏ của đồ thị bằng nhau). Đảo lại, giả sử đồ thị liên thông G của ta có chẵn cạnh và bậc của các đỉnh là số chẵn, thì đồ thị G có một chu trình Euler H nào đó Do G có chẵn cạnh, cho nên H có chẵn cạnh, và ta có thể tô màu các cạnh của H bằng hai màu xanh đỏ sao cho hai cạnh liên tiếp nhau trên H thì khác màu nhau Khi đó cạnh đi ra và cạnh đi vào dọc theo H tại mỗi đỉnh khác màu nhau và do đó số cạnh màu xanh và màu đó tại mỗi đỉnh của đồ thị G bằng nhau.
Bài toán 2.4.5 ([7]) Có thể đi dạo chơi qua các cầu trong thành phố (Hình 2.10.), mỗi cầu vừa đúng một lần không?
Coi mỗi khu vực A, B, C, D, E, F của thành phố như một đỉnh, mỗi cầu qua lại hai khu vực như một cạnh nối hai đỉnh thì bản đồ thành phố là một đồ thị như hình 2.11.
Nhìn vào đồ thị ta nhận thấy các đỉnh đều có bậc chẵn, do đó theo định lý về chu trình Euler tồn tại một chu trình Euler trong đồ thị hình 2.11, nên ta hoàn toàn có thể đi qua các cầu mỗi cầu vừa đúng một lần Ví dụ, ta có một lời giải với chu trình xuất phát từ B như sau:
Bài toán 2.4.6 ([6]) Hình 2.12 là một đồ thị phẳng của một ngôi nhà có một phòng khách Sau khi vào nhà bằng cửa trước (front door) đến phòng khách, có
4 căn căn phòng khác Nếu ta đi vào nhà bằng cửa trước, bạn có thể đi qua tất cả các phòng (bao gồm cả phòng khách) và tất cả các cửa sao cho đi qua mỗi cửa đúng 1 lần.
Câu trả lời ở đây là không.
Xét 5 căn phòng, diện tích bên ngoài cửa trước và diện tích bên ngoài cửa sau có thể được biểu thị bằng các đỉnh, thêm một cạnh giữa các đỉnh tương ứng nếu
Hình 2.12: Sơ đồ mô tả ngôi nhà
Đồ thị Hamilton
Định nghĩa 3.1.1 (Chu Hamilton, đường đi Hamilton) Cho đồ thị G = (V, E) có n đỉnh.
Một chu trìnhx 1 , x 2 , , x n , x 1 được gọi là chu trình Hamilton nếux i ̸= x j ; ∀i, j :
1 ≤ i < j ≤ n. Đường đi x 1 , x 2 , , x n được gọi là đường đi Hamilton nếu x i ̸= x j ; ∀i, j :
1 ≤ i < j ≤ n. Định nghĩa 3.1.2 Đồ thị vô hướng G = (V, E) được gọi là đồ thị nửa Hamilton nếu nó có một đường đi Hamilton. Định nghĩa 3.1.3 Đồ thị vô hướng G = (V, E) được gọi là đồ thị Hamilton nếu nó có một chu trình Hamilton.
Nhận xét 3.1.4 Nếu một đồ thị vô hướng là đồ thị Hamilton thì hiển nhiên nó cũng là đồ thị nửa Hamilton.
Ví dụ 3.1.5 Trong hình 3.1, G 1 không là đồ thị Hamilton hay nửa Hamilton, G 2 là đồ thị nửa Hamilton, G 3 là đồ thị Hamilton.
Hình 3.1: Đồ thị nửa Hamilton và đồ thị Hamilton
Tính chất và dấu hiệu nhận biết đồ thị Hamilton
Định lý 3.2.1 (Ore,1960, [5]) Nếu tổng bậc của hai đỉnh không kề nhau bất kì
P và Q trong một đồ thị đơn G với n đỉnh thỏa mãn bất đẳng thức: deg(P ) + deg(Q) ≥ n, thì G có một chu trình Hamilton.
Chứng minh Cho trước một cách sắp xếp n đỉnh theo một thứ tự vòng tròn K = (P 1 , P 2 , , P n ), ta nói rằng một cặp (P i , P i+1 ) tạo nên một lỗ hổng trong cách sắp xếp này nếu P i và P i+1 không kề nhau.
Trong tất cả cách sắp xếp có thể, xét K = (P 1 , , P n ) là cách sắp xếp có ít lỗ hổng nhất Ta khẳng định rằng cách sắp xếp này thỏa mãn yêu cầu đầu bài, rằng
K không có lỗ hồng nào.
Thật vậy, giả sử K có ít nhất một lỗ hổng, giả sử là P 1 và P n Nếu P i kề với P n thì đỉnh P i+1 không kề với P 1 , nếu không thì
(P 1 P 2 P i P n P n−1 P i+1 ) , sẽ là một cách sắp xếp mới có ít lỗ hổng hơnK, là điều vô lí Như vậy, ta códeg (P 1 ) đỉnh khác với P n và không kề nhau với P n , suy ra deg (P 1 ) + deg (P n ) ≤ n − 1, mâu thuẫn với giả thiết đầu bài cho.
Ta có một hệ quả trực tiếp của Định lý Ore. Định lý 3.2.2 (Dirac, 1952,[5]) Cho truớc một đồ thị đơn G gồm n đỉnh Nếu bậc của mỗi đỉnh của G không nhỏ hơn n
2 thì G có một chu trình Hamilton.
Chứng minh Nếu có hai đỉnh trong đồ thị không kề nhau bất kì u và v trong G ta có deg(u) + deg(v ) ≥ n/2 + n/2 = n Áp dụng Định lý 3.2.1 ta có điều phải chứng minh. Định lý 3.2.3 (Posa, 1962, [5]) Giả sử đồ thị vô hướng G = (V, E) có n ≥ 3 đỉnh Nếu với mỗi k thỏa mãn 1 ≤ k < (n − 1)
2 , số các đỉnh v thỏa deg(v ) ≤ k, nhỏ hơn k và trong trường hợp n là số lẻ, số các đỉnh v với deg(v ) ≤ n − 1
2 cũng phải nhỏ hơn hoặc bằng n − 1
2 , thì G là đồ thị Hamilton.
Chứng minh Ta sẽ chứng minh bằng phản chứng Giả sử G không phải là đồ thị Hamilton Ta có thể giả sử rằng nếu thêm một cạnh bất kì nối hai đỉnh không kề nhau trong G thì đồ thị thu được sẽ có chu trình Hamilton-đồ thị G như thế được gọi là có tính chất cực đại.
Nếu không, bằng cách thêm vào G các cạnh nối các cặp đỉnh không kề nhau, lúc nào đó ta sẽ thu được một đồ thị không có chu trình Hamilton có tính chất cực đại như mô tả ở trên và rõ ràng vẫn thỏa mãn giả thiết của bài toán đã cho Do có tính chất cực đại, nên dễ thấy giữa hai đỉnh tùy ý không kề nhau của đồ thị luôn có một đường Hamilton nối hai đỉnh này Có thế thấy đó là đường Hamilton thu được từ chu trình Hamilton xuất hiện khi thêm vào cạnh nối hai đỉnh không kề nhau này.
Kí hiệu (P 1 , P 2 , , P n ) là một đường Hamilton (không khép kín) trong G Cho k = 2, 3, , n − 1, ta có: nếu P k được nối với P 1 bởi một cạnh thì P k−1 không được nối với P n bởi cạnh nào cả, nếu không thì
(P 1 , P 2 , , P k−1 , P n , P n−1 , , P k+1 , P k , P 1 ) là một chu trình Hamilton Từ đó ta có deg (P 1 ) + deg (P n ) ≤ n − 1.
Trong G mỗi đỉnh bậc không nhỏ hơn n − 1
2 kề với tất cả các đỉnh bậc không nhỏ hơn n
2 Thật vậy, giả sử có đỉnh bậc không nhỏ hơn n − 1
2 không kề với đỉnh bậc không nhỏ hơn n
2, không mất tính tổng quát giả sử đỉnh P 1 với deg (P 1 ) ≥ n − 1
2 không kề với đỉnhP n có bậcdeg (P n ) ≥ n
2 Giả sử(P 1 , P 2 , , P n )là đường Hamilton nối P 1 với P n Kí hiệu các láng giềng của P 1 là P i 1 , P i 2 , , P i s với s = deg (P 1 ) Khi đó P n không kề với P i 1 −1 , P i 2 −1 , , P i s −1 , và ta có n
2 ≤ deg (P n ) ≤ (n − 1 − s) = (n − 1 − deg (P 1 )) , suy ra là n
Trong Gtồn tại những đỉnh có bậc ≤ n − 1
2 , nếu không Gcó chu trình Hamilton theo Định lí 3.2.2 Kí hiệu ∆ là bậc cao nhất trong các đỉnh của G có bậc nhỏ hơn n
2 và p là số các đỉnh có bậc nhỏ hơn n
2 Khi đó theo giả thiết của định lí, ta có p ≤ ∆ ≤ n − 1
2 Ta sẽ chứng minh rằng p < ∆ < n − 1
2 Kí hiệu q là số các đỉnh có bậc lớn hơn ∆, ta có q = n − p ≥ n − ∆ > n − n
Giả sử Q 1 là một đỉnh có bậc ∆, trong n − ∆ > ∆ đỉnh có bậc lớn hơn n
2 tồn tại ít nhất một đỉnh, gọi là Q n , không kề với Q 1 Khi đó bậc của Q 1 không thế là n − 1
2 được, nếu không Q 1 phải kề với Q n như trên đã chứng minh Do đó ta có deg (Q 1 ) = ∆ < n − 1
2 Theo giả thiết của định lí, số đỉnh không vượt quá∆sẽ nhỏ hơn∆, do∆ < n − 1
Xét đường Hamilton(Q 1 , Q 2 , , Q n )nốiQ 1 vớiQ n Kí hiệu các láng giềng củaQ 1 là Q i 1 , Q i 2 , , Q i s với s := ∆ = deg (Q 1 ) Khi đó có một trong các đỉnh Q i 1 −1 , Q i 2 −1 , , Q i s −1 , gọi làQ i 0 −1 có bậcdeg (Q i 0 −1 ) > ∆, và do đó ít nhất làdeg (Q i 0 −1 ) ≥ n − 1
Ta đã chứng minh ở trên là khi đó Q i 0 −1 phải kề với Q n Ta thu được chu trình Hamilton
(Q 1 Q 2 Q i 0 −1 Q n Q n−1 Q i 0 ) , là điều vô lí Mâu thuẫn này kết thúc chứng minh của ta. Định lý 3.2.4 ([2]) Đồ thị vô hướng n đỉnh liên thông (n ≥ 3), thuần nhất bậc 2 có chu trình Hamilton.
Chứng minh Giả sử đồ thị vô hướng G = (X, E)(|X| = n ≥ 3), liên thông thuần nhất bậc 2 Đồ thị G hữu hạn, nên số đường đi sơ cấp trong Gcũng hữu hạn Giả sử α = (x 1 , x 2 , , x k−1 , x k ) là một trong những đường đi sơ cấp có độ dài dài nhất (|α| max )
Nếu k < n thì tồn tại đỉnh y / ∈ α Do G liên thông nên phải có ít nhất một đỉnh thuộc α kề với đỉnh y, chẳng hạn x i Nếu i = 2, 3, , k − 1, thì m (x i ) >
2 nên vô lý Nếu i = 1 hoặc k, thì đường đi (y, x 2 , , x k−1 , x k ) hoặc đường đi (x 1 , x 2 , , x k−1 , x k , y) có độ dài bằng |α| + 1 > |α| max , nên cũng dẫn đến mâu thuẫn.
Do đó k = n, tức ta được đường đi Hamilton Vì m (x 1 ) = m (x n ) = 2 nên x 1 phải kề với x n (không thể kề với x i (3 ≤ i ≤ n − 1) vì bậc của mỗi đỉnh này đã bằng 2).
Ta được chu trình Hamilton. Định lý 3.2.5 ([2]) Đồ thị vô hướng G = (X, E) có chu trình Hamilton khi và chỉ khi nó có một đồ thị bộ phận liên thông và thuần nhất bậc 2
Chứng minh Điều kiện cần là hiển nhiên Bởi vì, nếu đồ thị G có chu trình Hamil- ton, thì mỗi chu trình Hamilton củaGlà một đồ thị bộ phận liên thông thuần nhất bậc 2.
Ngược lại, giả sử đồ thị G = (X, E) có đồ thị bộ phận G 1 = (X, E 1 ) liên thông và thuần nhất bậc 2 Theo bổ đề 3.2.4 đồ thị G 1 có chu trình Hamilton α Khi đó, α cũng chính là chu trình Hamilton trong đồ thị G. Định lý 3.2.6 (Rédei, [2])Trong đồ thị có hướng đầy đủ luôn luôn tồn tại đường Hamilton.
Chứng minh (Thuật toán tìm đường Hamilton trong đồ thị đầy đủ có hướng.) Giả sử G = (X, E) là đồ thị có hướng đầy đủ nào đó và: α = [x 1 , x 2 , , x i , x i+1 , x k−1 , x k ] là một đường sơ cấp bất kì trong đồ thị G.
1 Nếu α đã đi qua tất cả các đỉnh của G, thì nó là một đường Hamilton của G.
2 Nếu trong Gcòn có đỉnh nằm ngoài α, thì ta có thể bổ sung dần dần các đỉnh này vào α và các đường sơ cấp nhận được tiếp theo để cuối cùng nhận được đường Hamilton.
Một số bài toán lên quan đến đồ thị Hamilton
Sau đây là một số bài toán được trích từ [5, 6, 7]
Bài toán 3.3.1([6]) Nếu đồ thịGlà đồ thị Halmilton, xóa một số đỉnhv 1 , v 2 , , v k và những cạnh có nối với những điểm đó ra khỏi G để nhận đồ thị mới G ′ Chứng minh số thành phần liên thông của G ′ không vượt quá k.
Giả sử c là một chu trình Hamilton của G Sau khi xóa các đỉnh v 1 , v 2 , , v k và những cạnh có nối với những điểm đó ra khỏi G, chu trình c có thể chia thành k phần Do đó số thành phần liên thông của G ′ không vượt quá k.
Bài toán 3.3.2 ([5]) Chứng minh một đồ thị đơn G với n đỉnh và số cạnh không nhỏ hơn C n−1 2 + 2 luôn có một chu trình Hamilton và chỉ ra đồ thị đơn với n đỉnh và C n−1 2 + 1 cạnh không có chu trình Hamilton.
Ta sẽ chỉ ra rằng giả thiết của Định lí Posa (Định lý 3.2.3) được thỏa mãn nếu đồ thị G có ít nhất C n−1 2 + 2 cạnh.
Thật vậy, nếu G không thỏa mãn giả thiết của định lí Posa (Định lý 3.2.3) thì tồn tại k < n − 1
2 sao cho G có k đỉnh có bậc không vượt quá k < n − 1
2 Khi đó số các cạnh kề với ít nhất một trong các đỉnh này không vượt quá k 2 và số các cạnh không kề với đỉnh nào trong các đỉnh này không vượt quá C n−k 2 , suy ra tổng số các cạnh không vượt quá k 2 + C n−k 2 cạnh Lại có, k 2 + C n−k 2 = k 2 + (n − k − 1)(n − k)
Do đó k 2 + C n−k 2 < 1 + C n−1 1 , mâu thuẫn với giả thiết ban đầu của bài toán. Đồ thị G sinh ra bởi đồ thị đầy đủ có n − 1 đỉnh K n−1 bằng cách thêm vào một đỉnh mới và một cạnh nối đỉnh này với một đỉnh của K n−1 Khi đó G có đúng
C n−1 2 + 1 cạnh và không có chu trình Hamilton.
Bài toán 3.3.3 ([6]) Cho A 0 A 1 A 2 A 2n−1 là một đa giác đều 2n cạnh Nối tất cả các đường chéo của đa giác để nhận được đồ thị G Chứng minh mọi chu trình Hamilton của G phải có cạnh song song.
Dễ thấy G là đồ thị đầy đủ nên nó là một đồ thị Hamilton Lưu ý rằng, A i A j song song với A k A l khi và chỉ khi i + j ≡ k + l(mod 2n).
Giả sử A i 0 A i 1 A i 2n−1 là một chu trình Hamilton của G i 0 , i 1 , , i 2n−1 sẽ là một hoán vị của 0, 1, , 2n Giả sử trong các cạnh trong chu trình không có cặp cạnh nào song song với nhau Do đó trong 2n số i 0 + i 1 , i 1 + i 2 , i 2 + i 3 , , i 2n−1 + i 0, sẽ không tồn tại cặp số nào có cùng thặng dư modun 2n Nghĩa là, 2n số trên là một hệ thặng dư 1 đầy đủ của 2n Vì vậy
≡0(mod2n), ta có điều mâu thuẫn.
Bài toán 3.3.4 ([6]) Trong một hội nghị toán học quốc tế có bảy nhà toán học đến từ các quốc gia khác nhau Ngôn ngữ họ có thể nói là
B: Tiếng Anh và tiếng Trung
C: Tiếng Anh, tiếng Ý và tiếng Tây Ban Nha
1 Cho số nguyên dương n > 1 Bộ số {x 1 , x 2 , , x n } được gọi là hệ thặng dư đầy đủ modulo n nếu như nó chúa tất cả các số du 0, 1, 2, , n − 1 khi chia cho n.
D: Tiếng Trung và tiếng Nhật
F: Tiếng Pháp, tiếng Nhật và tiếng Tây Ban Nha
G: Tiếng Pháp và tiếng Đức
Làm thế nào chúng ta có thể sắp xếp bảy nhà toán học này quanh một chiếc bàn để mọi người có thể nói chuyện với người bên cạnh mình?
Ta biểu thị bảy nhà toán học bằng bảy đỉnh A, B, C, D, E, F, G Nếu hai người có thể nói một ngôn ngữ chung thì chúng ta nối các đỉnh đại diện cho họ và chúng ta có được đồ thị G Như Hình 3.2 cho chúng ta thấy, bài toán sắp xếp chỗ ngồi trở thành bài toán tìm chu trình Hamilton Sắp xếp chỗ ngồi theo thứ tự vòng quay để mọi người có thể nói chuyện với người bên cạnh.
Chúng ta vẽ một chu trình bằng nét đậm và từ đó sẽ có được lời giải cần thiết. Nói cách khác, nếu ta sắp xếp chỗ ngồi theo thứ tựA, B,D, F, G, E, C thì mọi người đều có thể nói chuyện với mọi người bên cạnh Ngôn ngữ chung được dán nhãn trên mỗi cạnh tương ứng trong Hình 3.3.
Bài toán 3.3.5 ([6]) Hình 3.4 minh họa một nửa bàn cờ vua Một quân mã ở góc dưới bên phải (vị trí được đánh dấu bằng chữ K) Liệu quân mã có thể di chuyển qua tất cả ô và mỗi ô chỉ một lần hay không?
Hình 3.4: Nửa bàn cờ vua và vị trí của con mã (K)
Ta sẽ mô hình hóa bài toán qua ngôn ngữ đồ thị bằng cách: biểu thị các ô vuông ở nửa bàn cờ là các đỉnh Nếu một quân mã có thể di chuyển từ ô này sang ô khác trong một bước, thì ta thêm vào cạnh nối hai đỉnh đại diện cho các ô Lúc này, bài toán trở thành tìm kiếm đường đi Hamilton trên đồ thị tương ứng Chú ý là, ở đây việc hai đỉnh có kề nhau hay không được xác định bởi quy tắc di chuyển của quân mã Hai đỉnh kề nhau nếu chúng nằm ở hai đầu của hình chữ L trên bàn cờ Tô màu một đỉnh bằng màu của hình vuông tượng trưng cho đỉnh trên bàn cờ, màu của hai đỉnh liền kề luôn khác nhau Vậy giữa hai đỉnh liền kề trong đồ thị, một đỉnh màu đen và đỉnh kia màu trắng Số đỉnh đen bằng số đỉnh trắng nên tồn tại đường đi Hamilton Chúng ta có thể tìm ra một đường đi như sau:
Bài toán 3.3.6 ([7]) Có 5 đội bóng chuyền thi đấu với nhau để tranh giải cúp quốc gia Biết rằng hai đội chỉ đấu với nhau đúng một trận và mỗi đội phải đấu với 4 đội khác, đồng thời không có trận hòa Chứng tỏ rằng căn cứ vào kết quả thi đấu có thể xếp đội trưởng các đội đứng theo một hàng dọc để đội đứng sau thắng đội đứng ngay trước.
Cho tương ứng mỗi đội bóng là một đỉnh của đồ thị Hai đội đã thi đấu với nhau ta dùng một cung nối 2 đỉnh tương ứng; chiều của cung đó là từ đỉnh tương ứng với đội thắng sang đỉnh tương ứng với đội thua Như vậy đồ thị thiết lập được
Hình 3.5: Đồ thị mô tả kết quả thi đấu của 5 đội bóng chuyền là đồ thị đầy đủ có hướng với 5 đỉnh Đồ thị Hình 3.5 mô tả kết quả thi đấu của 5 đội bóng chuyền A, B, C, D, E Vì đồ thị vừa tìm được là đồ thị đầy đủ nên Theo Định lý Rédei (Định lý 3.2.6), đồ thị tồn tại đường đi Hammilton Nên căn cứ vào một trong những đường Hamilton ta có thể xếp đội trưởng các đội đứng theo hàng dọc như sau: A, E, C, D, B.
Bài toán 3.3.7 ([7]) Hình 3.6 cho sơ đồ nhà ở của 22 bạn cùng lớp (đánh số từ
1 đến 22) Tìm một đường đi từ nhà lớp trưởng (số 1) qua nhà mỗi bạn đúng một lần để cùng đến sân vận động (S).
Ứng dụng của đồ thị Hamilton trong bài toán Người đi du lịch (Travelling
Người đi du lịch (Travelling Salesman Problem)
Trong mục này, chúng tôi trình bày ứng dụng thức tế của đồ thị Hamilton trong bài toán Người đi du lịch (Travelling Salesman Problem) trong [1].
Một du khách muốn tham quan một số thị trấn và sau đó quay lại nơi anh ấy xuất phát Với một thời gian di chuyển giữa các thị trấn nhất định, anh ta nên lập kế hoạch hành trình như thế nào để đến thăm mỗi thị trấn đúng một lần và đi tất cả trong thời gian ngắn nhất có thể? Về mặt lý thuyết đồ thị, mục đích của chúng là tìm chu trình Hamilton có trọng số tối thiểu trong đồ thị đầy đủ có trọng số. Chúng ta sẽ gọi một chu trình như vậy là một chu trình tối ưu Ngược lại với bài toán đường đi ngắn nhất và bài toán cây khung, không có thuật toán hiệu quả nào để giải bài toán người du lịch Do đó, mục tiêu của chúng ta là tìm ra một phương pháp để giải bài toán này (nhưng không nhất thiết là tối ưu) Mục này sẽ trình bày áp dụng lý thuyết trước đây của chúng ta để giải quyết bài toán này.
Một cách tiếp cận khả thi là trước tiên hãy tìm chu trình Hamilton C, sau đó tìm kiếm một chu trình khác có trọng số nhỏ hơn bằng cách sửa đổi C một cách thích hợp Có lẽ cách sửa đổi đơn giản nhất như sau.
Giả sử C = v 1 v 2 v ν v 1 Khi đó với mọi i và j sao cho 1 < i + 1 < j < ν, ta xây dựng một chu trình Hamilton mới
C ij = v 1 v 2 v i v j v j−1 v i+1 v j+1 v j+2 v ν v 1 bằng cách xóa đi các cạnhv i v i+1 , v j v j+1 và thêm vào các cạnhv i v j ,v i+1 v j+1 , như trong Hình 3.9.
Nếu với i và j thỏa mãn w (v i v j ) + w (v i+1 v j+1 ) < w (v i v i+1 ) + w (v j v j+1 ) , chu trình C ij sẽ được thay thế cho C Sau khi thực hiện một chuỗi các sửa đổi ở trên, người ta còn lại một chu trình không thể cải thiện được nữa bằng các phương pháp này Chu kỳ cuối cùng này gần như chắc chắn sẽ không tối ưu, nhưng có thể giả định hợp lý rằng nó thường khá tốt; để có độ chính xác cao hơn, quy trình có thể được lặp lại nhiều lần, mỗi lần bắt đầu bằng một chu kỳ khác nhau.
Ví dụ, hãy quan sát biểu đồ có trọng số trong Hình 3.10.
Bắt đầu với chu trình L MC NY Pa Pe T L, chúng ta có thể áp dụng một chuỗi gồm ba sửa đổi, như minh họa trong Hình 3.11, và kết thúc bằng chu trình L NY
MC T Pe Pa L có trọng số 192. Đôi khi có thể thu được dấu hiệu cho thấy thuật toán này tốt như thế nào bằng cách áp dụng thuật toán Kruskal Giả sử C là một chu trình tối ưu trong G Khi đó, với mọi đỉnh v, C − v là đường đi Hamilton trong G − v và do đó là cây khung
Hình 3.11 củaG − v Theo đó, nếu T là cây tối ưu trongG − v, và nếu e và f là hai cạnh liên thuộc với v sao cho w(e) + w(f ) nhỏ nhất có thể, thì w(T ) + w(e) + w(f ) sẽ là giới hạn dưới của w(C) Trong ví dụ của chúng ta, lấy NY làm đỉnh v, chúng ta thấy (xem hình 3.12) rằng w(T ) = 122 w(e) = 21 và w(f) = 35.
Do đó, chúng ta có thể kết luận rằng trọng số w(C) của một chu trình tối ưu trong đồ thị của hình 3.10 thỏa mãn
Trong đề án này, chúng tôi trình bày một số nội dung chính sau đây:
• Trình bày lý thuyết về các đồ thị Euler và đưa ra một số ứng dụng của chúng vào việc giải quyết bài toán thực tiễn
• Trình bày một số kết quả kinh điển trong lý thuyết về các đồ thị Hamilton và minh họa ứng dụng thực tế trong bài toán Người đi du lịch (Travelling Salesman Problem).
• Đưa ra một số ví dụ vận dụng các ý tưởng từ đồ thị Euler, Hamilton vào giải quyết bài toán khó liên quan bậc THPT.