闲话 25.1.25
闲话
符号化方法更新辣!上次没说所以说一句。
以后再也不读法语文献了。让我一夜回到出生前。
那些你不要的:多元概率生成函数应用一例
抄自 D. Foata, B. Lass, and G.-N. Han, Les nombres hyperharmoniques et la fratrie du collectionneur de vignettes. Seminaire Lotharingien de Combinatoire 47, B47a (2001), 1–20. 前半部分。后半部分因为我没学过很厉害的数学或很高妙的法语,先咕了。
考虑一个赠券收集模型:有一名赠券收藏家,他的收集册中有 \(m\) 个位置,对应 \(m\) 种彼此不同的赠券。他可以无限次地均匀随机地抽取赠券,每次抽一张,目的是达到全收集。我们已经知道了全收集时其抽取次数的期望是 \(mH_m\),其中 \(H_n\) 为第 \(n\) 个调和数。
现在,模型发生了一些变化。收藏家是家中的大哥,他有 \(r\) 个弟弟,按年龄从大到小编号为 \(1, \dots, r\)。每个弟弟都都有一个和大哥一样的收集册,并在获得新贴纸的时候也会放进去。弟弟们的贴纸来源如下:每次大哥抽得一张新赠券时,他会把赠券放入自己的收集册,反之他会给年龄最大的弟弟;若后者没有这张赠券,他会把赠券放入自己的收集册,反之他会给年龄第二大的弟弟,以此类推。如果一张贴纸在大哥全收集前出现了超过 \(r\)(原文如此)次,它就会被扔掉。
设 \(T\) 为表示大哥完成全收集需要抽取的次数的随机变量,并设此时编号为 \(k\) 的弟弟的收集册中还有 \(M_T^{(k)}\) 个空位。下文将通过计算随机向量 \((T, M_T^{(1)}, M_T^{(2)}, \dots, M_T^{(r)})\) 的分布的表达式,推导出每个变量的分布情况,自然得到其数学期望。具体的手法是,引入一列(差分)随机变量 \(\{X_T^{(k)}\}_{k\ge 0}\),使得 \(\forall k \ge 1, M_T^{(k)} = X_T^{(1)} + \cdots + X_T^{(k)}\),来解决原问题。一种直接的启发是,对随机向量 \((T, X_T^{(1)}, X_T^{(2)}, \dots, X_T^{(r)})\) 建立多元生成函数,随后用线性性解决问题。
为分析这个问题,首先引入超调和数 \(K_m^{(k)}\),定义如下:
注意:\(\forall n \ge 1, K_n^{(1)} = H_n - 1\),以及 \(\forall k \ge 0, K_{2}^{(k)} = 2^{-k}\)。超调和数满足 \(K_m^{(k)}- \dfrac{K_{m}^{(k-1)}}m = K_{m - 1}^{(k)}\)。我们也可以推导出(过程见不务正业 21.)对 \(k\ge 0, m \ge 2\) 有
其中 \(m^{\overline n} = m(m + 1) \cdots (m + n - 1)\)(\(m^{\overline 0} = 1\))为上升幂。
考察超调和数的列生成函数
那么根据上方的式子,得到 \((1 - t/m) F_m(t) = F_{m - 1}(t)\),并 \(F_1(t) = 1\),得到
\(F_m\) 的形式有点眼熟啊!熟知次数为 \(d\) 的 \(n\) 变量完全齐次对称多项式定义为
那么不妨固定 \(n\) 个变量 \(x_1, \dots, x_n\),知道 \(h_d\) 中的每一项都是从 \(\{x_1^k\}_{k \ge 0}, \{x_2^k\}_{k \ge 0},\dots, \{x_n^k\}_{k \ge 0}\) 中分别选择一个,使得它们的幂之和为 \(d\),将它们乘起来得到的。故根据这个组合意义,得到 \(h_d\) 的生成函数为
而这个形式和 \(F_m(t)\) 相同,故将 \(1/2, 1/3, \dots, 1/m\) 带入 \(x_1, \dots, x_{m - 1}\) 得到 \(K_m^{(k)} = h_k(1/2, 1/3, \dots, 1/m)\)。虽然到目前为止我们仍然没有开始解决原问题,但你先别急。
尽管最初提到的模型是一个概率论模型,其仍然具有足够优秀的组合意义。事实上,其组合上可以视作计数特定的满射类。取定 \(n\),记 \([n] := \{1, 2, \dots, n\}\),并令 \(\mathrm{Surj}(l, m)\) 为所有从 \([l]\) 到 \([m]\) 的满射组成的集合。取 \(f \in \mathrm{Surj}(l, m)\),对 \(s\ge 1\),记 \(\nu_s(f)\) 为使 \(f^{-1}(i)\) 的基数为 \(s\) 的 \(i\) 的数量,即可以被 \(s\) 个 \([l]\) 中的元素映射到的 \([m]\) 中的元素的数量。取定一个由自然数组成的向量 \(\bm n = (n_1, n_2, \dots)\),令 \(\mathrm{Surj}(l, m; \bm n) = \{f \in \mathrm{Surj}(l, m) \mid \forall s > 0, \nu_s(f) = n_s\}\),并令 \(\mathrm{surj}(l, m, \bm n)\) 为 \(\mathrm{Surj}(l, m; \bm n)\) 的基数。
令 \(t, s_1, s_2, \dots\) 为一系列两两交换的形式变元。定义映射 \(f \in \mathrm{Surj}(m, l)\) 的权值为 \(\pi(f) := \prod_{k\ge 1} s_k^{\nu_k(f)}\),并有:\(\sum_i \nu_i(f) = m\),\(\sum_i i \nu_i(f) = l\)。那么据组合意义,固定 \(m\),自然能得到
引入 \(\mathrm{Surj}(l, m;\bm n)\) 的一个子集 \(A(l, m;\bm n)\),其由满足如下性质的 \(f\) 构成:\(f\) 在集合 \([l - 1]\) 上的子映射 \(f \rvert_{[l - 1]}\) 是由 \([l - 1]\) 到 \([m] \setminus\{f(l)\}\) 的满射,但不能是到 \([m]\) 的满射;即 \(\forall j < l, f(j) \neq f(l)\)。令 \(a(l, m; \bm n)\) 为 \(A(l, m; \bm n)\) 的基数。若 \(f \in A(l, m;\bm n)\),那么由于 \(l\) 一定对 \(\nu_1(f)\) 有 \(1\) 的贡献,\(\nu_1(f) \ge 1\),\(\pi(f)\) 可以被 \(s_1\) 整除;并取 \(g := f\rvert_{[l-1]}\),那么 \(\pi(f) = \pi(g) s_1\),且根据 \(f(l)\) 相对于 \(g\) 的值域中 \(m - 1\) 个元素的位置关系,可以得到
从而
不妨对所有 \(i > r\) 取 \(s_i = 1\),那么上式可以继续化为
接着使用多项式定理得到
考虑形式 Laplace 变换。令(形式)Laplace 算子为 \(\mathcal L\),其作用在形式变元 \(t\) 上的作用是将所有形如 \(a_n t^n / n!\) 的项替换为 \(a_nt^n\),即实现了指数生成函数到普通生成函数的变换。特别地,\(\mathcal L(t^n e^{at}) = n!t^n / (1 - at)^{1 + n}\)。对上面的等式链两侧施 Laplace 变换得到(格式影响,下面不写对 \(a,b,c_1,\dots\) 的限制)
到这里,我们已经获得所有需要的工具了。重新说明一下随机变量:令 \(T\) 为大哥全收集时间对应的随机变量,对 \(t = 0, 1, \dots\),令 \(X_t^{(0)}\) 为大哥在 \(t\) 时刻收集册的空缺数对应的随机变量,那么 \(X_0^{(0)} = m, X_T^{(0)} = 0\)。对 \(k = 1, 2, \dots\),令 \(X_n^{(k)}\) 为抽取 \(n\) 次贴纸后恰好出现 \(k\) 次的贴纸数量,那么显然地,\(\sum_k X_T^{(k)} = m\)。此外,第 \(k\) 个弟弟的集邮册在时刻 \(T\) 的空缺数为 \(M_T^{(k)} = X_T^{(1)} + X_{T}^{(2)} + \cdots + X_T^{(k)}\)。按照前面提到的思路,我们需要考察随机向量 \((T, X_T^{(1)}, X_T^{(2)}, \dots, X_T^{(r)})\)。
令 \(Y_1, Y_2, \dots \in [m]\) 为大哥每次得到的赠券的编号,根据模型得到 \(Y_n\) 在 \([m]\) 上独立地均匀随机分布。那么,大哥在 \(l\) 次抽取后完成全收集,且 \(\forall 1 \le k \le r\),\(l\) 次抽取后恰好出现 \(k\) 次的贴纸数为 \(n_k\),当且仅当 $ : [l] \to [m], i \mapsto Y_i$ 属于集合 \(A(l, m;\bm n)\)。前者可以表示为事件 \([T = l, X_T^{(1)} = n_1, \dots, X_T^{(r)} = n_r]\),后者的概率显然是 \(a(l, m;\bm n) / m^l\)。
因此,根据上面的结果,随机向量 \((T, X_T^{(1)}, X_T^{(2)}, \dots, X_T^{(r)})\) 的生成函数按下式给出:
用这个可以轻松算出 \(\mathbb E[T] = m H_m\)。当然,重要的是,我们一旦获得了 \(X_T^{(k)}\) 的概率生成函数,就能通过求导并带入 \(s_k = 1\) 得到期望值了。具体地,有
对 \(k\ge 2\),有
故
此外,对于 \(k\ge 2\),同样地有
综上,我们得到了 \(\mathbb E[T] = m H_m\),\(\mathbb E[M_T^{(1)}] = H_m\),\(\forall k \ge 2, \mathbb E[M_{T}^{(k)}] = 1 + K_m^{(1)} + \cdots + K_m^{(k)}\)。
例题...?
给定赠券数 \(n\),以及 \(m\),求 \(X_T^{(1)}\) 的前 \(m\) 阶矩。
\(n,m\le 3\times 10^5\)。
记 \(G_{X_T^{(1)}}\) 为 \(G\),那么 \(m\) 对应的答案就是 \([x^m/m!] G(e^x)\)。为此,我们只需要求得
而考虑(鱼鱼强大喵)
那么就能在 \(O(n \log^2 n)\) 的时间内算得 \(G(x + 1)\)。随后复合 \(e^x - 1\) 即可。总时间复杂度 \(O(n \log^2 n + m \log^2 m)\)。
希望能进一步得到加强。使用后向微分迭代列的另解 by fyyy
以下是博客签名,与正文无关。
请按如下方式引用此页:
本文作者 joke3579,原文链接:https://www.cnblogs.com/joke3579/p/-/chitchat250125。
遵循 CC BY-NC-SA 4.0 协议。
请读者尽量不要在评论区发布与博客内文完全无关的评论,视情况可能删除。

浙公网安备 33010602011771号