TOÁN NG D NG TR NG CAO NG CÔNG NGHI P NAM …Như vậy, ma trn liậền kề của một đồ...

30
TOÁN NG DNG TRƯỜNG CAO ĐẲNG CÔNG NGHIP NAM ĐỊNH GIÁO VIÊN: NGUYN HI ĐĂNG TRANG 19 CHƯƠNG II. LÝ THUYT ĐỒ TH2.1. CÁC KHÁI NIM CƠ BN 2.1.1. Các khái nim cơ bn Định nghĩa 1: Mt đơn đồ thG = (V, E) gm mt tp khác rng V mà các phn tca nó gi là các đỉnh và mt tp E mà các phn tca nó gi là các cnh, đó là các cp không có thtca các đỉnh phân bit. Định nghĩa 2: Mt đa đồ thG = (V, E) gm mt tp khác rng V mà các phn tca nó gi là các đỉnh và mt hE mà các phn tca nó gi là các cnh, đó là các cp không có thtca các đỉnh phân bit. Hai cnh được gi là cnh bi hay song song nếu chúng cùng tương ng vi mt cp đỉnh. Rõ ràng mi đơn đồ thđa đồ th, nhưng không phi đa đồ thnào cũng là đơn đồ th. Định nghĩa 3: Mt giđồ thG = (V, E) gm mt tp khác rng V mà các phn tca nó gi là các đỉnh và mt hE mà các phn tca nó gi là các cnh, đó là các cp không có thtca các đỉnh (không nht thiết là phân bit). Vi vV, nếu (v,v)E thì ta nói có mt khuyên ti đỉnh v. Tóm li, giđồ thlà loi đồ thvô hướng tng quát nht vì nó có thcha các khuyên và các cnh bi. Đa đồ thlà loi đồ thvô hướng có thcha cnh bi nhưng không thcó các khuyên, còn đơn đồ thlà loi đồ thvô hướng không cha cnh bi hoc các khuyên. Thí d1: Đơn đồ thGiđồ thĐịnh nghĩa 4: Mt đồ thcó hướng G = (V, E) gm mt tp khác rng V mà các phn tca nó gi là các đỉnh và mt tp E mà các phn tca nó gi là các cung, đó là các cp có thtca các phn tthuc V. Định nghĩa 5: Mt đa đồ thcó hướng G = (V, E) gm mt tp khác rng V mà các phn tca nó gi là các đỉnh và mt hE mà các phn tca nó gi là các cung, đó là các cp có thtca các phn tthuc V. Đồ thvô hướng nhn được tđồ thcó hướng G bng cách xoá bcác chiu mũi tên trên các cung được gi là đồ thvô hướng nn ca G. v 1 v 2 v 3 v 4 v 5 v 6 v 7 v 1 v 2 v 3 v 4 v 5 v 6

Transcript of TOÁN NG D NG TR NG CAO NG CÔNG NGHI P NAM …Như vậy, ma trn liậền kề của một đồ...

Page 1: TOÁN NG D NG TR NG CAO NG CÔNG NGHI P NAM …Như vậy, ma trn liậền kề của một đồ thị vô hướng là ma trận đối xứng, ngha là ĩ = a a ij ji , trong khi

TOÁN ỨNG DỤNG TRƯỜNG CAO ĐẲNG CÔNG NGHIỆP NAM ĐỊNH

GIÁO VIÊN: NGUYỄN HẢI ĐĂNG TRANG 19

CHƯƠNG II. LÝ THUYẾT ĐỒ THỊ

2.1. CÁC KHÁI NIỆM CƠ BẢN 2.1.1. Các khái niệm cơ bản

Định nghĩa 1: Một đơn đồ thị G = (V, E) gồm một tập khác rỗng V mà các phần tử của nó gọi là các đỉnh và một tập E mà các phần tử của nó gọi là các cạnh, đó là các cặp không có thứ tự của các đỉnh phân biệt.

Định nghĩa 2: Một đa đồ thị G = (V, E) gồm một tập khác rỗng V mà các phần tử của nó gọi là các đỉnh và một họ E mà các phần tử của nó gọi là các cạnh, đó là các cặp không có thứ tự của các đỉnh phân biệt. Hai cạnh được gọi là cạnh bội hay song song nếu chúng cùng tương ứng với một cặp đỉnh.

Rõ ràng mỗi đơn đồ thị là đa đồ thị, nhưng không phải đa đồ thị nào cũng là đơn đồ thị.

Định nghĩa 3: Một giả đồ thị G = (V, E) gồm một tập khác rỗng V mà các phần tử của nó gọi là các đỉnh và một họ E mà các phần tử của nó gọi là các cạnh, đó là các cặp không có thứ tự của các đỉnh (không nhất thiết là phân biệt). Với v∈V, nếu (v,v)∈E thì ta nói có một khuyên tại đỉnh v. Tóm lại, giả đồ thị là loại đồ thị vô hướng tổng quát nhất vì nó có thể chứa các khuyên và các cạnh bội. Đa đồ thị là loại đồ thị vô hướng có thể chứa cạnh bội nhưng không thể có các khuyên, còn đơn đồ thị là loại đồ thị vô hướng không chứa cạnh bội hoặc các khuyên.

Thí dụ 1:

Đơn đồ thị Giả đồ thị Định nghĩa 4: Một đồ thị có hướng G = (V, E) gồm một tập khác rỗng V mà các

phần tử của nó gọi là các đỉnh và một tập E mà các phần tử của nó gọi là các cung, đó là các cặp có thứ tự của các phần tử thuộc V.

Định nghĩa 5: Một đa đồ thị có hướng G = (V, E) gồm một tập khác rỗng V mà các phần tử của nó gọi là các đỉnh và một họ E mà các phần tử của nó gọi là các cung, đó là các cặp có thứ tự của các phần tử thuộc V. Đồ thị vô hướng nhận được từ đồ thị có hướng G bằng cách xoá bỏ các chiều mũi tên trên các cung được gọi là đồ thị vô hướng nền của G.

v1 v2 v3 v4

v5 v6 v7

v1 v2 v3

v4 v5 v6

Page 2: TOÁN NG D NG TR NG CAO NG CÔNG NGHI P NAM …Như vậy, ma trn liậền kề của một đồ thị vô hướng là ma trận đối xứng, ngha là ĩ = a a ij ji , trong khi

TOÁN ỨNG DỤNG TRƯỜNG CAO ĐẲNG CÔNG NGHIỆP NAM ĐỊNH

GIÁO VIÊN: NGUYỄN HẢI ĐĂNG TRANG 20

Thí dụ 2:

Đồ thị có hướng Đa đồ thị có hướng

2.1.2. BIỂU DIỄN ĐỒ THỊ BẰNG MA TRẬN Định nghĩa 6: Cho đồ thị G=(V,E) (vô hướng hoặc có hướng), với V={v1,v2,..., vn}.

Ma trận liền kề của G ứng với thứ tự các đỉnh v1,v2,..., vn là ma trận A= ),()( ,1 ZnMa njiij ∈≤≤ ,

trong đó aij là số cạnh hoặc cung nối từ vi tới vj. Như vậy, ma trận liền kề của một đồ thị vô hướng là ma trận đối xứng, nghĩa là

, trong khi ma trận liền kề của một đồ thị có hướng không có tính đối xứng. jiij aa =Thí dụ 3: Ma trận liền kề với thứ tự các đỉnh v1, v2, v3, v4 là:

⎟⎟⎟⎟⎟

⎜⎜⎜⎜⎜

0212211011032030

Ma trận liền kề với thứ tự các đỉnh v1, v2, v3, v4, v5 là:

⎟⎟⎟⎟⎟⎟

⎜⎜⎜⎜⎜⎜

0101110200010010121011011

Định nghĩa 7: Cho đồ thị vô hướng G=(V,E), v1, v2, ..., vn là các đỉnh và e1, e2, ...,

em là các cạnh của G. Ma trận liên thuộc của G theo thứ tự trên của V và E là ma trận M= ),()(

11 ZmnMm

mjniij ×∈

≤≤≤≤ ,

ijm bằng 1 nếu cạnh ej nối với đỉnh vi và bằng 0 nếu cạnh ej không nối với đỉnh vi.

Thí dụ 4: Ma trận liên thuộc theo thứ tự các đỉnh v1, v2, v3, v4, v5 và các cạnh e1, e2, e3, e4, e5, e6 là:

1 1 0 0 0 00 0 1 1 0 10 0 0 0 1 11 0 1 0 0 00 1 0 1 1 0

⎛ ⎞⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎝ ⎠

v6 v7

v3

v4 v5 v6

v1 v2 v3 v5

V5

v1 v2

v1 v2

v3v4

v1

v2 v5

v4 v3

v1 v2 v3

v4 v5

e1

e2

e3 e4 e5

e6

Page 3: TOÁN NG D NG TR NG CAO NG CÔNG NGHI P NAM …Như vậy, ma trn liậền kề của một đồ thị vô hướng là ma trận đối xứng, ngha là ĩ = a a ij ji , trong khi

TOÁN ỨNG DỤNG TRƯỜNG CAO ĐẲNG CÔNG NGHIỆP NAM ĐỊNH

GIÁO VIÊN: NGUYỄN HẢI ĐĂNG TRANG 21

2.1.3. CÁC ĐỒ THỊ MỚI TỪ ĐỒ THỊ CŨ Định nghĩa: Cho hai đồ thị G1=(V1,E1) và G2=(V2,E2). Ta nói G2 là đồ thị con của

G1 nếu V2 ⊂ V1 và E2 ⊂ E1. Trong trường hợp V1=V2 thì G2 gọi là con bao trùm của G1. Thí dụ 5:

G G1 G2 G3 G4 G5 G1, G2, G3 và G4 là các đồ thị con của G, trong đó G2 và G4 là đồ thị con bao trùm của G, còn G5 không phải là đồ thị con của G.

Định nghĩa: Hợp của hai đơn đồ thị G1=(V1,E1) và G2=(V2,E2) là một đơn đồ thị có tập các đỉnh là V1 ∪ V2 và tập các cạnh là E1 ∪ E2, ký hiệu là G1 ∪ G2.

Thí dụ 15: G1 G2 G1∪G2

Định nghĩa: Đơn đồ thị G’=(V,E’) được gọi là đồ thị bù của đơn đồ thị G=(V,E) nếu G và G’ không có cạnh chung nào (E ∩ E’=∅) và G ∪ G’là đồ thị đầy đủ. Dễ thấy rằng nếu G’ là bù của G thì G cũng là bù của G’. Khi đó ta nói hai đồ thị là bù nhau.

Thí dụ 6: G’ G G1’ G1 Hai đồ thị G’ và G là bù nhau và hai đồ thị G1 và G1’ là bù nhau. 2.2. BẬC CỦA ĐỈNH. 2.2.1. Các khái niệm về bậc

Định nghĩa 1: Hai đỉnh u và v trong đồ thị (vô hướng) G=(V,E) được gọi là liền kề nếu (u,v)∈E. Nếu e = (u,v) thì e gọi là cạnh liên thuộc với các đỉnh u và v. Cạnh e cũng được gọi là cạnh nối các đỉnh u và v. Các đỉnh u và v gọi là các điểm đầu mút của cạnh e.

a

e

d

c b

a

cb

a d

c

e

b

a d

cb

a d

b c

e

a d

cb

x y z

u v u

x y z

w

x y z

u v w

x y

u v

x

u

y

v

x

v y

u z

x

v

u z

y

Page 4: TOÁN NG D NG TR NG CAO NG CÔNG NGHI P NAM …Như vậy, ma trn liậền kề của một đồ thị vô hướng là ma trận đối xứng, ngha là ĩ = a a ij ji , trong khi

TOÁN ỨNG DỤNG TRƯỜNG CAO ĐẲNG CÔNG NGHIỆP NAM ĐỊNH

GIÁO VIÊN: NGUYỄN HẢI ĐĂNG TRANG 22

Định nghĩa 2: Bậc của đỉnh v trong đồ thị G=(V,E), ký hiệu deg(v), là số các cạnh liên thuộc với nó, riêng khuyên tại một đỉnh được tính hai lần cho bậc của nó. Đỉnh v gọi là đỉnh treo nếu deg(v)=1 và gọi là đỉnh cô lập nếu deg(v)=0.

Thí dụ 1: Ta có deg(v1)=7, deg(v2)=5, deg(v3)=3, deg(v4)=0, deg(v5)=4, deg(v6)=1, deg(v7)=2. Đỉnh v4 là đỉnh cô lập và đỉnh v6 là đỉnh treo.

Mệnh đề: Cho đồ thị G = (V, E). Khi đó

2|E| = ∑∈Vv

v)deg( .

Chứng minh: Rõ ràng mỗi cạnh e = (u,v) được tính một lần trong deg(u) và một lần trong deg(v). Từ đó suy ra tổng tất cả các bậc của các đỉnh bằng hai lần số cạnh.

Hệ quả: Số đỉnh bậc lẻ của một đồ thị là một số chẵn. Chứng minh: Gọi V1 và V2 tương ứng là tập các đỉnh bậc chẵn và tập các đỉnh bậc

lẻ của đồ thị G = (V, E). Khi đó

2|E| = + ∑∈ 1

)deg(Vv

v ∑∈ 2

)deg(Vv

v

Vế trái là một số chẵn và tổng thứ nhất cũng là một số chẵn nên tổng thứ hai là một số chẵn. Vì deg(v) là lẻ với mọi v ∈ V2 nên |V2| là một số chẵn.

Mệnh đề: Trong một đơn đồ thị, luôn tồn tại hai đỉnh có cùng bậc. Chứng minh: Xét đơn đồ thị G=(V,E) có |V|=n. Khi đó phát biểu trên được đưa về

bài toán: trong một phòng họp có n người, bao giờ cũng tìm được 2 người có số người quen trong số những người dự họp là như nhau (xem Thí dụ 6 của 2.2.3).

Định nghĩa 3: Đỉnh u được gọi là nối tới v hay v được gọi là được nối từ u trong đồ thị có hướng G nếu (u,v) là một cung của G. Đỉnh u gọi là đỉnh đầu và đỉnh v gọi là đỉnh cuối của cung này.

Định nghĩa 4: Bậc vào (t.ư. bậc ra) của đỉnh v trong đồ thị có hướng G, ký hiệu degt(v) (t.ư. dego(v)), là số các cung có đỉnh cuối là v.

Thí dụ 2:

v1 v2 v3

v4

v5 v6 v7

v1 v2 v3

v4 v5 v6

Page 5: TOÁN NG D NG TR NG CAO NG CÔNG NGHI P NAM …Như vậy, ma trn liậền kề của một đồ thị vô hướng là ma trận đối xứng, ngha là ĩ = a a ij ji , trong khi

TOÁN ỨNG DỤNG TRƯỜNG CAO ĐẲNG CÔNG NGHIỆP NAM ĐỊNH

GIÁO VIÊN: NGUYỄN HẢI ĐĂNG TRANG 23

degt(v1) = 2, dego(v1) = 3, degt(v2) = 5, dego(v2) = 1, degt(v3) = 2, dego(v3) = 4, degt(v4) = 1, deg0(v4) = 3, degt(v5) = 1, dego(v5) = 0, degt(v6) = 0, dego(v6) = 0.

Đỉnh có bậc vào và bậc ra cùng bằng 0 gọi là đỉnh cô lập. Đỉnh có bậc vào bằng 1 và bậc ra bằng 0 gọi là đỉnh treo, cung có đỉnh cuối là đỉnh treo gọi là cung treo.

Mệnh đề: Cho G =(V, E) là một đồ thị có hướng. Khi đó

∑ ∑∈ ∈

=Vv Vv

ot vv )(deg)(deg = |E|.

2.2.2. NHỮNG ĐƠN ĐỒ THỊ ĐẶC BIỆT. 1. Đồ thị đầy đủ: Đồ thị đầy đủ n đỉnh, ký hiệu là Kn, là đơn đồ thị mà hai đỉnh phân biệt

bất kỳ của nó luôn liền kề. Như vậy, Kn có 2

)1( −nn cạnh và mỗi đỉnh của Kn có bậc là n−1.

Thí dụ 3: K1 K2 K3 K4 K5 2. Đồ thị vòng: Đơn đồ thị n đỉnh v1, v2, ..., vn (n≥3) và n cạnh (v1,v2), (v2,v3), ..., (vn-1,vn), (vn,v1) được gọi là đồ thị vòng, ký hiệu là Cn. Như vậy, mỗi đỉnh của Cn có bậc là 2.

Thí dụ 4: C3 C4 C5 C6 3. Đồ thị bánh xe:Từ đồ thị vòng Cn, thêm vào đỉnh vn+1 và các cạnh (vn+1,v1), (vn+1,v2), ..., (vn+1,vn), ta nhận được đơn đồ thị gọi là đồ thị bánh xe, ký hiệu là Wn. Như vậy, đồ thị Wn có n+1 đỉnh, 2n cạnh, một đỉnh bậc n và n đỉnh bậc 3.

Thí dụ 5: W3 W4 W5 W6

v1 v1 v2

v1

v2v3

v1 v2

v3v4

v5 v2

v1

v3 V4

v1

v2 v3

v1 v2

v4 v3

v1

v5 v2

v4 v3

v1

v6

v5

v2

v3

v4

v2 v3

v1 v2

v4 v3

v1

v5 v2

v4 v3

v6

v5

v2

v3

v4

v1

v4 v5

v6 v7

v1

Page 6: TOÁN NG D NG TR NG CAO NG CÔNG NGHI P NAM …Như vậy, ma trn liậền kề của một đồ thị vô hướng là ma trận đối xứng, ngha là ĩ = a a ij ji , trong khi

TOÁN ỨNG DỤNG TRƯỜNG CAO ĐẲNG CÔNG NGHIỆP NAM ĐỊNH

GIÁO VIÊN: NGUYỄN HẢI ĐĂNG TRANG 24

2.3. ĐỒ THỊ LIÊN THÔNG 2.3.1. Các khái niệm

Định nghĩa 1: Đường đi độ dài n từ đỉnh u đến đỉnh v, với n là một số nguyên dương, trong đồ thị (giả đồ thị vô hướng hoặc đa đồ thị có hướng) G=(V,E) là một dãy các cạnh (hoặc cung) e1, e2, ..., en của đồ thị sao cho e1=(x0,x1),e2=(x1,x2), ...,en=(xn-1,xn), với x0=u và xn=v. Khi đồ thị không có cạnh (hoặc cung) bội, ta ký hiệu đường đi này bằng dãy các đỉnh x0, x1, ..., xn. Đường đi được gọi là chu trình nếu nó bắt đầu và kết thúc tại cùng một đỉnh. Đường đi hoặc chu trình gọi là đơn nếu nó không chứa cùng một cạnh (hoặc cung) quá một lần. Một đường đi hoặc chu trình không đi qua đỉnh nào quá một lần (trừ đỉnh đầu và đỉnh cuối của chu trình là trùng nhau) được gọi là đường đi hoặc chu trình sơ cấp. Rõ ràng rằng một đường đi (t.ư. chu trình) sơ cấp là đường đi (t.ư. chu trình) đơn.

Thí dụ 1: Trong đơn đồ thị trên, x, y, z, w, v, y là đường đi đơn (không sơ cấp) độ dài 5; x, w, v, z, y không là đường đi vì (v, z) không là cạnh; y, z, w, x, v, u, y là chu trình sơ cấp độ dài 6.

Định nghĩa 2: Một đồ thị (vô hướng) được gọi là liên thông nếu có đường đi giữa mọi cặp đỉnh phân biệt của đồ thị. Một đồ thị không liên thông là hợp của hai hay nhiều đồ thị con liên thông, mỗi cặp các đồ thị con này không có đỉnh chung. Các đồ thị con liên thông rời nhau như vậy được gọi là các thành phần liên thông của đồ thị đang xét. Như vậy, một đồ thị là liên thông khi và chỉ khi nó chỉ có một thành phần liên thông.

Thí dụ 2: G G’ Đồ thị G là liên thông, nhưng đồ thị G’ không liên thông và có 3 thành phần liên thông.

Định nghĩa 3: Một đỉnh trong đồ thị G mà khi xoá đi nó và tất cả các cạnh liên thuộc với nó ta nhận được đồ thị con mới có nhiều thành phần liên thông hơn đồ thị G được gọi là đỉnh cắt hay điểm khớp. Việc xoá đỉnh cắt khỏi một đồ thị liên thông sẽ tạo ra một đồ thị con không liên thông. Hoàn toàn tương tự, một cạnh mà khi ta bỏ nó đi sẽ tạo ra một đồ thị có nhiều thành phần liên thông hơn so với đồ thị xuất phát được gọi là cạnh cắt hay là cầu.

Thí dụ 3:

x y z

vw u

x

t

u

y

w

z

v

a

d c h

b

i

k

l

g

x

v

y

w

z

s

u

t

Page 7: TOÁN NG D NG TR NG CAO NG CÔNG NGHI P NAM …Như vậy, ma trn liậền kề của một đồ thị vô hướng là ma trận đối xứng, ngha là ĩ = a a ij ji , trong khi

TOÁN ỨNG DỤNG TRƯỜNG CAO ĐẲNG CÔNG NGHIỆP NAM ĐỊNH

GIÁO VIÊN: NGUYỄN HẢI ĐĂNG TRANG 25

Trong đồ thị trên, các đỉnh cắt là v, w, s và các cầu là (x,v), (w,s). 2.3.2. Các tính chất cơ bản

Mệnh đề: Giữa mọi cặp đỉnh phân biệt của một đồ thị liên thông luôn có đường đi sơ cấp.

Chứng minh: Giả sử u và v là hai đỉnh phân biệt của một đồ thị liên thông G. Vì G liên thông nên có ít nhất một đường đi giữa u và v. Gọi x0, x1, ..., xn, với x0=u và xn=v, là dãy các đỉnh của đường đi có độ dài ngắn nhất. Đây chính là đường đi sơ cấp cần tìm. Thật vậy, giả sử nó không là đường đi đơn, khi đó xi=xj với 0 ≤ i < j. Điều này có nghĩa là giữa các đỉnh u và v có đường đi ngắn hơn qua các đỉnh x0, x1, ..., xi-1, xj, ..., xn nhận được bằng cách xoá đi các cạnh tương ứng với dãy các đỉnh xi, ..., xj-1.

Mệnh đề: Mọi đơn đồ thị n đỉnh (n ≥ 2) có tổng bậc của hai đỉnh tuỳ ý không nhỏ hơn n đều là đồ thị liên thông.

Chứng minh: Cho đơn đồ thị G=(V,E) có n đỉnh (n ≥ 2) và thoả mãn yêu cầu của bài toán. Giả sử G không liên thông, tức là tồn tại hai đỉnh u và v sao cho không có đường đi nào nối u và v. Khi đó trong đồ thị G tồn tại hai thành phần liên thông là G1 có n1 đỉnh và chứa u, G2 chứa đỉnh v và có n2 đỉnh. Vì G1, G2 là hai trong số các thành phần liên thông của G nên n1+n2 ≤ n. ta có:

deg(u)+deg(v) ≤ (n1 −1)+(n2 − 1) = n1+n2−2 ≤ n−2 <n. Điều mâu thuẫn ở trên dẫn đến kết luận là đồ thị G phải liên thông.

Hệ quả: Đơn đồ thị mà bậc của mỗi đỉnh của nó không nhỏ hơn một nửa số đỉnh là đồ thị liên thông.

Mệnh đề: Nếu một đồ thị có đúng hai đỉnh bậc lẻ thì hai đỉnh này phải liên thông, tức là có một đường đi nối chúng.

Chứng minh: Cho G=(V,E) là đồ thị thị có đúng hai đỉnh bậc lẻ là u và v. Giả sử u và v không liên thông với nhau. Khi đó chúng phải thuộc hai thành phần liên thông nào đó của đồ thị G, G1 chứa u và G2 chứa v. Bậc của đỉnh u trong G1 cũng chính là bậc của u trong G, nên trong G1 đỉnh u vẫn có bậc lẻ và G1 có duy nhất một đỉnh bậc lẻ. Điều này mâu thuẫn. Vậy hai đỉnh u và v phải liên thông.

Mệnh đề: Cho G=(V,E) là một đồ thị liên thông. Khi đó một đỉnh của G là điểm khớp khi và chỉ khi trong G tồn tại hai đỉnh u và v sao cho mỗi đường đi nối u và v đều phải đi qua đỉnh này.

Chứng minh: Điều kiện cần: Giả sử đỉnh x là điểm khớp trong đồ thị G. Khi đó đồ thị con G1 của G nhận được bằng cách xoá x và các cạnh liên thuộc với nó là không liên thông. Giả sử G2, G3 là hai trong các thành phần liên thông của G1. Lấy u là đỉnh trong G2 và v là đỉnh trong G3. Do u, v thuộc hai thành phần liên thông khác nhau, nên trong G1 các đỉnh u, v không liên thông. Nhưng trong G các đỉnh u, v lại liên thông, nên mọi đường đi nối u, v đều phải đi qua đỉnh x.

Page 8: TOÁN NG D NG TR NG CAO NG CÔNG NGHI P NAM …Như vậy, ma trn liậền kề của một đồ thị vô hướng là ma trận đối xứng, ngha là ĩ = a a ij ji , trong khi

TOÁN ỨNG DỤNG TRƯỜNG CAO ĐẲNG CÔNG NGHIỆP NAM ĐỊNH

GIÁO VIÊN: NGUYỄN HẢI ĐĂNG TRANG 26

Điều kiện đủ: Giả sử mọi đường đi nối u, v đều đi qua đỉnh x, nên nếu bỏ đỉnh x và các cạnh liên thuộc với x thì đồ thị con G1 nhận được từ G chứa hai đỉnh u, v không liên thông. Do đó G1 là đồ thị không liên thông hay đỉnh x là điểm khớp của G.

Định lý: Cho G là một đơn đồ thị có n đỉnh, m cạnh và k thành phần liên thông. Khi đó

2)1)(( +−−

≤≤−knknmkn .

Chứng minh: Bất đẳng thức mkn ≤− được chứng minh bằng quy nạp theo m. Nếu m=0 thì k=n nên bất đẳng thức đúng. Giả sử bất đẳng thức đúng đến m−1, với m ≥ 1. Gọi G’ là đồ thị con bao trùm của G có số cạnh m0 là nhỏ nhất sao cho nó có k thành phần liên thông. Do đó việc loại bỏ bất cứ cạnh nào trong G’ cũng tăng số thành phần liên thông lên 1 và khi đó đồ thị thu được sẽ có n đỉnh, k+1 thành phần liên thông và m0−1 cạnh. Theo giả thiết quy nạp, ta có m0−1 ≥ n−(k+1) hay m0 ≥ n−k. Vậy m ≥ n-k. Bổ sung cạnh vào G để nhận được đồ thị G’’ có m1 cạnh sao cho k thành phần liên thông là những đồ thị đầy đủ. Ta có m ≤ m1 nên chỉ cần chứng minh

m1 ≤ 2

)1)(( +−− knkn.

Giả sử Gi và Gj là hai thành phần liên thông của G’’ với ni và nj đỉnh và ni ≥ nj >1 (*). Nếu ta thay Gi và Gj bằng đồ thị đầy đủ với ni+1 và nj−1 đỉnh thì tổng số đỉnh không thay đổi nhưng số cạnh tăng thêm một lượng là:

12

)2)(1(2

)1(2

)1(2

)1(+−=⎥

⎤⎢⎣

⎡ −−−

−−⎥⎦

⎤⎢⎣⎡ −

−+

jijjjjiiii nn

nnnnnnnn.

Thủ tục này được lặp lại khi hai thành phần nào đó có số đỉnh thoả (*). Vì vậy m1 là lớn nhất (n, k là cố định) khi đồ thị gồm k-1 đỉnh cô lập và một đồ thị đầy đủ với n-k+1 đỉnh. Từ đó suy ra bất đẳng thức cần tìm.

Định nghĩa 4: Đồ thị có hướng G được gọi là liên thông mạnh nếu với hai đỉnh phân biệt bất kỳ u và v của G đều có đường đi từ u tới v và đường đi từ v tới u. Đồ thị có hướng G được gọi là liên thông yếu nếu đồ thị vô hướng nền của nó là liên thông. Đồ thị có hướng G được gọi là liên thông một chiều nếu với hai đỉnh phân biệt bất kỳ u và v của G đều có đường đi từ u tới v hoặc đường đi từ v tới u.

Thí dụ 4: G G’ Đồ thị G là liên thông mạnh nhưng đồ thị G’ là liên thông yếu (không có đường đi từ u tới x cũng như từ x tới u).

u v

y s

w

t

x

u v w

y s t

x

Page 9: TOÁN NG D NG TR NG CAO NG CÔNG NGHI P NAM …Như vậy, ma trn liậền kề của một đồ thị vô hướng là ma trận đối xứng, ngha là ĩ = a a ij ji , trong khi

TOÁN ỨNG DỤNG TRƯỜNG CAO ĐẲNG CÔNG NGHIỆP NAM ĐỊNH

GIÁO VIÊN: NGUYỄN HẢI ĐĂNG TRANG 27

Mệnh đề: Cho G là một đồ thị (vô hướng hoặc có hướng) với ma trận liền kề A theo thứ tự các đỉnh v1, v2, ..., vn. Khi đó số các đường đi khác nhau độ dài r từ vi tới vj trong đó r là một số nguyên dương, bằng giá trị của phần tử dòng i cột j của ma trận Ar.

Chứng minh: Ta chứng minh mệnh đề bằng quy nạp theo r. Số các đường đi khác nhau độ dài 1 từ vi tới vj là số các cạnh (hoặc cung) từ vi tới vj, đó chính là phần tử dòng i cột j của ma trận A; nghĩa là, mệnh đề đúng khi r=1. Giả sử mệnh đề đúng đến r; nghĩa là, phần tử dòng i cột j của Ar là số các đường đi khác nhau độ dài r từ vi tới vj. Vì Ar+1=Ar.A nên phần tử dòng i cột j của Ar+1 bằng

bi1a1j+bi2a2j+ ... +binanj, trong đó bik là phần tử dòng i cột k của Ar. Theo giả thiết quy nạp bik là số đường đi khác nhau độ dài r từ vi tới vk. Đường đi độ dài r+1 từ vi tới vj sẽ được tạo nên từ đường đi độ dài r từ vi tới đỉnh trung gian vk nào đó và một cạnh (hoặc cung) từ vk tới vj. Theo quy tắc nhân số các đường đi như thế là tích của số đường đi độ dài r từ vi tới vk, tức là bik, và số các cạnh (hoặc cung) từ vk tới vj, tức là akj. Cộng các tích này lại theo tất cả các đỉnh trung gian vk ta có mệnh đề đúng đến r+1. 2.4. Hàm Grundy trên đồ thị 2.4.1. Hàm Grundy

Trước tiên, ta ký hiệu tập các số nguyên không âm là N = {0, 1, 2, . . .}. Định nghĩa 1: Giả sử G = (V, F) là một đồ thị. Hàm g : V → N được gọi là hàm

Grundy của đồ thị G nếu: ∀x ∈ V : g(x) = min {N \ g(F(x))}. Từ định nghĩa trên suy ra hai tính chất đặc trưng của hàm Grundy như sau: 1) ∀ x, y ∈ V, nếu y ∈ F(x) thì g(x) ≠ g(y).

2) ∀ u ∈ N , u < g(x) : u ∈ g(F(x)) ; nghĩa là: ∃ y ∈ F(x) để g(y) = u. Tính chất 1) chỉ ra rằng g(x) không nằm trong tập giá trị của g trên F(x), và tính chất

2) khẳng định g(x) là số nguyên không âm bé nhất trong số các số không thuộc tập giá trị của hàm g trên F(x).

Từ định nghĩa của hàm Grundy, ta có một số nhận xét sau đây: 1. Đồ thị có đỉnh nút thì không thể có hàm Grundy. 2. Nếu F(x) = ∅ thì g(x) = 0 . 3. Tập hợp {x ′x ∈V, g(x) = 0} luôn luôn khác rỗng. 4. ∀ x ∈ V : g(x) ≤ ′F(x) ′, nghĩa là hàm Grundy nhận giá trị không lớn.

Ví dụ 1: Hàm Grundy có thể không duy nhất.

Đồ thị có hai hàm Grundy

Page 10: TOÁN NG D NG TR NG CAO NG CÔNG NGHI P NAM …Như vậy, ma trn liậền kề của một đồ thị vô hướng là ma trận đối xứng, ngha là ĩ = a a ij ji , trong khi

TOÁN ỨNG DỤNG TRƯỜNG CAO ĐẲNG CÔNG NGHIỆP NAM ĐỊNH

GIÁO VIÊN: NGUYỄN HẢI ĐĂNG TRANG 28

Ví dụ 2: Hàm Grundy có thể không tồn tại.

Đồ thị không có hàm Grundy

Vậy với điều kiện nào thì một đồ thị có hàm Grundy. 2.4.2. Điều kiện để đồ thị có hàm Grundy Định lý : Đồ thị G không có chu trình thì có duy nhất một hàm Grundy. Chứng minh:

Không mất tính tổng quát, có thể giả thiết rằng đồ thị G liên thông. Ta xây dựng hai dãy tập con các đỉnh: V0, V1, ... và P0, P1, ... lần lượt như sau:

V0 = V P0 = {x F(x) = ∅}

Tập P0 không rỗng. Vì nếu P0 rỗng có nghĩa là mọi đỉnh trong V luôn có đỉnh kề. Khi đó xuất phát từ một đỉnh có thể tạo một đường đi dài tuỳ ý. Điều này là vô lý vì trong G không có chu trình.

V1 = V0 \ P0 P1 = {x x ∈V1 ∧ F(x) ⊆ V \ V1} V2 = V1 \ P1 . . . . . . . . . . . . . . . . . . . . . . . . . . Pi = {x x ∈Vi ∧ F(x) ⊆ V \ Vi}, với i ≥ 2 Vi+1 = Vi \ Pi

Chú ý: Nếu Pk rỗng thì Vk cũng rỗng, nghĩa là ta đã vét hết các đỉnh của đồ thị. Thật vậy, giả sử ngược lại là Pk rỗng nhưng Vk không rỗng, khi đó với mỗi x ∈Vk sẽ có y ∈F(x) để y ∉ V \ Vk , nghĩa là y ∈ Vk. Vậy với mọi đỉnh trong Vk luôn có đỉnh kề

cũng thuộc Vk. Khi đó xuất phát từ một đỉnh trong Vk có thể tạo ra một đường đi dài tuỳ ý.

Điều này là vô lý vì đồ thị G không có chu trình.

Cách xây dựng dãy tập con P0, P1, …, Pk

Bây giờ ta xây dựng hàm g : V → N như sau: Với mọi x ∈ P0 ta đặt g(x) = 0. Với mỗi x ∈ P1 nghĩa là x ∉ P0 và F(x) ⊆ P0, do hàm g đã được xác định trên P0, nên hàm g tại x được xác định một cách duy nhất: g(x) = min {N \ g(F(x))}. Tiếp tục cách làm trên ta sẽ lần lượt xác định được giá trị hàm g tại mỗi đỉnh của đồ thị một cách duy nhất. Định lý được chứng minh và cách chứng minh đã cho ta thuật toán tìm hàm Grundy cho đồ

Page 11: TOÁN NG D NG TR NG CAO NG CÔNG NGHI P NAM …Như vậy, ma trn liậền kề của một đồ thị vô hướng là ma trận đối xứng, ngha là ĩ = a a ij ji , trong khi

TOÁN ỨNG DỤNG TRƯỜNG CAO ĐẲNG CÔNG NGHIỆP NAM ĐỊNH

GIÁO VIÊN: NGUYỄN HẢI ĐĂNG TRANG 29

thị phi chu trình. Ví dụ 3: Xét đồ thị có hướng sau đây và cách xây dựng hàm Grundy trên nó.

Đồ thị và các tập con Pi

2.5. Chu số và sắc số của đồ thị 2.5.1. Chu số của đồ thị

Cho đồ thị G = (V, E) có n đỉnh, m cạnh, p thành phần liên thông. Định nghĩa 1: Đại lượng: c = m - n + p được gọi là chu số của đồ thị G. Trước hết, ta xét các tính chất của đại lượng này.

Ví dụ 1: Xét đồ thị sau đây:

Đồ thị định hướng không liên thông Đồ thị trên có n = 7, m = 8 và p = 2. Vậy chu số c = 8 - 7 + 2 = 3. Định lý 1: Nếu thêm một cạnh mới vào đồ thị G thì chu số tăng thêm 1 hoặc không

thay đổi. Chứng minh: Giả sử thêm cạnh mới (a, b) vào đồ thị G. Khi đó m tăng thêm 1.

i) Nếu hai đỉnh a, b thuộc cùng một mảng liên thông trong G thì n, p không đổi, do vậy chu số tăng thêm 1.

ii) Nếu hai đỉnh a, b nằm ở hai mảng liên thông khác nhau trong G thì p giảm 1, do vậy chu số không đổi.

Hệ quả: Chu số của đồ thị là số nguyên không âm. Chứng minh:

Thật vậy, đồ thị G được xây dựng từ đồ thị G0 gồm n đỉnh và không có cạnh nào cả. Sau đó, lần lượt thêm các cạnh vào đồ thị G0 để được đồ thị G. Chu số của G0 là c = 0 - n + n = 0. Quá trình thêm cạnh không làm giảm chu số. Vậy chu số của G ≥ chu số của G0 = 0.

Ý nghĩa của chu số Ta đánh số các cạnh của đồ thị G theo một thứ tự nào đó: 1, 2, ... , m. Với mỗi chu

trình vô hướng trong đồ thị G ta chọn một chiều thuận và biểu diễn nó bằng một vectơ m

Page 12: TOÁN NG D NG TR NG CAO NG CÔNG NGHI P NAM …Như vậy, ma trn liậền kề của một đồ thị vô hướng là ma trận đối xứng, ngha là ĩ = a a ij ji , trong khi

TOÁN ỨNG DỤNG TRƯỜNG CAO ĐẲNG CÔNG NGHIỆP NAM ĐỊNH

GIÁO VIÊN: NGUYỄN HẢI ĐĂNG TRANG 30

chiều (q1, q2, ... , qm) mà qi là số lần xuất hiện của cạnh thứ i trong chu trình theo chiều thuận trừ đi số lần xuất hiện của cạnh đó trong chu trình theo chiều ngược.

Ví dụ 2: Xét đồ thị định hướng sau đây.

Đánh số các cạnh của đồ thị Đồ thị có 7 cạnh, được đánh số như hình vẽ. Với chu trình vô hướng [e1, e2, e7] ta

chọn chiều thuận là chiều e1 e2 e7 khi đó vectơ tương ứng sẽ là (-1, 1, 0, 0, 0, 0, 1). Do vây, ta có thể đồng nhất mỗi chu trình vô hướng với một vectơ biểu diễn nó. Các chu trình vô hướng t1, t2, ..., tk được gọi là độc lập tuyến tính nếu các vectơ tương ứng với chúng lập thành một hệ độc lập tuyến tính.

Hệ chu trình đơn vô hướng t1, t2, ... , tk được gọi là độc lập tuyến tính cực đại nếu nó là độc lập tuyến tính và mỗi chu trình vô hướng của đồ thị đều có thể biểu diễn tuyến tính qua các chu trình của hệ. Định lý 2: Chu số của đồ thị bằng số các chu trình đơn vô hướng độc lập cực đại trong đồ thị đó.

Chứng minh: Quy nạp theo số cạnh m của đồ thị.

- Nếu m = 0 thì chu số bằng 0, đồ thị không có chu trình đơn nào. - (m) ⇒ (m+1) : Giả sử đồ thị G’ có n đỉnh, m+1 cạnh, p mảng liên thông. Có thể xem

G’ được xây dựng từ đồ thị G gồm m cạnh và bổ sung thêm một cạnh mới e = (a, b). Đánh số cạnh e là cạnh thứ m+1 của đồ thị G’. Theo giả thiết quy nạp, chu số của đồ thị G là c(G) = m -n +p = số chu trình đơn vô hướng độc lập cực đại trong G. Ký hiệu các chu trình đó là: (T) = t1, t2, ..., tc. Hiển nhiên, mỗi chu trình trong G’ không chứa e đều có thể biểu diễn tuyến tính qua hệ các chu trình (T). 

Ta xét hai trường hợp: 1) Hai đỉnh a, b của cạnh e nằm trong hai mảng liên thông khác nhau của G.

Vì số cạnh tăng 1 nhưng số mảng liên thông bị giảm 1 nên chu số của G’ vẫn bằng chu số

của G.

Hai mảng liên thông

Page 13: TOÁN NG D NG TR NG CAO NG CÔNG NGHI P NAM …Như vậy, ma trn liậền kề của một đồ thị vô hướng là ma trận đối xứng, ngha là ĩ = a a ij ji , trong khi

TOÁN ỨNG DỤNG TRƯỜNG CAO ĐẲNG CÔNG NGHIỆP NAM ĐỊNH

GIÁO VIÊN: NGUYỄN HẢI ĐĂNG TRANG 31

Mặt khác, mỗi chu trình trong G’ chứa e có tính chất sau đây: số lần e xuất hiện trong chu trình theo chiều thuận bằng số lần e xuất hiện trong chu trình theo chiều ngược vì cạnh e là cầu nối duy nhất giữa hai mảng liên thông này của G. Do đó, thành phần thứ m+1 của vectơ biểu diễn chu trình này bằng 0, và chu trình này vẫn có thể biểu diễn qua hệ (T). Suy ra hệ (T) cũng chính là hệ chu trình đơn vô hướng độc lập cực đại của G’.

2) Hai đỉnh a, b của cạnh e thuộc cùng một mảng liên thông của G. Khi đó chu số c(G’) = c(G) + 1. Chọn một đường đi đơn vô hướng trong G nối a với b rồi ghép thêm cạnh e ta được một chu trình đơn vô hướng trong G’. Ký hiệu chu trình này là t0.

Xét hệ (T’) = t0 , (T) = t0 , t1 , t2 , ... , tc gồm c(G) + 1 chu trình đơn vô hướng trong G’. Hệ (T’) là độc lập tuyến tính vì (T) độc lập tuyến tính và t0 không thể biểu diễn được qua (T), vì toạ độ thứ m+1 của vectơ biểu diễn t0 bằng 1, còn của các vectơ biểu diễn các chu trình trong (T) thì bằng 0. 

Hai chu trình chung một cạnh

Giả sử t là một chu trình nào đó của G’ chứa e. Chọn chiều của t sao cho chu trình tổng t + t0 không chứa e. Vậy thì chu trình tổng t + t0 có thể biểu diễn tuyến tính qua hệ (T). Do đó, chu trình t cũng có thể biểu diễn tuyến tính qua hệ (T). Vậy (T’) là hệ chu trình đơn vô hướng độc lập cực đại của G’.

Đồ thị có chu số bằng 0 được gọi là đồ thị phi chu trình. Lớp đồ thị phi chu trình là

lớp đặc biệt nhưng hay gặp trong thực tế ứng dụng. Trước hết ta chỉ ra một đặc trưng của lớp đồ thị này như sau.

Định lý 3: Đồ thị định hướng G = (V, E) là phi chu trình khi và chỉ khi các đỉnh của nó luôn có thể đánh số để sao cho mỗi cạnh (i,j) của đồ thị đều thoả mãn i < j. Chứng minh:

a) Nếu có thể đánh số các đỉnh như trên thì hiển nhiên đồ thị không có chu trình. b) Để chứng minh điều ngược lại, ta xây dựng thuật toán sau đây để đánh số các đỉnh

của đồ thị định hướng phi chu trình. Thuật toán dựa trên một tính chất rất đơn giản: Trong một đồ thị định hướng không

rỗng phi chu trình tuỳ ý, luôn tồn tại đỉnh mà không có một cạnh nào đi vào đỉnh đó. Trước hết, thuật toán tính bậc vào cho các đỉnh của đồ thị.

Những đỉnh có bậc vào bằng 0 sẽ được đưa vào stack (ngăn xếp – LIFO). Đánh số cho đỉnh đang ở đỉnh stack, loại bỏ đỉnh này khỏi stack và giảm bậc vào cho các đỉnh kề với đỉnh này. Nếu có đỉnh mà bậc vào đã giảm hết thì nạp nó lên đỉnh của stack. Tiếp tục quá trình đánh số tăng dần, loại đỉnh, giảm bậc vào ... cho đến khi stack trở thành rỗng. Và ta đã đánh số xong tất cả các đỉnh của đồ thị.

Page 14: TOÁN NG D NG TR NG CAO NG CÔNG NGHI P NAM …Như vậy, ma trn liậền kề của một đồ thị vô hướng là ma trận đối xứng, ngha là ĩ = a a ij ji , trong khi

TOÁN ỨNG DỤNG TRƯỜNG CAO ĐẲNG CÔNG NGHIỆP NAM ĐỊNH

GIÁO VIÊN: NGUYỄN HẢI ĐĂNG TRANG 32

2.5.2. Sắc số của đồ thị Khái niệm sắc số liên quan đến bài toán tô màu đồ thị như sau: Hãy tô màu các đỉnh của một đồ thị đã cho, sao cho hai đỉnh kề nhau phải được tô

bằng hai màu khác nhau. Ta nói rằng, đồ thị G tô được bằng k màu nếu tồn tại hàm:

m : V → {0, 1, 2, ... , k-1} sao cho, nếu hai đỉnh x và y kề nhau thì m(x) ≠ m(y).

Dễ thấy rằng, đồ thị G tô màu được khi và chỉ khi nó không có đỉnh nút. Định nghĩa: Sắc số của một đồ thị chính là số màu ít nhất dùng để tô các đỉnh của

đồ thị đó. Ta ký hiệu số s là sắc số của đồ thị G. Hiển nhiên s ≤ n , số màu không vượt quá

số đỉnh của đồ thị. Ví dụ: Hãy tô màu đồ thị sau đây.

Tô màu các đỉnh đồ thị

Đồ thị trên có sắc số bằng 3. Nhận xét: Mỗi cách tô màu m cho đồ thị G sẽ ứng với một cách phân hoạch tập

đỉnh V thành các tập ổn định trong không giao nhau, mỗi tập ứng với một màu. Ngược lại, mỗi cách phân hoạch tập đỉnh V thành các tập ổn định trong không giao nhau sẽ cho ta một cách tô màu.

Định lý 1: Mọi chu trình độ dài lẻ luôn có sắc số bằng 3. Định lý 2: Đồ thị đầy đủ n đỉnh Kn có sắc số bằng n. Định lý 3: Giả sử đồ thị G có ít nhất một cạnh. Đồ thị G là hai sắc khi và chỉ khi G không có chu trình đơn vô hướng độ dài lẻ.  2.6. Nhân của đồ thị

Giả sử G = (V, E) là một đồ thị. Định nghĩa 1: Tập B ⊆ V được gọi là nhân của đồ thị G nếu nó vừa là tập ổn định

trong vừa là tập ổn định ngoài của G, nghĩa là: ∀x ∈ B : B ∩ F(x) = ∅ và∀y ∉ B : B ∩ F(y) ≠ ∅.

Hai điều kiện trên của nhân tương đương với đẳng thức: F-1(B) = V \ B. Từ định nghĩa của nhân, ta suy ra:

- Nhân không chứa đỉnh nút. - Nếu F(x) = ∅ thì x phải thuộc vào một nhân nào đó của đồ thị.

Ví dụ 1: Xét các đồ thị sau đây:

Page 15: TOÁN NG D NG TR NG CAO NG CÔNG NGHI P NAM …Như vậy, ma trn liậền kề của một đồ thị vô hướng là ma trận đối xứng, ngha là ĩ = a a ij ji , trong khi

TOÁN ỨNG DỤNG TRƯỜNG CAO ĐẲNG CÔNG NGHIỆP NAM ĐỊNH

GIÁO VIÊN: NGUYỄN HẢI ĐĂNG TRANG 33

Đồ thị và có nhân và đồ thị không có nhân

Chú ý: Nếu g là một hàm Grundy của đồ thị G thì tập hợp: B = { x g(x) = 0} là một nhân của G.

Quả vậy, nếu x, y đều thuộc B thì g(x) = g(y) (= 0) nên x không thể kề với y. Vậy B là tập ổn định trong. Mặt khác, nếu x ∉ B thì g(x) > 0. Khi đó, với u = 0 < g(x) sẽ tồn tại y ∈ F(x) sao cho g(y) = u = 0 . Ta có y ∈ B . Vậy B là tập ổn định ngoài.

Định lý 1: Nếu B là nhân của đồ thị G thì B cũng là tập ổn định trong cực đại. Chứng minh: Giả sử ngược lại, B không là tập ổn định trong cực đại. Điều này có nghĩa là tồn tại a

∉ B mà B ∪{a} vẫn là tập ổn định trong. Vì B là nhân nên a sẽ kề với một đỉnh nào đó trong B. Vậy thì B ∪{a} không thể là tập ổn định trong. Suy ra điều vô lý. Định lý được chứng minh xong. Chú ý rằng, mệnh đề ngược lại là không đúng.

Ví dụ 2: Xét phản ví dụ sau đây.

Tập ổn định trong cực đại không phải là nhân Định lý 2: Trong đồ thị đối xứng không có đỉnh nút, mọi tập ổn định trong cực đại

đều là nhân của đồ thị. Hệ quả: Mọi đồ thị xứng không có đỉnh nút luôn luôn có nhân. Định lý 3: Mọi đồ thị không có chu trình luôn có nhân.

Định nghĩa 2: Tập con các đỉnh B được gọi là lõi của đồ thị G = (V, E) nếu: 1) ∀ x, y ∈ B , x ≠ y : không tồn tại đường đi nối x với y. 2) ∀x ∉ B : có tồn tại đường đi từ x đến B.

Ví dụ 3: Lõi và nhân của một đồ thị

Lõi và nhân của đồ thị

Page 16: TOÁN NG D NG TR NG CAO NG CÔNG NGHI P NAM …Như vậy, ma trn liậền kề của một đồ thị vô hướng là ma trận đối xứng, ngha là ĩ = a a ij ji , trong khi

TOÁN ỨNG DỤNG TRƯỜNG CAO ĐẲNG CÔNG NGHIỆP NAM ĐỊNH

GIÁO VIÊN: NGUYỄN HẢI ĐĂNG TRANG 34

Bổ đề : Mọi đồ thị đều có lõi. Định lý 4: Mọi đồ thị không có chu trình độ dài lẻ luôn có nhân. Định lý 5: Nếu mỗi đồ thị con của đồ thị G đều có nhân, thì G có hàm Grundy.

Hệ quả: Đồ thị đối xứng có hàm Grundy khi và chỉ khi nó không có đỉnh nút. Thuật toán tìm nhân của đồ thị:

1) Chọn một tập ổn định ngoài bé nhất. 2) Kiểm tra xem nó có phải là tập ổn định trong hay không. Nếu đúng thì ta nhận được

nhân bé nhất. 3) Tăng dần số phần tử của tập ổn định ngoài và lặp lại phép kiểm tra, để nhận

được các nhân khác. Chú ý: Nếu một đồ thị có số ổn định trong bé hơn số ổn định ngoài thì đồ thị ấy

không có nhân. 2.7. ĐƯỜNG ĐI EULER VÀ ĐỒ THỊ EULER. 2.7.1. Khái niệm

Định nghĩa 1: Chu trình (t.ư. đường đi) đơn chứa tất cả các cạnh (hoặc cung) của đồ thị (vô hướng hoặc có hướng) G được gọi là chu trình (t.ư. đường đi) Euler. Một đồ thị liên thông (liên thông yếu đối với đồ thị có hướng) có chứa một chu trình (t.ư. đường đi) Euler được gọi là đồ thị Euler (t.ư. nửa Euler).

Thí dụ 1: Đồ thị không nửa Euler Đồ thị nửa Euler Đồ thị Euler Đồ thị nửa Euler Điều kiện cần và đủ để một đồ thị là đồ thị Euler được Euler tìm ra vào năm 1736 khi ông giải quyết bài toán hóc búa nổi tiếng thời đó về bảy cái cầu ở Konigsberg và đây là định lý đầu tiên của lý thuyết đồ thị.

Đồ thịEuler

Page 17: TOÁN NG D NG TR NG CAO NG CÔNG NGHI P NAM …Như vậy, ma trn liậền kề của một đồ thị vô hướng là ma trận đối xứng, ngha là ĩ = a a ij ji , trong khi

TOÁN ỨNG DỤNG TRƯỜNG CAO ĐẲNG CÔNG NGHIỆP NAM ĐỊNH

GIÁO VIÊN: NGUYỄN HẢI ĐĂNG TRANG 35

2.7.2. Điều kiện để đồ thị có chu trình (đường đi) Euler Định lý: Đồ thị (vô hướng) liên thông G là đồ thị Euler khi và chỉ khi mọi đỉnh của

G đều có bậc chẵn. Bổ đề: Nếu bậc của mỗi đỉnh của đồ thị G không nhỏ hơn 2 thì G chứa chu trình

đơn. Chứng minh: Nếu G có cạnh bội hoặc có khuyên thì khẳng định của bổ đề là hiển

nhiên. Vì vậy giả sử G là một đơn đồ thị. Gọi v là một đỉnh nào đó của G. Ta sẽ xây dựng theo quy nạp đường đi trong đó v1 là đỉnh kề với v, còn với i ≥ 1, chọn vi+1 là đỉnh kề với vi và vi+1 ≠ vi-1 (có thể chọn như vậy vì deg(vi) ≥ 2), v0 = v. Do tập đỉnh của G là hữu hạn, nên sau một số hữu hạn bước ta phải quay lại một đỉnh đã xuất hiện trước đó. Gọi k là số nguyên dương đầu tiên để vk=vi (0≤i<k). Khi đó, đường đi vi, vi+1, ..., vk-1, vk (= vi) là một chu trình đơn cần tìm.

Chứng minh định lý: Điều kiện cần: Giả sử G là đồ thị Euler, tức là tồn tại chu trình Euler P trong G. Khi đó cứ mỗi lần chu trình P đi qua một đỉnh nào đó của G thì bậc của đỉnh đó tăng lên 2. Mặt khác, mỗi cạnh của đồ thị xuất hiện trong P đúng một lần. Do đó mỗi đỉnh của đồ thị đều có bậc chẵn. Điều kiện đủ: Quy nạp theo số cạnh của G. Do G liên thông và bậc của mọi đỉnh là chẵn nên mỗi đỉnh có bậc không nhỏ hơn 2. Từ đó theo Bổ đề 4.1.3, G phải chứa một chu trình đơn C. Nếu C đi qua tất cả các cạnh của G thì nó chính là chu trình Euler. Giả sử C không đi qua tất cả các cạnh của G. Khi đó loại bỏ khỏi G các cạnh thuộc C, ta thu được một đồ thị mới H (không nhất thiết là liên thông). Số cạnh trong H nhỏ hơn trong G và rõ ràng mỗi đỉnh của H vẫn có bậc là chẵn. Theo giả thiết quy nạp, trong mỗi thành phần liên thông của H đều tìm được chu trình Euler. Do G liên thông nên mỗi thành phần trong H có ít nhất một đỉnh chung với chu trình C. Vì vậy, ta có thể xây dựng chu trình Euler trong G như sau: Bắt đầu từ một đỉnh nào đó của chu trình C, đi theo các cạnh của C chừng nào chưa gặp phải đỉnh không cô lập của H. Nếu gặp phải đỉnh như vậy thì ta đi theo chu trình Euler của thành phần liên thông của H chứa đỉnh đó. Sau đó lại tiếp tục đi theo cạnh của C cho đến khi gặp phải đỉnh không cô lập của H thì lại theo chu trình Euler của thành phần liên thông

C

v v1 v2 ...... 

Page 18: TOÁN NG D NG TR NG CAO NG CÔNG NGHI P NAM …Như vậy, ma trn liậền kề của một đồ thị vô hướng là ma trận đối xứng, ngha là ĩ = a a ij ji , trong khi

TOÁN ỨNG DỤNG TRƯỜNG CAO ĐẲNG CÔNG NGHIỆP NAM ĐỊNH

GIÁO VIÊN: NGUYỄN HẢI ĐĂNG TRANG 36

tương ứng trong H, ... Quá trình sẽ kết thúc khi ta trở về đỉnh xuất phát, tức là thu được chu trình đi qua mỗi cạnh của đồ thị đúng một lần.

Hệ quả: Đồ thị liên thông G là nửa Euler (mà không là Euler) khi và chỉ khi có đúng hai đỉnh bậc lẻ trong G.

Chứng minh: Nếu G là nửa Euler thì tồn tại một đường đi Euler trong G từ đỉnh u đến đỉnh v. Gọi G’ là đồ thị thu được từ G bằng cách thêm vào cạnh (u,v). Khi đó G’ là đồ thị Euler nên mọi đỉnh trong G’ đều có bậc chẵn (kể cả u và v). Vì vậy u và v là hai đỉnh duy nhất trong G có bậc lẻ. Đảo lại, nếu có đúng hai đỉnh bậc lẻ là u và v thì gọi G’ là đồ thị thu được từ G bằng cách thêm vào cạnh (u,v). Khi đó mọi đỉnh của G’ đều có bậc chẵn hay G’ là đồ thị Euler. Bỏ cạnh (u,v) đã thêm vào ra khỏi chu trình Euler trong G’ ta có được đường đi Euler từ u đến v trong G hay G là nửa Euler.

Chú ý: Ta có thể vạch được một chu trình Euler trong đồ thị liên thông G có bậc của mọi đỉnh là chẵn theo thuật toán Fleury sau đây. Xuất phát từ một đỉnh bất kỳ của G và tuân theo hai quy tắc sau: 1. Mỗi khi đi qua một cạnh nào thì xoá nó đi; sau đó xoá đỉnh cô lập (nếu có); 2. Không bao giờ đi qua một cầu, trừ phi không còn cách đi nào khác. Xuất phát từ u, ta có thể đi theo cạnh (u,v) hoặc (u,x), giả sử là (u,v) (xoá (u,v)). Từ v có thể đi qua một trong các cạnh (v,w), (v,x), (v,t), giả sử (v,w) (xoá (v,w)). Tiếp tục, có thể đi theo một trong các cạnh (w,s), (w,y), (w,z), giả sử (w,s) (xoá (w,s)). Đi theo cạnh (s,y) (xoá (s,y) và s). Vì (y,x) là cầu nên có thể đi theo một trong hai cạnh (y,w), (y,z), giả sử (y,w) (xoá (y,w)). Đi theo (w,z) (xoá (w,z) và w) và theo (z,y) (xoá (z,y) và z). Tiếp tục đi theo cạnh (y,x) (xoá (y,x) và y). Vì (x,u) là cầu nên đi theo cạnh (x,v) hoặc (x,t), giả sử (x,v) (xoá (x,v)). Tiếp tục đi theo cạnh (v,t) (xoá (v,t) và v), theo cạnh (t,x) (xoá cạnh (t,x) và t), cuối cung đi theo cạnh (x,u) (xoá (x,u), x và u).

Định lý: Đồ thị có hướng liên thông yếu G là đồ thị Euler khi và chỉ khi mọi đỉnh của G đều có bậc vào bằng bậc ra.

Chứng minh: Chứng minh tương tự như chứng minh của Định lý 4.1.2 và điều kiện đủ cũng cần có bổ đề dưới đây tương tự như ở Bổ đề 4.1.3.

Bổ đề: Nếu bậc vào và bậc ra của mỗi đỉnh của đồ thị có hướng G không nhỏ hơn 1 thì G chứa chu trình đơn.

Hệ quả: Đồ thị có hướng liên thông yếu G là nửa Euler (mà không là Euler) khi và chỉ khi tồn tại hai đỉnh x và y sao cho:

dego(x) = degt(x)+1, degt(y) = dego(y)+1, degt(v) = dego(v), ∀v∈V, v ≠ x, v ≠ y.

u sv w

t x y z

Page 19: TOÁN NG D NG TR NG CAO NG CÔNG NGHI P NAM …Như vậy, ma trn liậền kề của một đồ thị vô hướng là ma trận đối xứng, ngha là ĩ = a a ij ji , trong khi

TOÁN ỨNG DỤNG TRƯỜNG CAO ĐẲNG CÔNG NGHIỆP NAM ĐỊNH

GIÁO VIÊN: NGUYỄN HẢI ĐĂNG TRANG 37

2.7.3. Bài toán người phát thư Trung Hoa: Một nhân viên đi từ Sở Bưu Điện, qua một số đường phố để phát thư, rồi quay về Sở. Người ấy phải đi qua các đường theo trình tự nào để đường đi là ngắn nhất? Bài toán được nhà toán học Trung Hoa Guan nêu lên đầu tiên (1960), vì vậy thường được gọi là “bài toán người phát thư Trung Hoa”. Ta xét bài toán ở một dạng đơn giản như sau. Cho đồ thị liên thông G. Một chu trình qua mọi cạnh của G gọi là một hành trình trong G. Trong các hành trình đó, hãy tìm hành trình ngắn nhất, tức là qua ít cạnh nhất. Rõ ràng rằng nếu G là đồ thị Euler (mọi đỉnh đều có bậc chẵn) thì chu trình Euler trong G (qua mỗi cạnh của G đúng một lần) là hành trình ngắn nhất cần tìm. Chỉ còn phải xét trường hợp G có một số đỉnh bậc lẻ (số đỉnh bậc lẻ là một số chẵn). Khi đó, mọi hành trình trong G phải đi qua ít nhất hai lần một số cạnh nào đó. Dễ thấy rằng một hành trình qua một cạnh (u,v) nào đó quá hai lần thì không phải là hành trình ngắn nhất trong G. Vì vậy, ta chỉ cần xét những hành trình T đi qua hai lần một số cạnh nào đó của G. Ta quy ước xem mỗi hành trình T trong G là một hành trình trong đồ thị Euler GT, có được từ G bằng cách vẽ thêm một cạnh song song đối với những cạnh mà T đi qua hai lần. Bài toán đặt ra được đưa về bài toán sau: Trong các đồ thị Euler GT, tìm đồ thị có số cạnh ít nhất (khi đó chu trình Euler trong đồ thị này là hành trình ngắn nhất).

Định lý (Gooodman và Hedetniemi, 1973). Nếu G là một đồ thị liên thông có q cạnh thì hành trình ngắn nhất trong G có chiều dài

q + m(G), trong đó m(G) là số cạnh mà hành trình đi qua hai lần và được xác định như sau: Gọi V0(G) là tập hợp các đỉnh bậc lẻ (2k đỉnh) của G. Ta phân 2k phần tử của G thành k cặp, mỗi tập hợp k cặp gọi là một phân hoạch cặp của V0(G). Ta gọi độ dài đường đi ngắn nhất từ u đến v là khoảng cách d(u,v). Đối với mọi phân hoạch cặp Pi, ta tính khoảng cách giữa hai đỉnh trong từng cặp, rồi tính tổng d(Pi). Số m(G) bằng cực tiểu của các d(Pi):

m(G)=min d(Pi). Thí dụ 2: Giải bài toán người phát thư Trung Hoa cho trong đồ thị sau:

G GT

D

C E

FB K J

A I H G

Page 20: TOÁN NG D NG TR NG CAO NG CÔNG NGHI P NAM …Như vậy, ma trn liậền kề của một đồ thị vô hướng là ma trận đối xứng, ngha là ĩ = a a ij ji , trong khi

TOÁN ỨNG DỤNG TRƯỜNG CAO ĐẲNG CÔNG NGHIỆP NAM ĐỊNH

GIÁO VIÊN: NGUYỄN HẢI ĐĂNG TRANG 38

Tập hợp các đỉnh bậc lẻ VO(G)={B, G, H, K} và tập hợp các phân hoạch cặp là P={P1, P2, P3}, trong đó P1 = {(B, G), (H, K)} → d(P1) = d(B, G)+d(H, K) = 4+1 = 5, P2 = {(B, H), (G, K)} → d(P2) = d(B, H)+d(G, K) = 2+1 = 3, P3 = {(B, K), (G, H)} → d(P3) = d(B, K)+d(G, H) = 3+2 = 5. m(G) = min(d(P1), d(P2), d(P3)) = 3. Do đó GT có được từ G bằng cách thêm vào 3 cạnh: (B, I), (I, H), (G, K) và GT là đồ thị Euler. Vậy hành trình ngắn nhất cần tìm là đi theo chu trình Euler trong GT:

A, B, C, D, E, F, K, G, K, E, C, J, K, H, J, I, H, I, B, I, A. 2.8. ĐƯỜNG ĐI HAMILTON VÀ ĐỒ THỊ HAMILTON. 2.8.1. Khái niệm

Định nghĩa: Chu trình (t.ư. đường đi) sơ cấp chứa tất cả các đỉnh của đồ thị (vô hướng hoặc có hướng) G được gọi là chu trình (t.ư. đường đi) Hamilton. Một đồ thị có chứa một chu trình (t.ư. đường đi) Hamilton được gọi là đồ thị Hamilton (t.ư. nửa Hamilton).

Thí dụ 3: 1)

Đồ thị Hamilton (hình thập nhị diện đều biểu diẽn trong mặt phẳng) với chu trình Hamilton A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, A (đường tô đậm).

2) Trong một đợt thi đấu bóng bàn có n (n ≥ 2) đấu thủ tham gia. Mỗi đấu thủ gặp từng đấu thủ khác đúng một lần. Trong thi đấu bóng bàn chỉ có khả năng thắng hoặc thua. Chứng minh rằng sau đợt thi đấu có thể xếp tất cả các đấu thủ đứng thành một hàng dọc, để người đứng sau thắng người đứng ngay trước anh (chị) ta. Xét đồ thị có hướng G gồm n đỉnh sao cho mỗi đỉnh ứng với một đấu thủ và có một cung nối từ đỉnh u đến đỉnh v nếu đấu thủ ứng với u thắng đấu thủ ứng với v. Như vậy, đồ thị G có tính chất là với hai đỉnh phân biệt bất kỳ u và v, có một và chỉ một trong hai cung (u,v) hoặc (v,u), đồ thị như thế được gọi là đồ thị có hướng đầy đủ. Từ Mệnh đề 4.2.2 dưới đây, G là một đồ thị nửa Hamilton. Khi đó đường đi Hamilton trong G cho ta sự sắp xếp cần tìm.

C

B D

A E

J

L H

T

K I

O P

F

M G

S

RN Q

Page 21: TOÁN NG D NG TR NG CAO NG CÔNG NGHI P NAM …Như vậy, ma trn liậền kề của một đồ thị vô hướng là ma trận đối xứng, ngha là ĩ = a a ij ji , trong khi

TOÁN ỨNG DỤNG TRƯỜNG CAO ĐẲNG CÔNG NGHIỆP NAM ĐỊNH

GIÁO VIÊN: NGUYỄN HẢI ĐĂNG TRANG 39

Đường đi Hamilton tương tự đường đi Euler trong cách phát biểu: Đường đi Euler qua mọi cạnh (cung) của đồ thị đúng một lần, đường đi Hamilton qua mọi đỉnh của đồ thị đúng một lần. Tuy nhiên, nếu như bài toán tìm đường đi Euler trong một đồ thị đã được giải quyết trọn vẹn, dấu hiệu nhận biết một đồ thị Euler là khá đơn giản và dễ sử dụng, thì các bài toán về tìm đường đi Hamilton và xác định đồ thị Hamilton lại khó hơn rất nhiều. Đường đi Hamilton và đồ thị Hamilton có nhiều ý nghĩa thực tiễn và đã được nghiên cứu nhiều, nhưng vẫn còn những khó khăn lớn chưa ai vượt qua được.

Người ta chỉ mới tìm được một vài điều kiện đủ để nhận biết một lớp rất nhỏ các đồ thị Hamilton và đồ thị nửa Hamilton. Sau đây là một vài kết quả. 2.8.2. Điều kiện để đồ thị có đường đi (chu trình) Hamilton

Định lý (Rédei): Nếu G là một đồ thị có hướng đầy đủ thì G là đồ thị nửa Hamilton.

Chứng minh: Giả sử G=(V,E) là đồ thị có hướng đầy đủ và α=(v1,v2, ..., vk-1, vk) là đường đi sơ cấp bất kỳ trong đồ thị G.

- Nếu α đã đi qua tất cả các đỉnh của G thì nó là một đường đi Hamilton của G. - Nếu trong G còn có đỉnh nằm ngoài α, thì ta có thể bổ sung dần các đỉnh này vào α

và cuối cùng nhận được đường đi Hamilton. Thật vậy, giả sử v là đỉnh tuỳ ý không nằm trên α. a) Nếu có cung nối v với v1 thì bổ sung v vào đầu của đường đi α để được α1=(v, v1, v2, ..., vk-1, vk). b) Nếu tồn tại chỉ số i (1 ≤ i ≤ k-1) mà từ vi có cung nối tới v và từ v có cung nối tới vi+1 thì ta chen v vào giữa vi và vi+1 để được đường đi sơ cấp α2=(v1, v2, ..., vi, v, vi+1, ..., vk). c) Nếu cả hai khả năng trên đều không xảy ra nghĩa là với mọi i (1 ≤ i ≤ k) vi đều có cung đi tới v. Khi đó bổ sung v vào cuối của đường đi α và được đường đi α3=(v1, v2, ..., vk-1, vk, v). Nếu đồ thị G có n đỉnh thì sau n-k bổ sung ta sẽ nhận được đường đi Hamilton.

Định lý (Dirac, 1952): Nếu G là một đơn đồ thị có n đỉnh và mọi đỉnh của G đều

có bậc không nhỏ hơn 2n

thì G là một đồ thị Hamilton.

Chứng minh: Định lý được chứng minh bằng phản chứng. Giả sử G không có chu trình Hamilton. Ta thêm vào G một số đỉnh mới và nối mỗi đỉnh mới này với mọi đỉnh của G, ta được đồ thị G’. Giả sử k (>0) là số tối thiểu các đỉnh cần thiết để G’ chứa một chu trình Hamilton. Như vậy, G’ có n+k đỉnh. Gọi P là chu trình Hamilton ayb ...a trong G’, trong đó a và b là các đỉnh của G, còn y là một trong các đỉnh mới. Khi đó b không kề với a, vì nếu trái lại thì ta có thể bỏ đỉnh y và được chu trình ab ...a, mâu thuẩn với giả thiết về tính chất nhỏ nhất của k. Ngoài ra, nếu a’ là một đỉnh kề nào đó của a (khác với y) và b’ là đỉnh nối tiếp ngay a’ trong chu trình P thì b’ không thể là đỉnh kề với b, vì nếu trái lại thì ta có thể thay P bởi

a

b

a'

by

Page 22: TOÁN NG D NG TR NG CAO NG CÔNG NGHI P NAM …Như vậy, ma trn liậền kề của một đồ thị vô hướng là ma trận đối xứng, ngha là ĩ = a a ij ji , trong khi

TOÁN ỨNG DỤNG TRƯỜNG CAO ĐẲNG CÔNG NGHIỆP NAM ĐỊNH

GIÁO VIÊN: NGUYỄN HẢI ĐĂNG TRANG 40

chu trình aa’ ...bb’ ... a, trong đó không có y, mâu thuẩn với giả thiết về tính chất nhỏ nhất của k. Như vậy, với mỗi đỉnh kề với a, ta có một đỉnh không kề với b, tức là số đỉnh không

kề với b không thể ít hơn số đỉnh kề với a (số đỉnh kề với a không nhỏ hơn 2n

+k). Mặt khác,

theo giả thiết số đỉnh kề với b cũng không nhỏ hơn 2n +k. Vì không có đỉnh nào vừa kề với b

lại vừa không kề với b, nên số đỉnh của G’ không ít hơn 2(2n

+k)=n+2k, mâu thuẩn với giả

thiết là số đỉnh của G’ bằng n+k (k>0). Định lý được chứng minh. Hệ quả: Nếu G là đơn đồ thị có n đỉnh và mọi đỉnh của G đều có bậc không nhỏ hơn

21−n

thì G là đồ thị nửa Hamilton.

Chứng minh: Thêm vào G một đỉnh x và nối x với mọi đỉnh của G thì ta nhận được

đơn đồ thị G’ có n+1 đỉnh và mỗi đỉnh có bậc không nhỏ hơn 2

1+n. Do đó trong G’ có một

chu trình Hamilton. Bỏ x ra khỏi chu trình này, ta nhận được đường đi Hamilton trong G. Định lý (Ore, 1960): Nếu G là một đơn đồ thị có n đỉnh và bất kỳ hai đỉnh nào

không kề nhau cũng có tổng số bậc không nhỏ hơn n thì G là một đồ thị Hamilton.

Định lý: Nếu G là đồ thị phân đôi với hai tập đỉnh là V1, V2 có số đỉnh cùng bằng n

(n ≥ 2) và bậc của mỗi đỉnh lớn hơn 2n

thì G là một đồ thị Hamilton.

Thí dụ 4: Đồ thị G này có 8 đỉnh, đỉnh nào cũng Đồ thị G’ này có 5 đỉnh bậc 4 và 2 đỉnh có bậc 4, nên theo Định lý 4.2.3, G là bậc 2 kề nhau nên tổng số bậc của hai đỉnh đồ thị Hamilton. không kề nhau bất kỳ bằng 7 hoặc 8, nên theo Định lý 4.2.5, G’ là đồ thị Hamilton.

e

f

g

h

b a c d

a

e

f

g

b c

d

a

a b b

d e f

Đồ thị phân đôi này có bậc của mỗi đỉnh bằng 2 hoặc 3 (> 3/2), nên theo Định lý 4.2.6, nó là đồ thị Hamilton.

Page 23: TOÁN NG D NG TR NG CAO NG CÔNG NGHI P NAM …Như vậy, ma trn liậền kề của một đồ thị vô hướng là ma trận đối xứng, ngha là ĩ = a a ij ji , trong khi

TOÁN ỨNG DỤNG TRƯỜNG CAO ĐẲNG CÔNG NGHIỆP NAM ĐỊNH

GIÁO VIÊN: NGUYỄN HẢI ĐĂNG TRANG 41

2.8.3. Bài toán sắp xếp chỗ ngồi: Có n đại biểu từ n nước đến dự hội nghị quốc tế. Mỗi ngày họp một lần ngồi quanh một bàn tròn. Hỏi phải bố trí bao nhiêu ngày và bố trí như thế nào sao cho trong mỗi ngày, mỗi người có hai người kế bên là bạn mới. Lưu ý rằng n người đều muốn làm quen với nhau. Xét đồ thị gồm n đỉnh, mỗi đỉnh ứng với mỗi người dự hội nghị, hai đỉnh kề nhau khi hai đại biểu tương ứng muốn làm quen với nhau. Như vậy, ta có đồ thị đầy đủ Kn. Đồ thị này là Hamilton và rõ ràng mỗi chu trình Hamilton là một cách sắp xếp như yêu cầu của bài toán. Bái toán trở thành tìm các chu trình Hamilton phân biệt của đồ thị đầy đủ Kn (hai chu trình Hamilton gọi là phân biệt nếu chúng không có cạnh chung).

Định lý: Đồ thị đầy đủ Kn với n lẻ và n ≥ 3 có đúng 2

1−n chu trình Hamilton phân

biệt.

Chứng minh: Kn có 2

)1( −nn cạnh và mỗi

chu trình Hamilton có n cạnh, nên số chu trình

Hamilton phân biệt nhiều nhất là 2

1−n.

Giả sử các đỉnh của Kn là 1, 2, ..., n. Đặt đỉnh 1 tại tâm của một đường tròn và các đỉnh 2,

..., n đặt cách đều nhau trên đường tròn (mỗi cung là 3600/(n-1) sao cho đỉnh lẻ nằm ở nửa

đường tròn trên và đỉnh chẵn nằm ở nửa đường tròn dưới. Ta có ngay chu trình Hamilton

đầu tiên là 1,2, ..., n,1. Các đỉnh được giữ cố định, xoay khung theo chiều kim đồng hồ với

các góc quay: 1

3600

−n, 2.

13600

−n, 3.

13600

−n, ...,

23−n

.1

3600

−n,

ta nhận được 2

3−n khung phân biệt với khung đầu tiên. Do đó ta có 2

1−n chu trình

Hamilton phân biệt. Thí dụ 5: Giải bài toán sắp xếp chỗ ngồi với n=11.

Có (11−1)/2=5 cách sắp xếp chỗ ngồi phân biệt như sau: 1 2 3 4 5 6 7 8 9 10 11 1 1 3 5 2 7 4 9 6 11 8 10 1 1 5 7 3 9 2 11 4 10 6 8 1 1 7 9 5 11 3 10 2 8 4 6 1 1 9 11 7 10 5 8 3 6 2 4 1

 

  12

3

4

5

n

 

  12

375

1

9

864 1

 

  12

3

5 7

9

1

46 8

1

 

  12

35 7

9

1

46

18

 

 2 1

3

1

975

46 8

1

 

  1 12

3

5 79

6 81

Page 24: TOÁN NG D NG TR NG CAO NG CÔNG NGHI P NAM …Như vậy, ma trn liậền kề của một đồ thị vô hướng là ma trận đối xứng, ngha là ĩ = a a ij ji , trong khi

TOÁN ỨNG DỤNG TRƯỜNG CAO ĐẲNG CÔNG NGHIỆP NAM ĐỊNH

GIÁO VIÊN: NGUYỄN HẢI ĐĂNG TRANG 42

2.9. BÀI TOÁN ĐƯỜNG ĐI NGẮN NHẤT 2.9.1. Đồ thị có trọng số Định nghĩa: Đồ thị G = (V,E) gọi là đồ thị có trọng số nếu như ứng với mỗi cạnh (u, v) ta gắn với một số dương là độ dài đường đi trực tiếp từ u đến v. Định nghĩa: Ma trận A = (aij) được gọi là ma trận trọng số của G nếu aij = độ dài đường đi trực tiếp từ i đến j, aij = vô cùng nếu không có cạnh (i, j) 2.9.2. Bài toán tìm đường đi ngắn nhất Cho đơn đồ thị liên thông, có trọng số G=(V,E). Tìm khoảng cách d(u0,v) từ một đỉnh u0 cho trước đến một đỉnh v bất kỳ của G và tìm đường đi ngắn nhất từ u0 đến v. Có một số thuật toán tìm đường đi ngắn nhất; ở đây, ta có thuật toán do E. Dijkstra, nhà toán học người Hà Lan, đề xuất năm 1959. Trong phiên bản mà ta sẽ trình bày, người ta giả sử đồ thị là vô hướng, các trọng số là dương. Chỉ cần thay đổi đôi chút là có thể giải được bài toán tìm đường đi ngắn nhất trong đồ thị có hướng. Phương pháp của thuật toán Dijkstra là: xác định tuần tự đỉnh có khoảng cách đến u0 từ nhỏ đến lớn. Trước tiên, đỉnh có khoảng cách đến a nhỏ nhất chính là a, với d(u0,u0)=0. Trong các đỉnh v ≠ u0, tìm đỉnh có khoảng cách k1 đến u0 là nhỏ nhất. Đỉnh này phải là một trong các đỉnh kề với u0. Giả sử đó là u1. Ta có: d(u0,u1) = k1. Trong các đỉnh v ≠ u0 và v ≠ u1, tìm đỉnh có khoảng cách k2 đến u0 là nhỏ nhất. Đỉnh này phải là một trong các đỉnh kề với u0 hoặc với u1. Giả sử đó là u2. Ta có: d(u0,u2) = k2. Tiếp tục như trên, cho đến bao giờ tìm được khoảng cách từ u0 đến mọi đỉnh v của G. Nếu V={u0, u1, ..., un} thì: 0 = d(u0,u0) < d(u0,u1) < d(u0,u2) < ... < d(u0,un). 2.9.3. Thuật toán Dijkstra procedure Dijkstra (G=(V,E) là đơn đồ thị liên thông, có trọng số với trọng số dương)

{G có các đỉnh a=u0, u1, ..., un=z và trọng số m(ui,uj), với m(ui,uj) = ∞ nếu (ui,uj) không là một cạnh trong G}

for i := 1 to n L(ui) := ∞ L(a) := 0 S := V \ {a} u := a while S ≠ ∅ begin for tất cả các đỉnh v thuộc S

if L(u) +m(u,v) < L(v) then L(v) := L(u)+m(u,v) u := đỉnh thuộc S có nhãn L(u) nhỏ nhất {L(u): độ dài đường đi ngắn nhất từ a đến u} S := S \ {u} end

Page 25: TOÁN NG D NG TR NG CAO NG CÔNG NGHI P NAM …Như vậy, ma trn liậền kề của một đồ thị vô hướng là ma trận đối xứng, ngha là ĩ = a a ij ji , trong khi

TOÁN ỨNG DỤNG TRƯỜNG CAO ĐẲNG CÔNG NGHIỆP NAM ĐỊNH

GIÁO VIÊN: NGUYỄN HẢI ĐĂNG TRANG 43

Thí dụ 1: Tìm khoảng cách d(a,v) từ a đến mọi đỉnh v và tìm đường đi ngắn nhất từ a đến v cho trong đồ thị G sau.

L(a) L(b) L(c) L(d) L(e) L(g) L(h) L(k) L(m) L(n)

Định lý: Thuật toán Dijkstra tìm được đường đi ngắn nhất từ một đỉnh cho trước đến một đỉnh tuỳ ý trong đơn đồ thị vô hướng liên thông có trọng số. Chứng minh: Định lý được chứng minh bằng quy nạp. Tại bước k ta có giả thiết quy nạp là: (i) Nhãn của đỉnh v không thuộc S là độ dài của đường đi ngắn nhất từ đỉnh a tới đỉnh này; (ii) Nhãn của đỉnh v trong S là độ dài của đường đi ngắn nhất từ đỉnh a tới đỉnh này và đường đi này chỉ chứa các đỉnh (ngoài chính đỉnh này) không thuộc S. Khi k=0, tức là khi chưa có bước lặp nào được thực hiện, S=V \ {a}, vì thế độ dài của đường đi ngắn nhất từ a tới các đỉnh khác a là ∞ và độ dài của đường đi ngắn nhất từ a tới chính nó bằng 0 (ở đây, chúng ta cho phép đường đi không có cạnh). Do đó bước cơ sở là đúng. Giả sử giả thiết quy nạp là đúng với bước k. Gọi v là đỉnh lấy ra khỏi S ở bước lặp k+1, vì vậy v là đỉnh thuộc S ở cuối bước k có nhãn nhỏ nhất (nếu có nhiều đỉnh có nhãn nhỏ

a

n

b

e

d

g

m

c

h

k

1

3

32

1

4

2

4

2

6

2

3

55

6 3

1

2

3

0 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞

− 3 3 21 ∞ ∞ ∞ ∞ ∞

− − 5 2 2∞ ∞ ∞ ∞ 3

− − −3 25 ∞ ∞ ∞ ∞

− − − −4 6 3 ∞ ∞ ∞

− − − − −6 6 4 ∞ ∞

− − −− − − 10 6 6 ∞

− − − −− − −9 6 8

− − − − − − −78 −

− − − − − − − − −8

Page 26: TOÁN NG D NG TR NG CAO NG CÔNG NGHI P NAM …Như vậy, ma trn liậền kề của một đồ thị vô hướng là ma trận đối xứng, ngha là ĩ = a a ij ji , trong khi

TOÁN ỨNG DỤNG TRƯỜNG CAO ĐẲNG CÔNG NGHIỆP NAM ĐỊNH

GIÁO VIÊN: NGUYỄN HẢI ĐĂNG TRANG 44

nhất thì có thể chọn một đỉnh nào đó làm v). Từ giả thiết quy nạp ta thấy rằng trước khi vào vòng lặp thứ k+1, các đỉnh không thuộc S đã được gán nhãn bằng độ dài của đường đi ngắn nhất từ a. Đỉnh v cũng vậy phải được gán nhãn bằng độ dài của đường đi ngắn nhất từ a. Nếu điều này không xảy ra thì ở cuối bước lặp thứ k sẽ có đường đi với độ dài nhỏ hơn Lk(v) chứa cả đỉnh thuộc S (vì Lk(v) là độ dài của đường đi ngắn nhất từ a tới v chứa chỉ các đỉnh không thuộc S sau bước lặp thứ k). Gọi u là đỉnh đầu tiên của đường đi này thuộc S. Đó là đường đi với độ dài nhỏ hơn Lk(v) từ a tới u chứa chỉ các đỉnh không thuộc S. Điều này trái với cách chọn v. Do đó (i) vẫn còn đúng ở cuối bước lặp k+1. Gọi u là đỉnh thuộc S sau bước k+1. Đường đi ngắn nhất từ a tới u chứa chỉ các đỉnh không thuộc S sẽ hoặc là chứa v hoặc là không. Nếu nó không chứa v thì theo giả thiết quy nạp độ dài của nó là Lk(v). Nếu nó chứa v thì nó sẽ tạo thành đường đi từ a tới v với độ dài có thể ngắn nhất và chứa chỉ các đỉnh không thuộc S khác v, kết thúc bằng cạnh từ v tới u. Khi đó độ dài của nó sẽ là Lk(v)+m(v,u). Điều đó chứng tỏ (ii) là đúng vì Lk+1(u)=min(Lk(u), Lk(v)+m(v,u)).

Mệnh đề: Thuật toán Dijkstra tìm đường đi ngắn nhất từ một đỉnh cho trước đến một đỉnh tuỳ ý trong đơn đồ thị vô hướng liên thông có trọng số có độ phức tạp là O(n2).

Chứng minh: Thuật toán dùng không quá n−1 bước lặp. Trong mỗi bước lặp, dùng không hơn 2(n−1) phép cộng và phép so sánh để sửa đổi nhãn của các đỉnh. Ngoài ra, một đỉnh thuộc Sk có nhãn nhỏ nhất nhờ không quá n−1 phép so sánh. Do đó thuật toán có độ phức tạp O(n2). 2.9.4. Thuật toán Floyd Cho G=(V,E) là một đồ thị có hướng, có trọng số. Để tìm đường đi ngắn nhất giữa mọi cặp đỉnh của G, ta có thể áp dụng thuật toán Dijkstra nhiều lần hoặc áp dụng thuật toán Floyd được trình bày dưới đây. Giả sử V={v1, v2, ..., vn} và có ma trận trọng số là W ≡ W0. Thuật toán Floyd xây dựng dãy các ma trận vuông cấp n là Wk (0 ≤ k ≤ n) như sau: procedure Xác định Wn for i := 1 to n for j := 1 to n W[i,j] := m(vi,vj) {W[i,j] là phần tử dòng i cột j của ma trận W0} for k := 1 to n if W[i,k] +W[k,j] < W[i,j] then W[i,j] := W[i,k] +W[k,j] {W[i,j] là phần tử dòng i cột j của ma trận Wk}

Định lý: Thuật toán Floyd cho ta ma trận W*=Wn là ma trận khoảng cách nhỏ nhất của đồ thị G. Chứng minh: Ta chứng minh bằng quy nạp theo k mệnh đề sau: Wk[i,j] là chiều dài đường đi ngắn nhất trong những đường đi nối đỉnh vi với đỉnh vj đi qua các đỉnh trung gian trong {v1, v2, ..., vk}. Trước hết mệnh đề hiển nhiên đúng với k=0.

Giả sử mệnh đề đúng với k-1.

Page 27: TOÁN NG D NG TR NG CAO NG CÔNG NGHI P NAM …Như vậy, ma trn liậền kề của một đồ thị vô hướng là ma trận đối xứng, ngha là ĩ = a a ij ji , trong khi

TOÁN ỨNG DỤNG TRƯỜNG CAO ĐẲNG CÔNG NGHIỆP NAM ĐỊNH

GIÁO VIÊN: NGUYỄN HẢI ĐĂNG TRANG 45

Xét Wk[i,j]. Có hai trường hợp: 1) Trong các đường đi chiều dài ngắn nhất nối vi với vj và đi qua các đỉnh trung gian trong {v1, v2, ..., vk}, có một đường đi γ sao cho vk ∉ γ. Khi đó γ cũng là đường đi ngắn nhất nối vi với vj đi qua các đỉnh trung gian trong {v1, v2, ..., vk-1}, nên theo giả thiết quy nạp, Wk-1[i,j] = chiều dài γ ≤ Wk-1[i,k]+Wk-1[k,j]. Do đó theo định nghĩa của Wk thì Wk[i,j]=Wk-1[i,j]. 2) Mọi đường đi chiều dài ngắn nhất nối vi với vj và đi qua các đỉnh trung gian trong {v1, v2, ..., vk}, đều chứa vk. Gọi γ = vi ... vk ... vj là một đường đi ngắn nhất như thế thì v1 ... vk và vk ... vj cũng là những đường đi ngắn nhất đi qua các đỉnh trung gian trong {v1, v2, ..., vk-1} và Wk-1[i,k]+Wk-1[k,j] = chiều dài(v1 ... vk) + chiều dài(vk ... vj) = chiều dài γ < Wk-1[i,j]. Do đó theo định nghĩa của Wk thì ta có: Wk[i,j] = Wk-1[i,k]+Wk-1[k,j] .

Thí dụ 2: Xét đồ thị G sau: Áp dụng thuật toán Floyd, ta tìm được (các ô trống là ∞)

W = W0 = W1 = , W2 =

7 24 1

34

2 21

⎛ ⎞⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎝ ⎠

7 24 1

34

2 9 2 41

⎛ ⎞⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎝ ⎠

7 11 2 84 1

34 8 5

2 9 2 4 101 5 2

⎛ ⎞⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎝ ⎠

W3 = , W4 = W5 = , W* = W6 = .

7 11 2 8 144 1 7

34 8 5 11

2 9 2 4 10 51 5 2 8

⎛ ⎞⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎝ ⎠

6 10 2 7 134 1 7

34 8 5 11

2 8 2 4 9 51 5 2 8

⎛ ⎞⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎝ ⎠

9 6 9 2 7 123 9 3 5 1 6

37 4 7 9 5 102 8 2 4 9 54 1 4 6 2 7

⎛ ⎞⎜ ⎟⎜ ⎟⎜⎜⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎝ ⎠

⎟⎟

9 6 9 2 7 123 7 3 5 1 67 4 7 9 5 37 4 7 9 5 102 6 2 4 7 54 1 4 6 2 7

⎛ ⎞⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎝ ⎠

Thuật toán Floyd có thể áp dụng cho đồ thị vô hướng cũng như đồ thị có hướng. Ta chỉ

cần thay mỗi cạnh vô hướng (u,v) bằng một cặp cạnh có hướng (u,v) và (v,u) với

m(u,v)=m(v,u). Tuy nhiên, trong trường hợp này, các phần tử trên đường chéo của ma trận

W cần đặt bằng 0.

Đồ thị có hướng G là liên thông mạnh khi và chỉ khi mọi phần tử nằm trên đường chéo trong ma trận trọng số ngắn nhất W* đều hữu hạn.

v1 v2 v3

v4 v5 v6

47

2

2

4

11

2

3

Page 28: TOÁN NG D NG TR NG CAO NG CÔNG NGHI P NAM …Như vậy, ma trn liậền kề của một đồ thị vô hướng là ma trận đối xứng, ngha là ĩ = a a ij ji , trong khi

TOÁN ỨNG DỤNG TRƯỜNG CAO ĐẲNG CÔNG NGHIỆP NAM ĐỊNH

GIÁO VIÊN: NGUYỄN HẢI ĐĂNG TRANG 46

BÀI TẬP CHƯƠNG II

1. Cho G là đồ thị có v đỉnh và e cạnh, còn M, m tương ứng là bậc lớn nhất và nhỏ nhất của các đỉnh của G. Chứng tỏ rằng

m ≤ 2ev

≤ M.

2. Chứng minh rằng nếu G là đơn đồ thị phân đôi có v đỉnh và e cạnh, khi đó e ≤ v2/4.

3. Trongmột phương án mạng kiểu lưới kết nối n=m2 bộ xử lý song song, bộ xử lý P(i,j) được kết nối với 4 bộ xử lý (P(i±1) mod m, j), P(i, (j±1) mod m), sao cho các kết nối bao xung quanh các cạnh của lưới. Hãy vẽ mạng kiểu lưới có 16 bộ xử lý theo phương án này.

4. Hãy vẽ các đồ thị vô hướng được biểu diễn bởi ma trận liền kề sau:

a) , b) , c) . 1 2 32 0 43 4 0

⎜⎜⎜

⎟⎟⎟

1 2 0 12 0 3 00 3 1 11 0 1 0

⎜⎜⎜⎜

⎟⎟⎟⎟

0 1 3 0 41 2 1 3 03 1 1 0 10 3 0 0 24 0 1 2 3

⎛ ⎞⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎝ ⎠

5. Nêu ý nghĩa của tổng các phần tử trên một hàng (t.ư. cột) của một ma trận liền kề đối với một đồ thị vô hướng ? Đối với đồ thị có hướng ?

6. Tìm ma trận liền kề cho các đồ thị sau:

a) Kn , b) Cn, c) Wn , d) Km,n , e) Qn. 7. Hãy tìm số đường đi độ dài n giữa hai đỉnh liền kề (t.ư. không liền kề) tùy ý trong K3,3 với mỗi giá trị của n sau:

a) n=2, b) n=3, c) n=4, d) n=5. 8. Một cuộc họp có ít nhất ba đại biểu đến dự. Mỗi người quen ít nhất hai đại biểu khác. Chứng minh rằng có thể xếp được một số đại biểu ngồi xung quanh một bàn tròn, để mỗi người ngồi giữa hai người mà đại biểu đó quen. 9. Một lớp học có ít nhất 4 sinh viên. Mỗi sinh viên thân với ít nhất 3 sinh viên khác. Chứng minh rằng có thể xếp một số chẵn sinh viên ngồi quanh một cái bàn tròn để mỗi sinh viên ngồi giữa hai sinh viên mà họ thân. 10. Trong một cuộc họp có đúng hai đại biểu không quen nhau và mỗi đại biểu này có một số lẻ người quen đến dự. Chứng minh rằng luôn luôn có thể xếp một số đại biểu ngồi chen giữa hai đại biểu nói trên, để mỗi người ngồi giữa hai người mà anh ta quen. 11. Một thành phố có n (n ≥ 2) nút giao thông và hai nút giao thông bất kỳ đều có số đầu mối đường ngầm tới một trong các nút giao thông này đều không nhỏ hơn n. Chứng minh rằng từ một nút giao thông tuỳ ý ta có thể đi đến một nút giao thông bất kỳ khác bằng đường ngầm.

Page 29: TOÁN NG D NG TR NG CAO NG CÔNG NGHI P NAM …Như vậy, ma trn liậền kề của một đồ thị vô hướng là ma trận đối xứng, ngha là ĩ = a a ij ji , trong khi

TOÁN ỨNG DỤNG TRƯỜNG CAO ĐẲNG CÔNG NGHIỆP NAM ĐỊNH

GIÁO VIÊN: NGUYỄN HẢI ĐĂNG TRANG 47

12. Với giá trị nào của n các đồ thị sau đây có chu trình Euler ?

a) Kn, b) Cn, c) Wn, d) Qn. 13. Với giá trị nào của m và n các đồ thị phân đôi đầy đủ Km,n có:

a) chu trình Euler ? b) đường đi Euler ?

14. Với giá trị nào của m và n các đồ thị phân đôi đầy đủ Km,n có chu trình Hamilton ?

15. Trong một cuộc họp có 15 người mỗi ngày ngồi với nhau quanh một bàn tròn một lần. Hỏi có bao nhiêu cách sắp xếp sao cho mỗi lần ngồi họp, mỗi người có hai người bên cạnh là bạn mới, và sắp xếp như thế nào ?

16. Một ông vua đã xây dựng một lâu đài để cất báu vật. Người ta tìm thấy sơ đồ của lâu đài (hình sau) với lời dặn: muốn tìm báu vật, chỉ cần từ một trong các phòng bên ngoài cùng (số 1, 2, 6, 10, ...), đi qua tất cả các cửa phòng, mỗi cửa chỉ một lần; báu vật được giấu sau cửa cuối cùng.

Hãy tìm nơi giấu báu vật

17. Đồ thị cho trong hình sau gọi là đồ thị Peterson P. 18. Giải bài toán người phát thư Trung Hoa với đồ thị cho trong hình sau: 19. Chứng minh rằng đồ thị G cho trong hình sau có đường đi Hamilton (từ s đến r) nhưng không có chu trình Hamilton.

21

3 4 5  6

7 8 9  10

11 12 13  14 15

16 1 18 

19 20 21

a

e

k i

b g

f h

d c

a) Tìm một đường đi Hamilton trong P.

b) Chứng minh rằng P \ {v}, với v là một đỉnh bất kỳ của P, là một đồ thị Hamilton.

a

c

b

sr

f

e

d

g

h

Page 30: TOÁN NG D NG TR NG CAO NG CÔNG NGHI P NAM …Như vậy, ma trn liậền kề của một đồ thị vô hướng là ma trận đối xứng, ngha là ĩ = a a ij ji , trong khi

TOÁN ỨNG DỤNG TRƯỜNG CAO ĐẲNG CÔNG NGHIỆP NAM ĐỊNH

GIÁO VIÊN: NGUYỄN HẢI ĐĂNG TRANG 48

c20. Dùng thuật toán Dijkstra tìm đường đi ngắn nhất từ đỉnh a đến các đỉnh khác trong đồ thị sau: 21. Dùng thuật toán Dijkstra tìm đường đi ngắn nhất từ đỉnh a đến các đỉnh khác trong đồ thị sau: 22. Cho đồ thị có trọng số như hình dưới đây. Hãy tìm đường đi ngắn nhất từ đỉnh A đến đỉnh N. 23. Tìm đường đi ngắn nhất từ B đến các đỉnh khác của đồ thị có ma trận trọng số là (các ô

trống là ∞):

⎟⎟⎟⎟⎟⎟⎟⎟⎟

⎜⎜⎜⎜⎜⎜⎜⎜⎜

41442212244214

24126423

63

24. Tìm W* bằng cách áp dụng thuật toán Floyd vào đồ thị sau:

be

d

k

h

a g

242 73

12

5 434 152 7

11

b f

c

d

e

g

h

i

a

10 

4

4 1 

6 8 

10 

2

5

3

2

8

5

5

k

A B C D E

J

F

K

G

L

H

M

I

N

7  3  8 3

2  9  5 7

5

2

2

3

2

2

4

6

3

2

2  2

54 

34 

2 3 

A  B  C  D  E  F  G 

 G

B C

FA D

E

3

2  65

1320 

43 8