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