• 浅谈生成函数推导斐波那契数列以及特征函数


    浅谈生成函数推导斐波那契数列以及特征函数

    一次数学课,尊敬的Mr.ZHU与L先生提出了一个叫做特征函数的东西,作为前竞赛生的Marcelo Jin 一惊,这不正是生成函数的化简版嘛,于是他决定,周日的时候再来好好回顾一下这个有趣的算法。

    一.关于生成函数

    1.数列的多项式表示法

    对于一个数列(a_n),我们可以利用一个多项式来表示它,即(A(x)=Sigma a_i x^i)

    举个例子,对于数列(a_n=n),它的多项式表示法就是(A(x)=x+2x^2+3x^3+...)

    这里的多项式是形式幂级数,也就是变量只是一个符号,我们不关心它取值带来的影响,只关心它所携带的信息。

    因为本篇着眼于文化课上的生成函数应用,所以暂且不提指数型生成函数

    2.生成函数的封闭形式

    再举个例子,对于序列(<1,1,1,1...>),它的生成函数要写成一个多项式的形式,十分不直观,我们可以考虑把它的生成函数写成一个封闭的形式。

    这里,分享两个方法。

    设该数列的生成函数为(A(x))

    Solution 1:

    根据我们小学就学过的等比数列求和公式,
    ( A(x)=frac{x^n-1}{x-1} )

    所以(lim_{n ightarrow+infty} A(x)=frac{1}{1-x})

    Solution 2:

    (A(x)⋅x+1=A(x))

    (So) (we) (have) (A(x)=frac{1}{1-x})

    推广一下,又有
    (frac{1}{1-kx}=1+kx+k^2x^2+k^3x^3...)

    也就是说,生成函数为(frac{1}{1-kx})的数列的通项公式为(a_n=k^n)

    3.生成函数的应用

    生成函数一般有两个用途

    1.对于给定的递推公式,求其通项公式

    2.解决一些计数类问题

    二.斐波那契数列通项公式的推导

    我们设斐波那契数列的通项公式为(f_n),设其生成函数为(F(x)),那么

    ( F(x)=Sigma{f_ix^i}=f_1x+ Sigma_{igeq2}{f_ix^i} )

    ( =x+Sigma_{igeq2}(f_{i-2}+f_{i-1})x^i )

    ( =x+x^2Sigma_{igeq2}f_{i-2}x^{i-2}+xSigma_{igeq2}f_{i-1}x^{i-1} )

    ( =x+x^2F(x)+xF(x) )

    所以,(F(x)=frac{x}{1-x-x^2})
    可用待定系数法分解为:

    (F(x)=frac{1}{sqrt5}((frac{1}{1-frac{1+sqrt5}{2}x})-(frac{1}{1-frac{1-sqrt5}{2}x})))
    根据之前的结论,(f_n=frac{1}{sqrt5}((frac{1+sqrt5}{2})^n-(frac{1-sqrt5}{2})^n))

    三.关于特征函数

    神·朱老师说,对于一个递推式(a_n=a_{n-1}+a_{n-2}),可以写成(x^2=x+1)的形式,或者再都降个次,也就是(x=1+frac{1}{x})的形式,我们再观察上面的(F(x)),发现互为倒数,也就是说特征函数可以由生成函数来推导。

  • 相关阅读:
    将指定目录的所有文件及文件夹copy到指定目录下,只copy 7天内创建的或是7天内修改过的
    修复置疑态状态的数据库 重建数据库日志
    修改MYSQL最大连接数的3种方法
    [转载]RRDTool 中文手册简易入门(二)
    [转载]RRDTool 快速学习思维导图
    sql server 2008 新功能创建压缩表和索引
    分析src=http://s.see9.us/s.js>亦或3b3.org注入攻击及解决方案探讨....
    创建login帐号及为其添加安全权限
    计数排序 Counting Sort
    基数排序 Radix sort
  • 原文地址:https://www.cnblogs.com/Marcelo/p/15490315.html
Copyright © 2020-2023  润新知