Tải bản đầy đủ (.pdf) (18 trang)

công thức truy hồi và ứng dụng

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (172.8 KB, 18 trang )

Công thức truy hồi và ứng dụng
HVTH : Nhóm 6 – Lớp PP Toán sơ cấp K24 Trang 1

MỤC LỤC

Lời giới thiệu 2

Chương 1. ðẠI CƯƠNG VỀ TỔ HỢP 4

1.
Sơ lược lịch sử 4

2.
Bài toán tổ hợp 8

1.
Bài toán tồn tại 9

2.
Bài toán ñếm 10

3.
Bài toán liệt kê 10

4.
Bài toán tối ưu tổ hợp 10

Chương 2. CÔNG THỨC TRUY HỒI 11

2.1. Khái niệm công thức truy hồi 11


2.2. Giải công thức truy hồi bằng phương pháp lặp 11

2.3. Công thức truy hồi tuyến tính hệ số hằng 12

2.3.1. ðịnh nghĩa 12

2.3.2. Nghiệm 12

2.3.2.1. Nghiệm tổng quát h(n) 13

2.3.2.2. Nghiệm riêng p(n) 14

Chương 3. ỨNG DỤNG CÔNG THỨC TRUY HỒI 16

3.1. Ứng dụng vào bài toán tổ hợp 16

3.2. Ứng dụng của công thức truy hồi tuyến tính bậc 1 16

3.3. Ứng dụng của công thức truy hồi tuyến tính bậc 2 16

Kết luận 17

Tài liệu tham khảo 18


Công thức truy hồi và ứng dụng
HVTH : Nhóm 6 – Lớp PP Toán sơ cấp K24 Trang 2






Lời giới thiệu


Lý thuyết tổ hợp hình thành từ rất sớm và trở thành một ngành toán học mới
vào thế kỷ XVII bằng những công trình nghiên cứu của các nhà toán học xuất xắc
như: Fermat, Pascal, Leibnitz…

Các vấn ñề liên quan ñến lý thuyết tổ hợp là một bộ phận quan trọng của toán
học nói chung và toán rời rạc nói riêng. ðặc biệt, từ khi ngành tin học ra ñời
thì tổ hợp ñược ứng dụng rộng rãi và trở thành lĩnh vực ñược các nhà lập trình nghiên
cứu. Trong toán sơ cấp thì tổ hợp càng ñược ứng dụng rộng rãi với các bài toán từ ñơn
giản ñến khó và rất khó.

Công thức truy hồi là một trong những chủ ñề hay và khó. Và ñây chính là một
công cụ ñếm cao cấp nhằm giải quyết các bài toán ñếm và ứng dụng trong một số các
bài toán khác.

Nhóm 1 xin trình bày ñề tài: “CÔNG THỨC TRUY HỒI VÀ ỨNG DỤNG” với 3
nội dung chính là:

Chương 1: ðại cương về tổ hợp

Chương 2: Công thức truy hồi

Chương 3: Ứng dụng

Trong thời gian nghiên cứu ñề tài vì kiến thức, thông tin và thời gian có hạn
nên ñề tài không tránh khỏi thiếu sót. Kính mong thầy và các bạn góp ý ñể ñề tài ñược

hoàn chỉnh hơn.


Danh sách nhóm 1 và công việc cụ thể:

STT

Họ tên

Công việc

(theo mục lục)

Chữ ký

Nh
ận xét của
giáo viên

1

Nguy
ễn Thị Thanh
Thủy

Chương 1: ðại cương về tổ hợp


2


Võ Thị Kim Oanh

Chương 2: Công thức truy hồi


3

Mai Thị Trang

Chương 2: Công thức truy hồi


4

Nguyễn Kim Quyết

Chương 3:
Ứng dụng công thức truy
hồi



Công thức truy hồi và ứng dụng
HVTH : Nhóm 6 – Lớp PP Toán sơ cấp K24 Trang 3



CHƯƠNG 1. ðẠI CƯƠNG VỀ TỔ HỢP



1.
SƠ LƯỢC LỊCH SỬ

Có thể nói tư duy tổ hợp ra ñời từ rất sớm. Vào thời nhà Chu Trung Quốc người
ta ñã biết ñến những hình vuông thần bí. Thời cổ Hi-lạp, thế kỷ 4 trước Công nguyên,
nhà triết học Kxenokarat ñã biết cách tính số các từ khác nhau lập từ bảng chữ cái cho
trước. Nhà toán học Pitagor và học trò ñã tìm ra ñược nhiều số có tính chất ñặc biệt.
Chẳng hạn 36 không những là tổng 4 số chẵn và 4 số lẻ ñầu tiên, mà còn là tổng lập
phương của 3 số tự nhiên ñầu tiên.

36 = 1 + 2 +3 + 4 + 5 + 6 + 7 + 8 = 1
3
+ 2
3
+ 3
3

Từ ñịnh lý Pitagor người ta cũng ñã tìm ra những số mà bình phương của
nó bằng tổng bình phương của 2 số khác. Các bài toán như vậy ñòi hỏi phải có
nghệ thuật tổ hợp nhất ñịnh. Tuy nhiên có thể nói rằng, lý thuyết tổ hợp ñược hình
thành như một ngành toán học mới vào thế kỷ 17 bằng một loạt công trình nghiên cứu
của các nhà toán học xuất sắc như Pascal, Fermat, Euler, Leibnitz,….

Các bài toán tổ hợp có ñặc trưng bùng nổ tổ hợp với số cấu hình tổ hợp khổng lồ.
Việc giải chúng ñòi hỏi một khối lượng tính toán khổng lồ (có trường hợp mất hàng
chục năm). Vì vậy trong thời gian dài, khi mà các ngành toán học như Phép tính vi
phân, Phép tính tích phân, phương trình vi phân, phát triển như vũ bão, thì dường
như nó nằm ngoài sự phát triển và ứng dụng của toán học. Tình thế thay ñổi từ khi
xuất hiện máy tính và sự phát triển của toán học hữu hạn. Nhiều vấn ñề tổ hợp ñã ñược
giải quyết trên máy tính. Từ chỗ chỉ nghiên cứu các trò chơi, tổ hợp ñã trở thành ngành

toán học phát triển mạnh mẽ, có nhiều ứng dụng trong các lĩnh vực toán học, tin học…

Chúng ta sẽ tìm hiểu một số bài toán tổ hợp nổi tiếng trong lịch sử.


• Bài toán tháp Hà nội.

Bài toán này do Edouard Lucas ñưa ra ở cuối thế kỷ 19 (Ông cũng là người ñưa
ra dãy Fibonacci). Bài toán phát biểu như sau. Có 3 cọc, cọc thứ nhất có n ñĩa kích
thước khác nhau xếp chồng nhau, ñĩa nhỏ nằm trên ñĩa lớn. Hãy chuyển các ñĩa từ cọc
thứ nhất sang cọc thứ ba, sử dụng cọc trung gian thứ hai, sao cho luôn ñảm bảo ñĩa
nhỏ trên ñĩa lớn. Hãy ñếm số lần di chuyển ñĩa. Tìm phương án di chuyển tối ưu. Số
lần di chuyển là 2
n
– 1. Khi n = 64, ta có số lần di chuyển là:

Công thức truy hồi và ứng dụng
HVTH : Nhóm 6 – Lớp PP Toán sơ cấp K24 Trang 4
18 446 744 073 709 551 615

• Bài toán xếp n cặp vợ chồng

Bài toán này cũng do Lucas ñưa ra năm 1891. Bài toán phát biểu như sau. Có n
cặp vợ chồng cần xếp vào bàn tròn sao cho không có cặp nào ngồi gần nhau. Có bao
nhiêu cách xếp như vậy?

Bài toán này dẫn ñến việc nghiên cứu một khái niệm quan trọng là số phân
bố và mãi ñến năm 1934 mới có lời giải. Số cách xếp là

2.n!.U

n

trong ñó U
n
là số phân bố. Bảng sau cho thấy sự bùng nổ tổ hợp ghê gớm của số phân
bố.


n =

4

5

6

7

8

9

10

11

U
n
=


2

13

80

579

4 738

43 387

439 792

4 890 741


• Bài toán ñường ñi quân ngựa trên bàn cờ

Cho bàn cờ vua với kích thước 8 x 8 = 64 ô. Tìm ñường ñi của quân ngựa qua tất
cả các ô, mỗi ô chỉ 1 lần và quay về ô xuất phát. Người ta chứng minh tổng quát ñược
rằng:

Trên bàn cờ vuông có số cạnh chẵn lớn hơn hoặc bằng 6 bao giờ cũng tồn
tại ñường ñi.

ðường ñi của Euler (1759) có tính chất: hiệu các ô ñối xứng qua tâm bàn cờ bằng 32.

37


62

43

56

35

60

41

50

44

55

36

61

42

49

34

59


63

38

53

46

57

40

51

48

54

45

64

39

52

47

58


33

1

26

15

20

7

32

13

22

16

19

8

25

14

21


6

31

27

2

17

10

29

4

23

12

18

9

28

3

24


11

30

5

Công thức truy hồi và ứng dụng
HVTH : Nhóm 6 – Lớp PP Toán sơ cấp K24 Trang 5


ðường ñi của Beverle (1848) có tính chất: tổng các ô trên cột và hàng bằng 260

1

30

47

52

5

28

43

54

48


51

2

29

44

53

6

27

31

46

49

4

25

8

55

42


50

3

32

45

56

41

26

7

33

62

15

20

9

24

39


58

16

19

34

61

40

57

10

23

63

14

17

36

21

12


59

38

18

35

64

13

60

37

22

11


• Hình vuông la tinh

Hình vuông la tinh cấp n là hình vuông gồm các số 1,2 …, n – 1, n thỏa mãn tổng
mỗi hàng và tổng mỗi cột ñều bằng nhau và bằng



Hình vuông la tinh chuẩn cấp n là hình vuông la tinh cấp n có dòng ñầu và cột
ñầu là 1, 2, …,n


Bảng sau ñây là hình vuông la tinh chuẩn cấp 7

1

2

3

4

5

6

7

2

3

4

5

6

7

1


3

4

5

6

7

1

2

4

5

6

7

1

2

3

5


6

7

1

2

3

4

6

7

1

2

3

4

5

7

1


2

3

4

5

6


Công thức số hình vuông la tinh ñến nay vẫn còn bỏ ngỏ. Tuy nhiên ta có thể lập
chương trình liệt kê tất cả hình vuông la tinh chuẩn. Dưới ñây là một số giá trị.

n =

1

2

3

4

5

6

7


l
n
=

1

1

1

4

56

9 408

16 942 080

Công thức truy hồi và ứng dụng
HVTH : Nhóm 6 – Lớp PP Toán sơ cấp K24 Trang 6




• Hình lục giác thần bí

Năm 1910 Clifford Adams ñưa ra là bài toán hình lục giác thần bí sau:

Trên 19 ô lục giác hãy ñiền các số từ 1 ñến 19 sao cho tổng theo sáu hướng của

lục giác bằng nhau (= 38).

Sau 47 năm trời kiên nhẫn cuối cùng ông ta ñã tìm ra lời giải. Nhưng do sơ ý ñánh
mất bản thảo ông ñã tốn thêm 5 năm nữa ñể khôi phục lời giải. Năm 1962 Adams công
bố lời giải. ðây cũng là lời giải duy nhất.

1.2. BÀI TOÁN TỔ HỢP

Qua các bài toán trên ta thấy bài toán tổ hợp rất ña dạng, liên quan tới nhiều
lĩnh vực khoa học và ñời sống khác nhau.

Có thể nói một cách tổng quát rằng lý thuyết tổ hợp nghiên cứu việc phân bố,
sắp xếp các phần tử của một hoặc nhiều tập hợp, thoả mãn một số ñiều kiện nào ñó.

Mỗi cách phân bố, sắp xếp như thế gọi là một cấu hình tổ hợp.


Cấu hình tổ hợp

Cho các tập hợp A
1
, …, A
n
. Giả sử S là sơ ñồ sắp xếp các phần tử của A
1
, …,
A
n
, ñược mô tả bằng các quy tắc sắp xếp và R
1

, …, R
m
là các ñiều kiện ràng buộc lên
mỗi sắp xếp theo sơ ñồ S. Khi ñó mỗi sắp xếp các phần tử của A
1
, …, A
n
thoả mãn các
ñiều kiện R
1
, …, R
m
gọi là một cấu hình tổ hợp trên các tập A
1
, …, A
n
.


Ví dụ. Xét sự bố trí các quân cờ trên bàn cờ vua. Mỗi thế cờ có thể coi là một
cấu hình tổ hợp. Ở ñây ta có thể ñịnh nghĩa

A là tập hợp các quân cờ trắng

B là tập hợp các quân cờ ñen

S là sơ ñồ sắp xếp cá quân cờ trên bàn cờ

R là hệ thống các ñiều kiện ñược xác ñịnh bằng luật cờ vua.


Công thức truy hồi và ứng dụng
HVTH : Nhóm 6 – Lớp PP Toán sơ cấp K24 Trang 7

Ví dụ. Bài toán tháp Hà Nội

A là tập hợp n ñĩa

S là sơ ñồ sắp xếp các ñĩa trên 3 cọc

R
1
là ñiều kiện mỗi lần chuyển 1 ñĩa từ một cọc sang cọc khác

R
2
là ñìều kiện ñĩa nằm dưới lên hơn ñĩa nằm trên

Cấu hình tổ hợp là một cách sắp xếp các ñĩa trên 3 cọc thoả các ñiều kiện R
1
và R
2
.


Ví dụ. Bài toán ñường ñi quân ngựa trên bàn cờ

A là tập hợp các ô trên bàn cờ, có thể biểu diễn như sau

A = {[i,j] | i,j = 1, …, 8}


S là sơ ñồ sắp xếp tất cả các ô của A thành 1 vòng tròn khép kín

R là ñiều kiện từ mỗi ô trên vòng có thể ñi ñến các ô kề theo quy tắc ñi của
quân ngựa.


Các dạng bài toán tổ hợp

Với các cấu hình tổ hợp ta thường gặp các dạng bài toán sau: bài toán tồn tại, bài
toán ñếm, bài toán liệt kê và bài toán tối ưu.

1.
Bài toán tồn tại

Mục tiêu của bài toán tồn tại là chứng minh sự tồn tại hoặc không tồn tại của cấu
hình tổ hợp nào ñó.

Có những bài toán loại này rất khó và việc cố gắng giải chúng ñã thúc ñẩy sự phát
triển nhiều hướng nghiên cứu toán học.


Ví dụ. Cho n nguyên dương

A là tập n n ñiểm

A = {[i,j] | i,j = 1, …, n}

S là tâp hợp 2n ñiểm trong A

Công thức truy hồi và ứng dụng

HVTH : Nhóm 6 – Lớp PP Toán sơ cấp K24 Trang 8
R là ñiều kiện không có 3 ñiểm trong S thẳng hàng

Với 2

n

15 cấu hình tổ hợp tồn tại. Nhưng bài toán chưa có lời giải với n > 15.



2.
Bài toán ñếm

Nội dung bài toán ñếm trả lời câu hỏi “Có bao nhiêu cấu hình tổ hợp thuộc dạng
ñang xét?”. Phương pháp ñếm cấu hình tổ hợp thường dựa vào một số quy tắc, nguyên
lý ñếm và phân rã ñưa về các cấu hình tổ hợp ñơn giản. Khi việc xác ñịnh chính xác
số cấu hình tổ hợp gặp khó khăn, có thể ước lượng cận trên và cận dưới của nó. Bài
toán ñếm ñược áp dụng vào những công việc như tính xác suất hay tính ñộ phức tạp
thuật toán.


Ví dụ. ðếm số tập con của một tập hợp.


Ví dụ. ðếm số nghiệm nguyên dương của phương trình x + y + z = 10

3.
Bài toán liệt kê


Các bài toán loại này nghiên cứu những thuật toán hiệu quả ñể xây dựng tất cả các
cấu hình tổ hợp ñã cho. Những vấn ñề trong các lĩnh vực khác nhau thường ñược ñưa
về bài toán liệt kê và kiểm tra xem các cấu hình tổ hợp có thoả mãn tính chất cho trước
hay không.


Ví dụ. Liệt kê tất cả các hoán vị của n phần tử.

4.
Bài toán tối ưu tổ hợp

Trong nhiều vấn ñề, mỗi cấu hình tổ hợp ñược gắn một giá trị bằng số (chẳng hạn
như hiệu quả sử dụng, hay chi phí thực hiện). Khi ñó bài toán tối ưu tổ hợp nghiên
cứu những thuật toán tìm cấu hình tổ hợp có giá trị tối ưu (lớn nhất hoặc nhỏ nhất).

Ví dụ. (Bài toán ba lô). Một nhà thám hiểm dùng một cái ba lô trọng lượng không quá
b ñể mang ñồ vật. Có n ñồ vật 1, 2, …, n. ðồ vật thứ j có trọng lượng a
j
và giá trị sử
dụng là c
j
, j = 1, 2, …, n. Hỏi nhà thám hiểum cần mang theo những ñồ vật nào ñể tổng
giá trị sử dụng là lớn nhất?








Công thức truy hồi và ứng dụng
HVTH : Nhóm 6 – Lớp PP Toán sơ cấp K24 Trang 9


CHƯƠNG 2. CÔNG THỨC TRUY HỒI


2.1. KHÁI NIỆM CÔNG THỨC TRUY HỒI

Ví dụ. Xét bài toán ñếm số tập con P(X) của tập X. Gọi s(n) là số tập con của tập có n
phần tử. Giả sử X có n phần tử. Cho x là phần tử của X. Tách P(X) ra làm hai nhóm A
và B, nhóm A gồm các tập con chứa x và nhóm B gồm các tập con không chứa x. Khi
ñó B chính là P(X\{x}) và A tương ñương B. Như vậy ta có

Từ ñó ta có công thức

s(n) = 2.s(n-1),

ðây là một công thức truy hồi.

ðịnh nghĩa 2.1

Công thức truy hồi của dãy số s(0), s(1), s(2),…. là phương trình xác ñịnh s(n)
bằng các phần tử s(0), s(1), s(2),…, s(n – 1) trước nó.

s(n) = F(s(0), s(1), s(2),…, s(n – 1)).

ðiều kiện ban ñầu là các giá trị gán cho một số hữu hạn các phần tử ñầu.

Trong ví dụ 2.1 trên, ta có ñiều kiện ban ñầu là s(0) = 1.



2.2. GIẢI CÔNG THỨC TRUY HỒI BẰNG PHƯƠNG PHÁP LẶP

Nội dung của phương pháp này là thay thế liên tiếp công thức truy hồi vào
chính nó, mỗi lần thay bậc n giảm ít nhất một ñơn vị, cho ñến khi ñạt giá trị ban ñầu.

Ví dụ. ðếm số tập con của tập có n phần tử.

Giải. Ký hiệu s(n) là số tập con của tập có n phần tử, thì

s(n) = 2.s(n – 1) & s(0) = 1.

Ta có:

s(n) = 2.s(n – 1) = 2.2.s(n – 2) =…= 2.2…2.s(0) = 2
n
.


2.3. CÔNG THỨC TRUY HỒI TUYẾN TÍNH HỆ SỐ HẰNG

2.3.1. ðịnh nghĩa

ðịnh nghĩa 2.3.1.1

Công thức truy hồi tuyến tính hệ số hằng bậc k có dạng

s(n) = c
1

.s(n – 1) + c
2
.s(n – 2) +…+ c
k.
s(n – k) + f(n), (2.1)

trong ñó c
1
, c
2
,…, c
k
là các hằng số, c
k


0 và f(n) là hàm theo n.

ðiều kiện ban ñầu của (2.1) là giả thiết một số phần tử ñầu của dãy có giá trị
cho trước.

s(0) = C
0
, s(1) = C
1
,…, s(k-1) = C
k-1
.

Công thức truy hồi và ứng dụng

HVTH : Nhóm 6 – Lớp PP Toán sơ cấp K24 Trang 10

ðịnh nghĩa 2.3.1.2

Nếu f(n) ≠ 0, thì (2.1) ñược gọi là công thức truy hồi tuyến tính không thuần
nhất hệ số hằng bậc k.

Nếu f(n) = 0, thì (2.1) ñược gọi là công thức truy hồi tuyến tính thuần nhất
hệ số hằng bậc k.


2.3.2. Nghiệm

ðịnh nghĩa 2.3.2.1

Hàm số s(n) thỏa mãn (2.1) ñược gọi là nghiệm của công thức truy hồi tuyến
tính hệ số hằng bậc k.

ðịnh lý 2.3.2.1

Cho công thức truy hồi tuyến tính không thuần nhất hệ số hằng bậc k

s(n) = c
1
.s(n – 1) + c
2
.s(n – 2) +…+ c
k.
s(n – k) + f(n). (2.2)


Khi ñó nghiệm tổng quát của (2.2) có dạng

s(n) = h(n) + p(n),

với p(n) là nghiệm riêng nào ñó của (2.2) và h(n) là nghiệm tổng quát của công thức
truy hồi tuyến tính thuần nhất ứng với (2.2)

s(n) = c
1
.s(n – 1) + c
2
.s(n – 2) +…+ c
k.
s(n – k). (2.3)

ðịnh nghĩa 2.3.2.2

Phương trình: (2.4)

ñược gọi là phương trình ñặc trưng của công thức truy hồi tuyến tính không thuần
nhất hệ số hằng k (2.2) và công thức truy hồi tuyến tính thuần nhất hệ số hằng k (2.3).

2.3.2.1 Nghiệm tổng quát h(n) của 2.3

ðịnh lý2.3.2.1.1

* Nếu (2.4) có k nghiệm thực khác nhau là thì nghiệm tổng quát h(n) của (2.3) có
dạng

h(n)=


trong ñó C
i
, i = 1,…, k là các hằng số tùy ý .

* Nếu phương trình ñặc trưng (2.4) có nghiệm thực

bội s , thì ngoài nghiệm , ta lấy
thêm các vectơ bổ sung cũng là các nghiệm ñộc lập tuyến tính của (2.3) và do ñó

trong ñó

và là các hằng số tùy ý .

* Nếu phương trình ñặc trưng (2.4) có nghiệm phức

, trong ñó , có nghĩa là = , thì
(2.4) cũng có nghiệm liên hợp phức . Khi ñó ta có ; là các nghiệm của (2.3) .

Ta lấy

làm các nghiệm ñộc lập tuyến tính của (2.3) , khi ñó

Công thức truy hồi và ứng dụng
HVTH : Nhóm 6 – Lớp PP Toán sơ cấp K24 Trang 11
trong ñó

,

,là các hằng số tùy ý


* Nếu phương trình ñặc trưng có nghiệm phức

bội s, thì nó cũng có nghiệm liên
hợp phức bội s ; trong trường hợp này, ngoài nghiệm ta cần lấy thêm 2n – 2 vectơ
nghiệm bổ sung

…,


…,


và ta có

,

trong ñó

, là các hằng số tùy ý .

2.
Nghiệm riêng p(n) của 2.2

2.3.2.2.1 Trường hợp

là ña thức bậc m của n ; :

,


1. Nếu các nghiệm

là các nghiệm thực khác 1 của phương trình ñặc trưng (4),
thì

,

là ña thức cùng bậc m với

.

2. Nếu có nghiệm

bội s , thì

,

trong ñó

là ña thức của n cùng bậc m với .

2.3.2.2.2 Trường hợp f
n
= P
m
(n)β
n
trong ñó P
m
(n) là ña thức bậc m của n; m


N.

1. Nếu các nghiệm của phương trình ñặc trưng (2.4) ñều là các nghiệm thực
khác β, thì có dạng

=

(n)β
n
,

trong ñó

(n) là ña thức cùng bậc với f
n
.

2. Nếu (2.4) có nghiệm λ = β bội s, thì tìm dưới dạng

=

(n)

,

trong ñó

(n) là ña thức của n cùng bậc với f
n

.

2.3.2.2.3 Trường hợp f
n
=
α
cos nx +
β
sin nx, với
α
,
β
là hằng số

Trong trường hợp này nghiệm riêng ñược tìm dưới dạng

= a cos nx + b sin nx.

2.3.2.2.4 Trường hợp f
n
= f
n1
+ f
n2
+ … + f
ns
.

Trong trường hợp này ta tìm nghiệm riêng p(ni) ứng với từng hàm


, i = 1, 2, …,
s

Công thức truy hồi và ứng dụng
HVTH : Nhóm 6 – Lớp PP Toán sơ cấp K24 Trang 12
Nghiệm riêng ứng với hàm f
n
sẽ là = p(n1) + p(n2) + … + p(ns) (do tính tuyến
tính của phương trình sai phân).



CHƯƠNG 3. ỨNG DỤNG CÔNG THỨC TRUY HỒI

3.1. ỨNG DỤNG VÀO BÀI TOÁN TỔ HỢP

Công thức truy hồi là một trong những phương pháp rất hiệu quả ñể giải các bài
toán tổ hợp. Nội dung cơ bản nhưng khó khăn nhất của phương pháp này là thiết lập
một công thức truy hồi cho mỗi bài toán, tức là thay vì ñếm trực tiếp s(n) theo yêu cầu
bài toán, ta thiết lập một công thức liên hệ giữa s(n), s(n-1),… ñể từ ñó tính ñược s(n).

Như vậy, ñể giải bài toán tổ hợp bằng công thức truy hồi, ta thực hiện các bước
sau:

Bước 1: Tìm các giá trị ban ñầu

s(0) = C
0
, s(1) = C
1

,…, s(k-1) = C
k-1
.

Bước 2: Thiết lập công thức truy hồi

s(n) = c
1
.s(n-1) + c
2.
s(n-2) +…+ c
k
. s(n-k) + f(n).

Bước 3: Giải công thức truy hồi trên với các ñiều kiện ban ñầu ñể tìm số hạng
tổng quát s(n).

3.2. ỨNG DỤNG CỦA CÔNG THỨC TRUY HỒI TUYẾN TÍNH BẬC
1
Bài toán 3.1.1. (Bài toán tháp Hà Nội). Có ba cọc 1, 2, 3. Ở cọc 1 có n ñĩa,
kích thước khác nhau, xếp chồng lên nhau sao cho ñĩa nằm dưới lớn hơn ñĩa nằm trên.
Hãy chuyển tất cả các ñĩa từ cọc 1 sang cọc 3 với ñiều kiện mỗi lần chỉ ñược chuyển 1
ñĩa từ cọc này sang cọc khác và luôn ñảm bảo ñĩa nằm dưới lớn hơn ñĩa nằm trên. Hãy
tính số lần di chuyển ñĩa ít nhất.

Giải: Gọi s(n) số lần di chuyển ñĩa. Ta thử tìm một vài giá trị của s(n).

n =1, rõ ràng ta chỉ cần chuyển một lần chuyển. Do vậy s(1)=1.

n = 2, ta chuyển như sau:


Công thức truy hồi và ứng dụng
HVTH : Nhóm 6 – Lớp PP Toán sơ cấp K24 Trang 13
- Chuyển ñĩa bé sang cọc 2,

- Chuyển ñĩa lớn sang cọc 3,

- Chuyển ñĩa bé về cọc 3.

Như vậy, ta phải cần ba lần di chuyển ñĩa. Do ñó, s(2) = 3.

n = 3, ta chuyển như sau:

- Chuyển hai ñĩa ở phía trên sang cọc 2. Như ñã thấy ở trường hợp n= 2, ta cần
3 lần di chuyển,

- Chuyển ñĩa lớn nhất sang cọc 3,

- Chuyển hai ñĩa ở cọc 2 sang cọc 3. Như ñẫ thấy ở trường hợp n = 2, ta cần 3
lần di chuyển.

Như vậy, ta cần 7 lần di chuyển. Do ñó s(3) = 7.

Bây giờ ta ñi tìm công thức tổng quát ñể tính s(n). Với n ñĩa, ta chuyển
như sau:

- Chuyển n-1 ñĩa ở phía trên từ cọc 1 sang cọc 2,

- Chuyển ñĩa lớn nhất từ cọc 1 sang cọc 3,


- Cuối cùng chuyển n – 1 ñĩa từ cọc 2 sang cọc 3.

Như vậy, ta cần s(n-1) + 1 + s(n-1) = 2. s(n-1) + 1 lần di chuyển ñĩa.

Vậy ta có công thức truy hồi

s(n) = 2. s(n-1) + 1 & s(1) = 1,

hay

s(n) + 1 = 2. (s(n-1) + 1 ) & s(1) =1.

ðặt u(n) = s(n) + 1, ta có

u(n) = 2. u(n-1) & u(1) = 2. (3.1)

Nghiệm ñăc trưng của (3.1) là 2 nên nghiệm tổng quát của (3.1) có dạng

Công thức truy hồi và ứng dụng
HVTH : Nhóm 6 – Lớp PP Toán sơ cấp K24 Trang 14
u(n) = C. 2
n
.

Mà u(1) = 2 nên C = 1. Do ñó u(n) = 2
n
và s(n) = 2
n
– 1.


Vậy số lần di chuyển ñĩa thoả mãn yêu cầu bài toán là s(n) = 2
n
– 1.



Bài toán 3.1.2. (Bài toán chia mặt phẳng). Trên mặp phẳng kẻ n ñường thẳng sao cho
không có ba ñường thẳng nào ñồng quy và không có hai ñường nào song song. Hỏi
mặp phẳng ñược chia làm mấy phần?

Giải. Gọi số phần mặt phẳng ñược chia bởi n ñường thảng là s(n). Giải sử ñã kẻ
n-1 ñường thẳng. Bây giờ kẻ thêm ñường thẳng thứ n thì số phần mặt phẳng ñược
thêm sẽ bằng số giao ñiểm ñược thêm cộng với 1. Số giao ñiểm ñược thêm là số giao
ñiểm mà ñường thẳng vừa kẻ cắt n-1 ñường thẳng cũ, nghĩa là bằng n-1. Suy ra số
phần mặt phẳng ñược thêm bằng n-1+1 = n.

Vì vậy ta có công thức truy hồi

s(n) = s(n-1) + n & s(1) = 2. (3.2)

phương trình ñặc trưng của phương trình thuần nhất tương ứng

s(n) = s(n-1)

có một nghiệm ñơn là 1, nên nghiệm tổng quát phương trình thuần nhất là

h(n) = C. 1
n
= C.


Vì f(n) = n và 1 là nghiệm bội 1 của phương trình ñăc trưng nên nghiệm riêng
p(n) của (3.2) có dạng p(n) = (a + b.n).n. Thay p(n) vào (3.2), ta ñược

(a + b.n).n = (a + b.(n-1)).(n-1) + n

Suy ra .

Do ñó nghiệm tổng quát của (3.2) có dạng

Mà s(1) = 2 nên C = 1.

Vậy số phần mặt phẳng ñược chia cần tìm là

.

Công thức truy hồi và ứng dụng
HVTH : Nhóm 6 – Lớp PP Toán sơ cấp K24 Trang 15
Bài toán 3.1.3. (Bài toán lãi kép). Giả sử một người gởi 10 000 ñô la vào thì tài
khoản của mình với lãi kép 11% mỗi năm. Hỏi sau 30 năm anh ta có bao nhiêu tiền
trong tài khoản của mình?

Giải. Gọi s(n) là tổng số tiền có trong tài khoản sau n năm. Vì số tiền có trong
tài khoản sau n năm bằng số tiền có sau n-1 năm cộng với lãi suất của năm thứ n, nên
ta có công thức truy hồi

s(n) = s(n-1) + 0,11. s(n-1) & s(0) = 10 000,

hay

s(n) = 1,11.s(n-1) & s(0) = 10 000. (3.3)


Phương trình ñặc trưng của (3.3) có một nghiệm là 1,11 nên nghiệm tổng quát
của (3.3) có dạng s(n) = C.(1,11)
n
.

Vì s(0) = 10 000 nên C = 10 000. Do vậy, s(n) = 10 000.(1,11)
n
. Suy ra, s(30) =
10 000.(1,11)
30
= 228 922,97.

Vậy sau 30 năm, số tiền anh ta có là 228 922,97 ñô la.


3.3. ỨNG DỤNG CỦA CÔNG THỨC TRUY HỒI TUYẾN TÍNH BẬC
2
Bài toán 3.1.4. (Bài toán tính số các xâu nhị phân).Tính số các xâu nhị phân ñộ dài
n và không có hai bit 0 liên tiếp.

Giải. Gọi a
n
là số các xâu nhị phân ñộ dài n và không có hai bit 0 liên tiếp.

Trước hết ta tìm một vài giá trị ñầu của a
n
. Ta có:



a
1
=2, vì có hai xâu thoả mãn là 0 và 1.


= 3, vì có ba xâu thoả mãn là 01, 10, 11.

Bây giờ ta tìm công thức tổng quát ñể tính a
n
. Với n

3 thì theo quy tắc cộng, số
các xâu nhị phân ñộ dài n và không có hai bit 0 liên tiếp bằng số các xâu như thế kết
thúc bằng bit 1 cộng với số các xâu như thế kết thúc bằng bit 0.

Các xâu nhị phân ñộ dài n, không có hai bit 0 liên tiếp và kết thúc bằng bit 1
chính là các xâu nhị phân như thế có ñộ dài n-1 và thêm bit 1 vào cuối của chúng . Vậy
chúng có tất cả là a

xâu.

Công thức truy hồi và ứng dụng
HVTH : Nhóm 6 – Lớp PP Toán sơ cấp K24 Trang 16
Các xâu nhị phân ñộ dài n, không có hai bit 0 liên tiếp và kết thúc bằng bit 0,
cần phải có bit thứ n-1 bằng 1, nếu không thì chúng sẽ có 2 bit 0 ở hai bit cuối cùng.
Từ ñó suy ra các xâu nhị phân ñộ dài n, không có hai bit 0 liên tiếp và kết thúc bằng
bit 0 chính là các xâu nhị phân không có hai bit liên tiếp có ñộ dài n-2 và thêm 10 vào
cuối của chúng. Do vậy,các số xâu ñó là a



Vì vậy, ta có công thức truy hồi : a
n
= a
n-1
+ a
n-2
với a
1
=2, = 3



















Công thức truy hồi và ứng dụng
HVTH : Nhóm 6 – Lớp PP Toán sơ cấp K24 Trang 17



KẾT LUẬN


Trong tiểu luận này, chúng tôi ñã cố gắng tổng kết, hệ thống những khái niệm
cơ bản của tổ hợp và ứng dụng của công thức truy hồi trong giải các bài toán ñếm và
một số bài toán khác.

Mặc dù nhóm chúng tôi ñã dành nhiều thời gian nghiên cứu, thảo luận, và ñược
sự hướng dẫn nhiệt tình, chu ñáo của Thầy PGS.TSKH Trần Quốc Chiến, nhưng do
trình ñộ còn hạn chế nên chắc chắn ñề tài không tránh khỏi thiếu sót. Kính mong Thầy
cùng các bạn học viên trong lớp góp ý, bổ sung, chỉnh sửa ñể ñề tài ñược hoàn thiện
hơn.

Chúng tôi xin chân thành cảm ơn sự giảng dạy và hướng dẫn nhiệt tình của Thầy
dành cho chúng tôi.

















Công thức truy hồi và ứng dụng
HVTH : Nhóm 6 – Lớp PP Toán sơ cấp K24 Trang 18
TÀI LIỆU THAM KHẢO


[1] PGS.TSKH. Trần Quốc Chiến - Giáo trình lý thuyết tổ hợp - 2010 (Lưu hành nội
bộ).

[2] Nguyễn Văn Mậu – Các bài toán rời rạc và tổ hợp - NXB ðH quốc gia Hà Nội.

[3] Tạp chí toán học và tuổi trẻ

[4] Trần Phương – Lê Hồng ðức - Chuyên ñề luyện thi ñại học tổ hợp – 2002. NXB
ðH Sư Phạm.

[5] Lê ðình Thịnh – Phương trình sai phân và một số ứng dụng – 2001.NXB GD




×