[조합론] 9. 포함 배제의 원리, 비둘기 집의 원리
예: 어느 회사의 신입사원 모집에 18명이 지원했고, 그 중 10명은 전산학, 7명은 경영학 전공이고, 3명은 전산학과 경영학 모두를 전공했다. 그러면 전산학이나 경영학을 전공한 지원자의 수는?
풀이: 전체집합을 U, 전산학 전공자들의 집합을 A, 경영학 전공자들의 집합을 B라고 하자. 그러면 |U|=18, |A|=10, |B|=7, |A∩B|=3이므로|A∪B|=|A|+|B|−|A∩B|=10+7−3=14이다. |A|+|B|의 계산에서 A∩B에 속하는 원소들이 두번 계산되었기 때문에 |A∩B|를 빼는 것이다.
이러한 계산과정을 포함 배제의 원리(inclusion-exclusion principle)라고 한다.
전체집합 U의 n개의 부분집합 A1,A2,⋯,An에 대하여 Sk(1≤k≤n)를 k개의 Ai(1≤i≤n)들의 교집합의 원소들의 총합 즉,Sk=∑1≤i1<i2<⋯<ik≤n|k⋂j=1Aij|라고 하자. 예를들어S1=|A1|+|A2|+⋯+|An|S2=|A1∩A2|+|A2∩A3|+⋯+|An−1∩An|이므로|A∪B|=S1−S2=|A|+|B|−|A∩B||A∪B∪C|=S1−S2+S3=|A|+|B|+|C|−|A∩B|−|B∩C|−|A∩C|+|A∩B∩C|이다.
다음은 일반화된 포함 배제의 원리이다.
정리(포함 배제의 정리 1): 전체집합 U의 n개의 부분집합 A1,A2,⋯,An에 대하여|n⋃i=1Ai|=n∑k=1(−1)k+1Sk이다.
증명: 어떤 원소가 모든 Ai(1≤i≤n)에 대해 어느 곳에도 포함되지 않은 원소이면, 우변의 계산에서 한번도 계산되지 않았다.
Ai(1≤i≤n)중 m(1≤m≤n)개의 집합에 동시에 속하는 원소 x를 고려하자. x는 S1의 계산에서 (m1)번, S2의 계산에서 (m2)번, ..., Sm의 계산에서 (mm)번 계산되었다. 따라서 우변의 계산에서(m1)−(m2)+⋯+(−1)m(mm)=1만큼 계산되므로 식이 성립한다.
정리(포함 배제의 정리 2): 전체집합 U의 n개의 부분집합 A1,A2,⋯,An에 대하여|n⋂i=1Aci|=|U|+n∑k=1(−1)kSk이다.
증명: 다음 식으로부터 성립한다.|n⋂i=1Aci|=|U|−|n⋃i=1Ai|
여러가지 성질들 중에서 적어도 하나를 만족하는 원소의 수를 셀 때는 정리 1을 사용하는게 편리하고, 모든 성질을 만족하는 원소의 수를 셀 때는 정리 2를 사용하는게 편리하다.
예: 52장의 카드에서 5장을 뽑을 때, 뽑힌 5장의 카드들의 무늬가 스페이드, 다이아몬드, 하트, 클로버 모두를 갖는 경우의 수는?
풀이: 전체집합 U를 52장의 카드에서 5장을 뽑을 때 나타나는 것들의 집합이라고 하고
A1을 U의 원소 중에서 스페이드가 없는 것들의 집합, A2를 U의 원소 중에서 다이아몬드가 없는 것들의 집합, A3을 U의 원소 중에서 하트가 없는 것들의 집합, A4를 U의 원소 중에서 클로버가 없는 것들의 집합이라고 하자.
이 문제에서 구하려는 수는 |Ac1∩Ac2∩Ac3∩Ac4|이고|Ai|=(394),|Ai∩Aj|=(265),|Ai∩Aj∩Ak|=(135)이므로S1=4(52−135)=4(395),S2=(42)(52−265)=6(265)S3=4(135),S4=0이고 따라서 포함 배제의 정리 2에 의해|Ac1∩Ac2∩Ac3∩Ac4|=(525)−4(395)+6(265)−4(135)+0이다.
예: 100이하의 자연수 중 2, 3, 5, ,7의 배수들의 개수는?
풀이: 전체집합 U를 100이하의 자연수들의 집합이라고 하고, 임의의 자연수 i에 대하여 Ai를 U의 원소 중에서 i의 배수들의 집합이라고 하자. 그러면 이 문제에서 구하려는 수는 |A2∪A3∪A5∪A7|이고S1=|A2|+|A3|+|A5|+|A7|=⌊1002⌋+⌊1003⌋+⌊1005⌋+⌊1007⌋=50+33+20+14=117S2=|A6|+|A10|+|A14|+|A15|+|A21|+|A35|=16+10+7+6+4+2=45S3=|A30|+|A42|+|A70|=3+2+1=6S4=0이므로 따라서|A2∪A3∪A5∪A7|=S1−S2+S3−S4=117−45+6=78이다.
예: 2 이상의 정수 n의 표준분해가 n=pa11pa22⋯pakk일 때의 오일러-피(ϕ) 함숫값(n이하의 자연수 중에서 n과 서로소인 것들의 개수)은ϕ(n)=nk∏i=1(1−1pi)이다.
풀이: U={1,2,⋯,n}, i=1,2,⋯,n에 대하여 Ai={x∈N|1≤x≤n,pi|x}라고 하자. 그러면 |Ai|=npi이고, Ai∩Aj는 n을 넘지 않는 pi와 pj의 배수들의 집합이므로 |Ai∩Aj|=npipj이다. 그러면|n⋂i=1Ai|=np1p2⋯pk이고 포함 배제의 정리 2에 의해ϕ(n)=|(k⋃i=1Ai)c|=|U|−|k⋃i=1Ai|=|U|−k∑i=1Sk=n−(np1+⋯+npk)+(np1p2+⋯+npk−1pk)+⋯+(−1)knp1p2⋯pk=n{1−(1p1+⋯+1pn)+(1p1p2+⋯+1pk−1pk)+⋯+(−1)kp1p2⋯pk}=np1p2⋯pn{p1p2⋯pk−(p1p2⋯pk−1+⋯+p2p3⋯pk)+⋯+(−1)k}=np1p2⋯pn{(p1−1)⋯(pk−1)}=n(p1−1p1⋯pk−1pk)=nk∏i=1(1−1pi)이다.
정리: |X|=m,|Y|=n인 두 집합 X,Y에 대하여 집합 X에서 집합 Y로의 전사함수(f[X]=Y)의 개수는nm−(n1)(n−1)m+(n2)(n−2)m−⋯+(−1)n(nn)(n−n)m이다.
증명: 집합 X에서 집합 Y로의 함수의 개수는 nm이고 Y={1,2,⋯,n}이라고 하자. 임의의 i∈Y에 대하여 A={f:X→Y|i∉f[X]}라 하면, 전사함수의 개수는 |n⋂i=1Aci|이고, 포함 배재의 정리 2에 의해|n⋂i=1Aci|=|U|−|n⋃i=1Ai|=nm−(n1)(n−1)m+(n2)(n−2)m−⋯+(−1)n(nn)(n−n)m이다.
교란(derangement)은 {1,2,⋯,n}의 치환 중 각 i=1,2,⋯,n가 i번째에 오지 않는 것이고, 그 수(교란수)를 Dn으로 나타낸다. 예를들어 D1=0,D2=1이고, D3=2(2,3,1,3,1,2)이다.
정리: 교란수 Dn은 다음과 같다.Dn=n!(1−11!+12!−13!+⋯+(−1)n1n!)
증명: {1,2,⋯,n}의 전체 치환의 수는 n!이고, 집합 Ai를 {1,2,⋯,n}의 치환 중 각 i=1,2,⋯,n가 i번째에 놓여있는 치환들의 집합이라고 하자. 그러면 Dn=|n⋂i=1Aci|이고, 포함 배제의 정리 2에 의해Dn=n!−|n⋃i=1Ai|=n!−(n1)(n−1)!+(n2)(n−2)!−⋯+(−1)n(nn)(n−n)!=n!(1−11!+12!−⋯+(−1)n1n!)이다.
정리: 교란수 Dn에 대하여 Dn=(n−1)(Dn−1+Dn−2)이다.
증명: D1=0,D2=1이다. n≥3일 때, 교란수 Dn은 다음의 두가지 경우로 나눌 수 있다.
(1) 첫번째 자리에 k(2≤k≤n) 가 오고 k번째 자리에 1이 오는 경우: 이 때의 교란수는 1과 k를 제외한 나머지 수들의 교란수와 같으므로 이 경우는 Dn−2이다.
(2) 첫번째 자리에 k(2≤k≤n)가 오고 k번째 자리에 1이 오지 않는 경우: 첫번째 자리에 놓인 k를 제외하고 1을 k로 대체하면, 1을 제외한 나머지 n−1개의 교란수와 같으므로 이 경우는 Dn−1이다.
2≤k≤n이므로 (1)과 (2)에 의해 Dn=(n−1)(Dn−1+Dn−2)이다.
예: 어느 저녁 모임에 모자를 쓴 n명이 참석했다. 이들이 돌아갈 때 정전이 되어 자기 모자를 찾을 수 없었다. n명 각자가 모자를 하나씩 가지고 돌아갈 때, 이들 모두 자기 모자가 아닌 타인의 모자를 가지고 돌아가는 경우의 수는 Dn이다.
비둘기 집의 원리
정리(비둘기 집의 원리, pigeonhole principle): n+1마리의 비둘기를 n개의 비둘기 집에 넣으면, 적어도 비둘기가 2마리 이상 들어간 집이 반드시 존재한다.
증명: 만약 모든 비둘기집에 한 마리씩만 있다면 전체 비둘기의 수는 최대 n이 되는데 처음에 가정한 비둘기의 수가 n+1이므로 모순이다.
예: 8명 중 적어도 두 명은 같은 요일이 생일이다.
풀이: 8명 모두 다른 요일에 태어났다면 8개 이상의 요일이 있어야 한다. 그러나 요일은 최대 7개(월, 화, 수, 목, 금, 토, 일)이므로 모순이다.
예: 어느 테니스 선수가 30일 동안 매일 1게임 이상 연습게임을 하며 모두 45게임을 했다고 한다. 그러면 이 선수는 연속된 며칠 사이에 정확하게 14게임을 한 기간이 있다.
풀이: 선수가 처음 k일 동안 ak회의 게임을 했다면,1≤a1<a2<⋯<a30=45이므로a1+14<a2+14<⋯<a30+14=45+14=59이고S={a1,a2,,⋯,a30,a1+14,a2+14,⋯,a30+14}⊂{1,2,⋯,59}이다.
비둘기집의 원리에 의해 S에는 같은 수가 존재한다. 그런데 a1,a2,⋯,a30들은 서로 다르므로 a1+14,a2+14,⋯,a30+14들도 서로 다르고 같은 수가 되려면 적당한 1≤i,j≤30(i≠j)에 대하여 ai+14=aj가 성립해야 한다. 따라서 aj−ai=14이므로 i+1일부터 j일까지 이 선수는 정확히 14게임을 했다.
예: 집합 A={1,2,⋯,2n}에서 임의로 n+1개의 원소를 선택하면 그 중에는 두 수의 차가 1이 되는 두 수가 있다.
풀이: A에서 선택한 n+1개의 원소를 b1,b2,⋯,bn+1이라 하자. A의 원소를 n개의 집합{1,2},{3,4},⋯{2n−1,2n}으로 나누면 n+1개의 수 b1,b2,⋯,bn+1가 이 n개의 집합에 속하므로 비둘기집의 원리에 의해 적당한 두 수 bi,bj(i≠k)는 같은 집합에 속하고 따라서 |bi−bj|=1이다.
참고자료:
조합론 및 그래프이론, 조성진, 김한두, 경문사
조합 및 그래프이론, 김정진, 교우사
'확률및통계 > 조합론' 카테고리의 다른 글
[조합론] 8. 분할, 스털링 수 (1) | 2019.03.06 |
---|---|
[조합론] 7. 점화식(4: 지수생성함수, 카탈란 수) (1) | 2019.03.05 |
[조합론] 6. 점화식(3: 생성함수) (0) | 2019.03.04 |
[조합론] 5. 점화식(2: 선형점화식) (0) | 2019.03.03 |
[조합론] 4. 점화식(1: 알고리즘, 점화식들의 예) (0) | 2019.03.02 |