1. Trang chủ
  2. » Thể loại khác

GIÁO TRÌNH TOÁN RỜI RẠC (Discrete mathematics) Th.s Bùi Anh Kiệt Th.s Trương Quốc Bảo.

74 8 0
Tài liệu đã được kiểm tra trùng lặp

Đ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

Thông tin cơ bản

Định dạng
Số trang 74
Dung lượng 1,68 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Do đó, theo đ nh lý trên s không có chu trình Euler trong đ th này... Khi đó G có chu trình Hamilton... Mâu thu n này đã.

Trang 1

N m 2003

Trang 2

r i r c, khi nghiên c u các quá trình h u h n M t trong nh ng nguyên nhân ch y u làm

t ng t m quan tr ng c a toán r i r c là vi c l u tr và x lý thông tin trên máy tính đi n t mà

b n ch t là các quá trình r i r c Ba l nh v c có nhi u ng d ng c a toán h c r i r c là lý thuy t t h p, hàm đ i s logic (đ i s Boole) và lý thuy t đ th Các v n đ v lý thuy t t

h p, hàm đ i s logic (đ i s Boole) s đ c trình bày trong các giáo trình khác Trong ph m

vi giáo trình này chúng tôi ch trình bày l nh v c có th xem là quan tr ng nh t và có nhi u

ng d ng nh t c a toán h c r i r c là Lý thuy t đ th

Lý thuy t đ th đ c khai sinh k t công trình nghiên c u v bài toán “7 cây c u

K ö nigsberg” c a nhà toán h c Leonhard Euler (1707 - 1783) đ c công b vào n m 1736

T đó đ n nay, đã có nhi u nhà toán h c trên th gi i nghiên c u làm cho lý thuy t đ th

ngày càng phong phú và có nhi u ng d ng trong các l nh v c khác nhau nh m ng đi n t ,

lý thuy t mã, v n trù h c, kinh t h c, c bi t, trong kho ng vài ch c n m tr l i đây, cùng

v i s ra đ i c a máy tính đi n t và s phát tri n nhanh chóng c a Tin h c, Lý thuy t đ th

càng đ c quan tâm nhi u h n, đ c bi t là các thu t toán và ng d ng trên đ th Hi n nay, môn h c này đã đ c xem là ki n th c c s c a khoa h c máy tính

Giáo trình này đ c biên so n t bài gi ng c a các tác gi trong các n m qua

Tr ng i h c C n th và các trung tâm đào t o liên k t trong vùng ng b ng sông C u long, nh m đáp ng nhu c u tài li u tham kh o và h c t p b ng ti ng Vi t c a sinh viên ây

là giáo trình dành cho sinh viên s ph m Toán Tin, Toán nên h u h t các v n đ đ c trình bày đ u đ c ch ng minh ch t ch , rõ ràng ng th i, c ng kèm theo m t s thu t toán và các ng d ng th c t c ng nh ng d ng trên máy tính Các sinh viên chuyên ngành Lý Tin, Tin h c và i n t c ng có th s d ng giáo trình này nh m t tài li u tham kh o h u ích

N i dung c a giáo trình bao g m các n i dung c b n nh t c a lý thuy t đ th có kèm các bài t p áp d ng và đ c chia làm 04 ch ng:

Ch ng 1: Trình bày các thu t ng , đ nh ngh a và khái ni m c b n c a đ th nh đ

th vô h ng, có h ng, các lo i đ th , đ ng đi, chu trình, tính liên thông, ph ng pháp

t ng quát đ gi i quy t m t bài toán b ng lý thuy t đ th ,

Ch ng 2: Trình bày các bài toán v đ ng đi Euler, Hamilton, các gi i thu t tìm

đ ng đi ng n nh t nh Dijkstra, Heterdetmin cùng m t s ví d ng d ng

Ch ng 3: Trình bày các v n đ liên quan đ n đ th ph ng và bài toán tô màu đ th cùng m t s ng d ng

Ch ng 4: Kh o sát t ng quát v c u trúc cây và các v n đ liên quan, đ c bi t là cây

nh phân M t s ng d ng c a cây trong tin h c c ng đ c trình bày nh các phép duy t cây, cây bi u th c s h c, ký pháp ngh ch đ o Ba Lan (RPN), các thu t toán tìm cây ph t i ti u,

Cu i m i ch ng có ph n bài t p giúp sinh viên rèn luy n và ki m tra l i nh ng ki n

th c đã đ c h c M t s v n đ trong ph n lý thuy t c ng còn đ m xem nh ph n bài t p

t gi i c a sinh viên

Do gi i h n v m t th i gian (giáo trình đ c gi ng d y trong 45 ti t) nên chúng tôi

ch đ c p đ n các v n đ c b n nh t c a lý thuy t đ th Các v n đ m r ng và chuyên sâu

c a lý thuy t c a lý thuy t đ th s đ c trình bày thêm trong quá trình gi ng d y trên l p và xem là các v n đ m cho sinh viên t h c, nghiên c u thêm khi làm ti u lu n, lu n v n t t nghi p

Trang 3

Tuy đã h t s c c g ng, song v i qu th i gian và ki n th c h n ch ch c ch n giáo trình v n còn nh ng v n đ khi m khuy t, chúng tôi r t mong nh n đ c s đóng góp ý ki n quý báu c a quý th y cô, b n bè đ ng nghi p và các em sinh viên đ giáo trình đ c hoàn thi n h n

Th.S Tr ng Qu c B o

C n th , tháng 12 n m 2003

Trang 4

N u c nh e t ng ng v i 2 đ nh v, w thì ta nói v và w là 2 đ nh k (hay 2 đ nh liên

k t) (adjacent) v i nhau Ta c ng nói c nh e t i hay liên thu c (incident) v i các đ nh v và w

Ký hi u e = vw hay v e w (ho c e = vw; e = wv) C nh vv t ng ng v i 2 đ nh trùng nhau g i là m t vòng hay khuyên (loop) t i v

Hai c nh phân bi t cùng t ng ng v i m t c p đ nh đ c g i là 2 c nh song song (paralleledges) hay c nh b i th không có c nh song song và c ng không có vòng đ c

g i là đ n đ th (simple graph) Ng c l i là đa đ th (multigraph)

th mà m i c p đ nh c a nó đ u k nhau đ c g i là đ th đ y đ (Complete graph) n đ th đ y đ bao g m n đ nh đ c ký hi u: Kn

th G' = (V',E') đ c g i là m t đ th con (subgraph) c a đ th G = (V,E) n u V'

⊂ V; E' ⊂ E

th có s đ nh và s c nh h u h n đ c g i là đ th h u h n (finite graph), ng c

l i đ c g i là đ th vô h n (Infinite graph)

Trong giáo trình này, chúng ta ch kh o sát các đ th h u h n

Ví d 2: th G có: V = {u, v, x, y}

E = {uv, uv, ux, vx, xy, yy}

c bi u di n hình h c nh sau:

Trang 1

Trang 5

- Ma tr n liên k t hay li n k (adjacency matrix)

- Ma tr n liên thu c (incidence matrix)

có ma tr n li n k là:

Trang 6

Ng i ta còn dùng ma tr n liên thu c đ bi u di n đ th Cho G = (V,E) là m t đ th

v i v1, v2, , vn là các đ nh và e1, e2, , em là các c nh c a G Khi đó ma tr n liên thu c c a

G theo th t trên c a V và E là m t ma tr n M = (mij)n x m v i:

mij = 1 n u c nh ej n i v i đ nh vi

0 n u c nh ej không n i v i đ nh vi

Ü Chú ý: Các ma tr n liên thu c c ng có th đ c dùng đ bi u di n các c nh b i và khuyên (vòng) Các c nh b i (song song) đ c bi u di n trong ma tr n liên thu c b ng cách dùng các c t có các ph n t gi ng h t nhau vì các c nh này đ c n i v i cùng m t c p các

1 1

1 1 0

0 0 0 0v

2 0

1 1 1

0 1 1 0v

3 0

0 0 1

1 0 0 0v

4 0

0 0 0

0 0 1 1v

5 0

0 0 0

Trang 7

- nh có b c 0 g i là đ nh cô l p (isolated vertex)

- nh có b c 1 g i là đ nh treo (pendant vertex)

- C nh t i đ nh treo g i là c nh treo (pendant edge)

- th mà m i đ nh đ u là đ nh cô l p g i là đ th r ng (null graph)

Ví d 9: Cho đ th sau:

ef

i

i 2deg

4 Ch ng minh - gi i bài toán b ng ph ng pháp đ th

ch ng minh (gi i) bài toán b ng đ th ta th c hi n theo các b c sau:

Trang 8

Ü B c 1: Xây d ng đ th G = (V, E) mô t đ y đ các thông tin c a bài toán, trong đó:

+ M i đ nh vV bi u di n cho m t đ i t ng nào đó c a bài toán

+ M i c nh n i 2 đ nh và s bi u di n cho m i quan h gi a hai đ i

Ví d 10: Ch ng minh r ng trong m t cu c h p tùy ý có ít nh t 02 đ i bi u tham gia

tr lên, luôn luôn có ít nh t hai đ i bi u mà h có s ng i quen b ng nhau trong các đ i bi u

+ C nh: Trong đ th G các đ nh và đ c n i v i nhau b ng m t c nh n u hai

đ i bi u và quen nhau V y, m i quan h gi a 02 đ i t ng đây là m i quan h quen

bi t M i c nh n i 2 đ nh và trong G n u hai đ i bi u và quen nhau

i

v v j i

+ Theo đ nh lý 1.2 ta có trong G t n t i ít nh t 02 đ nh có cùng b c ngh a là luôn luôn

có ít nh t hai đ i bi u mà h có s ng i quen b ng nhau trong các đ i bi u đã đ n d h p

Ví d 11: Ch ng minh r ng s ng i mà m i ng i đã có m t s l l n b t tay nhau trên trái đ t này là m t con s ch n

(Xem nh bài t p - Sinh viên t ch ng minh)

Trang 9

Ü V y Cn có:

+ S đ nh: V = n≥3+ B c c a đ nh deg( )v i =2; ∀v iV

Trang 10

+ S c nh: = *2n−1

n E

M t đ th G đ c g i là đ th l ng phân (bipartie graph) n u t p h p các đ nh V

c a G có th phân thành 2 t p h p không r ng V1 và V2, V1 V2 = ∅ sao cho m i c nh c a G

n i m t đ nh c a V1 v i m t đ nh c a V2

Trang 7

Trang 11

là không ph i là đ th l ng phân vì n u ta chia các đ nh c a nó thành 2

ph n r i nhau thì m t trong 2 ph n này ph i ch a 2 đ nh N u đ th là l ng phân thì các

đ nh này không th n i v i nhau b ng m t c nh Nh ng trong K3 m i đ nh đ c n i v i đ nh

khác b ng m t c nh

1 nh ngh a

Các đ th G1 = (V1,E1) và G2 = (V2,E2) đ c g i là đ ng c u v i nhau n u có m t song ánh f: V1 → V2 sao cho n u a và b là li n k trong V1 thì f(a) và f(b) li n k trong V2; ∀

Trang 12

d' e'

G và H có cùng s c nh, s đ nh nh ng H có đ nh e' b c 1, trong khi đó G không có

đ nh nào b c 1 i u ki n c n không th a ⇒ G và H không đ ng c u

→ab

b a

Trang 13

nh ngh a: Cho G là đ th có h ng, b c vào c a đ nh v, ký hi u: deg−(v) (ho c din(v)) là s c nh có đ nh cu i là v.

V

i

i out V

Ví d 23: Có m t nhóm g m 09 đ i bóng bàn thi đ u vòng tròn m t l t H i sau khi

có k t qu thi đ u c a t t c các đ i có th có tr ng h p b t k đ i nào trong 09 đ i này

c ng đ u th ng đúng 05 đ i khác trong nhóm đ c không? (L u ý trong thi đ u bóng bàn không có tr n hòa)

(Xem nh bài t p - Sinh viên t ch ng minh)

1 ng đi

nh ngh a: ng đi (path) có đ dài n t vo đ n vn v i n là m t s nguyên d ng, trong m t đ th vô h ng là m t dãy các c nh liên ti p vov1, v1v2, , vn−1vn nh vođ c

g i là đ nh đ u, đ nh vn đ c g i là đ nh cu i ng đi này th ng đ c vi t g n: vov1v2

vn−1vn Khi ch c n nêu ra đ nh đ u vo và đ nh cu i vn c a đ ng đi, ta vi t: đ ng đi vo −

vn

Ü M t đ ng đi không qua c nh nào l n th hai đ c g i là đ ng đi đ n gi n

( đ ng đi đ n)

Ü M t đ ng đi không qua đ nh nào l n th hai đ c g i là đ ng đi s c p

Ü L u ý: M t đ ng đi s c p là m t đ ng đi đ n gi n nh ng m t đ ng đi đ n

gi n có th không là đ ng đi s c p)

2 Chu trình

Trang 14

2.1 nh ngh a: M t đ ng đi khép kín (đ nh đ u ≡ đ nh cu i) và có đ dài n ≥ 3

đ c g i là m t chu trình (Cycle)

Ü Chu trình không đi qua c nh nào l n th hai đ c g i là chu trình đ n gi n

Ü Chu trình không đi qua đ nh nào l n th hai, tr đ nh đ u ≡ đ nh cu i, đ c g i là

Vì G là m t đ th h u h n, m i đ ng s c p qua t ng đ nh không quá m t l n, nên

s đ ng s c p trong G là h u h n Do đó, ta luôn xác đ nh đ c đ ng đi s c p có đ dài

c c đ i trong s các đ ng đi s c p có trong đ th G=(V,E)

Gi s α =v1 v2,Lv k−1 v k là m t trong các đ ng đi s c p có đ dài c c đ i Do b c

c a m i đ nh không nh h n 2 (∀vVd( )v ≥2), nên đ nh v1 ph i k v i 1 đ nh u nào đó

uv2 Xét 02 tr ng h p:

+ N u đ nh uv i (3≤ik), khi đó trong đ th G s có m t chu trình s c p

1 1

1 2

k

j

≤3

+ α1 =v1 v2 v3Lv i−1 v i v1 và + α2 =v1 v2 v3Lv i−1 v i v i+1Lv j−1v j v1

Ta xét 2 tr ng h p sau:

+ N u m t trong hai đ ng s c p α ho c 1 α có đ dài ch n thì ta có đi u 2

ph i ch ng minh

Trang 11

Trang 15

+ Ng c l i, n u c hai đ ng s c p α và 1 α2 đ u có đ dài l thì khi đó

đ ng đi s c p:

i

i v v v v

v1 2 3 1

3 = L −

α có đ dài ch n và đ ng s c p:

1 1 1

4 =v i v i+ Lv jv j v

α có đ dài l nên chu trình:

1 1 1 1

5 =v v i v i+ Lv jv j v

α có đ dài ch n (đi u ph i ch ng minh)

3 Tính liên thông trong đ th vô h ng

3.1 nh ngh a: 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

V ê duû 25:

G: liên thông; H: không liên thông

Cho đ th G = (V,E) và v ∈ V V' là t p h p các đ nh c a V liên thông v i v, E' là t p

h p các c nh n i 2 đ nh c a V' Khi đó đ th G' = (V',E') g i là thành ph n liên thông (connected component) c a G ch a v ng nhiên n u v và u liên thông trong G thì thành

ph n liên thông c a G ch a v c ng là thành ph n liên thông ch a u

Ví d 26: có 3 thành ph n liên thông

3.2 nh lý 1.8: th G=(V, E) là liên thông khi và ch khi G có duy nh t m t thành

ph n liên thông

3.3 nh c t và c u:

Ü nh c t: N u vi c xóa đi m t đ nh v∈ và t t c các c nh liên thu c v i nó s t o V

ra m t đ th con m i có nhi u thành ph n liên thông h n đ th xu t phát Các đ nh nh

th đ c g i là đ nh c t (cut point) hay đi m kh p v

Ü C u: N u trong đ th G ta b đi c nh e s t o ra nhi u thành ph n liên thông h n G thì e đ c g i là c u (brìdge)

d ≥ thì G

là đ th liên thông

4 Tính liên thông trong đ th có h ng

Trang 16

4.1 Liên thông m nh (Strongly connected)

th có h ng G đ c g i là liên thông m nh n u có đ ng đi t a đ n b và t b đ n a; ∀ a, b ∈ đ th

V ê duû 28:

4.2 Liên thông y u (Weakly connected)

th có h ng G đ c g i là liên thông y u n u đ th vô h ng t ng ng c a nó là liên thông

V ê duû 29:

th có h ng G đ c g i là đ y đ n u đ th vô h ng c a nó là đ y đ

4.3 nh lý 1.10: N u trong đ th G=(V, E) có đúng hai đ nh b c l thì hai đ nh này

ph i liên thông v i nhau

thành hai t p con V1 và V2 Khi đó, d c theo chu trình b t k c a G thì các đ nh thu c t p V1

và t p V2 s l n l t n m liên ti p và xen k nhau Do đó, khi tr v đ nh xu t phát đ u tiên,

ta ph i đi qua m t s ch n các đ nh và do đó chi u dài c a chu trình là m t s ch n

đ ng α có đ dài ch n và 'α có đ dài l n i 2 đ nh v và v0 thì đ th G1 s có chu trình v i

đ dài l , mâu thu n v i tính ch t ban đ u là G ch có chu trình đ dài ch n

V i cách thi t l p hai t p h p đ nh V1 và V2 này, các đ nh c a đ th G1 ho c thu c

t p h p đ nh V1 ho c thu c t p h p đ nh V2 Bây gi , ta ch ng minh r ng ch có các c nh n i các đ nh không thu c cùng m t t p h p đ nh v i nhau mà thôi Th t v y, gi s r ng có 2

đ nh v và u k nhau trong G1 thì chúng không th thu c cùng m t t p h p đ nh V1 ho c V2,

n u không ta có th đi t đ nh v0đ n đ nh v r i đi đ n đ nh u b ng c nh vu r i tr v đ nh v0

Trang 13

Trang 17

b ng m t đ ng đi có đ dài l i u này không x y ra trong đ th G V y G là đ th l ng phân v i hai t p đ nh r i nhau là V1 và V2 b ng cách mà ta đã xây d ng trên

VI M t s phép bi n đ i đ th

1 H p c a hai đ th

H p c a hai đ th G1 = (V1,E1) và G2 = (V2,E2) là m t đ th G= (V, E) có t p h p các đ nh là V = V1 ∪ V2 và t p h p các c nh là E = E1 ∪ E2

Cho đ th G = (V,E), n u ta b đi m t c nh e = uv c a G và thêm vào m t

đ nh m i w cùng v i 2 c nh uw và wv thì phép toán trên đ c g i là phép phân chia s c p Hai đ th G1 = (V1,E1) và G2 = (V2,E2) đ c g i là đ ng phôi (homeomorphic) n u chúng có th nh n đ c t cùng m t đ th b ng m t dãy các phép phân chia s c p

Chú ý: Hai đ th là đ ng phôi thì ch a ch c đ ng c u v i nhau

Trang 18

Ch ng II

1 Bài toán m đ u :

Bài toán 7 cây c u K ö nigsberg: Thành ph Königsberg thu c Ph (bây gi g i là

Kaliningrad thu c C ng hòa Liên bang Nga) đ c chia thành b n vùng b ng các nhánh sông Pregel Các vùng này g m 2 vùng bên b sông, đ o Kneiphof và m t mi n n m gi a 2 nhánh

c a sông Pregel Vào th k th XVIII, ng i ta đã xây 7 cây c u n i các vùng l i v i nhau

nh s đ sau:

C

DA

B

Vào ch nh t, ng i dân đây th ng đi b d c theo các vùng trong thành ph H t

h i “Có th xu t phát t i m t đi m nào đó trong thành ph , đi qua t t c 7 cây c u, m i cây

m t l n, r i tr v đi m xu t phát đ c không?”

Nhà toán h c Th y S Leonard Euler đã nghiên c u gi i bài toán này L i gi i c a ông

đ c công b n m 1736 Bài toán này có th đ c coi là m t trong nh ng ng d ng đ u tiên

c a lý thuy t đ th

Ta có th xây d ng đ th G = (V, E) mô t bài toán nh sau:

+ nh: L y các đi m trên m t ph ng hay trong không gian t ng ng v i các vùng

đ t trong s đ i t ng c a bài toán đây là m t vùng đ t trong s đ V y, m i đ nh

bi u di n cho m t vùng đ t th G s có 4 đ nh A, B, C, D t ng ng v i 4 vùng đ t

V

v

+ C nh: Trong đ th G các đ nh và đ c n i v i nhau b ng m t c nh e đ i di n cho m t chi c c u n i gi a hai vùng đ t th G s có 7 c nh t ng ng v i 7 chi c c u n i

Bài toán tìm đ ng đi qua t t c các c u m i c u không quá m t l n có th đ c phát

bi u l i b ng mô hình này nh sau: “T n t i hay không m t chu trình đ n trong đa đ th G= (V, E) có ch a t t c các c nh?”

2 nh ngh a

2.1 Chu trình Euler ( th Euler)

Cho G = (V,E) là m t đa đ th liên thông Chu trình đ n ch a t t c các c nh c a đ

th G đ c g i là chu trình Euler th có ch a m t chu trình Euler đ c g i là đ th Euler 2.2 ng đi Euler

Trang 17

Trang 19

Cho G = (V,E) là m t đa đ th liên thông ng đi Euler trong G là đ ng đi đ n

e

không có chu trình Euler và đ ng đi Euler

3 Chu trình và đ ng đi Euler trong đ th vô h ng

Khi gi i bài toán c u Königsberg, Euler đã phát hi n ra các tiêu chu n đ kh ng đ nh

m t đa đ th có chu trình và đ ng đi Euler hay không?

m t c nh liên thu c và r i kh i đ nh này b ng m t c nh liên thu c khác Cu i cùng chu trình

k t thúc đ nh mà nó xu t phát, do đó nó t ng thêm m t đ n v vào deg (a) Ngh a là deg (a)

ph i là m t s ch n nh khác a c ng có b c ch n vì chu trình góp 2 đ n v vào b c c a nó

m i l n đi qua đ nh này V y, m i đ nh c a G đ u có b c ch n

(⇐) Gi s m i đ nh c a đa đ th liên thông G đ u có b c ch n Ta s ch ng minh

t n t i m t chu trình Euler trong G

Th t v y, ta s xây d ng m t chu trình đ n b t đ u t đ nh a tùy ý c a G G i xo = a;

Tr c tiên, ta ch n tùy ý c nh xox1, x1x2, , xn−1xn càng dài càng t t Ví d , trong đ th G sau:

các c nh còn l i Ch ng h n v i đ th trên, khi xóa đi chu trình a,

b, c, f, a kh i đ th trên, ta nh n đ c đ th con H c d

e

Trang 20

Vì G là liên thông ⇒ H có ít nh t có m t đ nh chung v i chu trình v a b xóa G i w

là đ nh đó (trong ví d trên là đ nh c) M i đ nh c a H có b c ch n vì t t c các đ nh c a G có

b c ch n và v i m i đ nh ta đã xóa đi t ng c p liên thu c đ t o ra H L u ý r ng H có th không liên thông B t đ u t đ nh w ta xây d ng m t đ ng đi đ n b ng cách ch n càng nhi u càng t t nh ta đã làm trong G ng này ph i k t thúc t i w Ví d trong đ th H nêu trên ta có chu trình con: c, d, e, c Sau đó, ta t o m t chu trình trong G b ng cách ghép chu trình trong H và chu trình ban đ u trong G (đi u này th c hi n đ c vì 2 chu trình có chung

đ nh w) Ti p t c quá trình này cho đ n khi t t c các đ nh đ c s d ng Quá trình này ph i

k t thúc vì đ th có h u h n đ nh Do đó, ta đã xây d ng đ c m t chu trình Euler

Bây gi , tr l i bài toán 7 cây c u Königsberg: có th xu t phát t m t đ a đi m nào

đó trong thành ph , đi qua t t c các c u (m i c u đi qua đúng m t l n) và tr v đi m xu t phát? Ta đã th y đ th bi u di n các c u Königsberg có 4 đ nh b c l Do đó, theo đ nh lý trên s không có chu trình Euler trong đ th này i u này c ng có ngh a là bài toán 7 cây

c u Königsberg không có l i gi i Hay nói cách khác, không có chu trình nào th a yêu c u

đ t ra

3.2 Thu t toán Fleury tìm chu trình Euler

tìm m t chu trình Euler trong m t đa đ th có t t c các đ nh đ u b c ch n, ta có

th s d ng thu t toán Fleury nh sau:

Xu t phát t m t đ nh b t k c a đ th G và tuân theo hai qui t c sau:

Ü Qui t c 1: M i khi đi qua m t c nh nào thì xóa c nh đó đi, sau đó xóa đ nh cô l p (n u có)

Ü Qui t c 2: Không bao gi đi qua m t c u, tr khi không còn cách đi nào khác đ di chuy n

Ví d 4: Tìm m t chu trình Euler trong đ th sau:

Ta không còn cách ch n nào khác, nên ph i ch n FG, GH, HB, BG, GA

Nh v y, ta có chu trình Euler sau: A, B, C, F, D, C, E, F, G, H, B, G, A

Ví d 5: Tìm m t chu trình Euler c a đ th sau:

E F

D CBA

Trang 19

Trang 21

Th t v y, gi s G có đ ng đi Euler t a đ n b, nh ng không có chu trình Euler

C nh đ u tiên c a đ ng đi góp m t đ n v vào deg (a) Sau đó m i l n đ ng đi qua a l i góp thêm 2 đ n v vào deg (a)

Ch c ch n đ ng đi không th k t thúc t i a, cho nên deg(a) là s l C nh cu i cùng

c a đ ng đi góp m t đ n v vào deg(a) và m i l n đi qua b, nó c ng góp 2 đ n v vào deg(b) Do đó, deg(b) là s l Các đ nh trung gian đ u có b c ch n vì m i l n đ ng đi t i r i

l i đi nên t ng hai đ n v cho b c c a đ nh đó V y, đ th đã cho có đúng 2 đ nh b c l (⇐) Gi s đa đ th liên thông G có đúng 2 đ nh b c l Ta s ch ng minh G có

(Xem nh bài t p - Sinh viên t ch ng minh)

4 Chu trình và đ ng đi Euler đ i v i đ th có h ng

4.1 nh lý v chu trình Euler: th có h ng G = (V, E) có ch a m t chu trình Euler khi và ch khi G là liên thông y u, đ ng th i b c vào và b c ra c a m i đ nh là b ng nhau

Ch ng minh: T ng t đ nh lý Euler đ i v i đ th vô h ng (Xem nh bài t p - Sinh viên t ch ng minh)

Ví d 7: th

c d

Trang 22

4.2 nh lý v đ ng đi Euler: Cho G =(V,E) là m t đa đ th có h ng G có

đ ng đi Euler nh ng không có chu trình Euler ⇔ G là liên thông y u, đ ng th i b c vào và

b c ra c a các đ nh là b ng nhau, tr 2 đ nh, m t đ nh có b c vào l n h n b c ra m t đ n v , còn đ nh kia có b c vào nh h n b c ra m t đ n v

Ch ng minh: T ng t đ nh lý Euler đ i v i đ th vô h ng (Xem nh bài t p - Sinh viên t ch ng minh)

M t chu trình s c p đi qua t t c các đ nh c a đ th G =(V,E) (đi qua m i đ nh đúng

m t l n) đ c g i là chu trình Hamilton th G=(V,E) có ch a chu trình Hamilton đ c

g i là đ th Hamilton

Ví d 11: th

ab

c

d e

nh lý Ore (1960): Cho G = (V,E) là m t đ n đ th liên thông v i n đ nh (n ≥ 3)

và n u: deg(v) + deg(w) ≥ n v i m i c p đ nh không li n k v, w trong G Khi đó G có chu trình Hamilton

Ch ng minh: S d ng ph ng pháp ch ng minh ph n ch ng

Gi s G th a deg(v) + deg(w) ≥ n; ∀v,w không li n k trong G nh ng G không có chu trình Hamilton Khi đó ta có th ghép thêm vào G nh ng c nh cho đ n khi nh n đ c m t

đ th con H c a Kn sao cho H không có chu trình Hamilton, nh ng v i m i c nh e ∈ Kn

nh ng e ∉ H, ta có (H + e) có chu trình Hamilton Vi c ghép thêm c nh vào G là hoàn toàn

th c hi n đ c và không nh h ng gì đ n đi u ki n c a gi thi t

Do H ≠ Kn nên t n t i a, b ∈ V sao cho ab ∉ H nh ng H + ab có chu trình Hamilton

C B n thân H không có chu trình Hamilton mà H + ab có chu trình Hamilton ⇒ ab ∈ C Gi

s ta li t kê các đ nh c a H trong chu trình C nh sau:

a(=v1) → b(=v2) → v3 → v4 → → vn-1 → vn; 3 ≤ i ≤ n

Khi đó, n u c nh bvi ∈ H, ta có th k t lu n avi-1 ∉ H vì n u c hai bvi và avi-1 cùng

n m trong H, ta có chu trình:

Trang 21

Trang 23

b → vi → vi+1 → → vn-1 → vn → a → vi-1 → vi-2 → → v3

Chu trình này n m trong H, đi u này mâu thu n vì H không có chu trình Hamilton Vì

v y, ∀vi (3 ≤ i ≤ n) ch có m t trong 2 c nh: bvi ho c avi-1 n m trong H

Do đó: degH(a) + degH(b) < n

V i degH(a): b c c a a trong H

Ta có ∀ v ∈ V: degH(v) ≥ degG(v) = deg(v) (vì G là đ th con c a H)

⇒ v i c p đ nh không li n k trong G: a, b ta có: deg(a) + deg(b) < n

i u này mâu thu n v i gi thi t: deg(v) + deg(w) ≥ n; ∀ v, w không li n k

1.3 nh lý Pósa v chu trình Hamilton

Gi s G không có chu trình Hamilton, ta có th gi s r ng n u thêm m t c nh b t k

n i 2 đ nh không k nhau c a G thì đ th thu đ c s có m t chu trình Hamilton th G

nh v y đ c g i là có tính ch t c c đ i

N u G không th a tính ch t c c đ i, ta có thêm vào G các c nh m i b ng cách n i các

c p đ nh không k nhau, lúc đó ta s thu đ c m t đ th không có chu trình Hamilton có tính

ch t c c đ i nh đã mô t trên và v n không nh h ng gì đ n gi thuy t c a bài toán ban

đ u

Do tính ch t c c đ i c a đ th nên gi a hai đ nh tu ý không k nhau c a đ th luôn

t n t i m t đ ng Hamilton n i hai đ nh này Có th đó là đ ng Hamilton thu đ c t chu trình Hamilton xu t hi n khi thêm vào m t c nh n i hai đ nh không k nhau này

Ký hi u ( là m t đ ng Hamilton (không khép kín) trong G Cho

Ta có n u vk đ c n i v i v

)

n v v

v1, 2,L,1

Trang 24

d n ≥ Gi s (v1,v2,L,v n) là m t đ ng Hamilton n i v1 v i vn Ký hi u các đ nh lân c n c a v1 là v i

S

i i

n , n u không G có chu trình Hamilton theo

đ nh lý Dirac Ký hi u là b c cao nh t trong các đ nh c a G có b c nh h n ∆

n u

d i ph n trên ta đã ch ng minh đ c khi đó ph i k v i

un Ta đ c chu trình Hamilton:

1 0−

i u

(u1u2Lu i0−1u n u n−1Lu i0) là đi u vô lý Mâu thu n này đã

Trang 25

Ü Qui t c 2: N u đ nh v có b c là 2 (d( )v =2) 2 c nh t i v đ u ph i thu c chu trình Hamil

thì cton

g ch a b

c 4: Trong quá trình xây d ng chu trình Hamilton, sau khi đã l y 2 c nh t i

xóa m

có deg(a) = 3, cho nên ta ch gi

Ü Qui t c 3: Chu trình Hamilton khôn t k chu trình con th c s nào

không có chu trình Hamilton vì: deg(f) = 1

m t chu trình con th t s trong

H V y đ th không có chu trình Hamilton

Trang 26

+ x v1Lv k (1) + v1Lv i x v i+1Lv k

+ v1Lv k x (3)

Ta s ch ng m uα1 không có d ng (1) và (2) thì ph i có d ng (3)

Th t v y:

G x

⇒ 1 + N u α1 không có d ng (1)

+ N u α1 không có d ng (2) ⇒xv iG v i i= kv i xG; i= k

k i

v1x∈ = ngh a là α1 có d ng (3)

1 M đ u

mô hình b ng đ th có tr ng s ó là đ th mà uyên ho c th c) g i là tr ng s ng v i c nh đó Ví

ta c t h th ng đ ng hàng không M i thành ph đ c bi u di n b ng m t

đ nh, m i chuy n bay là m t c nh n i 2 đ nh t ng ng N u trong bài toán đang xét ta c n

Trong th c t , nhi u bài toán có th

m i c nh c a nó đ c gán m t con s (ng

d n mô hình m

Trang 27

tính đ n kho ng câch gi a câc thănh ph thì ta c n gân cho m i c nh c a đ th c s trín kho ng câch gi a câc thănh ph t ng ng N u ta quan tđm đ n th i gian c a m i chuy n bay thì ta s gân câc th i l ng năy cho m i c nh c a đ th c s

th bi u di n kho ng câch gi a m t s thănh ph c a n c M

BostonKhoảng cách (dặm)

1855 908834

722760

595

1090New York

Miami

AtlantaLos Angeles

2 Thu t toân tìm đ ng đi ng n nh t

2.1 Thu t toân Dijkstra tìm đ ng đi ng n nh t

Có m t s thu t toân tìm đ ng đi n

đđy ta s s d ng thu t toân Dijkstra, do

3Tính đ dăi c a đ ng đi ng n nh t gi a 2 đ nh a vă z

trong đ th có tr ng s sau:

1 3

4 2

h t t a đ n z b ng câch th

ât tri n m t s ý t ng giúp ta hi u thu t toân Dijkstra d dăng

h n Ta s tìm đ dăi c a đ ng đi ng n nh t t a đ n câc đ nh k ti p cho đ n khi đ t t i

đ nh z Xu t phât t đ nh a, ta th y ch có 2 đ nh b vă d liín thu c v i a Nín ch có hai đ ng

Bđy gi , ta tìm đ nh ti p theo g n a nh t trong t t c câc đ ng đi qua a vă d ng

đi ng n nh t t a t i b lă ab v i đ dăi 3 ng đi ng n nh t t a đ n e lă a, b, e v i đ dăi 5

ng đi ng n nh t t a đ n c lă a, b, c v i đ dăi 6 Khi đó ta có 2 đ ng đi t a đ n z qua c

vă e lă

i đ dăi 6

Ví d trín đê minh h a nh ng nguyín t c chung dùng trong thu t toân Dijkstra

ng đi ng n nh t t đ nh a đ n z có th tìm đ c b ng câch th tr c ti p Nh ng ph ng phâp năy không âp d ng đ c đ i v i đ th có nhi u c nh

Bđy gi , ta nghiín c u băi toân tìm đ dăi c a đ ng đi ng n nh t gi a a vă z trong

đ n đ th liín thông, vô h ng vă có tr ng s

Trang 28

Trang 27

n khi tìm đ c đ dài ng n nh t t a đ n z

n trong m

các đ nh thu c t p đ c bi t M t đ nh đ c thêm vào t p này là đ nh có nhãn n

hác b ng ∞ Ta ký hi u:

n Chúng ta b t

g cách thêm vào đ nh u ∉ Sk−1 mà có nhãn n

, vn = z và tr ng s w(vi,vj) v i w(vivj) = ∞ n u vivj

{Ban đ đ c kh i t o sao cho nhãn c a a b ng không, các đ nh khác b ng

∞; S = φ

thu c S có L(u) nh nh t = S ∪ {u}

Thu t toán Dijkstra đ c th c hi n b ng cách tìm đ dài c a đ ng đi ng n nh t t a

đ n đ nh đ u tiên, t a đ n đ nh th hai, cho đ

Thu t toán này d a trên m t dãy các b c l p M t t p đ c bi t các đ nh đ c xây

ch ch a các đ nh thu c Sk (t c là các đ nh đã thu c t p đ c bi t cùng v i đ nh u)

Gi s v là m t đ nh không thu c Sk s a nhãn c a v, ta ch n Lk(v) là đ dài c a

đ ng đi ng n nh t t a đ n v và ch ch a các đ nh thu c Sk ý r ng đ ng đi ng n nh

Thu t toán Dijkstra có th đ c trình bày d i d ng gi i mã (pseudo - code) nh sau:

THU T TOÁN DIJKS

Procedure Dijkstra (G: đ n đ th liên thông có tr ng s d ng);

{G có các đ nh a = vo; v , v , 1 2

không là m t c nh c a G}

for i = 1 to n

L(vi): = ∞ L(a): = 0 S: = φ

u các nhãn }

Trang 29

) < L(v) then

nh nh t, và s a đ i nhãn c a các đ nh không end

Ví d 17: Dùng thu t toán Dijkstra, tìm đ ng đi

ng n nh t t

if L(u) + w(uvL(v): = L(u) + w(uv) {thêm vào S đ nh có nhãn thu c S}

5 6

5 6

+ Trong các đ nh không thu c S = {a} và k v i a có 2 đ nh b và c Ta có:

L(b) = min {∞, L(a) + w(ab)} = min {∞, 0 + 4} = 4

6 5

2(a)+ Trong các đ nh không thu c S mà k v i c có 3 đ nh là b, d, e

4

2 6 5

e 12(a,c)

d 8(a,c,b)

+ Trong các đ nh k v i d mà không thu c S, có: e,z

Trang 30

3 2

IV Thu t toán Hedetniemi

M t trong nh ng thu t toán tìm đ ng đi ng n nh t ngoài thu t toán Dijkstra nh đã

Tr c khi gi i thi u thu

c

b

e

da

2105

50

3

250

2

320

1 Phép c ng ma tr n Hedetniemi

40152

Trang 31

Cho A = (aij)m x n và B = (bij)n x p Khi đó t ng ma tr n Hedetniemi là ma tr n C = (Cij)m x p v i Cij = min{ai1 + b1j, ai2 + b2j, , ain + bnj} Ký hi u: C = A B

302

210

405

430

210

430

= ⎜⎜

302

210

401

10

401

10

401

510

, A3, cho đ n AK sao cho: AK ≠ AK−1 và AK = AK+1

Ta có đ nh lý sau: đ i v i đ n đ th liên thông có tr ng s g m n đ nh, n u ma tr n detn mi AK ≠ AK và AK = AK+1 thì A bi u di n t p h p các đ dài đ ng đi ng n nh t

gi a hai đ nh c a G khi đó ph n t aij c a AK là đ dài đ ng đi ng n nh t gi a hai đ nh vi

ba

5 2

2

320

50

3

40152

2105

Trang 32

210637

956053

623502

47320

301524

210635

856053

523502

845320

16 a

) 2 ( 15 ) 3 (

Trang 33

v i nhau Có l n b t hòa v i nhau, h tìm cách làm các đ ng khác đ n gi ng sao cho các

đ ng này đôi m t không giao nhau H có th c hi n đ c ý đ nh đó không?

Ta xây d ng đ th G = (V, E) mô t đ y đ các thông tin c a bài toán:

+ nh: L y các đi m trên m t ph ng hay trong không gian t ng ng v i các gia

đình và các gi ng n c i t ng c a bài toán đây đ c chia làm hai lo i là gia đình và

đ n gi ng n c Ta có đ th G nh sau:

i v j

Trang 34

Khi ta k t lu n K3,3 là đ th không ph ng, ta c ng đã gi i quy t đ c bài toán "ba

nhà ba gi ng" Không có đ ng đi nào n i m i nhà v i 3 gi ng mà không c t nhau Hay nói cách khác, ba nhà ba gi ng nói trên không th n i v i nhau trên m t m t ph ng mà không c t nhau

3 Công th c Euler

Ta th y khi bi u di n ph ng m t đ th , ta chia m t ph ng thành các mi n, k c mi n

vô h n Euler đã ch ng minh r ng t t c các bi u di n ph ng c a m t đ th đ u chia m t

ph ng thành cùng m t s mi n nh nhau Euler c ng đã tìm ra m i liên h gi a s mi n; s

đ nh và s c nh c a m t đ th ph ng

3.1 nh lý 1 (Công th c Euler v đ th ph ng - liên thông)

Cho G là m t đ n đ th ph ng liên thông v i e c nh, v đ nh G i r là s mi n

(regions) trong bi u di n ph ng c a G Khi đó:

r = e − v + 2 hay v − e + r = 2

Ch ng minh: Gi s ta đã có bi u di n ph ng c a G Ta s ch ng minh b ng cách xây d ng m t dãy các đ th con c a G: G1, G2, , Ge = G b ng cách ghép thêm m t c nh vào đ th b c tr c i u này là làm đ c vì ta có th l y b t k m t c nh c a G đ đ c

G1 Sau đó, ta nh n đ c Gn+1 t Gn b ng cách thêm vào Gn m t c nh có m t đ nh liên thu c

v i Gn và m t đ nh khác liên thu c v i c nh m i đó i u này luôn làm đ c do G là liên thông Ta s nh n đ c đ th G sau e b c (vì G có e c nh)

Trang 35

- Gi s đã có rn = en − vn + 2 G i an+1bn+1 là c nh ghép thêm vào Gn đ có Gn+1 Khi đó có hai tr ng h p có th x y ra:

+ N u c hai đ nh an+1 và bn+1đ u thu c Gn:

an+1

Do Gn+1 là đ th ph ng nên an+1bn+1 không th c t b t c c nh nào c a Gn+1 ⇒ an+1

và bn+1 ph i n m trên biên c a mi n chung R ⇒ c nh an+1bn+1 chia R ra làm hai mi n con Khi đó: rn+1 = rn + 1; en+1 = en + 1

=+

v

Thay (1) vào (2), ta đ c:

636

3322

⇒+

e

Trang 36

v

Thay (1) vào (2), ta đ c:

424

222

⇒+

e

Ví d 6: Ch ng minh r ng K3,3 là không ph ng

Gi i: Ta có K3,3 không có chu trình đ dài 3 H n n a, K3,3 có 6 đ nh và 9 c nh ⇒ e =

9 và 2v − 4 = 8 i u này không th a h qu 2 ⇒ K3,3 không ph ng

3re

Gi s G là m t đ th ph ng, liên thông có e c nh, v đ nh mà đ u có

i u này có ngh a là m i đ nh c a G s là đ u mút c a ít nh t 6 c nh và m i c nh liên thu c v i 2 đ nh T đó, ta có:

V

w

∀( )w ≥6

Trang 37

Cho G là m t đ n đ th ph ng v i e c nh, v đ nh và có thành ph n liên thông

G i r là s mi n (regions) trong bi u di n ph ng c a G Khi đó: k≥1

v − e + r = k + 1

ây chính là công th c Euler cho m t đ th ph ng b t k

(Sinh viên t ch ng minh - xem nh bài t p)

4 nh lý Kuratowski

nh lý Kuratowski cho ta đi u ki n c n và đ đ m t đ th là ph ng nh lý này liên quan đ n phép phân chia s c p c a đ th

Nh c l i phép phân chia s c p c a đ th : Cho G là m t đ th , n u b đi c nh ab c a

G và thêm vào đ nh m i c cùng v i 2 c nh ac và cb Phép toán đó g i là phép phân chia s

c p Hai đ th nh n đ c t cùng m t đ th b ng m t dãy các phép phân chia s c p đ c

N u ta xóa đ nh a c a G, đ ng th i xóa đi c nh ab, ac, ad thì ta đ c m t đ th con

c d e f g h

N u ta b đi các c nh bc, cd, fg, gh ta đ c đ th con c a G:

a b

c d

g

h

a b

c

d e f g h

th này đ ng phôi v i K3,3 ⇒ G không ph ng

Ngày đăng: 18/11/2020, 18:38

🧩 Sản phẩm bạn có thể quan tâm