27/03/2008
1
HÀM SINH VÀ ỨNG DỤNG
Phạm Thế Bảo
Khoa Toán – Tin học
Trường Đại học Khoa học Tự nhiên Tp.HCM
• Bài toán: có 12 trái táo chia cho 03 bạnA,B,C.Theo
qui định: A lấyítnhất04trái,BvàClấyítnhất02trái,
C không lấy quá 05 trái. Vậy, có bao nhiêu cách chia?
Giới thiệu
Giải: gọia,b,clàsố táo của các bạnA,B,Cđược
chia. Ta có:
12
4
2
(*)
abc
a
b
⎧
++=
⎪
⎪
⎪
≥
⎪
⎪
⎨
⎪
≥
⎪
Số cách chia táo chính là số nghiệmcủaphương trình (*)
52c
≥
⎪
⎪
⎪
≥≥
⎪
⎩
Phạm Thế Bảo
27/03/2008
2
• Hay gọi G={a+b+c=12/ a≥4, b ≥2, 5≥c ≥2}. Thì
|G|=số lời giải. Ta đặt H={x
a+b+c
/ a,b,c∈N, x
a+b+c
= x
12
,
a≥4, b ≥2, 5≥c ≥2} thì |G|= |H| Ỉ cần tìm |H| Ỉ chính
là hệ số của x
12
trong phương trình
f(x)=(x
4
+x
5
+ )(x
2
+x
3
+ )(x
2
++x
5
)
f(x)=(x
+x
+
)(x
+x
+
)(x
+
+x
)
=
Khi k=12 thì a
k
chính là giá trị cần tìm Ỉ mục tiêu
ể
48
2
25
abc k
k
ak
b
c
xax
++
≤≤∞ =
≤≤∞
≤≤
=
∑∑
của bài tốn là tìm khai tri
ể
n của f(x).
Phạm Thế Bảo
• Xét chuỗi lũy thừa nếu
Chuỗi lũy thừa
0
n
với a
n
n
n
az C
∞
=
∈
∑
• Cho dãy số {a
n
}
∞
n=0
. Hàm sinh của dãy này là
h ỗi
0
()
n
n=0
hội tụ về G(z) thì chuỗi hội tụ và
G(z)= a
n
k
nk
k
n
Sz az
z
=
∞
=
∑
∑
∞
∑
c
h
u
ỗi
.
0
n
n
n
az
=
∑
Phạm Thế Bảo
27/03/2008
3
Quay li bi toỏn chia tỏo. Thay vỡ 4a v
2b ta cng cú th vit 4a8 v 2b6.
Thỡ:
865
()
abc
f
422
4 2342 2342 23
8 2342 23
2
54
88524
3
()
(1 ) (1 ) (1 )
(1 ) (1 )
11 1
(
1
)(
1
)
()
=
abc
abc
f
zzzz
zzzzzzzzzzzzzz
z zzzz zzz
zz
zzzz
===
=
= ++++ ++++ +++
= ++++ +++
=
3
()()
11
(
1
)
can xaực ủũnh heọ soỏ c
zz z
52 4
3
1
(1 ) (1 )
(1 )
4
uỷa z trong zz
z
Phm Th Bo
Theo chui ly tha ta cú:
Nờ t ú h
4
thil
2
3
34 2
1
1
12
(1 )
k
k
zz z
k
z
+
=+ + ++ +
Nờ
n
t
a c
ú
h
s
c
a z
4
t
rong c
h
u
i
n
y
l
Vy cú 14 cỏch gii bi toỏn chia tỏo.
6
6! 5*6
11114
4
4!2! 2
== = =
Phm Th Bo
27/03/2008
4
Tương tự cho bài toán:
Xét tập hợp {1,2, ,15} có bao nhiêu tập
con có 04 phần tử mà không chứa 02 số liên
tiếp nhau. Vị trí các phền tử trong một tập con
không quan trọng, ví dụ: {4,7,9,12} và
{
9
,
12
,
4
,
7
}
là như nhau.
{, ,,}
Phạm Thế Bảo
Dùng hàm sinh giải hệ thức truy hồi
• Trong quá trình phân tích thuật toán, chúng ta
tì đ độ hứ t ủ th ậtt á là ô
tì
m
đ
ược
độ
p
hứ
c
t
ạp c
ủ
a
th
u
ật
t
o
á
n
là
c
ô
ng
thức truy hồi.Ví dụ:
0
01
1
12
0
0
05
22
65 0 2
2
hay
n
nn n
nk
k
x
aa
n
aaa n
xx
n
−
−−
=
=
==
+
−
+=∀≥
=+
∑
• Chúng ta sẽ dùng hàm sinh để tìm nghiệm (độ
phức tạp của thuật toán)
0
k
Phạm Thế Bảo
27/03/2008
5
Hàm sinh của dãy xác suất
• Xét biếnAcóthể lấy các giá trị 0, 1, 2, Với
á
ấ
là
Với
≥
0
à
hì
1
∞
∑
x
á
csu
ấ
t
là
p
0
,p
1
,p
2
,
Với
p
i
≥
0
v
à
t
hì
hàm sinh củadãyxácsuất (phân bố)là
Ví
d
ét
th ật
tá
tì
ố
lớ
hất
t
0
1
k
k
p
=
=
∑
0
()
k
k
k
Gz pz
∞
=
=
∑
•
Ví
d
ụ x
ét
th
u
ật
t
o
á
n
tì
ms
ố
lớ
nn
hất
t
rong
mảng (ví dụ 3–phần đánh giá bằng công cụ
toán họccơ bản).
Phạm Thế Bảo
• Có thể thấy độ phức tạp là O(n). Vậy số lần
thực hiện α:
•
Tốithiểu:
0
Tối
thiểu:
0
• Tối đa: n-1
• Trung bình: ?
Nếu xét n=3, dữ liệu là một dãy số đôi một phân biệt
{a[0], a[1], a[0]} Æ có ? tổ hợp thứ tự
vớixácsuất ngang nhau là ?
6
1/6
với
xác
suất
ngang
nhau
là
?
1/6
Phạm Thế Bảo
27/03/2008
6
Vị trí Số lần gán Trung bình
A[0] < A[1] < A[2]
A[0] < A[2] < A[1]
A[1] < A[0] < A[2]
A[1] < A[2] < A[0]
2
1
1
0
=5/6
A[2] < A[0] < A[1]
A[2] < A[1] < A[0]
1
0
Dùng hàm sinh tính giá trị trung bình của α.
Giả sử mỗi n, gọi A
n
là số lần thực hiện α thì 0≤A
n
≤n-1.
Với mỗi k gọi p
n
,k
là xác suất để A
k
=k.
,
Có p
n,k
≥0, ∀k∈{0,1,2, ,n-1} và
,
0
1
nk
k
p
∞
=
=
∑
Phạm Thế Bảo
• Hàm sinh
• Gọi B là biến cố a
n
lớn nhất trong {a
1
, a
2
, , a
n
}
,
0
()
k
nnk
k
Gz pz
∞
=
=
∑
1
()
(xác suất tại bước thứ n có 1 phép gán)PB=
n-1
và P(B)=1-P(B)= (xác suất tại bươ
ù
c thứ n không có phép gán)
n
n
) ( ). ( / ) ( ). ( / )
n
n n-1,k-1 n n-1,k
có P(A
và P(A/B)=p , P(A/B)=p
nn
PB PA B PB PA B=+
1
n,k n-1,k-1 n-1,k
n-1
p p + p
nn
⇒=
Phạm Thế Bảo
27/03/2008
7
• Tại bước thứ n có 01 phép gán thì n-1 bước trước đó có k-1 phép gán.
• Tại bước thứ n khơng có phép gán thì n-1 bước trước đó có k phép gán.
1, 1 1,
11
1
1
()
1
()
n-1
= +
n
kk
nnk nk
kk
n
Gz p z p z
n
zn
Gz
−− −
==
+−
=
∑∑
1
()
121
12
11 1
() 1
truy hồi
=
hạng tử thứ k:
1
øt ù
n
n
zn zn z
nn
zk z k k
−
+− +− +
⎛⎞⎛ ⎞⎛⎞
⎜⎟⎜ ⎟⎜⎟
−
⎝⎠⎝ ⎠⎝⎠
+− − −
() 1
1
k
g ma
ø
t
a co
ù
k
nên là hàm sinh của da
z
kkk k
zk
k
==+ +=
+−
22
1
)()
n
õy xác suất
mean(G
nn
k
kk
mean g
k
==
⇒= =
∑∑
Phạm Thế Bảo
Qli bài t á khi 3 t ó
•
Q
uay
l
ạ
i
bài
t
o
á
n
khi
n=
3
t
a c
ó
mean(G
3
) = 1/2 +1/3 =5/6
Phạm Thế Bảo