lý thuyết đồ thị

88 8 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

° 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, vV, uv} 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, vV}.

° 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).

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

1V2

° tập cạnh laø E

1E2

– Ký hiệu: hợp đồ thị G1 và G2 G1G2 – 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

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)

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

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

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

Tài liệu liên quan