Производящая функция — различия между версиями
Строка 11: | Строка 11: | ||
* Компактной записи информации о последовательности; | * Компактной записи информации о последовательности; | ||
* Нахождения зависимости <tex>a_n(n)</tex> для последовательности <tex>a_n</tex>, заданной рекуррентным соотношением. Например, для чисел Фибоначчи; | * Нахождения зависимости <tex>a_n(n)</tex> для последовательности <tex>a_n</tex>, заданной рекуррентным соотношением. Например, для чисел Фибоначчи; | ||
+ | * Нахождения рекуррентного соотношения для последовательности {{---}} вид производящей функции может помочь найти формулу; | ||
* Исследования асимптотического поведения последовательности; | * Исследования асимптотического поведения последовательности; | ||
* Доказательства тождеств с последовательностями; | * Доказательства тождеств с последовательностями; | ||
Строка 21: | Строка 22: | ||
* <tex>\prod_{n=1}^\infty frac{1}{1-x^n}</tex> {{---}} производящая функция для последовательности <tex>p_n</tex>, где <tex>p_i</tex> {{---}} количество разбиений числа i на слагаемые. | * <tex>\prod_{n=1}^\infty frac{1}{1-x^n}</tex> {{---}} производящая функция для последовательности <tex>p_n</tex>, где <tex>p_i</tex> {{---}} количество разбиений числа i на слагаемые. | ||
+ | |||
+ | * <tex>\prod_{n=1}^\infty (1+x^n)</tex> {{---}} производящая функция для последовательности <tex>d_n</tex>, где <tex>d_i</tex> {{---}} количество разбиений на различные слагаемые. | ||
+ | |||
+ | * <tex>\prod_{n=1}^\infty (1+x^{2n-1})</tex> {{---}} производящая функция для последовательности <tex>l_n</tex>, где <tex>l_i</tex> {{---}} количество разбиений на нечётные слагаемые. С помощью метода производящих функций можно доказать, что производящие функции последовательностей равны, соответственно <tex>d_n=l_n</tex>: | ||
+ | <tex>\prod_{n=1}^\infty (1+x^{n})=\prod_{n=1}^\infty frac{1-x^{2n}}{1-x^n}=frac{1-x^2}{1-x}frac{1-x^4}{1-x^2}frac{1-x^6}{1-x^3}...=frac{1}{1-x}frac{1}{1-x^3}frac{1}{1-x^5}=\prod_{n=1}^\infty (1+x^{2n-1})</tex> | ||
== Решение рекуррентных соотношений == | == Решение рекуррентных соотношений == |
Версия 02:48, 12 декабря 2011
Содержание
Производящая функция
Определение: |
Производя́щая фу́нкция (generating function) — это формальный степенной ряд:
порождающий (производящий) последовательность , . |
Применение
Производящая функция используется для:
- Компактной записи информации о последовательности;
- Нахождения зависимости для последовательности , заданной рекуррентным соотношением. Например, для чисел Фибоначчи;
- Нахождения рекуррентного соотношения для последовательности — вид производящей функции может помочь найти формулу;
- Исследования асимптотического поведения последовательности;
- Доказательства тождеств с последовательностями;
- Решения задачи подсчета объектов в комбинаторике. Например, в доказательстве пентагональной теоремы или в задаче нахождения количества расстановок m ладей на доске n × n;
- Вычисления бесконечных сумм.
Примеры производящих функций
Рассмотрим производящие функции для различных последовательностей:
- — производящая функция для разности количества разбиений числа n в четное и нечетное число различных слагаемых. Например коэффициент при — +1, потому-что существует два разбиение на четное число различных слагаемых (4+1; 3+2) и одно на нечетное (5). Правильность этого легко осознать, если понять, что каждая скобка представляет какое-то слагаемое и мы можем его взять (второе слагаемое — ) или не взять (первое — 1). Эта производящая функция используется в комбинаторном доказательстве пентагональной теоремы.
- — производящая функция для последовательности , где — количество разбиений числа i на слагаемые.
- — производящая функция для последовательности , где — количество разбиений на различные слагаемые.
- — производящая функция для последовательности , где — количество разбиений на нечётные слагаемые. С помощью метода производящих функций можно доказать, что производящие функции последовательностей равны, соответственно :
Решение рекуррентных соотношений
Пусть последовательность
удовлетворяет некоторому рекуррентному соотношению. Мы хотим получить выражение для (при ) в замкнутом виде (то есть выразив лишь через номер члена последовательности). Для демонстрации универсальности метода рассмотрим довольно произвольное рекуррентное соотношение:
Запишем производящую функцию для этой последовательности и преобразуем правую часть:
Для того, чтобы замкнуть последнюю сумму воспользуемся очень важным приемом, который используется при преобразовании производящих функций. Фактически мы имеем дело с последовательностью (у нас последовательность -константная единица). Такая последовательность получается путём дифференцирования функции B(z) с последующим умножением результата на z:
Тогда замкнем последнее слагаемое следующим образом:
Таким образом наше последнее слагаемое примет вид:
Это уравнение для производящей функции. Из него выражаем :
Теперь формализуем алгоритм, который мы использовали:
1)Записать рекуррентное соотношение и начальные данные для него в следующем виде (если порядок соотношения равен k):
2)Домножить каждую строчку на z в соответствующей степени и просуммировать строчки для всех n≥0. 3)В полученном уравнении привести все суммы ∑ к замкнутому виду. Получить уравнение для производящей функции. 4)Выразить G(z) в явном виде (решить уравнение, полученное на предыдущем шаге) и разложить производящую функцию в ряд по степеням z.