LY THUYET DO THI BAI 18

6 8 0
LY THUYET DO THI BAI 18

Đang tải... (xem toàn văn)

Thông tin tài liệu

Khi thêm cạnh (a, b) vào đồ thị vẫn không làm xuất hiện chu trình. Mâu thuẫn với điều 4). Khi bớt đi một cạnh bất kỳ, đồ thị vẫn không có chu trình. Giả sử cặp đỉnh a, b được nối bằng[r]

(1)

BÀI 18

Chương 11

Cây số ứng dụng

Trong chương ta xét dạng đặc biệt có nhiều ứng dụng đồ thị vơ hướng Đó khái niệm

11.1 Cây

Khái niệm Cayley đưa vào năm 1857

Định nghĩa 11.1: Giả sử T = (V, E) đồ thị vơ hướng Ta nói đồ thị T

một liên thơng khơng có chu trình Ví dụ 11.2: Đồ thị

Hình 11.1 Cây đỉnh

Kết cho số tính chất lý thú dùng làm định nghĩa cho

Định lý 11.1 Với đồ thị vơ hướng T có số đỉnh khơng 2, tính chất sau

đây tương đương: T

T chu trình có n-1 cạnh T liên thơng có n-1 cạnh

T khơng có chu trình, thêm cạnh nối hai đỉnh khơng kề xuất chu trình

T liên thơng, bớt cạnh tính liên thơng Mỗi cặp đỉnh nối với đường đơn

Chứng minh:

Chú ý đồ thị T khơng có chu trình chu số 0, nghĩa là: m = n - p

1) ⇒ 2) : Vì p = m = n - p suy ra: m = n -

(2)

2) ⇒ 3) : m = n - p, m = n - p =

3) ⇒ 4) : p = 1, m = n - suy ra: m = n - p Vậy chu số đồ thị T = 0, đồ thị T khơng có chu trình Thêm cạnh vào m tăng thêm cịn n, p khơng đổi Khi chu số c = m - n + p = Đồ thị có chu trình

4) ⇒ 5) : c = nên m = n - p

Giả sử ngược lại, đồ thị T không liên thông Thế có hai đỉnh a, b khơng liên thông Khi thêm cạnh (a, b) vào đồ thị khơng làm xuất chu trình Mâu thuẫn với điều 4)

Vậy đồ thị phải liên thông, nghiã p = Suy ra: m = n -

Khi bớt cạnh bất kỳ, đồ thị khơng có chu trình Do m - = n - p' Thế p' = đồ thị tính liên thơng

5) ⇒ 6) : Vì đồ thị T liên thơng nên cặp đỉnh có đường đơn nối chúng Giả sử cặp đỉnh a, b nối hai đường đơn khác Khi có cạnh e thuộc đường không thuộc đường Ta bỏ cạnh e đi, đồ thị liên thông Trái với điều 5)

6) ⇒ 1) : Suy đồ thị T liên thơng

Giả sử T có chu trình Vậy hai đỉnh chu trình nối hai đường đơn khác Mâu thuẫn với điều 6)  11.2 Cây bao trùm đồ thị

Giả sử G đồ thị vô hướng 11.2.1 Cây bao trùm

Định nghĩa 11.3: Cây T gọi bao trùm đồ thị G T

đồ thị riêng G

Ví dụ 11.4: Đồ thị G cho hình vẽ

(3)

và số bao trùm G là:

Hình 11.3 Hai bao trùm đồ thị

Cây bao trùm có nhiều ứng dụng tốn điều khiển giao thơng, nối mạng điện …

Định lý 11.2: Đồ thị vơ hướng G có bao trùm G liên thông

Chứng minh:

⇒ : Hiển nhiên, bao trùm liên thơng suy G liên thông ⇐ : Chọn a đỉnh đồ thị G

Ký hiệu d(x) độ dài đường ngắn nối đỉnh a với đỉnh x Lần lượt xây dựng tập hợp

D0 = {a}

Di = {x⏐d(x) = i} với i ≥

Hình 11.4 Cách xây dựng bao trùm

Chú ý: Mỗi đỉnh x thuộc Di (i ≥ 1) có đỉnh y thuộc Di-1 cho (x, y)

cạnh, < a, , y, x > đường ngắn nối a với x < a, , y > đường ngắn nối a với y y ∈ Di-1

Ta lập tập cạnh T sau: Với đỉnh x đồ thị G, x ∈ Di với i ≥ 1,

ta lấy cạnh nối x với đỉnh Di-1 Tập cạnh tạo nên

(4)

đỉnh nối với đỉnh a Theo tính chất 3) T Do vậy, T bao trùm đồ thị G 

Định lý 11.3 (Cayley): Số bao trùm đồ thị vô hướng đầy đủ n đỉnh nn-2

Kết cho ta thấy số lượng bao trùm đồ thị nói chung lớn

Các thuật toán duyệt đồ thị theo chiều rộng chiều sâu công cụ tốt để tìm bao trùm đồ thị liên thơng

Thuật tốn 11.4 (Tìm bao trùm đồ thị liên thông phương pháp duyệt

theo chiều sâu):

Dữ liệu: Biểu diễn mảng DK danh sách kề đồ thị vô hướng G Kết quả: Cây bao trùm (V, T) đồ thị G

1 procedure CBT_S (v) ; begin

3 Duyet [v] := true ; for u ∈ DK[v] if ! Duyet [u] then

6 begin T := T ∪ {(v,u)} ; CBT_S (u) end ; end ;

8 BEGIN { Chương trình } for u ∈ V Duyet [u] := false ;

10 T := ∅ ;

11 CBT_S (z) ; { z đỉnh tuỳ ý đồ thị, trở thành gốc } 12 END

Tính đắn thuật tốn suy từ tính chất sau đây:

Khi ta thêm cạnh (v,u) vào tập cạnh T đồ thị (V, T) có đường từ z tới v Vậy thuật tốn xây dựng lên đồ thị liên thơng

Mỗi cạnh (v,u) thêm vào tập T có đỉnh v duyệt đỉnh u duyệt Vậy đồ thị xây dựng khơng có chu trình

Theo tính chất phép duyệt theo chiều sâu, thủ tục CBT_S thăm tất đỉnh đồ thị liên thông G

(5)

Hiển nhiên, độ phức tạp thật toán là: O(n+m)

Ví dụ 11.5: áp dụng thuật tốn cho đồ thị (nét mảnh) ta nhận bao trùm (nét đậm) sau

Hình 11.5 Cây bao trùm đồ thị tìm theo phương pháp duyệt sâu

Một cách tương tự, ta áp dụng phép duyệt đồ thị theo chiều rộng để tìm bao trùm đồ thị liên thơng nhận thuật tốn sau

Thuật tốn 11.5 (Tìm bao trùm đồ thị liên thông phương pháp duyệt

theo chiều rộng):

Dữ liệu: Biểu diễn mảng DK danh sách kề đồ thị vô hướng G Kết quả: Cây bao trùm (V, T) đồ thị G

1 BEGIN for u ∈ V Duyet [u] := false ; T := ∅ ;

4 Q := ∅ ;

5 enqueue z into Q ; { z đỉnh tuỳ ý đồ thị gốc } 6 Duyet [z] := true ;

7 while Q ≠ ∅

8 begin deqưeue v from Q ; 9 for u ∈ DK[v] 10 if ! Duyet [u] then 11 begin enqueue u into Q ;

12 Duyet [u] := true ; 13 T := T ∪ {(v,u)} 14 end

15 END

(6)

Ví dụ 11.6: áp dụng thuật toán cho đồ thị (nét mảnh) ta nhận bao trùm (nét đậm) sau

Ngày đăng: 14/04/2021, 01:53

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan