Đang tải... (xem toàn văn)
° Baäc cuûa moät ñænh trong ñoà thò voâ höôùng laø soá caùc caïnh.. lieân thuoäc vôùi noù.[r]
(1)Đồ thị
7.1 Mở đầu
Tài liệu soạn theo sách Toán học rời rạc ứng dụng tin học, K H Rosen, người dịch: Phạm Văn Thiều Đặng Hữu Thịnh, Nhà xuất Khoa học kỹ thuật, 1998
(2)Các loại đồ thị
– Đồ thị cấu trúc rời rạc gồm đỉnh cạnh nối
các đỉnh đó.
– Chương này: Giới thiệu loại đồ thị khác mơ
hình loại mạng máy tính khác nhau.
– Định nghĩa Một đơn đồ thị G = (V, E) gồm ° V: tập đỉnh
° E: tập cạnh
– cạnh cặp không thứ tự đỉnh phân biệt.
Taây Ninh B
TPHCM
A
C
(3)Các loại đồ thị
– Định nghĩa Một đa đồ thị G = (V, E) gồm ° V: tập đỉnh
° E: taäp cạnh
° hàm f từ E tới {{u, v} u, v V, u v} Các cạnh e
1 vaø e2
được gọi song song hay cạnh bội f(e1) = f(e2).
Taây Ninh
Cần Thơ
B TPHCM
A
C
(4)Các loại đồ thị
– Định nghĩa Một giả đồ thị G = (V, E) gồm ° V: tập đỉnh
° E: tập cạnh
° hàm f từ E tới {{u, v} u, v V}.
° Một cạnh khuyên f(e) = {u} với đỉnh u
đó.
Tây Ninh
Cần Thơ
B TPHCM
A
(5)Các loại đồ thị • Nhận xét:
– Giả đồ thị loại đồ thị vô hướng tổng qt vì ° có thể chứa khun
° có thể chứa cạnh bội.
– Đa đồ thị: chứa cạnh bội, khơng chứa
khuyeân.
(6)Các loại đồ thị
– Định nghĩa Một đồ thị có hướng G = (V, E) gồm ° V: tập đỉnh
° E: tập cạnh
– cạnh cặp có thứ tự (khơng cần phải khác nhau)
các phần tử thuộc V
Tây Ninh
Cần Thơ
B TPHCM
A
C
(7)Các loại đồ thị
– Định nghĩa Một đa đồ thị có hướng G = (V, E) gồm ° V: tập đỉnh
° E: tập cạnh
° hàm f từ E tới {(u, v) u, v V}
– Các cạnh e1 e2 cạnh bội f(e1) = f(e2)
Tây Ninh
Cần Thơ
B TPHCM
A
C
(8)Các loại đồ thị • Bảng Thuật ngữ đồ thị
Loại
Đơn đồ thị Đa đồ thị Giả đồ thị
Đồ thị có hướng Đa đồ thị có hướng
Cạnh Vơ hướng Vơ hướng Vơ hướng Có hướng Có hướng
Có cạnh bội không? Không Có Có Không Có
Có khuyên không?
(9)Các mơ hình đồ thị
– Ví dụ Đồ thị “lấn tổ” sinh thái học, ° Mỗi loài biểu diễn đỉnh
° Một cạnh vô hướng nối hai đỉnh hai loài biểu
diễn đỉnh cạnh tranh với (tức chúng có chung nguồn thức ăn).
Cú
Gấu trúc Cắt
Quạ Sóc
Thú có túi
Chuột trù
Chuột Chim gõ kiến
Mô hình của
(10)Các mơ hình đồ thị
– Ví dụ Đồ thị ảnh hưởng dùng để mơ hình ảnh hưởng
người nhóm người
° Mỗi người nhóm biểu diễn đỉnh
° Khi người biểu diễn đỉnh a có ảnh hưởng lên
người biểu diễn đỉnh b đỉnh a đỉnh b nối cạnh có hướng
Minh
Hùng
Hải
(11)Các mơ hình đồ thị
– Ví dụ Thi đấu vịng trịn Một thi đấu thể thao
mỗi đội đấu với đội khác lần gọi đấu vòng trịn Mơ hình đồ thị có hướng:
° Mỗi đội đỉnh
° Một cạnh từ đỉnh a đến đỉnh b, ký hiệu (a, b), đội a
thắng đội b
Đội Đội
Đội
Đội Đội
(12)Các mơ hình đồ thị – Ví dụ Đồ thị có ưu tiên trước sau
° Mỗi câu lệnh biểu diễn đỉnh
° Có cạnh từ đỉnh tới đỉnh khác câu lệnh
được biểu diễn đỉnh thứ hai thực thi trước câu lệnh biểu diễn đỉnh thứ thực thi
S6
S3
S1 S2
S4 S5 Chương trình máy tính:
(13)Đồ thị
7.2 Các thuật ngữ đồ thị
Tài liệu soạn theo sách Toán học rời rạc ứng dụng tin học, K H Rosen, người dịch: Phạm Văn Thiều Đặng Hữu Thịnh, Nhà xuất Khoa học
(14)Những thuật ngữ sở – Định nghĩa 1.
° Hai đỉnh u v đồ thị vơ hướng G gọi
liền kề (hay láng giềng) {u, v} cạnh G.
° Nếu e = {u, v} e gọi cạnh liên thuộc với đỉnh u
v.
° Cạnh e gọi cạnh nối đỉnh u v.
° Các đỉnh u v gọi điểm đầu mút cạnh {u, v}. – Định nghĩa 2.
° Bậc đỉnh đồ thị vô hướng số cạnh
liên thuộc với nó.
° Riêng khuyên đỉnh tính hai lần cho bậc
noù.
(15)Những thuật ngữ sở
– Ví dụ Bậc đỉnh G H bao nhieâu?
b c d
a f e g
b
a c
d e
G H
deg(a) = 2
deg(b) = deg(c) = deg(f) = 4 deg(d) = Đỉnh treo deg(e) = 3
deg(g) = Đỉnh cô laäp
deg(a) = 4
deg(b) = deg(e) = 6 deg(c) = 1
(16)Những thuật ngữ sở
– Định lý Định lý bắt tay Cho G = (V, E) đồ thị vơ
hướng có e cạnh Khi đó
– Ví dụ Có cạnh đồ thị có 10 đỉnh, đỉnh
có bậc 6?
° Tổng bậc đồ thị 10 = 60 Do đó: e = 60
Vaäy e = 30.
2 e = deg (v)
(17)Những thuật ngữ sở
– Định lý Một đồ thị vơ hướng có số chẵn đỉnh bậc
leû.
– Định nghĩa Cho (u, v) cạnh đồ thị có hướng G ° u gọi nối tới v.
° v gọi được nối từ u.
° Đỉnh u gọi đỉnh đầu của cạnh (u, v). ° Đỉnh v gọi đỉnh cuối của cạnh (u, v).
(18)Những thuật ngữ sở – Định nghĩa Trong đồ thị có hướng,
° bậc-vào đỉnh v ký hiệu deg-(v) số cạnh có
đỉnh cuối v.
° bậc-ra đỉnh v ký hiệu deg+(v) số cạnh có đỉnh
đầu v.
° (Một khuyên đỉnh góp đơn vị vào bậc-vào
(19)Những thuật ngữ sở
– Ví dụ Tìm bậc-vào bậc-ra ñænh G. a b c d e f G
Các bậc-vào là
deg-(a) = 2
deg-(b) = 2
deg-(c) = 3
deg-(d) = 2
deg-(e) = 3
deg-(f ) = 0 Caùc bậc-ra là
deg+(a) = 4
deg+(b) = 1
deg+(c) = 2
deg+(d) = 2
deg+(e) = 3
(20)Những thuật ngữ sở
– Định lý Gọi G = (V, E) đồ thị có hướng Khi
– Đồ thị vô hướng nền đồ thị vô hướng nhận lờ
các hướng cạnh đồ thị có hướng.
– Nhận xét: Đồ thị có hướng đồ thị vơ hướng có
cùng số caïnh.
deg- (v) = deg + (v) = E
(21)Những đồ thị đơn đặc biệt
– Ví dụ Đồ thị đầy đủ n đỉnh, ký hiệu Kn , là đơn đồ thị
chứa cạnh nối cặp đỉnh phân biệt.
K1
K6 K5
K4
(22)Những đồ thị đơn đặc biệt
– Ví dụ Chu trình (vịng) Cn , với n 3, đồ thị có n đỉnh
v1, v2,…,vn cạnh {v1, v2}, {v2, v3},…, {vn - 1, vn} vaø {vn, v1}
(23)Những đồ thị đơn đặc biệt
– Ví dụ Đồ thị hình bánh xe Wn , với n 3, đồ thị có từ
chu trình Cn cách:
° thêm đỉnh vào C
n ,
° nối đỉnh với đỉnh C
n cạnh
(24)Những đồ thị đơn đặc biệt
– Ví dụ Các khối n chiều, ký hiệu Qn , đồ thị: ° có 2n đỉnh,
° đỉnh biểu diễn xâu nhị phân độ dài n,
° Hai đỉnh liền kề xâu nhị phân biểu
diễn chúng khác bit
Q1 Q2 Q3
0 00 01
11 10
110 111
010
011
000 001
(25)Đồ thị phân đôi
– Định nghĩa Một đồ thị đơn G gọi đồ thị phân đôi
tập đỉnh V phân làm hai tập khơng rổng, rời V1 V2 cho cạnh đồ thị G nối đỉnh V1 với đỉnh V2
– Ví dụ C6 phân đôi
v1 v5 v3 v6 v4 v2
V1 V2
° Các đỉnh C
6
có thể chia thành:
V1 = {v1 , v3 , v5} vaø V2 = {v2 , v4 , v6}
° Mỗi cạnh
(26)Đồ thị phân đơi
– Ví dụ K3 không phân đôi Vì chia đỉnh
thành hai phần rời hai phần phải chứa đỉnh; đồ thị phân đơi đỉnh khơng thể nối với cạnh, K3 mỗi đỉnh nối với đỉnh khác cạnh
– Ví dụ 10
a b
c
d e
f g
a b
c
d e
f
(27)Đồ thị phân đơi
– Ví dụ 10
a b c d e f g a b c d e f G H
Đồ thị G phân đơi, với {a, b, d}
và {c, e, f, g}
Đồ thị H không phân đơi,
° f nối với tất đỉnh khác;
do V1 = {f}
(28)Đồ thị phân đơi
– Ví dụ 11 Đồ thị phân đôi đầy đủ Km,n đồ thị
° có tập đỉnh phân thành hai tập tương ứng với m
đỉnh n đỉnh,
° có cạnh hai đỉnh đỉnh thuộc tập
con đỉnh thứ hai thuộc tập
K2,3 K3,3
(29)Một vài ứng dụng đồ thị đặc biệt
– Ví dụ 12 Các mạng cục (LAN)
Cấu trúc hình
(30)Một vài ứng dụng đồ thị đặc biệt
– Ví dụ 13
° Thuật toán (hay nối tiếp)
° Thuật tốn song song
– Mảng chiều
(31)Các đồ thị từ đồ thị cũ
– Định nghĩa Đồ thị đồ thị G = (V,E) đồ thị H = (W,F)
trong W V F E
– Ví dụ 14 Đồ thị G đồ thị đồ thị K5
K5 G
d c
b
e e
c b a
(32)Các đồ thị từ đồ thị cũ
– Định nghĩa (Đồ thị) hợp hai đồ thị đơn G1 = (V1 , E1 )và G2
= (V2 , E2 )là đồ thị đơn có
° tập đỉnh V
1V2
° tập cạnh laø E
1E2
– Ký hiệu: hợp đồ thị G1 và G2 G1G2 – Ví dụ 15 Đồ thị hợp G1 và G2
a d e b c d f c b a a
d e f
c b
(33)Đồ thị
7.3 Biểu diễn đồ thị đẳng cấu
Tài liệu soạn theo sách Toán học rời rạc ứng dụng tin học, K H Rosen, người dịch: Phạm Văn Thiều Đặng Hữu Thịnh, Nhà xuất Khoa học kỹ thuật, 1998
(34)Biểu diễn đồ thị
– Ví dụ Dùng danh sách liền kề để mô tả đồ thị đơn: liệt kê tất
cả đỉnh liền kề với đỉnh đồ thị
a
e d
b
c a
b c d e
Đỉnh Đỉnh liền kề
b, c, e a
(35)Biểu diễn đồ thị
– Ví dụ Biểu diễn đồ thị có hướng: liệt kê tất đỉnh cuối
của cung xuất phát từ đỉnh đồ thị
a
e d
b
c a
b c d e
Đỉnh đầu Đỉnh cuối
b, c, d, e b, d
(36)Ma traän liền kề
• Biểu diễn đồ thị ma trận: Ma trận liền kề Cho G = (V, E) đồ
thị đơn có n đỉnh, đỉnh G v1, v2,…, vn
• Ma trận liền kề A hay A
G G ma trận không-một (0-1) cấp n
n có phần tử hàng i cột j aij
° v
i vj liền kề nhau,
° chúng khơng nối với
• Nhận xét:
– Ma trận liền kề đồ thị tuỳ thuộc vào thứ tự liệt kê
đỉnh
– Ma trận liền kề đồ thị đơn đối xứng Đồ thị đơn
(37)Ma trận liền kề
• Biểu diễn đồ thị ma trận: Ma trận liền kề
– Ví dụ Các đỉnh xếp theo thứ tự: a, b, c, d
a
d c
b 1
(38)Ma trận liền kề
– Ví dụ Cho ma trận liền kề với thứ tự đỉnh a, b, c, d Vẽ
đồ thị tương ứng
a
c d
b 1
(39)Ma trận liền kề
• Ma trận liền kề dùng để biểu diễn đồ thị vơ hướng có
khuyên (hay) có cạnh bội
– Khuyên đỉnh ai biểu diễn 2 vị trí (i, i) ma
trận liền kề
– Khi có cạnh bội, phần tử vị trí (i, j) ma trận số
cạnh nối đỉnh ai aj
• Nhận xét: Tất đồ thị vơ hướng (đơn đồ thị, đa đồ thị, giả đồ
(40)Ma trận liền kề
– Ví dụ Dùng ma trận liền kề để biểu diễn giả đồ thị ° Thứ tự đỉnh a, b, c, d
a
c d
b
(41)Ma traän liền kề
• Cho G = (V, E) đồ thị có hướng có n đỉnh, đỉnh G v
1, v2,
…, vn
• Ma trận liền kề A hay A
G G ma trận không-một (0-1) cấp n
n có phần tử hàng i cột j aij
° có cạnh từ v
i tới vj ,
° trường hợp khác
• Nhận xét:
– Ma trận liền kề đồ thị tuỳ thuộc vào thứ tự liệt kê
đỉnh
– Ma trận liền kề đồ thị có hướng khơng có tính đối xứng – Cũng dùng ma trận liền kề để biểu diễn đa đồ thị có
(42)Ma trận liên thuộc
• Biểu diễn đồ thị ma trận liên thuộc Cho G = (V, E) đồ thị
vô hướng có n đỉnh m cạnh:
° đỉnh G v
1, v2,…, vn ,
° cạnh G e
1, e2,…, em
• Ma trận liên thuộc M hay M
G G ma trận M = [mij ] mij
bằng
° cạnh e
j nối với đỉnh vi ,
° cạnh e
j khơng nối với đỉnh vi
• Nhận xét:
– Ma trận liền thuộc đồ thị tuỳ thuộc vào thứ tự liệt kê
(43)Ma trận liên thuộc • Ma trận liên thuộc
– Ví dụ Xác định ma trận liên thuộc
v1 v3
v5 v2
v4
e4 e3
e2
e1 e5
e6 e1 e2 e3 e4 e5 e6
(44)Ma trận liên thuộc
– Ví dụ Biểu diễn cạnh bội khuyên ma trận liên thuộc
v5 e4 e5 e6 v1 v4 v3 v2 e3 e2 e1 e8 e7
(45)Sự đẳng cấu đồ thị
– Định nghĩa Các đồ thị đơn G1 = (V1, E1) G2 = (V2, E2)
(46)Sự đẳng cấu đồ thị
– Ví dụ Các đồ thị G = (V, E) H = (W, F) đẳng cấu
u2 u1
u4 u3
G
v2
v4 v3
v1
H
Đinh nghĩa hàm f sau f(u1) = v1, f(u2) = v4 , f(u3) = v3, f(u4) = v2 Hàm f 1-1 V W Hàm f bảo toàn quan hệ liền kề vì:
° G đỉnh liền kề u
1 u2 , u1 vaø u3 , u2 vaø u4 , u3 vaø u4
° cặp f(u
1) = v1 f(u2) = v4 , f(u1) = v1 vaø f(u3) = v3 , f(u2) = v4 vaø
(47)Sự đẳng cấu đồ thị – Ví dụ Các đồ thị G H không đẳng cấu
d e
H
d e
G
b
c a
c b
a
(48)Sự đẳng cấu đồ thị
• Nhận xét:
– Số đỉnh, số cạnh, bậc đỉnh bất biến phép
đẳng cấu: hai đồ thị đẳng cấu
° chúng có số đỉnh, số cạnh
° hai đỉnh tương ứng phép đẳng cấu có bậc – Nếu bất biến hai đồ thị khác chúng khơng
đẳng cấu
– Tuy nhiên, bất biến hai đồ thị chưa
(49)Sự đẳng cấu đồ thị
– Ví dụ 10 Các đồ thị G H có đẳng cấu hay khơng?
a b c d e f g h s t u v x y z w G H
Xét bất biến: Cả hai đồ thị có đỉnh, 10 cạnh, đỉnh bậc 2, đỉnh bậc
(50)Sự đẳng cấu đồ thị
– Ví dụ 10 (tiếp theo) Cách khác: G H không đẳng cấu
các đồ thị G H tạo nên từ đỉnh bậc cạnh nối chúng không đẳng cấu
d
h
b f
v
(51)Sự đẳng cấu đồ thị
– Dùng ma trận liền kề để chứng tỏ hàm f bảo tồn cạnh: ° Ma trận liền kề G, (với thứ tự đỉnh)
° Ma trận liền kề H, với hàng cột gán nhãn tương
ứng với ảnh qua f đỉnh G
° Nếu ma trận liền kề giống G H đẳng
(52)Sự đẳng cấu đồ thị – Ví dụ 11 Đồ thị G H có đẳng cấu không?
u2 u1 u3 u4 G v3 v1 v4 v5 H u5
u6 v2 v
6
° Cả hai đồ thị có đỉnh, cạnh, đỉnh bậc 2, đỉnh bậc
3
° Định nghóa f sau:
(53)Sự đẳng cấu đồ thị – Ví dụ 11 (tiếp theo)
° Các ma trận liền kề G H
° Vì A
G = AH nên f bảo tồn cạnh Vậy f phép đẳng
cấu
u1 u2 u3 u4 u5 u6 u1 0 u2 1 u3 0 u4 1 u5 0 0 u6 0
AG =
v6 v3 v4 v5 v1 v2 v6 0 v3 1 v4 0 v5 1 v1 0 0 v2 0
(54)Đồ thị
7.4 Tính liên thông
Tài liệu soạn theo sách Toán học rời rạc ứng dụng tin học, K H Rosen, người dịch: Phạm Văn Thiều Đặng Hữu Thịnh, Nhà xuất Khoa học kỹ thuật, 1998
(55)Đường đi
– Định nghĩa Đường độ dài n từ u tới v, với n số
nguyên dương, đồ thị vô hướng dãy cạnh e1, e2,…, en đồ thị cho f(e1) = {x0, x1}, f(e2) = {x1, x2},…, f(en) = {xn - 1, xn}, với x0 = u xn = v
° Khi đồ thị đơn, ta ký hiệu đường dãy đỉnh x
0,
x1,…, xn .
° Đường gọi chu trình bắt đầu kết thúc
tại đỉnh, tức u = v
° Đường hay chu trình gọi đơn khơng chứa
(56)Đường đi – Ví dụ 1.
° a, d, c, f, e đường đơn độ dài {a, d}, {d, c}, {c, f},
{f, e} cạnh.
° d, e, c, b không đường {e, c} khơng cạnh.
° b, c, f, e, b chu trình độ dài {b, c}, {c, f}, {f, e}, {e, b}
là cạnh đường bắt đầu kết thúc b.
° a, b, e, d, a, b độ dài không đường đơn chứa cạnh
(57)Đường đi
– Định nghĩa Đường độ dài n, với n nguyên dương, từ u tới
v đa đồ thị có hướng dãy cạnh e1, e2,…, en đồ thị cho f(e1) = (x0, x1), f(e2) = (x1, x2 ),…, f(en) = (xn - 1, xn ), với
x0 = u vaø xn = v
° Khi khơng có cạnh bội đồ thị, ta ký hiệu đường
này dãy ñænh x0, x1, x2,…, xn
° Đường bắt đầu kết thúc đỉnh gọi
là chu trình.
° Đường hay chu trình gọi đơn khơng chứa
(58)Tính liên thơng đồ thị vô hướng
– Định nghĩa Một đồ thị vô hướng gọi liên thông
có đường cặp đỉnh phân biệt đồ thị.
– Ví dụ 2.
° Đồ thị G liên thông, đồ thị H không liên thông.
e
a b
c
f d
e g
f
b a
c
d
(59)Tính liên thơng đồ thị vơ hướng
– Định lý Giữa cặp đỉnh phân biệt đồ thị vơ hướng
liên thơng ln có đường đơn
– Một đồ thị không liên thông hợp hai hay nhiều đồ thị
(60)Tính liên thơng đồ thị vơ hướng
– Ví dụ Đồ thị G hợp ba đồ thị liên thông rời
G1, G2, G3
G1
G2
(61)Tính liên thơng đồ thị vơ hướng
– Đỉnh cắt (hay điểm khớp) đỉnh xoá với tất
các cạnh liên thuộc với tạo đồ thị có nhiều thành phần liên thơng đồ thị xuất phát.
– Cạnh cắt (hay cầu) cạnh bỏ tạo đồ thị
(62)Tính liên thơng đồ thị vơ hướng – Ví dụ Tìm đỉnh cắt cạnh cắt G.
° Các đỉnh cắt b, c, e.
° Các cạnh cắt {a, b} {c, e}.
g f
h e
c b
d a
(63)Tính liên thơng đồ thị có hướng
– Định nghĩa Đồ thị có hướng gọi liên thơng mạnh có
đường từ a tới b từ b tới a với đỉnh a b đồ thị
– Định nghĩa Đồ thị có hướng gọi liên thơng yếu có
(64)Tính liên thơng đồ thị có hướng
– Ví dụ
° G liên thông mạnh.
° H khơng liên thơng mạnh khơng có đường có hướng
từ a tới b, liên thông yếu
c d
e
b a
c d
e
b a
(65)Đường đẳng cấu
– Dùng đường chu trình để xét xem hai đồ thị có đẳng cấu
hay khoâng
° Bất biến đẳng cấu: số đỉnh, số cạnh, bậc đỉnh ° Bất biến đẳng cấu: chu trình đơn với độ dài đặc biệt ° Dùng đường để xây dựng ánh xạ hai đồ thị – Ví dụ Hai đồ thị G H có đẳng cấu khơng?
u1 v1
u6
u5 u3
u
u2
v5 v6
v
v3 v2
(66)Đường đẳng cấu
u1 v1
u6
u5 u3
u4
u2
v5 v6
v4
v3 v2
G H
(67)Đường đẳng cấu
– Ví dụ Hai đồ thị G H có đẳng cấu khơng?
G H có đỉnh cạnh, đỉnh bậc đỉnh bậc 2; hai có chu trình đơn độ dài 3, chu trình đơn độ dài 4, chu trình đơn độ dài Để tìm phép đẳng cấu có, theo đường qua tất đỉnh cho đỉnh tương ứng có bậc Ví dụ: u1, u4, u3, u2, u5 G u3, v2, v1, v5, v4 H Định nghĩa ánh xạ f : f(u1) = v3 , f(u4) = v2 ,…
Kiểm tra f phép đẳng cấu
v1
v5 v2
v4 v3
u1 u3
u5 u4
u2
(68)Đếm đường đỉnh
– Định lý Cho G đồ thị với ma trận liền kề A theo thứ
(69)Đếm đường đỉnh
– Ví dụ Có đường độ dài từ a tới d đồ thị
đơn G?
a b
Đồ thị G
(70)Đếm đường đỉnh • Ma trận liền kề G, theo thứ tự a, b, c, d,
1 A = 0 1 0 1
0 A2 = 2
2 0
0 A4 = 8
8 0
(71)Đồ thị
7.5 Đường Euler đường Hamilton
Tài liệu soạn theo sách Toán học rời rạc ứng dụng tin học, K H Rosen, người dịch: Phạm Văn Thiều Đặng Hữu Thịnh, Nhà xuất Khoa học kỹ thuật, 1998
(72)Mở đầu
C
A
B
D
° Thành phố Konigsberg thuộc Phổ (Kaliningrad, Cộng hoà Nga)
° Bài tốn cầu Konigsberg: Có thể xuất phát từ địa điểm
nào thành phố qua tất cầu, cầu không qua nhiều lần, lại trở điểm xuất phát không?
(73)Mở đầu
– Bài tốn cầu Konigsberg: Có tồn chu trình đơn đa đồ
thị chứa tất cạnh?
– Định nghĩa Chu trình đơn chứa tất cạnh đồ thị G
được gọi chu trình Euler Đường Euler G đường
A
B C
D
Mơ hình đa đồ thị thành phố
(74)Mở đầu
– Ví dụ Đồ thị có chu trình Euler? Nếu khơng, có đường
Euler khoâng? e d a c b e d a c b d a c b e
G1 G2 G3
° G
1 coù chu trình Euler, ví dụ a, e, c, d, e, b, a
° G
2 G3 khơng có chu trình Euler
° G
3 có đường Euler: a, c, d, e, b, d, a, b
° G
(75)Mở đầu
– Ví dụ Đồ thị có chu trình Euler? Nếu khơng, có đường
Euler khoâng? a b d c g c e d b a f c d a b
H1 H2 H3
° H
2 có chu trình Euler: a, g, c, b, g, e, d, f, a
° H
1 H3 chu trình Euler
° H
(76)Các điều kiện cần đủ cho chu trình đường Euler – Định lý Một đa đồ thị liên thông có chu trình Euler
nếu đỉnh có bậc chẵn
– Giải toán cầu Konigsberg:
° Đa đồ thị biểu diễn cầu có đỉnh bậc lẻ nên khơng
tồn chu trình Euler
° Khơng có cách để người xuất phát từ địa
(77)Các điều kiện cần đủ cho chu trình đường Euler
– Ví dụ
a b
c d
e f
c d
e
(78)Các điều kiện cần đủ cho chu trình đường Euler • Thuật tốn Xây dựng chu trình Euler
• procedure Euler(G: đa đồ thị liên thông với tất đỉnh bậc chẵn) • chu_trình := chu trình G bắt đầu đỉnh chọn tuỳ ý
caùc
• cạnh thêm vào để xây dựng đường qua đỉnh • cuối quay lại đỉnh
• H := G với cạnh G sau bỏ chu_trình
• while H cạnh
• begin
• chu_trình_con := chu trình H bắt đầu đỉnh H • đỉnh đầu mút cạnh thuộc chu_trình
• H := H với cạnh chu_trình_con, tất đỉnh cô lập bị loại
• bỏ
(79)Các điều kiện cần đủ cho chu trình đường Euler – Định lý Một đa đồ thị liên thơng có đường Euler
(80)Các điều kiện cần đủ cho chu trình đường Euler – Ví dụ Đồ thị có đường Euler?
a d c b d e g c b f a a f b c e d g
G1 G2 G3
° G
1 có hai đỉnh bậc lẻ b d, có đường Euler nhận b
d điểm đầu mút, d, a, b, c, d, b
° G
2 có hai đỉnh bậc lẻ b d, có đường Euler nhận b
d điểm đầu mút, b, a, g, b, c, g, f, c, d, f, e, d
° G
(81)Đường chu trình Hamilton
• Định nghĩa Đường x
0, x1 ,…, xn - 1 , xn đồ thị G = (V, E)
gọi đường Hamilton V = {x0 , x1 ,…, xn - 1 , xn} xi xj với
0 i < j n Chu trình x0 , x1 ,…, xn - 1 , xn , x0 (n > 1) đồ thị G =
(82)Đường chu trình Hamilton
– Ví dụ Đồ thị đơn có chu trình Hamilton? Nếu khơng, có
đường Hamilton khơng?
d e c b a d c b a
c e f
d
g b
a
G1 G2 G3
° G
1 có chu trình Hamilton a, b, c, d, e, a
° G
2 khơng có chu trình Hamilton chu trình chứa đỉnh
cũng phải chứa cạnh {a, b} hai lần, G2 có đường Hamilton: a, b, c, d
° G
3 khơng có chu trình Hamilton, khơng có đường Hamilton,
(83)Đường chu trình Hamilton – Ví dụ G H khơng có chu trình Hamilton
G c H
d
b
e
c
e b
d a
a
° G khoâng có chu trình Hamilton, có đỉnh bậc (đỉnh e)
° Các đỉnh a, b, d, e có bậc nên cạnh liên thuộc với chúng
(84)Đường chu trình Hamilton
– Định lý Giả sử G đơn đồ thị liên thông với n đỉnh
đó n 3, G có chu trình Hamilton bậc đỉnh
(85)Đường chu trình Hamilton
– Ví dụ Vị trí kim thị xoay trịn biểu diễn
dưới dạng số
° Chia đường tròn thành n cung, cung ứng với sâu
nhị phân chiều dài n
° Biểu diễn số vị trí kim thị xác định n
(86)Đường chu trình Hamilton – Ví dụ (tiếp theo)
° Có thể lầm lẫn kim ranh cung, vị trí tương đối
(87)Đường chu trình Hamilton – Ví dụ (tiếp theo) Mã Gray
° Mã Gray cách gán nhãn cho cung đường tròn
cho cung kề gán xâu khác bit
° Giải:
– Mơ hình tốn khối n chiều Qn , – Tìm chu trình Hamilton Qn
110 111
011 010
100
000 001
(88)