Tổ hợp và Toán rời rạc
Đồ thị, bậc, đường đi
Đồ thị như mạng lưới đỉnh và cạnh: bậc, đường đi và chu trình Euler, ghép cặp trên đồ thị hai phía, tô màu và tính phẳng — từ bài toán bảy cây cầu Königsberg tới các câu hỏi mở trong lý thuyết Ramsey.
Trực giácĐồ thị là gì?
Đồ thị đơn giản là các điểm (đỉnh) nối với nhau bằng các đoạn (cạnh): một bản đồ ai nối với ai. Mạng lưới bạn bè, bản đồ đường xá, liên kết giữa các nguyên tử trong phân tử, các trang web nối nhau bằng liên kết — tất cả đều là đồ thị. Điều quan trọng không phải là vị trí các điểm trên trang giấy, mà là cặp điểm nào được nối với nhau.
Phổ thôngĐỉnh, cạnh và bậc
Định nghĩa: Đồ thị, bậc
Đồ thị gồm một tập đỉnh và một tập cạnh , mỗi cạnh nối hai đỉnh. Bậc của đỉnh là số cạnh chạm vào nó.
Trong mọi đồ thị hữu hạn, tổng bậc của tất cả các đỉnh bằng hai lần số cạnh: . Nói riêng, số đỉnh có bậc lẻ luôn là một số chẵn.
Vì sao đúng?
Khi cộng các bậc, mỗi cạnh được đếm đúng hai lần: một lần từ mỗi đầu mút. Vì vậy tổng là số chẵn; các đỉnh bậc chẵn đã đóng góp một lượng chẵn vào tổng, nên số đỉnh bậc lẻ phải là số chẵn.
Chứng minh
Xét một đồ thị hữu hạn bất kỳ . Xây dựng tập mọi cặp liên thuộc đỉnh-cạnh với đỉnh là đầu mút của cạnh , rồi đếm tập này theo hai cách. Đếm theo đỉnh: mỗi đỉnh đóng góp đúng cặp liên thuộc (một cặp cho mỗi cạnh chạm vào nó), nên tổng số là . Đếm theo cạnh: mỗi cạnh có đúng đầu mút, và , nên nó đóng góp đúng cặp liên thuộc, và cộng trên toàn bộ cạnh cho .
Vì cả hai cách đếm đều đếm cùng một tập cặp, chúng phải bằng nhau: . Với khẳng định thứ hai, tách tổng thành các đỉnh bậc chẵn và bậc lẻ: là tổng các số chẵn, nên là số chẵn, do đó cũng phải là số chẵn (vì tổng toàn phần là số chẵn). Một tổng các số lẻ chỉ chẵn khi có một số chẵn số hạng, nên số đỉnh bậc lẻ là số chẵn.
Ví dụ: Đếm bậc trong
Trong đồ thị đầy đủ (bốn đỉnh, mọi cặp đều nối với nhau), bằng bao nhiêu, và có bao nhiêu cạnh?
Lời giải
Mỗi đỉnh trong 4 đỉnh nối với 3 đỉnh còn lại, nên mọi bậc đều bằng 3 và . Theo bổ đề bắt tay, .
Ví dụ: Lập lộ trình xe dọn tuyết và giao hàng (Bài toán người đưa thư Trung Hoa)
Một xe dọn tuyết đô thị phải dọn sạch mọi con phố trong một khu vực liên thông gồm giao lộ có bậc lần lượt là , xuất phát và kết thúc tại trạm xe. (1) Khu vực này có bao nhiêu đoạn phố, và xe dọn tuyết có thể đi qua mỗi đoạn phố đúng một lần mà không phải chạy lặp (đi lại đoạn phố đã dọn) hay không? (2) Nếu xây thêm một con đường mới nối hai giao lộ và vốn có bậc , làm bậc của chúng đổi thành , thì còn tồn tại lộ trình khép kín không chạy lặp nữa không?
Lời giải
(1) Theo bổ đề bắt tay, , nên khu vực có đoạn phố. Vì đồ thị liên thông và cả sáu giao lộ đều có bậc chẵn ( đỉnh bậc lẻ), định lý chu trình Euler bảo đảm tồn tại một chu trình Euler: xe dọn tuyết có thể dọn mọi đoạn phố đúng một lần rồi quay về trạm mà không lãng phí quãng đường nào.
(2) Thêm cạnh nối và làm bậc của chúng tăng từ lên , tạo ra đỉnh bậc lẻ. Theo định lý Euler, không còn chu trình Euler khép kín nữa — chỉ còn một vết Euler hở bắt đầu tại và kết thúc tại . Để quay về trạm, xe buộc phải đi lặp lại một đường đi ngắn nhất giữa và (tương đương nhân đôi các cạnh đó để mọi bậc lại thành chẵn). Trong vận trù học, việc cực tiểu hóa tổng quãng đường chạy lặp bằng cách ghép cặp các đỉnh bậc lẻ qua phép ghép cặp hoàn hảo trọng số nhỏ nhất chính là Bài toán người đưa thư Trung Hoa (Quản Mai Cốc / Mei-Ko Kwan, 1962), được ứng dụng hằng ngày trong thu gom rác, quét đường và kiểm tra đường dây điện.
Đại họcĐường đi, vết và chu trình Euler
Định nghĩa: Chu trình Euler
Đường đi là một dãy đỉnh trong đó hai đỉnh liên tiếp được nối bằng một cạnh. Vết là đường đi không lặp lại cạnh nào. Chu trình Euler là một vết khép kín (bắt đầu và kết thúc cùng một đỉnh) đi qua mọi cạnh của đồ thị đúng một lần.
Một đồ thị liên thông có ít nhất một cạnh có chu trình Euler khi và chỉ khi mọi đỉnh đều có bậc chẵn. Tổng quát hơn, đồ thị có vết Euler hở giữa hai đỉnh phân biệt khi và chỉ khi và chính là hai đỉnh có bậc lẻ duy nhất.
Vì sao đúng?
Đi theo một vết bất kỳ; mỗi lần đi qua một đỉnh (không phải điểm đầu/cuối) ta dùng hết hai cạnh của nó, nên một đỉnh có thể bị 'kẹt lại' (trừ hai đầu mút) phải có bậc chẵn — đây là chiều dễ. Chiều ngược lại (bậc chẵn là đủ) được chứng minh bằng quy nạp: tách ra các chu trình con khép kín rồi ghép chúng lại (cách dựng của Hierholzer, 1873).
Chứng minh
(Chiều cần thiết.) Giả sử một đồ thị liên thông có chu trình Euler , tức một vết khép kín dùng mọi cạnh đúng một lần. Mỗi lần đi qua một đỉnh khác đỉnh đầu/cuối, nó đi vào theo một cạnh rồi đi ra theo một cạnh khác chưa dùng, tiêu thụ đúng cạnh kề của ; vì dùng mọi cạnh của đúng một lần khi kết thúc, phải là số chẵn với mọi đỉnh, kể cả đỉnh đầu/cuối, nơi cạnh khởi hành đầu tiên ghép cặp với cạnh đến cuối cùng.
(Chiều đủ.) Giả sử ngược lại mọi đỉnh của đồ thị liên thông đều có bậc chẵn. Bắt đầu tại một đỉnh bất kỳ và đi tham lam theo các cạnh chưa dùng; vì mọi đỉnh có bậc chẵn, mỗi khi đường đi vào một đỉnh khác đỉnh xuất phát, nó luôn có thể đi ra tiếp (một số chẵn cạnh kề không bao giờ có thể giảm còn đúng cạnh chưa dùng), nên đường đi chỉ có thể bị kẹt khi quay lại đỉnh xuất phát, tạo ra một vết khép kín . Nếu đã dùng mọi cạnh, ta xong. Nếu không, vì liên thông, có một đỉnh trên có cạnh kề chưa dùng; các cạnh chưa dùng cũng có bậc chẵn tại mọi đỉnh (bỏ vết khép kín bậc chẵn vẫn giữ nguyên tính chẵn lẻ), nên theo lập luận tương tự chúng tạo thành một vết khép kín khác qua . Ghép vào tại tạo ra một vết khép kín dài hơn; lặp lại quá trình ghép này (cách dựng của Hierholzer, 1873) cho tới khi không còn cạnh chưa dùng sẽ cho ra một chu trình Euler.
Đây chính là lập luận nguyên gốc của Euler, và câu đố này hiện được lưu trong thư viện dưới tên bài toán lớn Bảy cây cầu Königsberg.
Nâng caoĐồ thị hai phía và định lý hôn phối Hall
Định nghĩa: Đồ thị hai phía
Một đồ thị là hai phía (song phần) nếu tập đỉnh của nó chia thành hai tập sao cho mọi cạnh nối một đỉnh của với một đỉnh của (không có cạnh nào bên trong hoặc bên trong ). Đồ thị hai phía mô hình hóa các bài toán ghép cặp: việc làm với người lao động, học sinh với trường học.
Cho là đồ thị hai phía với hai phần và . Tồn tại một phép ghép cặp phủ hết mọi đỉnh của khi và chỉ khi với mọi tập con , tập lân cận thỏa (điều kiện Hall).
Vì sao đúng?
Nếu có tập với , các đỉnh của không có đủ đỉnh lân cận để ghép cặp một-một, nên điều kiện là cần thiết rõ ràng. Điều kiện này cũng đủ, được chứng minh bằng cách tìm đường tăng cường mỗi khi phép ghép cặp chưa hoàn chỉnh (lập luận đường tăng cường König–Egerváry).
Chứng minh
(Chiều cần thiết.) Nếu có với , thì các đỉnh của có ít hơn đối tác khả dĩ trong toàn bộ cộng lại, nên không phép ghép cặp nào có thể đưa vào một cách đơn ánh — do đó không thể tồn tại phép ghép cặp phủ hết . Vậy điều kiện Hall rõ ràng là cần thiết.
(Chiều đủ.) Giả sử điều kiện Hall đúng nhưng có một phép ghép cặp để lại một đỉnh chưa ghép. Xây cây luân phiên từ : đi theo các cạnh không thuộc ghép cặp ra khỏi đỉnh rồi các cạnh thuộc ghép cặp quay lại từ đỉnh , khám phá mọi đỉnh có thể đến được bằng cách này. Nếu cây này đến được một đỉnh là chưa được phủ, đường đi từ đến luân phiên cạnh không-thuộc/thuộc ghép cặp và có độ dài lẻ, nên hoán đổi các cạnh đã ghép và chưa ghép dọc theo nó (lấy hiệu đối xứng ) làm tăng chặt số cặp ghép lên một, mâu thuẫn với việc đã lớn nhất có thể theo nhánh này — lặp lại cho tới khi không còn chưa ghép, hoặc điều kiện Hall bị vi phạm trên tập các đỉnh đã đến được, vì khi đó mọi đỉnh đến được đều được ghép ngược vào , buộc . Vì điều kiện Hall đúng theo giả thiết, mâu thuẫn này không thể xảy ra, nên mọi đỉnh của cuối cùng đều phải được ghép cặp — đây chính là lập luận đường tăng cường König–Egerváry.
Tô màu cả một bản đồ thay vì một đồ thị trừu tượng dẫn tới câu hỏi tô màu nổi tiếng nhất, bài toán lớn Định lý bốn màu: mọi bản đồ phẳng đều có thể tô bằng bốn màu sao cho các vùng liền kề khác màu nhau. Việc xác định đồ thị nào là phẳng được trả lời chính xác bởi định lý Kuratowski dưới đây.
Định nghĩa: Đồ thị phẳng
Một đồ thị là phẳng nếu có thể vẽ trên mặt phẳng sao cho không có hai cạnh nào cắt nhau (trừ tại các đầu mút chung).
Một đồ thị hữu hạn là phẳng khi và chỉ khi nó không chứa đồ thị con là một phép chia cạnh (subdivision) của hoặc của .
Vì sao đúng?
và tự chúng không phẳng (có thể kiểm tra trực tiếp bằng công thức Euler ), và bất kỳ phép chia cạnh nào (thay cạnh bằng đường đi) cũng giữ nguyên tính không phẳng. Định lý Kuratowski năm 1930 là chiều ngược lại đáng ngạc nhiên: hai đồ thị này là những 'vật cản' duy nhất.
Chứng minh
(Chiều cần: , và các phép chia cạnh của chúng đều không phẳng.) Trong mọi đồ thị đơn phẳng liên thông có được vẽ không cắt nhau, mỗi miền mặt được bao bởi ít nhất cạnh và mỗi cạnh tiếp giáp tối đa mặt, nên đếm số cặp liên thuộc cạnh-mặt cho . Thay từ công thức Euler cho , tức . Với ta có và , vi phạm , nên không phẳng. Với đồ thị hai phía , không có chu trình lẻ (do đó không có tam giác), nên mỗi mặt cần ít nhất cạnh: , kết hợp với cho . Vì có và , vi phạm , nên cũng không phẳng.
Chia nhỏ một cạnh (thay nó bằng một đường đi qua các đỉnh mới bậc ) không ảnh hưởng tới việc đồ thị có vẽ được trên mặt phẳng không cắt nhau hay không, nên mọi đồ thị chứa một phép chia cạnh của hoặc đều không phẳng. Với chiều ngược lại (chiều đủ), do Kuratowski chứng minh năm 1930, ta quy nạp theo : một đồ thị không phẳng tối tiểu phải -liên thông, và khi xóa một cạnh sẽ tạo ra đồ thị phẳng mà chu trình bao quanh hai đầu mút của có các dây cung đan xen cả bên trong lẫn bên ngoài, buộc phải xuất hiện một phép chia cạnh của hoặc bên trong .
Theo bổ đề bắt tay, một đồ thị có 5 cạnh thì tổng bậc các đỉnh bằng
Trong số , , và đồ thị Petersen, đồ thị nào có chu trình Euler?
Trong một đồ thị hai phía với hai phần , hai đỉnh chỉ có chung một đỉnh lân cận, tức . Định lý Hall cho biết điều gì?
Cặp đồ thị nào chính xác là các phép chia cạnh bị cấm trong định lý Kuratowski?
Tài liệu tham khảo
- Vigleik Angeltveit, Brendan D. McKay (2024). R(5,5) ≤ 46 · arXiv:2409.15709 [preprint, chưa bình duyệt]
- Marcelo Campos, Simon Griffiths, Robert Morris, Julian Sahasrabudhe (2023). Towards fully exponential bounds for the diagonal Ramsey numbers · arXiv:2303.09521 [preprint, chưa bình duyệt]
- Reinhard Diestel (2017). Graph Theory
- Leonhard Euler (1736). Solutio problematis ad geometriam situs pertinentis