Basic counting principles


Nguyên lý thứ nhất (Quy tắc cộng). Giả sử có n_1 cách thực hiện việc E_1, n_2 cách thực hiện việc E_2,…,n_k cách thực hiện việc E_k. Nếu k việc này không thể làm đồng thời thì sẽ có n_1+n_2+\cdots+n_k cách thực hiện một trong các việc E_1,E_2,\ldots,E_k.

Ví dụ 1. Người ta có thể đi từ Hải Phòng đến Đà Nẵng bằng một trong ba phương tiện: tàu hoả, tàu thuỷ và máy bay. Nếu có hai cách đi bằng tàu hoả, ba cách đi bằng tàu thuỷ, và 1 cách đi bằng máy bay thì sẽ có 2+3+1=6 cách đi từ Hải Phòng đến Đà Nẵng. \Box

Ví dụ 2. Tìm số các cặp có thứ tự (x;y) các số nguyên thoả mãn x^2+y^2\leq 5.

Lời giải. Mỗi i=0,1,2,3,4,5 ta đặt S_i=\{(x,y)|x,y\in\mathbb{Z},x^2+y^2=i\}, khi đó tập cần tính số phần tử sẽ là hợp rời rạc của các S_i. Ta tính số phần tử của các S_i bằng phương pháp liệt kê và cuối cùng được đáp số của bài toán là 21. \Box

Nguyên lý thứ hai (Quy tắc nhân). Giả sử rằng việc E có thể được làm bằng cách thực hiện liên tiếp các việc E_1,E_2,\ldots,E_k; và có n_1 cách thực hiện việc E_1, n_2 cách thực hiện việc E_2,…,n_k cách thực hiện việc E_k. Khi đó số cách làm việc En_1\times n_2\times\cdots\times n_k.

Ví dụ 3. Đề đi từ thành phố A đến thành phố D người ta phải đi lần lượt qua hai thành phố BC. Nếu có hai cách đi từ A đến $B$, ba cách đi từ B đến C và một cách đi từ C đến D thì sẽ có 2\times 3\times 1=6 cách đi từ A đến D. \Box

Ví dụ 4. Cho kn là các số nguyên dương. Một dãy k-phân độ dài n là một dãy (a_1,a_2,\ldots,a_n) với a_1,a_2,\ldots,a_n\in\{0,1,\ldots,k-1\}. Hỏi có bao nhiêu dãy này?

Lời giải. Đặt A=\{0,1,\ldots,k-1\}. Để hình thành một dãy k-phân, đầu tiên chúng ta cần chọn a_1 từ B, sau đó chọn a_2 từ B, và cứ như thế cho đến cuối cùng cần chọn a_n từ B. Bởi vì có k cách để làm mỗi bước nên theo quy tắc nhân, số các dãy như vậy bằng k^n. \Box

Ví dụ 5. Tìm số các ước dương của 600.

Lời giải. Ta có 600=2^3\times 3^1\times 5^2 nên một số nguyên dương m là một ước dương của 600 khi và chỉ khi nó có dạng m=2^a\times 3^b\times 5^c với a,b,c là các số nguyên thoả mãn 0\leq a\leq 3,0\leq b\leq 1,0\leq c\leq 2. Như vậy số các ước dương của 600 bằng số các bộ ba (a,b,c) thoả mãn a\in\{0,1,2,3\},b\in\{0,1\},c\in\{0,1,2\}, theo quy tắc nhân, số ước dương của 600 bằng 4\times 2\times 3=24. \Box

Tổng quát hơn ta có: Nếu số nguyên dương n có phân tích tiêu chuẩn n=\prod p_i^{k_i} thì số các ước dương của n bằng \prod (k_i+1).

Ví dụ 6. Cho X=\{1,2,\ldots,100\}

S=\{(a,b,c)\mid a,b,c\in X,a<b,a<c\}. Tính |S|.

Lời giải. Với mỗi k=1,2,\cdots,99 ta đặt S_k=\{(k,b,c)|b,c\in X, b>k,c>k\}. Khi đó S là hợp rời rạc của các S_k, mà theo quy tắc nhân ta có |S_k|=(100-k)^2 nên suy ra |S|=\sum S_k=328350\Box.

Để ý đến lời giải ví dụ thứ hai và thứ sáu, ta thấy chúng có một điểm chung là chia bài toán đã cho thành các bài toán con đơn giản hơn và giải chúng. Đây là cách cơ bản nhất để giải các bài toán đếm, có thể sẽ có cách khác ngắn gọn hơn, nhưng việc chia một bài toán thành các bài toán con mà chúng ta đã biết cách giải sẽ giúp ta ít gặp phải các sai lầm hơn.

Ví dụ 7. Có bao nhiêu số tự nhiên có ba chữ số được lấy từ tập \{1,2,3,4,5,6\} nếu

(a) Các chữ số không cần phải khác nhau?

(b) Các chữ số phải khác nhau?

(c) Các chữ số phải khác nhau và chứa số 3?

(d) Các chữ số không cần phải khác nhau và chứa số 3?

Lời giải.

(a) 6^3.

(b) 6\times 5\times 4.

(c) Đầu tiên ta chọn vị trí cho số 3, sau đó chọn hai số còn lại lần lượt. Đáp số là 3\times 5\times 4.

(d) Nếu tiếp tục làm như trên ta sẽ được kết quả là 3\times 6\times 6, đây là một kết quả không chính xác! Vì làm như vậy những số như 323 sẽ được đếm hai lần. Vấn đề ở chỗ ta đã dùng sai quy tắc nhân, mỗi hai tổ hợp khác nhau cách thực hiện các công việc E_i phải cho hai kết quả khác nhau thì ta mới áp dụng được quy tắc nhân. Bài này ta lại phải chia thành các bài toán con và giải chúng lần lượt.

Ta chia trường hợp theo vị trí của số 3 nằm bên trái nhất. Nếu số 3 này nằm ở vị trí hàng trăm thì số có ba chữ số phải có dạng \overline{3ab}, nếu nó nằm ở vị trí hàng chục thì số có ba chữ số phải có dạng \overline{a3b} với a\not=3, và cuối cùng, nếu số 3 này nằm ở vị trí hàng đơn vị thì số ba chữ số phải có dạng \overline{ab3} với a,b\not=3. Giải các bài toán con ta được đáp số của bài toán là 6\times 6+5\times 6+5\times 5. \Box

Continue reading “Basic counting principles”

Burnside’s lemma


Cho X là một tập hợp và G là một nhóm. Ta nói G tác động trên X, hay X là một G-tập, nếu có hàm G\times X\to X, (g,x)\mapsto gx thoả mãn ex=x\forall x\in Xg_1(g_2x)=(g_1g_2)x\forall x\in X\forall g_1,g_2\in G, ở đây e là phần tử đơn vị của G.

Gìơ ta xét một G-tập X, với mỗi x\in X, ta gọi quỹ đạo của x là tập \{gx|g\in G\}. Các quỹ đạo khác nhau của các phần tử trong X làm thành một phân hoạch của X, thật vậy, quan hệ xRy nếu có g\in G để x=gy là một quan hệ tương đương trên X. Khi XG là các tập hữu hạn thì ta có thể tính số khối của phân hoạch này theo bổ đề sau đây.

Bổ đề Burnside. Nếu X là một G-tập hữu hạn (nghĩa là XG là các tập hữu hạn và X là một G-tập) và N là số các quỹ đạo khác nhau của các phần tử trong X thì N=\dfrac{1}{|G|}\sum_{g\in G}F(g), trong đó với mỗi g\in G, F(g) là số phần tử của tập \{x\in X|gx=x\}.

Tôi sẽ không đưa ra chứng minh nào của bổ đề này ở  đây, các bạn có thể tìm một chứng minh  trong sách Tổ hợp của Ngô Đắc Tân hay sách về lý thuyết nhóm của Rotman. Gìơ ta đi xét các áp dụng của bổ đề này vào giải các bài toán đếm, các bài tập này đều có trong sách của Rotman.

Bài 1. Cho nq là các số nguyên dương. Hỏi có bao nhiêu lá cờ gồm n mảnh sao cho mỗi mảnh mang một trong q màu cho trước?(Ví dụ một lá cờ như vậy là cờ của Pháp gồm 3 mảnh).

Lời giải. Vì khi ta tô màu một mặt của lá cờ thì mặt sau sẽ được xác định hoàn toàn màu. Nên số lá cờ bằng số cách tô bảng 1\times n bởi q màu, hai cách tô là như nhau nếu nó ở dạng như hình dưới đây.

(Trong hình trên các c_i là các màu.)

Gọi X là tập các bộ (c_1,c_2,\cdots,c_n) với c_i là một trong q màu đã cho với mỗi i. Ký hiệu S_n là nhóm các hoán vị trên \{1,2,\cdots,n\}, G là nhóm con cyclic sinh bởi hoán vị f của S_n, ở đây f(i)=n+1-i\forall i. Ta cho G tác động trên X theo luật f(c_1,c_2,\cdots,c_n)=(c_n,c_{n-1},\cdots,c_1). Như trên đã phân tích, ta chỉ cần đếm số N các quỹ đạo của các phần tử của x theo tác động này là xong. Theo bổ đề Burnside, ta chỉ cần tính F(id)F(f). Dễ thấy F(id)=|X|=q^n theo quy tắc nhân. Để tính F(f), ta chú ý rằng (c_1,c_2,\cdots,c_n)\in X không thay đổi khi tác động f nếu và chỉ nếu c_1=c_n,c_2=c_{n-1},\cdots, vậy cùng theo quy tắc nhân ta có F(f)=q^{[\dfrac{n+1}{2}]}. Như thế đáp số của bài toán là \dfrac{1}{2}(q^n+q^{[\dfrac{n+1}{2}]}).

Bài 2. Cho nq là các số nguyên dương. Chứng minh rằng có

\dfrac{1}{4}(q^{n^2}+2q^{[\dfrac{n^2+3}{4}]}+q^{[\dfrac{n^2+1}{2}]}) cách tô màu bảng vuông n\times n bởi q màu.

Lời giải sơ lược. Lời giải y hệt như trường hợp trên. Ta đánh số các ô của bảng theo kiểu xoáy ốc, chia hai trường hợp n chẵn, lẻ cho dễ đánh số. Tập X bây giờ là tập tất cả các bộ (c_1,c_2,\cdots,c_{n^2}), nhóm G bây giờ là nhóm con cyclic cấp 4 sinh bởi phép quay +90^0 của S_{n^2}.

Chú ý.  Khi n=3,q=n ta có bài số 5 trong VMO 2010.



Combinatorial Nullstellensatz


Trong bài này chúng tôi giới thiệu một chứng minh ngắn của định lý không điểm tổ hợp của Noga Alon, và sử dụng nó chứng minh định lý Cauchy – Davenport (xem [1]). Từ bây giờ, khi nói đến trường thì các bạn hiểu là nói đến \displaystyle \mathbb{C}, \displaystyle \mathbb{R}, \displaystyle \mathbb{Q}, hay \displaystyle \mathbb{Z}/p\mathbb{Z}.

Định lý 1 (N. Alon, 1999). Cho \displaystyle \mathbb{F} là một trường bất kỳ, và cho \displaystyle P\left(x_{1}, \ldots, x_{n}\right) là một đa thức trong \displaystyle \mathbb{F}\left[x_{1}, \ldots, x_{n}\right]. Giả sử bậc của \displaystyle P\displaystyle \sum_{i=1}^{n} k_{i}, trong đó \displaystyle k_{i} là một số nguyên không âm, và hệ số của đơn thức \displaystyle x_{1}^{k_{1}} x_{2}^{k_{2}} \cdots x_{n}^{k_{n}} trong \displaystyle P khác không. Khi đó với mỗi tập con \displaystyle A_{1}, \ldots, A_{n} của \displaystyle \mathbb{F} thỏa mãn \displaystyle \left|A_{i}\right| \geq k_{i}+1 với mỗi \displaystyle i=1,2, \ldots, n, tồn tại \displaystyle a_{1} \in A_{1}, \ldots, a_{n} \in A_{n} để \displaystyle P\left(a_{1}, \ldots, a_{n}\right) \neq 0.

Định lý trên được gọi là định lý không điểm tổ hợp, nó là một tổng quát của kết quả: Với mỗi đa thức khác không \displaystyle f(x) với hệ số thuộc một trường \displaystyle \mathbb F, số nghiệm của \displaystyle f trong \displaystyle \mathbb F không vượt quá \displaystyle \deg f.

Chứng minh (Mateusz Michalek). Khẳng định là đúng một cách hiển nhiên khi \displaystyle P là đa thức hằng, bây giờ ta xét trường hợp còn lại.

Quy nạp theo \displaystyle \deg P. Nếu \displaystyle \deg(P)=1 thì định lý là đúng. Giả sử \displaystyle \deg(P)>1\displaystyle P thỏa mãn các giả thiết của định lý nhưng kết luận là sai. Nghĩa là \displaystyle P(x)=0 với mọi \displaystyle x \in A_{1} \times \ldots \times A_{n}. Không mất tính tổng quát, giả sử \displaystyle k_{1}>0. Xét một \displaystyle a \in A_{1} và viết

\displaystyle P=\left(x_{1}-a\right) Q+R\quad \quad (1)

bằng cách sử dụng thuật toán chia. Xem (1) là một đẳng thức của các đa thức một biến \displaystyle x_{1} với hệ số thuộc \displaystyle \mathbb{F}\left[x_{2}, \ldots, x_{n}\right]. Vì bậc của \displaystyle R theo biến \displaystyle x_{1} là bé hơn \displaystyle \deg\left(x_{1}-a\right), đa thức \displaystyle R không chứa \displaystyle x_{1}. Từ giả thiết về \displaystyle P ta có \displaystyle Q phải có một đơn thức không bị triệt tiêu có dạng \displaystyle x_{1}^{k_{1}-1} x_{2}^{k_{2}} \cdots x_{n}^{k_{n}}

\displaystyle \deg(Q)=\sum_{i=1}^{n} k_{i}-1=\deg(P)-1.   

Lấy mỗi \displaystyle x \in\{a\} \times A_{2} \times \ldots \times A_{n} và thay vào (1). Vì \displaystyle P(x)=0 ta có \displaystyle R(x)=0. Nhưng \displaystyle R không chứa \displaystyle x_{1}, suy ra \displaystyle R cũng bằng không trên \displaystyle \left(A_{1}-\{a\}\right) \times A_{2} \times \ldots \times A_{n}.

Bây giờ thay mỗi \displaystyle x \in\left(A_{1}-\{a\}\right) \times A_{2} \times \ldots \times A_{n} vào (1). Vì \displaystyle x_{1}-a khác không, ta có \displaystyle Q(x)=0. Vậy là \displaystyle Q bằng không trên \displaystyle \left(A_{1}-\{a\}\right) \times A_{2} \times \ldots \times A_{n}, trái với giả thiết quy nạp. \Box

Một áp dụng đầu tiên là chứng minh ngắn của định lý Cauchy – Davenport trong lý thuyết số cộng tính. Định lý được chứng minh đầu tiên bởi Cauchy vào năm 1813 và bởi Davenport vào năm 1935. Cho \displaystyle A\displaystyle B là hai tập con khác rỗng của \displaystyle \mathbb{Z}/{p}\mathbb{Z} với \displaystyle \mid A\mid =a\displaystyle \mid B\mid =b. Hỏi tập

\displaystyle A+B:=\{a+b\mid (a,b)\in A\times B\}

có thể có ít nhất bao nhiêu phần tử?

Định lý 2 (Cauchy – Davenport). Cho số nguyên tố \displaystyle p và cho \displaystyle A\displaystyle B là hai tập con khác rỗng của \displaystyle \mathbb{Z}/{p}\mathbb{Z} với \displaystyle \mid A\mid =a\displaystyle \mid B\mid =b. Khi đó

\displaystyle |A+B|\geq\min \{p,a+b-1\}.

Chứng minh. Nếu \displaystyle a+b>p thì \displaystyle \mid A+B\mid =p. Thật vậy, với mỗi \displaystyle g\in \mathbb{Z}/{p}\mathbb{Z}, hai tập \displaystyle g-A\displaystyle B có giao khác rỗng vì \displaystyle a+b>p. Lấy \displaystyle h\in (g-A)\cap B ta có ngay \displaystyle h=b=g-a\quad (a\in A,b\in B), suy ra \displaystyle g=a+b\in A+B. Từ đây ta có \displaystyle |A+B|=p=\min \{p,a+b-1\}.

Bây giờ ta xét \displaystyle a+b\leq p và giả sử bất đẳng thức là sai. Gọi \displaystyle C là một tập có cỡ \displaystyle a+b-2 trong \displaystyle \mathbb{Z}/{p}\mathbb{Z} chứa \displaystyle A+B. Xét đa thức

\displaystyle f(x, y)=\prod_{c \in C}(x+y-c)

trên \displaystyle \mathbb{Z}/{p}\mathbb{Z}. Đây là một đa thức hai biến có bậc \displaystyle a+b-2. Ta sẽ chứng minh

\displaystyle \left[x^{a-1} y^{b-1}\right] f(x, y)=\left(\begin{array}{c}a+b-2 \\ a-1\end{array}\right) \not =0.

Để hình thành hệ số này khi khai triển \displaystyle f, ta chọn \displaystyle x đúng \displaystyle a-1 lần và \displaystyle y đúng \displaystyle b-1 lần trong \displaystyle a+b-2 thừa số. Như vậy ta có đẳng thức đầu. Hệ số nhị thức khác không là vì \displaystyle a+b-2<p\displaystyle p là số nguyên tố.

\displaystyle |A|=a\displaystyle |B|=b, định lý không điểm tổ hợp cho ta \displaystyle x \in A\displaystyle y \in B\displaystyle f(x, y) \neq 0. Điều này không thể xảy ra vì \displaystyle f đã được dựng để triệt tiêu trên mọi cặp \displaystyle (x, y) như vậy. \Box

Bài đọc thêm

[1] https://nttuan.org/2014/09/29/cauchy-davenport/

Seven bridges of Konigsberg


Tôi sẽ dịch một đoạn trong bài Leonard Euler’s Solution to the Konigsberg Bridge Problem của Teo Paoletti. Khi tình cờ gặp bài viết này tôi đã quyết định sử dụng nó làm bài mở đầu trong bài giảng về lý thuyết đồ thị của tôi.

Câu chuyện của chúng ta bắt đầu vào thế kỷ 18, tại thị trấn cổ kính Konigsberg, Phổ, bên bờ sông Pregel. Năm 1254, các hiệp sĩ Teutonic thành lập thành phố Konigsberg dưới sự lãnh đạo của Vua Bohemian Ottoker II sau cuộc thập tự chinh thứ hai chống lại quân Phổ. Vào thời Trung cổ, Konigsberg đã trở thành một thành phố và trung tâm thương mại rất quan trọng với vị trí chiến lược bên sông. Các tác phẩm nghệ thuật từ thế kỷ 18 cho thấy Konigsberg là một thành phố thịnh vượng, nơi các đội tàu cập bến Pregel, và hoạt động buôn bán của họ mang lại cuộc sống thoải mái cho cả thương nhân địa phương và gia đình họ. Nền kinh tế phát triển cho phép người dân thành phố xây dựng bảy cây cầu bắc qua sông, hầu hết trong số đó nối với đảo Kneiphof, vị trí của chúng có thể được thấy trong hình dưới đây.

Khi dòng sông chảy quanh Kneiphof và một hòn đảo khác, nó chia thành phố thành bốn vùng độc lập. Theo truyền thuyết, người dân Konigsberg thường dành những buổi chiều Chủ nhật để đi dạo quanh thành phố xinh đẹp của họ. Trong khi đi bộ, người dân thành phố quyết định tạo ra một trò chơi cho chính họ. Mục tiêu là nghĩ ra cách để có thể đi bộ quanh thành phố mà chỉ băng qua mỗi cây cầu đúng một lần. Mặc dù không ai ở Konigsberg có thể phát hiện ra một tuyến đường như vậy, nhưng họ vẫn không thể chứng minh được rằng điều đó là không thể. May mắn cho họ, Konigsberg không quá xa St. Petersburg, quê hương của nhà toán học nổi tiếng Leonard Euler.

Tại sao Euler lại quan tâm đến một vấn đề không liên quan đến lĩnh vực toán học như vậy? Tại sao một nhà toán học vĩ đại như vậy lại dành nhiều thời gian cho một bài toán tầm thường như bài toán cây cầu Konigsberg? Euler rõ ràng là một người bận rộn, đã xuất bản hơn 500 cuốn sách và bài báo trong suốt cuộc đời của mình. Riêng năm 1775, trung bình mỗi tuần ông viết một bài báo toán học, và trong suốt cuộc đời mình, ông viết về nhiều chủ đề khác nhau ngoài toán học bao gồm cơ học, quang học, thiên văn học, hàng hải và thủy động lực học. Không có gì đáng ngạc nhiên khi Euler cảm thấy vấn đề này thật tầm thường, ông viết trong một bức thư năm 1736 gửi cho Carl Leonhard Gottlieb Ehler, thị trưởng của Danzig, người đã nhờ ông đưa ra lời giải cho bài toán:

“…Vì vậy, thưa ngài, ngài thấy đấy, bài toán này ít liên quan đến toán học như thế nào, và tôi không hiểu tại sao ngài lại mong đợi một nhà toán học tìm ra nó chứ không phải bất kỳ ai khác, vì lời giải chỉ dựa trên lý trí và khám phá ra nó. Không phụ thuộc vào bất kỳ nguyên tắc toán học nào. Vì điều này, tôi không biết tại sao ngay cả những câu hỏi ít liên quan đến toán học cũng được các nhà toán học giải nhanh hơn những người khác.”

Mặc dù Euler thấy vấn đề tầm thường nhưng ông vẫn bị hấp dẫn bởi nó. Trong một bức thư viết cùng năm cho Giovanni Marinoni, một nhà toán học và kỹ sư người Ý, Euler nói:

“Câu hỏi này thật tầm thường, nhưng đối với tôi, dường như nó đáng được chú ý bởi cả hình học, đại số, thậm chí cả nghệ thuật đếm cũng không đủ để giải quyết nó.”

Euler tin rằng vấn đề này có liên quan đến một chủ đề mà Gottfried Wilhelm Leibniz đã từng thảo luận và mong muốn được làm việc cùng, chủ đề mà Leibniz gọi là geometria situs, hay hình học vị trí. Cái gọi là hình học vị trí này là cái ngày nay ta gọi là lý thuyết đồ thị.

Continue reading “Seven bridges of Konigsberg”