Professional Documents
Culture Documents
2
Dãy (sequence)
Một dãy là một ánh xạ từ một tập con của một tập các số nguyên
(thường là tập {0, 1, 2,…} hoặc tập {1, 2, 3,…}) đến một tập S.
Ta dùng an để kí hiệu ảnh của số nguyên n.
an là một số hạng (term) của dãy.
{an} được dùng để biểu diễn một dãy a1, a2, a3,…
Chú ý: “{}” giống với kí hiệu dùng trong tập hợp.
3
Dãy
Ví dụ:
an = n2, với n = 1, 2, 3, …
Các phần tử của dãy là gì?
1, 4, 9, 16, 25, …
an = (-1)n, với n = 0, 1, 2, 3, …
Các phần tử của dãy là gì?
1, -1, 1, -1, 1, …
an = 2n, với n = 0, 1, 2, 3, …
Các phần tử của dãy là gì?
1, 2, 4, 8, 16, 32, …
4
Dãy
Ví dụ:
an = n2, với n = 1, 2, 3, …
Các phần tử của dãy là gì?
1, 4, 9, 16, 25, …
an = (-1)n, với n = 0, 1, 2, 3, …
Các phần tử của dãy là gì?
1, -1, 1, -1, 1, …
an = 2n, với n = 0, 1, 2, 3, …
Các phần tử của dãy là gì?
1, 2, 4, 8, 16, 32, …
5
Dãy: Cấp số cộng
Một cấp số cộng (arithmetic progression) là một dãy số ở dạng:
a, a+d, a+2d, …, a+nd, …
Với a là số hạng khởi đầu và d là công sai; a, d ∈ ℝ.
Ví dụ:
sn = -1 + 4n với n = 0, 1, 2, 3, …
Các phần tử: -1, 3, 7, 11, …
6
Dãy: Cấp số nhân
Một cấp số nhân (geometric progression) là một dãy số ở dạng:
a, ar, ar2, …, ark, …
Với a là số hạng khởi đầu và r là công bội; a, r ∈ R.
Ví dụ:
an = (1/2)n với n = 0, 1, 2, 3, …
Các phần tử: 1, ½, ¼, 1/8, …
7
Dãy: tìm luật sinh
Việc tìm ra luật (hàm) để sinh ra một dãy cho trước là không đơn
giản.
Ví dụ:
Giả sử dãy: 1, 3, 5, 7, 9, …
Công thức của dãy số là gì?
Từng số hạng được tạo ra nhờ cộng 2 vào số hạng trước
nó.
1, 1+2=3, 3+2=5, 5+2=7
Một cấp số cộng: a + nd, với a = 1 và d = 2: an = 1+2n
8
Dãy: tìm luật sinh
Việc tìm ra luật (hàm) để sinh ra một dãy cho trước là không đơn
giản.
Ví dụ:
Giả sử dãy: 1, 1/3, 1/9, 1/27, …
Công thức của dãy số là gì?
Các mẫu số đều là bội của 3.
1, 1/3=1/3, (1/3)/3=1/(3*3)=1/9, (1/9)/3=1/27
Một cấp số nhân: ark, với a=1 và r=1/3: (1/3)n
9
Dãy: Quan hệ truy hồi (recurrence
relation)
Phần tử thứ n của dãy {an} được định nghĩa truy hồi dựa trên
các phần tử trước đó của dãy và phần tử khởi đầu của dãy.
Ví dụ:
an = an-1 + 2 giả sử a0 = 1;
a0 = 1;
a1 = 3;
a2 = 5;
a3 = 7;
Viết an dưới dạng tường minh?
an = 1 + 2n
10
Dãy Fibonacci
Là một dãy được định nghĩa truy hồi, với
f0 = 0, f1 = 1;
fn = fn-1 + fn-2 với n = 2, 3, …
11
Dãy: ví dụ
Lãi suất cộng dồn: Giả sử một người gửi $10,000 vào tài
khoản tiết kiệm tại một ngân hàng với lãi suất cộng dồn là
11%/năm. Hỏi sau 30 năm thì số tiền trong tài khoản ngân hàng
của người này là bao nhiêu?
Lời giải:
Gọi Pn là số tiền trong tài khoản tiết kiệm sau n năm.
Dãy {Pn} sẽ có định nghĩa truy hồi như sau
Pn = Pn-1 + 0.11 Pn-1 = (1.11) Pn-1.
Do đó, P30 = $228,922.97.
12
Tổng (summation)
Tổng của các số hạng của một dãy:
𝑛
𝑎𝑗 = 𝑎𝑚 + 𝑎𝑚+1 + ⋯ + 𝑎𝑛
𝑗=𝑚
Biến j được gọi là chỉ số (index) lấy tổng.
m là giới hạn dưới và
n là giới hạn trên của biến đếm
13
Tổng
Ví dụ:
Tính tổng 7 số hạng đầu của {n2} với n = 1, 2, 3, …
σ7𝑗=1 𝑎𝑗 = σ7𝑗=1 𝑗 2 = 1 + 4 + 9 + 16 + 25 + 36 + 49 = 140
14
Chuỗi cấp số cộng
Tổng của các phần tử của một cấp số cộng a, a+d, a+2d, …,
a+nd được gọi là một chuỗi cấp số cộng (arithmetic series).
Định lý: Tổng của các phần tử của một cấp số cộng a, a+d,
a+2d, …, a+nd là
𝑆 = σ𝑛𝑗=0 𝑎 + 𝑗𝑑
𝑛
𝑛(𝑛 + 1)
= (𝑛 + 1)𝑎 + 𝑑 𝑗 = (𝑛 + 1)𝑎 + 𝑑
2
𝑗=0
Tính như thế nào?
15
Chuỗi cấp số cộng
Định lý: Tổng của các số hạng của một cấp số cộng a, a+d,
a+2d, …, a+nd là
𝑆 = σ𝑛𝑗=0 𝑎 + 𝑗𝑑
𝑛(𝑛+1)
= (𝑛 + 1)𝑎 + 𝑑 σ𝑛𝑗=0 𝑗 = (𝑛 + 1)𝑎 + 𝑑
2
Chứng minh:
𝑆 = σ𝑛𝑗=0 𝑎 + 𝑗𝑑
𝑛 𝑛 𝑛
= 𝑎 + 𝑗𝑑 = (𝑛 + 1)𝑎 + 𝑑 𝑗
𝑗=0 𝑗=0 𝑗=0
σ𝑛𝑗=0 𝑗 = 1 + 2 + 3 + 4 + ⋯ + 𝑛 − 2 + 𝑛 − 1 + 𝑛
16
Chuỗi cấp số cộng
Ví dụ:
S = σ5𝑗=1 2 + 𝑗3 =
= σ5𝑗=1 2 + σ5𝑗=1 𝑗3 =
= 2 σ5𝑗=1 1 + 3 σ5𝑗=1 𝑗 =
= 2 ∗ 5 + 3 σ5𝑗=1 𝑗 =
(5+1)
= 10 + 3 ∗5 =
2
= 10 + 45 = 55
17
Chuỗi cấp số cộng
Ví dụ:
𝑆 = σ4𝑖=1 σ2𝑗=1 2𝑖 − 𝑗 =
18
Chuỗi cấp số cộng
Ví dụ:
𝑆 = σ4𝑖=1 σ2𝑗=1 2𝑖 − 𝑗 =
19
Chuỗi cấp số cộng
Ví dụ:
𝑆 = σ4𝑖=1 σ2𝑗=1 2𝑖 − 𝑗 =
S=0;
for(i=1; i<4; i++)
for(j=1; j<2; j++)
S+=(2*i-j);
20
40 20
𝑆 = 2𝑖 − 𝑗
𝑖=1 𝑗=1
21
Chuỗi cấp số nhân
Tổng của các số hạng của một cấp số nhân a, ar, ar2,…,ark
được gọi là một chuỗi cấp số nhân (Geometric series).
Định lý: Tổng của các số hạng của một cấp số nhân a, ar,
ar2,…,arn là
𝑛 𝑛 𝑛+1
𝑗 𝑗
𝑟 −1
𝑆 = (𝑎𝑟 ) = 𝑎 𝑟 = 𝑎
𝑟−1
𝑗=0 𝑗=0
22
Chuỗi cấp số nhân
Định lý: Tổng của các số hạng của một cấp số nhân a, ar, ar2,…,arn là
𝑛 𝑛 𝑛+1
𝑟 −1
𝑆 = (𝑎𝑟 𝑗 ) = 𝑎 𝑟 𝑗 = 𝑎
𝑟−1
𝑗=0 𝑗=0
Chứng minh:
𝑛
𝑆 = 𝑎𝑟 𝑗 = 𝑎 + 𝑎𝑟 + 𝑎𝑟 2 + 𝑎𝑟 3 + ⋯ + 𝑎𝑟 𝑛
𝑗=0
Nhân S với r
𝑛
𝑟𝑆 = 𝑟 𝑎𝑟 𝑗 = 𝑎𝑟 + 𝑎𝑟 2 + 𝑎𝑟 3 + ⋯ + 𝑎𝑟 𝑛+1
𝑗=0
Trừ 𝑟𝑆 − 𝑆 = 𝑎𝑟 + 𝑎𝑟 2 + 𝑎𝑟 3 + ⋯ + 𝑎𝑟 𝑛+1 − ሾ𝑎 + 𝑎𝑟 + 𝑎𝑟 2 + ⋯ +
23
Chuỗi cấp số nhân
Ví dụ:
3
𝑆 = 2(5)𝑗 =
𝑗=0
Công thức tổng quát:
𝑛 𝑛
𝑟 𝑛+1 − 1
𝑆 = (𝑎𝑟 𝑗 ) = 𝑎 𝑟 𝑗 = 𝑎
𝑟−1
𝑗=0 𝑗=0
3
54−1
𝑆 = 2(5)𝑗 = 2 ∗ =
5−1
𝑗=0
625 − 1 624
=2∗ =2∗ = 2 ∗ 156 = 312
4 4
24
8
𝑆 = (2. 3𝑗 + 3. 2𝑗 )
𝑗=0
25
Chuỗi cấp số nhân vô hạn
Chuỗi cấp số nhân vô hạn (Infinite geometric series) có thể được
tính dưới dạng đóng với x < 1
Bằng cách nào?
∞ 𝑘
𝑥 𝑘+1 − 1 1 1
𝑛 𝑛
𝑥 = lim 𝑥 = lim =− =
𝑘→∞ 𝑘→∞ 𝑥 − 1 𝑥−1 1−𝑥
𝑛=0 𝑛=0
Do đó:
∞
1
𝑥𝑛 =
1−𝑥
𝑛=0
26
Dãy: ví dụ
Một số dãy hữu ích cùng công thức
27
Nội dung chính
Dãy số và xâu kí tự
Phép quy nạp toán học
Định nghĩa đệ quy
Các thuật toán đệ quy
28
Quy nạp toán học (Induction)
Được sử dụng để chứng minh các mệnh đề dạng
∀x P(x), x ∈ ℤ+
Gồm 2 bước:
Cơ bản: Chứng minh P(1) đúng
Bước quy nạp: Chứng minh P(n) P(n+1) đúng với mọi số
dương n.
Kết luận ∀n P(n)
29
Quy nạp toán học
Tiên đề: Tính được sắp tốt (Well-ordering property)
Mọi tập con không rỗng của tập số nguyên dương có một
phần tử nhỏ nhất.
Tính đúng đắn của quy nạp toán học
Giả sử tồn tại ít nhất một số n để P(n) sai.
30
Quy nạp toán học
Tiên đề: Tính được sắp tốt (Well-ordering property)
Mọi tập con không rỗng của tập số nguyên dương có một phần tử
nhỏ nhất.
Tính đúng đắn của quy nạp toán học
Giả sử tồn tại ít nhất một số n để P(n) sai.
Gọi S là một tập các số nguyên dương sao cho P(n) sai.
Thế thì, S ≠ ∅.
Dựa vào tính được sắp tốt, S có phần tử nhỏ nhất, giả sử là k
Do P(1) đúng nên k không thể bằng 1, hay k > 1,
k – 1 > 0 và P(k-1) đúng (vì k là số nguyên nhỏ nhất mà P(k) sai)
Mà: P(k-1) P(k) đúng
Do đó, P(k) đúng (phản chứng)
Vì vậy, ∀n P(n).
31
Quy nạp toán học
Ví dụ: Chứng minh tổng của n số nguyên dương lẻ đầu tiên là
n2, với mọi số nguyên dương. P(n): 1 + 3 + 5 + 7 + … + (2n-1) =
n2 .
Chứng minh:
32
Quy nạp toán học
Ví dụ: Chứng minh tổng của n số nguyên lẻ đầu tiên là n2, với
mọi số nguyên dương. P(n): 1 + 3 + 5 + 7 + … + (2n-1) = n2.
Chứng minh:
Bước cơ bản: P(1) đúng, vì 1 = 12.
Bước quy nạp:
Giả sử P(n) đúng, 1 + 3 + 5 + 7 + … + (2n-1) = n2
Khi đó P(n+1) đúng, vì
33
Quy nạp toán học
Ví dụ: Chứng minh n < 2n với mọi số nguyên dương n.
P(n): n < 2n.
Chứng minh
34
Quy nạp toán học
Ví dụ: Chứng minh n < 2n với mọi số nguyên dương n.
P(n): n < 2n.
Chứng minh
Bước cơ bản: 1 < 21 (luôn đúng)
Bước quy nạp: Nếu P(n) đúng thì P(n+1) cũng đúng với mọi
n.
Giả sử P(n): n < 2n đúng
P(n+1): n+1 < 2n+1 đúng, vì
n+1 < 2n + 1 < 2n + 2n = 2n(1+1) = 2n(2) = 2n+1
35
Quy nạp toán học
Ví dụ: Chứng minh n3 – n chia hết cho 3 với mọi số nguyên
dương. P(n): n3-n chia hết cho 3.
Chứng minh
36
Quy nạp toán học
Ví dụ: Chứng minh n3 – n chia hết cho 3 với mọi số nguyên
dương. P(n): n3-n chia hết cho 3.
Chứng minh
Bước cơ bản: P(1): 13 – 1 = 0 chia hết cho 3 (luôn đúng)
Bước quy nạp: Nếu P(n) đúng thì P(n+1) đúng với mọi số
nguyên dương.
Giả sử P(n): n3-n chia hết cho 3
Chứng minh P(n+1): (n+1)3 – (n+1) chia hết cho 3
37
Quy nạp toán học
Ví dụ: (Bài toán ném bánh) Một số lẻ người đứng trong sân sao
cho khoảng cách giữa 2 người bất kỳ nào đều không giống
nhau. Cùng một lúc, mỗi người sẽ ném 1 chiếc bánh về phía
người gần nhất với mình. Chứng minh rằng có ít nhất một người
không bị ai ném cả.
38
Quy nạp toán học
Lỗi mắc phải khi chứng minh bằng quy nạp
“Định lý:” Với mọi số nguyên dương n, nếu x và y là 2 số
nguyên dương thỏa mãn max(x, y) = n, thì x = y.
Chứng minh
Bước cơ bản: Với n = 1. Nếu max(x, y) = 1 và x, y đều
nguyên dương, ta có x = 1 và y = 1. P(1) đúng.
Bước quy nạp: Với k là một số nguyên dương, giả sử rằng
bất kể khi nào max(x, y) = k và x, y đều nguyên dương thì x=y.
Nếu để max(x, y) = k + 1, thì max(x − 1, y − 1) = k, do đó theo
giả thuyết quy nạp ta có x − 1 = y − 1.
Có nghĩa là x = y [đpcm]
39
Quy nạp mạnh (Strong induction)
Quy nạp thông thường:
Dùng bước cơ bản: 𝑃(1)
Bước quy nạp: 𝑃(𝑘) 𝑃(𝑘 + 1) với mọi k nguyên dương
40
Quy nạp mạnh
Ví dụ: Chứng minh một số nguyên dương lớn hơn 1 có thể
được biểu diễn dưới dạng 1 số nguyên tố hoặc tích của các số
nguyên tố.
Chứng minh:
Bước cơ bản: P(2) đúng
Bước quy nạp: Giả sử P(2), P(3),…P(n) đúng. Chứng minh
P(n+1) cũng đúng. Có 2 trường hợp:
Nếu n+1 là số nguyên tố thì P(n+1) đương nhiên đúng
Nếu n+1 là hợp số thì nó có thể được biểu diễn là tích của
2 số nguyên (n+1) = a*b sao cho 1<a,b<n+1
Từ giả sử P(a) và P(b) đúng, ta có P(n+1) đúng.
41
Quy nạp mạnh
Ví dụ: Một trò chơi trong đó 2 người chơi lần lượt lấy ra một số
k>0 bất kỳ các que diêm (mà họ muốn) từ 1 trong 2 đống diêm.
Người chơi nào lấy được 1 que diêm cuối cùng sẽ thắng.
Chứng minh rằng nếu ban đầu 2 đống diêm chứa số que diêm
bằng nhau thì người chơi thứ 2 luôn có cách thắng.
42
Nội dung chính
Dãy số và xâu kí tự
Phép quy nạp toán học
Định nghĩa đệ quy
Các thuật toán đệ quy
43
Định nghĩa đệ quy (Recursive definition)
Một đối tượng (hàm, dãy, thuật toán, cấu trúc) trong một số
trường hợp có thể được định nghĩa bằng chính nó. Quy trình
này được gọi là đệ quy (recursion).
Ví dụ:
Định nghĩa đệ quy của một cấp số cộng:
an = a + nd
an = an-1 + d, a0 = a
Định nghĩa đệ quy của một cấp số nhân:
xn = arn
xn = rxn-1, x0 = a
44
Định nghĩa đệ quy
Trong một số trường hợp, các đối tượng sẽ được định nghĩa một
cách dễ dàng và dễ hiểu hơn khi sử dụng định nghĩa đệ quy.
Ví dụ:
Thuật toán tính ước chung lớn nhất gcd:
gcd(79,35) = gcd(35,9)
Tổng quát hơn: gcd(a,b) = gcd(b, a mod b)
Hàm giai thừa
n! = n(n-1)! và 0! = 1
Các bộ sinh số giả ngẫu nhiên:
xn+1=(axn+c) mod m
45
Định nghĩa đệ quy cho hàm
Để định nghĩa đệ quy một hàm trên tập các số nguyên không âm
Xác định giá trị của hàm tại 0
Đưa ra một quy tắc để tìm giá trị của hàm tại n+1 theo giá trị
của hàm đó tại các số nguyên i <= n.
46
Định nghĩa đệ quy cho hàm
Ví dụ:
Giả sử một hàm đệ quy trên tập các số nguyên dương:
f(0) = 3
f(n+1) = 2f(n) + 3
Giá trị của f(0) là gì? 3
f(1) = 2f(0) + 3 = 2(3) + 3 = 6 + 3 = 9
f(2) = f(1+1) = 2f(1) + 3 = 2(9) + 3 = 18 + 3 = 21
f(3) = f(2+1) = 2f(2) + 3 = 2(21) + 3 = 42 + 3 = 45
f(4) = f(3+1) = 2f(3) + 3 = 2(45) + 3 = 90 + 3 = 93
47
Định nghĩa đệ quy cho hàm
Ví dụ:
Hàm f(n) = 2n + 1 với n = 0,1,2,… được định nghĩa đệ quy như
sau:
f(0) = 1
f(n+1) = f(n) +2
Dãy: an = n2 với n = 1,2,3,… được định nghĩa đệ quy như sau:
a1 = 1
an+1 = an + (2n+1), n >= 1
48
Định nghĩa đệ quy cho hàm
Ví dụ:
Định nghĩa đệ quy của tổng n số nguyên dương đầu tiên
F(n) = σ𝑛𝑖=1 𝑖
F(1) = 1
F(n+1) = F(n) + (n+1), n >= 1
49
Định nghĩa đệ quy: xâu ký tự
Cho trước tập các chữ cái ∑
Ví dụ: ∑ = {a,b}
∑*
Một tập gồm tất cả các xâu chỉ chứa những kí tự trong ∑
Ví dụ: ∑* = {“”,a,aa,aaa,aaa…,ab,…b,bb,bbb,…}
Định nghĩa đệ quy của ∑*
Xâu rỗng 𝞴 ∈ ∑*
Nếu w ∈ ∑* và x ∈ ∑ thì wx ∈ ∑*
50
Định nghĩa đệ quy: xâu ký tự
Ví dụ:
Tìm một định nghĩa đệ quy của 𝑙(w), là độ dài của xâu w.
Giải pháp:
𝑙(“”) = 0; (độ dài của xâu rỗng)
𝑙(wx) = 𝑙(w) + 1 nếu w ∈ σ* và x ∈ σ.
51
Định nghĩa đệ quy
Các cấu trúc dữ liệu
52
Nội dung chính
Dãy số và xâu kí tự
Phép quy nạp toán học
Định nghĩa đệ quy
Các thuật toán đệ quy
53
Thuật toán đệ quy
Một thuật toán được gọi là “đệ quy” nếu nó giải quyết một vấn
đề bằng cách giải quyết vấn đề tương tự nhưng với kích thước
đầu vào nhỏ hơn.
Dễ cài đặt
Ví dụ:
54
Thuật toán đệ quy
Thuật toán đệ quy tính an.
56
Thuật toán đệ quy
Thuật toán đệ quy tính ước chung lớn nhất.
58
Thuật toán đệ quy
Thuật toán đệ quy tìm kiếm tuyến tính
59
Thuật toán đệ quy
Thuật toán đệ quy tìm kiếm nhị phân
60
Bài 1: Cài đệ quy thuật
toán tìm kiếm tuyến
tính nhưng dịch j
61
Thuật toán đệ quy
Thuật toán sắp xếp trộn (merge sort)
Ví dụ: 8, 2, 4, 6, 9, 7, 10, 1, 5, 3
62
Thuật toán đệ quy
Thuật toán sắp xếp trộn (merge sort)
Độ phức tạp O(n log n)
63
Thuật toán đệ quy
Tính đúng đắn của thuật toán đệ quy được chứng minh bằng
phương pháp quy nạp [mạnh] toán học
Ví dụ thuật toán an
Bước cơ bản: Nếu n = 0, bước đầu tiên của thuật toán cho
chúng ta biết power(a, 0) = 1. Điều này đúng vì a0 =1 với mọi a
≠ 0.
Bước đệ quy: Giả sử thuật toán tính chính xác được ak, cần
phải chứng minh rằng nó cũng tính chính xác được ak+1
power(a, k+1) = a * power(a, k) = a * ak = ak+1
64
Nội dung chính
Dãy số và xâu kí tự
Phép quy nạp toán học
Định nghĩa đệ quy
Các thuật toán đệ quy
66