[关闭]
@qiutaohanse 2018-04-08T03:19:26.000000Z 字数 2049 阅读 261

组合数学中的遭遇数(rencontre numbers)与子阶乘(subfactorial)

组合 遭遇数 子阶乘


参考wiki上的说明:
https://en.wikipedia.org/wiki/Rencontres_numbers
http://oeis.org/wiki/Rencontres_numbers
这两个网页里都没给证明,很多东西莫名其妙,但手头上又没有组合数学的书,于是就自己推了一遍

碰到这个点是因为看论文时里面的定理证明需要,定理来自于:KDD,2011, On the Privacy of Anonymized Networks

问题:对于个数,还有n个位置,正确的情况是这n个数与对应的n个位置一一对应,如1和第一个位置对应,2和第二个位置对应等等。现在需要知道,假如摆对位置(也就是置换permutation,将置换理解成一一对应即可)的数只有个,其他全部摆错的情况下总共有多少种可能的摆放组合方式,记为,这个数就称之为遭遇数。

计算方式:
我们认为,此外,可知,这是因为总共就一个数,一个位置,那么自然不可能出现摆错的情况。仍然以(即所有数的位置都摆错了)为例,可以得出一个递归的表达式。这个式子可以这样理解:有一个数摆错了,此时可能的错位置有n+1种,对于剩下的n+1个数,有两种情况,假设数1摆到了位置3上,那么数3有两种情况,第一种是数3正好摆到了位置1上,此时就对应,第二种是数3不在位置1上,那么错的位置有种,在下一次计算时3可以等价地看成1(因为和1一样不能放在位置1上),此时就对应
注:是合理的,因为显然等于1,那么根据递归式子计算可以得出

上面说的是时的情况,对于,可以得出。可以看出,关键仍然是如何计算(也就是子阶乘的表达式)。首先,考虑之间的关系。可以自然的得到第一个等式。接下来考虑一个问题,是否存在一个,使得对于任一的恒成立呢?一旦存在,也就是存在某些可能通过递归式子计算出子阶乘的表达式。

假设存在,那么可以推出以下式子:


又因为,两式相减可得

因为,所以

所以,存在使得对于任一的恒成立。
进一步,因为,所以



由这个递归式子可以继续推导,

可以发现,最终形式极为简单,也就是说,,代入后可得出下式:

接下来的目标是计算,也就是子阶乘的表达式,这个较为简单:


进一步的关于子阶乘的一些基本内容也很容易证得,比如和欧拉常数的关系,由函数级数相关的知识可知,令,则

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注