1. Trang chủ
  2. » Kinh Doanh - Tiếp Thị

bài giảng lí thuyết đồ thị

69 120 0

Đ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 69
Dung lượng 1,28 MB

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

Nội dung

Lu ng trong m ng... Lu ng trong m ng... ng ch khác nhau 1 bit... nh lý 3Kenneth Appeland – Wolfgang Haken... th G2không có chu trình c ng nh đ ng đi Euler.. th H1 không có chu trình c ng

Trang 1

B GIAO THÔNG V N T I

B MÔN: KHOA H C MÁY TÍNH

Trang 2

Trình bày nh ng ki n th c c s c a đ th nh đ ng đi, chu trình, s liên thông c a

đ th, ng d ng các bài toán tin h c trên đ th bao g m các ph ng pháp bi u di n đ th, các thu t toán tìm ki m c b n trên đ th, đ th Euler và đ th Haminton, các chu trình và thu t toán tìm cây khung nh nh t, các thu t toán tìm đ ng đi ng n nh t trên các d ng đ th khác nhau, bài toán lu ng c c đ i trong m ng

g Ng i biên so n: Ph m Tu n t – BM Khoa h c máy tính, Khoa CNTT

1.3 ng đi, chu trình, đ th liên thông 2 1

1.3.1 nh ngha đ ng đi, chu trình 1

Trang 3

2.2 Danh sách c nh (cung) 1

T h c: Cài đ t th t c xác đ nh ma tr n k /tr ng s cho

đ th

3.1 Tìm ki m theo chi u sâu trên đ th 1

3.2 Tìm ki m theo chi u r ng trên đ th 1

3.3 Tìm đ ng đi và ki m tra tính liên thông 3

T h c: Cài đ t th t c tìm ki m, đ ng đi trên ma tr n k

5.4.2 Thu t toán Kruskal 1,5 1

T h c: Cài đ t th t c tìm cây khung nh nh t Kruskal/

6.3 ng đi ng n nh t trong đ th tr ng s không âm 1,5 2

6.4 ng đi trong đ th không có chu trình 1,5

T h c: Cài đ t th t c tìm đ ng đi ng n nh t trên đ th

có tr ng s không âm

7.1 M ng Lu ng trong m ng Bài toán lu ng c c đ i 1

7.1.1 nh ngha m ng, lu ng trên đ th 0,5

Trang 4

Sinh viên ph i tham d t i thi u 75% s gi lên l p và ph i đ t các đi m thành ph n X1,

X2 t 4,0 tr lên (X1là đi m chuyên c n, X2là đi m trung bình các bài ki m tra)

i m h c ph n (Z) đ c tính theo công th c: Z = 0.3X + 0.7Y

Trong đó:

• X: đi m quá trình, b ng trung bình c ng c a X1, X2

• Y: đi m bài ki m tra k t thúc h c ph n

• Hình th c thi: tr c nghi m trên máy tính; th i gian: 60 phút

Thang đi m đánh giá: A+

m Ngày phê duy t: 30/06/2014

n C p phê duy t: Khoa CNTT

P Tr ng B môn

Nguy n V n Th y

Trang 5

M C L C

CH NG 1 CÁC KHÁI NI M C B N C A LÝ THUY T TH ……….1

nh ngh a th ………1

1.1.1 n đ th……… 1

1.1.2 Gi đ th ………2

1.1.3 a đ th……… 3

Các thu t ng c b n……… 4

Đ ng đi Chu trình Đ th liên thông………5

1.3.1 nh ngha đ ng đi, chu trình……… 5

1.3.2 th liên thông……… 6

M t s d ng Đ th đ c bi t……….8

CH NG BI U DI N TH TRÊN MÁY VI TÍNH……… … 13

2 Ma tr n k Ma tr n tr ng s ……… 13

2.2 Danh sách c nh cung……….14

2 Danh sách k ……… 15

CH NG 3 CÁC THU T TOÁN TÌM KI M TRÊN TH VÀ NG D NG… 18

Tìm ki m theo chi u sâu trên Đ th ……… 18

Tìm ki m theo chi u r ng trên Đ th ………20

Tìm Đ ng đi và ki m tra Tính liên thông……… 22

CH NG 4 TH EULER VÀ TH HAMILTON……….24

4 Đ th Euler………24

4.1.1 nh ngha đ th Euler……… 24

4.1.2 Các đ nh lý………25

Đ th Hamilton 27 4.2.1 nh ngha đ th Hamilton……… 27

4.2.2 Các đ nh lý………28

CH NG CÂY VÀ CÂY KHUNG C A TH 31

5 Cây và các tính ch t c b n c a cây……… 31

5 Cây khung c a Đ th ………32

5 Xây d ng t p chu trình c b n c a cây……….34

5.4 Cây khung nh nh t……… 35

5.4 Thu t toán Kruskal……… 35

Thu t toán Prim………37

CH NG BÀI TOÁN NG I NG N NH T……… 41

Các khái ni m m đ u……… 41

ng đi ng n nh t xu t phát t m t đ nh, t các c p đ nh……….42

6.2.1 ng đi ng n nh t xu t phát t m t đ nh……… 42

6.2.2 ng đi ng n nh t xu t phát t m t đ nh t i các đ nh……… 43

ng đi ng n nh t trong đ th tr ng s không âm………44

ng đi trong đ th không có chu trình……….47

CH NG BÀI TOÁN LU NG C C I……….53

M ng Lu ng trong m ng Bài toán lu ng c c đ i……… 53

7.1.1 nh ngha m ng, lu ng trên đ th………53

7.1.2 Bài toán lu ng c c đ i………53

Lát c t ng t ng lu ng nh lý Ford Fulkerson………54

7.2.1 Lát c t……….54

7.2.2 nh lý………55

Gi i thu t lu ng c c đ i……… 57

M t s bài toán lu ng t ng quát……… 1

Trang 6

CH NG I CÁC KHÁI NI M C B N C A LÝ THUY T TH

Lý thuy t đ th là m t lnh v c đã có t lâu và có nhi u ng d ng hi n đ i Nh ng t

t ng c b n c a lý thuy t đ th đ c đ xu t vào nh ng n m đ u c a th k 18 b i nhà toán

h c l i l c ng i Th y S Lenhard Eurler Chính ông là ng i đã s d ng đ th đ gi i bài toán n i ti ng v các cái c u thành ph Konigsberg

th đ c s d ng đ gi i các bài toán trong nhi u lnh v c khác nhau Ch ng h n,

đ th có th s d ng đ xác đ nh các m ch vòng trong v n đ gi i tích m ch đi n Chúng ta

có th phân bi t các h p ch t hóa h c h u c khác nhau v i cùng công th c phân t nh ng khác nhau v c u trúc phân t nh đ th Chúng ta có th xác đ nh hai máy tính trong m ng

có th trao đ i thông tin đ c v i nhau hay không nh mô hình đ th c a m ng máy tính

th có tr ng s trên các c nh có th s d ng đ gi i các bài toán nh : Tìm đ ng đi ng n nh t

gi a hai thành ph trong m ng giao thông Chúng ta c ng còn s d ng đ th đ gi i các bài toán v l p lch, th i khóa bi u, và phân b t n s cho các tr m phát thanh và truy n hình…

1 1 NH NGH A TH

th là m t c u trúc r i r c bao g m các đ nh và các c nh n i các đ nh này Chúng

ta phân bi t các lo i đ th khác nhau b i ki u và s l ng c nh n i hai đ nh nào đó c a đ

th có th hình dung đ c t i sao l i c n đ n các lo i đ th khác nhau, chúng ta s nêu ví

d s d ng chúng đ mô t m t m ng máy tính Gi s ta có m t m ng g m các máy tính và các kênh đi n tho i (g i t t là kênh tho i) n i các máy tính này Chúng ta có th bi u di n các

v trí đ t náy tính b i các đi m và các kênh tho i n i chúng b i các đo n n i, xem hình 1

Hình 1 S đ m ng máy tính

Nh n th y r ng trong m ng hình 1, gi a hai máy b t k ch có nhi u nh t là m t kênh tho i

n i chúng, kênh tho i này cho phép liên l c c hai chi u và không có máy tính nào l i đ c

n i v i chính nó S đ m ng máy cho trong hình 1 đ c g i là đ n đ th vô h ng Ta đi

đ n đ nh ngha sau

1.1.1 n đ th

nh ngha 1: n đ th vô h ng G = (V,E) bao g m V là t p các đ nh, và E là

t p các c p không có th t g m hai ph n t khác nhau c a V g i là các c nh

Trong tr ng h p gi a hai máy tính nào đó th ng xuyên ph i truy n t i nhi u thông tin

ng i ta ph i n i hai máy nàu b i nhi u kênh tho i M ng v i đa kênh tho i gi a các máy

đ c cho trong hình 2

Trang 7

Hình 2 S đ m ng máy tính v i đa kênh tho i

1.1.2 Gi đ th

nh ngha 2: a đ th vô h ng G= (V, E) bao g m V là t p các đ nh, và E là t p

các c p không có th t g m hai ph n t khác nhau c a V g i là các c nh Hai c nh

e 1 và e 2 đ c g i là c nh l p n u chúng cùng t ng ng v i m t c p đ nh

Hình 3 S đ m ng máy tính v i kênh tho i thông báo

Rõ ràng m i đ n đ th đ u là đa đ th, nh ng không ph i đa đ th nào c ng là đ n đ th, vì trong đa đ th có th có hai (ho c nhi u h n) c nh n i m t c p đ nh nào đó

Trong m ng máy tính có th có nh ng kênh tho i n i m t máy nào đó v i chính nó (ch ng

h n v i m c đính thông báo) M ng nh v y đ c cho trong hình 3 Khi đó đa đ th không

th mô t đ c m ng nh v y, b i vì có nh ng khuyên (c nh n i m t đ nh v i chính nó) Trong tr ng h p nàychúng ta c n s d ng đ n khái ni m gi đ th vô h ng, đ c đ nh

ngha nh sau:

nh ngha 3: Gi đ th vô h ng G = (V, E) bao g m V là t p các đ nh và E là

t p các c p không có th t g m hai ph n t (không nh t thi t ph i khác nhau) c a V

g i là c nh C nh e đ c g i là khuyên n u nó có d ng e = (u, u)

Trang 8

Hình 4 M ng máy tính v i kênh tho i m t chi u Các kênh tho i trong m ng máy tính có th ch cho phép truy n tin theo m t chi u Ch ng

h n, trong hình 4 máy ch Hà N i ch có th nh n tin t các máy đ a ph ng, có m t s máy ch có th g i tin đi, còn các kênh tho i cho phép truy n tin theo c hai chi u đ c thay

th b i hai c nh có h ng ng c chi u nhau

Ta đi đ n đ nh ngha sau

nh ngha 4: n đ th có h ng G = (V, E) bao g m V là t p các đ nh và E là

t p các c p có th t g m hai ph n t khác nhau c a V g i là các cung

N u trong m ng có th có đa kênh tho i m t chi u, ta s ph i s d ng đ n khái ni m đa đ th

Trong các ph n ti p theo ch y u chúng ta s làm vi c v i đ n đ th vô h ng và đ n đ th

có h ng Vì v y, đ cho ng n g n, ta s b qua tính t đ n khi nh c đ n chúng

Trang 9

1.2 CÁC THU T NG C B N

Trong m c này chúng ta s trình bày m t s thu t ng c b n c a lý thuy t đ th Tr c tiên,

ta xét các thu t ng mô t các đ nh và c nh c a đ th vô h ng

nh ngha 1: Hai đ nh u và v c a đ th vô h ng G đ c g i là k nhau n u (u,v)

là c nh c a đ th G N u e = (u, v) là c nh c a đ th ta nói c nh này là liên thu c

v i hai đ nh u và v, ho c c ng nói là n i đ nh u và đ nh v, đ ng th i các đ nh u và v s

đ c g i là các đ nh đ u c a c nh (u, v)

có th bi t có bao nhiêu c nh liên thu c v i m t đ nh, ta đ a vào đ nh ngha sau:

nh ngha 2: Ta g i b c c a đ nh v trong đ th vô h ng là s c nh liên thu c v i

nó và s ký hi u là deg(v)

Hình 1 th vô h ng Thí d 1 Xét đ th cho trong hình 1, ta có

deg(a) = 1, deg(b) = 4, deg(c) = 4, deg(f) = 3,

deg(d) = 1, deg(e) = 3, deg(g) = 0

nh b c 0 g i là đ nh cô l p nh b c 1 đ c g i là đ nh treo Trong ví d trên đ nh g là

đ nh cô l p, a và d là các đ nh treo B c c a đ nh có tính ch t sau:

Trang 10

Do deg(v) là ch n v i v là đ nh trong U nên t ng th nh t trên là s ch n T đó suy

ra t ng th hai (chính là t ng b c c a các đ nh b c l ) c ng ph i là s ch n, do t t c các s h ng c a nó là s l , nên t ng này ph i g m m t s ch n các s h ng Vì v y,

s đ nh b c l ph i là s ch n

Ta xét các thu t ng t ng t cho đ th vô h ng

nh ngha 3: N u e = (u, v) là cung c a đ th có h ng G thì ta nói hai đ nh u và

v là k nhau, và nói cung (u, v) n i đ nh u v i đ nh v ho c c ng nói cung này là đi ra

kh i đ nh u và vào đ nh v nh u(v) s đ c g i là đ nh đ u (cu i) c a cung (u,v)

T ng t nh khái ni m b c, đ i v i đ th có h ng ta có khái ni m bán b c ra và bán b c vào c a m t đ nh

nh ngha 4: Ta g i bán b c ra (bán b c vào) c a đ nh v trong đ th có h ng là

s cung c a đ th đi ra kh i nó (đi vào nó) và ký hi u là deg +

(v) (deg - (v))

Hình 2 th có h ng Thí d 3 Xét đ th cho trong hình 2 Ta có

deg - (a)=2, deg - (b)=2, deg - (c)=2, deg - (d)=2, deg - (e) = 2

deg + (a)=3, deg + (b)=1, deg + (c)=1, deg + (d)=3, deg + (e)=2

Do m i cung (u, v) s đ c tính m t l n trong bán b c vào c a đ nh v và m t l n trong bán

b c ra c a đ nh u nên ta có:

nh lý 2 Gi s G = (V, E) là đ th có h ng Khi đó:

2m = deg ( ) + = deg ( )

R t nhi u tính ch t c a đ th có h ng không ph thu c vào h ng trên các cung c a nó Vì

v y, trong nhi u tr ng h p s thu n ti n h n n u ta b qua h ng trên các cung c a đ th

th vô h ng thu đ c b ng cách b qua h ng trên các cung đ c g i là đ th vô h ng

t ng ng v i đ th có h ng đã cho

1.3 NG I CHU TRÌNH TH LIÊN THÔNG

1.3.1 nh ngh a đ ng đi, chu trình

nh ngha 1: ng đi đ dài n t đ nh u đ n đ nh v, trong đó n là s nguyên

d ng, trên đ th vô h ng G = (V, E) là dãy x 0 , x 1 ,…, x n-1 , x n ; trong đó u = x 0 , v =

x n , (x i , x i+1 ) E, i = 0, 1, 2,…, n-1 ng đi nói trên còn có th bi u di n d i d ng

Trang 11

dãy các c nh: (x 0 , x 1 ), (x 1 , x 2 ), …, (x n-1 , x n ) nh u g i là đ nh đ u, còn đ nh v g i là

đ nh cu i c a đ ng đi ng đi có đ nh đ u trùng v i đ nh cu i (t c là u = v) đ c

g i là chu trình ng đi hay chu trình đ c g i là đ n n u nh không có c nh nào

b l p l i

Thí d 1 Trên đ th vô h ng cho trong hình 1: a, d, c, f, e là đ ng đi đ n đ dài 4 Còn d,

e, c, a không là đ ng đi, do (c,e) không ph i là c nh c a đ th Dãy b, c, f, e, b là chu trình

đ dài 4 ng đi a, b, e, d, a, b có đ dài là 5 không ph i là đ ng đi đ n, do c nh (a, b) có

m t trong nó 2 l n

Hình 1 ng đi trên đ th Khái ni m đ ng đi và chu trình trên đ th có h ng đ c đ nh ngha hoàn toàn t ng t

nh trong tr ng h p đ th vô h ng, ch khác là ta có chú ý đ n h ng trên các cung

nh ngha 2: ng đi đ dài n t đ nh u đ n đ nh v, trong đó, n là s nguyên

d ng, trên đ th có h ng G = (V, A) là dãy x 0 , x 1 ,…, x n-1 , x n trong đó u = x 0 , v = x n , (xi, x i+1 ) E, i = 0, 1, 2,…, n-1 ng đi nói trên còn có th bi u di n d i d ng dãy các cung (x 0 , x 1 ), (x 1 , x 2 ), …, (x n-1 , x n ) nh u g i là đ nh đ u, còn đ nh v g i là đ nh

cu i c a đ ng đi ng đi có đ nh đ u trùng v i đ nh cu i (t c là u = v) đ c g i

là chu trình ng đi hay chu trình đ c g i là đ n n u nh không có c nh nào b

l p l i

Thí d 2 Trên đ th có h ng cho trong hình 1: a, d, c, f, e là đ ng đi đ n đ dài 4 Còn d,

e, c, a không là đ ng đi, do (c,e) không ph i là c nh c a đ th Dãy b, c, f, e, b là chu trình

đ dài 4 ng đi a, b, e, d, a, b có đ dài là 5 không ph i là đ ng đi đ n, do c nh (a, b) có

m t trong nó 2 l n

Xét m t m ng máy tính M t câu h i đ t ra là hai máy tính b t k trong m ng này có th trao

đ i thông tin đ c v i nhau ho c là tr c ti p qua kênh n i chúng ho c thông qua m t ho c vài máy tính trung gian trong m ng? N u s d ng đ th đ bi u di n m ng máy tính này (trong

đó các đ nh c a đ th t ng ng v i các máy tính, còn các c nh t ng ng v i các kênh n i) câu h i đó đ c phát bi u trong ngôn ng đ th nh sau: T n t i hay không đ ng đi gi a

Trang 12

Hình 2 th G và H

nh ngha 4: th con c a đ th G = (V, E) là đ th H = (W, F), trong đó W ⊂V

và F ⊂ E

Trong tr ng h p đ th là không liên thông, nó s chia thành m t s đ th con liên thông đôi

m t không có đ nh chung Nh ng đ th con liên thông nh v y ta s g i là các thành ph n

liên thông c a đ th

Thí d 4 th H trong hình 2 g m 3 thành ph n liên thông H1, H2, H3

Trong m ng máy tính có th có nh ng máy (Nh ng kênh n i) mà s h ng hóc c a nó s nh

h ng đ n vi c trao đ i thông tin trong m ng Các khái ni m t ng ng v i tình hu ng này

đ c đ a ra trong đ nh ngha sau

nh ngha 7: th có h ng G = (V, A) đ c g i là liên thông y u n u đ th vô

h ng t ng ng v i nó là vô h ng liên thông

Rõ ràng n u đ th là liên thông m nh thì nó c ng là liên thông y u, nh ng đi u ng c l i là không luôn đúng, nh ch ra trong ví d d i đây

Thí d 6 Trong hình 3 đ th G là liên thông m nh, còn H là liên thông y u nh ng không là liên thông m nh

Trang 13

Hình 3 th liên thông m nh G và đ th liên thông y u H

M t câu h i đ t ra là khi nào có th đ nh h ng các c nh c a m t đ th vô h ng liên thông

đ có th thu đ c đ th có h ng liên thông m nh? Ta s g i đ th nh v y là đ th đ nh

h ng đ c nh lý d i đây cho ta tiêu chu n nh n bi t m t đ th có là đ nh h ng đ c hay không

h ng t u đ n v và ng c l i suy ra (u, v) ph i n m trên ít nh t m t chu trình

i u ki n đ Th t c sau đây cho phép đ nh h ng các c nh c a đ th đ thu đ c

đ th có h ng liên thông m nh Gi s C là m t chu trình nào đó trong đ th nh

h ng các c nh trên chu trình này theo m t h ng đi vòng theo nó N u t t c các

c nh c a đ th là đã đ c đ nh h ng thì k t thúc th t c Ng c l i, ch n e là m t

c nh ch a đ nh h ng có chung đ nh v i ít nh t m t trong s các c nh đã đ nh h ng Theo gi thi t tìm đ c chu trình C’ ch a c nh e nh h ng các c nh ch a đ c

đ nh h ng c a C’ theo m t h ng d c theo chu trình này (không đ nh h ng l i các

c nh đã có đ nh h ng) Th t c trên s đ c l p l i cho đ n khi t t c các c nh c a

đ th đ c đ nh h ng Khi đó ta thu đ c đ th có h ng liên thông m nh

1.4 M T S D NG TH C BI T

Trong m c này ta xét m t s đ n đ th vô h ng d ng đ c bi t xu t hi n trong nhi u v n đ

ng d ng th c t

th đ y đ : th đ y đ n đ nh, ký hi u b i K n , là đ n đ th vô h ng mà gi a hai đ nh b t k c a nó luôn có c nh n i

Hình 1 th đ y đ K3, K4, K5

Trang 14

th đ y đ Kncó t t c n(n-1)/2 c nh, nó là đ n đ th có nhi u c nh nh t

th vòng: th vòng C n , n≥3 g m n đ nh v 1 , v 2 , .v n và các c nh (v 1 ,v 2 ), (v 2 ,v 3 ) (v n-1 ,v n ), (v n ,v 1 )

ng ch khác nhau 1 bit Hình 4 cho th y Q n v i n=1,2,3

Hình 4 th l p ph ng Q1, Q2, Q3

th hai phía: n đ th G=(V,E) đ c g i là hai phía n u nh t p đ nh V c a

nó có th phân ho ch thành hai t p X và Y sao cho m i c nh c a đ th ch n i m t

đ nh nào đó trong X v i m t đ nh nào đó trong Y Khi đó ta s s d ng ký hi u G=(X

Y, E) đ ch đ th hai phía v i t p đ nh X ⊂Y

Trang 15

nh lý sau đây cho phép nh n bi t m t đ n đ th có ph i là hai phía hay không

nh lý 1 n đ th là đ th hai phía khi và ch khi nó không ch a chu trình đ dài l

ki m tra xem m t đ th liên thông có ph i là hai phía hay không có th áp d ng th t c sau Cho v là m t đ nh b t k c a đ th t X={v}, còn Y là t p các đ nh k c a v Khi đó các đ nh k c a các đ nh trong Y ph i thu c vào X Ký hi u t p các đ nh nh v y là T Vì th

n u phát hi n X Y # thì đ th không ph i là hai phía, k t thúc ng c l i, đ t X=X T

M t đi u đáng l u ý n u đ th là ph ng thì luôn có th v nó trên m t ph ng v i các c nh n i

là các đo n th ng không c t nhau ngoài đ nh (ví d xem cách v K4 trong hình 6)

nh n bi t xem m t đ th có ph i là đ th ph ng có th s d ng đ nh lý Kuratovski, mà đ phát bi u nó ta c n m t s khái ni m sau: Ta g i m t phép chia c nh (u,v) c a đ th là vi c

lo i b c nh này kh i đ th và thêm vào đ th m t đ nh m i w cùng v i hai c nh (u,w), (w, u) Hai đ th G(V,E) và H=(W,F) đ c g i là đ ng c u n u chúng có th thu đ c t cùng

m t đ th nào đó nh phép chia c nh

nh lý 2 (Kuratovski) th là ph ng khi và ch khi nó không ch a đ th con đ ng c u

v i K 3,3 ho c K 5

Trang 16

Trong tr ng h p riêng, đ th K3,3 ho c K5 không ph i là đ th ph ng Bài toán v tính

ph ng c a đ th K3,3 là bài toán đ n i ti ng v ba c n h và ba h th ng cung c p n ng

l ng cho chúng: C n xây d ng h th ng đ ng cung c p n ng l ng v i m i m t c n h nói trên sao cho chúng không c t nhau

M t trong nh ng bài toán d a trên đ th ph ng là tô màu b n đ B n đ đ c mô t d i

d ng đ th ph ng, m i vùng mi n trong b n đ bi u di n b ng m t đ nh, hai vùng mi n k nhau có màu tô khác nhau th đ c tô màu sao cho c p đ nh k nhau có màu tô khác nhau, hãy tìm s màu ít nh t đ tô đ th

nh lý 3(Kenneth Appeland – Wolfgang Haken) S màu tô đ th ph ng không l n h n

b n

Bi u di n ph ng c a đ th s chia m t ph ng ra thành các mi n, trong đó có th có c mi n không b ch ng Thí d , bi u di n ph ng c a đ th cho trong hình 7 chia m t ph ng ra thành

6 mi n R1, R2, .R6

Hình 7 Các mi n t ng ng v i bi u di n ph ng c a đ th Euler đã ch ng minh đ c r ng các cách bi u di n ph ng khác nhau c a m t đ th đ u chia

m t ph ng ra thành cùng m t s mi n ch ng minh đi u đó, Euler đã tìm đ c m i liên h

Trang 17

BÀI T P CH NG 1

Bài 1 Lo i đ th nào đ c dùng đ mô hình các con đ ng gi a các thành ph trong

nh ng tr ng h p sau:

a) N u gi a hai thành ph có con đ ng thì gi a chúng s đ c n i b i m t c nh

b) M i c nh bi u di n cho m i con đ ng gi a hai thành ph

c) M i c nh bi u di n cho m i con đ ng n i hai thành ph và có khuyên bi u

di n đ ng n i quanh thành ph đó Bài 2 S d ng đ th nào bi u di n k t qu thi đ u gi a các đ i theo th th c vòng tròn

m t l t,hai l t S c nh c a đ th trong m i tr ng h p Bài 3 T n t i đ n đ th có 15 đ nh, m i đ nh b c 5

Bài 4 V đ n đ th vô h ng có 5 đ nh, bao g m 3 đ nh r nhánh, m t đ nh cô l p nh còn l i b c m y, s c nh c a đ th là bao nhiêu

Bài 5 Ch ng minh trong đ n đ th vô h ng không ch a chu trình thì luôn có ít nh t 2

Bài 11 Cho đ th vô h ng 10 đ nh, 16 c nh Tìm s mi n m t ph ng chia b i đ th

Bài 12 Tìm s màu tô đ th :

a Kn

b Cn

c Wn

d Km,n

Trang 19

2) T ng các ph n t trên dòng i, c t j c a ma tr n k chính b ng b c c a đ nh i (đ nh j)

3) N u ký hi u ajp , i,j=1, 2, ,n là ph n t c a ma tr n Ap

=A.A .A , p th a s Khi

đó ajp , i,j=1, 2, ,n cho ta s đ ng đi khác nhau t đ nh i đ n đ nh j qua p-1 đ nh trung gian

Ma tr n k c a đ th có h ng đ c đ nh ngha m t cách hoàn toàn t ng t

Thí d 2 th có h ng G1cho trong hình 1 có ma tr n k là ma tr n sau:

Chú ý: Trên đây chúng ta ch xét đ n đ th Ma tr n k c a đa đ th có th xây

d ng hoàn toàn t ng t , ch khác là thay vì ghi 1 vào v trí a[i,j] n u (i,j) là c nh c a

đ th, chúng ta s ghi k là s c nh n i hai đ nh i, j

Trong r t nhi u v n đ ng d ng c a lý thuy t đ th, m i c nh e=(u,v) c a đ th

đ c gán v i m t con s c(e) (còn vi t là c(u,v) g i là tr ng s c a c nh e th trong tr ng h p nh v y đ c g i là đ th có tr ng s Trong tr ng h p đ th có

tr ng s , thay vì mà tr n k , đ bi u di n đ th ta s d ng ma tr n tr ng s

C= {c[i,j], i,j=1, 2, .,n} v i c[i,j]=c(i,j) n u (i,j)∈ E và c[i,j]= n u (i,j)∉ E trong đó s , tu t ng tr ng h p c th , có th đ c đ t b ng m t trong các giá tr sau: 0, +∞, -∞

u đi m l n nh t c a ph ng pháp bi u di n đ th b ng ma tr n k (ho c ma tr n

tr ng s ) là đ tr l i câu h i: Hai đ nh u,v có k nhau trên đ th hay không, chúng ta

ch ph i th c hi n m t phép so sánh nh c đi m l n nh t c a ph ng pháp này là: không ph thu c vào s c nh c a đ th, ta luôn ph i s d ng n2 đ n v b nh đ l u

tr ma tr n k c a nó

2.2 DANH SÁCH C NH (CUNG)

Trong tr ng h p đ th th a (đ th có s c nh m tho mãn b t đ ng th c: m<6n)

ng i ta th ng dùng cách bi u di n đ th d i d ng danh sách c nh

Trong cách bi u di n đ th b i danh sách c nh (cung) chúng ta s l u tr danh sách

t t c các c nh (cung) c a đ th vô h ng (có h ng) M t c nh (cung) e=(x,y) c a đ th s

Trang 20

t ng ng v i hai bi n Dau[e], Cuoi[e] nh v y, đ l u tr đ th ta c n s d ng 2m đ n v

b nh ù Nh c đi m c a cách bi u di n này là đ xác đ nh nh ng đ nh nào c a đ th là k

v i m t đ nh cho tr c chúng ta ph i làm c m phép so sánh (khi duy t qua danh sách t t c các c nh c a đ th)

Chú ý: Trong tr ng h p đ th có tr ng s ta c n thêm m đ n v b nh đ l u tr tr ng s

c a các c nh

Thí d 3 Danh sách c nh (cung) c a đ th G (G1) cho trong hình 1 là:

Dau Cuoi Dau Cuoi

Khi đó vòng l p th c hi n v i m i m t ph n t trong danh sách này theo th t các

ph n t đ c s p x p trong nó s đ c vi t nh sau: for u Ke(v) do

Trong r t nhi u thu t toán làm vi c v i đ th chúng ta th ng xuyên ph i th c hi n các thao tác: Thêm ho c b t m t s c nh Trong tr ng h p này c u trúc d li u dùng trên là không thu n ti n Khi đó nên chuy n sang s d ng danh sách k liên k t (Linked Adjancency List)

Thí d 4 Danh sách k c a các đ th trong hình 1 đ c mô t trong hình sau:

Trang 21

nh đ u

nh đ u

Hình 2 Danh sách k c a đ th vô h ng G và có h ng G1 cho trong hình 1

ý r ng trong cách bi u di n này chúng ta c n ph i s d ng c m+n đ n v b nh Trong các thu t toán mô t các ph n ti p theo hai c u trúc danh sách k và ma tr n

tr ng s đ c s d ng th ng xuyên

Trang 22

BÀI T P CH NG 2

Bài 1 A là ma tr n k c a đ th Ma tr n Anmô t cho cái gì

Bài 2 N u hai đ th đ ng c u v i nhau thì ma tr n k c a chúng gi ng nhau không Bài 3 Cho hai đ th có cùng 5 đ nh C c u b c c a chúng nh sau: 1 đ nh b c 3, 3 đ nh

b c 2, 1 đ nh b c 1 Hai đ th đ ng c u không

Bài 4 Bi u di n ma tr n k c a đ th K4, C4, W4, K2,3, Q3

Bài 5 Bi u di n ma tr n k c a đ th :

a G={V={u1,u2,u3,u4,u5},E={(u1,u2),(u2,u3),(u3,u4),(u4,u5)}

b G={V={u1,u2,u3,u4,u5},E={(u1,u2),(u2,u3),(u3,u4),(u4,u5), (u5,u1)}

c G={V={u1,u2,u3,u4,u5},E={(u1,u2),(u2,u3),(u3,u4), (u3,u5),(u4,u5),(u4,u1), (u5,u1)}

d G={V={u1,u2,u3,u4,u5, u6,u7,u8},E={(u1,u2),(u2,u3),(u3,u4), (u3,u5), (u5,u6),(u6,u7),

(u6,u8)}

Bài 7 Tìm s đ ng đi đ n đ dài n gi a hai đ nh không k nhau trong đ th K3,3v i n =

2,3,4

Bài 8 Tìm s đ ng đi đ dài 3 gi a hai đ nh u1, u4trong đ th bài 5a

Bài 9 T n t i đ ng đi đ n t m t đ nh b c l này t i đ nh b c l khác trong đ th vô

h ng

Trang 23

CH NG 3 CÁC THU T TOÁN TÌM KI M TRÊN TH VÀ NG D NG

R t nhi u thu n toán trên đ th đ c xây d ng trên c s duy t t t c các đ nh c a đ

th sao cho m i đ nh c a nó đ c vi ng th m đúng m t l n Vì v y, vi c xây d ng nh ng thu t toán cho phép duy t m t cách h th ng t t c các đ nh c a đ th là m t v n đ quan

tr ng thu hút s quan tâm nghiên c u c a nhi u tác gi Nh ng thu t toán nh v y chúng ta s

g i là thu t toán tìm ki m trên đ th Trong m c này chúng ta s gi i thi u hai thu t toán tìm

ki m c b n trên đ th: Thu t toán tìm ki m theo chi u sâu (Depth Firt Search) và Thu t

toán tìm ki m theo chi u r ng (Breadth First Search) và ng d ng c a chúng vào vi c gi i

m t s bài toán trên đ th

Trong m c này chúng ta s xét đ th vô h ng G=(V,E), v i đ nh n và m c nh

Chúng ta s quan tâm đ n vi c đánh giá hi u qu c a các thu t toán trên đ th, màm t trong

nh ng đ c tr ng quan tr ng nh t là đ ph c t p tính toán, t c là s phép toán mà thu t toán

c n ph i th c hi n trong tình hu ng x u nh t đ c bi u di n nh hàm c a kích th c đ u vào

c a bài toán Trong các thu t toán trên đ th, đ u vào là đ th G=(V,E), vì v y, kích th c

c a bài toán là s đ nh n và s c nh m c a đ th Khi đó đ ph c t p tính toán c a thu t toán

s đ c bi u di n nh là hàm c a hai bi n s f(n,m) là s phép toán nhi u nh t c n ph i th c

hi n theo thu t toán đ i v i m i đ th n đ nh và m c nh Khi so sánh t c đ t ng c a hai hàm

nh n giá tr không âm f(n) và g(n) chúng ta s s d ng ký hi u sau:

N u đ ph c t p tính toán c a thu t toán là O(g(n)) thì ta s còn nói là nó đòi h i th i gian tính c O(g(n))

3.1 TÌM KI M THEO CHI U SÂU TRÊN TH

Ý t ng chính c a thu t toán có th trình bày nh sau Ta s b t đ u tìm ki m t m t đ nh v0nào đó c a đ th Sau đó ch n u là m t đ nh tu ý k v i v0 và l p l i quá trình đ i v i u

b c t ng quát, gi s ta đang xét đ nh v N u nh trong s các đ nh k v i v tìm đ c đ nh w

là ch a đ c xét thì ta s xét đ nh này (nó s tr thành đã xét) và b t đ u t nó ta s b t đ u quá trình tìm ki m còn n u nh không còn đ nh nào k v i v là ch a xét thì ta nói r ng đ nh này đã duy t xong và quay tr l i ti p t c tìm ki m t đ nh mà tr c đó ta đ n đ c đ nh v (n u v=v0, thì k t thúc tìm ki m) Có th nói nôm na là tìm ki m theo chi u sâu b t đ u t

đ nh v đ c th c hi n trên c s tìm ki m theo chi u sâu t t t c các đ nh ch a xét k v i v Quá trình này có th mô t b i th t c đ qui sau đây:

Trang 24

If Chuaxet[u] then DFS(u);

End; (*dinh v da duyet xong*)

Khi đó, tìm ki m theo chi u sâu trên đ th đ c th c hi n nh thu t toán sau:

Begin

(*Initialization*) for v V do Chuaxet[v]:=true;

đánh giá đ ph c t p tính toán c a th t c, tr c h t nh n th y r ng s phép toán c n th c

hi n trong hai chu trình c a thu t toán (hai vòng for ch ng trình chính) là c n Th t c

DFS ph i th c hi n không quá n l n T ng s phép toán c n pha th c hi n trong các th t c này là O(n+m), do trong các th t c này ta ph i xét qua t t c các c nh và các đ nh c a đ th

V y đ ph c t p tính toán c a thu t toán là O(n+m)

Thí d 1 Xét đ th cho trong hình 1 g m 13 đ nh, các đ nh đ c đánh s t 1 đ n 13 nh sau:

Trang 25

Hình 1 th các đ nh đ c gán th t Khi đó các đ nh c a đ th đ c đánh s l i theo th t chúng đ c th m theo th t c tìm

ki m theo chi u sâu mô t trên nh hình 2 Gi thi t r ng các đ nh trong danh sách k c a

đ nh v (Ke(v)) đ c s p x p theo th t t ng d n c a ch s

Hình 2 Ch s m i (trong ngo c) c a các đ nh đ c đánh l i theo th t chúng đ c th m trong thu t toán tìm ki m theo chi u sâu

Thu t toán tìm ki m theo chi u sâu trên đ th vô h ng trình bày trên d dàng có th mô t

l i cho đ th có h ng Trong tr ng h p đ th có h ng, th tc DFS(v) s cho phép th m

t t c các đ nh u nào mà t v có đ ng đi đ n u ph c t p tính toán c a htu t toán là O(n+m)

ý r ng trong thu t toán tìm ki m theo chi u sâu đ nh đ c th m càng mu n s càng

s m tr thành đã duy t xong i u đó là h qu t t y u c a vi c các đ nh đ c th m s đ c

k t n p vào trong ng n x p (STACK) Tìm ki m theo chi u r ng trên đ th, n u nói m t cách

ng n g n, đ c xây d ng trên c s thay th ng n x p (STACK) b i hàng đ i (QUEUE) V i

s c i biên nh v y, đ nh đ c th m càng s m s càng s m tr thành đã duy t xong (t c là càng s m d i kh i hàng đ i) M t đ nh s tr thành đã duy t xong ngay sau khi ta xét xong

Chuaxet[v]:=false;

While QUEUE<> do begin

p QUEUE ;

Trang 26

Tham_dinh(p);

For u Ke(v) do

If Chuaxet[u] them begin QUEUE u;

Chuaxet[u]:=false; end;

Trang 27

3.3 TÌM NG I VÀ KI M TRA TÍNH LIÊN THÔNG

Trong m c này ta xét ng d ng các thu t toán tìm ki m mô t trong các m c tr c vào

vi c gi i bài toán c b n trên đ th: bài toán v tìm đ ng đi và bài toán v xác đ nh tính liên thông c a đ th

a) Bài toán tìm đ ng đi gi a hai đ nh:

Gi s s và t là hai đ nh nào đó c a đ th Hãy tìm đ ng đi t s đ n t Nh trên đã phân tích, th t c DFS(s) (BS(s)) s cho th m t t c các đ nh thu c cùng m t thành ph n liên thông v i s vì v y, sau khi th c hi n xong th t c, n u Chuaxet[t]=true, thì đi u đó có ngha

là không có đ ng đi t s đ n t, còn n u Chuaxet[t]=false thì t thu c cùng thành ph n liên thông v i s, hay nói m t cách khác: t n t i đ ng đi t s đ n t Trong tr ng h p t n t i

đ ng đi, đ ghi nh n đ ng đi, ta dùng thêm bi u th c Truoc[v] đ ghi nh n đ nh đi tr c

đ nh v trong đ ng đi tìm ki m t s đ n v Khi đó, đ i v i th t c DFS(v) c n s a đ i câu

l nh ì trong nó nh sau:

If Chuaxet[u] then Begin

Truoc[u]:=v;

DFS(u);

End;

Còn đ i v i th t c BFS(v) c n s a đ i câu l n if trong nó nh sau:

If Chuaxet [u] then

Begin

QUEUE u;

Chuaxet[u]:=false;

Truoc[u]:=p; End;

Chú ý: ng đi tìm đ c theo thu t toán tìm ki m theo chi u r ng là đ ng đi ng n nh t (theo s c nh) t s đ n t i u này suy tr c ti p t th t th m đ nh theo thu t toán tìm ki m theo chi u r ng

b) Tìm các thành ph n liên thông c a đ th: Hãy cho bi t đ th g m bao nhiêu thành ph n liên thông và t ng thành ph n liên thông c a nó là g m nh ng đ nh nào

Do th t c DFS(v)/BFS(s) cho phép th m t t c các đ nh thu c cùng m t thành ph n liên thông v i s, nên s thành ph n liên thông c a đ th b ng s l n g i đ n th t c này V n

đ còn l i là cách ghi nh n các đ nh trong t ng thành ph n liên thông Ta dùng thêm bi n Index[v] đê ghi nh n ch s c a thành ph n liên thông ch a đ nh v, và dùng thêm bi n Inconnect đ đ m s thành ph n liên thông (bi n này c n kh i t o giá tr 0) Th t c Tham_dinh(v) trong các th t c DFS(v) và BFS(v) có nhi m v gán: Index[v]:=connect, còn câu l n if trong các ch ng trình chính g i đ n các th t c này c n đ c s a l i nh sau:

Inconnect:=0;

If Chuaxet[v] then Begin

Inconnect:=Inconnect+1;

DFS(v); (*BFS(v)*) End;

Trang 28

Bài 5 Tìm th t đ nh duy t theo chi u r ng trong đ th bài 1

Bài 6 Tìm th t đ nh duy t theo chi u r ng, b t đ u t đ nh a trong đ th bài 2

Bài 7 Tìm th t đ nh duy t theo chi u sâu, b t đ u t đ nh e trong đ th bài 3

Bài 8 Cho đ th có h ng G = (V={a,b,c,d,e,f,g}, E={(a,b); (a,c); (a,d); (b,c); (b,e); (c,d); (c, f); (c, g); (d,g); (e,f); (f,g)} Tìm đ ng đi ng n nh t theo s c nh t a t i g Bài 9 Cho đ th có h ng G = (V={a,b,c,d,e,f}, E={(a,b); (a,e); (b,e); (c, b); (c,d); (d,c); (e,d); (e,b); (f,a); (f,e)} Tìm s liên thông m nh c a G

Trang 29

CH NG 4 TH EULER VÀ TH HAMILTON

Trong ch ng này chúng ra s nghiên c u hai d ng đ th đ c bi t là đ th Euler và

đ th Hamilton D i đây, n u không có gi i thích b sung, thu t ng đ th đ c dùng đ

ch chung đa đ th vô h ng và có h ng, và thu t ng c nh s dùng đ ch chung c nh c a

đ th vô h ng c ng nh cung c a đ th có h ng

4 1 TH EULER

4.1.1 nh ngha đ th Euler

nh ngha 1 Chu trình đ n trong đ th G đi qua m i c nh c a nó m t l n đ c

g i là chu trình Euler ng đi đ n trong G đi qua m i c nh c a nó m t l n đ c

g i là đ ng đi Euler th đ c g i là đ th Euler n u nó có chu trình Euler, và

g i là đ th n a Euler n u nó có đ ng đi Euler

Rõ ràng m i đ th Euler luôn là n a Euler, nh ng đi u ng c l i không luôn đúng

Thí d 1 th G1 trong hình 1 là đ th Euler vì nó có chu trình Euler a, e, c, d, e, b, a

th G3 không có chu trình Euler nh ng nó có đ ng đi Euler a, c, d, e, b, d, a, b, vì th G3 là

đ th c a Euler th G2không có chu trình c ng nh đ ng đi Euler

Hình 1 th G1, G2, G3 Thí d 2 th H2 trong hình 2 là đ th Euler vì nó có chu trình Euler a, b, c, d, e, a th

H3 không có chu trình Euler nh ng nó có đ ng đi Euler c, a, b, c, d, b vì th H3 là đ th n a Euler th H1 không có chu trình c ng nh đ ng đi Euler

Hình 2 th H1, H2, H3

i u ki n c n và đ đ m t đ th là m t đ 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 gi i th i đó v b y cái c u thành ph Konigsberg

và đây là đ nh lý đ u tiên c a lý thuy t đ th

Trang 30

G là đ n đ th G i v là m t đ nh nào đó c a G Ta s xây d ng theo qui n p đ ng

đi v v1 v2 , trong đó v1 là đ nh k v i v, còn v i i≥1 ch n vi+1 # vi-l(có th

ch n vi+1 nh v y là vì deg(vi) ≥2) 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 đ nh đ u tiên nh th là

vk Khi đó, đo n c a đ ng đi xây d ng n m gi a hai đ nh vklà 1 chu trình c n tìm

Ch ng minh đ nh lý:

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 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, suy ra m i đ nh c a đ th đi u có b c

ch n

Quy n p theo s đ nh và s c nh c a G Do G liên thông và deg(v) là s ch n nên b c c a m i đ nh c a nó không nh h n 2 T đó theo b đ G ph i ch a chu trình

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 t t c các c nh thu c C ta thu đ c

m t đ th m i H v n có b c là ch n Theo gi thi t qui n p, trong m i thành ph n liên thông c a H đi u tìm đ c chu trình Euler Do G là liên thông nên trong m i thành

ph n c a 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 ta s đ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 t ng ng trong Hv.v… (xem hình 3) 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ình 3 Minh ho cho ch ng minh đ nh lý 1

Trang 31

H qu 2 th vô h ng liên thông G là n a Euler khi và ch khi nó có không quá 2 đ nh

b c l

Ch ng minh Th c v y , n u G có không quá 2 đ nh b c l thì s đ nh b c l c a nó

ch có th là 0 ho c 2 N u G không có đ nh b c l thì theo đ nh lý 1, nó là đ th Euler Gi s G có 2 đ nh b c l là u và v G i H là đ th thu đ c t G b ng cách thêm vào G m t đ nh m i w và hai c nh (w,u) và(w,v) Khi đó t t c các đ nh c a H

đi u có b c ch n, vì th theo đ nh lý 1, nó có chu trình Euler C Xoá b kh i chu trình này đ nh w và hai c nh k nó ta thu đ c đ ng đi Euler trong đ th G

Gi s G là đ th Euler, t ch ng minh đ nh lý ta có th t c sau đ tìm chu trình Euler trong

G

Procedure Euler_Cycle;

Begin

STACK:= ; CE:= ; STACK u;

While STACK<> do Begin

X:=top(STACK); (* x la phan tu dau STACK)

If Ke(x)<> then Begin

Y:=dinh dau tien trong danh sach Ke(x);

STACK y;

(* loai bo canh (x,y) khoi do thi *) Ke(x):=Ke(x)\ y} ;

Ke(y):=Ke(y)\{x} ; End

Else Begin

Thu t toán Flor

Xu t phát t m t đ nh u nào đó c a G ta đi theo các c nh c a nó m t cách tu ý ch

c n tuân th 2 qui t c sau:

(1) Xoá b c nh đã đi qua đ ng th i xoá b c nh ng đ nh cô l p t o thành

(2) m i b c ta ch đi qua c u khi không còn cách l a chon nào khác

Ch ng minh tính đúng đ n c a thu t toán

Tr c tiên ta ch ra r ng th t c trên có th th c hi n m i b c Gi s ta đi đ n m t

đ nh v nào đó, khi đó n u v#u thì đ th con còn l i H là liên thông và ch a đúng hai

Trang 32

đ nh b c l là v và u Theo h qu trong H có đ ng đi Euler P t v t i u Do vi c xoá

b c nh đ u tiên c a đ ng đi P không làm m t tính liên thông c a H, t đó suy ra th

t c có th th c hi n m i b c N u v=u thì l p lu n trên s v n đúng ch ng nào

v n còn c nh k v i u

Nh v y ch còn ph i ch ra th t c trên d n đ n đ ng đi Euler Th c v y trong G không th còn c nh ch a đi qua khi mà ta s d ng c nh cu i cùng k v i u (trong

tr ng h p ng c l i, vi c lo i b m t c nh nào đó k v i m t trong s nh ng c nh còn l i ch a đi qua s d n đ n m t đ th không liên thông, và đi u đó là mâu thu n

v i gi thi t ii)

Ch ng minh t ng t nh trong đ nh lý 1 ta thu đ c k t qu sau đây cho đ th có h ng

nh lý 2 th có h ng liên thông m nh là đ th Euler khi và ch khi deg+

m i thành ph m t l n, r i tr v n i b t đ u

nh ngha 2 ng đi qua t t c các đ nh c a đ th m i đ nh đúng m t l n đ c

g i là đ ng đi Hamilton Chu trình b t đ u t m t đ nh v nào đó qua t t c các đ nh còn l i m i đ nh đúng m t l n r i quay tr v v đ c g i là chu trình Hamilton th

G đ c g i là đ th Hamilton n u nó ch a chu trình Hamilton và g i là đ th n a Hamilton n u nó có đ ng đi Hamilton

Rõ ràng đ th Hamilton là n a Hamilton, nh ng đi u ng c l i không còn đúng

Thí d 3 Trong hình 4: G3 là Hamilton, G2là n a Hamilton còn G1không là n a Hamilton

Hình 4 th Hamilton G3, n a Hamilton G2 , và G1

Cho đ n nay vi c tìm m t tiêu chu n nh n bi t đ th Hamilton v n còn là m , m c dù đây là

m t v n đ trung tâm c a lý thuy t đ th H n th n a, cho đ n nay c ng ch a có thu t toán

hi u qu đ ki m tra m t đ th có là Hamilton hay không Các k t qu thu đ c ph n l n là

đi u ki n đ đ m t đ th là đ th Hamilton Ph n l n chúng đi u có d ng "n u G có s c nh

đ l n thì G là Hamilton" M t k t qu nh v y đ c phát bi u trong đ nh lý sau đây

Trang 33

li n sau đ nh v’ (k v i v) vì r ng khi đó có th thay dãy đ ng đi v p w v’ w’ v b i v v’ w w’ v b ng cách đ o ng c

đo n c a chu trình n m gi a w và v’ T đó suy ra là s đ nh c a đ th G’ không k

v i w là không nh h n s đ nh k v i v (t c là ít nh t c ng là b ng n/2+k), đ ng th i

s đ nh c a G’ k v i w ít ra là ph i b ng n/2+k Do không có đ nh nào c a G’ v a không k , l i v a k v i w, cho nên t ng s đ nh c a đ th G’ (G’ có n+k đ nh) không

ít h n n+2k Mâu thu n thu đ c đã ch ng minh đ nh lý

nh lý sau là t ng quát hoá c a đ nh lý Dirak cho đ th có h ng:

nh lý 4 Gi s G là đ có h ng liên thông v i n đ nh N u deg + (v)≥n/2, deg – (v) ≥ n/2,

v thì G là Hamilton

Có m t s d ng đ th mà ta có th bi t khi nào là đ th Hamilton M t ví d nh v y là đ

th đ u lo i th đ u lo i là đ th có h ng mà trong đó hai đ nh b t k c a nó đ c n i

v i nhau b i đúng m t cung Tên đ u lo i xu t hi n nh v y vì đ th nh v y có th dùng đ

bi u di n k t qu thi đ u bóng chuy n, bóng bàn hay b t c m t trò ch i nào mà không cho phép hoà Ta có đ nh lý sau:

Trang 34

Thu t toán li t kê t t c các chu trình Hamilton c a đ th:

Hình 6 th và cây li t kê chu trình Hamilton c a nó theo thu t toán quay lui

Trong tr ng h p đ th có không quá nhi u c nh thu t toán trên có th s d ng đ ki m tra

đ th có ph i là Hamilton hay không

Ngày đăng: 20/10/2016, 06:42

HÌNH ẢNH LIÊN QUAN

Hình 2.  S  đ  m ng  máy  tính  v i  đa kênh  tho i. - bài giảng lí thuyết đồ thị
Hình 2. S đ m ng máy tính v i đa kênh tho i (Trang 7)
Hình 4.  M ng máy  tính  v i  kênh tho i  m t chi u - bài giảng lí thuyết đồ thị
Hình 4. M ng máy tính v i kênh tho i m t chi u (Trang 8)
Hình 1.  ng  đi trên đ  th - bài giảng lí thuyết đồ thị
Hình 1. ng đi trên đ th (Trang 11)
Hình  1.  th vô h ng  G và   th  có h ng  G 1 - bài giảng lí thuyết đồ thị
nh 1. th vô h ng G và th có h ng G 1 (Trang 18)
Hình  2. Danh  sách k  c a đ  th  vô h ng  G và có h ng  G1 cho trong  hình  1 - bài giảng lí thuyết đồ thị
nh 2. Danh sách k c a đ th vô h ng G và có h ng G1 cho trong hình 1 (Trang 21)
Hình 1  th các đ nh  đ c gán th  t . - bài giảng lí thuyết đồ thị
Hình 1 th các đ nh đ c gán th t (Trang 25)
Hình  3.  Ch s   m i  (trong  ngo c)  c a  các  đ nh  đ c  đánh  l i  theo  th   t   chúng  đ c  th m  trong  thu t  toán tìm  ki m  theo chi u  sâu. - bài giảng lí thuyết đồ thị
nh 3. Ch s m i (trong ngo c) c a các đ nh đ c đánh l i theo th t chúng đ c th m trong thu t toán tìm ki m theo chi u sâu (Trang 26)
Hình 1.   th G 1 , G 2 , G 3 - bài giảng lí thuyết đồ thị
Hình 1. th G 1 , G 2 , G 3 (Trang 29)
Thí  d  5. Hình  6 d i đây mô t  cây tìm  ki m  theo thu t  toán v a mô t . - bài giảng lí thuyết đồ thị
h í d 5. Hình 6 d i đây mô t cây tìm ki m theo thu t toán v a mô t (Trang 34)
Hình 1.  Minh  h a thu t  toán Ford_Bellman - bài giảng lí thuyết đồ thị
Hình 1. Minh h a thu t toán Ford_Bellman (Trang 49)
Hình 2.  Minh  h a thu t  toán Dijkstra - bài giảng lí thuyết đồ thị
Hình 2. Minh h a thu t toán Dijkstra (Trang 51)
Hình  1. M ng G và lu ng  f.   th  có tr ng  s  Gf t ng  ng - bài giảng lí thuyết đồ thị
nh 1. M ng G và lu ng f. th có tr ng s Gf t ng ng (Trang 60)
Hình 2.  Ví d  t i t  đ i v i  thu t  toán Ford_Fulkerson. - bài giảng lí thuyết đồ thị
Hình 2. Ví d t i t đ i v i thu t toán Ford_Fulkerson (Trang 64)
Hình  6. M ng v i  kh  n ng  thông  qua b  ch n hai phía. - bài giảng lí thuyết đồ thị
nh 6. M ng v i kh n ng thông qua b ch n hai phía (Trang 68)

TỪ KHÓA LIÊN QUAN

w