포함·배제의 원리

역사 raw
대문 랜덤 문서 최근 토론
1. 개요2. 진술3. 증명4. 예시 및 활용, 확장


·, inclusion-exclusion principle

1. 개요[편집]

조합론에서 여러 개의 합집합의 크기를 구할 때 사용하는 공식이다. 이산수학 및 확률론에서 중요하고 유용한 원리 중 하나이다.
비교적 친숙한 AB=A+BAB|A \cup B| = |A| + |B| - |A \cap B|, ABC=A+B+CABBCCA+ABC|A \cup B \cup C| = |A| + |B| + |C| - |A \cap B| - |B \cap C| - |C \cap A| + |A \cap B \cap C| 등의 공식을 nn개짜리 합집합으로 일반화했다고 생각할 수 있다. 이름의 유래는 AA, BB, ……에 속하는 원소들을 포함시키고(더하고), 두 번 세어준 ABA \cap B, ……의 원소들을 배제하고(빼고), 다시 33개짜리 교집합이 빠졌으므로 더해주고, ……의 아이디어에서 나왔다.

2. 진술[편집]

포함·배제의 원리(inclusion-exclusion principle)
유한집합인 전체집합 UU의 부분집합 A1, A2,, AnA_1,~A_2, \cdots\cdots,~A_n에 대해, 이들의 합집합의 원소의 개수는 다음과 같이 주어진다.
i=1nAi=I[n](1)I1iIAi\displaystyle \left| \bigcup_{i=1}^n A_i \right| = \sum_{\emptyset \ne I \subset [n]} \left( -1 \right)^{|I|-1} \left| \bigcap_{i \in I} A_i \right|
여기서 [n]={1, 2,, n}[n] = \{1,~2, \cdots\cdots,~n\}이고, | \cdot |은 집합의 크기(원소의 개수)이다. 이를 풀어쓰면 다음과 같다.
A1A2An=(A1+A2++An)(A1A2++An1An)++(1)n1A1A2An|A_1 \cup A_2 \cup \cdots \cdots \cup A_n| = (|A_1|+|A_2| + \cdots \cdots + |A_n|) - (|A_1 \cap A_2| + \cdots \cdots + |A_{n-1} \cap A_n|) + \cdots \cdots + \left( -1 \right)^{n-1}|A_1 \cap A_2 \cap \cdots \cdots \cap A_n|
홀수 개의 교집합은 더하고, 짝수 개의 교집합을 뺀다는 식으로 기억하면 된다. 다음과 같은 여집합 형태도 많이 등장하는데 (I=I=\emptyset일 때는 전체집합을 더하는 것으로 간주) 이 경우에는 부호가 반대가 된다.
Ui=1nAi=I[n](1)IiIAi \displaystyle \left| U \setminus \bigcup_{i=1}^n A_i \right| = \sum_{I \subset [n]} \left( -1 \right)^{|I|} \left| \bigcap_{i \in I} A_i \right|
사실 원소의 개수가 가장 생각하기 쉽지만 집합의 크기를 재는 어떤 함수이건 측도라던가 적용할 수 있다. 확률론에서의 다음 버전도 많이 쓰인다.
확률공간의 사건 A1, A2,, AnA_1,~A_2, \cdots \cdots,~A_n에 대해, 이들의 합집합의 확률은 다음과 같이 주어진다.
P(i=1nAi)=I[n](1)I1P(iIAi)\displaystyle P \left( \bigcup_{i=1}^n A_i \right) = \sum_{\emptyset \ne I \subset [n]} \left( -1 \right)^{|I|-1} P \left( \bigcap_{i \in I} A_i \right)

3. 증명[편집]

원소의 개수를 다룬 버전을 서술한다. 일반적인 확률 및 측도 버전은 비슷하게 접근하면 된다. (합 및 개수를 확률/측도로 바꾼다던지 등등)

전체집합 UU의 원소들은 AiA_i에 속하냐, 속하지 않냐 두 가지의 기준으로 나눌 수 있다. 어떤 원소 xUx \in Ui=i1, i2,, iki=i_1,~i_2, \cdots \cdots,~i_k에 대해선 xAix \in A_i이고 나머지에 대해선 xAix \notin A_i라 하자. J={i1,, ik}J = \{ i_1, \cdots \cdots,~i_k \}라고 놓자. 이제 임의의 II에 대해서 iIAi\displaystyle \bigcap_{i \in I} A_ixx를 포함할 필요충분조건은 IJI \subset J가 되고, 따라서 공식의 우변에서 xx가 세어지는 횟수는 IJ(1)I1\displaystyle \sum_{\emptyset \ne I \subset J} \left( -1 \right)^{|I|-1} 가 된다. 만약 JJ가 공집합이라면 그런 II는 없으므로 횟수는 00번이 된다. JJ가 공집합이 아니라면 저 횟수는
IJ(1)I1=IJ(1)I1(1)1=l=0k(kl)(1)l1+1=1\displaystyle \sum_{\emptyset \ne I \subset J} \left( -1 \right)^{|I|-1} =\sum_{I \subset J} \left( -1 \right)^{|I|-1} - \left( -1 \right)^{|\emptyset|-1} =\sum_{l=0}^k \binom{k}{l} \left( -1 \right)^{l-1} +1 = 1
(이항정리를 활용한다) 이 되어 1번 세어진다. 이상을 종합하면 우변의 식은 Ai\cup A_i의 원소들을 한 번씩만 센다고 할 수 있다.

4. 예시 및 활용, 확장[편집]

교과과정에선 다음과 비슷한 문제로 이 원리가 등장하곤 한다.
ㅁㅁ초등학교 어느 한 반의 4040명 중 2525명은 리그 오브 레전드를, 1818명은 오버워치를, 99명은 둘다 한다. 이 때 롤과 옵치를 둘다 안하는 사람의 수는?
두 합집합의 원소의 수가 (25+18)9=34(25+18)-9=34이므로 이 여집합이므로 답은 66명이다. 간간히 집합이 3개인 경우도 나오는 듯하다.

조합론 중 특히 enumerative combinatorics 계열에선 집합의 개수가 nn개인 경우 각 잡고 제대로 쓴다면 꽤나 강력한 도구가 되는데, 예로 다음과 같은 문제들에 포함·배제의 원리를 적용할 수 있다.
  • 교란순열, 즉 일대일대응 σ:[n][n]\sigma: [n] \rightarrow [n] 중 모든 xx에 대해 σ(x)x\sigma \left( x \right) \neq xσ\sigma의 개수
  • 제한된 순열 문제. 집합 A[n]×[n]A \subset[n] \times [n]이 주어졌을 때 (x, σ(x))A(x,~\sigma \left( x \right)) \notin A인 순열의 개수. 위 교란순열 문제의 일반화이다.
  • 전사함수 f:[n][m]f: [n] \rightarrow [m]의 개수. 제2종 스털링 수(Stirling numbers of the second kinds)와도 연관이 있다.
  • 어떤 수 nn이 주어졌을 때 1mn1 \le m \le n인 정수 mmnn과 서로소인 mm의 개수 (즉 오일러 정리에 나오는 오일러 파이 함수 φ(n)\varphi \left( n \right) 구하기)
  • 변의 길이가 정수고 둘레가 nn인 삼각형의 개수(변의 순서가 다르면 다른 것으로 취급할 때).
일반적으로 여러 개의 제약조건이 복합적으로 작용할 때, 보통 이들의 교집합을 생각하는 건 쉽지만 합집합 및 여집합을 생각하는 건 어려울 때가 많은데, 이럴 때 이 포함 배제의 원리를 범용적으로 쓸 수 있다.

한편 확률론에선 다음 부등식 버전의 포함배제의 원리를 생각하기도 한다.
본페로니 부등식(Bonferroni inequality)
위의 포함·배제 공식을 Ij|I| \le j인 범위까지만 더했을 때, jj가 홀수이면
P(i=1nAi)I[n], Ij(1)IP(iIAi)\displaystyle P \left( \bigcup_{i=1}^n A_i \right) \le \sum_{I \subset [n],~|I| \le j} \left( -1 \right)^{|I|} P \left( \bigcap_{i \in I} A_i \right)
jj가 짝수이면
P(i=1nAi)I[n], Ij(1)IP(iIAi)\displaystyle P \left( \bigcup_{i=1}^n A_i \right) \ge \sum_{I \subset [n],~|I| \le j} \left( -1 \right)^{|I|} P \left( \bigcap_{i \in I} A_i \right)
가 성립한다.
예를 들어서 n=3n=3이면
P(ABC)P(A)+P(B)+P(C)P \left( A \cup B \cup C \right) \le P \left( A \right) + P \left( B \right) + P \left( C \right)
P(ABC)P(A)+P(B)+P(C)P(AB)P(BC)P(CA)P \left( A \cup B \cup C \right) \ge P \left( A \right) + P \left( B \right) + P \left( C \right) - P \left( A \cap B \right) - P \left( B \cap C \right) - P \left( C \cap A \right)
등이 성립하는 식. 교집합의 개수가 많은 항의 기여도가 비교적 작고 계산이 더러울 때, 몇 번째 교집합까지만 더해서 근사를 하고 싶은 상황에서 이 부등식을 활용할 수 있다. 예로 nx1nx \ll 1일 때 확률 xx로 일어나는 nn개의 독립사건의 합집합 왜인지 던파확률의 법칙에 나와있는거 같다 의 확률을 위 부등식에 근거해 다음처럼 근사할 수 있다.
1nx(1x)n1nx+n(n1)2x21-nx \le \left( 1-x \right)^n \le 1-nx + \dfrac{n \left( n-1 \right)}2 x^2