Kỹ thuật đếm trong tổ hợp
Biểu đồ Venn cho thấy hợp của *A* và *B*
Trong tổ hợp, một nhánh của toán học, **nguyên lý bao hàm-loại trừ** (hay **nguyên lý bao hàm và loại trừ** hoặc **nguyên lý bù trừ**) là kỹ thuật đếm tổng quát cho phương phát tìm số các phần tử của hợp của hai tập hữu hạn sau:

{\displaystyle |A\cup B|=|A|+|B|-|A\cap B|}
trong đó *A* và *B* là hai tập hữu hạn và |*S* | là số lực lượng của tập hợp *S* (có thể coi là số phần tử trong tập hợp nếu tập hợp đó hữu hạn). Công thức trên nói rằng khi cộng kích thước của hai tập hợp với nhau, giá trị cho có thể quá lớn bởi có thể sẽ có một số phần tử bị đếm hai lần. Các phần tử bị đếm hai lần nằm trong phần giao của hai tập hợp đó và do đó để tìm ra đúng giá trị, ta trừ đi kích thước của phần giao.

Nguyên lý bao hàm-loại trừ là dạng tổng quát của trường hợp chỉ xét hai tập hợp, nên để bắt đầu ví dụ, ta xét công thức cho ba tập hợp *A*, *B* và *C*:

{\displaystyle |A\cup B\cup C|=|A|+|B|+|C|-|A\cap B|-|A\cap C|-|B\cap C|+|A\cap B\cap C|}
Ta có thể kiểm chứng công thức này bằng cách đếm số lần mỗi vùng trong biểu đồ Venn nằm trong vế phải của công thức. 

Minh hoạ nguyên lý bao hàm-loại trừ bằng biểu đồ Venn cho ba tập hợp
Tổng quát hoá các ví dụ này sẽ dẫn tới nguyên lý bao hàm-loại trừ. Để tìm lực lượng của hợp của n tập hợp:

1. Thêm lực lượng của các tập hợp.
2. Trừ lực lượng của các phần giao của 2 tập hợp.
3. Thêm lực lượng của các phần giao của 3 tập hợp.
4. Trừ lực lượng của các phần giao của 4 tập hợp.
5. Thêm lực lượng của các phần giao của 5 tập hợp..
6. Tiếp tục cho đến khi xét hết phần giao của n tập hợp. Bước cuối sẽ là thêm vào nếu n lẻ và trừ đi nếu n chẵn}}.

Tên bao hàm-loại trừ lấy từ ý tưởng ta thêm các *bao hàm*, rồi sau đó *loại trừ* các phần thừa.
Khái niệm này được gắn tên với Abraham de Moivre (1718), mặc dù nó ban đầu xuất hiện trong giấy của Daniel da Silva (1854) và sau đó trong bài viết của J. J. Sylvester (1883). Đôi khi, công thức này được gọi là công thức Da Silva hay công thức Sylvester, do quá trình xuất bản. Nguyên lý này cũng được coi là một ví dụ về một phương pháp sàng được dùng nhiều trong lý thuyết số và đôi khi cũng được gọi là *công thức sàng* trong bối cảnh đó.

Bởi các xác suất hữu hạn được đếm rồi tính tương ứng với lực lượng của không gian xác suất, công thức cho nguyên lý bao hàm-loại trừ vẫn hợp lệ khi ta thay lực lượng của các tập hữu hạn bằng các xác suất hữu hạn. Tổng quát hơn, cả hai phiên bản này đều có đặt nằm dưới lý thuyết độ đo.

Trong ngữ cảnh rất trừu tượng, nguyên lý bao hàm-loại trừ có thể biểu diễn bằng phép tính nghịch đảo của một ma trận nào đó. Nghịch đảo này có cấu trúc đặc biệt, nên nguyên lý này là một trong những kỹ thuật đếm cực kỳ hữu dụng trong tổ hợp và các nhánh toán học có liên quan. Theo lời của Gian-Carlo Rota:

> "Một trong những nguyên lý hữu dụng nhất khi liệt kê trong xác suất rời rạc và lý thuyết tổ hợp là nguyên lý bao hàm-loại trừ trứ danh. Nếu áp dụng đúng cách, nguyên lý này có thể trả lời cho rất nhiều bài toán tổ hợp."
> 
>

Công thức
---------

Trong công thức tổng quát của nó, nguyên lý bao hàm-loại trừ phát biểu rằng với n tập hợp hữu hạn *A*1, …, *An*, ta có định thức sau:


|  |  |  |  |  |  |  |
| --- | --- | --- | --- | --- | --- | --- |
| {\displaystyle \left|\bigcup \_{i=1}^{n}A\_{i}\right|=\sum \_{i=1}^{n}|A\_{i}|-\sum \_{1\leqslant i<j\leqslant n}|A\_{i}\cap A\_{j}|+\sum \_{1\leqslant i<j<k\leqslant n}|A\_{i}\cap A\_{j}\cap A\_{k}|-\cdots +(-1)^{n+1}\left|A\_{1}\cap \cdots \cap A\_{n}\right|.} | 

|  |  |  |
| --- | --- | --- |
|   |   |   |
|   |

 | **(1)** |

Mỗi phần tử trong công thức bao hàm-loại trừ dần dần sửa giá trị đếm cho đến khi mỗi vùng trong biểu đồ Venn duy nhất một lần.
Công thức trên có thể viết gọn thành

{\displaystyle \left|\bigcup \_{i=1}^{n}A\_{i}\right|=\sum \_{k=1}^{n}(-1)^{k+1}\left(\sum \_{1\leqslant i\_{1}<\cdots <i\_{k}\leqslant n}|A\_{i\_{1}}\cap \cdots \cap A\_{i\_{k}}|\right)}
hoặc

{\displaystyle \left|\bigcup \_{i=1}^{n}A\_{i}\right|=\sum \_{\emptyset \neq J\subseteq \{1,\ldots ,n\}}(-1)^{|J|+1}\left|\bigcap \_{j\in J}A\_{j}\right|.}
Nói bằng từ, để đếm số phần tử của hợp hữu hạn các tập hợp hữu hạn, trước hết lấy tổng các lực lượng của các tập hợp đó, rồi trừ đi lực lượng của tập các phần tử xuất hiện ít nhất trong hai tập hợp, sau đó thêm lại số phần tử xuất hiện trong ít nhất ba tập hợp và tiếp tục như thế. Quá trình luôn dừng là bởi không có phần tử nào xuất hiện nhiều hơn số tập hợp đang xét. (Ví dụ chẳng hạn, nếu {\displaystyle n=4,} thì không có phần tử nào xuất hiện trong nhiều hơn {\displaystyle 4} tập hợp)

Trong ứng dụng, ta thường dùng nguyên lý này dưới dạng sử dụng phần bù. Tức là, gọi S là tập phổ dụng hữu hạn chứa tất cả các tập *Ai* và ta gọi {\displaystyle {\bar {A\_{i}}}} là phần bù của *Ai* trong S, theo luật De Morgan, ta có

{\displaystyle \left|\bigcap \_{i=1}^{n}{\bar {A\_{i}}}\right|=\left|S-\bigcup \_{i=1}^{n}A\_{i}\right|=|S|-\sum \_{i=1}^{n}|A\_{i}|+\sum \_{1\leqslant i<j\leqslant n}|A\_{i}\cap A\_{j}|-\cdots +(-1)^{n}|A\_{1}\cap \cdots \cap A\_{n}|.}
Một phiên bản khác của công thức trên được phát biểu như sau: gọi *P*1, ... *Pn* là danh sách các tính chất mà mỗi phần tử thuộc tập hợp S có thể có hoặc không có, khi đó nguyên lý bao hàm-loại hàm cho phép đếm số các phần tử thuộc S và không có tính chất nào trong các tính chất trên bằng cách đặt *Ai* là tập con của tập các phần tử thuộc S và có tính chất *Pi* và sử dụng nguyên lý trên trong dạng phần bù. Phiên bản này bắt nguồn từ J. J. Sylvester.

Các ví dụ
---------

### Đếm số nguyên

Đây là ví dụ đơn giản trong áp dụng nguyên lý bao hàm-loại trừ, xét câu hỏi sau:

Có bao nhiêu số nguyên trong tập {1, …, 100} không chia hết cho 2, 3 hoặc 5?
Gọi *S* = {1,…,100} và *P*1 là tính chất số nguyên chia hết cho 2, *P*2 là tính chất số nguyên chia hết cho 3 và *P*3 là tính chất số nguyên chia hết cho 5. Gọi *A*i là tập con của *S* chứa các phần tử có tính chất *P*i, ta đếm được rằng: |*A*1| = 50, |*A*2| = 33, và |*A*3| = 20. Có 16 số nguyên chia hết cho 6, 10 số chia hết cho 10, và 6 số chia hết cho 15. Và cuối cùng, chỉ có 3 số chia hết cho 30, nên số các số nguyên không chia hết cho bất kỳ 2, 3 hoặc 5 được tính bằng:

100 − (50 + 33 + 20) + (16 + 10 + 6) − 3 = 26.
### Đếm số mất thứ tự

Một câu hỏi phức tạp hơn trên được phát biểu như sau.

Giả sử có bộ *n* lá bài được đánh số từ 1 đến *n*. Ta gọi lá số *m* nằm đúng vị trí nếu nó là lá thứ *m* trong bộ bài. Hỏi có bao nhiêu cách, (ký hiệu là *W*), để xáo bộ bài sao cho trong bộ có ít nhất 1 lá nằm đúng vị trí?

Ta bắt đầu bằng cách định nghĩa *A**m*, là số các thứ tự bài mà trong đó lá thứ *m* nằm đúng vị trí. Khi đó, số các thứ tự *W*, với *ít nhất* một lá nằm đúng vị trí được tính bởi

{\displaystyle W=\left|\bigcup \_{m=1}^{n}A\_{m}\right|.}
Áp dụng nguyên lý bao hàm-loại trừ,

{\displaystyle W=\sum \_{m\_{1}=1}^{n}|A\_{m\_{1}}|-\sum \_{1\leqslant m\_{1}<m\_{2}\leqslant n}|A\_{m\_{1}}\cap A\_{m\_{2}}|+\cdots +(-1)^{p-1}\sum \_{1\leqslant m\_{1}<\cdots <m\_{p}\leqslant n}|A\_{m\_{1}}\cap \cdots \cap A\_{m\_{p}}|+\cdots }
Mỗi giá trị {\displaystyle A\_{m\_{1}}\cap \cdots \cap A\_{m\_{p}}} biểu diễn tập các phép xáo trong đó có ít nhất *p* giá trị *m*1, …, *mp* đang nằm đúng vị trí. Lưu ý rằng số các xáo trộn với ít nhất *p* giá trị nằm đúng chỉ phụ thuộc vào *p*, chứ không trên giá trị cụ thể của m. Ví dụ chẳn hạn, số các phép xáo có vị trí thứ 1, thứ ba và thứ 17 nằm đúng bằng với số các phép xáo có vị trí thứ 2, thứ 5 và thứ 14 nằm đúng. Ta chỉ quan tâm rằn trong *n* lá đó và trong trường hợp xét ba lá, có 3 vị trí được chọn là vị trí đúng. Do đó có {\textstyle {n \choose p}} phần tử bằng nhau trong tổng thứ *p*th (xem tổ hợp).

{\displaystyle W={n \choose 1}|A\_{1}|-{n \choose 2}|A\_{1}\cap A\_{2}|+\cdots +(-1)^{p-1}{n \choose p}|A\_{1}\cap \cdots \cap A\_{p}|+\cdots }
{\displaystyle |A\_{1}\cap \cdots \cap A\_{p}|} là số các thứ tự có *p* phần tử nằm đúng vị trí, và bằng với số xếp thứ tự với *n* − *p* phần tử còn lại, hay (*n* − *p*)!.Do đó cuối cùng ta được:

{\displaystyle {\begin{aligned}W&={n \choose 1}(n-1)!-{n \choose 2}(n-2)!+\cdots +(-1)^{p-1}{n \choose p}(n-p)!+\cdots \\&=\sum \_{p=1}^{n}(-1)^{p-1}{n \choose p}(n-p)!\\&=\sum \_{p=1}^{n}(-1)^{p-1}{\frac {n!}{p!(n-p)!}}(n-p)!\\&=\sum \_{p=1}^{n}(-1)^{p-1}{\frac {n!}{p!}}\end{aligned}}}
Hoán vị mà không có *lá nào* nằm đúng vị trí được gọi là *mất thứ tự*. Lấy *n*! là số các hoán vị, xác suất *Q* rằng một phép xáo ngẫu nhiên sẽ sinh ra xáo trộn được tính bởi

{\displaystyle Q=1-{\frac {W}{n!}}=\sum \_{p=0}^{n}{\frac {(-1)^{p}}{p!}},}
đây là dạng rút gọn về *n* + 1 phần tử của khai triển Taylor của *e*−1. Do đó xác suất đoán một thứ tự cho một bộ bài đã được xáo và sai mọi lá rơi vào khoảng *e*−1 hay 37%.

Trường hợp đặc biệt
-------------------

Trường hợp xảy ra trong ví dụ xáo trộn xảy ra nhiều lúc nên nhận được chú ý đáng kể. Cụ thể, trường hợp đặc biệt xảy ra khi kích thước của các tập giao xuất hiện trong công thức cho nguyên lý bao hàm-loại trừ chỉ dựa vào số tập hợp trong phần giao chứ không quan tâm tới tập nào xuất hiện trong đó. Nói bằng công thức, tức là:

{\displaystyle A\_{J}:=\bigcap \_{j\in J}A\_{j}}
có cùng số lực lượng, tức *αk* = |*AJ*|, với mọi tập con *k* phần tử *J* của {1, …, *n*}, thì

{\displaystyle \left|\bigcup \_{i=1}^{n}A\_{i}\right|=\sum \_{k=1}^{n}(-1)^{k-1}{\binom {n}{k}}\alpha \_{k}.}
Hoặc viết dưới dạng phần bù, trong đó tập phổ dụng *S* có lực lượng *α*0,

{\displaystyle \left|S\smallsetminus \bigcup \_{i=1}^{n}A\_{i}\right|=\sum \_{k=0}^{n}(-1)^{k}{\binom {n}{k}}\alpha \_{k}.}

Tổng quát hoá công thức
-----------------------

Cho họ các tập con (cho phép lặp lại) *A*1, *A*2, ... *A*n của tập phổ dụng *S*, nguyên lý bao hàm-loại trừ tính số các phần tử thuộc *S* mà không nằm trong bất kỳ tập con nào trong họ này. Dạng tổng quát của khái này sẽ tính số các phần thuộc *S* và thuộc duy nhất *m* tập con.

Gọi *N* = [*n*] = {1,2,…,*n*}. Nếu ta định nghĩa {\displaystyle A\_{\emptyset }=S}, thì nguyên lý bao hàm-loại trừ có thể viết lại như sau sử dụng ký hiệu trong đoạn trước: số các phần tử thuộc *S* nhưng không thuộc bất kỳ *A*i là:

{\displaystyle \sum \_{J\subseteq [n]}(-1)^{|J|}|A\_{J}|.}
Nếu *I* là tập con cố định của tập chỉ số *N*, thì số phần tử thuộc *A*i với mọi *i* thuộc *I* và không phần tử khác thuộc về là:

{\displaystyle \sum \_{I\subseteq J}(-1)^{|J|-|I|}|A\_{J}|.}
Định nghĩa các tập sau

{\displaystyle B\_{k}=A\_{I\cup \{k\}}{\text{ với }}k\in N\smallsetminus I.}
Để tính số các phần tử không thuộc bất kỳ *B*k nào, thì theo nguyên lý bao hàm-loại trừ (với {\displaystyle B\_{\emptyset }=A\_{I}}), bằng với

{\displaystyle \sum \_{K\subseteq N\smallsetminus I}(-1)^{|K|}|B\_{K}|.}
Tương ứng *K* ↔ *J* = *I* ∪ *K* giữa các tập con của *N* \ *I* và các tập con của *N* có chứa *I* là song ánh và nếu *J* và *K* tương ứng với nhau dưới ánh xạ này thì *B*K = *A*J, cho thấy kết quả hợp lệ.

Trong xác suất
--------------

Trong xác suất, cho các biến cố *A*1, ... *A**n* trong không gian xác suất {\displaystyle (\Omega ,{\mathcal {F}},\mathbb {P} )}, nguyên lý bao hàm-loại trừ cho trường hợp *n* = 2 là

{\displaystyle \mathbb {P} (A\_{1}\cup A\_{2})=\mathbb {P} (A\_{1})+\mathbb {P} (A\_{2})-\mathbb {P} (A\_{1}\cap A\_{2}),}
và cho trường hợp *n* = 3:

{\displaystyle \mathbb {P} (A\_{1}\cup A\_{2}\cup A\_{3})=\mathbb {P} (A\_{1})+\mathbb {P} (A\_{2})+\mathbb {P} (A\_{3})-\mathbb {P} (A\_{1}\cap A\_{2})-\mathbb {P} (A\_{1}\cap A\_{3})-\mathbb {P} (A\_{2}\cap A\_{3})+\mathbb {P} (A\_{1}\cap A\_{2}\cap A\_{3})}
và trong tổng quát

{\displaystyle \mathbb {P} \left(\bigcup \_{i=1}^{n}A\_{i}\right)=\sum \_{i=1}^{n}\mathbb {P} (A\_{i})-\sum \_{i<j}\mathbb {P} (A\_{i}\cap A\_{j})+\sum \_{i<j<k}\mathbb {P} (A\_{i}\cap A\_{j}\cap A\_{k})+\cdots +(-1)^{n-1}\sum \_{i<...<n}\mathbb {P} \left(\bigcap \_{i=1}^{n}A\_{i}\right),}
có thể viết gọn lại thành

{\displaystyle \mathbb {P} \left(\bigcup \_{i=1}^{n}A\_{i}\right)=\sum \_{k=1}^{n}\left((-1)^{k-1}\sum \_{I\subseteq \{1,\ldots ,n\} \atop |I|=k}\mathbb {P} (A\_{I})\right),}
trong đó tổng cuối chạy trên tất cả tập con *I* của 1, …, *n* và chứa chính xác *k* phần tử, và

{\displaystyle A\_{I}:=\bigcap \_{i\in I}A\_{i}}
là giao của tất cả các *Ai* với chỉ số thuộc *I*.

Theo các bất đẳng thức Bonferroni, tổng của các phần tử đầu tiên thay phiên là cận trên và cận dưới cho vế trái. Ta có thể dùng ý này để tính xấp xỉ khi công thức đầy đủ quá dài để tính. 

Đối với không gian độ đo (*S*,Σ,*μ*) và các tập con đo được *A*1, …, *A**n* với độ đo hữu hạn, các định thức trên vẫn đúng khi độ đo xác suất {\mathbb {P}} được thay bằng độ đo *μ*.

### Trường hợp đặc biệt

Nếu, trong phiên bản xác suất của nguyên lý bao hàm-loại trừ, xác suất của giao các *A**I* chỉ dựa trên số lực lượng của *I*, nghĩa là với mọi *k* thuộc {1, …, *n*} tồn tại *ak* sao cho

{\displaystyle a\_{k}=\mathbb {P} (A\_{I}){\text{ với mọi }}I\subset \{1,\ldots ,n\}{\text{ và }}|I|=k,}
thì công thức trên giản hoá thành

{\displaystyle \mathbb {P} \left(\bigcup \_{i=1}^{n}A\_{i}\right)=\sum \_{k=1}^{n}(-1)^{k-1}{\binom {n}{k}}a\_{k}}
,sử dụng suy luận tổ hợp với hệ số nhị thức {\textstyle {\binom {n}{k}}}. Ví dụ chẳng hạn, nếu các biến cố {\displaystyle A\_{i}} đều độc lập và phân phối đều với nhau, thì {\displaystyle \mathbb {P} (A\_{i})=p} với mọi *i*, và ta có {\displaystyle a\_{k}=p^{k}}, và khi đó công thức ngay trên giản hoá tiếp thành

{\displaystyle \mathbb {P} \left(\bigcup \_{i=1}^{n}A\_{i}\right)=1-(1-p)^{n}.}
(Kết quả này cũng có thể thu được bằng xét phần giao của các phần bù của các biến cố {\displaystyle A\_{i}}.)

Tồn tại dạng giản hoá tương tự cho trường hợp không gian độ đo (*S*, Σ, *μ*) và các tập con đo được *A*1, …, *A**n* với độ đo hữu hạn.

Các công thức khác
------------------

Nguyên lý đôi khi được phát biểu dưới dạng sau : nếu

{\displaystyle g(A)=\sum \_{S\subseteq A}f(S)}
thì


|  |  |  |  |  |  |  |
| --- | --- | --- | --- | --- | --- | --- |
| {\displaystyle f(A)=\sum \_{S\subseteq A}(-1)^{|A|-|S|}g(S)} | 

|  |  |  |
| --- | --- | --- |
|   |   |   |
|   |

 | **(⁎⁎)** |

Phiên bản tổ hợp và phiên bản xác suất của nguyên lý bao hàm-loại trừ đều lấy từ (**⁎⁎**).

**Chứng minh**
Đặt {\displaystyle {\underline {m}}=\{1,2,\ldots ,m\}}, {\displaystyle f({\underline {m}})=0}, và

{\displaystyle f(S)=\left|\bigcap \_{i\in {\underline {m}}\smallsetminus S}A\_{i}\smallsetminus \bigcup \_{i\in S}A\_{i}\right|{\text{ và }}f(S)=\mathbb {P} \left(\bigcap \_{i\in {\underline {m}}\smallsetminus S}A\_{i}\smallsetminus \bigcup \_{i\in S}A\_{i}\right)}
tương ứng với mọi tập hợp S với {\displaystyle S\subsetneq {\underline {m}}}. Thì ta thu được

{\displaystyle g(A)=\left|\bigcap \_{i\in {\underline {m}}\smallsetminus A}A\_{i}\right|,\quad g({\underline {m}})=\left|\bigcup \_{i\in {\underline {m}}}A\_{i}\right|{\text{ và }}g(A)=\mathbb {P} \left(\bigcap \_{i\in {\underline {m}}\smallsetminus A}A\_{i}\right),~~g({\underline {m}})=\mathbb {P} \left(\bigcup \_{i\in {\underline {m}}}A\_{i}\right)}
tương ứng với tất cả tập A thoả mãn {\displaystyle A\subsetneq {\underline {m}}}. Điều này đúng là bởi các phần tử a của {\displaystyle \cap \_{i\in {\underline {m}}\smallsetminus A}A\_{i}} có thể nằm trong các {\displaystyle A\_{i}} khác (các {\displaystyle A\_{i}} với {\displaystyle i\in A}), và công thức {\displaystyle \cap \smallsetminus \cup } chạy qua tất cả mở rộng khả thi của các tập hợp {\displaystyle \{A\_{i}\mid i\in {\underline {m}}\smallsetminus A\}} cùng với các {\displaystyle A\_{i}} khác, đếm a chỉ với các tập khớp với điều kiện "là phần tử của" của a, khi S chạy qua tất cả tập con của A (như trong định nghĩa của {\displaystyle g(A)}).

Bởi {\displaystyle f({\underline {m}})=0}, ta thu được từ (**⁎⁎**) với {\displaystyle A={\underline {m}}} rằng

{\displaystyle \sum \_{{\underline {m}}\supseteq T\supsetneq \varnothing }(-1)^{|T|-1}g({\underline {m}}\smallsetminus T)=\sum \_{\varnothing \subseteq S\subsetneq {\underline {m}}}(-1)^{m-|S|-1}g(S)=g({\underline {m}})}
và sau khi đổi vế, thì sẽ thu được bản tổ hợp và bản xác suất của nguyên lý bao hàm-loại trừ.

Nếu ta coi n là tập các ước nguyên tố của nó, thì (**⁎⁎**) là dạng tổng quát của công thức biến đổi ngược Möbius cho các số tự nhiên square-free (là các số không chia hết cho bình phương của bất kỳ số nguyên tố nào). Do vậy, (**⁎⁎**) được xem là công thức biến đổi ngược Möbius cho đại số liên thuộc của tập sắp thứ tự riêng phần tất cả tập con của *A*.

Đối với dạng tổng quát của bản đầy đủ của công thức biến đổi ngược Möbius, (**⁎⁎**) phải được tổng quát hoá bằng cách xét các đa tập (cho phép có phần tử trùng nhau trong tập hợp). Khi dùng đa tập thay vì tập hợp, Công thức (**⁎⁎**) trở trình


|  |  |  |  |  |  |  |
| --- | --- | --- | --- | --- | --- | --- |
| {\displaystyle f(A)=\sum \_{S\subseteq A}\mu (A-S)g(S)} | 

|  |  |  |
| --- | --- | --- |
|   |   |   |
|   |

 | **(⁎⁎⁎)** |

trong đó {\displaystyle A-S} là đa tập thoả mãn {\displaystyle (A-S)\uplus S=A}, và

* *μ*(*S*) = 1 nếu *S* là tập hợp (tức đa tập không có cặp phần tử trùng nhau) có số lực lượng chẵn
* *μ*(*S*) = −1 nếu *S* là tập hợp có số lực lượng lẻ.
* *μ*(*S*) = 0 if *S* là đa tập (tức *S* có cặp phần tử trùng nhau).

Quan sát rằng {\displaystyle \mu (A-S)} là {\displaystyle (-1)^{|A|-|S|}} của (**⁎⁎**) trong trường hợp {\displaystyle A-S} là tập hợp.

**Chứng minh (**⁎⁎⁎**)**
Thay



g
(
S
)
=

∑

T
⊆
S

f
(
T
)

{\displaystyle g(S)=\sum \_{T\subseteq S}f(T)}

{\displaystyle g(S)=\sum _{T\subseteq S}f(T)}
vào vế phải của (**⁎⁎⁎**). Để ý rằng {\displaystyle f(A)} xuất hiện một lần ở cả hai bên của **⁎⁎⁎**). Do đó ta phải chứng minh với mọi T thoả mãn {\displaystyle T\subsetneq A}, các phần tử {\displaystyle f(T)} sẽ tự khử nhau trong vế phải của (**⁎⁎⁎**). Để làm vậy, cố định T sao cho {\displaystyle T\subsetneq A} và lấy một phần tử {\displaystyle a\in A} bất kỳ sao cho {\displaystyle a\notin T}.

Quan sát rằng {\displaystyle A-S} phải là tập hợp với mỗi xuất hiện dương hay âm của {\displaystyle f(T)} trong phải của (**⁎⁎⁎**) và được chọn theo đa tập S thoả mãn {\displaystyle T\subseteq S\subseteq A}. Mỗi lần xuất hiện của {\displaystyle f(T)} trên vế phải (**⁎⁎⁎**) thu được bằng lấy S sao cho {\displaystyle A-S} là tập hợp chứa phần tử a sẽ triệt tiêu với giá trị thu được bằng lấy tập S tương ứng thoả mãn {\displaystyle A-S} là tập hợp không chứa phần tử a. Từ đây suy ra kết quả cần tìm

Ứng dụng
--------

Nguyên lý bao hàm-loại trừ được sử dụng rộng rãi nên chỉ có một vài được nhắc ở dưới đây.

### Đếm số phần giao

Nguyên lý bao hàm-loại trừ khi kết hợp với luật De Morgan, có thể dùng để đếm số lực lượng của phần giao của các tập hợp. Gọi {\displaystyle {\overline {A\_{k}}}} là phần bù của *Ak* tương ứng với tập phổ dụng *A* nào đó sao cho {\displaystyle A\_{k}\subseteq A} với mỗi *k*. Khi đó ta có

{\displaystyle \bigcap \_{i=1}^{n}A\_{i}={\overline {\bigcup \_{i=1}^{n}{\overline {A\_{i}}}}}}
Do đó chuyển bài toán từ đếm phần giao sang đếm phần hợp.

### Tô màu đồ thị

Nguyên lý bao hàm-loại trừ lập thành cơ sở của các thuật toán giải các bài phân hoạch đồ thị thuộc lớp NP-hard, ví dụ chẳng hạn như tô màu đồ thị.

Một ứng dụng nổi bật của nguyên lý là phương pháp xây đa thức xắc số.

### So khớp hoàn hảo trong đồ thị hai phía

Số các so khớp hoàn hảo của một đồ thị hai phía có thể tính bằng nguyên lý này.

### Đếm số toàn ánh

Câu hỏi đặt ra là cho hai tập con *A* và *B*, có bao nhiêu hàm toàn ánh đi từ *A* đến *B*? Không mất tính tổng quát, ta có thể lấy *A* = {1, ... *k*} và *B* = {1, ... *n*}, bởi ta chỉ quan tâm đến lực lượng của mỗi tập hợp. Gọi *S* là tập các hàm từ *A* đến *B*, và định nghĩa với mỗi *i* thuộc *B*, tính chất *Pi* :"hàm bỏ qua giá trị *i* thuộc *B*" (*i* không nằm trong ảnh của hàm số), nguyên lý bao hàm-loại trừ sẽ đếm số toàn ánh giữa *A* và *B* như sau:

{\displaystyle \sum \_{j=0}^{n}{\binom {n}{j}}(-1)^{j}(n-j)^{k}.}
### Đếm các hoán vị cấm vị trí

Hoán vị của tập hợp *S* = {1, ... *n*} trong đó mỗi phần tử thuộc *S* có thể bị cấm ngồi vị trí nào đó (ở đây là hoán vị được coi là cách sắp xếp thứ tự các phần tử thuộc *S*) được ta tạm gọi là *hoán vị cấm vị trí*. Ví dụ chẳng hạn, cho *S* = {1,2,3,4}, các hoán vị thoả mãn hai điều kiện cấm: 1 không được nằm tại vị trí 1 hoặc 3, và 2 không nằm trong vị trí 4 là: 2134, 2143, 3124, 4123, 2341, 2431, 3241, 3421, 4231 và 4321. Đặt *Ai* là tập các vị trí mà *i* không được phép ngồi vào, và tính chất *P**i* là tính chất đặt *i* vào vị trí *Ai*, nguyên lý bao hàm-loại trừ có thể dùng để đếm số các hoán vị thoả mãn tất cả điều kiện cấm.

Trong ví dụ trên, có 12 = 2(3!) hoán vị thoả mãn tính chất *P*1, 6 = 3! hoán vị thoả mãn tính chất *P*2 và không có hoán vị nào cho *P*3 hoặc *P*4 bởi không có điều kiện cấm cho hai giá trị đó. Số các hoán vị thoả mãn các điều kiện cấm cho trước là:

4! − (12 + 6 + 0 + 0) + (4) = 24 − 18 + 4 = 10.
Số 4 ở cuối bước tính toán là số các hoán vị thoả mãn đồng thời hai tính chất *P*1 và *P*2.

### Đa thức quân xe

Bài chi tiết: Đa thức quân xe
Đa thức quân xe là hàm sinh số cách đặt các quân xe không tân công lẫn nhau trên *bàn cờ B* trông như tập con của các ô vuông của bảng kẻ ô; nghĩa là, bất kỳ hai con xe không được phép đặt cùng hàng hay cùng cột và bàn cờ *B* là tập con bất kỳ của các ô vuông của một bàn cờ hình chữ nhật có *n* hàng và *m* cột; ta có thể gọi nó là tập các ô được phép đặt quân lên. Hệ số *rk*(*B*) của *xk* trong đa thức quân xe *RB*(*x*) là số cách đặt *k* quân xe trong đó không có cái nào trong đó tấn công cái còn lại và có thể xếp trong bàn cờ *B*. Cho bất kỳ bàn *B*, có bàn bù {\displaystyle B'} chứa các ô vuông cùa bàn hình chữ nhật và không nằm trong *B*. Cái bàn bù này cũng có đa thức quân xe {\displaystyle R\_{B'}(x)} cùng với các hệ số {\displaystyle r\_{k}(B').}

Đôi khi để tiện cho tính toán, ta tính hệ số cao nhất trong đa thức quân xe bằng các hệ số của đa thức quân xe của bàn bù.Không mất tính tổng quát, ta có thể giả sử *n* ≤ *m*, do đó hệ số này là *rn*(*B*). Số cách đặt *n* quân xe không tấn công lẫn nhau trên bàn kẻ ô đầy đủ *n* × *m* (chưa quan tâm tới việc liệu các quân có đúng đặt trong bàn*B*) được tính theo giai thừa giảm sau:

{\displaystyle (m)\_{n}=m(m-1)(m-2)\cdots (m-n+1).}
Gọi *P*i là tính chất đặt *n* quân xe không tấn công nhau trên bàn đầy đủ có quân ở cột *i* và không nằm trong ô thuộc bàn *B*, thì theo nguyên lý bao hàm-loại trừ, ta có công thức:

{\displaystyle r\_{n}(B)=\sum \_{t=0}^{n}(-1)^{t}(m-t)\_{n-t}r\_{t}(B').}
### Hàm phi Euler

Bài chi tiết: Hàm phi Euler
Hàm phi Euler hay gọi ngắn lại đi là hàm phi, *φ*(*n*) là hàm số học đếm số các số nguyên nhỏ hơn hoặc bằng *n* và nguyên tố cùng nhau với *n*. Nghĩa là, nếu *n* là số nguyên dương, thì φ(*n*) là số các số nguyên *k* thuộc đoạn 1 ≤ *k* ≤ *n* không có ước chung với *n* nào khác ngoài 1. Nguyên lý bao hàm -loại trừ có thể dùng để tìm ra công thức cho φ(*n*). Gọi *S* là tập {1, …, *n*} và định nghĩa tính chất *Pi* là số thuộc *S* chia hết cho số nguyên tố *pi*, với 1 ≤ *i* ≤ *r*,trong đó phân tích thừa số nguyên tố của

{\displaystyle n=p\_{1}^{a\_{1}}p\_{2}^{a\_{2}}\cdots p\_{r}^{a\_{r}}.}
thì,

{\displaystyle \varphi (n)=n-\sum \_{i=1}^{r}{\frac {n}{p\_{i}}}+\sum \_{1\leqslant i<j\leqslant r}{\frac {n}{p\_{i}p\_{j}}}-\cdots =n\prod \_{i=1}^{r}\left(1-{\frac {1}{p\_{i}}}\right).}

Nguyên lý bao hàm-loại trừ bị pha loãng
---------------------------------------

Xem thêm: Bất đẳng thức Bonferroni
Trong nhiều trường hợp nguyên lý có thể đưa công thức chính xác (chẳng hạn như đếm số nguyên tố khi sử dụng sàng Eratosthenes), công thức suy ra được đôi khi không hữu dụng bởi số các phần tử của nó quá nhiều. Và, kể cả khi mỗi số hạng trong đó có thể được ước lượng chính xác, thì tổng các sai số có thể khiến cho công thức bao hàm-loại trừ không áp dụng trực tiếp được. Trong lý thuyết số, vấn đề này được Viggo Brun nhắc tới. Sau một khởi đầu chậm, các ý tưởng của ông dần được thu nhận bởi người khác, và từ đó một lượng lớn phương pháp sàng được phát triển dựa trên đó. Các phương pháp này có thể dùng để thử tìm cận trêm cho các tập "đã được sàng", thay vì phải tìm công thức chính xác.

Gọi *A*1, ... *A**n* là các tập hợp tuỳ ý và *p*1, …, *p**n* là các số thực thuộc đoạn [0, 1]. Khi đó, với mỗi số nguyên chẵn *k* thuộc {0, …, *n*}, các hàm chỉ thị đều thoả mãn bất đẳng thức sau:

{\displaystyle 1\_{A\_{1}\cup \cdots \cup A\_{n}}\geq \sum \_{j=1}^{k}(-1)^{j-1}\sum \_{1\leq i\_{1}<\cdots <i\_{j}\leq n}p\_{i\_{1}}\dots p\_{i\_{j}}\,1\_{A\_{i\_{1}}\cap \cdots \cap A\_{i\_{j}}}.}

Chứng minh công thức chính
--------------------------

Chọn một phần từ nằm trong hợp tất cả các tập và gọi {\displaystyle A\_{1},A\_{2},\dots ,A\_{t}(t>0)} là các tập chứa nó. Bởi phần tử được đếm 1 lần theo vế trái của phương trình (**1**), nên ta cần chứng minh nó cũng được đếm duy nhất 1 lần theo vế phải. Trong vế phải, các phần cộng giá trị không diễn ra khi các tập con có chứa phần tử được chọn, tức là tất cả tập được chọn đều từ {\displaystyle A\_{1},A\_{2},\dots ,A\_{t}}. Phần cộng đều bằng một cho mỗi tập hợp này (cộng hoặc trừ dựa trên số hạng) và do đó chỉ cần dựa trên số tập con được dùng. Khi đó ta có

{\displaystyle {\begin{aligned}|\{A\_{i}\mid 1\leqslant i\leqslant t\}|&-|\{A\_{i}\cap A\_{j}\mid 1\leqslant i<j\leqslant t\}|+\cdots +(-1)^{t+1}|\{A\_{1}\cap A\_{2}\cap \cdots \cap A\_{t}\}|={\binom {t}{1}}-{\binom {t}{2}}+\cdots +(-1)^{t+1}{\binom {t}{t}}.\end{aligned}}}
Theo định lý nhị thức,

{\displaystyle 0=(1-1)^{t}={\binom {t}{0}}-{\binom {t}{1}}+{\binom {t}{2}}-\cdots +(-1)^{t}{\binom {t}{t}}.}
Sử dụng ý {\displaystyle {\binom {t}{0}}=1} là đổi chỗ các số hạng đi, ta được

{\displaystyle 1={\binom {t}{1}}-{\binom {t}{2}}+\cdots +(-1)^{t+1}{\binom {t}{t}},}
và do vậ, phần tử được chọn được đếm duy nhất một lần trong vế phải của phương trình (**1**).

### Chứng minh bằng đại số

Chứng minh bằng đại số theo các hàm chỉ thị (hay còn gọi là hàm đặc trưng). Hàm chỉ thị của tập con *S* của tập *X* là hàm

{\displaystyle {\begin{aligned}&\mathbf {1} \_{S}:X\to \{0,1\}\\&\mathbf {1} \_{S}(x)={\begin{cases}1&x\in S\\0&x\notin S\end{cases}}\end{aligned}}}
Nếu A và B là hai tập con của X, thì 

{\displaystyle \mathbf {1} \_{A}\cdot \mathbf {1} \_{B}=\mathbf {1} \_{A\cap B}.}
Gọi *A* là hợp {\textstyle \bigcup \_{i=1}^{n}A\_{i}} của các tập hợp *A*1, …, *An*. Để chứng minh nguyên lý bao hàm-loại trừ trong tổng quát, trước hết ta cần kiểm tra định thức


|  |  |  |  |  |  |  |
| --- | --- | --- | --- | --- | --- | --- |
| {\displaystyle \mathbf {1} \_{A}=\sum \_{k=1}^{n}(-1)^{k-1}\sum \_{I\subset \{1,\ldots ,n\} \atop |I|=k}\mathbf {1} \_{A\_{I}}} | 

|  |  |  |
| --- | --- | --- |
|   |   |   |
|   |

 | **(⁎)** |

cho hàm chỉ thị, trong đó:

{\displaystyle A\_{I}=\bigcap \_{i\in I}A\_{i}.}
Hàm sau

{\displaystyle \left(\mathbf {1} \_{A}-\mathbf {1} \_{A\_{1}}\right)\left(\mathbf {1} \_{A}-\mathbf {1} \_{A\_{2}}\right)\cdots \left(\mathbf {1} \_{A}-\mathbf {1} \_{A\_{n}}\right),}
bằng không là bởi: nếu *x* không thuộc *A*, thì tất cả các nhân tử đều là 0 − 0 = 0; và ngược lại, nếu *x* có thuộc một số *Am*, thì nhân tử thứ *m* tương ứng là 1 − 1 = 0.Bằng cách mở rộng tích ở vế trái, suy ra phương trình (**⁎**).

Để chứng minh nguyên lý bao hàm-loại trừ cho lực lượng của tập hợp , ta lấy tổng phương trình (**⁎**) trên tất cả các *x* thuộc hợp của *A*1, …, *An*. Để từ đây lấy ra phiên bản xác suất, cho giá trị kỳ vọng vào (**⁎**). Và tổng quát hơn, lấy tích phân phương trình (**⁎**) tương ứng với to *μ*. Luôn sử dụng tính tuyến tính khi dẫn xuất ra các phiên bản này.

Xem thêm
--------

* Bất đẳng thức Boole
* Các nguyên lý tổ hợp
* Định thức lớn nhất-nhỏ nhất
* Bài toán vòng cổ
* Nguyên lý ngăn kéo Dirichlet
* Công thức Schuette–Nesbitt

Chú thích
---------

1. 1 2  Roberts & Tesman 2009, pg. 405
2. ↑  Mazur 2010, pg. 94
3. ↑  van Lint & Wilson 1992, pg. 77
4. ↑  van Lint & Wilson 1992, pg. 77
5. ↑  Stanley 1986, pg. 64
6. ↑  Rota, Gian-Carlo (1964), "On the foundations of combinatorial theory I. Theory of Möbius functions", *Zeitschrift für Wahrscheinlichkeitstheorie und Verwandte Gebiete*, **2** (4): 340–368, doi:10.1007/BF00531932, S2CID 121334025
7. ↑  Mazur 2010, pp. 83–4, 88
8. ↑  Brualdi 2010, pp. 167–8
9. ↑  Cameron 1994, pg. 78
10. ↑  Graham, Grötschel & Lovász 1995, pg. 1049
11. ↑  Björklund, Husfeldt & Koivisto 2009
12. ↑  Gross 2008, pp. 211–13
13. ↑  Gross 2008, pp. 208–10
14. ↑  Mazur 2008, pp.84-5, 90Lỗi harv: không có mục tiêu: CITEREFMazur2008 (trợ giúp)
15. ↑  Brualdi 2010, pp. 177–81
16. ↑  Roberts & Tesman 2009, pp.419–20
17. ↑  van Lint & Wilson 1992, pg. 73
18. ↑  (Fernández, Fröhlich & Alan D. 1992, Proposition 12.6)

Tham khảo
---------

* Allenby, R.B.J.T.; Slomson, Alan (2010), *How to Count: An Introduction to Combinatorics*, Discrete Mathematics and Its Applications (ấn bản 2), CRC Press, tr. 51–60, ISBN 9781420082609
* Björklund, A.; Husfeldt, T.; Koivisto, M. (2009), "Set partitioning via inclusion–exclusion", *SIAM Journal on Computing*, **39** (2): 546–563, doi:10.1137/070683933
* Brualdi, Richard A. (2010), *Introductory Combinatorics* (ấn bản 5), Prentice–Hall, ISBN 9780136020400
* Cameron, Peter J. (1994), *Combinatorics: Topics, Techniques, Algorithms*, Cambridge University Press, ISBN 0-521-45761-0
* Fernández, Roberto; Fröhlich, Jürg; Alan D. Sokal (1992), *Random Walks, Critical Phenomena, and Triviality in Quantum Field Theory*, Texts an Monographs in Physics, Berlin: Springer-Verlag, tr. xviii+444, ISBN 3-540-54358-9, MR 1219313, Zbl 0761.60061
* Graham, R.L.; Grötschel, M.; Lovász, L. (1995), *Hand Book of Combinatorics (volume-2)*, MIT Press – North Holland, ISBN 9780262071710
* Gross, Jonathan L. (2008), *Combinatorial Methods with Computer Applications*, Chapman&Hall/CRC, ISBN 9781584887430
* Hazewinkel, Michiel biên tập (2001), "Inclusion-and-exclusion principle", *Bách khoa toàn thư Toán học*, Springer, ISBN 978-1-55608-010-4
* Mazur, David R. (2010), *Combinatorics A Guided Tour*, The Mathematical Association of America, ISBN 9780883857625
* Roberts, Fred S.; Tesman, Barry (2009), *Applied Combinatorics* (ấn bản 2), CRC Press, ISBN 9781420099829
* Stanley, Richard P. (1986), *Enumerative Combinatorics Volume I*, Wadsworth & Brooks/Cole, ISBN 0534065465
* van Lint, J.H.; Wilson, R.M. (1992), *A Course in Combinatorics*, Cambridge University Press, ISBN 0521422604

*Bài viết này có sử dụng tài liệu từ principle of inclusion–exclusion tại PlanetMath, với giấy phép sử dụng Creative Commons Attribution/Share-Alike License.*