You are on page 1of 70

cc tp con ca mt tp hp

Bi ging chuyn Mt s thut ton t hp

L Hng Phng1
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

Sinh cc
Thut
Thut
Thut

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

Tm lc

L Hng Phng

tp con
ton cng mt
ton quy
ton m Gray

(HUS, VNU)

08/2012

2 / 57

Ni dung
1

Gii thiu

Sinh cc
Thut
Thut
Thut

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

Tm lc

L Hng Phng

tp con
ton cng mt
ton quy
ton m Gray

(HUS, VNU)

08/2012

2 / 57

Ni dung
1

Gii thiu

Sinh cc
Thut
Thut
Thut

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

Tm lc

L Hng Phng

tp con
ton cng mt
ton quy
ton m Gray

(HUS, VNU)

08/2012

2 / 57

Ni dung
1

Gii thiu

Sinh cc
Thut
Thut
Thut

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

Tm lc

L Hng Phng

tp con
ton cng mt
ton quy
ton m Gray

(HUS, VNU)

08/2012

2 / 57

Ni dung
1

Gii thiu

Sinh cc
Thut
Thut
Thut

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

Tm lc

L Hng Phng

tp con
ton cng mt
ton quy
ton m Gray

(HUS, VNU)

08/2012

2 / 57

Ni dung
1

Gii thiu

Sinh cc
Thut
Thut
Thut

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

Tm lc

L Hng Phng

tp con
ton cng mt
ton quy
ton m Gray

(HUS, VNU)

08/2012

2 / 57

Ni dung
1

Gii thiu

Sinh cc
Thut
Thut
Thut

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

Tm lc

L Hng Phng

tp con
ton cng mt
ton quy
ton m Gray

(HUS, VNU)

08/2012

3 / 57

Gii thiu
Cho X = {x1 , x2 , . . . , xn } 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 hb1 , b2 , . . . , bn i xc nh nh sau:
(
1, nu xi Y,
bi =
0, nu xi 6 Y.
Ni ring, tp Y tng ng vi dy h0, 0, . . . , 0i v tp Y X
tng ng vi dy h1, 1, . . . , 1i.
Ta thy bi , i = 1, 2, . . . , n nhn gi tr nh phn nn s tp con ca
tp X l 2n .
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, 2n 1].
L Hng Phng

(HUS, VNU)

08/2012

4 / 57

Gii thiu
Cho X = {x1 , x2 , . . . , xn } 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 hb1 , b2 , . . . , bn i xc nh nh sau:
(
1, nu xi Y,
bi =
0, nu xi 6 Y.
Ni ring, tp Y tng ng vi dy h0, 0, . . . , 0i v tp Y X
tng ng vi dy h1, 1, . . . , 1i.
Ta thy bi , i = 1, 2, . . . , n nhn gi tr nh phn nn s tp con ca
tp X l 2n .
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, 2n 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;

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

Sinh cc
Thut
Thut
Thut

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

Tm lc

L Hng Phng

tp con
ton cng mt
ton quy
ton m Gray

(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 2n , 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

Sinh cc
Thut
Thut
Thut

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

Tm lc

L Hng Phng

tp con
ton cng mt
ton quy
ton m Gray

(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


a0 = h0, 0, . . . , 0i;

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
a1
a2
a3
a4
a5

= h0, 0, . . . , 0, 0, 1i
= h0, 0, . . . , 0, 1, 0i
= h0, 0, . . . , 0, 1, 1i
= h0, 0, . . . , 1, 0, 0i
= h0, 0, . . . , 1, 0, 1i

Dng thut ton khi k = 2n 1 hay khi dy nh phn l


h1, 1, . . . , 1, 1i.

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 ai = hb0 , b1 , . . . , bn i, dy ai+1 c


tm bng cch:
1

Xt cc bt bj vi j gim dn, bt u t n.

Lp, trong khi j 1:


nu bj = 1 th t bj = 0 v tip tc xt bj1 ;
nu bj = 0 th t bj = 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
1
2
3
4
5
6
7

L Hng Phng

(HUS, VNU)

h0, 0, 0, 0i
h0, 0, 0, 1i
h0, 0, 1, 0i
h0, 0, 1, 1i
h0, 1, 0, 0i
h0, 1, 0, 1i
h0, 1, 1, 0i
h0, 1, 1, 1i

8
9
10
11
12
13
14
15

h1, 0, 0, 0i
h1, 0, 0, 1i
h1, 0, 1, 0i
h1, 0, 1, 1i
h1, 1, 0, 0i
h1, 1, 0, 1i
h1, 1, 1, 0i
h1, 1, 1, 1i

08/2012

13 / 57

Ni dung
1

Gii thiu

Sinh cc
Thut
Thut
Thut

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

Tm lc

L Hng Phng

tp con
ton cng mt
ton quy
ton m Gray

(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

??1

?00
000

?10
100

010

?01
110

001

?11
101

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

Sinh cc
Thut
Thut
Thut

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

Tm lc

L Hng Phng

tp con
ton cng mt
ton quy
ton m Gray

(HUS, VNU)

08/2012

18 / 57

Thut ton m Gray


M Gray n-bt l mt danh sch gm 2n 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.

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 = 2n1 dy


nh phn:
1 , 2 , . . . , k1 , k

Phn x m Gray ny, tc lit k cc dy nh phn ca n theo


th t ngc li:
k , k1 , . . . , 2 , 1

t bt 0 ln trc cc dy trong danh sch ban u:


01 , 02 , . . . , 0k1 , 0k

t bt 1 ln trc cc dy trong danh sch phn x:


1k , 1k1 , . . . , 12 , 11

Ghp hai danh sch ny li s thu c m Gray n bt:


01 , 02 , . . . , 0k , 1k , 1k1 , . . . , 12 , 11 .

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
M phn x
t 0 ln trc m ban u
t 1 ln trc m phn x
Ghp hai m

L Hng Phng

(HUS, VNU)

00, 01, 11, 10


10, 11, 01, 00
000, 001, 011, 010
000, 001, 011, 010,

110, 111, 101, 100


110, 111, 101, 100

08/2012

22 / 57

Thut ton m Gray


M Gray 1 bt l G1 = h0, 1i. M ny c th c sinh t m Gray 0
bt G0 = hi ch gm mt dy rng theo cch trn.

Trong qu trnh sinh m Gn+1 t Gn ta thy mt s tnh cht sau:


Nu coi mi dy nh phn trong m Gn l mt s nguyn (trong c
s 10) th Gn l mt hon v ca dy s h0, 1, . . . , 2n 1i.
Gn c nhng vo na u ca Gn+1 .
Mi dy ca Gn ch khc vi dy ng trc n mt bt.2 .
Dy cui cng ca Gn ch khc dy u tin mt bt.

Ni cch khc, khong cch Hamming gia hai dy lin tip ca Gn 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 Gn+1 t m Gn 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 Gn 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 ab
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 Gn+1 t m Gn 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 Gn 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 ab
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 G3 :
i(10)

i(2)

(i/2)(2)

(i/2) i

G3

0
1
2
3
4
5
6
7

000
001
010
011
100
101
110
111

000
000
001
001
010
010
011
011

000 000
000 001
001 010
001 011
010 100
010 101
011 110
011 111

000
001
011
010
110
111
101
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 G3 .
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 G4 ).
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;

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 G4 nh sau:


(1)

(2)

(1)

(2)

(1)

(2)

(1)

000 001 011 010 110 111 101 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 ai 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.
110
010
00

111
011

01
100

1
n=1

L Hng Phng

(HUS, VNU)

10

11
n=2

000

101
001

n=3

08/2012

30 / 57

Ni dung
1

Gii thiu

Sinh cc
Thut
Thut
Thut

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

Tm lc

L Hng Phng

tp con
ton cng mt
ton quy
ton m Gray

(HUS, VNU)

08/2012

31 / 57

Ni dung
1

Gii thiu

Sinh cc
Thut
Thut
Thut

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

Tm lc

L Hng Phng

tp con
ton cng mt
ton quy
ton m Gray

(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
n(n 1) (n k + 1)
=
.
k
k(k 1) (1)

Ta dng k hiu nk , hoc Cnk 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
n
n
n
n
n
n
n
n
0

1
1
1
1
1
1
1
1
1

0
1
2
3
4
5
6
7
8

0
0
1
3
6
10
15
21
28

0
0
0
1
4
10
20
35
56

0
0
0
0
1
5
15
35
70

0
0
0
0
0
1
6
21
56

0
0
0
0
0
0
1
7
28

0
0
0
0
0
0
0
1
8

0
0
0
0
0
0
0
0
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
n!
.
=
k!(n k)!
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
n
=
.
k
nk
(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
n1
n1
=
+
.
k
k1
k
Tnh cht ny c th c chng minh bng cch t nhin nh sau.
chn k phn t t n phn t a1 , a2 , . . . , an , ta c th chn bng mt
trong hai cch:
chn phn t a1 , 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 a1 , khi ta cn chn


k phn t t n 1
n1
phn t cn li; s cch chn ny l 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
n1
n1
=
+
.
k
k1
k
Tnh cht ny c th c chng minh bng cch t nhin nh sau.
chn k phn t t n phn t a1 , a2 , . . . , an , ta c th chn bng mt
trong hai cch:
chn phn t a1 , 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 a1 , khi ta cn chn


k phn t t n 1
n1
phn t cn li; s cch chn ny l 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

L Hng Phng

10
15

21

(15 = 5 + 10)
n
0

n
1

1
1
1
1
1
1
1
1
1

0
1
2
3
4
5
6
7
8

(HUS, VNU)

n
2

0
0
1
3
6
10
15
21
28

n
3

0
0
0
1
4
10
20
35
56

n
4

0
0
0
0
1
5
15
35
70

n
5

0
0
0
0
0
1
6
21
56

7
28
n
6

0
0
0
0
0
0
1
7
28

(21 = 7 + 28)
n
7

n
8

0
0
0
0
0
0
0
1
8

0
0
0
0
0
0
0
0
1

08/2012

39 / 57

Cc h s nh thc Cng thc tch


4. Cng thc tch. Ta c cng thc tch sau:
    

n
m
n
nk
=
.
m
k
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 K, M, N . Gi s |K| = k, |M| = m, |N | = n.
Ta thy i lng bn tri ca cng thc chnh l s cc cp tp
hp (M, K) tho
mn iu kin K M N v tp
 M c th
n
chn bng m
cch v tp K c th chn bng m
k cch.
N
M
N \M

L Hng Phng

(HUS, VNU)

08/2012

41 / 57

Cc h s nh thc Cng thc tch


Ta cng c th tnh s cp (M, K) ny bng cch khc nh sau.

Chn tp K trc, c nk cch chn tp K.

Vi mi cch chn K, ta chn tp M sao cho K M N . S


cch chn tpM bng s cch chn tp M \ K trong tp N \ K
nk
v bng mk
.
 nk 
T , s cch chn cc cp (M, K) l 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
n
n1
=
,
m
1
1
m1

hay



 
n
n n1
.
=
m m1
m
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.
n

(x + y) =

n  
X
n
k=0

xk 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
00 = 1.
Trong trng hp ring khi y = 1, ta c
n  
X
n k
n
(1 + x) =
x .
k
k=0

V khi x = 1, ta c

2n =

n  
X
n
.
k
k=0

L Hng Phng

(HUS, VNU)

08/2012

44 / 57

Cc h s nh thc Khai trin nh thc


5. Cng thc nh thc.
n

(x + y) =

n  
X
n
k=0

xk 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
00 = 1.
Trong trng hp ring khi y = 1, ta c
n  
X
n k
n
(1 + x) =
x .
k
k=0

V khi x = 1, ta c

2n =

n  
X
n
.
k
k=0

L Hng Phng

(HUS, VNU)

08/2012

44 / 57

Cc h s nh thc Tng ca tch


6. Tng ca tch.


 X

n  
n+m
n
m
=
.
k
s
k

s
s=0

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 m 
s 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.


 X

n  
n+m
n
m
=
.
k
s
k

s
s=0

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 m 
s 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

Sinh cc
Thut
Thut
Thut

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

Tm lc

L Hng Phng

tp con
ton cng mt
ton quy
ton m Gray

(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
0
1
2
3
4
5
6
7
8
9

L Hng Phng

(HUS, VNU)

Tp
{0, 1, 2}
{0, 1, 3}
{0, 1, 4}
{0, 2, 3}
{0, 2, 4}
{0, 3, 4}
{1, 2, 3}
{1, 2, 4}
{1, 3, 4}
{2, 3, 4}

~a
[0, 1,
[0, 1,
[0, 1,
[0, 2,
[0, 2,
[0, 3,
[1, 2,
[1, 2,
[1, 3,
[2, 3,

2]
3]
4]
3]
4]
4]
3]
4]
4]
4]

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 {a1 , . . . , ai1 , ai , . . . , ak } th tp
con tip theo l
{a1 , . . . , ai1 , ai + 1, ai + 2, . . . , ai + 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 ai = n k + i.
Sau khi tm c v tr i th ta c th cp nht cc gi tr aj nh
sau:
ai = ai + 1
aj = aj1 + 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
0
1
2
3
4
5
6
7
8
9

L Hng Phng

(HUS, VNU)

Tp
{0, 1, 2
{0, 1, 3
{0, 1, 4
{0, 1, 5
{0, 2, 3
{0, 2, 4
{0, 2, 5
{0, 3, 4
{0, 3, 5
{0, 4, 5

}
}
}
}
}
}
}
}
}
}

Th t
10
11
12
13
14
15
16
17
18
19

Tp
{1, 2, 3
{1, 2, 4
{1, 2, 5
{1, 3, 4
{1, 3, 5
{1, 4, 5
{2, 3, 4
{2, 3, 5
{2, 4, 5
{3, 4, 5

}
}
}
}
}
}
}
}
}
}

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

Sinh cc
Thut
Thut
Thut

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

Tm lc

L Hng Phng

tp con
ton cng mt
ton quy
ton m Gray

(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

Sinh cc
Thut
Thut
Thut

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

Tm lc

L Hng Phng

tp con
ton cng mt
ton quy
ton m Gray

(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