Производящая функция — различия между версиями
Antonkov (обсуждение | вклад) |
Antonkov (обсуждение | вклад) |
||
Строка 3: | Строка 3: | ||
|definition= | |definition= | ||
'''Производя́щая фу́нкция (generating function)''' — это формальный степенной ряд: | '''Производя́щая фу́нкция (generating function)''' — это формальный степенной ряд: | ||
− | <tex>G(z)=\sum_{n=0}^\infty a_n z^n</tex> | + | <tex>G(z)=\sum_{n=0}^\infty a_n z^n</tex>, |
− | порождающий (производящий) последовательность <tex>(a_0, a_1, a_2, ...)</tex> | + | порождающий (производящий) последовательность <tex>(a_0, a_1, a_2, ...)</tex>. |
}} | }} | ||
== Применение == | == Применение == | ||
Производящая функция используется: | Производящая функция используется: | ||
− | * Нахождение зависимости <tex>a_n(n)</tex> для последовательности <tex>a_n</tex>, заданной | + | * Нахождение зависимости <tex>a_n(n)</tex> для последовательности <tex>a_n</tex>, заданной рекуррентным соотношением. Например для чисел Фибоначчи. |
* Исследование асимптотического поведения последовательности. | * Исследование асимптотического поведения последовательности. | ||
* Доказательство тождеств с последовательностями | * Доказательство тождеств с последовательностями | ||
Строка 36: | Строка 36: | ||
− | <tex>G(z)=a_0+a_1z+6z(G(z)-a_0) - 8z^2G(z) | + | <tex>G(z)=a_0+a_1z+6z(G(z)-a_0) - 8z^2G(z)+\sum_{n=2}^\infty n z^n</tex> |
− | <tex>G(z)=1-4z+6zG(z) - 8z^2G(z) | + | <tex>G(z)=1-4z+6zG(z) - 8z^2G(z)+\sum_{n=2}^\infty n z^n</tex> |
Строка 58: | Строка 58: | ||
<tex>z (\frac{z^2}{1-z})'=\frac{z^2(2-z)}{(1-z)^2}</tex> | <tex>z (\frac{z^2}{1-z})'=\frac{z^2(2-z)}{(1-z)^2}</tex> | ||
+ | |||
+ | |||
+ | Таким образом наше последнее слагаемое примет вид: | ||
+ | |||
+ | |||
+ | <tex>G(z)=1-4z+6zG(z) - 8z^2G(z)+\frac{z^2(2-z)}{(1-z)^2}</tex> | ||
+ | |||
+ | |||
+ | Это уравнение для производящей функции. Из него выражаем <tex>G(z)</tex>: | ||
+ | |||
+ | |||
+ | <tex>G(z)=\frac{1-6z+11z^2-5z^3}{(1-6z+8z^2)(1-z)^2}</tex> | ||
Версия 23:44, 11 декабря 2011
Содержание
Производящая функция
Определение: |
Производя́щая фу́нкция (generating function) — это формальный степенной ряд:
порождающий (производящий) последовательность , . |
Применение
Производящая функция используется:
- Нахождение зависимости для последовательности , заданной рекуррентным соотношением. Например для чисел Фибоначчи.
- Исследование асимптотического поведения последовательности.
- Доказательство тождеств с последовательностями
- Решение задачи подсчета объектов в комбинаторике. Например в доказательстве пентагональной теоремы или в задаче нахождения количества расстановок m ладей на доске n × n.
- Вычисление бесконечных сумм.
Решение рекуррентных соотношений
Пусть последовательность
удовлетворяет некоторому рекуррентному соотношению. Мы хотим получить выражение для (при ) в замкнутом виде (то есть выразив лишь через номер члена последовательности). Для демонстрации универсальности метода рассмотрим довольно произвольное рекуррентное соотношение:
Запишем производящую функцию для этой последовательности и преобразуем правую часть:
Для того, чтобы замкнуть последнюю сумму воспользуемся очень важным приемом, который используется при преобразовании производящих функций. Фактически мы имеем дело с последовательностью (у нас последовательность -константная единица). Такая последовательность получается путём дифференцирования функции B(z) с последующим умножением результата на z:
Тогда замкнем последнее слагаемое следующим образом:
Таким образом наше последнее слагаемое примет вид:
Это уравнение для производящей функции. Из него выражаем :