lý thuyết đồ thị

345 44 0
lý thuyết đồ thị

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

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

nếu xóa đi k đỉnh này cùng với các cạnh liên kết với chúng khỏi G thì đồ thị nhận được có hơn k thành phần.. Đường đi và chu trình Hamilton[r]

(1)

LÝ THUYẾT ĐỒ THỊ

(2)

Nội dung

Chương Các khái niệm bản

– Đồ thị vơ hướng có hướng – Các thuật ngữ bản

– Một số dạng đồ thị vô hướng đặc biệt

Chương Biểu diễn đồ thị

– Ma trận kề, ma trận trọng số, Ma trận liên thuộc đỉnh

cạnh

– Danh sách cạnh, Danh sách kề

Chương Duyệt đồ thị

(3)

Nội dung

Chương Cây khung đồ thị

– Cây tính chất cây – Cây khung đồ thị

– Bài toán khung nhỏ nhất

Chương Bài toán đường ngắn nhất

– Phát biểu toán

– Đường ngắn xuất phát từ đỉnh (Thuật toán Dijkstra,

Ford-Bellman)

– Đường ngắn đồ thị khơng có chu trình

– Đường ngắn cặp đỉnh (Thuật toán Floyd)

Chương Bài toán luồng cực đại mạng

(4)

Chương

(5)

Chương

CÁC KHÁI NIỆM CƠ BẢN

1.1 Đồ thị thực tế

1.2 Các loại đồ thị 1.3 Bậc đỉnh 1.4 Đồ thị

1.5 Đồ thị đẳng cấu

1.6 Đường chu trình 1.7 Tính liên thơng

(6)

• Trong tốn học đời thường hiểu là:

Bản vẽ hay Sơ đồ biểu diễn liệu nhờ sử dụng hệ thống toạ độ.

• Trong tốn rời rạc:

Đây cấu trúc rời rạc có tính trực quan cao, rất tiện ích để biểu diễn quan hệ.

Đồ thị gì?

Khơng phải

cái ta muốn đề cập

(7)

Các ứng dụng thực tế đồ thị

• Có tiềm ứng dụng nhiều lĩnh vực (Đồ

thị dùng để biểu diễn quan hệ Nghiên cứu quan hệ đối tượng mục tiêu nhiều lĩnh vực khác nhau)

• Ứng dụng mạng máy tính, mạng giao thơng,

mạng cung cấp nước, mạng điện,…) lập lịch, tối ưu hoá luồng, thiết kế mạch, quy hoạch phát triển

• Các ứng dụng khác: Phân tích gen, trò chơi máy

(8)

Mối liên hệ môn học 321 143 142 322 326 341 370 378 401 421

Đỉnh = môn học

Cạnh có hướng = đk tiên

(9)

Biểu diễn mê cung

S

Đỉnh = phòng

S

E

B

(10)

Biểu diễn mạch điện

(Electrical Circuits)

Đỉnh = nguồn, công tắc, điện trở, … Cạnh = đoạn dây nối

Nguồn Công tắc

(11)

Các câu lệnh chương trình Program statements

x1=q+y*z

x2=y*z-q Thoạt nghĩ:

Loại Biểu thức

chung: y z * -q + q * x1 x2 -q + q * x1 x2

(12)

Yêu cầu trình tự (Precedence)

S1 a=0; S2 b=1; S3 c=a+1 S4 d=b+a; S5 e=d+1; S6 e=c+d;

3 6

5

4

Các câu lệnh phải thực trước S6? S1, S2, S3, S4

Đỉnh = câu lệnh

(13)

Truyền thơng mạng máy tính

(Information Transmission in a Computer Network)

Hà nội New York Bắc kinh Tokyo Sydney Seoul

Đỉnh = máy tính

(14)

Luồng giao thông xa lộ (Traffic Flow on Highways)

Đỉnh = thành phố

Cạnh = lượng xe cộ tuyến đường cao tốc kết nối thành phố

(15)(16)(17)(18)(19)(20)(21)

Chương

CÁC KHÁI NIỆM CƠ BẢN

1.1 Đồ thị thực tế

1.2 Các loại đồ thị

1.3 Bậc đỉnh 1.4 Đồ thị

1.5 Đồ thị đẳng cấu

1.6 Đường chu trình 1.7 Tính liên thơng

(22)

Đồ thị vơ hướng (Undirected Graphs)

Định nghĩa. Đơn (đa) đồ thị vô hướng G = (V,E) cặp gồm:

• Tập đỉnh V là tập hữu hạn phần tử, các phần tử

gọi đỉnh

• Tập cạnh E là tập (họ) khơng có thứ tự

dạng

(23)

Đơn đồ thị vô hướng (Simple Graph)

Ví dụ: Đơn đồ thị G1 = (V1, E1),

V1={a, b, c, d, e, f, g, h},

E1={(a,b), (b,c), (c,d), (a,d), (d,e), (a,e), (d,b), (f,g)}

a

b e

d

c g

f

(24)

Đa đồ thị vơ hướng (Multi Graphs)

Ví dụ: Đa đồ thị G2 = (V2, E2),

V2={a, b, c, d, e, f, g, h},

E2={(a,b), (b,c), (b,c), (c,d), (a,d), (d,e), (a,e), (a,e), (a, e), (d,b), (f,g)}

Đồ thị G d

Cạnh lặp e

(25)

Đồ thị có hướng (Directed Graph)

Định nghĩa. Đơn (đa) đồ thị có hướng G = (V,E)

cặp gồm:

• Tập đỉnh V là tập hữu hạn phần tử, các phần tử

gọi đỉnh

• Tập cung E là tập (họ) có thứ tự dạng

(26)

Ví dụ: Đơn đồ thị có hướng G3= (V3, E3),

V3={a, b, c, d, e, f, g, h},

E3={(a,b), (b,c), (c,b), (d,c), (a,d), (b, d), (a,e), (d,e), (e,a), (f,g), (g,f)}

Đơn đồ thị có hướng (Simple digraph)

a

b e

d

c g

f

(27)

Đa đồ thị có hướng (Multi Graphs)

Ví dụ: Đa đồ thị có hướng G4= (V4, E4),

V4={a, b, c, d, e, f, g, h},

E4={(a,b), (b,c), (c,b), (d,c), (a,d), (b, d), (a,e), (a,e), (d,e), (e,a), (f,g), (g,f)}

e

a

b

c

f

g

(28)

Các loại đồ thị: Tóm tắt

• Chú ý:

– Một dạng đồ thị sử dụng hơn, giả đồ thị Giả

đồ thị là đa đồ thị mà có khuyên (cạnh nối đỉnh với nó)

– Cách phân loại đồ thị dùng chưa

Loại Kiểu cạnh Có cạnh lặp? Đơn đồ thị vô hướng Vô hướng Không

Đa đồ thị vơ hướng Vơ hướng Có

Đơn đồ thị có hướng Có hướng Khơng Đa đồ thị có hướng Có hướng Có

(29)

Các thuật ngữ

Graph Terminology

Chúng ta cần thuật ngữ liên quan đến mối quan hệ đỉnh cạnh đồ thị sau:

Kề nhau, nối, đầu mút, bậc, bắt đầu, kết thúc, bán bậc

vào, bán bậc ra,…

u

v v

u

(30)

Kề (Adjacency)

Cho G đồ thị vô hướng với tập cạnh E Giả sử eE

cặp (u,v) Khi ta nói:

u, v kề nhau/lân cận/nối với nhau (adjacent /

neighbors / connected)

• Cạnh e liên thuộc với hai đỉnh u v. • Cạnh e nối (connect) u v.

• Các đỉnh u v đầu mút (endpoints) cạnh e.

v u

(31)

Tính kề đồ thị có hướng

• Cho G đồ thị có hướng (có thể đơn đa) giả

sử e = (u,v) cạnh G Ta nói:

u v kề nhau, u kề tới v, v kề từ ue khỏi u, e vào v.

e nối u với v, e từ u tới v

– Đỉnh đầu (initial vertex) e u

u

v

(32)

Chương

CÁC KHÁI NIỆM CƠ BẢN

1.1 Đồ thị thực tế 1.2 Các loại đồ thị

1.3 Bậc đỉnh

1.4 Đồ thị

1.5 Đồ thị đẳng cấu

1.6 Đường chu trình 1.7 Tính liên thơng

(33)

Bậc đỉnh (Degree of a Vertex)

• Giả sử G đồ thị vơ hướng, vV đỉnh đó. • Bậc đỉnh v, deg(v), số cạnh kề với

• Đỉnh bậc gọi đỉnh cô lập (isolated). • Đỉnh bậc gọi đỉnh treo (pendant). • Các ký hiệu thường dùng:

(G) = {deg(v): v  V},

(34)

Ví dụ a b c e d f

deg(d) =

deg(f) =

f đỉnh cô lập b kề với c c kề với b Cạnh (a,b) liên thuộc

với hai đỉnh a b

g deg(g) = g đỉnh treo

(35)

Định lý bắt tay

(Handshaking Theorem)

Định lý Giả sử G đồ thị vô hướng (đơn đa) với

tập đỉnh V tập cạnh E Khi

CM: Trong tổng vế trái cạnh e=(u,v)E tính

hai lần: deg(u) deg(v)

(36)

Ví dụ

Biết đỉnh đồ thị vô hướng G=(V,E) với 14 đỉnh 25 cạnh có bậc Hỏi G có đỉnh bậc 3?

Giải Giả sử Gx đỉnh bậc Khi có 14-x đỉnh bậc

Do | E | = 25, nên tổng tất bậc 50 Từ đó, 3x + 5(14-x) = 50

(37)

Bậc đỉnh đồ thị có hướng

• Cho G đồ thị có hướng, v đỉnh G.

Bán bậc vào (in-degree) v, deg-(v), số

cạnh vào v.

Bán bậc (out-degree) v, deg(v), số

cạnh khỏi v.

Bậc v, deg(v):deg-(v)+deg(v), tổng

(38)

Ví dụ f a b c e d

deg-(d) = 2

deg+(d)=

deg-(f) = deg+(f)= b kề tới c c kề từ b

deg-(a) = deg+(a)= a- đỉnh nguồn

deg-(e) = deg+(e)=

(39)

Định lý bắt tay có hướng Directed Handshaking Theorem

Định lý Giả sử G đồ thị có hướng (có thể đơn

đa) với tập đỉnh V tập cạnh E Khi đó:

• Chú ý khái niệm bậc đỉnh không thay đổi cho dù

ta xét đồ thị vô hướng hay có hướng

E v v v V v V v V v         

- deg( )

(40)

Chương

CÁC KHÁI NIỆM CƠ BẢN

1.1 Đồ thị thực tế 1.2 Các loại đồ thị

1.3 Bậc đỉnh

1.4 Đồ thị con

1.5 Đồ thị đẳng cấu

1.6 Đường chu trình 1.7 Tính liên thơng

(41)

Đồ thị (Subgraphs)

Định nghĩa Đồ thị H=(W,F) gọi đồ thị

đồ thị G=(V,E) WV FE

• Ký hiệu: HG.

(42)

Ví dụ

Định nghĩa Đồ thị H đồ thị G nếu

V(H)  V(G) E(H)  E(G) (viết tắt HG)

u

v w

x y

v w

x y

v w

x y

(43)

Định nghĩa Cho G = (V, E) đồ thị vô hướng

Giả sử SV, S   Đồ thị cảm sinh S đồ thị

con cực đại G với tập đỉnh S (thường ký hiệu <S>)

Đồ thị H đồ thị G gọi đồ thị cảm sinh đỉnh (vertex-induced subgraph) G tìm SV

sao cho H=<S>

Ví dụ:

Đồ thị cảm sinh

Induced Subgraph

G v w H không đồ thị

cảm sinh G.

v w

(44)

Loại bỏ đỉnh

The deletion of vertices

Định nghĩa Cho G = (V, E) đồ thị vô hướng Giả sử SV Ta

gọi việc loại bỏ tập đỉnh S khỏi đồ thị việc loại bỏ tất đỉnh S cạnh kề với chúng

• Như ký hiệu đồ thị thu G-S, ta có G-S = <V-S>

Nếu S={v}, để đơn giản ta viết G-v

G

u

v w

Giả sử S={x,u} 

G-S

u

(45)

Định nghĩa. Cho G = (V, E) đồ thị vô hướng

Giả sử XE, X   Đồ thị cảm sinh X đồ thị

nhỏ G với tập cạnh X (ký hiệu <X>)

Đồ thị H G gọi đồ thị cảm sinh cạnh (edge-induced subgraph) H=<X> tập X

E

Ví dụ:

Đồ thị cảm sinh cạnh Edge Induced Subgraph

G

u

v w

Cho X={(u,v),(v,w)} 

<X>

u

(46)

Ví dụ Cho G=(V,E) đồ thị vơ hướng

Nếu H=<E(G)>, suy H=<V(G)> không?

No

G u

v w

H

v w

Đồ thị cảm sinh cạnh cảm sinh đỉnh

Dễ thấy, G = <V(G)>

(47)

Định nghĩa.

Đồ thị HG gọi đồ thị bao trùm G

nếu tập đỉnh H tập đỉnh G: V(H) = V(G)

Định nghĩa.

Ta viết H = G + {(u,v), (u,w)} hiểu

E(H) = E(G) ∪ {(u,v), (u,w)}, (u,v), (u,w)E(G) Đồ thị bao trùm

(48)

Hợp hai đồ thị

• Hợp G1G2 hai đơn đồ thị G1=(V1, E1) G2=(V2,E2)

là đơn đồ thị (V1V2, E1E2)

a b c

d e

a b c

d f

(49)

Hợp đồ thị

(50)

Chương

CÁC KHÁI NIỆM CƠ BẢN

1.1 Đồ thị thực tế 1.2 Các loại đồ thị

1.3 Bậc đỉnh 1.4 Đồ thị

1.5 Đồ thị đẳng cấu

1.6 Đường chu trình 1.7 Tính liên thơng

(51)

Đồ thị đẳng cấu Graph Isomorphism

Định nghĩa:

Hai đơn đồ thị vô hướng G1=(V1, E1) G2=(V2, E2)

đẳng cấu (isomorphic) iff  song ánh f : V1V2 cho  a, b V1, a b kề G1 iff f(a) f(b) kề

nhau G2

f hàm đặt tên lại đỉnh hai đồ thị

đồng

• Có thể tổng qt định nghĩa cho loại đồ thị

(52)

Bất biến đẳng cấu

Điều kiện cần nhưng đủ để

G1=(V1, E1) đẳng cấu với G2=(V2, E2):

– Ta phải có |V1|=|V2|, |E1|=|E2|.

(53)

Ví dụ đẳng cấu

• Nếu đẳng cấu gán tên cho đồ thị thứ hai

(54)

Có đẳng cấu khơng?

• Nếu đẳng cấu gán tên cho đồ thị thứ hai để thấy

rõ đẳng cấu, trái lại nêu rõ khác biệt

a

b

c

d

e

Cùng số lượng đỉnh

Cùng số

lượng cạnh

Khác số lượng

(55)

Hai đồ thị sau đẳng cấu với nhau A

B

C D

E

A’

B’

(56)

Ví dụ:

Hai đơn đồ thị G1 G2 sau đẳng

cấu qua phép đẳng cấu f: a x,

(57)

Ví dụ:

• Hai đồ thị G1 G2 sau có đỉnh cạnh

(58)

Ví dụ:

• Hai đồ thị G1 G2 có đỉnh, 10 cạnh, có

(59)

Ví dụ:

(60)(61)

Chương

CÁC KHÁI NIỆM CƠ BẢN

1.1 Đồ thị thực tế 1.2 Các loại đồ thị

1.3 Bậc đỉnh 1.4 Đồ thị

1.5 Đồ thị đẳng cấu

1.6 Đường chu trình

1.7 Tính liên thơng

(62)

Đường đi, Chu trình

Định nghĩa Đường P độ dài n từ đỉnh u đến đỉnh v,

trong n số nguyên dương, đồ thị G=(V,E) dãy

P: x0, x1, , xn-1, xn

u = x0, v = xn, (xi, xi+1) E, i = 0, 1, 2, ,

n-1.

Đường nói cịn biểu diễn dạng dãy

các cạnh:

(x0, x1), (x1, x2), , (xn-1, xn).

(63)

Đường đi, Chu trình

• Đường gọi đường sơ cấp khơng

có đỉnh bị lặp lại nó.

• Đường gọi đường đơn giản

khơng có cạnh bị lặp lại nó.

• Nếu có đường từ u đến v ta nói đỉnh v

(64)

Ví dụ: 1, 2, 5, 3, 1, a, 2, c, 5, d, 3, e,

Ví dụ: 5, 2, 3, 5, c, 2, b, 3, e,

Không có đỉnh lặp nên đường đơn giản

2 3 4

a b

c 1

5 d

e

2 3 4

a b

c 1

5 d

e

(65)

P1

Ví dụ (cont.)

• P1=(1,b,2,h,3) đường

đi đơn

• P2=(4,c,5,e,2,g,6,f,5,d,1)

là đường không đường đơn

(66)

P1 Ví dụ (cont.)

P1=(1, b, 2, h, 3)

đường đơn

P2=(4,c,5,e,2,g,6,f,5,d,1)

(67)

Chu trình

• Đường có đỉnh đầu trùng với đỉnh cuối (tức là

u = v) gọi chu trình

• Chu trình gọi sơ cấp nếu ngoại trừ

(68)

Chu trình

1, 2, 3, (hay 1, a, 2, b, 3, e)

Chu trình đơn

Chu trình: (1, 2, 3, 4, 1) hay

1, a, 2, b, 3, c, 4, d, 1

Chu trình đơn

2

3 4

a b

c d 1 e 2 3 4

a b

c d

1 e

(69)

Ví dụ: Chu trình đồ thị vơ hướng

C1=(V,b,X,g,Y,f,W,c,U,a,V) chu trình đơn

C2=(U,c,W,e,X,g,Y,f,W,d,V,a,U) chu trình khơng

là chu trình đơn

(70)

Ví dụ: Chu trình đồ thị có hướng

C1=(V,b,X,g,Y,f,W,c,U,a,V) chu trình đơn

C2=(U,c,W,e,X,g,Y,f,W,d,V,a,U) chu trình khơng

là chu trình đơn

(71)

Chương

CÁC KHÁI NIỆM CƠ BẢN

1.1 Đồ thị thực tế 1.2 Các loại đồ thị

1.3 Bậc đỉnh 1.4 Đồ thị

1.5 Đồ thị đẳng cấu

1.6 Đường chu trình

1.7 Tính liên thơng

(72)

Tính liên thơng (Connectedness)

• Đồ thị vơ hướng gọi liên thơng ln tìm

được đường nối hai đỉnh

Ví dụ

G1 G2 đồ thị liên thơng

• Đồ thị G bao gồm G G không đồ thị liên thông

f i

j k

G1

(73)

Tính liên thơng (Connectedness)

Mệnh đề: Ln tìm đường đơn nối hai đỉnh

bất kỳ đồ thị vô hướng liên thơng

Chứng minh.

(74)

Tính liên thơng (Connectedness)

Thành phần liên thơng (Connected component): Đồ thị

con liên thông cực đại đồ thị vô hướng G gọi thành phần liên thơng

Ví dụ: Đồ thị G có thành phần liên thơng G1, G2, G3

(75)

Thành phần liên thông

Gỉa sử vV Gọi

V(v) – tập đỉnh đồ thị đạt đến từ v,

E(v) – tập cạnh có đầu mút V(v).

V(a)={a,b,c,d,e,g};

G1≡G(a)

a b c e d g f i j k

G3 ≡G(i)

(76)

Ví dụ: Cho G đồ thị vô hướng n  đỉnh Biết (G) = min{deg(v): vV}  (n-1)/2

Chứng minh G liên thông

Chứng minh.

Phản chứng Giả sử G không liên thơng, (G)  (n-1)/2,

nên thành phần liên thơng phải chứa (n-1)/2+1 = (n+1)/2 đỉnh

(77)

Đỉnh rẽ nhánh cầu (Connectedness)

Đỉnh rẽ nhánh (cut vertex): đỉnh mà việc loại bỏ làm tăng

số thành phần liên thơng đồ thị

Cầu (bridge): Cạnh mà việc loại bỏ làm tăng số thành phần

liên thơng đồ thị

Ví dụ:

Cạnh (e,g) cầu

a

b c

e d

(78)

Mệnh đề Cạnh e đồ thị liên thông G cầu e khơng thuộc chu trình G

Chứng minh

() Cho e cầu G

Giả sử e = (u,v), giả sử ngược lại e nằm chu trình Cu, v, w, …, x, u.

  Khi

C - ev, w, …, x, u

đường từ u đến v đồ thị G - e.

Ta chứng minh: G - e liên thơng.

(Điều mâu thuẫn với giả thiết e cầu)

(79)

Thực vậy, giả sử u1, v1V(G-e)=V(G)

Do G liên thông, nên  đường P: u1v1 G

Nếu eP, P đường G-e

  đường u1v1 G-e

Nếu eP,

(PC)-e đường u1v1 G-e (xem hình)

Vậy ln tìm đường u1v1 G-e

C

(80)

() Giả sử e=(u,v) cạnh khơng nằm chu trình

nào G Khi G-e khơng chứa đường uv

Trái lại, P đường uv trên G-e, P{(u,v)}

là chu trình G chứa e ?!

(81)

Không phải tất đồ thị liên thông đồng giá trị! Q: Hãy đánh giá xem đồ thị sơ đồ nối

mạng máy tính có giá trị hơn: 1) G1

2) G2 3) G3

(82)

k-Connectivity

A: Ta muốn mạng máy tính thơng suốt có máy bị hỏng:

1) 2nd best Vẫn có điểm

yếu— “cut vertex” 2) 3rd best Thông suốt

nhưng máy điểm “yếu” 3) Tồi nhất!

Không thông suốt

(83)

k-Connectivity

Mạng

tốt tính liên thơng có đỉnh bị loại bỏ Nói cách khác mạng 2-liên thơng (song liên thông)

Định nghĩa. Đơn đồ thị vô hướng liên thông với n3

(84)

k-liên thông

Tổng quát:

Định nghĩa Đơn đồ thị vô hướng gọi k-liên thông muốn phá vỡ tính liên thơng ta phải loại bỏ k đỉnh

Ví dụ:

• Q3 3-liên thơng • Q4 ?-liên thơng

Q3

(85)

Tính liên thơng Đồ thị có hướng

• Đồ thị có hướng gọi liên thông mạnh

(strongly connected) ln tìm đường nối hai đỉnh

• Đồ thị có hướng gọi liên thông yếu

(weakly connected ) đồ thị vơ hướng thu từ việc bỏ qua hướng tất cạnh đồ thị vơ hướng liên thơng

• Dễ thấy G liên thơng mạnh

(86)

Ví dụ

• Đồ thị liên thơng mạnh Đồ thị liên thông yếu

(87)

Chương

CÁC KHÁI NIỆM CƠ BẢN

1.1 Đồ thị thực tế 1.2 Các loại đồ thị

1.3 Bậc đỉnh 1.4 Đồ thị

1.5 Đồ thị đẳng cấu

1.6 Đường chu trình 1.7 Tính liên thơng

(88)

Một số dạng đơn đồ thị vô hướng đặc biệt

• Đồ thị đầy đủ (Complete graphs) Kn • Chu trình (Cycles) Cn

• Bánh xe (Wheels) Wnn-Cubes Qn

• Đồ thị hai phía (Bipartite graphs)

• Đồ thị hai phía đầy đủ (Complete bipartite graphs) Km,n • Đồ thị qui

(89)

Đồ thị đầy đủ Complete Graphs

• Với nN, đồ thị đầy đủ n đỉnh, Kn, đơn đồ thị vô

hướng với n đỉnh hai đỉnh ln có cạnh nối: u,vV: uv  (u,v)E

K5 K6

K1 K

(90)

Đồ thị đầy đủ Complete Graphs

(91)(92)

Chu trình (Cycles)

• Giả sử n3 Chu trình n đỉnh, Cn, đơn đồ thị vô hướng

với V={v1,v2,… ,vn} E={(v1,v2),(v2,v3),…,(vn-1,vn), (vn,v1)}

C3 C

4 C

5 C6 C

7 C8

(93)

Bánh xe (Wheels)

• Với n3, bánh xe Wn, đơn đồ thị vô hướng thu

được cách bổ sung vào chu trình Cn đỉnh vhub n cạnh nối

{(vhub,v1), (vhub,v2),…,(vhub,vn)}

W3 W

4 W

(94)

Siêu cúp

(n-cubes /hypercubes)

• Với nN, siêu cúp Qn đơn đồ thị vô hướng gồm hai

bản Qn-1 đỉnh tương ứng nối với Q0 gồm đỉnh

Q0

Q1 Q2

Q3 Q4

(95)

Siêu cúp

(n-cubes /hypercubes)

• Với nN, siêu cúp Qn đơn đồ thị vô hướng gồm hai

bản Qn-1 đỉnh tương ứng nối với Q0 gồm đỉnh

Q0 Q1

Q2 Q

(96)(97)

Siêu cúp

(n-cubes /hypercubes)

• Với nN, siêu cúp Qn định nghĩa đệ qui sau:

Q0={{v0},} (một đỉnh khơng có cạnh)

– Với nN, Qn=(V,E), V={v1,…,va}

E={e1,…,eb}, Qn+1=(V{v1´,…,va´}, E{e1´,…,eb

´}{(v1,v1´),(v2,v2´),…,(va,va´)})

• Nghĩa siêu cúp Qn+1 thu từ hai siêu cúp Qn

Q

(98)

Định nghĩa. Đồ thị G=(V,E) hai phía

V = V1 V2 với V1∩V2= eE: v1V1, v2V2: e=(v1,v2)

Bằng lời: Có thể phân hoạch

tập đỉnh thành hai tập cho cạnh nối hai đỉnh thuộc hai tập khác

Đồ thị hai phía (Bipartite Graphs)

V1 V2

(99)

Đồ thị hai phía đầy đủ

(Complete Bipartite Graphs)

• Với m, nN, đồ thị hai phía đầy đủ Km,n đồ thị hai phía

trong |V1| = m, |V2| = n, E = {(v1,v2)|v1V1 v2V2}

Km,n có m đỉnh tập bên trái, n đỉnh tập bên phải,

mỗi đỉnh phần bên trái nối với đỉnh phần bên phải

(100)

Định nghĩa Đồ thị G gọi đồ thị qui bậc r

nếu tất đỉnh có bậc r

Ví dụ:

Đồ thị qui

r-regular graph

Đồ thị qui bậc

Đồ thị qui

(101)

Đồ thị Platonic

• Xét khối đa diện Platonic không gian 3-chiều

Tetrahedron

(102)

Đồ thị Platonic

• Đồ thị platonic thu việc chiếu khối đa diện tương

ứng xuống mặt phẳng

(103)

Bài tập

• Một đồ thị bánh xe Wn có 36 cạnh Tìm số đỉnh đồ

thị?

• Cho đồ thị G= (V,E) có 10 đỉnh, đỉnh có bậc

Tìm số cạnh đồ thị?

• Đồ thị có kích thước ma trận liên kề ma trận

(104)

Bài tập

• Đồ thị vịng có phải đồ thị phân đơi khơng? Giải thích,

(105)(106)

Cây rừng (Tree and Forest)

Định nghĩa. Ta gọi đồ thị vô hướng liên thơng khơng có

chu trình Đồ thị khơng có chu trình gọi rừng.

• Như vậy, rừng đồ thị mà thành phần liên thơng

một

T1

(107)

VÍ DỤ

(108)

Các tính chất cây

Định lý Giả sử T=(V,E) đồ thị vô hướng n đỉnh Khi

đó mệnh đề sau tương đương:

(1) T cây;

(2) T khơng chứa chu trình có n-1 cạnh;

(3) T liên thơng có n-1 cạnh;

(4) T liên thơng cạnh cầu;

(5) Hai đỉnh T nối với đường đơn;

(109)

Đồ thị phẳng

(Planar Graphs)

Định nghĩa Đồ thị vơ hướng G gọi đồ thị phẳng

nếu vẽ mặt phẳng cho khơng có hai cạnh cắt ngồi đỉnh

(110)

Các đồ thị Platonic phẳng

(111)(112)

4-Cube có đồ thị phẳng không?

(113)

K3,3 K5 khơng đồ thị phẳng

• Đồ thị K3,3 K5 không đồ thị phẳng

(114)

Khảo sát đồ thị phẳng

• Để khảo sát đồ thị phẳng ta hạn chế đơn đồ

thị Bởi vì:

• Nếu đồ thị phẳng có cạnh lặp khuyên (loop)

– Chập cạnh lặp lại thành cạnh đơn – Loại bỏ tất khuyên

(115)

Khảo sát đồ thị phẳng

Ví dụ: Xét đồ thị phẳng • Loại bỏ khuyên cạnh lặp:

(116)

Cơng thức Euler Euler's Formula

• Nếu G đồ thị phẳng, cách vẽ phẳng G chia

mặt phẳng thành vùng mà ta gọi diện

(faces)

• Một diện khơng bị chặn gọi

diện vơ hạn

• Giả sử f diện đó, ta gọi bậc của f , ký hiệu

deg(f ), số cạnh đường vịng quanh biên diện f

• Nếu tất diện có bậc (chẳng hạn, g), G

(117)

Cơng thức Euler Euler's Formula

Ví dụ: Đồ thị G sau có diện, f4 diện vơ hạn

• Dễ thấy đồ thị trên:

deg(f1)=3, deg(f2)=4, deg(f3)=9, deg(f4)=8

• Nhận thấy tổng bậc diện lần số cạnh của đồ

(118)

Cơng thức Euler

• Cơng thức Euler cho biết mối liên hệ số đỉnh, số cạnh số diện

của đồ thị phẳng Nếu n, m, f theo thứ tự số đỉnh, cạnh diện đồ thị phẳng liên thơng ta có nm+f =

• Cơng thức Euler khẳng định cách vẽ phẳng đồ thị

phẳng liên thông cho số diện là:f= – n + m.

• Định lý (Euler's Formula) Cho G đồ thị liên thông phẳng, n, m f số đỉnh, số cạnh diện đồ thị phẳng Khi n

(119)

Chứng minh cơng thức Euler

Chứng minh. Qui nạp theo số cạnh m

Cơ sở qui nạp: Khi m=0, ta có n=1 f=1 Do nm+f = 2.

Bước qui nạp: Giả sử khẳng định cho đồ thị phẳng liên

thơng có m cạnh, m  1, giả sử Gm

cạnh Nếu G cây, n=m+1 f=1 cơng thức Mặt khác, G khơng gọi e cạnh chu trình

của G xét G\e Đồ thị phẳng liên thơng G\en đỉnh, m-1 cạnh, f – diện, theo giả thiết qui nạp

n(m1) + (f1) = 2

(120)

Hệ quả

Hệ 1. Giả sử G đơn đồ thị phẳng liên thông với n đỉnh,

trong n ≥ 3 m cạnh Khi m ≤ 3n

Chứng minh. Đối với đồ thị Gf diện, từ bổ đề bắt

tay, suy 2m = (tổng bậc diện) ≥ 3f (bởi bậc diện đơn đồ thị 3), f ≤ 2/3 m

• Kết hợp với cơng thức Euler

n m + f = ta thu

m n + ≤ 2/3 m.

Từ suy

(121)

K5 khơng đồ thị phẳng

Hệ K5 không đồ thị phẳng.

Chứng minh Giả sử K5 là đồ thị phẳng Do K5 có đỉnh

và 10 cạnh, nên từ bổ đề suy

10<= (3 × 5) – =

Điều phi lý chứng minh K5 không đồ thị phẳng

Chú ý: K3,3 có đỉnh cạnh, bất đẳng thức ≤ (3

(122)

Hệ 3

Hệ Giả sử G đơn đồ thị phẳng liên thông với n đỉnh m

cạnh khơng chứa tam giác Khi m ≤ 2n

Chứng minh. Giả sử G có f diện, từ bổ đề bắt

tay đồ thị phẳng ta có 2m 4 f (bởi bậc diện đơn đồ thị không chứa tam giác 4), f ≤ 1/2 m

• Theo cơng thức Euler ta có

n m + f = hay m n + = f.

Từ ta thu

(123)

K3,3 khơng đồ thị phẳng

Hệ 4. K3,3 khơng đồ thị phẳng

Chứng minh Giả sử K3,3 phẳng Do K3,3 có đỉnh,

cạnh không chứa tam giác, nên từ hệ suy ≤ (2×6) – =

Điều phi lý chứng tỏ K3,3 không đồ thị phẳng

(124)

Bài toán xây dựng hệ thống cung cấp lượng

• Tìm cách xây dựng hệ thống đường ống nối nguồn cung cấp khí

(125)

Chứng minh Q4 không phẳng

Ta chứng minh Q4 không đồ thị phẳng

• Trước hết ta tính số đỉnh cạnh:

|V | = 16 (gấp đôi số đỉnh 3-cube)

|E | = 32 (hai lần số cạnh 3-cube cộng với số đỉnh 3-cube)

• Bây giờ, giả sử 4-cube đồ thị phẳng, theo hệ

quả ta phải có:

(126)

Nhận biết đồ thị phẳng

• Các hệ điều kiện cần để đồ thị phẳng

chỉ sử dụng để đồ thị khơng phải phẳng Có nhiều đồ thị thoả mãn hệ phẳng Vì ta cần đưa tiêu chuẩn nhận biết đồ thị phẳng Ta bắt đầu số nhận xét

Nhận xét 1

– Khơng phải đồ thị phẳng

– Ví dụ, ta chứng minh K5 K3,3 không phẳng

Nhận xét 2

– Nếu G đồ thị phẳng đồ thị phẳng; – Ta thường sử dụng dạng phủ định

(127)

Ví dụ: Đồ thị G1 chứa K5 đồ thị con, đồ thị

G2 chứa K3,3 đồ thị con, nên G1 G2 không đồ thị phẳng:

(128)

Nhận xét

Nhận xét 3.

– Nếu G phẳng cách chia cạnh G đồ thị phẳng

Nhận xét 3a: Nếu G thu cách chia cạnh đồ thị không

phẳng khơng đồ thị phẳng

Ví dụ: Đồ thị G3 thu từ K5 cịn G4 thu từ K3,3

G3 : G4:

• Từ nhận xét (2a) (3a) ta suy đồ thị G chứa đồ thị thu

(129)

Nhận biết đồ thị phẳng

Định nghĩa Ta gọi phép chia cạnh (u,v) đồ thị G việc

thêm vào G đỉnh w, loại bỏ cạnh (u,v) thêm vào hai cạnh (u,w) (w,v)

Định nghĩa. Hai đồ thị G H gọi đồng phơi

(homeomorphic) ta thu chúng từ đồ thị phép chia cạnh

Ví dụ:

(130)

Định lý Kuratowski

Định lý Kuratowski (1930) Đồ thị G đồ thị phẳng

khi khơng chứa đồ thị đồng phơi với K5 K3, 3

Ví dụ: Đồ thị Petersen khơng đồ thị phẳng đồng

phôi với đồ thị K5

Đồ thị Petersen K

(131)

Đồ thị Euler

• Định nghĩa

(132)

Bài tốn cầu Kưnigsberg

• Hiện Kaliningrad (thuộc Nga) • Sơng Pregel

A B

C

D

(133)

Bài toán cầu Kưnigsberg

• Tồn hay cách qua tất cầu

đúng lần lại quay vị trí xuất phát?

A

B

C

D

A

B

D

(134)

Đường chu trình Euler

• Định nghĩa: Xét đồ thị liên thơng G

 Một đường Euler G đường đơn giản có

đỉnh bắt đầu khác đỉnh kết thúc qua tất cạnh G Lúc G gọi đường Euler

 Một chu trình Euler G chu trình đơn giản

qua tất cạnh G Lúc G cịn gọi chu trình Euler

(135)

Đường chu trình Euler

• Định lý 2.1: (Định lý Euler 1)

• Cho đồ thị vơ hướng G liên thơng có đỉnh

Khi đó, G có chu trình Euler đỉnh G có bậc chẵn

A

B E

(136)

Đường chu trình Euler

• Thuật tốn tìm chu trình Euler đồ thị G(V, E)

(137)(138)

Đường chu trình Euler

0 1 1 0

1 1 1

1 1 1 1

0 1 1 0

0 1 0 1

0 1 1

1

1 6

(139)

Đường chu trình Euler

0 1 0

0 1 1

1 1 1 1

0 1 1 0

0 1 0 1

0 1 1

1 6

(140)

Đường chu trình Euler

0 1 0

0 0 1 1

1 0 1 1

0 1 1 0

0 1 0 1

0 1 1

1 6

(141)

Đường chu trình Euler

0 0 0

0 0 1 1

0 0 1 1

0 1 1 0

0 1 0 1

0 1 1

1 6

(142)

Đường chu trình Euler

0 0 0

0 0 1

0 0 1 1

0 1 0

0 1 0 1

0 1 1

1 6

(143)

Đường chu trình Euler

0 0 0

0 0 1

0 0 0 1

0 0 0

0 1 0 1

0 1 1

1 6

(144)

Đường chu trình Euler

0 0 0

0 0 1

0 0 0 0 0 0

0 1 0 1

0 0 1

1 6

(145)

Đường chu trình Euler

0 0 0

0 0 1

0 0 0 0 0 0

0 1 0 0

0 0 0 6

(146)

Đường chu trình Euler

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 6

(147)

Ví dụ: Tìm đường chu trình Euler

(148)

Ví dụ: Tìm đường chu trình Euler

• H2: Đồ thị Euler

(149)

Đường chu trình Euler

• Định lý 2.2 (Định lý Euler 2):

Cho đồ thi vô hướng G liên thơng có đỉnh Khi đó, G có đường Euler G có đỉnh bậc lẻ

A

B

E Đường Euler:

(150)(151)

Đường chu trình Euler

• Định lý 2.3 (Định lý Euler 3):

Cho đồ thị có hướng G liên thơng có đỉnh Khi đó, G có chu trình Euler G cân

A

B E

(152)

Đường chu trình Euler

• Định lý 2.4 (Định lý Euler 4):

Cho đồ thị có hướng G liên thơng có đỉnh Khi đó, G có đường Euler G có đỉnh a, b thỏa:

dout(a) = din(a) + din(b) = dout(b) +

(153)

Đường chu trình Euler

A

B

C D

E Đường Euler:

(154)

Định nghĩa:

Một đồ thị liên thông (liên thông yếu đồ thị có

hướng) có chứa đường Euler gọi đồ thị nửa Euler

Hệ quả: Đồ thị liên thơng G nửa Euler

(155)

Bài tập:

• Với giá trị n đồ thị sau có chu trình Euler

?

• Với giá trị m n đồ thị phân đôi đầy đủ

Km,n có:

(156)

Đồ thị Hamilton

• Định nghĩa

(157)

Đường chu trình Hamilton (1805-1865)

• Định nghĩa:

Xét đồ thị liên thơng G có đỉnh

 Một đường Hamilton G đường sơ cấp

qua tất đỉnh G

 Một chu trình Hamilton G chu trình sơ cấp

(158)

Đồ thị Hamilton

• Đồ thị có hai đỉnh bậc 1 khơng đồ thị Hamilton

(159)

Trò chơi vòng quanh giới

(Round-the-World Puzzle)

• Bạn cách qua tất đỉnh

của dodecahedron (thập nhị diện) đỉnh lần?`

Sir William Rowan Hamilton

(160)

Ví dụ

(161)

Ví dụ: CM Qn (n  3) đồ thị Hamilton

Chứng minh. Qui nạp theo n.

Cơ sở: n=3 đúng

Chuyển qui nạp: Giả sử Qn-1 hamilton Xét Qn:

x

y y

x Ví dụ

x x

(162)

Đường chu trình Hamilton

A

B

C D

E

A

B E

Đường Hamilton: ABECD

(163)

Đường chu trình Hamilton

A B

C D

A B

Chu trình Hamilton: ABCDA

(164)

Đường chu trình Hamilton

• Qui tắc tìm chu trình Hamilton

1 Nếu tồn đỉnh G có bậc  G khơng có

chu trình Hamilton

2 Nếu đỉnh x có bậc cạnh tới x phải thuộc chu trình Hamilton

3 Chu trình Hamilton khơng chứa chu trình thực

4 Trong trình xây dựng chu trình Hamilton, sau lấy cạnh tới đỉnh x đặt vào chu trình

(165)

Đường chu trình Hamilton

1

2

5

6

7

(166)

Đường chu trình Hamilton

7

Xóa cạnh (1,5), (1,4),

(1,3), (1,7), (1,8), (1,9) (theo quy tắc 4)

Các đỉnh 3, 4, bậc 2,

đó cạnh (2,3), (3,4), (4,5), (5,6) phải thuộc chu trình Hamilton (quy tắc 2)

Chu trình con:

(167)

Đường chu trình Hamilton

7

Chọn cạnh (1,2), (1,3) Xóa

các cạnh (1,4), (1,5), (1,6), (1,7), (1,8), (1,9) (quy tắc 4)

Xóa cạnh (2,3) để khơng tạo

chu trình (quy tắc 3)

Các đỉnh 4, 5, 6, 7, 8, có bậc

2 nên thuộc chu trình Hamilton (quy tắc 2)

(168)

Ví dụ: Tìm chu trình đường Hamilton

• G3: Đồ thị Hamiton

(169)

Thuật toán liệt kê tấc chu trình Hamilton

• Thuật tốn dựa sở thuật toán quay lui cho phép

(170)(171)(172)(173)(174)

Đường chu trình Hamilton

• Định lý 2.5: Mọi đồ thị đầy đủ có chu trình

(175)

Đường chu trình Hamilton

• Định lý 2.6: Cho đồ thị G Giả sử có k đỉnh G cho

nếu xóa k đỉnh với cạnh liên kết với chúng khỏi G đồ thị nhận có k thành phần Khi đó, G khơng có chu trình Hamilton

(176)

Đường chu trình Hamilton

• Định lý 2.7 (Định lý Dirac):

Coi đồ thị G liên thơng có n đỉnh (n  3) Nếu

(177)

Đường chu trình Hamilton

• Định lý 2.8 (tổng quát định lý 2.7):

(178)

Đường chu trình Hamilton

• Định lý 2.9:

Mọi đồ thị có hướng đầy đủ có đường Hamilton

A B

C D

(179)

Định nghĩa:

• Một đồ thị có chứa đường Hamilton gọi

đồ thị nửa Hamilton

Định lý (Rédei): Nếu G đồ thị có hướng đầy đủ

thì G đồ thị nửa Hamilton

Hệ quả: Nếu G đơn đồ thị có n đỉnh đỉnh

(180)

Định lý: Nếu G đồ thị phân đôi với hai tập đỉnh V1,

(181)

Tóm tắt

 Một đường Euler G đường đơn giản

có đỉnh bắt đầu khác đỉnh kết thúc qua tất cạnh G Khi G gọi đường Euler

 Một chu trình Euler G chu trình đơn giản

(182)

Tóm tắt

• Cho đồ thị vơ hướng G liên thơng có đỉnh

Khi đó, G có chu trình Euler đỉnh G có bậc chẵn

• Cho đồ thi vô hướng G liên thông có đỉnh

(183)

Tóm tắt

• Cho đồ thị có hướng G liên thơng có đỉnh Khi đó,

G có chu trình Euler G cân

• Cho đồ thị có hướng G liên thơng có đỉnh Khi đó,

G có đường Euler G có đỉnh a, b thỏa:

dout(a) = din(a) + din(b) = dout(b) +

(184)

Tóm tắt

• Một đường Hamilton G đường sơ cấp

qua tất đỉnh G

• Một chu trình Hamilton G chu trình sơ cấp

qua tất đỉnh G

• Chưa có điều kiện cần đủ để xác định chu trình

(185)

Tutte Graph

(186)

Đồ thị không nửa Hamilton

• Các đỉnh bậc phải đỉnh bắt đầu kết thúc

đường Hamilton

Đồ thị có ba đỉnh bậc

(187)

Đồ thị không nửa Hamilton

• Đồ thị sau khơng nửa Hamilton.

Chú ý: Phần khó chứng minh đồ thị Tutte

(188)

Định lý tồn đường Hamilton

Định lý Dirac: Nếu G đơn đồ thị vô hướng liên thông

với n3 đỉnh, v deg(v) n/2, G có chu trình

Hamilton

Định lý Ore: Nếu G đơn đồ thị vô hướng liên thông với

(189)

Paul Adrien Maurice Dirac 1902 - 1984

(USA)

Oystein Ore 1899 - 1968

(190)

HAM-CIRCUIT NP-đầy đủ

• Gọi HAM-CIRCUIT toán:

– Cho đơn đồ thị vơ hướng G, hỏi G có chứa chu trình Hamilton

hay khơng?

• Bài tốn chứng minh thuộc lớp toán

NP-đầy đủ!

– Có nghĩa là, tìm thuật tốn để giải thời

(191)

Chương

CÁC KHÁI NIỆM CƠ BẢN

1.1 Đồ thị thực tế 1.2 Các loại đồ thị

1.3 Bậc đỉnh 1.4 Đồ thị

1.5 Đồ thị đẳng cấu

1.6 Đường chu trình 1.7 Tính liên thông

(192)

Tô màu đồ thị

Graph Coloring

(193)

Tô màu đồ thị - Graph Coloring

(194)

Tô màu đồ - Map Coloring

Ta muốn nhận biết nước cách tô màu

(195)

Map Coloring

(196)

Map Coloring

(197)

Map Coloring

(198)

Map Coloring

(199)

Map Coloring

(200)

Map Coloring

Ngày đăng: 21/04/2021, 05:13

Từ khóa liên quan

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

Tài liệu liên quan