You are on page 1of 70

cc tp con ca mt tp hp

Bi ging chuyn Mt s thut ton t hp


L Hng Phng
1
1
Khoa TonCTin hc
Trng i hc Khoa hc T nhin, HQG H Ni
<phuonglh@gmail.com>
08/2012
L Hng Phng (HUS, VNU) 08/2012 1 / 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 2 / 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 2 / 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 2 / 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 2 / 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 2 / 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 2 / 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 3 / 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
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 v tp / c th chn bng



m
k

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

cch ly k qu trong c s qu cam.


Gi tr ca s c th bin i t 0 ti n nn ta c cng thc tng
ca tch nu trn.
L Hng Phng (HUS, VNU) 08/2012 45 / 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

cch ly k qu trong c s qu cam.


Gi tr ca s c th bin i t 0 ti n nn ta c cng thc tng
ca tch nu trn.
L Hng Phng (HUS, VNU) 08/2012 45 / 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 46 / 57
Sinh cc kt hp
Gi s tp n phn t c k hiu l 1, 2, . . . , n.
Bi ton
Hy sinh mi tp con k phn t ca mt tp c n phn t.
L Hng Phng (HUS, VNU) 08/2012 47 / 57
Sinh cc kt hp theo th t t in
V d vi k = 3 v n = 5, ta c 10 tp con gm 3 phn t ca tp
0, 1, 2, 3, 4 theo th t nh sau:
Th t Tp a
0 {0, 1, 2} [0, 1, 2]
1 {0, 1, 3} [0, 1, 3]
2 {0, 1, 4} [0, 1, 4]
3 {0, 2, 3} [0, 2, 3]
4 {0, 2, 4} [0, 2, 4]
5 {0, 3, 4} [0, 3, 4]
6 {1, 2, 3} [1, 2, 3]
7 {1, 2, 4} [1, 2, 4]
8 {1, 3, 4} [1, 3, 4]
9 {2, 3, 4} [2, 3, 4]
L Hng Phng (HUS, VNU) 08/2012 48 / 57
Sinh cc kt hp theo th t t in
tng: Sinh tp con tip theo c th t ng ngay sau tp con
hin ti.
Gi s tp con hin ti l . . . , 5, 8, 9, 10, khi tp con ngay sau
l . . . , 6, 7, 8, 9.
Tng qut, nu tp con hin ti l a
1
, . . . , a
i1
, a
i
, . . . , a
k
th tp
con tip theo l
a
1
, . . . , a
i1
, a
i
+ 1, a
i
+ 2, . . . , a
i
+ k i + 1.
L Hng Phng (HUS, VNU) 08/2012 49 / 57
Sinh cc kt hp theo th t t in
tm v tr i (v tr bt u cp nht gi tr), ta xut pht t v
tr cui (i = k 1), gim i nu a
i
= n k + i.
Sau khi tm c v tr i th ta c th cp nht cc gi tr a
j
nh
sau:
a
i
= a
i
+ 1
a
j
= a
j1
+ 1, j = i + 1, . . . , k 1.
T , ta c th lit k mi k-t hp ca n phn t bng thut
ton lp sinh cc tp theo th t t in.
L Hng Phng (HUS, VNU) 08/2012 50 / 57
Sinh cc kt hp theo th t t in
void enumerate(int a[], int n, int k) {
int i, j;
for (i = 0; i < MAX; i++)
a[i] = i;
while (a[k - 1] < n) {
printSubset(a, k);
i = k - 1;
while (i > 0 && a[i] == n - k + i)
i--;
a[i]++;
for (j = i + 1; j < k; j++)
a[j] = a[j - 1] + 1;
}
}
L Hng Phng (HUS, VNU) 08/2012 51 / 57
Sinh cc kt hp theo th t t in
V d, thc hin thut ton vi n = 6 v k = 3 ta c 20 tp con sau:
Th t Tp Th t Tp
0 {0, 1, 2 } 10 {1, 2, 3 }
1 {0, 1, 3 } 11 {1, 2, 4 }
2 {0, 1, 4 } 12 {1, 2, 5 }
3 {0, 1, 5 } 13 {1, 3, 4 }
4 {0, 2, 3 } 14 {1, 3, 5 }
5 {0, 2, 4 } 15 {1, 4, 5 }
6 {0, 2, 5 } 16 {2, 3, 4 }
7 {0, 3, 4 } 17 {2, 3, 5 }
8 {0, 3, 5 } 18 {2, 4, 5 }
9 {0, 4, 5 } 19 {3, 4, 5 }
L Hng Phng (HUS, VNU) 08/2012 52 / 57
Bi tp
Bi tp 9. Vit chng trnh tm mi tp con gm k phn t ca
mt tp n phn t bng phng php t in. Chy th
chng trnh vi cc d liu khc nhau v kim tra kt
qu.
L Hng Phng (HUS, VNU) 08/2012 53 / 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 54 / 57
Mt s thut ton khc
Tham kho thm mt s thut ton sinh cc tp con khc trong:
D. E. Knuth, The Art of Computer Programming: Introduction to
Combinatorial Algorithms and Boolean Functions, 1st ed.
Addison Wesley Publishing, 2008, vol. 4.
F. Ruskey, Adjacent interchange generation of combinations,
Journal of Algorithms, vol. 9, pp. 162180, 1988.
T. Hough and F. Ruskey, An effcient implementation of the
Eades, Hickey, Read adjacent interchange combination generation
algorithm, Journal of Combinatorial Mathematics and
Combinatorial Computing, vol. 4, pp. 7986, 1988.
S. G. Akl, A comparison of combination generation methods,
ACM Trans. Math. Softw., vol. 7, no. 1, pp. 4245, 1981.
L Hng Phng (HUS, VNU) 08/2012 55 / 57
Mt s thut ton khc
Tham kho thm mt s thut ton sinh cc tp con khc trong:
D. E. Knuth, The Art of Computer Programming: Introduction to
Combinatorial Algorithms and Boolean Functions, 1st ed.
Addison Wesley Publishing, 2008, vol. 4.
F. Ruskey, Adjacent interchange generation of combinations,
Journal of Algorithms, vol. 9, pp. 162180, 1988.
T. Hough and F. Ruskey, An effcient implementation of the
Eades, Hickey, Read adjacent interchange combination generation
algorithm, Journal of Combinatorial Mathematics and
Combinatorial Computing, vol. 4, pp. 7986, 1988.
S. G. Akl, A comparison of combination generation methods,
ACM Trans. Math. Softw., vol. 7, no. 1, pp. 4245, 1981.
L Hng Phng (HUS, VNU) 08/2012 55 / 57
Mt s thut ton khc
Tham kho thm mt s thut ton sinh cc tp con khc trong:
D. E. Knuth, The Art of Computer Programming: Introduction to
Combinatorial Algorithms and Boolean Functions, 1st ed.
Addison Wesley Publishing, 2008, vol. 4.
F. Ruskey, Adjacent interchange generation of combinations,
Journal of Algorithms, vol. 9, pp. 162180, 1988.
T. Hough and F. Ruskey, An effcient implementation of the
Eades, Hickey, Read adjacent interchange combination generation
algorithm, Journal of Combinatorial Mathematics and
Combinatorial Computing, vol. 4, pp. 7986, 1988.
S. G. Akl, A comparison of combination generation methods,
ACM Trans. Math. Softw., vol. 7, no. 1, pp. 4245, 1981.
L Hng Phng (HUS, VNU) 08/2012 55 / 57
Mt s thut ton khc
Tham kho thm mt s thut ton sinh cc tp con khc trong:
D. E. Knuth, The Art of Computer Programming: Introduction to
Combinatorial Algorithms and Boolean Functions, 1st ed.
Addison Wesley Publishing, 2008, vol. 4.
F. Ruskey, Adjacent interchange generation of combinations,
Journal of Algorithms, vol. 9, pp. 162180, 1988.
T. Hough and F. Ruskey, An effcient implementation of the
Eades, Hickey, Read adjacent interchange combination generation
algorithm, Journal of Combinatorial Mathematics and
Combinatorial Computing, vol. 4, pp. 7986, 1988.
S. G. Akl, A comparison of combination generation methods,
ACM Trans. Math. Softw., vol. 7, no. 1, pp. 4245, 1981.
L Hng Phng (HUS, VNU) 08/2012 55 / 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 56 / 57
Tm lc
Cc ni dung chnh ca bi ging:
Biu din cc tp con ca mt tp hp
Ba thut ton sinh cc tp con ca mt tp hp:
Thut ton cng mt
Thut ton quy
Thut ton m Gray (phng php quy, phng php tnh
nhanh bng xor, phng php o bt)
Cc tp con k phn t:
Cc h s nh thc
Thut ton sinh cc tp con theo th t t in
Cc bi tp lp trnh cng c kin thc
L Hng Phng (HUS, VNU) 08/2012 57 / 57

You might also like