zoukankan      html  css  js  c++  java
  • 【读书笔记】排列研究逆序对

    生成函数

    image-20200806162013788

    举例,比如\(n=3\)

    排列有123,132,213,231,312,321

    逆序对数分别是0,1,1,2,2,3

    \[x^0+x^1+x^1+x^2+x^2+x^3=(1+x)(1+x+x^2) \]

    课本给出的一个简单的证明是使用数学归纳法:

    \(n=2\)时,当然\(1+x\)

    如果对\(n-1\)成立的话,那么考虑n-1排列的\(n\)个位置插入元素\(n\),分别会使逆序对数+0,+1,+2,+3,...,+(n-1)。这就解释了GF又乘上\(1+x+...+x^{n-1}\)

    \(b(n,k)\)\(I_n(x)\)\(x^k\)前的系数,也是长度为\(n\)且逆序对数为\(k\)的排列的个数

    一开始的一些值

    image-20200806163414658
    http://oeis.org/A008302

    递归方程

    image-20200806162829989

    此递归方程的适用条件是\(n\geq k\)

    证明是说考察n+1-排列的最后一个元素:

    如果是\(n+1\),那么\(n+1\)在的数对不贡献,

    所以【n+1-排列且k个逆序对,with最后一个元素是\(n+1\)】的数目和【n-排列且k个逆序对】构成bijection(变换只是末尾删/增\(n+1\)),数目相等。


    如果不是\(n+1\)\(n+1\)在前n个数里。把\(n+1\)和紧跟其后的元素交换,逆序对数目会减少1,这样得到的新的n+1-排列与原来的n+1-排列构成bijection,数目自然一致。

    操作后的序列是【n+1-排列且k-1个逆序对,with第一个元素不是\(n+1\)】,按理来说我们应该算这种序列有多少个。但是如果强加上\(n\geq k\),这样【n+1-排列且k-1个逆序对】的第一个元素肯定不能是\(n+1\)了,改为数数【n+1-排列且k-1个逆序对】

    于是,【n+1-排列且k个逆序对,with最后一个元素不是\(n+1\)】的数目和【n+1-排列且k-1个逆序对】数目相等。

    递归方程-续

    1. Let \(n<k \leq\left(\begin{array}{l}n \\ 2\end{array}\right)\). Prove that

    \[b(n+1, k)=b(n+1, k-1)+b b(n, k)-b(n, k-n-1) \]

    吐槽一下这个抽风印刷,另一个地方tu ple 还分开写。。。。

    由生成函数找\(b(n,k)\)的显式表达式

    Explicit formula

    直接出击,由生成函数的形式联想到有限制的把\(k\)分解成\(n-1\)部分的compositon

    \[\begin{array}{ll} b(n, 0)=1=\left(\begin{array}{c} n \\ 0 \end{array}\right) \\ b(n, 1)=n-1=\left(\begin{array}{c} n \\ 1 \end{array}\right)-\left(\begin{array}{c} n \\ 0 \end{array}\right) & n \geq 1 \\ b(n, 2)=\left(\begin{array}{c} n \\ 2 \end{array}\right)-\left(\begin{array}{c} n \\ 0 \end{array}\right), & n \geq 2 \\ b(n, 3)=\left(\begin{array}{c} n+1 \\ 3 \end{array}\right)-\left(\begin{array}{c} n \\ 1 \end{array}\right) & n \geq 3 \\ b(n, 4)=\left(\begin{array}{c} n+2 \\ 4 \end{array}\right)-\left(\begin{array}{c} n+1 \\ 2 \end{array}\right) & n \geq 4 \\ b(n, 5)=\left(\begin{array}{c} n+3 \\ 5 \end{array}\right)-\left(\begin{array}{c} n+2 \\ 3 \end{array}\right)+1 & n\geq 5 \end{array} \]

    然后就猜啊这个\(b(n,k)\)的形式是不是就是简单的组合数正负交错和的形式啊?

    答案是否定的,形式比我们想的还要复杂一点

    image-20200806171752322

    五边形数是啥意思啊,是\(\frac{1}{2}\left(3 j^{2} \pm j\right)\)的形式

    image-20200806172006480

    书里所给证明的思路

    书里给出的证明是说先证明这个 Euler's formula

    \[\begin{aligned} f(x)=(1-x)\left(1-x^{2}\right)\left(1-x^{3}\right) \cdots &=1-x-x^{2}+x^{5}+x^{7}-x^{12}-\cdots \\ &=\sum_{j>-\infty}^{\infty}(-1)^{j} x^{\left(3 j^{2}+j\right) / 2} \end{aligned} \]

    然后因为研究的GF可以写成这样的形式

    \[I_{n}(x)=\prod_{i=1}^{n}\left(1+x+\cdots x^{i-1}\right)=\prod_{i=1}^{n} \frac{1-x^{i}}{1-x} \]

    所以

    \[f(x) \cdot(1-x)^{-n}=f(x) \cdot \sum_{h \geq 0}\left(\begin{array}{c} n+h-1 \\ h \end{array}\right) x^{h}=I_n(x) \]

    \[\sum_{j>-\infty}^{\infty}(-1)^{j} x^{\left(3 j^{2}+j\right) / 2}\cdot \sum_{h \geq 0}\left(\begin{array}{c} n+h-1 \\ h \end{array}\right) x^{h}=I_n(x) \]

    比对可知\(b(n,k)\)(即\(I_n(x)\)\(x^k\)项系数)有这样的形式

    \[b(n, k)=\sum_{j}(-1)^{j}\left(\begin{array}{c} n+k-d_{j}-1 \\ k-d_{j} \end{array}\right) \]

    major index

    说一个排列的逆序对数还可能由其他的看起来的很不相关的统计推导出来

    定义一个排列的major index是所有的降位的下标和

    举例一个排列是352461,那么它的降位置集是[2,5],因此,此排列的major index是7

    值得注意的是,只是说分布是一样的,一个permutation的逆序对数和major index不一定相等

    image-20200806172521454我都呆了我都,这为啥也能相等啊。。。。。1916年说它们数目一样,到1968年才找到bijection.证明太长了这里不放了
    找到构造的那篇论文地址

    联系行列式很是典型的那种定义

    \[\operatorname{det} A_{i j}=\sum_{q}(-1)^{i(q)}{a_{1 q_{1}}} a_{2 q_{2}} a_{3 q_{3}} \cdots a_{n q_{n}} \]

    联系二分图的完美匹配

    先空着

    多重集构成的排列的逆序对




    资料来自网络

    书用的是Combinatorics of permutations by Miklos Bona

  • 相关阅读:
    实例属性 类属性 实例域 类域
    研究数据集
    static 静态域 类域 静态方法 工厂方法 he use of the static keyword to create fields and methods that belong to the class, rather than to an instance of the class 非访问修饰符
    accessor mothod mutator mothod 更改器方法 访问器方法 类的方法可以访问类的任何一个对象的私有域!
    上钻 下钻 切片 转轴 降采样
    识别会话
    Performance Tuning Using Linux Process Management Commands
    Secure Hash Algorithm 3
    grouped differently across partitions
    spark 划分stage Wide vs Narrow Dependencies 窄依赖 宽依赖 解析 作业 job stage 阶段 RDD有向无环图拆分 任务 Task 网络传输和计算开销 任务集 taskset
  • 原文地址:https://www.cnblogs.com/yhm138/p/13447755.html
Copyright © 2011-2022 走看看