Một hμm số bất kỳ trên miền xác định D lμ một quan hệ từ D đến R, mμ mỗi phần tử của quan hệ nμy lμ một cặp x, f x, vμ đây lμ mộtloại quan hệ hai ngôi đặc biệt, ở chỗ mọi x ∈ D đều có vμ
Trang 1Tr−êng §¹i häc Vinh
NguyÔn Trung Hßa
To¸n rêi r¹c
Vinh - 2010
Trang 2Chương 1 Quan hệ
1.1 Quan hệ hai ngôi vμ các tính chất
1.1.1 Định nghĩa vμ các ví dụ
Trong cuộc sống ta thường gặp rất nhiều hiện tượng được diễn tả bởi
thuật ngữ quan hệ, chẳng hạn quan hệ bạn bè, quan hệ đồng hương, quan hệ
thầy trò, Hoặc cuối năm học ta thường quan tâm đến điểm trung bình chunghọc tập của các thμnh viên trong lớp, khi đó ta có mối quan hệ giữa sinh viêncủa lớp vμ số thực lμ điểm trung bình chung học tập của các sinh viên Haycuối học kỳ ta phải xếp lịch thi học kỳ, khi đó ta thường xét quan hệ giữa
lớp trong khoa vμ môn được lớp đó học trong học kỳ, gọi tắt lμ quan hệ Học, chẳng hạn 45A Học xác suất; 44B Học toán rời rạc; 44B Học kinh tế, 44A
Học tâm lý học, 44A Học kinh tế Có nghĩa lμ ta phải ghép cặp (lớp x, môn
y) vμ hiểu lμ lớp x học môn y Như vậy, tập tất cả các cặp (lớp x, môn y) sao
cho lớp x học môn y đặc trưng cho quan hệ Học, vμ ta có thể coi quan hệ Học
lμ tập con của tích đề-các của hai tập các lớp vμ các môn học Hình thức hoácác hiện tượng ấy ta có khái niệm quan hệ, lμ một khái niệm rất quan trọngcủa toán học vμ được ứng dụng trong nhiều lĩnh vực, đặc biệt lμ trong tin học
Một quan hệ hai ngôi từ tập A đến tập B lμ một tập con R của tích đề
các Aì B Nếu (a, b) ∈ R thì ta nói rằng a có quan hệ R với b vμ ký hiệuaRb thay thế cho ký hiệu (a, b)
Ví dụ 1 Quan hệ Học kỳ 4= {(a, b) với a lμ một lớp nμo đó của khoá
44, còn b lμ một môn mμ lớp a học trong học kỳ 4 (năm học 2004-2005)}
Rõ rμng quan hệ Học kỳ 4 lμ một tập con của quan hệ Học đã nói ở trên.
Ví dụ 2 Quan hệ trực thuộc (hμnh chính) lμ tập con I của tích đề-các
của tập H tất cả các huyện của Việt nam vμ tập T lμ tập tất cả các tỉnh củaViệt nam Khi đó (Hưng nguyên, Nghệ an), (Tĩnh gia, Thanh hoá), (Hươngsơn, Hμ tĩnh), (Nam đμn, Nghệ an) lμ những phần tử của tập I vμ ta thườngnói Hưng nguyên trực thuộc Nghệ an, Tĩnh gia trực thuộc Thanh hoá, Hươngsơn trực thuộc Hμ tĩnh, Nam đμn trực thuộc Nghệ an
Ví dụ 3 Một hμm số bất kỳ trên miền xác định D lμ một quan hệ từ D
đến R, mμ mỗi phần tử của quan hệ nμy lμ một cặp (x, f (x)), vμ đây lμ mộtloại quan hệ hai ngôi đặc biệt, ở chỗ mọi x ∈ D đều có vμ chỉ có duy nhấtmột f (x) tương ứng
Trang 3Trong số các quan hệ hai ngôi, ta quan tâm đặc biệt đến các quan hệ haingôi trên một tập:
Một quan hệ hai ngôi R trên tập A lμ một quan hệ từ A đến A, nghĩa
lμ R lμ tập con của bình phương đề các Aì A
Ví dụ 4 Xét tập A tất cả sinh viên lớp 48K, ta có các quan hệ hai ngôi
sau:
a Quan hệ đồng hương, gồm tất cả các cặp hai sinh viên (a, b) sao cho
a có gia đình cùng huyện với b
b Quan hệ công tác, gồm tất cả các cặp hai sinh viên (a, b) sao cho a
có công việc cần trao đổi với b
c Quan hệ bạn thân, gồm tất cả các cặp hai sinh viên (a, b) sao cho achơi thân với b
d Quan hệ lớn tuổi hơn, gồm tất cả các cặp hai sinh viên (a, b) sao cho
Ta sẽ xây dựng vμi phép toán mới
Phép nghịch đảo: Giả sử R lμ một quan hệ hai ngôi từ tập X đến tập
Y Quan hệ ngược (nghịch đảo) của quan hệ R lμ quan hệ S từ Y đến X sao
cho S = {(y, x)|(x, y) ∈ R} Quan hệ ngược của R được ký hiệu bởi Rư1
Ví dụ 1 Nếu X = {1, 2, 3, 4}, Y = {a, b, c}, R = {(1, b), (2, a), (4, c)}
thì Rư1 ={(b, 1), (a, 2), (c, 4)}
Phép hợp thμnh: Giả sử R lμ một quan hệ hai ngôi từ tập X đến tập Y ,
S lμ một quan hệ hai ngôi từ tập Y đến tập Z Hợp thμnh của các quan hệ
Trang 4R vμ S lμ quan hệ T từ X đến Z với T = {(x, z)|∃y ∈ Y sao cho (x, y) ∈
R vμ (y, z) ∈ S} Quan hệ hợp thμnh T được ký hiệu bởi R ◦ S hoặc RS.Chú ý rằng RS có thể lμ tập rỗng mặc dầu R vμ S đều khác rỗng vμ phéphợp thμnh có tính chất kết hợp, nghĩa lμ (R◦ S) ◦ V = R ◦ (S ◦ V )
Ví dụ 2 Giả sử X = {1, 2, 3, 4}, Y = {a, b, c}, Z = {α, β, γ},
R = {(1, b), (2, a), (3, b), (4, c)}, S = {(a, α), (b, γ), (c, β)}, khi đó
1.1.3 Các tính chất có thể có của quan hệ hai ngôi trên một tập
a Quan hệ hai ngôi R trên một tập X được gọi lμ có tính chất phản xạ
nếu với mọi a ∈ X đều có aRa
Ví dụ 1 Quan hệ đồng hương ở ví dụ 4, quan hệ đồng dư ở ví dụ 5
(mục 1.1.1) lμ các quan hệ có tính phản xạ
b Quan hệ hai ngôi R trên một tập X được gọi lμ có tính chất đối xứng
nếu với mọi a, b ∈ X, aRb khi vμ chỉ khi bRa
Ví dụ 2 Các quan hệ đồng hương, bạn thân ở ví dụ 4; quan hệ đồng dư
ở ví dụ 5 (mục 1.1.1) lμ các quan hệ có tính đối xứng
c Quan hệ hai ngôi R trên một tập X được gọi lμ có tính chất phản
xứng nếu với mọi a, b∈ X sao cho aRb vμ bRa thì a = b
Ví dụ 3 Quan hệ < trên tập Z (ví dụ 5 mục 2.1.1) có tính phản xứng.
d Quan hệ hai ngôi R trên một tập X được gọi lμ có tính chất bắc cầu
nếu với mọi a, b, c ∈ X sao cho aRb vμ bRc thì aRc
Ví dụ 4 Các quan hệ đồng hương, lớn tuổi hơn ở ví dụ 4; các quan hệ
đồng dư, < ở ví dụ 5 (mục 1.1.1) có tính chất bắc cầu
Sau đây ta có định lý về mối liên hệ giữa quan hệ bắc cầu R vμ các luỹthừa của R
Trang 5Định lý 1 Quan hệ R trên tập A có tính bắc cầu khi vμ chỉ khi Rn ⊂ R vớimọi n = 1, 2, 3,
Chứng minh Cần: Rõ rμng R1 ⊂ R, tức lμ với n = 1 điều kiện cần đã
đúng
Giả sử Rn ⊂ R ta sẽ chứng minh Rn+1 ⊂ R Thật vậy, theo định nghĩacủa luỹ thừa bậc n của quan hệ ta có Rn+1 = RnR nghĩa lμ với mọi (x, z),(x, z) ∈ Rn+1 khi vμ chỉ khi tồn tại y ∈ A sao cho (x, y) ∈ Rn vμ (y, z) ∈ R.Theo giả thiế quy nạp, (x, y) ∈ Rn kéo theo (x, y)∈ R vμ do R có tính chấtbắc cầu nên từ (x, y) ∈ R vμ (y, z) ∈ R suy ra (x, z) ∈ R Vậy Rn+1 ⊂ R
Đủ: Giả sử (x, y)∈ R vμ (y, z) ∈ R, khi đó (x, z) ∈ R2 Theo giả thiết
Rn ⊂ R với mọi n = 1, 2, nên ta có ngay R2 ⊂ R, suy ra (x, z) ∈ R, tức
5 Liệt kê 16 quan hệ khác nhau trên tập {0, 1}
6 Trong số 16 quan hệ khác nhau trên tập {0, 1}, những quan hệ nμo lμ
8 Cho R lμ quan hệ có tính phản xạ trên tập A Chứng minh rằng Rn cũng
có tính phản xạ với mọi số nguyên dương n
Trang 69 Cho R lμ quan hệ có tính đối xứng trên tập A Chứng minh rằng Rncũng có tính đối xứng với mọi số nguyên dương n.
10 Chỉ ra một ví dụ về một quan hệ bắc cầu R sao cho R2 = R
1.2 Biểu diễn quan hệ
1.2.1 Ma trận logic vμ các phép toán trên các ma trận logic
Giả sử a, b lμ các biến (biến boolean) chỉ nhận một trong hai giá trị 0hoặc 1 (giá trị logic)
Ta gọi tuyển của a vμ b lμ giá trị
c = a ∨ b := 10 nếu a = 1 hoặc b = 1
nếu a = b = 0,
ký hiệu tuyển của a vμ b bởi a∨ b
Ta gọi hội của a vμ b lμ giá trị
c = a∧ b := 10 nếu a = b = 1nếu a = 0 hoặc b = 0,
ký hiệu hội của a vμ b bởi a∧ b
Ma trận logic cỡ mì n lμ một ma trận có m dòng vμ n cột, trong đócác phần tử của nó chỉ nhận một trong hai giá trị 0 hoặc 1
Giả sử cho hai ma trận A = [ai,j] vμ B = [bi,j] cũng cỡ
a Tuyển (tổng boolean) của hai ma trận A vμ B, ký hiệu A∨ B, lμ ma trận
C = [ci,j] trong đó ci,j = ai,j ∨ bi,j
b Hội của hai ma trận A vμ B, ký hiệu A ∧ B, lμ ma trận C = [ci,j] trong
đó ci,j = ai,j ∧ bi,j
c Tích boolean của ma trận A cỡ mì n vμ ma trận B cỡ n ì p lμ ma trận
C = A◦ B := [ci,j] cỡ mì p trong đó
ci,j = (ai,1∧ b1,j)∨ ã ã ã ∨ (ai,k ∧ bk,j)∨ ã ã ã ∨ (ai,n ∧ bn,j)
(các dấu ngoặc có thể được bỏ đi) Ta ký hiệu tích boolean của hai ma trận
A vμ B lμ A◦ B
Dễ thấy rằng ma trận vuông In = [δi,j] cấp n trong đó
δi,j = 1 nếu i = j
0 nếu i = j
Trang 7lμ ma trận đơn vị đối với phép nhân boolean, nghĩa lμ với mọi ma trận A cỡ
mìn (hoặc mọi ma trận B cỡ nìp) ta đều có A◦In = A (hoặc In◦B = B)
Đồng thời tích boolean có tính chất kết hợp, nghĩa lμ A◦(B ◦C) = (A◦B)◦Cnếu một trong hai vế của đẳng thức nμy tồn tại
Thuật toán tính tích boole của ma trận A cỡ mì n vμ ma trận B cỡ
nì p, lưu trữ kết quả vμo ma trận C
Với i := 1 đến m
Với j := 1 đến p
ci,j := 0
với k := 1 đến n
ci,j := ci,j ∨ (ai,k ∧ bk,j).
Vì tích boolean của các ma trận logic có tính chất kết hợp nên ta có thể
định nghĩa luỹ thừa boolean như sau:
d Luỹ thừa boole bậc r của một ma trận vuông logic A cấp n, ký hiệu
bởi A[r] được định nghĩa bằng truy hồi như sau:
A[r] = A◦ A[rư1], với r = 1, 2, vμ A[0] = In.hoặc được xác định bởi
A[r] = A◦ A ◦ ã ã ã ◦ A
r lần
1.2.2 Biểu diễn quan hệ bằng ma trận
a Xây dựng biểu diễn
Cho A lμ tập hợp hữu hạn có m phần tử đã được đánh số thứ tự A ={a1, a2, am} vμ B lμ tập hợp hữu hạn có n phần tử đã được đánh số thứ tự
B = {b1, b2, bn} Khi đó tích đề các A ì B có m ì n phần tử vμ một cách
tự nhiên ta có thể biểu diễn chúng như lμ một bảng gồm m dòng vμ n cột,trong đó vị trí ở dòng i cột j lμ cặp (ai, bj) Vì R lμ một tập con của tích đềcác Aì B, nên biểu diễn của R sẽ được tạo nên từ bảng ở trên bằng cách cặpnμo thuộc R sẽ được thay bởi 1, cặp nμo không thuộc R sẽ được thay bởi 0
Từ đó ta có định nghĩa biểu diễn sau: Giả sử R lμ một quan hệ từ tập A đếntập B vμ các phần tử của A, B đã được sắp xếp theo một thứ tự cố định nμo
Trang 8đó A = {a1, a2, am}, B = {b1, b2, bn} Ma trận logic biểu diễn quan hệ
c Ma trận biểu diễn các quan hệ phản xạ, đối xứng, phản xứng
Biểu diễn quan hệ bởi ma trận logic cho ta một cách nhìn trực quan hơncác quan hệ Khi A = B, với biểu diễn nμy ta dễ dμng kiểm tra các tính chấtcủa quan hệ R
Quan hệ R trên tập A có tính chất phản xạ khi vμ chỉ khi MR lμ ma trận
có mọi phần tử trên đường chéo chính bằng 1
Quan hệ R trên tập A có tính chất đối xứng khi vμ chỉ khi MR lμ matrận đối xứng qua đường chéo chính
Quan hệ R trên tập A có tính chất phản xứng khi vμ chỉ khi MR lμ matrận có ri,j = 0 hoặc rj,i = 0 khi i = j
d Ma trận biểu diễn hợp, giao của hai quan hệ.
Từ định nghĩa ma trận biểu diễn quan hệ vμ các định nghĩa hợp vμ giaocủa hai quan hệ (như lμ hợp vμ giao của hai tập hợp), tuyển, hội của các matrận logic ta dễ dμng suy ra rằng ma trận biểu diễn hợp của hai quan hệ lμtuyển của hai ma trận logic biểu diễn các quan hệ đã cho vμ ma trận biểu diễngiao của hai quan hệ lμ hội của hai ma trận logic biểu diễn các quan hệ đãcho
e Ma trận biểu diễn hợp thμnh của hai quan hệ.
Trang 9Chứng minh:
Xét ti,j lμ phần tử bất kỳ (ở dòng i cột j) của MRS Ta có ti,j = 1 khi
vμ chỉ khi aiRScj, điều đó có nghĩa lμ tồn tại bk nμo đó thuộc B để aiRbk
vμ bkScj, nghĩa lμ tồn tại k để ri,k = 1 vμ sk,j = 1, nghĩa lμ
(ri,1 ∨ s1,j)∧ ∧ (ri,k ∨ sk,j)∧ ∧ (ri,nsn,j) = 1,
nghĩa lμ phần tử ở dòng i cột j của ma trận tích MR ◦ MS bằng 1 Vậy
1.2.3 Biểu diễn quan hệ bằng đồ thị có hướng.
a Định nghĩa đồ thị có hướng
Đồ thị có hướng lμ một bộ đôi G = (V, E) trong đó V lμ một tập hợp,gọi lμ tập các đỉnh; E ⊂ V2, lμ tập các cặp sắp thứ tự các phần tử của V ,
được gọi lμ tập các cạnh Với mỗi cạnh (a, b) ∈ E, đỉnh a được gọi lμ đỉnh
đầu, b gọi lμ đỉnh cuối của cạnh Nếu a trùng b, cạnh (a, a) được gọi lμ mộtkhuyên Đồ thị có hướng thường được biểu diễn (minh hoạ) một cách trựcquan như hình vẽ dưới đây: Ví dụ
b Đồ thị có hướng biểu diễn quan hệ
Từ định nghĩa đồ thị có hướng ở trên, nếu R lμ một quan hệ hai ngôitrên tập hợp A, ta có thể biểu diễn R như lμ một đồ thị G = (A, R) (với tập
A đóng vai trò của tập V ; Tập R đóng vai trò của tập E) Do đó có thể đồngnhất một quan hệ R trên tập A với một đồ thị có hướng G vμ cách tiếp cậnnμy cho ta một cách nhìn trực quan hơn
Trang 10Ví dụ Cho tập A = {1, 2, 3, 4}, R lμ quan hệ ”<” thông thường, khi đó
đồ thị biểu diễn R được minh hoạ bởi hình sau:
Ví dụ Cho đồ thị G = (V, E) được minh hoạ bởi hình:
Khi đó ta xác định được quan hệ hai ngôi E tương ứng trên tập V ={1, 2, 3, 4} như sau: E = {(1, 1), (1, 3), (2, 2), (2, 4), (3, 3), (4, 4)} Quan hệnμy cũng có thể diễn đạt lμ quan hệ ”đồng dư theo môđun 2”, hoặc lμ quan
hệ ”cùng chẵn, cùng lẻ”
c Đồ thị biểu diễn quan hệ phản xạ, đối xứng, phản xứng, bắc cầu.
Theo biểu diễn quan hệ bởi đồ thị có hướng như trên, ta nhận thấy rằngQuan hệ R trên tập A có tính chất phản xạ khi vμ chỉ khi đồ thị G =(A, R) có khuyên ở tất cả các đỉnh của nó
Quan hệ R trên tập A có tính chất đối xứng khi vμ chỉ khi trên đồ thị
G = (A, R) nếu có cạnh có đỉnh đầu lμ a, đỉnh cuối lμ b, thì sẽ có cạnh ngượclại, có đỉnh đầu lμ b vμ có đỉnh cuối lμ a
Quan hệ R trên tập A có tính chất phản đối xứng khi vμ chỉ khi trên đồthị G = (A, R) nếu có cạnh có đỉnh đầu lμ a, đỉnh cuối lμ b, thì sẽ không cócạnh ngược lại, có đỉnh đầu lμ b vμ có đỉnh cuối lμ a, nghĩa lμ với mỗi cặp
đỉnh chỉ có nhiều nhất một cạnh giữa chúng
Quan hệ R trên tập A có tính chất bắc cầu khi vμ chỉ khi trên đồ thị
G = (A, R) nếu có cạnh có đỉnh đầu lμ a, đỉnh cuối lμ b vμ có cạnh có đỉnh
đầu lμ b, đỉnh cuối lμ c thì sẽ có cạnh có đỉnh đầu lμ a vμ đỉnh cuối lμ c Tuynhiên việc kiểm tra một quan hệ có tính bắc cầu hay không thường khó khănhơn việc kiểm tra các tính chất trên
Trang 11Ví dụ: Kiểm tra tính bắc cầu của quan hệ sau đây:
Bμi tập.
1 Cho tập A = {1, 2, 3, 4} Biểu diễn các quan hệ R, S trên A bằng matrận với thứ tự của các phần tử của A đ−ợc liệt kê tăng dần vμ R, S chosau đây:
liệt kê các cặp thuộc mỗi quan hệ P, Q
3 Các quan hệ đã cho trong các bμi tập 1 vμ 2 có những tính chất gì trongcác tính chất phản xạ, đối xứng, phản xứng, bắc cầu
4 Tìm các ma trận biểu diễn của các quan hệ P−1, P , P2 với P lμ quan
hệ tìm đ−ợc trong bμi tập 2
5 Tìm các ma trận biểu diễn của các quan hệ P∪Q, P ∩Q, P Q, QP, P2, P3, P4với P vμ Q lμ các quan hệ có ma trận biểu diễn MP, MQ cho trong bμitập 2
6 Vẽ các đồ thị biểu diễn các quan hệ R, S cho trong bμi tập 1 vμ các đồthị biểu diễn các quan hệ P, Q tìm đ−ợc trong bμi tập 2
7 Chứng minh rằng nếu MR lμ ma trận biểu diễn quan hệ R thì MR[k] lμ
ma trận biểu diễn quan hệ Rk, với k = 1, 2, 3,
1.3 Các bao đóng của quan hệ
1.3.1 Định nghĩa bao đóng.
Một quan hệ R trên một tập A có thể có hoặc không có một tính chất Pnμo đó (chẳng hạn tính chất đối xứng) Nếu có một quan hệ S trên A có tính
Trang 12chất P , chứa R sao cho mọi quan hệ có tính chất P chứa R đều chứa S thì
S sẽ được gọi lμ bao đóng của R đối với P Chẳng hạn nếu P lμ tính chấtphản xạ, (đối xứng, phản xứng, bắc cầu) thì các bao đóng của R đối với P sẽ
được gọi lμ bao đóng phản xạ, (bao đóng đối xứng, bao đóng phản xứng, bao
đóng bắc cầu) Có thể nhận thấy rằng bao đóng S của một quan hệ R đối vớitính chất P lμ giao của mọi quan hệ chứa R vμ có tính chất P
1.3.2 Đường đi trong đồ thị có hướng
a Định nghĩa Đường đi từ a đến b, độ dμi n trong đồ thị có hướng G
lμ một dãy có thứ tự gồm n cạnh (x0, x1), (x1, x2), , (xnư1, xn) trong G,trong đó x0 = a , xn = b vμ đỉnh cuối của cạnh thứ i lμ đỉnh đầu của cạnhthứ i + 1, (i = 1, 2, nư 1) Để đơn giản hơn ta có thể sử dụng ký hiệu
x0, x1, , xnư1, xn Đỉnh x0 được gọi lμ đỉnh khởi đầu vμ xn được gọi lμ
đỉnh kết thúc của đường đi Đường đi có đỉnh khởi đầu vμ đỉnh kết thúc trùng
nhau thì được gọi lμ một chu trình Để tránh nhầm lẫn ta quy ước không có
đường đi độ dμi 0, nghĩa lμ đường đi (a, a) lμ một khuyên vμ có độ dμi 1
Chú ý rằng một đường đi thì tương ứng với một dãy các đỉnh, tuy nhiên,một dãy các đỉnh chưa chắc đã xác định một đường đi
Trang 13b Vi dụ. Trong các dãy đỉnh cho dưới đây, dãy đỉnh nμo lμ một
đường đi trong đồ thị G cho trên hình vẽ? (a, b, d, c, b, a, e); (a, c, d, e, b, a, d);(a, d, g, b),
c Đường đi trong quan hệ R Định lý về đường đi độ dμi n vμ quan hệ
Rn.
Bởi vì một đồ thị có hướng G có thể tương ứng 1-1 với một quan hệ haingôi R trên tập các đỉnh của nó, do đó từ định nghĩa đường đi ở trên, ta cóthể định nghĩa đường đi từ a đến b trong quan hệ R lμ một dãy các phần tử(x0, x1), (x1, x2), , (xn ư1, xn) của quan hệ R, trong đó x0 = a , xn = b
Định lý 1 Giả sử R lμ một quan hệ hai ngôi trên tập A Có một đường đi
chiều dμi n từ a đến b trong quan hệ R khi vμ chỉ khi (a, b) ∈ Rn.
Chứng minh (bằng quy nạp).
Với n = 1, ta có đường đi chiều dμi 1 từ a đến b trong R nghĩa lμ(a, b) ∈ R1, tức lμ (a, b) ∈ R
Giả sử định lý đúng với nư 1, nghĩa lμ có đường đi độ dμi n ư 1 từ a
đến b trong R khi vμ chỉ khi (a, b) ∈ Rnư1
Với n, ta có đường đi độ dμi n từ a đến b trong R khi vμ chỉ khi tồntại một dãy n phần tử thuộc R: (a, x1), (x1, x2), , (xnư2, xnư1), (xnư1, b).Với nư 1 phần tử đầu ta xác định một đường đi trong R có độ dμi n ư 1,
do đó theo giả thiết quy nạp ta có (a, xn ư1) ∈ Rnư1 Kết hợp biểu thức liênthuộc nμy với phần tử thứ n của đường đi, ta có (a, b) ∈ R ◦ Rnư1, nghĩa lμ
1.3.3 Xác định bao đóng bắc cầu
a Định nghĩa quan hệ liên thông Cho R lμ một quan hệ trên tập A.
Quan hệ liên thông R∗ tương ứng với R lμ quan hệ bao gồm các cặp (a, b)
Trang 14sao cho có một đường đi trong R từ a đến b.
R∗ = {(a, b)|∃a = x0, x1, , xn = b sao cho (xiư1, xi) ∈ R, ∀i = 1, n}
Từ định lý ở cuối mục trước ta nhân thấy ngay rằng R∗ lμ hợp của tất cả cáctập Rn, n = 1, 2, , tức lμ
R∗ =
∞ n=1
Giả sử a = x0, x1, , xmư1, xm = b lμ một đường đi trong R từ a đến
b Khi đó các đỉnh xi với 0 < i < n được gọi lμ các đỉnh trong của đường đi
đã cho Chú ý rằng bản thân a hoặc b cũng có thể lμ các đỉnh trong
Định lý 3 (về Biểu diễn của bao đóng bắc cầu R∗)Giả sử A lμ một tập có
n phần tử vμ R lμ quan hệ hai ngôi trên A được biểu diễn bởi ma trận logic
MR Khi đó bao đóng bắc cầu R∗ của R được biểu diễn bởi ma trận logic
MR∗ = MR ∨ MR[2] ∨ ∨ MR[n]
Chứng minh Trước tiên ta chứng minh nhận xét sau:
Nếu có một đường đi trong R từ a đến b thì có một đường đi trong R
từ a đến b với độ dμi không quá n, hơn nữa nếu a = b thì có một đường đitrong R từ a đến b với độ dμi bé hơn n
Thật vậy, giả sử có một đường đi độ dμi m trong R từ a đến b lμ
a = x0, x1, , xmư1, xm = b, nghĩa lμ ta có m + 1 đỉnh trên đường đi nμy.Tuy nhiên tập A chỉ có n đỉnh vμ giả sử m > n, khi đó theo nguyên lýDirichle sẽ có ít nhất hai đỉnh xi, xj, (i < j) thuộc đường đi cùng lμ một đỉnhcủa x ∈ A, tức lμ đường đi đang xét chứa một chu trình x, xi+1, , xjư1, x(có độ dμi l > 0)
Nếu xi hoặc xj lμ đỉnh trong, loại bỏ chu trình nμy ta vẫn có một đường
đi từ a đến b vμ có độ dμi m1 = m ư l < m Cứ loại bỏ các chu trình
Trang 15như trên sau k bước nμo đó ta sẽ có một đường đi từ a đến b có độ dμi
mk < mkư1 < < m1 < m với các đỉnh trong đôi một khác nhau vμ khácvới các đỉnh a, b (trừ trường hợp đặc biệt a = x0 ≡ xm = b) Do đó,
- nếu a = x0 ≡ xmk = b, đường đi có tối đa n đỉnh phân biệt vμ có đỉnh
đầu trùng đỉnh cuối, do đó độ dμi mk < n
- nếua = b, đường đi có tối đa n-1 đỉnh phân biệt, nên có độ dμi mk < n
Từ nhận xét trên, ta nhận thấy mỗi phần tử (a, b) ∈ R∗ tương ứng vớimột đường đi có độ dμi không quá n trong R, điều đó cũng có nghĩa lμ
Thuật toán 2 (Warshall, 1960), (Roy, 1959).
Thuật toán Warshall sẽ xây dựng dãy các ma trận logic W0, W1, , Wntrong đó W0 = MR, Wk = [w(k)ij ] sao cho w(k)ij = 1 khi vμ chỉ khi có một
đường đi từ đỉnh ai đến đỉnh aj mμ mọi đỉnh trong của nó chỉ thuộc k đỉnh
đầu tiên a1, , ak trong danh sách các đỉnh (đã được sắp) của tập nền A
Rõ rμng Wn theo định nghĩa trên chính lμ ma trận MR ∗, biều diễn của R∗
Ta sẽ xác định Wk qua Wk ư1 như sau:
Giả sử Wk = [wij(k)] lμ ma trận logic trong dãy trên, khi đó
w(k)ij = 1 khi vμ chỉ khi có một đường đi từ đỉnh ai đến đỉnh aj
mμ mọi đỉnh trong của nó chỉ thuộc tập {a1, , ak} gồm k đỉnh đầu tiên
Trang 16trong danh sách các đỉnh (đã được sắp) của tập nền A Có ba khả năng xảyra:
- Hoặc tập các đỉnh trong của đường đi nμy không chứa ak, đường đi nμychính lμ đường đi tương ứng với w(kijư1) = 1
- Hoặc tập các đỉnh trong của đường đi nμy đi qua ak chỉ một lần Khi
đó đường đi nμy sẽ được xét như lμ sự nối tiếp của hai đường đi, từ ai đến
ak vμ từ ak đến aj, mμ các đỉnh trong của mỗi đường nμy chỉ thuộc tập các
đỉnh {a1, , akư1} Điều đó đồng nghĩa với wik(kư1) = 1 vμ w(kkjư1) = 1
- Hoặc tập các đỉnh trong của đường đi nμy đi qua ak quá 1 lần, khi đó
ta sẽ xác định được đường đi mới chỉ đi qua ak đúng 1 lần bằng cách bỏ đi(các) chu trình xuất phát vμ kết thúc tại ak (tức lμ ta quy về khả năng thứ hai
wij := wij ∨ wik ∧ wkj
Bμi tập.
1 Cho R lμ quan hệ {(a, b)|a = b} trên tập hợp các số nguyên Z Tìm bao
đóng phản xạ của R
2 Cho R lμ quan hệ {(a, b)|a lμ ước của b} trên tập hợp các số tự nhiên
N Tìm bao đóng đối xứng của R
3 Chứng minh rằng:
Bao đóng phản xạ của quan hệ R lμ S = R∪ I
Bao đóng đối xứng của quan hệ R lμ S = R∪ Rư1
4 Chứng minh rằng nếu R lμ quan hệ trên tập hữu hạn A được biểu diễnbởi ma trận MR, thì:
a Ma trận biểu diễn bao đóng phản xạ của R lμ MR ∨ In
Trang 17b Ma trận biểu diễn bao đóng đối xứng của R lμ MR ∨ MRt trong đó
Mt lμ ma trận chuyển vị của M
5 Dùng các thuật toán 1 vμ 2 để tìm bao đóng bắc cầu của các quan hệ sau
đây:
a R = {(1, 0)} trên tập A = {0, 1}
b R = {(a, b), (a, c)} trên tập A = {a, b, c}
c R = {(a, a), (a, b), (b, c), (b, d), (c, a), (d, a), (d, b)} trên tập A ={a, b, c, d}
6 Giả sử A lμ một tập gồm n chữ cái nμo đó , (n < 20) R lμ một quan hệhai ngôi trên A Viết một chương trình thực hiện các công việc sau đây:
a Nhập số phần tử n của tập A vμ các phần tử của A (lμ các chữ cái)
b Nhập các cặp thuộc quan hệ R trên A
c Xác định ma trận biểu diễn quan hệ R vμ in ra mμn hình ma trận đó
d Tìm vμ in ra mμn hình ma trận biểu diễn quan hệ bao đóng bắc cầucủa R
e In ra mμn hình tất cả các cặp phần tử của bao đóng bắc cầu của R
1.4 Quan hệ tương đương vμ quan hệ thứ tự
1.4.1 Quan hệ tương đương
Một quan hệ hai ngôi R trên tập hợp A được gọi lμ quan hệ tương đương
nếu nó có (thỏa mãn) ba tính chất phản xạ, đối xứng vμ bắc cầu
Ví dụ 1 Cho tập A = {1, 2, 3, 4, 5, 6, 7, 8, 9} Trên A ta định nghĩa quan
hệ R như sau: ∀a, b ∈ A thì aRb ⇔ a+b = 2k với k lμ một số nguyên dươngnμo đó
Dễ thấy R lμ quan hệ tương đương trên A
Ví dụ 2 Xét tập A lμ tập hợp các sinh viên của lớp 48K vμ xét quan hệ
R lμ quan hệ đồng hương (cùng huyện) trên A
Dễ thấy R lμ quan hệ tương đương trên A
Ví dụ 3 Xét tập hợp Z các số nguyên vμ quan hệ R lμ quan hệ đồng
dư theo modun 5 trên Z Khi đó R cũng lμ quan hệ tương đương trên Z
1.4.2 Tập thương
Mệnh đề Mỗi quan hệ tương đương R trên một tập A sẽ xác định một
phân hoạch của tập A, nghĩa lμ xác định một sự phân chia tập A thμnh các
Trang 18tập con A1, A2, , Aq nμo đó thỏa mãn các tính chất:
mặt khác nếu Ra ∩ Rb = ∅ thì tồn tại c ∈ Ra ∩ Rb vμ với mọi x ∈ Ra
ta có xRa, aRc, cRb suy ra xRb, nghĩa lμ x ∈ Rb vμ ngược lại Vậy nếu
Ra ∩ Rb = ∅ thì Ra ≡ Rb Đánh số các tập con dưới dạng A1, A2, , Aq ta
có điều phải chứng minh
Mỗi tập con thuộc phân hoạch của A được xác định theo quan hệ tương
đương R được gọi lμ một lớp tương đương của A theo quan hệ tương đương
R Lớp tương đương của A theo quan hệ tương đương R, chứa phần tử athường được ký hiệu lμ a
Tập hợp bao gồm tất cả các phần tử, trong đó mỗi phần tử lμ một lớp
tương đương của A theo quan hệ tương đương R được gọi lμ tập thương của
tập A theo quan hệ tương đương R, ký hiệu lμ A/R
- Quan hệ tương đương trong ví dụ 3 xác định phân hoạch của tập Athμnh năm tập A0 = {5k | k ∈ Z}, A1 = {5k + 1 | k ∈ Z}, A2 ={5k + 2 | k ∈ Z}, A3 = {5k + 3 | k ∈ Z}, A4 = {5k + 4 | k ∈ Z}.Tập thương Z/R = {0, 1, 2, 3, 4}, (chính lμ Z5 quen thuộc)
Trang 19Ngược lại, nếu có một phân hoạch tập A (nghĩa lμ có sự phân chia tập Athμnh các tập con thỏa mãn (1) vμ (2) thì phân hoạch đó xác định một quan
- Tính chất đối xứng thỏa mãn vì với mọi a, b ∈ A, nếu aRb thì
∃Ai sao cho a ∈ Ai, b ∈ Ai, tức lμ ∃Ai sao cho b ∈ Ai, a ∈ Ai, tức lμbRa
- Tính chất bắc cầu thỏa mãn vì với mọi a, b, c ∈ A, nếu aRb vμ bRc thì
từ aRb suy ra ∃Ai sao cho a∈ Ai, b ∈ Ai vμ từ bRc suy ra ∃Aj sao cho b ∈
Aj, c ∈ Aj Tuy nhiên theo điều kiện (2) ta có i = j, do đó ∃Ai sao cho a ∈
1.4.3 Quan hệ thứ tự
Một quan hệ hai ngôi R trên tập hợp A được gọi lμ quan hệ thứ tự nếu nó
có (thỏa mãn) ba tính chất phản xạ, phản xứng vμ bắc cầu Người ta thường
ký hiệu quan hệ thứ tự bởi ký hiệu < vμ nếu a < b hoặc b < a thì ta nói rằng
hai phần tử a vμ b so sánh được với nhau Tập A với quan hệ thứ tự được gọi
lμ tập sắp thứ tự.
Ví dụ 6 Quan hệ ”<” trên Z lμ quan hệ thứ tự.
Ví dụ 7 Quan hệ quan hệ bao hμm ⊆ giữa các tập con của một tập hợp
X lμ quan hệ thứ tự trên tập P(X) tất cả các tập con của X
Ví dụ 8 Quan hệ ”Chia hết cho”, ký hiệu lμ ., trên N lμ quan hệ thứ tự.
Trang 20Trong ví dụ 6, với a, b tùy ý ta luôn có a < b hoặc b < a Các quan
hệ thứ tự có tính chất mọi cặp phần tử đều có thể so sánh được thì được gọi
lμ quan hệ thứ tự toμn phần hoặc thứ tự tuyến tính Trong các ví dụ 7 vμ 8,
không phải hai phần tử bất kỳ đều có thể so sánh được Các quan hệ thứ tự
như vậy được gọi lμ quan hệ thứ tự bộ phận.
Từ quan hệ thứ tự <, nếu a < b vμ a = b thì ta viết a < b vμ ta nói rằng
”<” lμ thứ tự chặt Như vậy một quan hệ thứ tự chặt chỉ thỏa mãn hai tính
chất phản xứng vμ bắc cầu
Giả sử R lμ quan hệ thứ tự trên tập A B lμ một tập con của A Khi đó
R∩ (B ì B) lμ một quan hệ thứ tự trên B vμ ta cũng ký hiệu lμ R, được gọi
lμ thứ tự trên B cảm sinh bởi thứ tự trên A hoặc lμ thu hẹp của thứ tự R trên
B
Giả sử X lμ một tập hợp sắp thứ tự Một phần tử a ∈ X được gọi lμ
phần tử tối tiểu của X nếu từ x < a kéo theo x = a.
Chẳng hạn tập Z với quan hệ < trong ví dụ 6 không có phần tử tối tiểu.Giả sử X khác rỗng Tập P(X) \ {∅} với quan hệ ⊆ (quan hệ bao hμmthu hẹp trên P(X)) chứa ít nhất một phần tử tối tiểu vμ mọi tập con một phần
tử của X đếu lμ phần tử tối tiểu
Giả sử X lμ một tập hợp sắp thứ tự Một phần tử a ∈ X được gọi lμ
phần tử bé nhất của X nếu từ ∀x ∈ X đều có a < x
Chẳng hạn tập ∅ với quan hệ ⊂ trong ví dụ 7 lμ phần tử bé nhất
Một tập hợp được gọi lμ sắp thứ tự tốt nếu nó lμ tập sắp thứ tự vμ mọitập con khác rống của nó đều có phần tử bé nhất
Ví dụ tập hợp các số tự nhiên với quan hệ thứ tự < thông thường lμ tậpsắp thứ tự tốt
Trang 21trong đó
Aij = ma trận có mọi phần tử bằng 1 nếu i = j
ma trận không (có mọi phần tử bằng 0) nếu i = j
2 Có thể có bao nhiêu quan hệ tương đương trên một tập có n phần tử?
1.5 Quan hệ n ngôi vμ các ứng dụng của nó
1.5.1 Quan hệ n ngôi vμ cơ sở dữ liệu quan hệ
a Định nghĩa quan hệ n ngôi Cho n tập hợp A1, A2, , An Một tậpcon R của tích đề các A1ì A2 ì ì An được gọi lμ một quan hệ n ngôi
trên các tập đã cho Mỗi tập Ai được gọi lμ một miền của quan hệ, còn n
được gọi lμ bậc của quan hệ đó.
b Mô hình quan hệ của dữ liệu
Thông thường mỗi miền Ai được đặc trưng bởi một thuộc tính Ai xác
định miền đó, vμ do đó mỗi phần tử thuộc quan hệ n ngôi R lμ một bộ(a1, a2, , an) các giá trị mang thuộc tính tương ứng, còn gọi lμ một hμngcủa quan hệ R Người ta chỉ xét các quan hệ R hữu hạn do đó thường dùngbảng để biểu diễn quan hệ n ngôi R Mỗi bảng bao gồm n cột, mỗi cột lμmột thuộc tính, còn mỗi phần tử được viết trên một hμng Số hμng trong phầnnội dung của bảng lμ số phần tử của quan hệ R
Ví dụ 1 Quan hệ ”Sinh viên 43E3”, được biểu diễn trong bảng dưới đây:
Số tt Họ vμ tên Năm sinh Quê quán
2 Trần Ngọc Bình 1984 Ninh bình
3 Phạm Ngọc Hùng 1983 Nam định
5 Phan Phi Thường 1984 Hμ tĩnh
6 Phan Phi Thường 1985 Thanh hoá
gồm 4 thuộc tính: Số thứ tự, Họ vμ tên, Năm sinh, Quê quán Thuộc tính sốthứ tự đặc trưng cho miền A1 lμ tập con của tập các số tự nhiên Thuộc tính
Họ vμ tên đặc trưng cho miền A2 các xâu ký tự Thuộc tính Năm sinh đặctrưng cho miền A3 lμ tập con của tập các số tự nhiên Thuộc tính Quê quán
đặc trưng cho miền A4 các xâu ký tự chỉ tên của các tỉnh
Trang 22Dễ dμng nhận thấy rằng bảng trên lμ một tập hợp 6 phần tử dữ liệu cócùng kiểu (bản ghi), mỗi thuộc tính sẽ lμ một trường của kiểu bản ghi đó.Kiểu dữ liệu của từng trường sẽ xác định các tập Ai lμ các miền của quan hệ.
Rõ rμng từ ví dụ trên, ta bắt đầu thấy được một mối liên hệ giữa khái niệmtoán học trừu tượng ”quan hệ n ngôi” vμ khái niệm ở thực tế cuộc sống vμ
trong tin học (dữ liệu) Mối liên hệ ấy sẽ được xem xét dưới tên gọi Mô hình
quan hệ của dữ liệu Vấn đề lμ tiếp tục xây dựng các thao tác (phép toán)
thích hợp trên các quan hệ để tác động vμo các dữ liệu
1.5.2 Các phép toán: hợp, giao, tich đề các, kết nối, chiếu, chọn.
Định nghĩa 1 Hai quan hệ được gọi lμ khả hợp nếu chúng đều lμ tập
con của tích đề các của n tập đã cho Như vậy, hai quan hệ khả hợp phảicùng bậc vμ các phần tử thuộc mỗi quan hệ ấy đều lμ các bộ có thứ tự cùngcác thuộc tính tương ứng
Từ định nghĩa của tính khả hợp ta có thể định nghĩa hợp, giao, hiệu của
hai quan hệ n ngôi, đó chính lμ hợp, giao, hiệu của các tập hợp tương ứng
Định nghĩa 2 Tích đề các của quan hệ n ngôi R vμ m ngôi S lμ quan
hệ n + m ngôi Rì S bao gồm tất cả các bộ có n thμnh phần đầu thuộc quan
hệ R vμ có m thμnh phần sau thuộc quan hệ S
Định nghĩa 3 Phép chiếu Πi1i2 im đối với một quan hệ hai ngôi R lêncác tập hợp Ai1, Ai2, , Aim, ký hiệu Πi1i2 im(R), tạo nên một quan hệ mngôi (m < n) trên các tập hợp Ai 1, Ai2, , Aim bao gồm tất cả các phần
tử lμ các bộ thu được từ các bộ của R bằng cách xoá đi nư m thμnh phầnkhông thuộc các tập nói trên Như vậy phép chiếu thực chất lμ phép loại bỏ đimột số thuộc tính vμ giữ lại một số các thuộc tính của quan hệ đó Để tránhnhầm lẫn hoặc mất mát dữ liệu, thông thường ta chỉ thực hiện phép chiếu lêncác tập hợp mμ tập các thuộc tính tương ứng tạo nên một khoá phức hợp K
Định nghĩa 4 Phép nối tự nhiên Jp(R, S) (p < min {m, n} lμ quan hệbậc m + nư p bao gồm tất cả các bộ m + n ư p thμnh phần
(a1, a2, , amưp, c1, c2, , cp, b1, b2, , bnưp)
trong đó
(a1, a2, , amưp, c1, c2, , cp) ∈ R
Trang 23(c1, c2, , cp, b1, b2, , bn ưp) ∈ S
Định nghĩa 5 Phép chọn σF(R) = {r ∈ R|F (r) đúng} lμ một tập contất cả các phần tử r của R sao cho hệ thức Boole F nμo đó đúng đối vớinhững phần tử ấy của R Như vậy, bằng cách chỉ ra các hệ thức F , nó chophép ta có thể chọn được những phần tử của R thoả mãn điều kiện đã cho
c Một số ví dụ (Xem Rosen)
1.5.3 Khoá của một quan hệ R.
Một thuộc tính Ai đặc trưng cho một miền Ai của quan hệ n ngôi R
được gọi lμ một khoá cơ bản của quan hệ R nếu với mỗi giá trị bất kỳ ai ∈ Ai
ta tìm được nhiều nhất một phần tử (a1, a2, , an) ∈ R Nói cách khác, haiphần tử khác nhau thuộc R có giá trị khác nhau thuộc Ai Điều đó cũng cónghĩa lμ một khoá cơ bản của một quan hệ lμ một thuộc tính, đặc trưng chomột miền, đủ để phân biệt các phần tử của quan hệ ấy
Nói chung, với một quan hệ n ngôi R ta khó xác định khoá cơ bản trừkhi đã cố tình tạo ra một khoá khi xây dựng quan hệ đó Do đó người ta
thường phải xác định khoá phức hợp Khoá phức hợp của một quan hệ lμ một
tập hợp các thuộc tính đủ để phân biệt các phần tử của quan hệ R Dễ thấyrằng, nếu một tập các thuộc tính K lμ khoá của R thì tập K chứa K cũng
sẽ lμ một khoá của R Tập hợp tất cả các thuộc tính hiển nhiên lμ một khoá
vμ nó được gọi lμ một siêu khoá.
Ví dụ Quan hệ “Sinh viên 43E3”, gồm 4 thuộc tính: Số thứ tự; Họ vμtên; Năm sinh; Quê quán thường được biểu diễn trong bảng dưới đây:
Số tt Họ vμ tên Năm sinh Quê quán
2 Trần Ngọc Bình 1984 Ninh bình
3 Phạm Ngọc Hùng 1983 Nam định
5 Phan Phi Thường 1984 Hμ tĩnh
6 Phan Phi Thường 1985 Thanh hoá
Trang 24Với quan hệ “Sinh viên 43E3” nh− trên, ta xác định đ−ợc thuộc tính Số tt lμmột khoá cơ bản Từng thuộc tính trong ba thuộc tính còn lại không phải lμkhoá (hãy tự kiểm tra?) Tuy nhiên hai trong ba thuộc tính đó lμ một khoá(phức hợp).
Trang 25Chương 2 Lý thuyết tổ hợp
2.1 Một số nguyên lý cơ bản
2.1.1 Mở đầu - Sơ lược về tổ hợp
Trong rất nhiều bμi toán thực tế, cần phải quan tâm đến tập hợp các đối
tượng được sắp xếp thep một trật tự nμo đó, sau đây ta sẽ gọi tắt cụm từ nμy
bởi thuật ngữ cấu hình vμ thường phải trả lời các câu hỏi:
i Có hay không một cấu hình cho trước?
ii Có bao nhiêu cấu hình cho trước?
iii Cách thức để liệt kê hay chỉ rõ các cấu hình đó như thế nμo?
Câu hỏi thứ nhất liên quan đến một lớp các bμi toán mμ ta sẽ gọi lμ các
bμi toán tồn tại Câu hỏi thứ hai liên quan đến lớp các bμi toán đếm vμ câu
hỏi thứ ba liên quan đến lớp các bμi toán liệt kê Phương pháp để giải quyết
các bμi toán thuộc các lớp bμi toán nói trên cũng mang các đặc thù khác nhau.Phương pháp để giải quyết các bμi toán tồn tại thường sử dụng các công cụchứng minh diễn dịch (suy diễn) hoặc phản chứng Đối với các bμi toán đếmthường sử dụng các công cụ chứng minh quy nạp hoặc các công cụ tính toán,còn đối với các bμi toán liệt kê thường sử dụng các cách thức, các thuật toán
để chỉ ra một cách tường minh các cấu hình cần tìm
Để giải quyết các bμi toán tổ hợp ta sẽ sử dụng một số các nguyên lý cơbản Các nguyên lý nμy lμ các công cụ quan trọng để giải các bμi toán đếm,các bμi toán tồn tại vμ các bμi toán liệt kê
2.1.2 Nguyên lý nhân
Giả sử có một việc được tách thμnh k công đoạn Công đoạn 1 có thểthực hiện được bằng n1 cách; công đoạn 2 có thể thực hiện được bằng n2
cách; ; công đoạn k có thể thực hiện được bằng nk cách Khi đó sẽ có
n1ì n2ì ì nk cách thực hiện công việc nói trên
Ví dụ 1: Từ Hμ tĩnh đến Hμ nội cần phải đi qua Vinh Biết rằng từ Hμtĩnh đi Vinh có 2 phương án: xe máy hoặc ô tô Từ Vinh đi Hμ nội có 3phương án: xe máy hoặc ô tô hoặc tμu hoả Hỏi có bao nhiêu phương án đi
từ Hμ tĩnh đến Hμ nội
Giải: áp dụng trực tiếp nguyên lý nhân ta có số phương án đi từ Hμ tĩnh
đến Hμ nội bằng 2ì 3 = 6
Trang 26Nguyên lý nhân còn được phát biểu dưới dạng: Giả sử (a1, a2, , ak)
Giải: Vì ban đầu k = 0 nên giá trị cuối cùng của k sau 3 vòng lặp sẽ
lμ số lần thực hiện lệnh k := k + 1 Mỗi lần thực hiện lệnh k := k + 1tương ứng một-một với một bộ giá trị (h, i, j) Tuy nhiên số các giá trị mμ
Bμi toán1: Số các chỉnh hợp lặp chập k của n.
Có bao nhiêu bộ sắp thứ tự k thμnh phần có giá trị thuộc tập n phần tử(Có bao nhiêu chỉnh hợp lặp chập k của n phần tử?)
Có bao nhiêu cách xếp k vật vμo n hộp?
Có bao nhiêu cách tô k vật bởi n mμu?
Có bao nhiêu ánh xạ (hμm) từ một tập có k phần tử vμo một tập có nphần tử?
Có bao nhiêu phần tử của luỹ thừa đề-các bậc k của một tập có n phầntử?
Trang 27Có bao nhiêu cách xếp k vật vμo trong n hộp sao cho mỗi hộp chứakhông quá 1 đồ vật? (hai vật khác nhau được xếp vμo hai hộp khác nhau).
Có bao nhiêu đơn ánh từ tập có k phần tử vμo tập có n phần tử? (điềukiện k < n)
Có bao nhiêu bộ sắp thứ tự k phần tử của một tập n phần tử? (Có baonhiêu chỉnh hợp chập k của n?)
Đáp số: Akn = n(nư 1) (n ư k + 1)
Một hoán vị của tập hợp có n phần tử lμ một cách sắp theo một thứ tự nμo đó tập n phần tử Ta thường gọi tắt lμ hoán vị cấp n hay một phép thế
cấp n.
Bμi toán 3: Số các hoán vị cấp n.
Có bao nhiêu song ánh từ tập n phần tử lên tập n phần tử
Có bao nhiêu hoán vị của tập n phần tử
Đáp số: n! = n(nư 1) 2.1
Bμi toán 4:
Có bao nhiêu cách khác nhau để xếp đặt không hạn chế k vật vμo trong
n hộp sao cho hai cách xếp đặt được coi lμ giống nhau khi trong mỗi hộp đềuchứa cùng một dãy các vật
Đáp số: [n]k = n(n + 1)(n + 2) (n + k ư 1)
Bμi toán 5: Tổ hợp
Một tổ hợp chập k của n phần tử lμ một tập con k phần tử của tập hợp
n phần tử Vì ý nghĩa thực tế của các phần tử của tập hợp không đóng vaitrò quan trọng, mμ quan trọng lμ các số lượng k vμ n, do đó ta thường nói
một cách ngắn gọn tổ hợp chập k của n thay cho cụm từ tổ hợp chập k của
n phần tử
Số các tổ hợp chập k của n lμ Cnk = k!(nn!ưk)!
Ví dụ: Mỗi một ban cán sự lớp gồm 3 người của một lớp có 52 sinh viên
lμ một tổ hợp chập 3 của 52 Giả sử khả năng tham gia ban cán sự của mỗithμnh viên trong lớp lμ như nhau Khi đó số các khả năng để chọn ra một bancán sự lớp (không phân biệt chứ danh lớp trưởng, lớp phó học tập vμ lớp phó
đời sống) lμ C523 Tuy nhiên nếu ta phân biệt các chức danh lớp trưởng, lớpphó học tập vμ lớp phó đời sống thì số các khả năng để chọn ra một ban cán
sự lớp lμ A352, tăng lên 3! = 6 lần so với số các tổ hợp chập 3 của 52
Trang 28Giải: Vì ban đầu k = 0 nên giá trị cuối cùng của k sau 3 vòng lặp sẽ lμ
số lần thực hiện lệnh k := k + 1 Mỗi lần thực hiện lệnh k := k + 1 tươngứng một-một với một giá trị của h hoặc một giá trị của i hoặc một giá trị của
j Tuy nhiên số các giá trị mμ h có thể nhận lμ 10, số các giá trị mμ i có thểnhận lμ 20 vμ số các giá trị mμ j có thể nhận lμ 30, nên theo nguyên lý cộng
ta có số các lần thực hiện lệnh k := k + 1 lμ 10 + 20 + 30 = 60 Vậy giá trịcuối cùng của k lμ 60
2.1.4 Nguyên lý bù trừ
Giả sử X = A∪ B, khi đó N(X) = N(A) + N(B) ư N(A ∩ B)
Thật vậy, nếu lấy số phần tử của A cộng với số phần tử của B thì nhữngphần tử thuộc giao A∩ B sẽ được đếm hai lần, do đó để chỉ đếm một lần cácphần tử nμy ta phải trừ đi số các phần tử của giao A∩ B
Giả sử X = A ∪ B ∪ C, khi đó N(X) = N(A) + N(B) + N(C) ư
N (A∩ B) ư N(B ∩ C) ư N(C ∩ A) + N(A ∩ B ∩ C)
Thật vậy, nếu lấy tổng số các phần tử của từng tập A, B, C thì các phần
tử thuộc giao của chỉ hai trong 3 tập đó sẽ được đếm hai lần, đồng thời số cácphần tử thuộc giao của ba tập A∩ B ∩ C đã được đếm ba lần, do đó để chỉ
đếm một lần các phần tử đã được đếm hai lần ta phải trừ đi số các phần tử
Trang 29của các giao A∩ B, B ∩ C, C ∩ A, tuy nhiên khi ta trừ đi tổng số các phần
tử của các giao vừa nêu thì số các phần tử được đếm ba lần trong A∩ B ∩ Clại bị trừ đi ba lần, vì vậy cuối cùng ta lại phải cộng vμo số các phần tử của
trong đó Nk lμ tổng của tất cả các số phần tử của các giao k tập bất kỳ trong
n tập Ai đã cho (Chứng minh: xem Hoμng Chí Thμnh).
Ví dụ ứng dụng nguyên lý bù trừ vμo việc tính số hỗn độn (mất thứ tự)
Dn: Có n lá thư khác nhau cần phải gửi đi n địa chỉ khác nhau Một cách
bỏ thư vμo phong bì được gọi lμ một hỗn độn nếu không có một lá thư nμo
được bỏ đúng địa chỉ (phong bì) của nó Hãy tính số các hỗn độn Dn
Giải: Gọi X lμ tập hợp tất cả các cách bỏ thư, B lμ tập hợp các hỗn độn
thì A = X\ B lμ tập các phương án bỏ thư sao cho có ít nhất một lá thư được
bỏ đúng địa chỉ, do đó X = A∪ B vμ B ∩ A = ∅, theo nguyên lý cộng ta có
N (X) = N (B) + N (A) tức lμ N (B) = N (X) ư N(A) Mặt khác, gọi Ai
lμ tập hợp các cách bỏ thư sao cho lá thư thứ i được bỏ đúng địa chỉ, khi đó
A = ni=1Ai, theo nguyên lý bù trừ
N (A) = N1ư N2+ N3 ư N4 + + (ư1)(nư1)Nntrong đó Nk lμ tổng của các số phần tử của tất cả các giao k tập trong cáctập Ai
Nk =
{s 1 ,s 2 , ,s k }
N (As1 ∩ As 2 ∩ ∩ As k)
Ta xét một giao P = As 1 ∩ As 2 ∩ ∩ As k Mỗi phần tử thuộc giao nμy
lμ một phương án bỏ thư sao cho các lμ thư s1, s2, , sk phải được bỏ đúng
địa chỉ, còn nư k lá thư còn lại có thể bỏ tùy ý vμo n ư k phong bì còn lại
Do đó P gồm có (nư k)! phương án Tuy nhiên có Cnk tập tương tự P , nên
số tất cả các cách bỏ thư sao cho có ít nhất k lá thư bỏ đúng địa chỉ bằng
Cnk(nư k)! = n!(nk!(nưk)!ưk)! = n!k!
Trang 30N (B) = N (X)ư N(A) = n! ư n! 1
1! ư 12! +
13! +ã ã ã + (ư1)nư1 1
n!tức lμ
Dn = n! 1ư 1
1! +
12! ư 13! +ã ã ã + (ư1)n 1
Nguyên lý quy nạp lμ cơ sở của phép chứng minh quy nạp toán học sau
Chú ý: Có thể sử dụng nguyên lý quy nạp suy sộng:
Nếu mệnh đề đúng với n = n0 vμ từ giả thiết mệnh đề đúng với mọi
n < k + 1 nμo đó (k ≥ n0) kéo theo mệnh đề đúng với n = k + 1, khi đómệnh đề đúng với mọi số tự nhiên n
Như vậy để chứng minh một mệnh đề P (n) đúng với mọi n kể từ một
số tự nhiên n0 nμo đó (∀n ≥ n0) Khi đó:
- Bước cơ sở: ta cần chỉ ra mệnh đề đúng với n = n0
- Bước quy nạp:
+ Giả sử mệnh đề đã đúng đến k > n0, tức lμ P (n0) ∧ P (n0 +1)∧ ∧ P (k) đúng), (Giả thiết quy nạp),
+ Cần chứng minh rằng P (k + 1) cũng đúng (Chứng minh quy
nạp).
Trang 31Ví dụ: Chứng minh rằng mọi số nguyên n lớn hơn 1 hoặc lμ một sốnguyên tố, hoặc được phân tích thμnh tích của các số nguyên tố.
Chứng minh:
- Với n = 2 thì 2 lμ số nguyên tố (mệnh đề đúng với n = 2)
- Giả sử mệnh đề đã đúng với mọi số nguyên không vượt quá k nμo đó(k > 2), ta cần chứng minh mệnh đề đúng với k + 1 Thật vậy:
+ Nếu k + 1 lμ số nguyên tố thì mệnh đề đúng,+ ngược lại, nếu k + 1 không phải lμ số nguyên tố thì k + 1 = abvới 1 < a < k + 1 vμ 1 < b < k + 1 Tuy nhiên theo giả thiết quy nạp thì a vμ
b hoặc lμ số nguyên tố, hoặc lμ tích của các số nguyên tố, do đó ab = k + 1
lμ tích của các số nguyên tố (đpcm)
Bμi tập
1 Một đề thi trắc nghiệm đa lựa chọn gồm 10 câu hỏi, mỗi câu có 4 phương
án trả lời Hỏi rằng
a Có bao nhiêu cách điền phiếu nếu mọi câu hỏi đều phải trả lời?
b Có bao nhiêu cách điền phiếu nếu mọi câu hỏi đều có thể trả lời hoặckhông trả lời?
2 Một mẫu áo sơ mi đặc biệt được thiết kế có kiểu cho nam vμ có kiểu chonữ, có 12 mμu vμ 3 cỡ cho mỗi giới Có bao nhiêu loại khác nhau củamẫu áo nμy sẽ được sản xuất?
3 Có bao nhiêu xâu nhị phân chứa đúng tám số 0 vμ mười số 1 vμ ngaysau mỗi số 0 nhất thiết lμ số 1
4 Có bao nhiêu xâu nhị phân chứa đúng năm số 0 vμ mười bốn số 1 vμngay sau mỗi số 0 nhất thiết lμ hai số 1
5 Có bao nhiêu xâu nhị phân độ dμi mười chứa ít nhất ba số 0 vμ ít nhất
ba số 1
6 Có bao nhiêu cách xếp 6 người ngồi chung quanh một chiếc bμn tròn.Hai cách ngồi được xem lμ một nếu cách nμy suy ra từ cách kia bằngcách xuay bμn đi một góc nμo đó
7 Tìm các số nguyên không vượt quá 100 không chia hết cho 5 hoặc khôngchia hết cho 7
8 Tìm các số nguyên không vượt quá 1000 không chia hết cho 6 hoặckhông chia hết cho 10 hoặc không chia hết cho 15
Trang 329 Giả sử máy trả tiền tự động ATM chỉ chứa 2 loại tiền lμ 20 ngμn vμ 50ngμn đồng với số lượng các tờ giấy bạc không hạn chế Hỏi máy có thểtrả được các khoản tiền bao nhiêu? Hãy chứng minh phán đoán của bạnbằng quy nạp.
10 Chứng minh rằng n đường thẳng trong đó không có hai đường nμo songsong vμ không có ba đường nμo đồng quy chia mặt phẳng thμnh n2+n+22miền
2.2 Các công thức truy hồi
2.2.1 Khái niệm về công thức truy hồi
Công thức truy hồi dùng để xác định một dãy số {fn} lμ một công thứcbiểu diễn fn qua một hay nhiều số hạng đi trước của dãy, cụ thể lμ các sốhạng fn ư1, fnư2, , fnưk với một n ≥ k nμo đó
fn = F (fnư1, fnư2, , fnưk)
Ví dụ 1: fn = fnư1 ư 2fn ư2 + fnư3
Ví dụ 2: fn = nfnư1
Để xác định một dãy số cụ thể nμo đó theo một công thức truy hồi, trước
tiên cần biết được các giá trị ban đầu của dãy để lμm căn cứ tính các giá trị
tiếp theo ở vế trái của công thức đó Với những bộ giá trị ban đầu khác nhau
sẽ cho ta các giá trị tiếp theo khác nhau của dãy Nói cách khác một dãy chỉ
được xác định một cách duy nhất theo công thức truy hồi khi đã cho trước
các giá trị ban đầu Khi đó ta nói rằng dãy nhận được lμ một nghiệm của hệ
thức truy hồi Một hệ thức truy hồi có thể có nhiều nghiệm nếu không chotrước tập hợp các giá trị ban đầu Việc xác định các giá trị ban đầu tuỳ thuộcvμo tính chất của dãy hoặc vμo từng tình huống của bμi toán đã cho
Ví dụ 3 Xác định dãy cho bởi hệ thức an = anư1 ư an ư2 biết a0 =
3, a1 = 5 (hoặc biết a0 = 2, a1 = 7)
Ví dụ 4 Tính số các hỗn độn Dn định nghĩa trong ví dụ ở 2.1.4
Mỗi cách bỏ thư có thể được đồng nhất với một hoán vị cấp n Mỗi hỗn
độn có thể được đồng nhất với một hoán vị (a1, a2, , an) sao cho ai = ivới mọi i Với hỗn độn bất kỳ (a1, a2, , an) ta xét thμnh phần an: an có
Trang 33thể nhận nư 1 giá trị khác n, với mỗi giá trị k (khác n) của an có thể xảy
ra 2 khả năng:
Nếu ak = n, khi đó nư 2 thμnh phần còn lại lμ một hoán vị của n ư 2phần tử khác ak vμ khác an, do đó a1, a2, , an có thể đồng nhất với mộthỗn độn của nư 2 phần tử Số các hỗn độn loại nμy chính lμ Dn ư2
Nếu ak = n, khi đó n ư 1 thμnh phần (trừ an = k) lμ một hoán vị của
nư 1 phần tử (khác k), hơn nữa nó lμ một hỗn độn của n ư 1 phần tử (trừphần tử an) Do đó số các hỗn độn loại nμy chính lμ Dn ư1
Vậy ta có
Dn = (nư 1)(Dn ư1 + Dn ư2)
Dễ thấy các giá trị ban đầu lμ D1 = 0, D2 = 1
Ví dụ: Tính n! = n∗ (n ư 1)!
2.2.2 Công thức truy hồi vμ lập trình đệ quy
Các công thức truy hồi chính lμ các hμm đệ quy vμ việc xác định các giá trị của nó cần đến lập trình đệ quy Trong lập trình đệ quy để tính các công
thức truy hồi, cần phải có 2 bước:
- Bước cơ sở: Xác định các giá trị ban đầu của hμm.
- Bước đệ quy: Xác định giá trị tiếp theo của hμm f bằng lệnh gán thông
qua biểu thức của các giá trị trước đó f (n), f (nư 1),
Ví dụ: Viết chương trình có sử dụng hμm đệ quy tính n! để tính 15!
Function GiaiThua(n:byte):word;
Begin
if n=0 then GiaiThua:=1 else GiaiThua:=n*GiaiThua(n-1);
Trang 34if (n=0) or (n=1) then Fibonaci:=1 else Fibonaci:=Fibonaci(n-1)+Fibonaci(n-2);
End;
2.2.3 Đệ quy vμ lặp Khử các công thức truy hồi tuyến tính hệ số hằng
Các thuật toán đệ quy vμ lập trình đệ quy có ưu điểm lμ biểu diễn đơngiản, dễ viết chương trình Tuy nhiên một điểm yếu của lập trình đệ quy (khitính các công thức truy hồi) lμ cần sử dụng dung lượng lớn trong bộ nhớ củamáy tính do các vùng nhớ bị chiếm dụng cho chương trình tăng nhanh trongquá trình thực hiện chương trình con đệ quy, Để khắc phục, thay thế các thuậttoán đệ quy người ta thường sử dụng các thuật toán lặp để tính trực tiếp giátrị của dãy theo n Do đó trong nhiều trường hợp (có thể cho phép) ta thường
tìm cách để xác định dạng hiện (công thức tường minh) của dãy fn, nó lμ mộtbiểu thức chỉ phụ thuộc vμo n mμ không phụ thuộc vμo các thμnh phần trước
đó của dãy Công việc nμy gọi lμ khử công thức truy hồi Tuy nhiên côngviệc nμy thường rất khó vμ ta chỉ thực hiện được đối với một số các công thứctruy hồi đặc biệt hoặc một lớp các hệ thức truy hồi đặc biệt
Ví dụ 1: Biểu diễn n! = n∗ (n ư 1)! dưới dạng hiện ta có
n! = n(nư 1)(n ư 2) 2.1
Ví dụ 2: Biểu diễn Dn dưới dạng hiện
Từ hệ thức
Dn = (nư 1)(Dn ư1 + Dnư2),suy ra
Dnư nDn ư1 = ư(Dn ư1 ư (n ư 1)Dn ư2)
do đó nếu đặt Vn = Dnư nDn ư1, ta có Vn = ưVn ư1 = ã ã ã = (ư1)nư2V2 =(ư1)nư2(D2ư 2D1) = (ư1)nư2(1ư 2 ∗ 0) = (ư1)n, tức lμ Dnư nDn ư1 =(ư1)n, chia cả hai vế cho n! ta được
Dn
n! ư Dnư1
(nư 1)! =
(ư1)nn! với mọi n = 2, 3
Cộng các hệ thức trên (với n = 2, 3 ) ta có
Dnn! = 1ư 1
1! +
12! ư 13! +ã ã ã + (ư1)n 1
n!
Dn = n! 1ư 1
1! +
12! ư 13! +ã ã ã + (ư1)n 1
n!
Trang 35Ví dụ 3: Trên mặt phẳng kẻ n đường thẳng sao cho không có 2 đườngnμo song song vμ không có 3 đường nμo đồng quy Tìm công thức truy hồicho số miền được chia bởi n đường thẳng nói trên Hãy khử truy hồi.
Giải: Gọi số phần của mặt phẳng được chia bởi n đường thẳng đã cho
lμ Sn, khi đó số phần của mặt phẳng được chia bởi nư 1 đường thẳng sẽ lμ
Snư1 Giả sử ta đã có nư 1 đường thẳng, nếu ta kẻ thêm một đường thẳngnữa thoả mãn điều kiện đã cho thì đường thẳng mới sẽ được nư 1 đường ban
đầu chia thμnh n khúc (đoạn hoặc tia ở hai đầu) Mỗi khúc trong n khúc nμy
sẽ chia mỗi phần chứa nó (thuộc Sn ư1 phần ban đầu) thμnh 2 phần, do đótổng số phần mặt phẳng sẽ được tăng lên n so với Sn ư1 phần được chia bởi
nư 1 đường ban đầu Vậy Sn = Sn ư1 + n lμ hệ thức truy hồi cần tìm, với
điều kiện ban đầu lμ S0 = 1 Để tìm công thức hiện của Sn ta thấy
S0 = 1
S1 = S0 + 1
S2 = S1 + 2 =
Pk(x) = xk ư c1xkư1 ư c2xkư2 ư ã ã ã ư ck
Trang 36thì Pk(x) được gọi lμ đa thức đặc trưng của hệ thức truy hồi tuyến tính thuần nhất đã cho vμ nghiệm của nó được gọi lμ nghiệm đặc trưng của hệ thức truy
hồi tuyến tính thuần nhất hệ số hằng Ta có định lý sau đây:
Định lý 1 Giả sử phương trình x2 ư c1xư c2 = 0 có hai nghiệm phân biệt
r1 vμ r2 Dãy số {fn} lμ nghiệm của hệ thức fn = c1fnư1 + c2fnư2 với
điều kiện ban đầu f0, f1 khi vμ chỉ khi tồn tại các hằng số α1, α2 sao cho
fn = α1r1n+ α2rn2
Chứng minh Cần: Ta chứng minh tồn tại các hằng số α1, α2 sao cho
fn = α1r1n + α2r2n Thật vậy, giả sử fn lμ nghiệm của hệ thức truy hồi với
điều kiện ban đầu lμ f0, f1 Đặt
f0 = α1r10+ α2r02
f1 = α1r11+ α2r12
ta có một hệ phương trình tuyến tính hai ẩn lμ α1 vμ α2 Giải hệ nμy ta thu
được nghiệm duy nhất
α1 = (f1 ư f0r2)/(r1 ư r2)
α2 = (f1 ư f0r1)/(r2 ư r1),
ta sẽ chứng minh fn = α1r1n+ α2rn2 bằng quy nạp theo n
Rõ rμng với n = 0 hệ thức trên lμ đúng Giả sử hệ thức hiện ở trên đúng
đối với mọi k < n ta sẽ chứng minh hệ thức nμy đúng với k = n Ta có
fn = c1fnư1 + c2fnư2
= c1(α1r1nư1 + α2rn2ư1) + c2(α1r1nư2 + α2r2nư2)
= α1rn1ư2(c1r1+ c2) + α2rn2ư2(c1r2 + c2)
= α1rn1 + α2r2n, (do r1 vμ r2 lμ các nghiệm của phương trình đặc trưng)
Đủ: Ta sẽ chứng minh fn = c1fnư1 + c2fnư2 với điều kiện đầu f0, f1.Thật vậy, theo giả thiết ta có f0 = α1 + α2 vμ f1 = α1r1+ α2r2, mặt khác
Trang 37Ví dụ: Tìm công thức hiện cho dãy Fibonaci Fn = Fnư1+ Fnư2, (n ≥2) với F0 = F1 = 1.
Phương trình đặc trưng của dãy Fibonaci x2ư x ư 1 = 0 có hai nghiệmphân biệt
r1 = 1 +
√5
2√
5 , α2 = ư1ư
√5
2√5
n+1
ư 1ư
√52
n+1
Trong trường hợp đa thức đặc trưng của hệ thức truy hồi tuyến tính thuầnnhất cấp 2 có nghiệm kép, ta có định lý sau:
Định lý 2 Giả sử phương trình x2 ư c1x ư c2 = 0 có nghiệm kép r Dãy
số {fn} lμ nghiệm của hệ thức fn = c1fnư1 + c2fnư2 với điều kiện ban đầu
f0, f1 khi vμ chỉ khi tồn tại các hằng số α1, α2 sao cho fn = α1rn+ nα2rn.(Tự chứng minh)
Ví dụ: Tìm công thức hiện cho hệ thức truy hồi fn = 6fnư1 ư 9fn ư2
với điều kiện đầu f0 = 1 vμ f1 = 6 Đáp số fn = 3n + n3n
Định lý 3 Giả sử phương trình xk ư c1xkư1 ư ã ã ã ư ck = 0 có k nghiệmphân biệt r1, r2, , rk Dãy số {fn} lμ nghiệm của hệ thức fn = c1fn ư1 +
c2fnư2 +ã ã ã + ckfnưk với điều kiện ban đầu f0, f1, , fkư1 khi vμ chỉ khitồn tại các hằng số α1, α2, , αk sao cho
fn = α1rn1 + α2r2n +ã ã ã + αkrnk với mọi n = 0, 1, 2
Như vậy khó khăn còn lại của việc tìm các công thức hiện của các hệthức truy hồi tuyến tính hệ số hằng lμ ở chỗ giải các phương trình đa thức cấpcao Đây lμ một khó khăn của toán học hiện đại
Trang 382 Một người gửi 1000 đô la vμo ngân hμng với lãi suất kép lμ 9% một năm.
a Lập hệ thức truy hồi cho tổng số tiền có trong tμi khoản vμo cuối nămthứ n
b Tìm công thức tường minh cho số tiền có trong tμi khoản sau năm thứn
c Sau 100 năm tổng số có trong tμi khoản lμ bao nhiêu?
3 Một nhân viên bắt đầu lμm việc tại một công ty từ năm 1997 với mứclương khởi điểm lμ 5 triệu đồng/năm Hằng năm anh ta nhận thêm 100ngμn đồng vμ 5% lương của năm trước
a Lập hệ thức truy hồi tính lương của nhân viên nμy sau n năm kể từsau 1997
b Lương năm 2005 của anh ta lμ bao nhiêu
c Tìm công thức tường minh tính số lương của anh ta n năm sau 1997
4 a Tìm hệ thức truy hồi cho số các xâu nhị phân dộ dμi n chứa ít nhất 2bit 0 liên tiếp
b Tìm điều kiện đầu
c Có bao nhiêu xâu như vậy với độ dμi 7?
5 Hỏi như trên nhưng với 3 bit 0 liên tiếp
6 Tìm hệ thức truy hồi cho số các xâu nhị phân có độ dμi n vμ có một sốchẵn bit 0
Trang 397 Chøng minh r»ng d·y c¸c sè Fibonacci tho¶ m·n hÖ thøc truy håi
Trang 40việc xem xét các bμi toán đếm (tức lμ trả lời câu hỏi có bao nhiêu) các cấuhình tổ hợp mμ việc chỉ ra sự tồn tại của chúng được coi lμ hiển nhiên Đểhình dung mức độ khó khăn của việc giải một số các bμi toán tồn tại ta sẽtìm hiểu về một vμi bμi toán kinh điển.
Ví dụ 1: Bμi toán về 36 sĩ quan.
Để tổ chức một cuộc duyệt binh người ta yêu cầu thμnh lập các khối hìnhvuông 36 sĩ quan, mỗi khối 6 trung đoμn tham gia, mỗi trung đoμn phải cử 6
sĩ quan ở 6 cấp bậc thiếu uý, trung uý, thượng uý, đại uý, thiếu tá, trung tá.Hỏi có hay không cách sắp xếp đội hình sao cho trong mỗi hμng ngang vμmỗi hμng dọc của khối đều có đại diện của cả 6 trung đoμn vμ của cả 6 cấpbậc
Để dễ hình dung người ta ký hiệu chữ hoa A, B, C, D, E, F để chỉ phiênhiệu của các trung đoμn vμ chữ thường a, b, c, d, e, f để ký hiệu các cấp bậc
Do đó bμi toán 36 sỹ quan nói trên còn được gọi lμ bμi toμn hình vuông latinh, có thể tổng quát hoá nếu thay 6 bởi n Trong trường hợp n = 4 ta cómột đáp án như sau
Ví dụ 2: Bμi toán 4 mμu.
Trên một bản đồ hai nước được coi lμ láng giềng nếu chúng có một đoạn
đường biên liên tục Chứng minh rằng với số mμu n = 4, có thể tô được mọi