二重数え上げ

理論

$X, Y$ を有限集合とし、$R$ を $X\times Y$ の部分集合($X$ と $Y$ の間の二項関係)とする。

このとき、以下が成り立つ。

$$ \sum_{x\in X} \lvert \{y\in Y \mid (x,y) \in R\}\rvert = \sum_{y\in Y} \lvert \{x\in X \mid (x,y) \in R\}\rvert $$

左辺から右辺を考えるのは「$y$ の寄与を考える」とも言えそう。

double counting は典型的には $|X|>|Y|$ のときに左辺の代わりに右辺を求めるということが多い。

両辺は $\lvert R\rvert$ と等しい。

double counting の応用例

集合論

グラフ理論

整数論