LTDT PDF

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 339

L THUYT TH

TS. L Nht Duy


Blog: htps://Lnduy.wordpress.com
Email: Ln.duy@mail.ru
Ni dung chng trnh
Mc tiu mn hc
Cung cp cho sinh vin cc khi nim c bn ca l
thuyt th, th Euler, Hamilton, cy v cy khung b
nht ca th, bi ton ng i ngn nht v bi ton
lung cc i trong mng => Gip sinh vin c th s
dng m hnh l thuyt th m hnh ha vn bi
ton thc t mt cch hiu qu. Hc phn ny trang b
nhng kin thc ton nn tng phc v cho cc chuyn
ngnh thuc lnh vc CNTT.
Thi lng
L thuyt : 45 tit

2
Ni dung chng trnh

1. TH
2. CY
3. LOGIC MNH

3
Kim tra nh gi
Kim tra gia k
Tiu lun/bi tp ln theo nhm
Thi kt thc mn

4
Gio trnh v TLTK

Gio trnh
Kenneth H.Rosen, Ton ri rc - ng dng trong tin
hc, NXB Khoa hc k thut. H ni-1997. (Phm Vn
Thiu v ng Hu Thnh dch).
Ti liu tham kho
Slides bi ging ca ging vin.

5
Rules

6
L thuyt th

Chng 1: Cc khi nim c bn


Ni dung

I. nh ngha th

II. Cc loi th

III. Cc thut ng c bn trong th

IV. ng i, chu trnh

V. th lin thng

VI. Mt s dng th c bit

Chng 1 Cc khi nim c bn 2 L thuyt th


I. nh ngha th
Bi ton Euler

Konigsber
(1736)

C th ch mt ln i qua tt c 7 chic cu ny hay khng?

Chng 1 Cc khi nim c bn 3 L thuyt th


I. nh ngha th
Chuyn bi ton v dng th
Mi vng l 1 nh
Mi chic cu l 1 cnh

Chng 1 Cc khi nim c bn 4 L thuyt th


I. nh ngha th
th c xy dng t bi ton Euler
C th i qua tt c cc cnh ca th, sao cho
mi cnh ch i qua ng mt ln c khng?

Chng 1 Cc khi nim c bn 5 L thuyt th


I. nh ngha th
nh ngha
th G l mt tp hp gm cc nh v cc cnh. Ta
thng k hiu: G = (V, E), trong :

+ V: L tp cc nh
+ E: L tp cc cnh

V={1, 2, 3, 4}
E={a, b, c, d, e}

Chng 1 Cc khi nim c bn 6 L thuyt th


Ni dung

I. nh ngha th

II. Cc loi th

III. Cc thut ng c bn trong th

IV. ng i, chu trnh

V. th lin thng

VI. Mt s dng th c bit

Chng 1 Cc khi nim c bn 7 L thuyt th


II. Cc loi th
th

th v hng

n th a th Gi th

th c hng

n th a th

Chng 1 Cc khi nim c bn 8 L thuyt th


II. Cc loi th
n th v hung
th G=(V, E) c gi l n th v hng:
V: L tp cc nh
E: l tp cc cp khng c th t gm hai phn t khc nhau
ca V.

V={1, 2, 3, 4, 5}
E={(1, 2), (1, 3), (1, 5), (2, 5), (3, 4), (3, 5), (4, 5)}
Chng 1 Cc khi nim c bn 9 L thuyt th
II. Cc loi th
a th v hung
th G=(V, E) c gi l a th v hng:
V: L tp cc nh
E: L h cc cp khng c th t gm hai phn t khc nhau
ca V.
Hai cnh e1, e2 gi l cnh lp nu chng cng tng ng vi
mt cp nh

V={1, 2, 3, 4, 5}
E={(1, 2), (1, 3), (1, 5), (2, 5), (3, 4), (3, 5), (4, 5), (1, 2), (2, 1), (5, 2), (3, 5) }
Chng 1 Cc khi nim c bn 10 L thuyt th
II. Cc loi th
Gi th v hung
th G=(V, E) c gi l gi th v hng:
V: L tp cc nh
E: L h cc cp khng c th t gm hai phn t khng nht
thit khc nhau ca V.
Cnh e c gi l khuyn nu n c dng: e=(u, u)

V={1, 2, 3, 4, 5}
E={(1, 2), (1, 3), (1, 5), (2, 5), (3, 4), (3, 5), (4, 5), (1, 2), (2, 1), (5, 2), (3, 5), (2, 2), (3, 3) }

Chng 1 Cc khi nim c bn 11 L thuyt th


II. Cc loi th
n th c hng
th G=(V, E) c gi l n th c hng:
V: L tp cc nh
E: L tp cc cp c th t gm hai phn t khc nhau ca V.
(tp cc cung)

V={1, 2, 3, 4, 5}
E={(2, 1), (1, 3), (5, 1), (4, 2), (3, 4), (3, 5), (5, 4)}
Chng 1 Cc khi nim c bn 12 L thuyt th
II. Cc loi th
a th c hng
th G=(V, E) c gi l n th c hng:
V: L tp cc nh
E: L h cc cp c th t gm hai phn t khc nhau ca V.
(tp cc cung)
Hai cung e1, e2 c gi l cung lp nu chng cng tng
ng vi mt cp nh.

V={1, 2, 3, 4, 5}
E={(2, 1), (1, 3), (6, 2), (3, 4), (6, 3), (4, 6), (5, 4), (5, 6), (3,1), (6,2)}
Chng 1 Cc khi nim c bn 13 L thuyt th
II. Cc loi th
th
Khng c th t
th v hng
Khng cnh lp, khng khuyn
n th
C cnh lp, khng khuyn
a th
C cnh lp, C khuyn
Gi th

C th t
th c hng

Khng cung lp, khng khuyn


n th

C cung lp, khng khuyn


a th

Chng 1 Cc khi nim c bn 14 L thuyt th


Ni dung

I. nh ngha th

II. Cc loi th

III. Cc thut ng c bn trong th

IV. ng i, chu trnh

V. th lin thng

VI. Mt s dng th c bit

Chng 1 Cc khi nim c bn 15 L thuyt th


III. Cc thut ng c bn
K v lin thuc
Gi s u v v l hai nh ca th v hng G v
e=(u, v) l cnh ca th, khi ta ni:
+ u v v k nhau v e lin thuc vi u v v.
+ u v v l cc nh u ca cnh e

v
e

Chng 1 Cc khi nim c bn 16 L thuyt th


III. Cc thut ng c bn
Bc ca nh
Bc ca nh v trong th v hng l s cnh lin
thuc vi n.
K hiu: deg(v)

deg(1)= 2, deg(2)= 2,
deg(3)= 3, deg(4)= 3,
deg(5)= 3, deg(6)= 1,
deg(7)= 0.

nh treo l nh ch c duy nht mt cnh lin thuc


vi n. nh 6
nh c lp l nh khng c cnh no lin thuc vi
n. nh 7

Chng 1 Cc khi nim c bn 17 L thuyt th


III. Cc thut ng c bn
nh l bt tay
Gi s G=(V,E) l th v hng vi m cnh. Khi
tng tt c cc bc ca nh trong V bng 2m.
deg( v ) = 2 m
v V

m=7
deg( v) = 2m = 14
vV

Chng 1 Cc khi nim c bn 18 L thuyt th


III. Cc thut ng c bn
nh l bt tay
Chng minh?

Mi mt cnh ni vi ng hai nh, v th mt cnh


ng gp 2 n v vo tng cc bc ca tt c cc
nh.
tng cc bc ca tt c cc nh gp i s cnh
ca th

Chng 1 Cc khi nim c bn 19 L thuyt th


III. Cc thut ng c bn
H qu ca nh l bt tay
Trong th v hng, s nh bc l l mt s chn.

Cc nh bc l: 3, 5, 4, 6 4 nh

Chng 1 Cc khi nim c bn 20 L thuyt th


III. Cc thut ng c bn
H qu ca nh l bt tay
Trong th v hng, s nh bc l l mt s chn.
Chng minh:?
Gi L v C ln lt l tp cc nh bc l v bc chn
ca th v hng G= (V, E). Ta c:
2m = deg(v) = deg(v) + deg(v)
vV vL vC

+ Tng 2m chn
+ Tng deg(v) chn
vC

Tng deg(v)
vL
chn

Chng 1 Cc khi nim c bn 21 L thuyt th


III. Cc thut ng c bn
K trong th c hng
Gi s u v v l hai nh ca th c hng G v e=(u, v)
l mt cung ca th, khi ta ni:
+ u v v k nhau, cung e i ra khi u v i vo v.
+ u l nh u, v l nh cui ca cnh e.

v
e

Chng 1 Cc khi nim c bn 22 L thuyt th


III. Cc thut ng c bn
Bn bc vo v bn bc ra ca nh
Bn bc ra (bn bc vo) ca nh v trong th c hng
l s cung ra khi n (i vo n).
+
K hiu: deg (v ) ( deg (v) )

deg + (2) = 1, deg (2) = 2


deg + (6) = 2, deg (6) = 1

Chng 1 Cc khi nim c bn 23 L thuyt th


III. Cc thut ng c bn
nh l
Gi s G=(V,E) l th c hng vi m cung, khi
tng tt c cc bn bc ra bng tng tt c cc bn
bc vo v bng m.
deg
vV
+
(v ) = deg
vV

(v ) = m

deg
vV
+
( v ) = (v ) = 7
deg
vV

Chng 1 Cc khi nim c bn 24 L thuyt th


III. Cc thut ng c bn
Bi tp
1. C bao nhiu cnh trong th c 10 nh, mi nh
c bc bng 6
a) 20 b) 30 c) 40 d)50

2. Cho bit cc nh ca th c bc ln lt l: 4, 3, 3,
2, 2. S cnh ca th ny l:
a) 5 b) 6 c) 7 d) 8

3. Cho danh sch bc cc nh ca cc th sau, th


no khng tn ti?
a) 3, 3, 3, 3, 2 b) 1, 2, 3, 4, 5
c) 0, 1, 2, 2, 3 d) 1, 1, 1, 1
Chng 1 Cc khi nim c bn 25 L thuyt th
III. Cc thut ng c bn
Bi tp
4. C th tn ti th n 15 nh, mi nh c bc
bng 5 hay khng?
5. Trong mt gii thi u c n i tham d v c n+1
trn u c tin hnh. CMR c 1 i thi u t
nht 3 trn.

Chng 1 Cc khi nim c bn 26 L thuyt th


Ni dung

I. nh ngha th

II. Cc loi th

III. Cc thut ng c bn trong th

IV. ng i, chu trnh

V. th lin thng

VI. Mt s dng th c bit

Chng 1 Cc khi nim c bn 27 L thuyt th


IV. ng i, chu trnh
ng i di n t nh u n nh v trn th v
hng G=(V,E) l dy(theo nh): x0, x1, , xn-1, xn.
Trong :
+ u= x0
+ v= xn
+ (xi, xi+1) E
Hay theo cnh: (x0, x1), (x1, x2), , (xn-1, xn).
Khi : u gi l nh u, v gi l nh cui ca ng
i.

Theo nh: (1, 3, 4, 5, 6)


Theo cnh: (b, c, h, g)

Chng 1 Cc khi nim c bn 28 L thuyt th


IV. ng i, chu trnh
ng i c nh u v nh cui trng nhau gi l
chu trnh.
ng i (hay chu trnh) c gi l n nu n khng i qua mt
cnh no qu mt ln.

Chu trnh n: (1, 2, 6, 3, 1)


Chu trnh khng phi chu trnh n: (2, 6, 4, 3, 6, 2)

Chng 1 Cc khi nim c bn 29 L thuyt th


IV. ng i, chu trnh
ng i v chu trnh trong th c hng
ng i di n (nN+) t nh u n nh v trn th c hng
G=(V,E) l dy:
x0 , x1, ..., xn-1, xn .
Trong u= x0 , v= xn , (xi , xi+1) E
Hay theo cc cung: (x0 , x1 ), (x1, x2 ), ..., (xn-1, xn ).

a 2 4
1 c
g (1, 2, 6, 4, 3)
b f (a, c, f, d)
d 5
(1, 3, 4, 5, 6)
3 h
e 30
6
Chng 1 Cc khi nim c bn 30
L thuyt th
Ni dung

I. nh ngha th

II. Cc loi th

III. Cc thut ng c bn trong th

IV. ng i, chu trnh

V. th lin thng

VI. Mt s dng th c bit

Chng 1 Cc khi nim c bn 31 L thuyt th


V. th lin thng
th v hng G=(V,E) c gi l lin thng nu
lun tm c ng i gia 2 nh bt k ca n.

ng i: 1, 3, 2, 4, 5

Chng 1 Cc khi nim c bn 32


V. th lin thng
th H=(W,F) c gi l th con ca th G=(V,E)
nu : W V v F E

V={1, 2, 3, 4, 5} W={1, 2, 4, 5}
E={a, b, c, d, e} F={a, d, e}

Chng 1 Cc khi nim c bn 33


VI. Mt s dng th c bit
Bi tp
1. th K3 c bao nhiu th con c t nht mt nh ?

Chng 1 Cc khi nim c bn 34 L thuyt th


V. th lin thng
Mt th khng lin thng s c phn r thnh cc
thnh phn lin thng, v mi thnh phn lin thng ny
l mt th con ca th ban u.

Chng 1 Cc khi nim c bn 35


V. th lin thng
nh v c gi l nh r nhnh nu vic loi b v cng
cc cnh lin thuc vi n s lm tng s thnh phn lin
thng ca th
Cnh e c gi l cu nu vic loi b n s lm tng s
thnh phn lin thng ca th

2 Cc nh r nhnh?
1
Cc cnh l cu ?
G 5
3
4

Chng 1 Cc khi nim c bn 36


V. th lin thng
th c hng G=(V,E) c gi l lin thng mnh
nu lun tm c ng i t 1 nh bt k n mt
nh bt k khc ca n.
th c hng G=(V,E) c gi l lin thng yu
nu th v hng tng ng vi n l th v
hng lin thng.
1
1 2

G 2
5 H 5
3
3 4
4
Chng 1 Cc khi nim c bn 37
V. th lin thng
Bi tp
1. Trong 1 th G c cha ng 2 nh bc l (cc
nh cn li nu c u bc chn). CM c 1
ng i ni 2 nh bc l vi nhau.

Chng 1 Cc khi nim c bn 38


Ni dung

I. nh ngha th

II. Cc loi th

III. Cc thut ng c bn trong th

IV. ng i, chu trnh

V. th lin thng

VI. Mt s dng th c bit

Chng 1 Cc khi nim c bn 39 L thuyt th


VI. Mt s dng th c bit
th y : Mt th n v hng n nh
c gi l th y nu hai nh bt k u
c ni vi nhau bng 1 cnh.
K hiu: Kn

S cnh ca
th y ?

Chng 1 Cc khi nim c bn 40 L thuyt th


VI. Mt s dng th c bit
th vng: Mt th n v hng n nh
c gi l th vng nu n c duy nht mt
chu trnh n i qua tt c cc nh.
K hiu: Cn

S cnh, s nh ca
th vng ?

Chng 1 Cc khi nim c bn 41 L thuyt th


VI. Mt s dng th c bit
th bnh xe vi n 3 nh l th thu c
t th Cn bng cch b xung thm mt nh
mi ni vi tt c cc nh ca Cn.
K hiu: Wn

S cnh, s nh ca
th bnh xe ?

Chng 1 Cc khi nim c bn 42 L thuyt th


VI. Mt s dng th c bit
th siu khi
th siu khi k=2n nh l th c cc nh
c nh s bng cc chui nh phn di n.
K hiu: Qn
Hai nh k nhau nu 2 chui nh phn tng ng
ch khc nhau 1 bit.

S cnh ca
th siu khi l: n.2n - 1

Chng 1 Cc khi nim c bn 43 L thuyt th


VI. Mt s dng th c bit
th hai pha
n th G=(V, E) gi l th hai pha nu:
- V = X Y, X , Y , X Y =
- Mi cnh ca G s c mt nh thuc X v mt
nh thuc Y.

Chng 1 Cc khi nim c bn 44 L thuyt th


VI. Mt s dng th c bit
th hai pha y
n th G = (X Y, E ) c gi l th hai pha y
nu: Mi nh thuc X s c ni vi mi nh thuc Y. Nu
|X| = m v |Y| = n th ta s k hiu l: Km, n

S cnh ca th
hai pha y ?

Chng 1 Cc khi nim c bn 45 L thuyt th


VI. Mt s dng th c bit
nh l:
n th G = (V, E) l th hai pha khi v ch khi
n khng cha chu trnh di l.

Chng minh:
th hai pha
Khng cha chu trnh di l
th, khng cha chu trnh di l
hai pha

Chng 1 Cc khi nim c bn 46 L thuyt th


VI. Mt s dng th c bit
Thut ton kim tra th hai pha

1. Chn v l nh bt k. t X = {v}
2. Y = { u | u k vi v, v X}
3. Nu X Y G khng l th hai pha
4. Ngc li, t X := Y Quay tr li 2.
5. Nu tt c cc nh c xt ht m khng xy ra 3.
th G l th hai pha. Ngc li G khng l th
hai pha.

Chng 1 Cc khi nim c bn 47 L thuyt th


VI. Mt s dng th c bit
V d:
X= {1}
Y= {5}, X Y = , X:=Y
Y= {1, 2}, X Y = , X:=Y
Y= {5, 6, 7}, X Y = , X:=Y
Y = {1, 2, 3, 4}
DNG
Khi th l hai pha:
X={1, 2, 3, 4}
Y={5, 6, 7}

Chng 1 Cc khi nim c bn 48 L thuyt th


VI. Mt s dng th c bit
Bi tp:
Kim tra th sau c phi l th hai pha hay khng?

Chng 1 Cc khi nim c bn 49 L thuyt th


VI. Mt s dng th c bit
Bi tp:
Khng phi l th hai pha

Chu trnh
di l

Chng 1 Cc khi nim c bn 50 L thuyt th


VI. Mt s dng th c bit
th phng
th c gi l th phng nu ta c th v
n trn mt mt phng m cc cnh khng giao
nhau.

Chng 1 Cc khi nim c bn 51 L thuyt th


VI. Mt s dng th c bit
nh l Euler
Gi s G = (V, E) l th phng, lin thng vi e cnh v v
nh. Gi f l s mt ca th. Khi : f = e v + 2.

S cnh: e = 4
S nh: v = 4
S mt: f = 4 4 + 2 = 2

Chng 1 Cc khi nim c bn 52 L thuyt th


VI. Mt s dng th c bit
nh l Euler
Chng minh: Bng PP Quy np
Gi fn, en, vn ln lt l s mt, s cnh, s nh ca th
phng Gn do biu din phng ca th G vi n cnh sinh ra
+ Trng hp: e1=1, v1=2 th f1 = 1 2 + 2 = 1

+ Gi s th Gn (n cnh) tha ng thc: fn = en vn + 2.


Thm vo th Gn mt cnh (an+1, bn+1) c th Gn+1.
Ta phi chng minh: fn+1=en+1 vn+1 + 2
Xy ra hai trng hp

Chng 1 Cc khi nim c bn 53 L thuyt th


VI. Mt s dng th c bit
nh l Euler (Chng minh)
+ C 2 nh an+1, bn+1 thuc Gn:
fn+1= fn +1
en+1=en+ 1
vn+1=vn

==> fn+1 = en+1 vn+1 + 2


fn + 1 = en + 1 vn + 2
fn = en vn + 2

Chng 1 Cc khi nim c bn 54 L thuyt th


VI. Mt s dng th c bit
nh l Euler (Chng minh)
+ C 2 nh an+1, bn+1 thuc
Gn:
fn+1= fn
en+1=en+ 1
vn+1=vn + 1

fn+1 = en+1 vn+1 + 2


fn = en + 1 vn + 1 + 2
fn = en vn + 2

PCM

Chng 1 Cc khi nim c bn 55 L thuyt th


VI. Mt s dng th c bit
nh l Kuratowski
Php chia cnh (u, v) l vic ta b i cnh (u, v) v thm vo
mt nh mi w cng vi hai cnh (u, w), (w, v).

nh ngha ng cu
Hai th c gi l ng cu nu chng c th thu c t
cng mt th no nh cc php chia cnh.

Chng 1 Cc khi nim c bn 56 L thuyt th


VI. Mt s dng th c bit
nh l Kuratovski
iu kin cn v mt th l phng l th ny khng
cha bt k mt th con no ng cu vi K3,3 v K5

Chng 1 Cc khi nim c bn 57 L thuyt th


VI. Mt s dng th c bit
Cc dng th c bit

th y (Kn)

th vng (Cn)

th bnh xe (Wn)

th siu khi (Qn)

th hai pha

th hai pha y (Km,n)

th phng

Chng 1 Cc khi nim c bn 58 L thuyt th


VI. Mt s dng th c bit
Bi tp
1. S cnh ca th K8 ?
2. S cnh ca th C2007 ?
3. S cnh ca th W100 ?
4. Cho th G phng, lin thng c 20 nh, bc ca mi nh
bng 3. th biu din phng ca G c bao nhiu mt?
5. Cho th phn i p nh v q cnh. CM:
q p2/4. Du = xy ra khi no?
6. Cho th G c n nh, m cnh vi m n. Chng minh G c
mt chu trnh.
7. C bao nhiu th n gm 5 nh v c 4 hoc 6 cnh ?

Chng 1 Cc khi nim c bn 59 L thuyt th


Chng 2: Biu din th
Ni dung

I. Cc cch biu din th

II. S ng cu ca cc th

III. Hng dn ci t

Chng 2 Biu din th 2 L thuyt th


I. Cc cch biu din th

Cc cch biu din th

Ma trn k Danh sch cnh Danh sch k Ma trn lin thuc

Ma trn trng s Danh sch cung

Chng 2 Biu din th 3 L thuyt th


I.1. Ma trn k (n th v hng)
nh ngha
n th G = (V,E) vi tp nh V = {0,,n-1}, tp
cnh E = {e0,e1,em-1}. Ta gi ma trn k ca G l
A = {ai,j , i,j = 0,,n-1}, vi:
0 , if ( i , j ) E
ai, j =
1, if ( i , j ) E

0 1 2 3 4
0 0 1 1 0 1
1 1 0 1 0 1
2 1 1 0 0 0
3 0 0 0 0 0
4 1 1 0 0 0

Chng 2 Biu din th 4


I.1. Ma trn k (n th c hng)
nh ngha
Ging n th c hng
E l tp cc cung

0 , if ( i , j ) E
ai, j =
1, if ( i , j ) E

0 1 2 3 4
0 0 0 1 0 1
1 1 0 0 0 0
2 0 1 0 1 0
3 0 0 0 0 1
4 0 1 0 0 0

Chng 2 Biu din th 5


I.1. Ma trn k (a th)
nh ngha
E l tp cc cnh/cung
Ai,j l s cnh ni nh i v nh j

0 1 2 3 4 5
0 0 1 1 0 1 0
1 1 0 1 0 1 0
2 1 1 0 2 0 0
3 0 0 2 0 1 1
4 1 1 0 1 0 1
5 0 0 0 1 1 1

Chng 2 Biu din th 6


I.1. Ma trn k (a th)
Mt s tnh cht ca ma trn k
Ma trn k ca th v hng l i xng
a[i,j] = a[j,i]. Ngc li, ma trn i xng (0,1), c
ng cho chnh bng 0, bc n s tng ng vi
n th v hng n nh.
Nu th v hng:
Tng dng th i = Tng ct th i = deg(i)
Nu th c hng:
Tng dng i = deg+(i), Tng ct i = deg -(i)

u im v hn ch
ca ma trn k?

Chng 2 Biu din th 7


I.2. Ma trn trng s (n th)
nh ngha
n th G = (V,E) vi tp nh V = {0,,n-1}, tp
cnh E = {e0,e1,em-1}.
Ta gi ma trn k trng s ca G l
A = {ai,j , i,j = 0,,n-1}, vi:

b , if ( i , j ) E Ck l mt gi tr no c
a i, j = quy nh trc (0, -1, , -, ..)
c k , if ( i , j ) E
0 1 2 3 4 5
0 0 4 3 0 7 0
1 4 0 5 0 3 0
2 3 5 0 2 0 0
3 0 0 2 0 5 2
4 7 3 0 5 0 3
5 0 0 0 2 3 0

Chng 2 Biu din th 8


I.3. Danh sch cnh
i vi cc th tha n nh, m cnh (m < 6n) ngi
ta thng dng cch biu din danh sch cnh tit
kim khng gian lu tr
Lu cc cnh e=(u, v) ca th trong mt danh sch
Danh sch c th c ci t bng mng 1 chiu hoc
danh sch lin kt.
Cnh u 1 u 2
0 0 2
1 0 1
2 0 4
3 1 2
4 1 4
5 2 3
6 3 4
7 3 5
8 4 5
Chng 2 Biu din th 9
I.3. Danh sch cnh

Ci t bng mng 1 chiu

Cnh u u 2
1
0 0 2
1 0 1
Ci t bng danh sch lin kt
2 0 4
3 1 2
4 1 4
5 2 3
typde struct tagNode 6 3 4
{ 7 3 5
8 4 5
int diemdau1, diemdau2;
} Canh;

Chng 2 Biu din th 10


I.4. Danh sch cung
Trong trng hp th c hng th mi phn t ca
danh sch (gi l danh sch cung) l mt cung e=(u, v).
Trong u l nh u, v l nh cui ca cung.

Cnh u 1 u 2

(1,2) 1 2
(4,1) 4 1
(1,3) 1 3
(2,4) 2 4
(3,4) 3 4

Chng 2 Biu din th 11


I.4. Danh sch k
Tng ng vi mi nh v ca th, ta c tng ng
mt danh sch lu cc nh k vi n.
Danh sch: mng 1 chiu, hoc danh sch lin kt
nh V Cc cnh k
0 1, 2, 4
1 0, 2, 4
2 0, 1, 3
3 2, 4, 5
4 0, 1, 3, 5
5 3, 4

Ci t bng mng:
Ke[] = {1, 2, 4, 0, 2, 4, 0, 1, 3, 2, 4, 5, 0, 1, 3, 5, 3, 4 }
ViTri[] = {0, 3, 6, 9, 12, 16}
Chng 2 Biu din th 12
I.4. Danh sch k
Ci t bng danh sch k lin kt

nh V Cc cnh k

0 1, 2, 4
1 0, 2, 4
2 0, 1, 3
3 2, 4, 5
4 0, 1, 3, 5
5 3, 4

Chng 2 Biu din th 13


I.4. Danh sch k
Thut ton xy dng danh sch k lin kt

# include <iostream.h>
# include <stdlib.h>
const maxV = 99;
typedef struct Node {
int v;
struct Node*next;
}node;
int j, x, y, m, n, v ;
node *p, *ke[maxV];

Chng 2 Biu din th 14


I.4. Danh sch k
Thut ton xy dng danh sch k lin kt
int main(int argc, char* argv[])
{
cout<<"Cho so canh va so dinh cua do thi: ";
cin>>m>>n;
for(j=0;j<n;j++)
ke[j]=NULL;
for(j=1;j<=m;j++)
{
cout<<"Cho dinh dau, dinh cuoi cua canh "<<j<<":";
cin>>x>>y;
p = (node*)malloc(sizeof(node));
p->v = x;
p->next = ke[y];
ke[y]=p;
p = (node*)malloc(sizeof(node));
p->v = y;
p->next = ke[x];
ke[x]=p;
}
}

Chng 2 Biu din th 15


I.4. Danh sch k
V d

nh V Cc cnh k

0 1, 2, 4
1 0, 2, 4
2 0, 1, 3
3 2, 4, 5
4 0, 1, 3, 5
5 3, 4

Chng 2 Biu din th 16


I.5. Ma trn lin thuc ( th v hng)
nh ngha
th v hng G=(V, E). Tp nh V={0, 1, 2, , n-
1)}. Tp cnh E={e1, e2, , em-1 }. Ta gi ma trn lin
thuc ca G l B = {bi, j, i = 0,..,n-1, j = 0, .. m-1}. Trong

bi,j = 1 nu nh i k cnh j
bi, j = 0 nu nh i khng k cnh j

0 1 2 3 4 5 6 7 8

0 1 0 0 0 0 1 1 0 0
1 0 0 0 0 1 1 0 1 0
2 1 1 0 1 0 0 0 1 0
3 0 1 1 0 0 0 0 0 1
4 0 0 1 0 1 0 1 0 1

Chng 2 Biu din th 17


I.5. Ma trn lin thuc ( th v hng)
Tnh cht
Mi ct cha ng hai s 1 ch hai u ca cnh tng ng vi
nh ng vi ct . Ct ng vi khuyn cha ng mt s 1.
Cc ct ng vi cc cnh lp th ging nhau.
Nu th khng c khuyn th tng hng i l bc ca nh .

0 1 2 3 4 5 6 7 8

0 1 0 0 0 0 1 1 0 0
1 0 0 0 0 1 1 0 1 0
2 1 1 0 1 0 0 0 1 0
3 0 1 1 0 0 0 0 0 1
4 0 0 1 0 1 0 1 0 1

Chng 2 Biu din th 18


I.5. Ma trn lin thuc ( th c hng)
nh ngha
n th c hng G=(V, E). Tp nh V={0, 1, 2, , n-1)}. Tp cung
E={e1, e2, , em-1 }.
Ta gi ma trn lin thuc ca G l B = {bi, j, i = 0,..,n-1, j = 0, .. m-1}.
Trong
bi,j = 1 nu nh i l nh u ca cung j
bi,j = -1 nu nh i l nh cui ca cung j
bi, j = 0 nu nh i khng l u mt ca cung j

(1,2) (4,1) (1,3) (3,4) (2,4)

1 1 -1 1 0 0
2 -1 0 0 0 1
3 0 0 -1 1 0
4 0 1 0 -1 -1

Chng 2 Biu din th 19


I. Cc cch biu din th

) n2 n v b nh
) D kim tra /k k nhau

Cc cch biu din th ) 2m n v b nh


) th tha
Ma trn k ) Kh kim tra /k k nhau

Danh sch cnh


) 2m+n n v b nh
Danh sch k ) D dng vic thm bt cc
cnh, nh
Ma trn lin thuc

) m*n n v b nh
) D dng vic thm bt cc
cnh, nh
20
Chng 2 Biu din th 20
Ni dung

I. Cc cch biu din th

II. S ng cu ca cc th

III. Hng dn ci t

Chng 2 Biu din th 21 L thuyt th


II. S ng cu ca cc th
nh ngha
Cc th n G1 = (V1,E1) v G2 = (V2, E2) l ng
cu nu c hm song nh :
f : V1 V2 sao cho nh a & b k trong G1 f(a) &
f(b) k trong G2.
Tn ti mt php tng ng mt mt gia cc
nh ca hai th ng thi m bo quan h lin
k.

f(1) = a, f(2) = b
f(3) = d, f(4) = b

Chng 2 Biu din th 22


II. S ng cu ca cc th
Tnh bt bin
Hai th ng cu bt k c tnh cht ging nhau (s
nh, s cnh, bc ca mt nh,). Ngi ta gi
l tnh bt bin trong cc th ng cu.

Chng 2 Biu din th 23


II. S ng cu ca cc th
Chng minh 2 th l ng cu
Tm mt nh x f tng ng mt mt gia cc nh
So snh 2 ma trn lin k to ra da trn nh x f

Chng 2 Biu din th 24


Ni dung

I. Cc cch biu din th

II. S ng cu ca cc th

III. Hng dn ci t

Chng 2 Biu din th 25 L thuyt th


III. Hng dn ci t

Khai bo file
Kt ni bin file vi tn thc ca file trn a (floppy
or hard disk)
M file, ng file
c thng tin t file v ghi thng tin vo file
hiu tt danh sch k lin kt cn tham kho phn
bin con tr trong cc ti liu v lp trnh.

Chng 2 Biu din th 26


Chng 3: Tm kim trn th
Ni dung

I. Duyt th theo chiu su

II. Duyt th theo chiu rng

III. Tm ng i

IV. Kim tra tnh lin thng

Chng 3 Tm kim trn th 2 L thuyt th


I. Duyt th theo chiu su
Gii thiu
Duyt th l qu trnh i qua tt c cc nh ca
th sao cho mi nh ca n c ving thm ng
mt ln.
Duyt theo chiu su (Depth First Search DFS)
Duyt theo chiu rng (Breadth First Search BFS)

Chng 3 Tm kim trn th 3


I. Duyt th theo chiu su
Nguyn l
Bt u tm kim t mt nh v no ca th.
Sau chn u l mt nh ty k vi v (vi th c
hng th u l nh sau, v l nh u ca cung uv)
Lp li qu trnh ny vi u cho n khi khng tm c
nh k tip theo na th tr v nh ngay trc nh m
khng th i tip tm qua nhnh khc.

Chng 3 Tm kim trn th 4


I. Duyt th theo chiu su

Th t duyt:
dcba
gkl
h
fm
e
Chng 3 Tm kim trn th 5
I.1. Ci t quy
B1: Ly s l mt nh ca th
B2: t v = s
B3: Duyt nh v
B4: Nu nh k ca v u c
duyt, t v=nh c duyt
trc nh v, Nu v = s th i n
Bc 6, ngc li tr li Bc 3.
B5: Chn u l nh k cha c
duyt ca v, t v = u, tr li Bc
3
B6: Kt thc

Chng 3 Tm kim trn th 6


I.1. Ci t quy
Ci t bng m gi

/* Khai bo cc bin ChuaXet, Ke */


DFS(v)
{
Duyt nh (v);
ChuaXet[v] = 0; /*nh du xt nh v*/
for ( u Ke(v) )
if ( ChuaXet[u] ) DFS(u);
};
void main()
{
/* Nhp th, to mng Ke */
for (v V) ChuaXet[v] = 1; /* Khi to c cho nh */
for (v V)
if ( ChuaXet[v] ) DFS(v);
}

Chng 3 Tm kim trn th 7


I.2. Ci t khng quy
Thut ton
B1: Ly s l mt nh ca th
B2: t s vo STACK
B3: Nu STACK rng i n 7.
B4: Ly nh p t STACK
B5: Duyt nh p
B6: t cc nh k ca p cha
c xt (cha tng c mt
trong STACK) vo STACK, tr
li 3.
B7: Kt thc.

Chng 3 Tm kim trn th 8


I.Duyt th theo chiu su
ngha
Kim tra ng i gia 2 nh
Chia th thnh cc thnh phn lin thng
Xy dng cy khung ca th
Kim tra xem th c chu trnh hay khng

Chng 3 Tm kim trn th 9


Ni dung

I. Duyt th theo chiu su

II. Duyt th theo chiu rng

III. Tm ng i

IV. Kim tra tnh lin thng

Chng 3 Tm kim trn th 10 L thuyt th


II. Duyt th theo chiu rng
Nguyn l
Bt u t mt nh v bt k.
Duyt tt c nhng nh k ca v lu vo mt tp
T(u) (vi th c hng th T(u) l tp cc nh u vi
u l nh sau, v l nh u ca cung uv).
Sau tip tc xt cc nh u thuc T(u) v p dng
li cch duyt ging nh vi v.

Chng 3 Tm kim trn th 11


II. Duyt th theo chiu rng

Th t duyt:
d
e c
b f
a g m
h k
l

Chng 3 Tm kim trn th 12


II.1. Ci t bng hng i

B1: Ly s l mt nh ca th
B2: t s vo QUEUE
B3: Lp nu QUEUE cha rng.
a.Ly nh p t QUEUE
b.Duyt nh p
c.t cc nh k ca p cha c
xt (cha tng c mt trong
QUEUE) vo QUEUE.
d.Kt thc lp

Chng 3 Tm kim trn th 13


II.1. Ci t bng hng i
/* Khai bo cc bin ChuaXet, Ke */
BFS(v)
{
QUEUE = ;
QUEUE v;
ChuaXet[v] = 0;/*nh du xt nh v*/
while ( QUEUE )
{
p QUEUE;
Duyt nh p;
for ( u Ke(p) )
if ( ChuaXet[u] )
{
QUEUE u;
ChuaXet[u] = 0;/*nh du xt nh */
}
}
}
void main()
/* Nhp th, to bin Ke */
{
for ( v V ) ChuaXet[v] = 1; /* Khi to c cho nh */
for ( v V )
if ( ChuaXet[v] ) BFS(v);
}

Chng 3 Tm kim trn th 14


II.2. Ci t bng thut ton loang

Chng 3 Tm kim trn th 15


II.2. Ci t bng thut ton loang

Bc 1: Khi to
Bt u t nh s. nh du nh s, cc nh khc s u cha b
nh du
X = {s}, Y =
Bc 2: Lp li cho n khi X=
Gn Y= .
Vi mi nh u X
Xt tt c cc nh v k vi u m cha b nh du. Vi mi nh
:
nh du v
Lu ng i, nh lin trc v trong ng i t s v l u.
a v vo tp Y
Gn X = Y

Chng 3 Tm kim trn th 16


II. Duyt th theo chiu rng
ngha
Kim tra ng i gia 2 nh
Chia th thnh cc thnh phn lin thng
Xy dng cy khung ca th
Tm ng i ngn nht t 1 nh n cc nh cn
li

Chng 3 Tm kim trn th 17


Ni dung

I. Duyt th theo chiu su

II. Duyt th theo chiu rng

III. Tm ng i

IV. Kim tra tnh lin thng

Chng 3 Tm kim trn th 18 L thuyt th


III. Tm ng i
Bi ton
Cho th G, s v t l hai nh ty ca th. Hy
tm ng i t s n t.
Phng php
Bt u t nh s, S dng DFS hoc BFS duyt
th.
Tm thy ChuaXet(t) = 0
Khng tm thy ChuaXet(t) = 1
S dng thm mng Truoc[] lu vt

Chng 3 Tm kim trn th 19


III.1. Tm ng i theo chiu su
/* Khai bo cc bin ChuaXet, Ke */
DFS(v);
{
Duyt nh (v);
ChuaXet[v] = 0;
for ( u Ke(v) )
if ( ChuaXet[u] )
{
Truoc[u] = v; /* Lu vt*/
DFS(u);
}
}
main() // Nhp th, to bin Ke
{
for ( v V ) ChuaXet[v] = 1; // Khi to c cho nh
DFS(s);
}

Chng 3 Tm kim trn th 20


III.2. Tm ng i theo chiu rng
/* Khai bo cc bin ChuaXet, Ke , QUEUE */
BFS(v);
{
QUEUE = ; QUEUE v; ChuaXet[v] = 0;
while ( QUEUE )
{
p QUEUE;
Duyt nh p;
for ( u Ke(p) )
if ( ChuaXet[u] )
{
QUEUE u;
ChuaXet[u] = 0;
Truoc[u] = p;/*Lu vt*/
}
}
}
main() // Nhp th, to bin Ke
{
for ( v V ) ChuaXet[v] = 1; // Khi to c cho nh
BFS(s);
}

Chng 3 Tm kim trn th 21


III.2. Tm ng i theo chiu rng
Khi phc ng i t s n t
s x1 x2 xn t

Ci t:
v = t;
while (v != s)
{
printf (v);
v = Truoc[v];
}

Chng 3 Tm kim trn th 22


Ni dung

I. Duyt th theo chiu su

II. Duyt th theo chiu rng

III. Tm ng i

IV. Kim tra tnh lin thng

Chng 3 Tm kim trn th 23 L thuyt th


IV. Kim tra tnh lin thng
Bi ton
Tnh s thnh phn lin thng ca th, v xc nh
nhng nh thuc cng mt thnh phn lin thng.
Phng php
S dng DFS v BFS
Bin inconnect m s thnh phn lin thng ca
th.
Mng index[] lu ch s ca cc thnh phn lin
thng.

Chng 3 Tm kim trn th 24


IV.1. Tm theo chiu su
/* Khai bo cc bin ChuaXet, Ke, index*/
DFS(v);
{
Duyt nh (v);
index[v] = inconnect;
ChuaXet[v] = 0;
for ( u Ke(v) )
if ( ChuaXet[u] ) DFS(u);
}
main()
{
/* Nhp th, to bin Ke */
for ( v V ) ChuaXet[v] = 1; /* Khi to c cho nh */
inconnect = 0;
for ( v V )
if ( ChuaXet[v] )
{
inconnect ++; DFS(v);
}
}
Chng 3 Tm kim trn th 25
IV.2. Tm theo chiu rng
/* Khai bo cc bin ton cc ChuaXet, Ke, QUEUE, index */
BFS(v) {
QUEUE = 0; QUEUE v; ChuaXet[v] = 0;
while ( QUEUE 0 ) {
p QUEUE; Duyt nh p;
index[p] = inconnect;
for ( u Ke(p) )
if ( ChuaXet[u] ) {
QUEUE u;ChuaXet[u] = 0;
}
}
}
main() {
for ( v V ) ChuaXet[v] = 1;
inconnect = 0;
for ( v V )
if ( ChuaXet[v] ) {
inconnect + + ; BFS(v);
}
}
Chng 3 Tm kim trn th 26
Chng 4: th Euler v th Hamilton
Ni dung

I. th Euler

II. th Hamilton

Chng 4 th Euler v Hamilton 2 L thuyt th


I. th Euler

th Euler

1. nh ngha

2. nh l Euler

3. Gii thut xy dng chu trnh Euler

Chng 4 th Euler v Hamilton 3


I.1. nh ngha
Gi s G l n (a) th v (c) hng:
Chu trnh Euler trong G l chu trnh n i qua tt c
cc cnh ca th. Nu G c chu trnh Euler th G
c gi l th Euler.
ng i Euler trong G l ng i n qua tt c
cc cnh ca th. Nu G c ng i Euler th G
c gi l th na Euler.

th Euler th na Euler

Chng 4 th Euler v Hamilton 4


I.2. nh l
nh l 1
th v hng, lin thng G=(V, E) c chu trnh
Euler khi v ch khi mi nh ca G u c bc chn.

Chng minh
G c chu trnh Euler => Mi nh u bc chn
Mi nh u bc chn => G c chu trnh Euler

Chng 4 th Euler v Hamilton 5


I.2. nh l
B
Cho th G=(V, E), nu mi nh ca G c deg(u) 2
th G c chu trnh

Chng minh ?

Chng 4 th Euler v Hamilton 6


I.2. nh l
nh l 2:
th v hng, lin thng G=(V, E) c ng i Euler m khng c
chu trnh Euler khi v ch khi G c ng hai nh bc l.
Chng minh: ?

nh l 3:
th c hng, lin thng yu G=(V, E) c chu trnh Euler khi v ch
khi mi nh ca G c bn bc vo bng bn bc ra.
=> Khi G (c hng) c chu trnh Euler th n lin thng mnh.
nh l 4:
th c hng, lin thng yu G=(V, E) c ng i Euler nhng
khng c chu trnh Euler khi v ch khi G tn ti duy nht hai nh sao
cho: deg+(u) deg-(u) = deg+(v) - deg-(v) = 1, v tt c cc nh cn li
c bn bc vo bng bn bc ra.

Chng 4 th Euler v Hamilton 7


I.3.Gii thut x/d chu trnh Euler

CT, CTcon l cc chu trnh

Bc 1: u tin, xy dng 1 chu trnh CT trong G


Bc 2: H ( G \ CT ) \ {Cc nh c lp sau khi b CT khi G}.
Bc 3: Nu H vn cn cnh th n bc 4. Ngc li n bc 8.
Bc 4: Xy dng chu trnh con CTcon trong H vi nh u thucchu
trnh CT
Bc 5: H ( H \ CTcon) \ {Cc nh c lp sau khi b CTcon khi H}
Bc 6: CT CT CTcon
Bc 7: n bc 3.
Bc 8: Kt thc. CT l chu trnh Euler

Chng 4 th Euler v Hamilton 8


I.3.Gii thut x/d chu trnh Euler

CT= {3, 7, 8, 9}.


H={G\CT)}\{Cc nh c lp} = {1, 2, 4, 5, 6, 10, 11, 12}.
+ Ln 1:
CTcon = {10, 11, 12}.
H={H\Hcon}\{Cc nh c lp}={1, 2, 4, 5, 6}.
+ Ln 2:
CTcon={1, 2, 5, 6, 4}
H={H\Hcon}\{Cc nh c lp}= . DNG.
Cui cng ta c chu trnh Euler: 3, 2, 1, 4, 6, 5, 9, 10, 12, 11, 8, 7.
Chng 4 th Euler v Hamilton 9
I.3.Gii thut x/d chu trnh Euler
Ci t
main(){
STACK = ;
CE = ; /* CE - Chu trnh Euler */
Chn u l 1 nh bt k ca th;
STACK u;
while (STACK != ){
x = top(STACK);
if (Ke(x) != ){
y = nh u trong danh sch Ke(x);
STACK y;
Ke(x) = Ke(x) \ {y};
Ke(y) = Ke(y) \ {x}; /* B cnh (x,y) */
}else {
x STACK;
CE x;
}
}
}
Chng 4 th Euler v Hamilton 10
I.3.Gii thut x/d chu trnh Euler
Ci t

nh v Ke(v)
1 6, 5
2 5, 6
3 6, 5
4 6, 5, 7, 8
5 4, 3, 2, 1
6 4, 3, 2, 1
7 4, 8
8 4, 7

Chng 4 th Euler v Hamilton 11


I.3.Gii thut x/d chu trnh Euler
STACK CE
3, 6
3, 6, 4
3, 6, 4, 5
3, 6, 4, 5, 3
3, 6, 4, 5 3
3, 6, 4, 5, 2 3 nh v Ke(v)
3, 6, 4, 5, 2, 6 3 1 6, 5
3, 6, 4, 5, 2, 6, 1 3 2 5, 6
3, 6, 4, 5, 2, 6, 1, 5 3 3 6, 5
3, 6, 4 3, 5, 1, 6, 2, 5 4 6, 5, 7, 8
3, 6, 4, 7 3, 5, 1, 6, 2, 5 5 4, 3, 2, 1
3, 6, 4, 7, 8 3, 5, 1, 6, 2, 5 6 4, 3, 2, 1
3, 6, 4, 7, 8, 4 3, 5, 1, 6, 2, 5 7 4, 8
3, 5, 1, 6, 2, 5, 4, 8, 7, 4, 6, 3 8 4, 7
Chng 4 th Euler v Hamilton 12
I.3.Gii thut x/d chu trnh Euler
Thut ton Fleury
Bt u t mt nh bt k, i theo cc cnh ca th
theo quy tc sau:
Qui tc 1: Xa cc cnh i qua v cc nh c lp
nu c
Qui tc 2: Ti mi nh, ta ch i qua cu nu khng cn
ng no khc.

Chng 4 th Euler v Hamilton 13


Ni dung

I. th Euler

II. th Hamilton

Chng 4 th Euler v Hamilton 14 L thuyt th


II. th Hamilton

th Hamilton

1. nh ngha

2. nh l

3. Gii thut xy dng chu trnh Hamilton

Chng 4 th Euler v Hamilton 15


II.1. nh ngha
Lch s
Gi s ta c mt khi 12 mt, mi mt l mt hnh ng gic
u. Mi nh trong 20 nh ca khi ny c t bng tn ca
mt thnh ph. Hy tm mt ng xut pht t mt thnh ph,
i dc theo cc cnh ca khi, gh thm mi mt trong 19 thnh
ph cn li ng mt ln, cui cng tr li thnh ph ban u

Trong th hnh trn c hay khng mt chu trnh i qua


tt c cc nh ca th, mi nh ng mt ln ?

Chng 4 th Euler v Hamilton 16


II.1. nh ngha
Gi s G l n th v (c) hng, ta c
cc nh ngha sau:
Chu trnh Hamilton l chu trnh xut pht t mt nh, i
thm tt c cc nh cn li mi nh ng mt ln, cui
cng quay tr li nh xut pht. th c chu trnh
Hamilton gi l th Hamilton.
ng i Hamilton l ng i qua tt c cc nh ca
th, mi nh ng mt ln. th c ng i
Hamilton gi l th na Hamilton.

Chng 4 th Euler v Hamilton 17


II.2. nh l

Nhn bit th Hamilton


Cha c chun nhn bit 1 th c l Hamilton hay
khng
Cha c thut ton kim tra
Cc kt qu thu c dng iu kin
Nu G c s cnh ln th G l Hamilton

Chng 4 th Euler v Hamilton 18


II.2. nh l

nh l Dirac
Cho th v hng G=(V, E) c n nh (n 3). Nu mi
nh v ca th u c deg(v) n/2 th G c chu trnh
Hamilton.

Chng 4 th Euler v Hamilton 19


II.2. nh l

Chng minh
Thm vo G k nh mi v ni chng vi tt c cc
nh ca G ta c G.
Gi s k l s nh nht sao cho G l th Hamilton.
Ta s chng minh l k = 0.

Chng 4 th Euler v Hamilton 20


II.2. nh l

Chng minh
Gi s k > 0, Xt chu trnh Hamilton trong G: v p w
v. Vi p l 1 trong nhng nh mi. Ta thy:
v v w khng th k nhau ( Ngc li khi c th b p v
l v k l min )
Nu v k v v w k w th w khng th i lin sau v. Tri li: Ta
thay v p w v w v bi: v v w
w v b qua p. Do : Vi mi nh k vi v ta lun
tm c 1 nh khng k vi w:

S nh khng k vi w s nh k vi v (n/2 + k)
M s nh k vi w (n/2 + k)
Do |VG| (n + 2k) > n + k V l !!! (PCM)
Chng 4 th Euler v Hamilton 21
II.2. nh l

nh l Dirac cho th c hng


Cho th c hng, lin thng mnh G=(V, E) v c n
nh. Nu mi nh v V u c v th G c chu trnh
Hamilton.

Chng 4 th Euler v Hamilton 22


II.3. Gii thut x/d chu trnh Hamilton

Dng gii thut quay lui


Bt u t 1 nh, i theo con ng di nht c th
c (depth first)
Nu ng cha mi nh v c th ni 2 nh u v
cui bng 1 cnh th l chu trnh Hamilton
Nu tri li ta li li mt nh m con ng theo
chiu su khc
C tip tc qu trnh trn cho n khi thu c chu trnh
Hamilton.

Chng 4 th Euler v Hamilton 23


II.3. Gii thut x/d chu trnh Hamilton

Ci t thut ton
void hamilton(k)
/*Pht trin dy X1,X2,,Xk-1
G=(V,E) c cho bi Danh Sch k: Ke(v), v V */
{
for ( y Ke(Xk-1) )
if ( ( k = = n+1 ) && ( y = = v0 ) ) Xut(X1,Xn,v0);
else if ( Chuaxet[y] ) {
Xk = y;
Chuaxet[y] = 0;
Hamilton(k+1);
Chuaxet[y] = 1; //Quay lui
}
}
main(){
for (v V) Chuaxet[v] = 1;
X1 = v0; Chuaxet[v0] = 0; Hamilton(2);
}

Chng 4 th Euler v Hamilton 24


II.3. Gii thut x/d chu trnh Hamilton

V d

Chng 4 th Euler v Hamilton 25


II.3. Gii thut x/d chu trnh Hamilton

V d

Chng 4 th Euler v Hamilton 26


Chng 5: Cy
Ni dung

I. nh ngha

II. Cy khung ca th

III. Tp cc chu trnh c bn

IV. Cy khung nh nht

V. Cy c gc

Chng 5 - Cy 2 L thuyt th
I. nh ngha
Cy l th v hng
Lin thng
Khng c chu trnh

Rng l th v hng
Khng c chu trnh

Chng 5 - Cy 3
I. nh ngha
nh l nhn bit cy
Cho T =(V, E) l th v hng n nh. Cc mnh sau
y l tng ng:
M1: T l cy ( T lin thng v khng cha chu trnh ).
M2: T khng cha chu trnh v c n-1 cnh.
M3: T lin thng v c n-1 cnh.
M4: T lin thng v mi cnh ca n u l cu.
M5: Hai nh bt k ca T c ni vi nhau bi ng 1
ng i n.
M6: T khng cha chu trnh nhng h c thm vo n
mt cnh ta thu c ng 1 chu trnh.

Chng 5 - Cy 4
I. nh ngha

nh l nhn bit cy
Chng minh:
Ta s chng minh nh l trn theo s sau:
M1 M2 M3 M4 M5 M6 M1

Chng 5 - Cy 5
I. nh ngha
Chng minh M1 M2: Nu T l cy n nh th T khng c chu
trnh v c n-1 cnh
Chng minh bng phng php quy np
Vi n=1 th th c n-1 = 1 1 = 0 (ng)
Gi s khng nh ng cy c k 1 nh. Ta s ch ra cy T c
k+1 1 nh s c s cnh l k.
Chn ng i di nht trong G l P = (v1 ,v2 ,,vm).R rng v1 l nh
treo :
v1 khng th k vi cc nh v3,,vm v G khng c chu trnh.
v1 khng th c ni vi cc nh khc v P l di nht
Xt G = G \ { v1, (v1 ,v2) } (Khng th b cc nh trung gian). Ta c
G c k nh. Theo gi thit quy np G c k-1 cnh. Do G c k cnh
(PCM)

Chng 5 - Cy 6
I. nh ngha

Chng minh M2 M3: Nu T khng cha chu


trnh v c n-1 cnh th T lin thng.
Chng minh bng phng php phn chng.
Gi s T khng lin thng, khi T c phn r thnh
k>1 thnh phn lin thng T1, T2, , Tk .V T khng cha
chu trnh (theo gi thit) nn cc cy cng vy, suy ra Ti
l cy.
Gi v(T) v e(T) tng ng l s nh v cnh ca T. Theo
phn trc M1 M2 ta c: e(Ti) = v(Ti) 1. Suy ra:
e(Ti) = (v(Ti) -1) = v(Ti) k
e(T) = v(T) k
n - 1 = n - k . V l vi k>1 (PCM)

Chng 5 - Cy 7
I. nh ngha

Chng minh M3 M4:Nu T lin thng v c n-1


cnh th mi cnh ca T l cu
Suy lun tng t nh chng minh M1 M2.
Chn ng i di nht P = (v1, v2, v3, ,vm).
Nu t th T ta b i mt cnh no trn ng i P,
th r rng khng cn con ng no khc i t v1 n
vm (v nu ngc li th T c chu trnh). V vy cc cnh
ca T u l cu.

Chng 5 - Cy 8
I. nh ngha
Chng minh M4 M5:Nu T lin thng v mi
cnh ca T l cu th hai nh bt k ca T c
ni vi nhau ng bi 1 ng n.
T lin thng nn mi 2 nh ca T tn ti ng ni
gia chng. ng ni ny l duy nht v tri li T s
c chu trnh v cc cnh trn chu trnh s khng th
l cu.(PCM)

Chng 5 - Cy 9
I. nh ngha
Chng minh M5 M6:Nu hai nh bt k ca T c ni
vi nhau ng bi 1 ng n th T khng cha chu trnh
nhng h c thm vo n 1 cnh ta thu c ng 1 chu
trnh
T khng cha chu trnh v nu T c chu trnh th s c cp nh
c ni vi nhau bi 2 ng n.
Thm vo cnh (u,v) ta s nhn c chu trnh gm ng n
ni u vi v v cnh (u,v) mi.
Do ng n ni trn l duy nht nn chu trnh nhn c cng
l duy nht.
(PCM)

Chng 5 - Cy 10
I. nh ngha
Chng minh M6 M1:T khng cha chu trnh
nhng h c thm vo n mt cnh ta thu c
ng 1 chu trnh th T l cy (lin thng v khng
c chu trnh).
Chng minh bng phn chng

Chng 5 - Cy 11
Ni dung

I. nh ngha

II. Cy khung ca th

III. Tp cc chu trnh c bn

IV. Cy khung nh nht

V. Cy c gc

Chng 5 - Cy 12 L thuyt th
II.1. nh ngha
Cho th G =(V, E) v hng, lin thng. Mt cy
T=(V,F) c xy dng t G vi F E (T cha tt c cc
nh ca G v tp cnh F l con ca tp cnh E) c gi
l cy khung ca th G.
Cy bao trm hay cy ti i.

Chng 5 - Cy 13
II.2. nh l Cayley
S cy khung ca th Kn l nn-2

abc, bcd, cda, dab,


afc, dfb, aec, deb,
aed, afb, bec, cfd,
efc, efd, efa, efb.

S cy khung l: 42 = 16

Chng 5 - Cy 14
II.3. Xy dng cy khung
Xy dng theo chiu su
Xy dng theo chiu rng

Tham s
Input: th G lu di dng danh sc k - Mng Ke[]
Output: Cy khung T ca th

Mng ChuaXet[] dng nh u cc nh c xt hay cha.

Chng 5 - Cy 15
II.3.a. X/d theo chiu su
/* Khai bo cc bin ton cc ChuaXet, Ke, T */
void Tree_DFS(v);
{
ChuaXet[v] = 0;
for (u Ke(v))
if (ChuaXet[u]) {
T = T (v,u);
Tree_DFS(u);
};
}
main(){
/* Nhp th, to bin Ke */
for (v V)
ChuaXet[v] = 1; /* Khi to c cho nh */
T = ; /* T l tp cnh cy khung */
Tree_DFS(root); /* root l nh no ca th */
}

Chng 5 - Cy 16
II.3.a. X/d theo chiu su
V d nh v Ke(v)
1 2, 3
2 4, 1
3 1, 6, 5, 4
4 2, 3, 7, 8
5 6, 3
6 3, 5
7 4,8
8 7, 4, 10, 9
9 8, 10
10 8, 9
1 2 4 3 6 5
7 8 10 9
Cy khung ca G l:
{(1, 2), (2, 4), (4, 3), (3, 6), (6, 5), (4, 7), (7, 8), (8, 10), (10, 9)}

Chng 5 - Cy 17
II.3.b. X/d theo chiu rng
/* Khai bo cc bin ton cc ChuaXet, Ke, QUEUE */
void Tree_BFS(r);{
QUEUE = ;
QUEUE r;
ChuaXet[r] = 0;
while (QUEUE != ){
v QUEUE;
for (u Ke(v))
if ( ChuaXet[u] ){
QUEUE u;
ChuaXet[u] = 0;
T = T (v,u);
};
}
}
main() /* Nhp th, to bin Ke */{
for (v V)
ChuaXet[v] = 1; /* Khi to c cho nh */
T = ; /* T l tp cnh cy khung */
Tree_DFS(root); /* root l nh no ca th */
}

Chng 5 - Cy 18
II.3.b. X/d theo chiu rng
V d nh v Ke(v)
1 2, 3
2 4, 1
3 1, 6, 5, 4
4 2, 3, 7, 8
5 6, 3
6 3, 5
7 4,8
8 7, 4, 10, 9
9 8, 10
123 10 8, 9
465
78
10 9
Cy khung ca G l: {(1, 2), (2, 3), (2, 4), (4, 6), (6, 5), (4, 7), (7, 8), (8, 10), (10, 9)}

Chng 5 - Cy 19
Ni dung

I. nh ngha

II. Cy khung ca th

III. Tp cc chu trnh c bn

IV. Cy khung nh nht

V. Cy c gc

Chng 5 - Cy 20 L thuyt th
III.Tp cc chu trnh c bn
nh ngha
Gi s G=(V,E) l n th v hng lin thng, H=(V,T)
l cy khung ca G.
Nu thm mt cnh e E\T vo cy khung H ta s thu
c ng 1 chu trnh trong H, k hiu n l Ce. Tp cc
chu trnh:
= { Ce : e E\T } c gi l tp cc chu trnh c bn
ca th G.

Chng 5 - Cy 21
III.Tp cc chu trnh c bn
Tnh cht
Tp cc chu trnh c bn ph thuc vo cy khung ca th. Hai cy
khung khc nhau c th cho hai tp chu trnh c s khc nhau.
Nu mt th lin thng c n nh, m cnh. Khi cy khung c n-1
cnh, cn li m-n+1 cnh ngoi. Tng ng vi mi cnh ngoi, ta c
mt chu trnh c bn. V vy, s chu trnh c bn ca mt th lin
thng l m-n+1.
Tp cc chu trnh c bn l mt tp nhiu nht cc chu trnh tha mn
iu kin: Mi chu trnh c ng mt cnh ring, cnh khng nm
trong cc chu trnh cn li v vic loi b cnh ny khng nh hng
n tnh lin thng ca th v khng nh hng n cc chu trnh
cn li. Nh vy ta c th b ti a m - n+1 cnh m vn m bo tnh
lin thng ca th.

Chng 5 - Cy 22
III.Tp cc chu trnh c bn
ngha
Cc bi ton v mch in
Mi mch vng tng ng vi mt chu trnh c bn.
Tng hiu in th dc theo mt mch vng bng 0. (L
Kirchoff)
Lp h PT tuyn tnh Tnh ton hiu in th trn mi
ng dy ca mng in.

Chng 5 - Cy 23
III.Tp cc chu trnh c bn
Thut ton
/* Khai bo cc bin ton cc d, num, STACK, Index, Ke */
void Cycle(int v);{
d ++; STACK[d] = v; num ++; Index[v] = num;
for (u Ke(v))
if (Index[u] ==0 ) Cycle(u);
else if (( u != STACK[d-1] ) && ( Index[v] > Index[u] ) )
Ghi nhn chu trnh STACK[d], , STACK[c], vi STACK[c] =u;
d --;
}
main(){
for (v V) Index[v] = 0; /* Khi to c cho nh */
num = 0; d = 0; STACK[0] = 0;
for (v V)
if (Index[v] == 0) Cycle(v);
}

Chng 5 - Cy 24
III.Tp cc chu trnh c bn
V d

nh v Ke(v)
1 2, 7, 3
2 6, 1
3 5, 4, 1
4 3, 5
5 3, 4
6 8, 9, 7, 2
7 6, 9, 1
8 6
9 7, 6

Chng 5 - Cy 25
III.Tp cc chu trnh c bn

Chng 5 - Cy 26
Ni dung

I. nh ngha

II. Cy khung ca th

III. Tp cc chu trnh c bn

IV. Cy khung nh nht

V. Cy c gc

Chng 5 - Cy 27 L thuyt th
IV. Cy khung nh nht

Cy khung nh nht

1. Khi nim

2. Thut ton Kruskal

3. Thut ton Prim

Chng 5 - Cy 28
IV.1. Khi nim
Cho G = (V, E) l th v hng lin thng.
Mi cnh e ca th c gn vi mt s khng m
w(e) gi l di (Trng s) ca n.
Gi s T = (V, F) l cy khung ca G
Trng s ca cy khung T:
w(T) = e F
w (e)

Bi ton: Tm T sao cho w(T) nh nht

Chng 5 - Cy 29
IV.1. Khi nim
ng dng
Bi ton xy dng h thng ng st
Bi ton ni mng my tnh

Chng 5 - Cy 30
IV.2. Thut ton Kruskal
th G=(V, E), Xy dng tp cnh F ca T=(V, F) theo
tng bc:
1. Sp xp cc cnh ca G theo th t trng s ( di)
tng dn
2. Bt u vi F= b xung dn cc cnh ca G vo F vi
iu kin khng to nn chu trnh trong T.
3. Thut ton dng li khi c n-1 cnh c chn.

Chng 5 - Cy 31
IV.2. Thut ton Kruskal
V d

(d, e) (a, f) (b, f) (c, d) (c, e) (a, b) (f, e) (b, c)


1 3 4 5 7 12 20 24

(d, e) (a, f) (b, f) (c, d) (f, e)


1 3 4 5 20
Chng 5 - Cy 32
IV.2. Thut ton Kruskal
Void Kruskal;
{
F = ;
while ( ( |F| < n-1 ) && ( E != ) )
{
Chn e = min E;
E = E \ {e};
if ( F {e} khng cha chu trnh )
F = F {e};
}
if ( |F| < n-1 ) cout << th khng lin thng;
}
Chng 5 - Cy 33
IV.3. Thut ton Prim
Cho th G=(V, E), Xy dng tp nh VT v tp cnh F
ca cy khung T=(VT , F) theo tng bc:
1. Bt u vi VT = s, mt nh bt k v T=. Trong tt c
cc cnh c 1 nh VT v 1 nh VT chn cnh c trng
s nh nht.
2. B sung cnh vo F v nh tng ng vo VT .
3. Thut ton dng li khi c n-1 cnh c chn (hoc
VT=V ) .

Chng 5 - Cy 34
IV.3. Thut ton Prim

(a, f) (e, f) (d, e) (c, f) (a, b)


3 2 1 4 12

Chng 5 - Cy 35
IV.3. Thut ton Prim
Ci t
void Prim()
{
F = ; VT = u;
while ( |F| < n-1 )
{
Chn e = { min w(u,v) (u VT ) & (v VT ) };
F = F {e};
VT = VT {v};
}
}

Chng 5 - Cy 36
IV. Cy khung nh nht
Chng minh tnh ng n v nhn xt hai thut
ton Kruskal v Prim ?

Chng 5 - Cy 37
Ni dung

I. nh ngha

II. Cy khung ca th

III. Tp cc chu trnh c bn

IV. Cy khung nh nht

V. Cy c gc

Chng 5 - Cy 38 L thuyt th
V. Cy c gc

Cy c gc

1. Cc khi nim

2. Cy tm kim nh phn

3. Cy quyt nh

4. Cc phng php duyt cy

Chng 5 - Cy 39
V.1. Cc khi nim

T l mt cy c gc
x, y, z l cc nh trong T
v0, v1, , vn l mt ng i
n trong T
Vn-1 l cha (parent) ca vn
v0 ,v1 ,,vn-1 l cc tin bi (
ancestor) ca vn
vn l con (child) ca vn-1
Nu x l tin bi ca y th y l
hu du (descendant) ca x
Nu y, z l con ca x th y v
z l anh em (siblings)

Chng 5 - Cy 40
V.1. Cc khi nim

Nu x khng c con th x l l (leaf)


Nu x khng l l th x l nh trong
(branch vertex)
Mc (level) ca nh x l chiu di (s
cnh) ca ng n t gc v0 ti x.
level(v0) = 0
Chiu cao (height) ca mt cy l mc
ln nht trong cy
Cy con (subtree) ca T gc ti x l
th con ca T m
Tp nh gm x v tt c cc hu du ca x
Tp cc cnh gm mi cnh ni ti cc hu
du ca x

Chng 5 - Cy 41
V.1. Cc khi nim

Cha ca c l b Cc l : d, e, f, l, m, i, n, o
Con ca g l h, i, j Mc ca c l 2, ca k l 3
Cc tin bi ca e l c, b, a Chiu cao ca cy l 4
Cc hu du ca b l c, d, e Cy con gc g.
Cc nh trong : a, b, c, g, h, j, k
Chng 5 - Cy 42
V.1. Cc khi nim
Mt cy c gc gi l:
m cy (m-ary tree) nu mi nh trong khng c
qu m con
m cy y (full m-ary tree) nu mi nh trong c
ng m con
Cy nh phn (binary tree) nu mi nh khng c
qu 2 con
Cy c gc th t (Ordered rooted tree) nu cc con
ca mi nh trong c xp th t t tri qua phi

Chng 5 - Cy 43
V.1. Cc khi nim
c bit: Cy nh phn c th t:
Nu mt nh trong c 2 con th
Con th nht l con bn tri ( left child)
Con th 2 l con bn phi ( right child)

Mt m cy vi chiu cao h gi l thng


bng ( balanced) nu tt c cc l u mc
h hay h-1.

Chng 5 - Cy 44
V.1. Cc khi nim
Mt s v d
M hnh gia ph mt dng h
M hnh biu din ca cc t chc
V d: M hnh t chc Trng i Hc

Chng 5 - Cy 45
V.1. Cc khi nim

Mt s v d
M hnh cc tp tin trong
my tnh
Cc tp tin trong my
tnh c t chc
thnh cc th mc, cc
th mc c t chc
di dng cy, trong
th mc gc l gc ca
cy

Chng 5 - Cy 46
V.2. Cy tm kim nh phn

Mt cy tm kim nh phn l mt cy nh
phn T m trong :
Mi nh c gn cho mt nhn
Cc nhn c th so snh c vi nhau
nh vT, cc nhn trong cy con bn tri ca v u
nh hn nhn ca v v cc nhn trong cy con bn phi
ca v u ln hn nhn ca v

Chng 5 - Cy 47
V.2. Cy tm kim nh phn

V d:: 30, 20, 10, 40, 32, 27, 17, 8, 42, 78, 35.

Chng 5 - Cy 48
V.2. Cy tm kim nh phn

Thut ton tm kim trn cy tm kim nh


phn
Gi s ta c mt cy tm kim, x l mt gi tr no
Xc nh v tr ca bin x nu x l nhn ca mt nh v
Nu thy rng x khng l nhn ca mt nh no c th
to ra mt nh mi v gn nhn x cho nh
phc tp thut ton: O(log n)

Chng 5 - Cy 49
V.2. Cy tm kim nh phn
Thut ton tm kim trn cy tm kim nh phn
void TK( Cy NPTK T, phn t x);
{
v = gc ca T;
if (v == NULL ) thm nh r vo cy v gn cho n nhn l x
while ((v != NULL) && (label(v) != x) )
{
if (x == label(v)) cout << Tm c x;
if (x < label(v))
if (con bn tri v != NULL) v = con bn tri v;
else thm nh nhn x l con bn tri v v t v := NULL;
if (x > label(v))
if (con bn phi v != NULL) v = con bn phi v;
else thm nh nhn x l con bn phi v v t v:=NULL;
}
}

Chng 5 - Cy 50
V.3. Cy quyt nh

Thut ton tm kim trn cy tm kim nh phn


Cy quyt nh l cy c gc m:
Mi nh tng ng vi 1 quyt nh
Mi cy con ti cc nh ny ng vi mi kt cc
c th ca ca quyt nh
Mt li gii l mt ng i t gc n l

V d: Cho 8 ng xu, trong c mt ng nh


hn. Xc nh n bng 1 ci cn thng bng.

Chng 5 - Cy 51
V.3. Cy quyt nh

C 3 trng thi sau mi ln cn. Do cy quyt


nh cho mt dy cc ln cn l cy tam phn
C t nht 8 l trong cy quyt nh v c 8 kt
cc c th v mi kt cc cn biu din bng t
nht 1 l
S ln cn nhiu nht xc nh ng xu gi l
chiu cao ca cy h
Ta c h log38 = 2 (lm trn tng)

Chng 5 - Cy 52
V.3. Cy quyt nh

Chng 5 - Cy 53
V.4. Cc phng php duyt cy
Thut ton ving thm mi nh ca mt cy
c gc c th t ng 1 ln mt cch c h
thng gi l thut ton duyt cy

C 3 thut ton ph thng:


Duyt tin t (Preoder traversal)
Duyt trung t (Inorder traversal)
Duyt hu t (Postorder traversal)

Chng 5 - Cy 54
V.4. Cc phng php duyt cy
Thut ton duyt tin t
void Preorder( cy th t c gc T);
{
r = gc ca T;
Thm r;
for ( Mi cy con c ca r t tri sang phi )
{
T(c) = Cy con vi gc c
Preorder( T(c) )
}
}

Chng 5 - Cy 55
V.4. Cc phng php duyt cy
Thut ton duyt trung t
void Inorder( cy th t c gc T)
{
r := gc ca T
if (r l l) Thm r;
else
{
s = con u tin t tri sang phi ca r
T(s) = Cy con vi gc s;
Inorder( T(s) ); Thm r
for (Mi cy con c ca r t tri sang phi tr s)
T(c) = Cy con vi gc c
Inorder( T(c) )
}
}

Chng 5 - Cy 56
V.4. Cc phng php duyt cy
Thut ton duyt hu t
Void Postorder( cy th t c gc T);
{
r = gc ca T
for (Mi cy con c ca r t tri sang phi)
{
T(c) = Cy con vi gc c
Postorder( T(c) )
}
Thm r
}

Chng 5 - Cy 57
V.4. Cc phng php duyt cy
V d

+ Duyt tin t: a, b, c, d, e, f, g, h, o, k, l, m, n, p, q, s, t
+ Duyt trung t: d, c, e, b, a, g, f, h, m, l, n, k, o, p, s, q, t
+ Duyt hu t: d, e, c, b, g, h, f, m, n, l, k, p, s, t, q, o, a

Chng 5 - Cy 58
Chng 6: Bi ton t mu th
Ni dung

I. nh ngha

II. nh l 4 mu

III. Nhn bit th 2-mu

IV. Thut ton SequentialColor

V. Mt s bi ton ng dng

Chng 6 Bi ton t mu th 2 L thuyt th


I. nh ngha
Cn phi t mu mt bn vi iu kin:
Hai min chung bin gii c t hai mu khc nhau
S mu cn dng l ti thiu
Hy xc nh s mu ti thiu cho mi bn

Bn ny cn dng 4 mu t

Chng 6 Bi ton t mu th 3
I. nh ngha

a d

c
b e

Bi ton t mu bn quy v bi ton t mu cc nh ca th

nh ngha 1
T mu mt n th l s gn mu cho cc nh ca n sao cho
hai nh lin k nhau c gn mu khc nhau.
nh ngha 2
S mu ca mt th l s ti thiu cc mu cn thit t mu th ny.

Chng 6 Bi ton t mu th 4
II. nh l 4 mu
nh l: S mu ca mt th phng l
khng ln hn 4
nh l ny c pht biu ln u tin nm 1850 v
c 2 nh ton hc M Appel v Haken chng minh
nm 1976 bng phn chng.
i vi cc th khng phng s mu c th tu ln
chng minh th G l n-mu ta phi
Ch ra 1 cch t mu G vi n mu
CMR khng th t mu G vi t hn n mu

Chng 6 Bi ton t mu th 5
II. nh l 4 mu
Cc bi ton t mu th
1. Cho th G v s nguyn k. Xy dng mt
thut ton kim tra xem c th t mu G
bng k mu, nu c th thc hin vic .

2. Cho th G hy xc nh s mu k ca th
v hy t mu G bng k mu

Chng 6 Bi ton t mu th 6
II. Nhn bit th 2-mu
nh l
Mt th G l 2-mu khi v ch khi G khng
cha mt chu trnh l no.

Chng minh
1. Gi s G l th 2-mu ta phi CMR G khng cha
chu trnh l.
Tht vy nu G c chu trnh l C=(v1, v2, , v2n+1, v1)
Do C ch c t bi 2 mu cc nh l s c t
bng 1 mu. Nhng lc v1 v v2n+1 l 2 nh k nhau
c cng mu v l !!! (PCM)

Chng 6 Bi ton t mu th 7
II. Nhn bit th 2-mu

Chng minh
2. Gi s G khng cha chu trnh l.Ta s CMR G l th
2-mu.
Chn 1 nh r lm gc v t n mu . x V s
c t mu nu ng i ngn nht t x ti r c
s ca.nh chn. Tri li t x mu xanh.
Ta s chng minh rng nh x, y ca cnh (x,y) bt k
c t hai mu khc nhau.
Tri li gi s x v y l 2 nh ca cnh (x,y) no
c t cng mu

Chng 6 Bi ton t mu th 8
II. Nhn bit th 2-mu

Chng minh
Trng hp 1: Px v Py khng c chung cnh. Ta c
Px + (x,y) + Py l chu trnh c s cnh l. (Mu thun
gi thit).

Chng 6 Bi ton t mu th 9
II. Nhn bit th 2-mu

Chng minh
Trng hp 2: Px v Py c chung k cnh t nh a ti
nh b. Ta s nhn c hai chu trnh Ca , Cb v k
cnh chung. Ta c Px + (x,y) + Py c s l cnh m:
| Px + (x,y) + Py | = | Ca | + | Cb | + 2k

Do mt trong hai chu trnh Ca hoc Cb s c s cnh l


V l !!! (PCM)
Vy G l 2 - mu
Chng 6 Bi ton t mu th 10
III. Thut ton SequentialColor
Vi k=2 vic nhn bit th 2 mu c gii quyt
Tuy vy vic nhn bit th k mu vi k > 2 vn cha c
li gii

Thut ton SequentialColor t mu 1 th vi k mu:


Xem cc nh theo th t t 1 n |V|, ti mi nh v gn mu
u tin c sn m cha c gn cho 1 nh no lin v

1. Xp cc nh theo th t bt k 1,2, n
2. To tp Li - tp cc mu c th gn cho nh I
3. Bt u t t nh 1
4. Vi nh k {1,,n} t mu u tin ca Lk cho k
5. j > k v j k k loi b trong Lj mu c t cho k
6. Gii thut dng li khi tt c cc nh c t
Chng 6 Bi ton t mu th 11
III. Thut ton SequentialColor
V d Cc mu:
X: Xanh
:
T: Tm
V: Vng

Th t t cc nh: 1, 2, 3, 4

Cc bc L1 L2 L3 L4 Mu t
Khi to X, , T, V X, , T, V X, , T, V X, , T, V
B1 X X, , T, V X, , T, V , T, V 1 - Xanh
B2 X , T, V , T, V 2 - Xanh
B3 T, V 3 -
B4 T 4 - Tm

Chng 6 Bi ton t mu th 12
III. Thut ton SequentialColor
V d Cc mu:
X: Xanh
:
T: Tm
V: Vng

Th t t cc nh: 4, 3, 2, 1

Cc bc L4 L3 L1 L2 Mu t
Khi to X, , T, V X, , T, V X, , T, V X, , T, V
B1 X , T, V , T, V X, , T, V 4 - Xanh
B2 , T, V X, T, V 3 -
B3 X, T, V 1 -
B4 X 2 - Xanh

Chng 6 Bi ton t mu th 13
III. Thut ton SequentialColor
Nhn xt
L dng thut ton tham lam Li gii tm c cha
chc ti u
phc tp ca gii thut O(n2)

Chng 6 Bi ton t mu th 14
IV.Mt s bi ton ng dng
Bi ton lp lch thi
Lp lch thi: Hy lp lch thi trong trng i hc sao
cho khng c sinh vin no c 2 mn thi cng lc
Cc nh : Cc mn thi
C 1 cnh ni 2 nh nu nh c 1 SV thi c 2
mn ny
Thi gian thi c th hin bi cc mu khc
nhau
Vic lp lch thi s tng ng vi vic t mu th
ny

Chng 6 Bi ton t mu th 15
IV.Mt s bi ton ng dng
Bi ton lp lch thi
C 7 mn thi: Ton (t), Anh Vn (a), L (l), Pascal (p), Tin hc i cng
(h), Ting vt thc hnh (v), Visual Basic (b).
Cc cp mn thi c chung sinh vin l: (t,a), (t, l), (t, p), (t,b),(a,l), (a,p),
(a,h), (a,b), (l,p), (l,b), (p,h), (p,v), (h,b), (v,b).

Kt qu t mu
a l p h v b t
Xanh Tm Nu L cy Vng en

Kt qu xp lch thi
t thi Mn thi
1 Anh Vn
2 L, Tin hc i cng
3 Pascal, Visual Basic
4 Ting vit thc hnh, Ton

Chng 6 Bi ton t mu th 16
IV.Mt s bi ton ng dng
Bi ton phn chia tn s
Phn chia tn s: Cc knh truyn hnh t s 2 ti 13
c phn chia cho cc i truyn hnh Bc M sao
cho 2 i gn nhau di 150 km c 2 knh khc
nhau
Gii quyt:
Mi i pht : 1 nh
Hai i gn nhau di 150 km l 2 nh c ni vi nhau
Vic phn chia knh: T mu th, trong mi mu biu th
mt knh

Chng 6 Bi ton t mu th 17
Chng 7: Bi ton tm ng i ngn nht
Ni dung

I. Gii thiu

II. Thut ton Ford-Bellman

III. Thut ton Dijkstra

IV. Thut ton Floyd

Chng 7 Bi ton tm ng i ngn nht 2 L thuyt th


I. Gii thiu
Xt th c hng, c trng s G=(V, E)
, if (u , v) E
TrongSo(u , v) =
a (u , v), if (u , v) E
Vi a(u, v) R

Nu dy v0,v1,,vp l 1 ng i trn G
th di ca n c nh ngha:
p
DoDai ( v0 , v1 ,..., v p ) = a ( vi 1 , vi )
i =1

Chng 7 Bi ton tm ng i ngn nht 3


I. Gii thiu
Bi ton ng i ngn nht
Gi s c nhiu ng i t v0 n vp: ng i
ngn nht l ng i c tng trng s cc cung nh
nht.

ng i t mt nh
Ford-Bellman
Dijkstra
ng i t mt nh
Floyd

Chng 7 Bi ton tm ng i ngn nht 4


Ni dung

I. Gii thiu

II. Thut ton Ford-Bellman

III. Thut ton Dijkstra

IV. Thut ton Floyd

Chng 7 Bi ton tm ng i ngn nht 5 L thuyt th


II. Thut ton Ford-Bellman
Thut ton Ford-Bellman dng tm ng i
ngn nht t mt nh s n tt c cc nh cn
li ca th.
c s dng cho th khng c chu trnh m.

Cho th c hng, c trng s G=(V, E). Trng s ca cc cnh


ca G c tnh nh sau:
TrongSo(u, v) = nu cung (u, v) E.
TrongSo(u, v) = a(u, v) nu cung (u, v) E.
Thut ton tm ng i ngn nht d(v) t nh s nh v, mi v V:
+ Xt u V. Nu d(u) + TrongSo(u, v) < d(v) th ta thay d(v) = d(u) +
TrongSo(u, v).
+ Qu trnh ny s c lp li cho n khi khng th c gi tr d(v)
tt hn.

Chng 7 Bi ton tm ng i ngn nht 6


II. Thut ton Ford-Bellman
Ci t thut ton
u vo:
th c hng G=(V,E) vi n nh.
s V l nh xut pht.
a[u,v], u,v V l ma trn trng s
u ra :
Khong cch t s n tt c cc nh cn li d[v],
vV.
Truoc[v], v V l nh i trc v trong ng i
ngn nht t s n v

Chng 7 Bi ton tm ng i ngn nht 7


II. Thut ton Ford-Bellman
void Ford_Bellman()
{
for (v V) /* Khi to d v Truoc */
{
d[v] = a[s,v];
Truoc[v] = s;
}
d[s] = 0;
for (k = 1; k < n-1; k++)
for (v V \ {s})
for ( u V)
if (d[v] > d[u] + a[u,v] )
{
d[v] = d[u] + a[u,v] ;
Truoc[v] = u;
}
} /* phc tp ca thut ton l O(n3) */

Chng 7 Bi ton tm ng i ngn nht 8


II. Thut ton Ford-Bellman
V d
1 2 3 4 5
1 1 3
2 3 3 8
3 1 -5
4 2
5 4

k d[5], Truoc[5] d[4], Truoc[4] d[3], Truoc[3] d[2], Truoc[2]

1 3, 1 , 1 , 1 1, 1

2 3, 1 4, 2 4, 2 1, 1

3 -1, 3 4, 2 4, 2 1, 1

4 -1, 3 3, 5 4, 2 1, 1

5 -1, 3 3, 5 4, 2 1, 1

Chng 7 Bi ton tm ng i ngn nht 9


Ni dung

I. Gii thiu

II. Thut ton Ford-Bellman

III. Thut ton Dijkstra

IV. Thut ton Floyd

Chng 7 Bi ton tm ng i ngn nht 10 L thuyt th


III. Thut ton Dijkstra
Thut ton Dijkstra dng tm ng i ngn
nht t nh s n cc nh cn li trong th.
c s dng cho th khng c cung trng s
m.
Thut ton
u vo
th c hng G=(V,E) vi n nh.
s V l nh xut pht.
a[u,v], u,v V l ma trn trng s
u ra
Khong cch t s n tt c cc nh cn li d[v], v V .
Truoc[v], v V l nh i trc v trong ng i ngn nht t
s n v.

Chng 7 Bi ton tm ng i ngn nht 11


III. Thut ton Dijkstra
void Dijkstra;{
for (v V) /* Khi to d v Truoc */ {
d[v] = a[s,v];
Truoc[v] = s;
}
d[s] = 0; T = V \ {s};
while (T != ) {
Tm u T sao cho d(u) = min { d(z): z T }
T = T \ {u}; /* C nh nhn ca u */
for (v T) do
if (d[v] > d[u] + a[u,v] ) then
{
d[v] = d[u] + a[u,v] ;
Truoc[v] = u;
}
}
} /* phc tp ca thut ton l O(n2) */

Chng 7 Bi ton tm ng i ngn nht 12


III. Thut ton Dijkstra
V d
1 2 3 4 5
1 1 7
2 1 4 8
3 2 4
4 1
5 4

T nh 2 nh 3 nh 4 nh 5
2, 3, 4, 5 1, 1 ,1 , 1 7, 1
3, 4, 5 2, 2 5, 2 7, 1

4, 5 4, 3 6, 3

E 6, 3

1, 1 2, 2 4, 3 6, 3
Chng 7 Bi ton tm ng i ngn nht 13
Ni dung

I. Gii thiu

II. Thut ton Ford-Bellman

III. Thut ton Dijkstra

IV. Thut ton Floyd

Chng 7 Bi ton tm ng i ngn nht 14 L thuyt th


IV. Thut ton Floyd
Tm ng i ngn nht gia tt c cc
cp nh trong th.
Thut ton
Vi mi nh k ca th xt theo th t t 1 n n,
xt mi cp nh u, v. Ta tm ng i ngn nht t u
n v theo cng thc:
a(u, v) = min (a(u, v), a(u, k) + a(k, v))

Chng 7 Bi ton tm ng i ngn nht 15


IV. Thut ton Floyd
Ci t
u vo
th cho bi ma trn trng s: a[i, j], i, j = 1, 2, , n.
u ra: Hai ma trn
Ma trn ng i ngn nht gia cc cp nh:
d[i, j], i, j = 1..n.
d[i, j] l di ng i ngn nht t i n j
Ma trn ghi nhn ng i.
p[i, j], i, j = 1..n.
p[i, j] ghi nhn nh i trc nh j trong ng i ngn nht t i
n j.

Chng 7 Bi ton tm ng i ngn nht 16


IV. Thut ton Floyd
void Floyd;{
for (i = 1; i <= n; i ++) /* Khi to */
for (j = 1; j <= n; j ++){
d[i,j] = a[i,j];
p[i,j] = i;
}
for (k = 1; k <= n; k++) /* 3 vng lp */
for (i = 1; i <= n; i++)
for (j = 1; j <= n; j++)
if (d[i,j] > d[i,k] + d[k,j])
{
d[i,j] = d[i,k] + d[k,j];
p[i,j] = p[k,j];
}
}
Chng 7 Bi ton tm ng i ngn nht 17
IV. Thut ton Floyd
V d

Chng 7 Bi ton tm ng i ngn nht 18


IV. Thut ton Floyd

Vy ng i ngn nht t
nh 1 n nh 3 l: 1 2 3.
Vi trng s = 0.

Chng 7 Bi ton tm ng i ngn nht 19


Chng 8: Lung trong mng
Ni dung

I. Bi ton lung cc i

II. nh l Ford-Fulkerson

III. Thut ton tm lung cc i trong mng

Chng 8 Lung trong mang 2 L thuyt th


I. Bi ton lung cc i

Mng
Mng l mt th c hng G= (V, E)
! nh s (im pht) m deg-(s) = 0
! nh t (im thu) m deg+(t) = 0
cung e = (v, w) E c gn vi mt s khng
m c(e) = c(v, w) 0 gi l Kh nng thng qua
ca cung e.

s : im pht
t : im thu
Nu khng c
cung (v, w) th
c(v, w) = 0

Chng 8 Lung trong mang 3


I. Bi ton lung cc i

Lung trong mng


Cho mng G= (V, E), ta gi lung f trong mng G l mt nh x
f: E R*, vi mi cung e=(v, w) E c gn vi mt s khng
m f(e) = f(v, w) 0 gi l lung trn cung e, tha mn cc iu
kin sau:
Lung trn mi cung e E khng vt qu kh nng thng qua ca
n: 0 f(e) c(e)
Vi mi nh v khng trng vi nh pht s, v nh thu t, tng lung
trn cc cung i vo v bng tng lung cc cung i ra khi v.

Div f (v) = f (w, v) f (v, w) = 0


w ( v ) w + ( v )
(v) = {w V | ( w, v) E}
Vi
+ (v) = {w V | (v, w) E}
iu kin cn
bng lung

Chng 8 Lung trong mang 4


I. Bi ton lung cc i

Lung trong mng


Gi tr ca lung f l tng lung trn cc cung i ra khi nh
pht (bng tng lung trn cc cung i vo nh thu).
val ( f ) = f ( s, w) = f ( w, t )
w + ( s ) w ( t )

Chng 8 Lung trong mang 5


I. Bi ton lung cc i

Lung trong mng

2
3 3
-(v) +(v)
9 5
v
6 12

f ( w , v ) = 2 + 3 + 9 + 6 = 20

w (v)

+
f ( v , w ) = 3 + 5 + 12 = 20
w (v)

Div f ( v ) = 20 20 = 0

Chng 8 Lung trong mang 6


I. Bi ton lung cc i

Lung trong mng


2
3 -(t) 3
5 +(s) t
s 9
12
6


f ( w , t ) = 2 + 3 + 9 + 6 = 20
w (t)

+
f ( s , w ) = 3 + 5 + 12 = 20
w (s)

val ( f ) = 20
Chng 8 Lung trong mang 7
I. Bi ton lung cc i

Cc s mu xanh: Kh nng thng qua trn mi cung


Cc s mu : Lung trn mi cung
Gi tr ca lung:
val(f) = 5

4, 2
3, 3
s : im pht
2, 2
9, 0 8, 1
t : im thu
s t Nu khng c
1, 1
3, 3 5, 1 10, 1 cung (v, w) th
10, 2 20, 1
c(v, w) = 0
Chng 8 Lung trong mang 8
I. Bi ton lung cc i

Bi ton lung cc i
Cho mng G= (V, E), hy tm lung f trong mng sao
cho gi tr lung l ln nht.
Lung f nh vy gi l lung cc i

ng dng:
Bi ton lp bn giao thng trong thnh ph.
Bi ton m ci vng qu.

Chng 8 Lung trong mang 9


Ni dung

I. Bi ton lung cc i

II. nh l Ford-Fulkerson

III. Thut ton tm lung cc i trong mng

Chng 8 Lung trong mang 10 L thuyt th


II.1. Lt ct
Cho mng G = (V, E). Lt ct (X, X*) l mt phn
hoch tp nh V ca mng thnh hai tp X v X* vi
im pht s X v im thu t X*.
Kh nng thng qua ca lt ct (X, X*) l tng tt c
cc kh nng thng qua ca cc cung (v, w) c v X
v w X*.
Lt ct vi kh nng thng qua nh nht c gi l
lt ct hp nht.

Chng 8 Lung trong mang 11


II.1. Lt ct
Lt ct

Kh nng thng qua ca lt ct (X, X*) l: 3 + 8 + 10 = 21.

Chng 8 Lung trong mang 12


II.2. Lung v lt ct
nh l 1
Gi tr ca mi lung f trong mng khng ln hn kh
nng thng qua ca lt ct bt k (X, X*).
val(f) c (X, X*)

Kh nng thng qua l 21.


Gi tr ca lung f: val(f)=5<21.

Chng 8 Lung trong mang 13


II.2. Lung v lt ct
nh l 1
Chng minh
Vi mi v V, ta cng cc iu kin cn bng lung:
( f ( w , v ) f ( v , w ) ) = div(s) = - val(f).
v X w ( v ) w + ( v )

Tng ny gm cc s hng dng f(u,v) vi du + v


du m c t nht u hoc v X. Nu c u v v u
X th f(u,v) s xut hin vi du + trong Div(v) v du -
trong Div(u) nn chng trit tiu ln nhau. Ta thu c:

v X , w X *
f (v , w ) + f ( v , w ) = val ( f )
v X *, w X

val ( f ) = f (v, w )
v X , w X *
f (v, w)
v X *, w X
c (v, w )
v X , w X *

val ( f ) c ( X , X *)
(PCM).

Chng 8 Lung trong mang 14


II.2. Lung v lt ct
H qu
Gi tr lung cc i trong mng khng vt qu kh
nng thng qua ca lt ct hp nht trong mng.

nh l Ford-Fulkerson
Gi tr lung cc i trn mng ng bng kh nng
thng qua ca lt ct hp nht.

Chng 8 Lung trong mang 15


II.3. th tng lung, ng tng lung
Gi s f l mt lung trong mng G = (V, E). T
mng G ta xy dng th c trng s Gf=(V, Ef) nh
sau:
Xt cc cnh e = (v, w) E:
Nu f(v, w) = 0 : thm mt cung (v, w) c trng s l c(v, w) vo Gf
.
Nu f(v, w) = c(v, w) : thm mt cung (w, v) c trng s c(v, w) vo
Gf.
Nu 0 < f(v, w) < c(v, w) : thm mt cung (v, w) c trng s c(v,
w) f(v,w), v mt cung (w, v) c trng s f(v, w) vo Gf .
Cc cung ca ng thi cng l cung ca G c gi l
cung thun, cc cung cn li c gi l cung nghch.
th c gi l th tng lung.

Chng 8 Lung trong mang 16


II.3. th tng lung, ng tng lung

Mng G=(V, E)
th tng lung Gf=(V, Ef)

Chng 8 Lung trong mang 17


II.3. th tng lung, ng tng lung
Gi s P = (s, , t) l mt ng i t s n t trn
th tng lung . Gi d l trng s nh nht trong cc
trng s ca cc cung trn ng i P. T lung f,
xy dng lung f trn mng G nh sau:

Nu (v, w) P l cung thun th f(v, w) = f(v, w) + d.


Nu (v, w) P l cung nghch th f(v, w) = f(v, w) d.
Nu (v, w) P th f(v, w) = f( v, w).

Khi ta c lung f l lung trong mng G v gi


tr ca lung f tng thm d so vi gi tr ca lung f.
ng i P c gi l ng tng lung.

Chng 8 Lung trong mang 18


II.3. th tng lung, ng tng lung

Chng 8 Lung trong mang 19


II.3. th tng lung, ng tng lung
nh l 2
Cho mng G=(V, E) v f l mt lung trong mng
G. Cc mnh sau l tng ng
f l lung cc i trong mng.
Khng tm c ng tng lung f.
val(f) = c(X, X*), vi (X, X*) l mt lt ct no ca
mng.

Chng minh?

Chng 8 Lung trong mang 20


Ni dung

I. Bi ton lung cc i

II. nh l Ford-Fulkerson

III. Thut ton tm lung cc i trong mng

Chng 8 Lung trong mang 21 L thuyt th


III. Thut ton tm lung cc i trong mng
Qui trnh thut ton Ford-Fulkerson
t lung ban u bng 0 (lung khng). V mt
mng bt k u c t nht mt lung l lung khng.
Lp li hai qu trnh tm ng tng lung v tng
lung cho mng theo ng tng lung . Vng lp
kt thc khi khng tm c ng tng lung na.
Khi c lung cc i, xy dng lt ct hp nht
ca mng.

Chng 8 Lung trong mang 22


III. Thut ton tm lung cc i trong mng
Thut ton tm ng tng lung
u tin, gn nhn cho s v t n l cha xt. Tip
tc ta gn nhn cho cc nh k ca s v s tr thnh
nh xt. Lm tng t cho cc nh k vi s
c gn nhn. Thut ton dng li nu:
1. nh t c gn nhn. Khi ta tm c ng tng
lung.
2. Hoc t cha c nhn m tt c cc nh c nhn khc
c xt. Khi lung ang xt l cc i, khng tm c
ng tng lung.

Chng 8 Lung trong mang 23


III. Thut ton tm lung cc i trong mng
Bc 1: t f(e)=0, vi mi cnh e E
Bc 2: Gn nhn cho s:
p[s]=[-, (s)];
(s)=;
t u= s;
Bc 3:
a) Vi mi vKe+(u), Nu v cha c nhn v s(u,v)=c(u,v)f(u,v)>0 th:
t (v) = min((u), s(u,v));
Gn nhn p[v] = [ +u, (v)] ;
Vi mi v Ke-(u), Nu v cha c nhn v f(u,v)>0 th:
t (v) = min ((u), f(u,v));
Gn nhn p[v] = [ -u, (v)] ;
Bc 4: Nu t c nhn (v == t) n Bc 5.
Ngc li :
Nu Mi nh c nhn xt: n Bc 6.
Ngc li: t u=v, n Bc 3.
Cui nu.
Cui nu.
Bc 5: Dng p[t] tm ng tng lung P bng cch i ngc t t n s. t
f = f + (t) cnh e P. n Bc 2.
Bc 6: X = {Cc nh c nhn xt }, X* = V \ X . Lt ct (X,X*) l cc tiu.

Chng 8 Lung trong mang 24


III. Thut ton tm lung cc i trong mng
V d

+ Gn nhn: s [-,].
+ Xt s: cung (s,a) s(s,a) = 3 > 0: (a) = min(,3) = 3, p[a]= [+s,3].
nh b: Cha c gn nhn.
+ Xt a: p[c]= [+a,2]
+ Xt c: cung (b,c) f(b,c) = 5 > 0, (c) = min(2,5) = 2 p[b]= [-c,2]
+ Xt b: p[d]= [+b,2].
+ Xt d: p[t]= [+d,2].
Ta c ng tng lung:
tdbcas
Lung f := f + 2 = 7 + 2 = 9.
Chng 8 Lung trong mang 25
LOGIC MNH

1
Contents

1. Mnh
2. S tng ng ca cc mnh
3. V ng v lng t

2
1. Mnh
Mnh l mt cu ng hoc sai, ch khng
th va ng va sai.
(mnh )
H ni l th ca Vit Nam.

1 + 5 = 70

(Khng phi mnh )


x + y = z (khng ng khng sai)

By gi l my gi? (cu trn thut)

3
Mnh (cont.)

Cc ch ci s c dng k hiu mnh v cc


bin : p, q, r, s Gi tr chn l ca mnh l
ng/sai, k hiu T (F).
Cc nh lut ca t duy Geogre Boole (1854) =>
cc mnh phc hp c to t mnh hin c
bng cch dng cc ton t logic.
nh ngha 1: Gi s p l mnh .
Cu khng phi l p
L 1 mnh khc, c gi l ph nh ca p. k
hiu p hoc p
4
Ton t ph nh

V d: tm ph nh ca mnh : Hm nay l
th t.
Gii: Hm nay khng phi l th t

5
V d: Hm nay l th t. Hm nay
tri ma => Hm nay th t v tri
ma (ton t hi, p^q)

6
V d:
Mn khai v sp hoc
salat.
Cc sinh vin ngnh
CNTT hoc Ton ng
dng c th theo hc
hc phn LTT.

7
Mnh tuyn loi

8
Mnh ko theo p->q

9
Mnh tng ng

10
Dch nhng cu thng thng

Ting Anh (Vit ) thng c tnh khng r


rng. Dch cc cu thng thng sang biu thc
logic l lm mt i tnh khng r rng ca n.
ng thi c th xc nh gi tr chn l, thao tc
v cc quy tc suy din suy lun chng.
V d: Bn khng c li xe my nu bn cao
di 1.5m tr phi bn trn 18 tui.

11
Gi

q = Bn c li xe my
r = Bn cao di 1.5m
s = Bn trn 18 tui.
Biu thc logic:
(r ^ s) -> q

V 1 s cch khc tng ng

12
Cc php ton logic v cc php ton BIT

Binary bit (0, 1) - John Tukey (nh thng k),


1946. 1 = true; 0 = false.

13
14
Bi tp

15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
2. Tng ng logic

Cc mnh phc hp lun lun c cng gi tr


chn l c gi l tng ng logic.
nh ngha 1. cc mnh p v q c gi l
tng ng logic nu p<->q l hng ng.
K hiu: p q ch p v q l tng ng
logic.
Mt cch xc nh hai mnh c tng
ng hay khng l dng bng gi tr chn l.

33
34
35
36
37
38
39
40
Bi tp

41
42
43
44
45
3. V NG V LNG T

46
47
48
LNG T

49
50
51
52
53
54
Dch cc cu thng thng thnh biu thc Logic

Trong phn 1 m t dch cc cu thng thng thnh cc


biu thc logic cha nhiu mnh v cc lin t logic.
Trong phn ny s biu din c tp hp rng ln hn
cc cu thng thng thnh cc biu thc logic. Mc
ch loi i nhng iu m m, cha r rng v lm cho
ta c th dng cc cu suy lun c.
Cc v d sau cho thy cc ton t logic v lng t dng
din t cc cu thng thng, tng t nh loi cu
thng gp trong cc pht biu ton hc, trong lp trnh
logic v tr tu nhn to.

55
56
CC V D CA LEWIS CARROL

Lewis Carrol (bt danh C.L.Dodgson) tc gi ca


Alice trong t nc k l v 1 s cng trnh
logic k hiu.

57
P(x) : x l s t
Q(x) : x hung d
R(x) : x ung cafe

58
59
CC BiN RNG BuC

60
61
Cc lng t hai bin

62
63
64
65
BI TP

66
67
68
69
70
BI TP TH
1. G l mt th n, v hng c s nh N>3.
Chng minh G c cha 2 nh cng bc.
2. th G c ng 2 nh bc l. Chng minh tn
ti mt dy chuyn ni hai nh vi nhau.
3. Xt th G n, v hng gm N nh, M cnh
v P thnh phn lin thng.
a. Chng minh: M (N-P)(N-P+1)/2,
suy ra nu M > (N-1)(N-2)/2 th G lin thng.
a. Mt th n c 10 nh, 37 cnh th c chc lin
thng hay khng?
1
BI TP
4. th G n, v hng gm N nh v d(x)(N-
1)/2 vi mi nh x. Chng minh G lin thng.
5. th v hng G lin thng gm N nh.
Chng minh s cnh ca G N-1.
6. Xt th G v hng n. Gi x l nh c bc
nh nht ca G. Gi s d(x)k2 vi k nguyn
dng. Chng minh G cha mt chu trnh s cp
c chiu di ln hn hay bng k+1.

2
BI TP
7. Cho G l th v hng lin thng. Gi s C1
v C2 l 2 dy chuyn s cp trong G c s cnh
nhiu nht. Chng minh C1 v C2 c nh chung.
8. G l th v hng khng khuyn v d(x) 3
vi mi nh x. Chng minh G c cha chu trnh
vi s cnh chn.

3
TREE

1. Chng minh cc nh l tng ng


2. Xc nh s lng cy ti i ca th dng
CY, CHU TRNH S CP, ,
3. Chng minh tnh ng n ca cc gii thut
PRIM, KRUSKAL

4
BI TP NG I

1. Chng minh nguyn l Bellman


2. Chng minh tnh ng n ca cc thut ton
Dijkstra, Floyd, Bellman
3. Ci t thut ton xc nh chu trnh Euler
4. Xc nh cc nt ca th K nt.

5
1. Tm lung cc i cho mng sau:

2 3 3
12 10

s t
7 13
11 14
4 9 5

HCMUS 2009 Bi ging L thuyt th ng Nguyn c Tin 6


2. Hy nu gii pht gii quyt vn lin thng
cnh.
3. *Hy nu gii php tm c path cover cc tiu.
4. Chng minh rng mt lung cc i trn mng G
= (V, E) lun c th xc nh c sau mt dy
ti a |E| qu trnh tm ng tng lung.
5. Chng minh vi mt cp nh u, v bt k, ta lun
c cf(u, v) + cf(v, u) = c(u, v) + c(v, u). Vi cf l
trng s ca cung trn th tng lung.

HCMUS 2009 Bi ging L thuyt th ng Nguyn c Tin 7

You might also like