onto函数
Abstract
onto 函数(满射函数,Surjection)是从定义域到到达域的函数,其值域恰好覆盖整个到达域(即到达域中每个元素都有至少一个原像)。利用容斥原理的补集形式,可以精确计算从 元集到 元集的 onto 函数个数,该结果与第二类 Stirling 数密切相关。
定义
onto 函数(满射函数)
设 为一个函数。若 的值域等于 ,即对每个 ,都存在 使得 ,则称 为 onto 函数(满射函数,surjection)。
等价表述: 是 onto 的当且仅当 中没有任何元素被”遗漏”在值域之外。
onto 函数计数定理(Theorem 1)
设 和 为正整数且 。则从 元集到 元集的 onto 函数共有 个。
与第二类 Stirling 数的关系
从 元集到 元集的 onto 函数数等于 ,其中 是第二类 Stirling 数。由此可反推 Stirling 数的闭式公式:
核心性质
| 编号 | 性质 | 公式 / 说明 |
|---|---|---|
| P1 | 计数公式 | |
| P2 | 存在条件 | 当 时,onto 函数数为 0(鸽巢原理) |
| P3 | 与 Stirling 数的关系 | onto 函数数 |
| P4 | 非 onto 函数数 | |
| P5 | 等价表述 | 是 onto 的 到达域中每个元素至少有一个原像 |
| P6 | 容斥原理思路 | 性质 为” 不在值域中”,onto 即不具有任何 |
关系网络
graph LR A[onto函数] B[容斥原理] C[函数] D[斯特林数] E[排列] F[组合] A -- "容斥原理推导计数公式" --> B A -- "函数的特殊类型" --> C A -- "onto函数数=n!·S(m,n)" --> D A -- "n!种标签排列" --> E A -- "组合数选子集" --> F B -- "补集形式" --> A D -- "闭式公式来源" --> A
章节扩展
- 容斥原理:onto 函数的计数公式是容斥原理补集形式的直接应用,性质 定义为”到达域元素 不在值域中”
- 函数:onto 函数是函数按映射覆盖性分类的重要类型
- 第二类 Stirling 数:onto 函数数 ,给出了Stirling 数的闭式公式
- 排列:对 个不可区分盒子赋予标签的 种方式涉及排列
- 组合:公式中的 涉及组合数——从 个到达域元素中选 个排除
补充
容斥原理证明思路
设到达域为 。定义性质 为” 不在函数的值域中”。一个函数是 onto 的当且仅当它不具有任何性质 。
- 总函数数 (每个自变量有 个选择)
- (值域中不含 ),共 项
- (值域中不含 和 ),共 项
- 一般地,,共 项
代入容斥原理的补集形式即得 onto 函数计数公式。
直觉解释与 Stirling 数的关系
将 个可区分的球放入 个不可区分的非空盒子有 种方式(第二类 Stirling 数),再对 个盒子赋予标签(排列)有 种方式,因此 onto 函数数 。
由此可以反推 Stirling 数的闭式公式: 这一公式在组合数学中极其重要,它将”将 个可区分的球放入 个不可区分的非空盒子”这个看似困难的计数问题,转化为一个可以直接计算的代数表达式。
计算示例
例1:从 6 元集到 3 元集的 onto 函数数
例2:工作分配问题——将 5 个不同的工作分配给 4 个不同的员工,要求每个员工至少分到一个工作