Производящая функция — различия между версиями
Строка 43: | Строка 43: | ||
== Решение рекуррентных соотношений == | == Решение рекуррентных соотношений == | ||
− | Пусть последовательность <tex>(a_0, a_1, a_2, ...)</tex> удовлетворяет некоторому рекуррентному соотношению. Мы хотим получить выражение для <tex>a_n</tex> (при <tex>n \ge 0</tex>) в замкнутом виде (то есть выразив лишь через номер члена последовательности). | + | Пусть последовательность <tex>(a_0, a_1, a_2, ...)</tex> удовлетворяет некоторому рекуррентному соотношению. Мы хотим получить выражение для <tex>a_n</tex> (при <tex>n \ge 0</tex>) в замкнутом виде (то есть выразив лишь!!!!!!!!!!!! через номер члена последовательности). Алгоритм получения замкнутого выражения для чисел <tex>a_n</tex>, удовлетворяющих рекуррентному соотношению, с помощью производящих функций состоит из 4 шагов: |
+ | |||
+ | 1)Записать рекуррентное соотношение и начальные данные для него в следующем виде (если порядок соотношения равен k, то есть количество предшествующих элементов, требуемых для вычисления элемента с номером n, равно k): | ||
+ | |||
+ | <tex>a_0=...,</tex> | ||
+ | |||
+ | <tex>a_1=...,</tex> | ||
+ | |||
+ | <tex>a_{k-1}=...,</tex> | ||
+ | |||
+ | <tex>a_{n}=..., n \ge k.</tex> | ||
+ | |||
+ | 2)Домножить каждую строчку на z в соответствующей степени и просуммировать строчки для всех n <tex> \ge 0 </tex>. | ||
+ | |||
+ | 3)В полученном уравнении привести все суммы <tex>\sum</tex> к замкнутому виду. Получить уравнение для производящей функции. | ||
+ | |||
+ | 4)Выразить <tex>G(z)<\tex> в явном виде (решить уравнение, полученное на предыдущем шаге) и разложить производящую функцию в ряд по степеням <tex>z<\tex>. | ||
+ | |||
Для демонстрации универсальности метода рассмотрим довольно произвольное рекуррентное соотношение: | Для демонстрации универсальности метода рассмотрим довольно произвольное рекуррентное соотношение: | ||
Строка 99: | Строка 116: | ||
<tex>G(z)=\frac{1-6z+11z^2-5z^3}{(1-6z+8z^2)(1-z)^2}</tex> | <tex>G(z)=\frac{1-6z+11z^2-5z^3}{(1-6z+8z^2)(1-z)^2}</tex> | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
== Ссылки == | == Ссылки == |
Версия 03:54, 12 декабря 2011
Содержание
Производящая функция
Определение: |
Производя́щая фу́нкция (generating function) — это формальный степенной ряд:
порождающий (производящий) последовательность , . |
Применение
Производящая функция используется для:
- Компактной записи информации о последовательности;
- Нахождения зависимости для последовательности , заданной рекуррентным соотношением. Например, для чисел Фибоначчи;
- Нахождения рекуррентного соотношения для последовательности — вид производящей функции может помочь найти формулу;
- Исследования асимптотического поведения последовательности;
- Доказательства тождеств с последовательностями;
- Решения задачи подсчета объектов в комбинаторике. Например, в доказательстве пентагональной теоремы или в задаче нахождения количества расстановок m ладей на доске n × n;
- Вычисления бесконечных сумм.
Примеры производящих функций
Рассмотрим производящие функции для различных комбинаторных последовательностей:
- — производящая функция для разности количества разбиений числа n в четное и нечетное число различных слагаемых. Например коэффициент при — +1, потому-что существует два разбиение на четное число различных слагаемых (4+1; 3+2) и одно на нечетное (5). Правильность этого легко осознать, если понять, что каждая скобка представляет какое-то слагаемое и мы можем его взять (второе слагаемое — ) или не взять (первое — 1). Эта производящая функция используется в комбинаторном доказательстве пентагональной теоремы.
- — производящая функция для последовательности , где — количество разбиений числа i на слагаемые.
- — производящая функция для последовательности , где — количество разбиений на различные слагаемые.
- — производящая функция для последовательности , где — количество разбиений на нечётные слагаемые. С помощью метода производящих функций можно доказать, что производящие функции последовательностей равны, соответственно :
Метод производящих функций также используется для нахождения математического ожидания и дисперсии различных распределений в теории вероятности. Например в геометрическом распределении c p=1/2 для нахождения дисперсии нужно найти два мат. ожидания:
которые фактически являются производящими функциями последовательностей
и , где z взято равнымСуществует целый класс последовательностей, задаваемых рекуррентным соотношением, например,
— числа Фибоначчи или — числа Каталана. Метод производящих функций позволяет получить выражение для в замкнутом виде.Решение рекуррентных соотношений
Пусть последовательность
удовлетворяет некоторому рекуррентному соотношению. Мы хотим получить выражение для (при ) в замкнутом виде (то есть выразив лишь!!!!!!!!!!!! через номер члена последовательности). Алгоритм получения замкнутого выражения для чисел , удовлетворяющих рекуррентному соотношению, с помощью производящих функций состоит из 4 шагов:1)Записать рекуррентное соотношение и начальные данные для него в следующем виде (если порядок соотношения равен k, то есть количество предшествующих элементов, требуемых для вычисления элемента с номером n, равно k):
2)Домножить каждую строчку на z в соответствующей степени и просуммировать строчки для всех n
.
3)В полученном уравнении привести все суммы
к замкнутому виду. Получить уравнение для производящей функции.
4)Выразить
Запишем производящую функцию для этой последовательности и преобразуем правую часть:
Для того, чтобы замкнуть последнюю сумму воспользуемся очень важным приемом, который используется при преобразовании производящих функций. Фактически мы имеем дело с последовательностью (у нас последовательность -константная единица). Такая последовательность получается путём дифференцирования функции B(z) с последующим умножением результата на z:
Тогда замкнем последнее слагаемое следующим образом:
Таким образом наше последнее слагаемое примет вид:
Это уравнение для производящей функции. Из него выражаем :