Производящая функция

Производящая функция
формальный степенной ряд вида G(z)=n=0anznG(z)=\sum\limits_{n=0}^\infty a_n z^n, порождающий (производящий) последовательность (a0,a1,a2,)(a_0, a_1, a_2, \ldots)
Введение:
Ввёл:
Леонард Эйлер
Когда введено:
1750-е
Отношения с другими понятиями:

Производящая функция (англ. generating function) — формальный степенной ряд вида G(z)=n=0anznG(z)=\sum\limits_{n=0}^\infty a_n z^n, порождающий (производящий) последовательность (a0,a1,a2,)(a_0, a_1, a_2, \ldots).

Метод производящих функций был разработан Эйлером в 1750-х годах. В общем случае производящая функция не обязана быть аналитической.

ПрименениеПравить

Производящая функция используется для:

  • Компактной записи информации о последовательности.
  • Нахождения зависимости an(n)a_n(n) для последовательности ana_n, заданной рекуррентным соотношением. Например, для чисел Фибоначчи.
  • Нахождения рекуррентного соотношения для последовательности — вид производящей функции может помочь найти формулу.
  • Исследования асимптотического поведения последовательности.
  • Доказательства тождеств с последовательностями.
  • Решения задачи подсчета объектов в комбинаторике. Например, в доказательстве пентагональной теоремы или в задаче нахождения количества расстановок mm ладей на доске n×nn \times n.
  • Вычисления бесконечных сумм.

Примеры производящих функцийПравить

Рассмотрим производящие функции для различных комбинаторных последовательностей:

  • n=1(1xn)\prod\limits_{ n = 1}^\infty(1-x^n) — производящая функция для разности количества разбиений числа nn в четное и нечетное число различных слагаемых. Например, коэффициент при x5x^5 равен +1+1, потому что существует два разбиения на четное число различных слагаемых (4+1;3+2)(4+1; 3+2) и одно на нечетное (55). Правильность этого легко осознать, если понять, что каждая скобка представляет какое-то слагаемое и мы можем его взять (второе слагаемое — xk-x^k) или не взять (первое — 11). Эта производящая функция используется в комбинаторном доказательстве пентагональной теоремы.
  • n=111xn \prod\limits_{n=1}^\infty \dfrac{1}{1-x^n} — производящая функция для последовательности pnp_n, где pip_i — число разбиений числа ii на слагаемые.
  • n=1(1+xn)\prod\limits_{ n = 1}^\infty(1+x^n) — производящая функция для последовательности dnd_n, где did_i — число разбиений на различные слагаемые.
  • n=1(1+x2n1)1\prod\limits_{n=1}^\infty(1+x^{ 2n - 1})^{-1} — производящая функция для последовательности lnl_n, где lil_i — число разбиений на нечётные слагаемые. С помощью метода производящих функций можно доказать, что производящие функции последовательностей равны, соответственно dn=lnd_n = l_n : n=1(1+xn)=n=11x2n1xn=1x21x1x41x21x61x3=\prod\limits_{n=1}^\infty(1+x^{ n})=\prod\limits_{n=1}^\infty \dfrac{1-x^{2n}}{1-x^n}=\dfrac{1-x^2}{1-x}\dfrac{1-x^4}{1-x^2}\dfrac{1-x^6}{1-x^3}\ldots=


=11x11x311x5=n=1(1+x2n1)1=\dfrac{1}{1-x}\dfrac{1}{1-x^3}\dfrac{1}{1-x^5}\ldots=\prod\limits_{n=1}^\infty(1+x^{ 2n - 1})^{-1}

Примеры решений задач методом производящих функцийПравить

=Править

Решение рекуррентных соотношенийПравить

Существует целый класс последовательностей, задаваемых рекуррентным соотношением, например, fnf_n — числа Фибоначчи или CnC_n числа Каталана. Метод производящих функций позволяет получить выражение для ana_n через номер элемента в последовательности в замкнутом виде, то есть в таком виде, что выражение можно вычислить, предполагая, что zz достаточно мало.

Пусть последовательность (a0,a1,a2,)(a_0, a_1, a_2, \ldots) удовлетворяет некоторому рекуррентному соотношению. Мы хотим получить выражение для ana_n (при n0n \geqslant 0) в замкнутом виде. Алгоритм получения замкнутого выражения для чисел ana_n, удовлетворяющих рекуррентному соотношению, с помощью производящих функций состоит из 4 шагов:

  1. Записать рекуррентное соотношение и начальные данные для него в следующем виде (если порядок соотношения равен kk, то есть количество предшествующих элементов, требуемых для вычисления элемента с номером nn, равно kk):
    a0=,a_0=\ldots,
    a1=,a_1=\ldots,
    \ldots
    ak1=,a_{k-1}=\ldots,
    an=,nk.a_{n}=\ldots, n \geqslant k.
  2. Домножить каждую строчку на zz в соответствующей степени и просуммировать строчки для всех n0n \geqslant 0 .
  3. В полученном уравнении привести все суммы к замкнутому виду. Получить уравнение для производящей функции.
  4. Выразить G(z)G(z) в явном виде (решить уравнение, полученное на предыдущем шаге) и разложить производящую функцию в ряд по степеням zz.

Для демонстрации универсальности метода рассмотрим довольно произвольное рекуррентное соотношение:

a0=1,a_0= 1,

a1=2,a_1= 2,

an=6an18an2+n,n2a_n= 6a_{ n - 1}-8a_{n-2}+n, n \geqslant 2

Запишем производящую функцию для этой последовательности и преобразуем правую часть:


G(z)=a0+a1z+n=2(6an18an2+n)znG(z)=a_0+a_1z+\sum\limits_{n=2}^\infty(6a_{ n - 1}-8a_{n-2}+n) z^n


G(z)=a0+a1z+6n=2an1zn8n=2an2zn+n=2nznG(z)=a_0+a_1z+6\sum\limits_{n=2}^\infty a_ { n-1}z^n - 8\sum\limits_{n=2}^\infty a_ { n-2}z^n+\sum\limits_{n=2}^\infty n z^n


G(z)=a0+a1z+6zn=1anzn8z2n=0anzn+n=2nznG(z)=a_0+a_1z+6z\sum\limits_{n=1}^\infty a_ { n }z^n - 8z^2\sum\limits_{n=0}^\infty a_ { n }z^n+\sum\limits_{n=2}^\infty n z^n


G(z)=a0+a1z+6z(G(z)a0)8z2G(z)+n=2nznG(z)=a_0+a_1z+6z(G(z)-a_0) - 8z^2G(z)+\sum\limits_{n=2}^\infty n z^n


G(z)=14z+6zG(z)8z2G(z)+n=2nznG(z)=1-4z+6zG(z) - 8z^2G(z)+\sum\limits_{n=2}^\infty n z^n


Для того, чтобы замкнуть последнюю сумму воспользуемся очень важным приемом, который используется при преобразовании производящих функций. Фактически мы имеем дело с последовательностью nbnnb_n (в нашем случае последовательность bn=(1,1,1,)b_n= (1, 1, 1, \ldots)). Такая последовательность получается путём дифференцирования функции B(z)B(z), производящей для bnb_n, с последующим умножением результата на zz:


zB(z)=z(n=0bnzn)=zn=1nbnzn1=n=0nbnznzB'(z)=z(\sum\limits_{n=0}^\infty b_n z^n)'=z\sum\limits_{ n = 1}^\infty nb_n z^{n-1}=\sum\limits_{n=0}^\infty nb_n z^n


Тогда замкнем последнее слагаемое следующим образом:


n=2nzn=zn=2nzn1=z(n=2zn)\sum\limits_{n=2}^\infty n z^n=z \sum\limits_{n=2}^\infty n z^{n-1}= z(\sum\limits_{ n = 2}^\infty z^n)'


n=2zn=n=0zn1z=11z1z=z21z\sum\limits_{n=2}^\infty z^n=\sum\limits_{n=0}^\infty z^n-1-z=\dfrac{1}{1-z}-1-z=\dfrac{z^2}{1-z}


z(z21z)=z2(2z)(1z)2z(\dfrac{ z ^ 2}{1-z})'=\dfrac{z^2(2-z)}{(1-z)^2}


Таким образом, наше последнее слагаемое примет вид:


G(z)=14z+6zG(z)8z2G(z)+z2(2z)(1z)2G(z)=1-4z+6zG(z) - 8z^2G(z)+\dfrac{z^2(2-z)}{(1-z)^2}


Это уравнение для производящей функции. Из него выражаем G(z)G(z):


G(z)=16z+11z25z3(16z+8z2)(1z)2G(z)=\dfrac{1-6z+11z^2-5z^3}{(1-6z+8z^2)(1-z)^2}


Разложим знаменатель на множители и разобьём дробь на сумму простых дробей [1]:

G(z)=16z+11z25z3(16z+8z2)(1z)2=16z+11z25z3(12z)(14z)(1z)2=1/3(1z)2+7/91z1/212z+7/1814z G(z) =\dfrac{1-6z+11z^2-5z^3}{(1-6z+8z^2)(1-z)^2}=\dfrac{1-6z+11z^2-5z^3}{(1-2z)(1-4z)(1-z)^2}=\dfrac{1/3}{(1-z)^2}+\dfrac{7/9}{1-z}-\dfrac{1/2}{1-2z}+\dfrac{7/18}{1-4z}

Разложим первое слагаемое в ряд, используя расширенные биномиальные коэффициенты [2]:


1(1z)2=(1z)2=n=0(2n)(z)n=n=0(1)n(n+11)(z)n=n=0(n+1)zn\dfrac{ 1}{(1-z)^2}=(1-z)^{-2}=\sum\limits_{n=0}^{\infty} {-2\choose n}(-z)^n=\sum\limits_{n=0}^{\infty} (-1)^n{n+1\choose 1}(-z)^n=\sum\limits_{n=0}^{\infty}(n+1)z^n


G(z)=1/3(1z)2+7/91z1/212z+7/1814z=13n=0(n+1)zn+79n=0zn12n=02nzn+718n=04nznG(z)=\dfrac{1/3}{(1-z)^2}+\dfrac{7/9}{1-z}-\dfrac{1/2}{1-2z}+\dfrac{7/18}{1-4z}=\dfrac{1}{3}\sum\limits_{n=0}^{\infty} (n+1)z^n +\dfrac{7}{9}\sum\limits_{n=0}^{\infty} z^n - \dfrac{1}{2}\sum\limits_{n=0}^{\infty} 2^n z^n + \dfrac{7}{18}\sum\limits_{n=0}^{\infty} 4^n z^n


an=n+13+792n2+74n18=74n+6n+20182n1a_n=\dfrac{n+1}{3}+\dfrac{7}{9}-\dfrac{2^n}{2}+\dfrac{7 \cdot 4^n}{18}=\dfrac{7 \cdot 4^n+6n+20}{18}-2^{n-1}

Расчет дисперсии геометрического распределенияПравить

Метод производящих функций также используется для нахождения математического ожидания и дисперсии различных распределений в теории вероятностей. Например, в геометрическом распределении [3] для нахождения дисперсии D(ξ)=E(ξ2)(E(ξ))2\operatorname{D}(\xi)=\operatorname{E}(\xi^2)-(\operatorname{E}(\xi))^2 нужно найти два мат. ожидания:


  • E(ξ)=n=1np(1p)n1\operatorname{E}(\xi)=\sum\limits_{n=1}^{\infty}n p(1-p)^{n-1}


  • E(ξ2)=n=1n2p(1p)n1\operatorname{E}(\xi^2) = \sum\limits_{n=1}^{\infty}n^{2}p(1-p)^{n-1}


которые фактически являются производящими функциями последовательностей 1,2,31, 2, 3\ldots и 1,4,91, 4, 9\ldots:


  • E(ξ)=n=1np(1p)n1=\operatorname{ E}(\xi)=\sum\limits_{n=1}^{\infty}n p(1-p)^{n-1} =

=n=0(n+1)p(1p)n== \sum\limits_{n=0}^{\infty}(n+1) p(1-p)^{n} =

=n=0np(1p)n+n=1p(1p)n1== \sum\limits_{n=0}^{\infty}n p(1-p)^{n} + \sum\limits_{n=1}^{\infty} p(1-p)^{n-1} =

=(1p)E(ξ)+1E(ξ)=1p= (1-p) \operatorname{E}(\xi) +1 \Rightarrow \operatorname{E}(\xi) = \dfrac{1}{p}


  • E(ξ2)=pn=1n2(1p)n1=\operatorname{E}(\xi^2) = p\sum\limits_{n=1}^{\infty}n^{2}(1-p)^{n-1} =

=pn=1n(n+1)(1p)n1pn=1n(1p)n1==p\sum\limits_{n=1}^{\infty}n(n+1)(1-p)^{n-1} - p\sum\limits_{n=1}^{\infty}n(1-p)^{n-1} =

=pd2dp2n=1(1p)n+1+pddpn=1(1p)n== p\dfrac{\operatorname{d}^{2}}{\operatorname{d}p^{2}}\sum\limits_{n=1}^{\infty}(1-p)^{n+1} + p\dfrac{\operatorname{d}}{\operatorname{d}p}\sum\limits_{n=1}^{\infty}(1-p)^{n} =

=pd2dp2(n=0(1p)n(1p)2)+pddp(n=0(1p)n(1p))== p\dfrac{\operatorname{d}^{2}}{\operatorname{d}p^{2}}\left(\sum\limits_{ n = 0}^{\infty}(1-p)^{n} \cdot(1-p)^2\right) +p\dfrac{\operatorname{d}}{\operatorname{d}p}\left(\sum\limits_{ n = 0}^{\infty}(1-p)^{n}\cdot(1-p)\right) =

=pd2dp2(11(1p)(1p)2)+pddp(11(1p)(1p))== p\dfrac{\operatorname{d}^{2}}{\operatorname{d}p^{2}}\left(\dfrac{ 1}{1-(1-p)} \cdot(1-p)^2\right) +p\dfrac{\operatorname{d}}{\operatorname{d}p}\left(\dfrac{ 1}{1-(1-p)}\cdot(1-p)\right) =

=pd2dp2((1p)2p)+pddp(1pp)== p\dfrac{\operatorname{d}^{2}}{\operatorname{d}p^{2}}\left(\dfrac{ (1 - p) ^ 2}{p}\right) +p\dfrac{\operatorname{d}}{\operatorname{d}p}\left(\dfrac{ 1 - p}{p}\right) =

=p2p3p1p2=2p21p=2pp2= p\cdot\dfrac{2}{p^3} - p\cdot\dfrac{1}{p^2} = \dfrac{2}{p^{2}} - \dfrac{1}{p} = \dfrac{2-p}{p^{2}}.

Тогда:

D(ξ)=E(ξ2)(E(ξ))2=2pp21p2=1pp2\operatorname{D}(\xi)=\operatorname{E}(\xi^2)-(\operatorname{E}(\xi))^2= \dfrac{2-p}{p^{2}}-\dfrac{1}{p^2}=\dfrac{1-p}{p^2}

Пример задачи на нахождение производящей функцииПравить

Шаблон:Задача Заметим, что для того, чтобы закончить путь в 00, необходимо совершить равное число шагов вправо и влево. Тогда задача сводится к тому, чтобы выбрать n2\dfrac{n}{2} позиций для, например, шагов вправо из всего nn шагов. Тогда ответом будет сумма от нуля до бесконечности по nn всех C2nnC^{n}_{2n}. То есть: g(x)=0C2nnxng(x) = \sum\limits_{0}^{\infty} C^{n}_{2n} x^n Рассмотрим f(x)=0Cnxnf(x) = \sum\limits_{0}^{\infty} C_n x^n , где CnC_n число Каталана. Тогда, заметим что f(x)=0nCnxn1f'(x) = \sum\limits_{0}^{\infty} n C_n x^{n-1} . Так как Cn=1n+1C2nnC_n = \dfrac{1}{n+1} C_{2n}^n , то справедливо равенство: g(x)=(n+1)f(x)=xf(x)+f(x)g(x) = (n+1)f(x) = xf'(x) + f(x)

Мы знаем, что производящая функция для чисел Каталана равна f(x)=114x2xf(x) = \dfrac{1-\sqrt{1-4x}}{2x}. Найдем f(x)f'(x).

f(x)=4x14x2+214x4x2=12x14x2x214xf'(x) = \dfrac{\dfrac{4x}{\sqrt{1-4x}} - 2 + 2\sqrt{1-4x}}{4x^2} = \dfrac{1 - 2x - \sqrt{1-4x}}{2x^2 \sqrt{1-4x}}

Соответственно, ответом будет производящая функция вида:

g(x)=12x14x2x14x+114x2x=114xg(x) = \dfrac{1 - 2x - \sqrt{1-4x}}{2x \sqrt{1-4x}} + \dfrac{1-\sqrt{1-4x}}{2x} = \dfrac{1}{\sqrt{1 - 4x}}

Шаблон:Задача

Заметим, что задача аналогична Правильной скобочной последовательности. Тогда производящей функцией для нашей задачи будет производящая функция для правильной скобочной последовательности, а именно:

g(x)=114x2xg(x) = \dfrac{1-\sqrt{1-4x}}{2x}

ПриложенияПравить

Примеры простых производящих функцийПравить

На последнем шаге приведения производящей функции к замкнутому виду требуется разложить полученные слагаемые в ряд. Для этого можно воспользоваться таблицей основных производящих функций [4].

Все суммы выполняются по переменной nn от 00 до \infty. Элементы последовательности нумеруются от 00.

Последовательность Производящая функция в виде ряда Производящая функция в замкнутом виде
(1,0,0,)(1, 0, 0,\ldots) 11 11
(0,0,,0,1,0,0)(0, 0, \ldots, 0, 1, 0, 0\ldots) (mm нулей в начале) zmz^m zmz^m
(1,1,1,)(1, 1, 1,\ldots) zn\sum\limits z^n 11z\dfrac{1}{1-z}
(1,0,0,,0,1,0,0,0,1,0,0)(1, 0, 0, \ldots, 0, 1, 0, 0, \ldots 0, 1, 0, 0\ldots) (повторяется через mm) znm\sum\limits z^{nm} 11zm\dfrac{1}{1-z^m}
(1,1,1,1,)(1, -1, 1, -1,\ldots) (1)nzn\sum\limits (-1)^nz^n 11+z\dfrac{1}{1+z}
(1,2,3,4,)(1, 2, 3, 4,\ldots) (n+1)zn\sum\limits (n+1)z^n 1(1z)2\dfrac{1}{(1-z)^2}
(1,2,4,8,16,)(1, 2, 4, 8, 16,\ldots) 2nzn\sum\limits 2^nz^n 1(12z)\dfrac{1}{(1-2z)}
(1,r,r2,r3,)(1, r, r^2, r^3,\ldots) rnzn\sum\limits r^nz^n 1(1rz)\dfrac{1}{(1-rz)}
(((m0),(m1),(m2),(m3),{m\choose 0}, {m\choose 1}, {m\choose 2}, {m\choose 3},\ldots)) (mn)\sum\limits {m\choose n} znz^n (1+z)m(1+z)^m
((1,(mm),(m+1m),(m+2m),1, {{m}\choose m}, {{m+1}\choose m}, {{m+2}\choose m},\ldots)) (m+n1n)\sum\limits {{m+n-1}\choose n} znz^n 1(1z)m\dfrac{1}{(1-z)^m}
((1,(m+1m),(m+2m),(m+3m),1, {{m+1}\choose m}, {{m+2}\choose m}, {{m+3}\choose m},\ldots)) (m+nn)\sum\limits {{m+n}\choose n} znz^n 1(1z)m+1\dfrac{1}{(1-z)^{m+1}}
(0,1,12,13,14,)(0, 1, -\dfrac{1}{2}, \dfrac{1}{3}, -\dfrac{1}{4},\ldots) (1)n+1n\sum\limits \dfrac{(-1)^{n+1}}{n} znz^n ln(1+z)\ln(1+z)
(1,1,12,16,124,)(1, 1, \dfrac{1}{2}, \dfrac{1}{6}, \dfrac{1}{24},\ldots) 1n!\sum\limits \dfrac{1}{n!} znz^n eze^z
(1,12!m2,14!m4,16!m6,18!m8,)(1, -\dfrac{1}{2!}m^2, \dfrac{1}{4!}m^4, -\dfrac{1}{6!}m^6, \dfrac{1}{8!}m^8,\ldots) 1(2n)!\sum\limits \dfrac{1}{(2n)!} m(2n)m^{(2n)} cosm\cos m
(m,13!m3,15!m5,17!m7,19!m9,)(m, -\dfrac{1}{3!}m^3, \dfrac{1}{5!}m^5, -\dfrac{1}{7!}m^7, \dfrac{1}{9!}m^9,\ldots) 1(2n1)!\sum\limits \dfrac{1}{(2n-1)!} m(2n1)m^{(2n-1)} sinm\sin m

См. такжеПравить

ПримечанияПравить

Источники информацииПравить

ПримечанияПравить

АРыбников ARybnikov (обсуждение) 20:33, 23 декабря 2021 (UTC)