Professional Documents
Culture Documents
1, nu x
i
Y,
0, nu x
i
, Y.
Ni ring, tp Y tng ng vi dy 0, 0, . . . , 0 v tp Y X
tng ng vi dy 1, 1, . . . , 1.
Ta thy b
i
, i = 1, 2, . . . , n nhn gi tr nh phn nn s tp con ca
tp X l 2
n
.
Nu ta coi mi dy nh phn l biu din nh phn ca mt s
nguyn khng m th mi tp con ca tp X ng vi mt s
nguyn trong on [0, 2
n
1].
L Hng Phng (HUS, VNU) 08/2012 4 / 57
Gii thiu
Cho X = x
1
, x
2
, . . . , x
n
l mt tp hp gm n phn t.
Mi tp con Y ca tp X c th c biu din bng mt dy nh
phn b
1
, b
2
, . . . , b
n
xc nh nh sau:
b
i
=
1, nu x
i
Y,
0, nu x
i
, Y.
Ni ring, tp Y tng ng vi dy 0, 0, . . . , 0 v tp Y X
tng ng vi dy 1, 1, . . . , 1.
Ta thy b
i
, i = 1, 2, . . . , n nhn gi tr nh phn nn s tp con ca
tp X l 2
n
.
Nu ta coi mi dy nh phn l biu din nh phn ca mt s
nguyn khng m th mi tp con ca tp X ng vi mt s
nguyn trong on [0, 2
n
1].
L Hng Phng (HUS, VNU) 08/2012 4 / 57
Gii thiu
Ta quan tm ti hai bi ton:
1
Sinh mi tp con ca tp X;
2
Sinh mi tp con gm k phn t ca tp X vi k n.
L Hng Phng (HUS, VNU) 08/2012 5 / 57
Ni dung
1
Gii thiu
2
Sinh cc tp con
Thut ton cng mt
Thut ton quy
Thut ton m Gray
3
Sinh cc tp con k phn t
Cc h s nh thc
Thut ton sinh theo th t t in
Mt s thut ton khc
4
Tm lc
L Hng Phng (HUS, VNU) 08/2012 6 / 57
Sinh cc tp con
Bi ton
Hy lit k mi tp con ca mt tp hp gm n phn t.
V d, cc tp con ca tp gm 3 phn t {1, 2, 3 } l:
,
1, 2, 3,
1, 2, 1, 3, 2, 3,
1, 2, 3.
Ch :
S tp con ca mt tp gm n phn t l 2
n
, l rt ln nu n ln.
V vy, bi ton ny ch c th gii c nu n nh (n 20).
L Hng Phng (HUS, VNU) 08/2012 7 / 57
Ni dung
1
Gii thiu
2
Sinh cc tp con
Thut ton cng mt
Thut ton quy
Thut ton m Gray
3
Sinh cc tp con k phn t
Cc h s nh thc
Thut ton sinh theo th t t in
Mt s thut ton khc
4
Tm lc
L Hng Phng (HUS, VNU) 08/2012 8 / 57
Thut ton cng mt
Biu din dy nh phn ca cc tp hp gi cho ta mt phng php
n gin sinh mi tp hp ca n phn t nh sau:
1
Xut pht t tp rng, ng vi s k = 0 hay dy nh phn
a
0
= 0, 0, . . . , 0;
2
Trong mi bc, s k c cng thm 1 v tm cc biu din nh
phn tng ng ca n. V d, 5 dy nh phn tip theo l
a
1
= 0, 0, . . . , 0, 0, 1
a
2
= 0, 0, . . . , 0, 1, 0
a
3
= 0, 0, . . . , 0, 1, 1
a
4
= 0, 0, . . . , 1, 0, 0
a
5
= 0, 0, . . . , 1, 0, 1
3
Dng thut ton khi k = 2
n
1 hay khi dy nh phn l
1, 1, . . . , 1, 1.
L Hng Phng (HUS, VNU) 08/2012 9 / 57
Thut ton cng mt
Ta c th tng tc ca thut ton da trn quan st n gin: dy
nh phn ng sau c th c sinh t dy nh phn ng trc bng
cch quy np.
Gi s sinh c dy nh phn a
i
= b
0
, b
1
, . . . , b
n
, dy a
i+1
c
tm bng cch:
1
Xt cc bt b
j
vi j gim dn, bt u t n.
2
Lp, trong khi j 1:
nu b
j
= 1 th t b
j
= 0 v tip tc xt b
j1
;
nu b
j
= 0 th t b
j
= 1 v dng vng lp.
L Hng Phng (HUS, VNU) 08/2012 10 / 57
Thut ton cng mt
Sinh tp con tip theo:
void nextSubset(int a[], int n) {
int j = n - 1;
while (j >= 0) {
if (a[j] == 1)
a[j] = 0;
else {
a[j] = 1;
break;
}
j--;
}
}
L Hng Phng (HUS, VNU) 08/2012 11 / 57
Thut ton cng mt
Sinh mi tp con bng thut ton cng mt:
void enumerate(int a[], int n) {
int i, j;
unsigned long max = exponential(2, n);
for (j = 0; j < n; j++)
a[j] = 0;
for (i = 0; i < max; i++) {
printSubset(a, n);
nextSubset(a, n);
}
}
L Hng Phng (HUS, VNU) 08/2012 12 / 57
Thut ton cng mt
Vi n = 4, cc dy nh phn sinh bi thut ton l:
0 0, 0, 0, 0 8 1, 0, 0, 0
1 0, 0, 0, 1 9 1, 0, 0, 1
2 0, 0, 1, 0 10 1, 0, 1, 0
3 0, 0, 1, 1 11 1, 0, 1, 1
4 0, 1, 0, 0 12 1, 1, 0, 0
5 0, 1, 0, 1 13 1, 1, 0, 1
6 0, 1, 1, 0 14 1, 1, 1, 0
7 0, 1, 1, 1 15 1, 1, 1, 1
L Hng Phng (HUS, VNU) 08/2012 13 / 57
Ni dung
1
Gii thiu
2
Sinh cc tp con
Thut ton cng mt
Thut ton quy
Thut ton m Gray
3
Sinh cc tp con k phn t
Cc h s nh thc
Thut ton sinh theo th t t in
Mt s thut ton khc
4
Tm lc
L Hng Phng (HUS, VNU) 08/2012 14 / 57
Thut ton quy
Ta c th lit k mi dy nh phn di n bng thut ton quy:
void enumerate(int a[], int n, int k) {
if (k < 0) {
printSubset(a, n);
}
else {
a[k] = 0;
enumerate(a, n, k - 1);
a[k] = 1;
enumerate(a, n, k - 1);
}
}
Chng trnh chnh gi hm enumerate(a, n, n - 1).
L Hng Phng (HUS, VNU) 08/2012 15 / 57
Thut ton quy
V d, vi n = 3, cy quy tm cc dy nh phn c minh ha
trong hnh sau:
???
??0
?00
000 100
?10
010 110
??1
?01
001 101
?11
011 111
Ta thy thut ton quy thc hin duyt cy theo cch duyt tin
th t v x l cc nt l ca cy.
L Hng Phng (HUS, VNU) 08/2012 16 / 57
Bi tp
Bi tp 1. Gii thch thut ton quy v v s cy quy tm
cc dy nh phn ng vi cc tp con ca tp gm 4 phn
t.
Bi tp 2. Vit chng trnh ci t cc thut ton cng mt v
quy sinh cc tp con ca mt tp hp. So snh thi gian
chy ca hai thut ton ny trn cc tp c kch thc
tng t nhau.
L Hng Phng (HUS, VNU) 08/2012 17 / 57
Ni dung
1
Gii thiu
2
Sinh cc tp con
Thut ton cng mt
Thut ton quy
Thut ton m Gray
3
Sinh cc tp con k phn t
Cc h s nh thc
Thut ton sinh theo th t t in
Mt s thut ton khc
4
Tm lc
L Hng Phng (HUS, VNU) 08/2012 18 / 57
Thut ton m Gray
M Gray n-bt l mt danh sch gm 2
n
dy nh phn di n
trong dy tip theo ch khc dy ng trc mt bt.
M Gray c pht minh nm 1947 bi Frank Gray, mt nghin
cu vin Bell Labs, sau c cng b nm 1953 trong
1
.
Ban u c s dng trong cc h thng chuyn mch c in t;
ngy nay, m Gray c s dng rng ri trong vic pht hin li
ca cc h thng lin lc in t.
1
F. Gray, Pulse code communication, 1953, U.S. Patent 2,632,058
L Hng Phng (HUS, VNU) 08/2012 19 / 57
Thut ton m Gray
M Gray cn c gi l m nh phn phn x v m Gray n bt
c xy dng quy t m Gray n 1 bt bng cch phn x
m ny.
Phn x: lit k cc phn t ca danh sch dy nh phn theo th
t ngc li.
Cc bc c th sinh m Gray n bt nh sau:
L Hng Phng (HUS, VNU) 08/2012 20 / 57
Thut ton m Gray
1
Xut pht t m Gray n 1 bt l danh sch gm k = 2
n1
dy
nh phn:
1
,
2
, . . . ,
k1
,
k
2
Phn x m Gray ny, tc lit k cc dy nh phn ca n theo
th t ngc li:
k
,
k1
, . . . ,
2
,
1
3
t bt 0 ln trc cc dy trong danh sch ban u:
0
1
, 0
2
, . . . , 0
k1
, 0
k
4
t bt 1 ln trc cc dy trong danh sch phn x:
1
k
, 1
k1
, . . . , 1
2
, 1
1
5
Ghp hai danh sch ny li s thu c m Gray n bt:
0
1
, 0
2
, . . . , 0
k
, 1
k
, 1
k1
, . . . , 1
2
, 1
1
.
L Hng Phng (HUS, VNU) 08/2012 21 / 57
Thut ton m Gray
V d, m Gray vi n = 3 c sinh t m Gray vi n = 2 nh sau:
M 2-bt 00, 01, 11, 10
M phn x 10, 11, 01, 00
t 0 ln trc m ban u 000, 001, 011, 010
t 1 ln trc m phn x 110, 111, 101, 100
Ghp hai m 000, 001, 011, 010, 110, 111, 101, 100
L Hng Phng (HUS, VNU) 08/2012 22 / 57
Thut ton m Gray
M Gray 1 bt l G
1
= 0, 1. M ny c th c sinh t m Gray 0
bt G
0
= ch gm mt dy rng theo cch trn.
Trong qu trnh sinh m G
n+1
t G
n
ta thy mt s tnh cht sau:
Nu coi mi dy nh phn trong m G
n
l mt s nguyn (trong c
s 10) th G
n
l mt hon v ca dy s 0, 1, . . . , 2
n
1.
G
n
c nhng vo na u ca G
n+1
.
Mi dy ca G
n
ch khc vi dy ng trc n mt bt.
2
.
Dy cui cng ca G
n
ch khc dy u tin mt bt.
2
Ni cch khc, khong cch Hamming gia hai dy lin tip ca G
n
l 1.
L Hng Phng (HUS, VNU) 08/2012 23 / 57
Bi tp
Bi tp 3. Sinh m Gray 4 bt bng thut ton quy nu trn.
Bi tp 4. Vit chng trnh ci t thut ton tm mi tp con ca
tp hp bng thut ton sinh m Gray n bt quy nu
trn.
L Hng Phng (HUS, VNU) 08/2012 24 / 57
Thut ton m Gray
Ta c th tm m G
n+1
t m G
n
bng mt th tc quy.
Tuy nhin, t cc tnh cht ca m Gray trn, ta c th tm m Gray
bng mt thut ton nhanh hn da trn quan st sau:
Chui th i trong G
n
l biu din nh phn ca s (i/2) i ,
trong i/2 l php chia nguyn ca i cho 2 v l php ton xor.
Nhc li: php xor gia hai bt a v b cho gi tr 1 nu ch a hoc
b l 1. C th:
a b a b
0 0 0
0 1 1
1 0 1
1 1 0
L Hng Phng (HUS, VNU) 08/2012 25 / 57
Thut ton m Gray
Ta c th tm m G
n+1
t m G
n
bng mt th tc quy.
Tuy nhin, t cc tnh cht ca m Gray trn, ta c th tm m Gray
bng mt thut ton nhanh hn da trn quan st sau:
Chui th i trong G
n
l biu din nh phn ca s (i/2) i ,
trong i/2 l php chia nguyn ca i cho 2 v l php ton xor.
Nhc li: php xor gia hai bt a v b cho gi tr 1 nu ch a hoc
b l 1. C th:
a b a b
0 0 0
0 1 1
1 0 1
1 1 0
L Hng Phng (HUS, VNU) 08/2012 25 / 57
Thut ton m Gray
V d, cc chui nh phn th i, i = 0, 1, . . . , 7 trong m G
3
:
i
(10)
i
(2)
(i/2)
(2)
(i/2) i G
3
0 000 000 000 000 000
1 001 000 000 001 001
2 010 001 001 010 011
3 011 001 001 011 010
4 100 010 010 100 110
5 101 010 010 101 111
6 110 011 011 110 101
7 111 011 011 111 100
Ct u tin l s i trong c s 10; ct th hai l biu din ca n
trong c s 2; ct th ba l s i/2 trong c s 2; ct th t l php
ton xor gia hai s i/2 v i trong c s 2; ct cui cng chnh l chui
nh phn th i trong m G
3
.
L Hng Phng (HUS, VNU) 08/2012 26 / 57
Bi tp
Bi tp 5. Sinh m Gray 4 bt theo thut ton tnh nhanh nh bng
trn (lp bng tnh G
4
).
Bi tp 6. Vit chng trnh ci t thut ton tm mi tp con ca
tp hp bng thut ton sinh m Gray n bt theo thut
ton tnh nhanh nh trn.
L Hng Phng (HUS, VNU) 08/2012 27 / 57
Thut ton m Gray
Ta cng c th tm chui m Gray th i + 1 t chui m Gray th i
da trn quan st sau:
1
Nu chui th i c mt s chn bt 1 th ta o bt cui cng ca
n s c chui th i + 1;
2
Nu chui th i c mt s l bt 1 th ta tm bt 1 bn phi nht
ca chui v o bt bn tri bt .
S dng quy tc o bt ny, ta sinh c m Gray G
4
nh sau:
000
(1)
001
(2)
011
(1)
010
(2)
110
(1)
111
(2)
101
(1)
100.
L Hng Phng (HUS, VNU) 08/2012 28 / 57
Bi tp
Bi tp 7. Vit chng trnh ci t thut ton tm mi tp con ca
tp hp bng thut ton sinh m Gray n bt theo thut
ton o bt.
Bi tp 8. Vit chng trnh gii bi ton sau. C n gi ko, trong
mi gi ko cha a
i
ci ko, i = 1, 2, . . . , n. Hy tm cch
chia n gi ko thnh hai phn sao cho hiu s ko ca
hai phn l nh nht.
L Hng Phng (HUS, VNU) 08/2012 29 / 57
M t hnh hc
Nu coi mi dy nh phn trong m Gray n bt l mt nh ca th;
hai nh k nhau nu hai dy nh phn ch khc nhau 1 bt th m
Gray n bt tng ng vi mt ng i Hamilton trn th ny.
0 1
00 01
10 11
000 001
011 010
110 111
101 100
n = 1 n = 2 n = 3
L Hng Phng (HUS, VNU) 08/2012 30 / 57
Ni dung
1
Gii thiu
2
Sinh cc tp con
Thut ton cng mt
Thut ton quy
Thut ton m Gray
3
Sinh cc tp con k phn t
Cc h s nh thc
Thut ton sinh theo th t t in
Mt s thut ton khc
4
Tm lc
L Hng Phng (HUS, VNU) 08/2012 31 / 57
Ni dung
1
Gii thiu
2
Sinh cc tp con
Thut ton cng mt
Thut ton quy
Thut ton m Gray
3
Sinh cc tp con k phn t
Cc h s nh thc
Thut ton sinh theo th t t in
Mt s thut ton khc
4
Tm lc
L Hng Phng (HUS, VNU) 08/2012 32 / 57
Cc kt hp
Ta xt cc tp con k phn t ca mt tp hp c n phn t. Cc
tp ny gi l cc kt hp.
V d, cc 3-t hp ca 5 phn t a, b, c, d, e l:
abc, abd, abe, acd, ace, ade, bcd, bce, bde, cde.
Ta m c 10 t hp. Tng qut, c bao nhiu kt hp ca n
phn t?
L Hng Phng (HUS, VNU) 08/2012 33 / 57
Cc kt hp
T mc m cc hon v, ta thy c n(n 1) (n k + 1) cch
chn k phn t u tin ca mt hon v gm n phn t; v mi
kt hp xut hin ng k! ln trong cc xp t ny, v mi t
hp xut hin trong mi hon v ca n.
V vy s kt hp ca n phn t l:
n
k
=
n(n 1) (n k + 1)
k(k 1) (1)
.
Ta dng k hiu
n
k
, hoc C
k
n
ch s t hp. i lng ny cn
c gi l cc h s nh thc.
L Hng Phng (HUS, VNU) 08/2012 34 / 57
Cc h s nh thc
Cc h s nh thc ng vi n mt s gi tr u tin ca k.
n
0
n
1
n
2
n
3
n
4
n
5
n
6
n
7
n
8
1 0 0 0 0 0 0 0 0
1 1 0 0 0 0 0 0 0
1 2 1 0 0 0 0 0 0
1 3 3 1 0 0 0 0 0
1 4 6 4 1 0 0 0 0
1 5 10 10 5 1 0 0 0
1 6 15 20 15 6 1 0 0
1 7 21 35 35 21 7 1 0
1 8 28 56 70 56 28 8 1
Tam gic Pascal Blaise Pascal, Trait du triangle arithmtique, 1653.
L Hng Phng (HUS, VNU) 08/2012 35 / 57
Cc h s nh thc Biu din bng giai tha
Mt s k thut c bn tnh ton cc h s nh thc c lit k
ngn gn nh di y.
1. Biu din bng giai tha. Ta c cng thc biu din:
n
k
=
n!
k!(n k)!
.
Hai phng php chng minh cng thc ny:
Chng minh bng tnh ton
Chng minh bng lp lun
L Hng Phng (HUS, VNU) 08/2012 36 / 57
Cc h s nh thc Tnh cht i xng
2. Tnh cht i xng.
n
k
n
n k
.
(Ch : khi k > n th h s nh thc bng 0.)
C th chng minh tnh cht ny bng cng thc tnh h s nh
thc.
Tuy nhin, tnh cht ny l d hiu v s cch chn cc tp k phn
t t n phn t cng chnh l s cch chn cc tp b gm n k
phn t t n phn t. Do s kt hp chnh l s n k t hp.
Ch rng tnh cht i xng c th hin trong mi hng ca
tam gic Pascal.
L Hng Phng (HUS, VNU) 08/2012 37 / 57
Cc h s nh thc Cng thc cng
3. Cng thc cng. Ta c tnh cht c bn
n
k
n 1
k 1
n 1
k
.
Tnh cht ny c th c chng minh bng cch t nhin nh sau.
chn k phn t t n phn t a
1
, a
2
, . . . , a
n
, ta c th chn bng mt
trong hai cch:
chn phn t a
1
, khi ta cn chn k 1 phn t na t n 1
phn t cn li; s cch chn ny l
n1
k1
;
khng chn phn t a
1
, khi ta cn chn k phn t t n 1
phn t cn li; s cch chn ny l
n1
k
.
Nh vy, s kt hp ca n phn t chnh l tng ca hai i lng
trn.
L Hng Phng (HUS, VNU) 08/2012 38 / 57
Cc h s nh thc Cng thc cng
3. Cng thc cng. Ta c tnh cht c bn
n
k
n 1
k 1
n 1
k
.
Tnh cht ny c th c chng minh bng cch t nhin nh sau.
chn k phn t t n phn t a
1
, a
2
, . . . , a
n
, ta c th chn bng mt
trong hai cch:
chn phn t a
1
, khi ta cn chn k 1 phn t na t n 1
phn t cn li; s cch chn ny l
n1
k1
;
khng chn phn t a
1
, khi ta cn chn k phn t t n 1
phn t cn li; s cch chn ny l
n1
k
.
Nh vy, s kt hp ca n phn t chnh l tng ca hai i lng
trn.
L Hng Phng (HUS, VNU) 08/2012 38 / 57
Cc h s nh thc Cng thc cng
Trong tam gic Pascal, mi gi tr u l tng ca hai gi tr hng
trc v bn tri n. V d
5 10
15
(15 = 5 + 10)
21 7
28
(21 = 7 + 28)
n
0
n
1
n
2
n
3
n
4
n
5
n
6
n
7
n
8
1 0 0 0 0 0 0 0 0
1 1 0 0 0 0 0 0 0
1 2 1 0 0 0 0 0 0
1 3 3 1 0 0 0 0 0
1 4 6 4 1 0 0 0 0
1 5 10 10 5 1 0 0 0
1 6 15 20 15 6 1 0 0
1 7 21 35 35 21 7 1 0
1 8 28 56 70 56 28 8 1
L Hng Phng (HUS, VNU) 08/2012 39 / 57
Cc h s nh thc Cng thc tch
4. Cng thc tch. Ta c cng thc tch sau:
n
m
m
k
n
k
n k
mk
.
Tng t nh trn, cng thc ny c th c chng minh d
dng bng cch khai trin t hp.
Tuy nhin, ta c th chng minh cng thc ny bng cch suy
lun.
L Hng Phng (HUS, VNU) 08/2012 40 / 57
Cc h s nh thc Cng thc tch
Xt ba tp hp /, /, A. Gi s [/[ = k, [/[ = m, [A[ = n.
Ta thy i lng bn tri ca cng thc chnh l s cc cp tp
hp (/, /) tho mn iu kin / / A v tp / c th
chn bng
n
m
cch.
A
/
/
A /
L Hng Phng (HUS, VNU) 08/2012 41 / 57
Cc h s nh thc Cng thc tch
Ta cng c th tnh s cp (/, /) ny bng cch khc nh sau.
Chn tp / trc, c
n
k
cch chn tp /.
Vi mi cch chn /, ta chn tp / sao cho / / A. S
cch chn tp / bng s cch chn tp / K trong tp A /
v bng
nk
mk
.
T , s cch chn cc cp (/, /) l
n
k
nk
mk
.
L Hng Phng (HUS, VNU) 08/2012 42 / 57
Cc h s nh thc Cng thc tch
Cng thc tch trn rt hu dng khi x l cc cng thc t hp
trong c mt ch s ( y l m) xut hin ng thi c v tr di
v trn trong cc t hp; ta c th chuyn ch s xung v tr di
nh cng thc tch.
Vi k = 1, ta c
n
m
m
1
n
1
n 1
m1
,
hay
n
m
=
n
m
n 1
m1
.
Cng thc ny c gi l cng thc di chuyn cc phn t ra khi
ngoc.
L Hng Phng (HUS, VNU) 08/2012 43 / 57
Cc h s nh thc Khai trin nh thc
5. Cng thc nh thc.
(x + y)
n
=
n
k=0
n
k
x
k
y
nk
.
Chnh v cng thc ny nn s kt hp c gi l cc
h s nh thc.
Ch rng cng thc ny cho ta
0
0
= 1.
Trong trng hp ring khi y = 1, ta c
(1 + x)
n
=
n
k=0
n
k
x
k
.
V khi x = 1, ta c
2
n
=
n
k=0
n
k
.
L Hng Phng (HUS, VNU) 08/2012 44 / 57
Cc h s nh thc Khai trin nh thc
5. Cng thc nh thc.
(x + y)
n
=
n
k=0
n
k
x
k
y
nk
.
Chnh v cng thc ny nn s kt hp c gi l cc
h s nh thc.
Ch rng cng thc ny cho ta
0
0
= 1.
Trong trng hp ring khi y = 1, ta c
(1 + x)
n
=
n
k=0
n
k
x
k
.
V khi x = 1, ta c
2
n
=
n
k=0
n
k
.
L Hng Phng (HUS, VNU) 08/2012 44 / 57
Cc h s nh thc Tng ca tch
6. Tng ca tch.
n + m
k
=
n
s=0
n
s
m
k s
.
Cng thc ny c chng minh bng lp lun n gin nh sau.
Ta c n qu cam v m qu to v mun ly k qu, vi
0 k n + m.
Trong mi ln ly, ta c th ly s qu cam v k s qu to. C
n
s
m
ks
n + m
k
=
n
s=0
n
s
m
k s
.
Cng thc ny c chng minh bng lp lun n gin nh sau.
Ta c n qu cam v m qu to v mun ly k qu, vi
0 k n + m.
Trong mi ln ly, ta c th ly s qu cam v k s qu to. C
n
s
m
ks