包除原理とは
包除原理 (読:ほうじょげんり, 英:inclusion-exclusion principle) とは、一つ以上の有限集合からなる合併集合の要素数を、共通部分を利用して求める定理のこと。
∣∣∣∣∣∣i=1⋃nAi∣∣∣∣∣∣=k=1∑n⎣⎢⎡(−1)k−1I⊆[n] ∣I∣=k∑∣∣∣∣∣∣i∈I⋂Ai∣∣∣∣∣∣⎦⎥⎤
包除原理の証明:
次式を仮定する。
∣∣∣∣∣∣i=1⋃nAi∣∣∣∣∣∣=k=1∑n⎣⎢⎡(−1)k−1I⊆[n], ∣I∣=k∑∣∣∣∣∣∣i∈I⋂Ai∣∣∣∣∣∣⎦⎥⎤
一つの有限集合からなる合併集合の要素数は、
∣∣∣∣∣∣i=1⋃1Ai∣∣∣∣∣∣∣A1∣=k=1∑1⎣⎢⎡(−1)k−1I⊆[1], ∣I∣=k∑∣∣∣∣∣∣i∈I⋂Ai∣∣∣∣∣∣⎦⎥⎤=∣A1∣(1)
となり、仮定が成立する。
次に n+1 つの有限集合からなる合併集合の要素数を求める。この有限集合の要素数は、
∣∣∣∣∣∣i=1⋃n+1Ai∣∣∣∣∣∣=∣∣∣∣∣∣i=1⋃nAi∪An+1∣∣∣∣∣∣=∣∣∣∣∣∣i=1⋃nAi∣∣∣∣∣∣+∣An+1∣−∣∣∣∣∣∣i=1⋃nAi∩An+1∣∣∣∣∣∣(2)
と展開できる。ここで右辺の第一項は仮定より、
∣∣∣∣∣∣i=1⋃nAi∣∣∣∣∣∣=k=1∑n⎣⎢⎡(−1)k−1I⊆[n], ∣I∣=k∑∣∣∣∣∣∣i∈I⋂Ai∣∣∣∣∣∣⎦⎥⎤=i=1∑n∣Ai∣−1≤i1<i2∑n∣Ai1∩Ai2∣+1≤i1<i2<i3∑n∣Ai1∩Ai2∩Ai3∣⋮+(−1)n−1∣∣∣∣∣∣i=1⋂nAi∣∣∣∣∣∣(3)
右辺の第三項は仮定より、
∣∣∣∣∣∣i=1⋃nAi∩An+1∣∣∣∣∣∣=k=1∑n⎣⎢⎡(−1)k−1I⊆[n], ∣I∣=k∑∣∣∣∣∣∣i∈I⋂(Ai∩An+1)∣∣∣∣∣∣⎦⎥⎤=i=1∑n∣Ai∩An+1∣−1≤i1<i2∑n∣Ai1∩Ai2∩An+1∣+1≤i1<i2<i3∑n∣Ai1∩Ai2∩Ai3∩An+1∣⋮+(−1)n−1∣∣∣∣∣∣i=1⋂nAi∩An+1∣∣∣∣∣∣(4)
(3) から (4) を一項ずらして差を取ると、
∣∣∣∣∣∣i=1⋃nAi∣∣∣∣∣∣−∣∣∣∣∣∣i=1⋃nAi∣∣∣∣∣∣−∣∣∣∣∣∣i=1⋃nAi∩An+1∣∣∣∣∣∣=i=1∑n∣Ai∣−1≤i1<i2∑n∣Ai1∩Ai2∣−i1=1∑n∣Ai1∩An+1∣+1≤i1<i2<i3∑n∣Ai1∩Ai2∩Ai3∣+1≤i1<i2∑n∣Ai1∩Ai2∩An+1∣⋮+(−1)n−1I⊆[n], ∣I∣=n∑∣∣∣∣∣∣i∈I⋂Ai∣∣∣∣∣∣−(−1)n−2J⊆[n], ∣J∣=n−1∑∣∣∣∣∣∣j∈J⋂Aj∩An+1∣∣∣∣∣∣−(−1)n−1J⊆[n], ∣J∣=n∑∣∣∣∣∣∣j∈J⋂Aj∩An+1∣∣∣∣∣∣∣∣∣∣∣∣i=1⋃nAi∩An+1∣∣∣∣∣∣=i=1∑n∣Ai∣−1≤i1<i2∑n+1∣Ai1∩Ai2∣+1≤i1<i2<i3∑n+1∣Ai1∩Ai2∩Ai3∣⋮+(−1)n−1I⊆[n+1], ∣I∣=n∑∣∣∣∣∣∣i∈I⋂Ai∣∣∣∣∣∣+(−1)nI⊆[n+1], ∣I∣=n+1∑∣∣∣∣∣∣i∈I⋂Ai∣∣∣∣∣∣(5)
(2),(5) より、
∣∣∣∣∣∣i=1⋃nAi∣∣∣∣∣∣+∣An+1∣−∣∣∣∣∣∣i=1⋃nAi∩An+1∣∣∣∣∣∣=i=1∑n∣Ai∣+∣An+1∣−1≤i1<i2∑n+1∣Ai1∩Ai2∣+1≤i1<i2<i3∑n+1∣Ai1∩Ai2∩Ai3∣⋮+(−1)n−1I⊆[n+1], ∣I∣=n∑∣∣∣∣∣∣i∈I⋂Ai∣∣∣∣∣∣+(−1)nI⊆[n+1], ∣I∣=n+1∑n∣∣∣∣∣∣i∈I⋂Ai∣∣∣∣∣∣=i=1∑n+1∣Ai∣−1≤i1<i2∑n+1∣Ai1∩Ai2∣+1≤i1<i2<i3∑n+1∣Ai1∩Ai2∩Ai3∣⋮+(−1)n−1I⊆[n+1], ∣I∣=n∑∣∣∣∣∣∣i∈I⋂Ai∣∣∣∣∣∣+(−1)(n+1)−1I⊆[n+1], ∣I∣=n+1∑∣∣∣∣∣∣i∈I⋂Ai∣∣∣∣∣∣=k=1∑n+1⎣⎢⎡(−1)k−1I⊆[n+1], ∣I∣=k∑∣∣∣∣∣∣i∈I⋂Ai∣∣∣∣∣∣⎦⎥⎤(6)
(1),(6) から、数学的帰納法により、n つの有限集合からなる合併集合の要素数は次式より導かれる。
∴∣∣∣∣∣∣i=1⋃nAi∣∣∣∣∣∣=k=1∑n⎣⎢⎡(−1)k−1I⊆[n] ∣I∣=k∑∣∣∣∣∣∣i∈I⋂Ai∣∣∣∣∣∣⎦⎥⎤
関連記事