鸽巢原理 vs 容斥原理

概述

鸽巢原理(Pigeonhole Principle)和容斥原理(Inclusion-Exclusion Principle)是组合数学中两个基本但用途不同的计数工具。鸽巢原理是存在性定理——它证明某种情况必然存在,但不构造具体解。容斥原理是精确计数工具——它精确计算多个集合并集的元素个数,通过”先包含后排斥”消除重复计数。

定义

鸽巢原理

个物体放入 个盒子中,则至少有一个盒子包含至少 个物体。简单形式: 个物体放入 个盒子,至少一个盒子有 个物体。本质是”从较大集合到较小集合的函数不是单射”。

容斥原理

个有限集 核心思想:先”包含”所有集合的大小,再”排斥”交集部分,交替进行消除重复计数。

对比维度

维度鸽巢原理容斥原理
性质存在性定理精确计数工具
输出”至少存在一个…”精确的数值
核心思想物体多于盒子,必有重叠先加后减,交替修正
构造性非构造性(不指出具体哪个)构造性(给出精确计算方法)
计算复杂度(只需比较数量)(需计算所有子集的交集)
关键技巧如何构造”盒子”(分类方式)如何计算交集大小
退化情况集合不相交时退化为加法法则
典型应用生日问题、整除性证明错排问题、onto 函数计数、欧拉函数
与函数关系非单射的等价表述与集合运算密切相关

关键区别

  • 鸽巢原理只回答”是否存在”,不回答”有多少”或”是哪个”;容斥原理给出精确的计数结果
  • 鸽巢原理的计算极其简单(只需比较 ),容斥原理的计算可能很复杂( 个交集项)
  • 鸽巢原理的关键在于如何巧妙地构造”盒子”,容斥原理的关键在于如何计算各项交集的大小
  • 鸽巢原理与函数的单射性密切相关,容斥原理是加法法则在有重叠时的推广
  • 鸽巢原理的结论 是最优的(紧的),容斥原理的公式是精确等式

联系

  • 二者都是组合数学的基本工具,但解决的问题类型不同
  • 鸽巢原理是拉姆齐理论的最简单特例,容斥原理是加法法则在有重叠时的推广
  • 在概率论中,鸽巢原理用于证明某些事件概率为 1,容斥原理用于计算事件并集的精确概率
  • 二者可以结合使用:先用容斥原理计算集合大小,再用鸽巢原理推导存在性结论
  • 鸽巢原理出现在第6章6.2节,容斥原理出现在第8章8.5节,分别属于基础计数和高级计数

参见