Trần Vĩnh Đức, luận văn chuyên ngành Toán Ứng dụng với đề tài: "Một số thuật toán tìm đường đi dài nhất trên đồ thị" được hoàn thành bởi sự nhận thức và tìm hiểu của bản thân tác giả.. T
Trang 1TRƯỜNG ĐẠI HỌC SƯ PHẠM HÀ NỘI 2
Thạch Thị Quỳnh Anh
MỘT SỐ THUẬT TOÁN TÌM ĐƯỜNG ĐI DÀI NHẤT TRÊN ĐỒ THỊ
LUẬN VĂN THẠC SĨ TOÁN HỌC
Chuyên ngành: Toán Ứng dụng
HÀ NỘI, 2018
Trang 2TRƯỜNG ĐẠI HỌC SƯ PHẠM HÀ NỘI 2
THẠCH THỊ QUỲNH ANH
MỘT SỐ THUẬT TOÁN TÌM ĐƯỜNG ĐI DÀI NHẤT TRÊN ĐỒ THỊ
LUẬN VĂN THẠC SĨ TOÁN HỌC
Chuyên ngành: Toán Ứng dụng
Mã số: 8 46 01 12
Người hướng dẫn khoa học: TS TRẦN VĨNH ĐỨC
HÀ NỘI, 2018
Trang 3đã giúp đỡ tôi trong suốt quá trình học tập tại trường.
Nhân dịp này tôi cũng xin gửi lời cảm ơn đến gia đình, bạn bè luôn cổ vũ, động viên, giúp đỡ tôi trong suốt quá trình học tập và hoàn thiện luận văn này.
Hà Nội, ngày 16 tháng 10 năm 2018
Tác giả luận văn
THẠCH THỊ QUỲNH ANH
Trang 4LỜI CAM ĐOAN
Tôi xin cam đoan, dưới sự hướng dẫn của thầy giáo TS Trần Vĩnh Đức, luận văn chuyên ngành Toán Ứng dụng với đề tài: "Một số thuật toán tìm đường
đi dài nhất trên đồ thị" được hoàn thành bởi sự nhận thức và tìm hiểu của bản thân tác giả.
Trong quá trình nghiên cứu và thực hiện luận văn, tác giả đã kế thừa những kết quả của các nhà khoa học với sự trân trọng và biết ơn.
Hà Nội, ngày 16 tháng 10 năm 2018
Tác giả luận văn
THẠCH THỊ QUỲNH ANH
Trang 5Mục lục
1.1 Một số khái niệm cần thiết trên đồ thị 71.2 Độ phức tạp thuật toán 111.3 Bài toán đường đi dài nhất trên đồ thị 14Chương 2 Một số kết quả thu được về việc xấp xỉ bài
toán đường đi dài nhất trên đồ thị 162.1 Đặt vấn đề 162.2 Thuật toán tìm đường đi dài trên đồ thị 182.3 Đồ thị bền với đường đi ngắn 202.4 Tìm đường đi dài nhất trong những đồ thị ngẫu nhiên thưa
thớt 242.5 Kết luận về độ khó 282.5.1 Kết quả về độ khó của đồ thị Hamilton 282.5.2 Tính chất hệ cải thiện và kết quả về độ khó của bài
toán đường đi dài nhất 29
Trang 6Chương 3 Thuật toán thời gian đa thức cho bài toán
đường đi dài nhất trên một số lớp đồ thị đặc
3.1 Bài toán đường đi dài nhất trên đồ thị khoảng 38
3.1.1 Đồ thị khoảng 38
3.1.2 Tính có cấu trúc của đồ thị khoảng 39
3.1.3 Đường đi dài nhất trên đồ thị khoảng 42
3.2 Bài toán đường đi dài nhất trên đồ thị hoán vị 47
3.2.1 Đồ thị hoán vị 47
3.2.2 Bài toán đường đi dài nhất trên đồ thị hoán vị 48
Trang 7MỞ ĐẦU
1 Lý do chọn đề tài
Do sự phát triển với tốc độ nhanh của công nghệ thông tin, lý thuyết
đồ thị đã trở thành một trong những lĩnh vực toán học quan trọng vàcần thiết Trên thực tế, lý thuyết đồ thị tỏ ra là một mô hình hữu hiệucho mô hình hóa các bài toán tính toán và tối ưu tổ hợp Bài toán đường
đi dài nhất là một trong những bài toán cơ bản nhất của lí thuyết đồ thị
Nó có nhiều ứng dụng trong thực tế như trong lập kế hoạch, tự động hóathiết kế điện tử, việc tìm kiếm các con đường quan trọng trong mạch
IC hoặc hệ thống VLSI
Khác với bài toán đường đi ngắn nhất, là bài toán giải được trongthời gian đa thức, bài toán đường đi dài nhất là NP-khó vì nó chứa bàitoán đường đi Hamilton như một trường hợp riêng, và do đó không thểgiải được trong thời gian đa thức trừ phi P= NP Để vượt qua khó khănnày, một số hướng nghiên cứu đã được đề xuất:
1 Dùng thuật toán xấp xỉ thời gian đa thức
2 Giải bài toán cho một vài lớp đồ thị cụ thể
Với mong muốn tìm hiểu sâu hơn về bài toán đường đi dài nhất vàcác phương pháp giải nó, được sự hướng dẫn của TS Trần Vĩnh Đức,tôi chọn đề tài “ Một số thuật toán tìm đường đi dài nhất trên đồ thị“
2 Mục đích nghiên cứu
a Hướng giải xấp xỉ cho bài toán đường đi dài nhất
b.Thuật toán giải bài toán đường đi dài nhất trên một số lớp đồ thịđặc biệt
Trang 83 Nhiệm vụ nghiên cứu
Một số kết quả xấp xỉ thu được cho bài toán đường đi dài nhất trên
đồ thị, và thuật toán giải bài toán đường đi dài nhất trên một số lớp đồthị đặc biệt
4 Đối tượng và phạm vi nghiên cứu
- Đối tượng nghiên cứu: Bài toán đường đi dài nhất trên đồ thị
- Phạm vi nghiên cứu:
+ Giải xấp xỉ bài toán đường đi dài nhất
+ Thuật toán thời gian đa thức để giải bài toán đường đi dài nhấttrên đồ thị khoảng và đồ thị hoán vị
5 Phương pháp nghiên cứu
Sử dụng các kết quả gần đây về việc giải xấp xỉ bài toán đường đidài nhất
Hà Nội, ngày 16 tháng 10 năm 2018
Tác giả luận văn
THẠCH THỊ QUỲNH ANH
Trang 9Chương 1
Kiến thức chuẩn bị
Trong chương này chúng ta sẽ nhắc lại một số khái niệm và một sốkết quả cần thiết để bổ trợ cho các chương sau
1.1 Một số khái niệm cần thiết trên đồ thị
Trước hết, chúng ta nhắc lại một số khái niệm cơ sở của lí thuyết đồthị
Định nghĩa 1.1 Một đồ thị vô hướng G là một cặp có thứ tự G =(V, E), ở đây V là một tập còn E là một đa tập gồm các tập lực lượng
Định nghĩa 1.2 Cho v là một đỉnh của đồ thị G Bậc của đỉnh v
trong G, kí hiệu là degG(v), được định nghĩa bởi số các cạnh của G liênthuộc v, tức số tất cả các láng giềng của v trong G
Trang 10Hình 1.1: Đồ thị G
Đồ thị có thể vẽ trên mặt phẳng với các đỉnh là các điểm và các cạnhnối là các đường thẳng hoặc đường cong nối các điểm này Đây là mộttrong những ưu điểm của lý thuyết đồ thị Nó cho phép mô tả các lậpluận và chứng minh theo cách rất trực quan và sáng sủa
Hình 1.2: Một đồ thị con của G
Trang 11Ví dụ 1.2 Hình 1.2 cho một đồ thị con của đồ thị G trong ví dụ 1.1Định nghĩa 1.4 Cho đồ thị G = (V, E) Một đường đi L trong G làmột dãy các đỉnh khác nhau sao cho hai đỉnh kế tiếp nhau của L đều
kề nhau trong G Đường đi có đỉnh đầu trùng với đỉnh cuối được gọi làchu trình
Ví dụ 1.3 Xét đồ thị G trong hình 1.1 Dãy u3u1u4u5 là một đường đitrong G Dãy u1u3u5u1 là một chu trình trong G
Định nghĩa 1.5 Đồ thị vô hướng G = (V, E) được gọi là liên thôngnếu luôn tìm được đường đi giữa hai đỉnh bất kì của nó Trong trườnghợp ngược lại, đồ thị được gọi là không liên thông
(a) Đồ thị không liên thông (b) Đồ thị liên thông
Hình 1.3: Đồ thị không liên thông và đồ thị liên thông
Ví dụ 1.4 Một đồ thị không liên thông và một đồ thị liên thông đượccho trong hình 1.3
Định nghĩa 1.6 Đường đi qua tất cả các đỉnh của đồ thị được gọi làđường đi Hamilton Chu trình đi qua tất cả các đỉnh của đồ thị gọi làchu trình Hamilton Đồ thị có chứa chu trình Hamilton được gọi là đồthị Hamilton
Trang 12Ví dụ 1.5 Xét đồ thị G được cho trong hình 1.1, dãy u2u4u1u3u5 làđường đi Hamilton Đồ thị này không có chu trình Hamilton.
Định nghĩa 1.7 Một đồ thị liên thông không có chu trình được gọi làcây
Cây (có gốc) là cây trong đó có một đỉnh được chọn là gốc và mỗicạnh được định hướng trùng với hướng đi của đường đi duy nhất từ gốctới mỗi đỉnh
Trong một cây có gốc, nếu có một cạnh đi từ đỉnh x đến đỉnh y thìđỉnh x được gọi là cha của đỉnh y, y là con của x
Hai đỉnh cùng cha được gọi là anh em, đỉnh không có con được gọi là
Hình 1.4: Một cây với 9 đỉnh và 8 cạnh
Ví dụ 1.6 Một cây được cho trong hình 1.4 Trong đó u1 là gốc,
u4, u5, u6, u7, u8, u9 là lá Lá u4 có 2 cạnh đi từ gốc đến nó nên u4 cómức là 2
Trang 13Ví dụ 1.7 Mô tả thuật toán tìm số nguyên lớn nhất trong một dãyhữu hạn các số nguyên.
1 Đặt giá trị cực đại tạm thời bằng số nguyên đầu tiên trong dãy
2 So sánh số nguyên tiếp theo với giá trị cực đại tạm thời, nếu lớnhơn giá trị cực đại thì đặt giá trị cực đại tạm thời bằng số nguyên đó
3 Lặp lại bước 2 nếu còn số nguyên trong dãy
4 Giá trị cực đại tạm thời ở thời điểm này chính là số nguyên lớnnhất trong dãy
Như vậy khi mô tả (hay xây dựng) một thuật toán ta cần lưu ýđến các yếu tố sau:
1 Dữ liệu đầu vào :Một thuật toán phải mô tả rõ các giá trị đầu vào
từ một tập hợp các dữ liệu xác định
2 Dữ liệu đầu ra: Từ một tập các giá trị đầu vào thuật toán sẽ tạo
ra các giá trị đầu ra
Một thuật toán có các tính chất sau:
1 Tính xác định: Các bước của thuật toán phải được xác định mộtcách chính xác, các chỉ dẫn phải rõ ràng, có thể thực hiện được
2 Tính hữu hạn: Thuật toán phải kết thúc sau một số hữu hạn bước
3 Tính đúng đắn: Thuật toán phải cho kết quả đúng theo yêu cầucủa bài toán đặt ra
4 Tính tổng quát: Thuật toán phải được áp dụng cho mọi bài toán
Trang 14cùng loại, với mọi dữ liệu đầu vào như đã được mô tả.
Để đánh giá hiệu quả của một thuật toán, có thể xét số các phép tínhphải thực hiện khi thực hiện thuật toán này Thông thường số các phéptính được thực hiện phụ thuộc vào cỡ của bài toán, tức là độ lớn củađầu vào Tuy nhiên trong những ứng dụng thực tiễn, chúng ta khôngcần biết chính xác hàm này mà chỉ cần biết một ước lượng đủ tốt củachúng Sau đây chúng ta sẽ đưa ra một số khái niệm liên quan đến việcđánh giá độ phức tạp của thuật toán
Kí hiệu f (x) = O(g(x))
Ví dụ 1.9 Xét hàm số f (x) = x2 + 2x + 3, rõ ràng f (x) = O(x2) vìvới mọi x > 1 ta có f (x) ≤ x2 + 2x2 + 3x2 = 6x2
Chú ý rằng các số C và N nếu tồn tại thì không phải là duy nhất.Định nghĩa 1.11 Ta nói rằng f (x) là O-lớn của g(x) khi x dần tớidương vô cùng nếu như tồn tại hai hằng số C > 0 và N > 0 sao cho vớimọi x > N thì |f (x)| ≤ C.|g(x)|
Kí hiệu f (x) = O(g(x))
Định nghĩa 1.12 Ta nói rằng f (x) = Ω(g(x)) nếu như tồn tại hằng
số C > 0 và dãy x1, x2, x3, sao cho với mọi i thì |f (xi)| > C.|g(xi)|
Ví dụ 1.10 x = Ω(logn)
Trang 15Định nghĩa 1.13 Ta nói rằng f (x) tăng theo hàm mũ nếu tồn tại
c > 1 và d sao cho f (x) = Ω(cx) và f (x) = O(dx)
6 Độ phức tạp giai thừa O(n!)
Định nghĩa 1.14 DTIME là các lớp độ phức tạp bao gồm các bài toánquyết định giải được trong một giới hạn thời gian nhất định Nếu các
dữ liệu vào có kích thước n giải được trong thời gian f (n) thì bài toánnằm trong lớp độ phức tạp DT IM E(f (n))
Tiếp theo ta sẽ đưa ra khái niệm về độ phức tạp P, N P:
Định nghĩa 1.15 Một bài toán quyết định được gọi là thuộc lớp P
nếu tồn tại một thuật toán giải bài toán trong thời gian O(nc) với mộthằng số c không phụ thuộc kích thước đầu vào n
Định nghĩa 1.16 Một bài toán quyết định được gọi là thuộc lớp N P
nếu lời giải có thể kiểm chứng được trong thời gian đa thức
Về mặt trực quan, một bài toán dễ giải thì cũng dễ kiểm tra lời giải
Do đó P ⊆ N P
Định nghĩa 1.17 Một bài toán quyết định A được gọi là N P-đầy đủnếu như A là một bài toán trong N P và nếu có một một thuật toánthời gian đa thức cho những bài toán này, thì mọi bài toán NP đều giảiđược trong thời gian đa thức
Trang 16Định nghĩa 1.18 Một bài toán A được gọi là NP-khó nếu nó "ít nhất
là khó ngang bất kì bài toán nào trong NP"
Ví dụ 1.12 Có nhiều bài toán NP-khó ví dụ như bài toán người bánhàng , bài toán xếp ba lô
1.3 Bài toán đường đi dài nhất trên đồ thị
Trong mục này ta sẽ nhắc lại khái niệm về bài toán đường đi dài nhấttrên đồ thị
Định nghĩa 1.19 (Bài toán đường đi dài nhất) Cho một đồ thị
G = (V, E) Hãy tìm trong Gmột đường đi dài nhất, tức một dãy nhiềunhất các đỉnh khác nhau sao cho hai đỉnh kế tiếp nhau đều kề nhautrong G
Hình 1.5: Một đồ thị với đường đi dài nhất đi qua tất cả các đỉnh
Bài toán đường đi dài nhất trên đồ thị là bài toán cơ bản của lýthuyết đồ thị Khác với bài toán đường đi ngắn nhất, là bài toán giảiđược trong thời gian đa thức, bài toán đường đi dài nhất là bài toánNP-khó do nó chứa bài toán đường đi Hamilton như một trường hợp
Trang 17riêng Bởi vậy đối với bài toán này, việc tìm kiếm một lời giải xấp xỉtrong thời gian đa thức là một giải pháp cần thiết và có ý nghĩa nhấtđịnh về mặt lý thuyết cũng như ứng dụng thực tiễn.
Trang 18Chương 2
Một số kết quả thu được về việc xấp xỉ bài toán đường đi dài nhất trên đồ thị
2.1 Đặt vấn đề
Trong phần này, ta sẽ chỉ ra một vài thuật toán xấp xỉ thời gian
đa thức cho đường đi dài nhất Kết quả được lấy từ tài liệu tham khảo[2]
Một thuật toán tham lam được đưa ra và nó cho thấy có thể phát hiệnđược những đường đi dài trong một đồ thị dày đặc Ở điểm này, đâychính là thuật toán tốt nhất được biết đến trong một đồ thị bất kì Đốivới trường hợp nhóm lớn và các số bán cung, độ khó của bài toán đã đưađến những nghiên cứu về dữ liệu đặc biệt, nơi mà các điều kiện thuận lợinhất được đảm bảo để đạt được một giá trị nào đó Từ đó chúng ta xâydựng lên thuật toán để tìm ra đường đi dài nhất trong đồ thị Hamilton
Trang 19Hamilton yếu
Ta xét nhiều điều kiện cần để đường đi Hamilton được hình thànhqua một thuật toán tuyến tính số tự nhiên Những đồ thị thỏa mãn điệukiện này được gọi là đồ thị Hamilton yếu Ta không định nghĩa chínhxác mà thay vào đó sẽ đưa ra ba thuộc tính của đồ thị Hamilton yếu -được gọi là "các thuộc tính 1-2-3"
Cho đồ thị G(V, E) và một tập U ⊆ V , ta kí hiệu tập đỉnh đồ thịcon cảm sinh của G là G[U ]
Định nghĩa 2.1 (1-Tính bền) đồ thị G = (V, E) được gọi là 1-bền nếuvới bất kì tập U ⊂ V, đồ thị con cảm sinh G[V − U ] có nhiều nhất |U |
Định lý 2.1 Đồ thị Hamilton yếu bất kì là 1- bền, có 2-thừa số và là3-chu trình
Trang 20Dễ thấy rằng mỗi đồ thị Hamilton dạng G thỏa mãn cả ba tínhchất trên Bỏ đi k đỉnh của một chu trình sẽ tạo ra k đường đi Do đómột đồ thị Hamilton có thể tách ra thành nhiều nhất k thành phầnliên thông bằng cách bỏ đi k đỉnh kéo theo tính 1-bền Một chu trìnhHamilton là 2-thừa số của đồ thịG Cuối cùng, thuộc tính 3-chu trình cóđược từ thực tế rằng mỗi tập ba đỉnh đều nằm trên chu trình Hamilton.Định lý 2.2 Mỗi đồ thị Hamilton đều là Hamilton yếu.
2.2 Thuật toán tìm đường đi dài trên đồ thị
Bây giờ ta sẽ chỉ ra thuật toán để tìm được đường đi dài trên các đồthị 1-bền Nếu không xét đến các trường hợp đặc biệt thì với bất cứ đồ
G = (V, E) nào, chúng ta giả thiết rằng |V | = n và |E| = m Ta đo độdài của một đường đi dựa trên số lượng đỉnh trong nó Trước tiên ta sẽ
mô tả một thuật toán đơn giản để tìm ra đường đi dài trên đồ thị dàyđặc Sau đó, ta sẽ chỉ ra cách tìm một đường đi có độ dài Θ(logn) trênmột đồ thị 1-bền bất kì
Định lý 2.3 Bất kì một đồ thị nào có m cạnh và n đỉnh sẽ chứa mộtđường đi có độ dài d = mn
Chứng minh
Trước tiên ta xét một đồ thị với bậc d nhỏ nhất Rõ ràng, bất kì mộtđường đi dài nhất nào trên đồ thị này đều có độ dài tối thiểu là d Vìvậy, một thuật toán tham lam sẽ tìm được một đường đi có độ dài có độdài d Bây giờ, ta xét một đồ thị với m cạnh, n đỉnh và cho d = mn Lặplại việc chọn đỉnh có bậc nhỏ hơn d và bỏ đi đỉnh này cùng tất cả cáccạnh liên thuộc với nó Quá trình này sẽ dừng khi phần đồ thị còn lại
có bậc nhỏ nhất là d Tất nhiên phần đồ thị còn lại không thể là trống
Trang 21vì nhiều nhất có (d − 1)n < m đỉnh có thể bị bỏ đi khỏi đồ thị trongquá trình xóa các đỉnh có bậc nhỏ của đồ thị Nhưng đồ thị này có bậcnhỏ nhất là d, nên thuật toán tham lam là đúng.
Định lý 2.4 Cho G = (V, E) là đồ thị 1- bền với n đỉnh Khi đó câytìm kiếm theo chiều sâu trên G sẽ cho đường đi có độ dài Ω(logn).Chứng minh
Sử dụng cây DFS và xét đường đi đến tận gốc-lá được định nghĩanhư sau: Ở mỗi bước, chuyển đến cây con lớn nhất Giả sử rằng đường
đi này có độ dài l và các đỉnh trong đường đi này có bậc lần lượt là
d1.d2, , dl trong cây Vì cây không có đỉnh cô lập nên việc bỏ đi l đỉnhcủa đường đi này sẽ tách những đỉnh con của l đỉnh này khỏi nhau, tạo
đi gốc-lá có độ dài l là nhỏ nhất(bằng Θ(logn) ) khi mỗi giá trị di là 2
Do đó l ≥ logn
Hệ quả 2.1 Trên một đồ thị Hamilton với m cạnh,n đỉnh, một đường
đi có độ dài k có thể được tìm thấy trong thời gian O(m + k2!)
Chứng minh
Cùng một lập luận như định lí trước, với bất kì một mức độ nào củathuật toán tìm kiếm theo chiều sâu trên cây, số lượng giao điểm tại mức
độ đó sẽ nhỏ hơn hoặc bằng số lượng giao điểm trong tất cả các mức
độ trước đó (do đó cây được tìm thấy sẽ rất dễ dàng trở thành 1 cây
Trang 22nhị phân trong một chiều trung bình) Nếu độ sâu của một cây vượtquá k thì coi như chúng ta đã xong Còn nếu không, ta phải tìm ra cáccây con có chứa từ k đến k2 Một cây con như thế chắc chắn tồn tại vìgiống như đã thảo luận ở trên, mỗi cây giao điểm có tối đa k cây con.Đường đi từ gốc đên những cây con này chứa tối đa k đỉnh, cắt cây con
từ phần còn lại của đồ thị, vì vậy đường đi Hamilton có thể xuất hiện
và tồn tại ở cây con tối đa k lần Ta có thể kết luận rằng cây con nàychứa một đường đi có độ dài k , và có thể được tìm ra bằng tìm kiếmtheo chiều sâu
2.3 Đồ thị bền với đường đi ngắn
Bây giờ ta sẽ chứng minh giới hạn cao hơn của O(logn) trên đường đidài nhất trong đồ thị 1-bền Thực tế chúng ta chứng minh được rằng cótồn tại những đồ thị thỏa mãn cả 3 thuộc tính 1-2-3, đồ thị này có chiềudài đường đi dài nhất là O(logn) Ta định nghĩa mỗi đồ thị Gk(Vk, Ek)
với một số nguyên không âm k Đồ thị sẽ bao gồm 2k − 1 đỉnh thường
và 2 siêu đỉnh Những đỉnh thường được sắp xếp trong một cây nhị phânhoàn chỉnh Cây được bổ sung thêm bởi một đỉnh giữa mỗi cặp liềnnhau Ta phân biệt giữa cạnh cây và cạnh kề Hai siêu đỉnh được gọi là
s1 và s2, và chúng kề với mỗi đỉnh khác trong đồ thị, bao gồm lẫn nhau.Kích thước của Vk là n = 2k + 1
Những bổ đề dưới đây chỉ ra rằng Gk có đủ 3 thuộc tính 1-2-3
Bổ đề 2.1 Đồ thị Gk là 1-bền
Chứng minh Giả sử rằng đồ thịGk không chứa siêu đỉnh Sau đó ta chỉ
ra rằng việc loại bỏ bất cứ một tập W đỉnh thường nào sẽ cảm sinh ramột đồ thị con Gk[Vk − W ] với tối đa |W | + 1 thành phần liên thông.Điều này được chứng minh bởi phương pháp quy nạp đối với |W | Việc
Trang 23chứng minh một mệnh đề mạnh hơn là cần thiết, theo cách sau : Bằngcách bỏ đi bộ đỉnh W đồ thị sẽ bị tách ra thành tối đa |W | + 1 thànhphần và mỗi thành phần sẽ là một cây nhị phân (không nhất thiết làhoàn toàn) với số cạnh thêm vào giữa các đỉnh kề nhau Mệnh đề nàyđúng trong trường hợp |W | = 0 Ta giả sử rằng nó cũng đúng trongtrường hợp |W | = r Bây giờ hãy giả sử chúng ta xóa đi tập W S
Hình 2.1: Một đồ thị Hamilton yếu không chứa đường đi dài
Trang 24Giờ chúng ta sẽ xét tới các siêu đỉnh Giả sử chúng ta xóa đi bộ
W ⊆ Vk từ Gk , rõ ràng là phần đồ thị còn lại vẫn sẽ liên thông, nếu
W không chứa cả s1 và s2 Giờ chúng ta xét trường hợp mà s1 ∈ W
và s2 ∈ W, W0 = W − s1, s2 Với mệnh đề ở phần trước, sự xóa bỏ w
khỏi Gk có thể tạo ra tối đa |W0| + 1 phần nhỏ Ta có thể rút ra rằng
số lượng của phần nhỏ chính bằng |W | − 1, tạo ra tính 1-bền của Gk
Bổ đề 2.2 Đồ thị Gk là có 2-thừa số
Chứng minh Trước tiên hãy chú ý rằng bộ các đỉnh thường trong 2 cấpliên tiếp của cây có thể dễ dàng phân chia thành một bộ các tam giáctách rời nhau Xét trường hợp số lượng cấp là chẵn Chúng ta có thểghép cặp các cấp của đồ thị và thu về một bộ tam giác tách rời liênquan đến tất cả các đỉnh trừ hai siêu đỉnh Hai siêu đỉnh có thể đượcnối với bất cứ một tam giác nào đó để tạo ra một đồ thị đầy đủ K5
Vì K5 chứa một chu trình bậc 5 nên chúng ta có thể thu được 1 số chutrình rời rạc, mỗi chu kì có 1 đỉnh Đây chính là một thừa số bậc 2 Khi
số lượng của cấp là lẻ, 2 siêu đỉnh sẽ tạo ra một tam giác với đáy vànhững cấp độ còn lại được chia thành các tam giác như trước đó, tạo ramột bội số cấp 2
Bổ đề 2.3 Đồ thị Gk là có 3-chu trình
Chứng minh Gọi v1, v2, v3 lần lượt là ba đỉnh bất kì Giả sử rằng không
có đỉnh nào trong số ba đỉnh này là siêu đỉnh Rõ ràng sẽ có một đường
đi giữa v1 và v2 (chỉ sử dụng ba cạnh) Ta có thể gắn siêu đỉnh với haiđiểm kết thúc của đường đi này và sử dụng cạnh từ s1 đến v3 và từ v3
đến s2 để hoàn thành chu kì chứa cả ba đỉnh Không mất tính tổngquát, giả sử rằng một trong ba đỉnh, chẳng hạn v3, là một siêu đỉnh thì
sẽ tồn tại một đường đi chạy từ v1 tới v2 và không đi qua v3, mà vì v3
là siêu đỉnh nên nó sẽ kề với cả hai đỉnh v1 và v2, và những cạnh đó sẽ
Trang 25hoàn thiện một chu trình Nếu hai trong ba đỉnh là siêu đỉnh thì ta cóthể rút ra một tam giác chứa cả ba đỉnh đó.
Bổ đề sau đây sẽ giúp hình thành lên đường đi dài nhất của đồ thị
Gk với độ dài O(logn)
Bổ đề 2.4 Đường đi dài nhất trong đồ thị Gk không chứa siêu đỉnh,
có độ dài Θ(logn)
Chứng minh Xét đồ thị được hình thành bằng cách bỏ đi hai siêu đỉnh: đó là một cây nhị phân hoàn toàn nối tất cả những cạnh kề nhau Đểthuận tiên hơn ta sẽ đo chiều dài của một đường đi dựa trên số cạnh
Ta chứng minh bổ đề này bằng phương pháp quy nạp dựa trên cấp củacây nhị phân Giả sử rằng chiều dài của đường đi dài nhất tối đa là 4k
và chiều dài của đường đi dài nhất (mà kết thúc là gốc) đạt tối đa là 2k
- Trường hợp 1: Với k = 1 là tầm thường
- Trường hợp 2: Đồ thị có cấp k và lưu ý rằng k = logn Đường đi dàinhất trong đồ thị này bao gồm đường đi dài nhất trong đồ thị con bêntrái của gốc(kết thúc tại gốc), một đường đi nối hai phần qua gốc vàđường đi dài nhất trong đồ thị con bên phải của gốc(kết thúc tại gốc)
Do đó độ dài của đường đi dài nhất qua trong đồ thị cấp k có thể tối
đa gấp hai lần tổng độ dài của đường đi dài nhất trong cây con bên trái
và cây con bên phải (cả hai có cấp k − 1) Với giả thiết trên, điều này
có nghĩa là đuờng đi dài nhất sẽ không vượt quá 4k Tương tự, độ dàicủa đường đi dài nhất kết thúc tại gốc cũng chỉ tối đa lớn hơn 2 lần sovới độ dài của đường đi dài nhất trong đồ thị con bên trái hặc trong đồthị con bên phải Một lần nữa, với giả thiết trên, đường đi dài nhất kếtthúc tại gốc sẽ có độ dài tối đa là 2k
Độ dài của đường đi dài nhất trong Gk có thể lớn hơn độ dài củađường đi dài nhất không chứa những siêu đỉnh tối đa một thừa số bậc
3 Nguyên nhân là do bất cứ đường đi nào chứa hai siêu đỉnh sẽ bao
Trang 26gồm ba đường đi không chứa siêu đỉnh, nối lại với nhau bằng các siêuđỉnh Ta đã lập ra một giới hạn dựa vào đường đi dài nhất trong toàn
bộ đồ thị Gk
Bổ đề 2.5 Đồ thị Gk thỏa mãn 1-2-3- thuộc tính, có độ dài Θ(logn)
2.4 Tìm đường đi dài nhất trong những đồ thị
ngẫu nhiên thưa thớt
Bây giờ ta sẽ chuyển sang đồ thị Hamilton ngẫu nhiên Hãy chú ýrằng sự mở rộng được nhắc đến sau này sẽ trở nên vô ích khi chúng
ta thảo luận tìm ra đường đi có độ dài ne Vậy nên có một sự trùnghợp ngẫu nhiên là trong các đồ thị Hamilton , một đường đi có độ dài
Ω(√
n/logn) có thể được tìm thấy Phép phân tích dưới đây đúng vớihầu hết các đồ thị- thực tế thì đúng với bất cứ một đồ thị ngẫu nhiên nàođược hình thành bằng cách thêm một vài cạnh vào đường đi Hamilton,
để mà mỗi cạnh phi Hamilton có xác suất xảy ra ngang nhau Ví dụ,một cạnh ngẫu nhiên có thể tạo nên một đồ thị Gn,p hoặc một đồ thịđều ngẫu nhiên Đối với trường hợp đồ thị Hamilton có bậc trung bìnhlớn hơn 3, Broder đã đưa ra một thuật toán cho phép tìm ra chu trìnhHamliton trong thời gian đa thức Tuy nhiên, ta có thể làm được gì với
đồ thị thưa thớt, ví dụ như đồ thị bậc 3
Bổ đề 2.6 Cho G là một đồ thị Hamilton ngẫu nhiên đều cấp 3 với nđỉnh Tồn tại một thuật toán thời gian đa thức cho phép tìm ra đường
đi có độ dài Ω(√
n/logn) với xác suất thành công lớn
Một đồ thị Hamilton đều ngẫu nhiên bậc 3 có thể được xem như mộtchu trình Hamilton bởi những phần thêm vào hoàn hảo Ta sẽ gọi cáccạnh trên đường đi Hamilton là cạnh Hamilton và sẽ thay những cạnh
Trang 27Hamilton bằng những cạnh ghép cặp Ta gọi láng giềng của các đỉnhtrong một cạnh ghép cặp là cặp của nó Thuộc tính mấu chốt của nhữngcạnh ngẫu nhiên được sử dụng trong giả thuyết này đúng với tất cả cácđỉnh, cặp của nó được chọn một cách ngẫu nhiên giữa các đỉnh còn lại.Cuối cùng khoảng cách Hamilton giữa hai đỉnh là độ dài của đường đingắn nhất giữa chúng được tạo nên hoàn toàn bởi các cạnh Hamilton Thuật toán được thực hiện như một chuỗi các thử nghiệm Mỗi thửnghiệm ta sẽ bắt đầu tại một đỉnh được chọn ngẫu nhiên của đồ thị và
sẽ di chuyển một cách ngẫu nhiên với sự biến đổi mà đi qua cạnh cuốicùng không được xét đến là khả quan, cho bước kế tiếp, để mà chúng takhông cần quay trở lại ngay Đánh dấu mỗi đỉnh khi chúng được đi qua.Cuộc thử nghiệm kết thúc khi mà chúng ta quay lại điểm đã được đánhdấu, và thử nghiệm này sẽ thành công nếu ta tới được k = Ω(√
n/logn)
đỉnh trước khi bắt gặp một đỉnh được đánh dấu (trong suốt quá trìnhnày hay bất cứ một cuộc thử nghiệm nào trước đó) Ta nhận định rằngrất có thể chúng ta sẽ tìm ra một đường đi có độ dài k trong vòng
O(logn) thử nghiệm
Xét đến thử nghiệm thứ t với t = Ω(√
n/logn) Ở cuối thử nghiệmnày có tối đa kt đỉnh có thể đã được đánh dấu Phân tích cuộc thăm
dò trong suốt thử nghiệm mày như một chuỗi kỉ nguyên Một kỉ nguyên
sẽ kết thúc khi cuộc thăm dò đi qua một cạnh ghép cặp Bởi vì ở mỗibước của cuộc khảo sát, mỗi cạnh ghép cặp sẽ được đi qua với xác suất1
2, kỉ nguyên có độ dài O(logn) với xác suất cao Một đỉnh gọi là đángtin nếu khoảng cách Hamilton của nó, tính từ bất cứ một đỉnh nào đượcđánh dấu vượt quá Ω(logn) Gọi một kỉ nguyên là đáng tin nếu nó bắtđầu từ một đỉnh đáng tin Vậy nên khả năng lớn là sẽ không có đỉnhnào được đánh dấu đi qua trong suốt một kỉ nguyên đáng tin