Производящая функция — различия между версиями
Строка 35: | Строка 35: | ||
− | + | == Примеры решений задач методом производящих функций == | |
− | + | === Решение рекуррентных соотношений === | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
Существует целый класс последовательностей, задаваемых рекуррентным соотношением, например, <tex>f_n</tex> {{---}} числа Фибоначчи или <tex>C_n</tex> {{---}} числа Каталана. Метод производящих функций позволяет получить выражение для <tex>a_n</tex> через номер элемента в последовательности в замкнутом виде, то есть в таком виде, что выражение можно вычислить, предполагая, что z достаточно мало. | Существует целый класс последовательностей, задаваемых рекуррентным соотношением, например, <tex>f_n</tex> {{---}} числа Фибоначчи или <tex>C_n</tex> {{---}} числа Каталана. Метод производящих функций позволяет получить выражение для <tex>a_n</tex> через номер элемента в последовательности в замкнутом виде, то есть в таком виде, что выражение можно вычислить, предполагая, что z достаточно мало. | ||
− | |||
Пусть последовательность <tex>(a_0, a_1, a_2, ...)</tex> удовлетворяет некоторому рекуррентному соотношению. Мы хотим получить выражение для <tex>a_n</tex> (при <tex>n \ge 0</tex>) в замкнутом виде. Алгоритм получения замкнутого выражения для чисел <tex>a_n</tex>, удовлетворяющих рекуррентному соотношению, с помощью производящих функций состоит из 4 шагов: | Пусть последовательность <tex>(a_0, a_1, a_2, ...)</tex> удовлетворяет некоторому рекуррентному соотношению. Мы хотим получить выражение для <tex>a_n</tex> (при <tex>n \ge 0</tex>) в замкнутом виде. Алгоритм получения замкнутого выражения для чисел <tex>a_n</tex>, удовлетворяющих рекуррентному соотношению, с помощью производящих функций состоит из 4 шагов: | ||
Строка 142: | Строка 135: | ||
<tex dpi = "160">a_n=\frac{n+1}{3}+\frac{7}{9}-\frac{2^n}{2}+\frac{7 \cdot 4^n}{18}=\frac{7 \cdot 4^n+6n+20}{18}-2^{n-1}</tex> | <tex dpi = "160">a_n=\frac{n+1}{3}+\frac{7}{9}-\frac{2^n}{2}+\frac{7 \cdot 4^n}{18}=\frac{7 \cdot 4^n+6n+20}{18}-2^{n-1}</tex> | ||
+ | === Расчет дисперсии геометрического распределения === | ||
+ | Метод производящих функций также используется для нахождения математического ожидания и дисперсии различных распределений в теории вероятностей. Например в геометрическом распределении c p=1/2 для нахождения дисперсии <tex>D(\xi)=E(\xi^2)-(E(\xi))^2</tex> нужно найти два мат. ожидания: | ||
+ | |||
+ | <tex dpi = "180">\sum_{n=1}^\infty n (\frac{1}{2})^n=2</tex> | ||
+ | |||
+ | <tex dpi = "180">\sum_{n=1}^\infty n^2 (\frac{1}{2})^n=6</tex> | ||
+ | |||
+ | которые фактически являются производящими функциями последовательностей <tex>1, 2, 3...</tex> и <tex>1, 4, 9...</tex>, где z взято равным <tex>\frac{1}{2}</tex> | ||
== Ссылки == | == Ссылки == | ||
* [http://kvant.mirror1.mccme.ru/1988/11/razbienie_chisel.htm Вайнштейн Ф., Разбиение чисел. Журнал "Квант" № 11, 1988 год] | * [http://kvant.mirror1.mccme.ru/1988/11/razbienie_chisel.htm Вайнштейн Ф., Разбиение чисел. Журнал "Квант" № 11, 1988 год] |
Версия 08:11, 13 декабря 2011
Определение: |
Производя́щая фу́нкция (generating function) — это формальный степенной ряд:
порождающий (производящий) последовательность , . |
Метод производящих функций был разработан Эйлером в 1750-х годах.
Содержание
Применение
Производящая функция используется для:
- Компактной записи информации о последовательности;
- Нахождения зависимости для последовательности , заданной рекуррентным соотношением. Например, для чисел Фибоначчи;
- Нахождения рекуррентного соотношения для последовательности — вид производящей функции может помочь найти формулу;
- Исследования асимптотического поведения последовательности;
- Доказательства тождеств с последовательностями;
- Решения задачи подсчета объектов в комбинаторике. Например, в доказательстве пентагональной теоремы или в задаче нахождения количества расстановок m ладей на доске n × n;
- Вычисления бесконечных сумм.
Примеры производящих функций
Рассмотрим производящие функции для различных комбинаторных последовательностей:
- — производящая функция для разности количества разбиений числа n в четное и нечетное число различных слагаемых. Например коэффициент при — +1, потому-что существует два разбиение на четное число различных слагаемых (4+1; 3+2) и одно на нечетное (5). Правильность этого легко осознать, если понять, что каждая скобка представляет какое-то слагаемое и мы можем его взять (второе слагаемое — ) или не взять (первое — 1). Эта производящая функция используется в комбинаторном доказательстве пентагональной теоремы.
- — производящая функция для последовательности , где — количество разбиений числа i на слагаемые.
- — производящая функция для последовательности , где — количество разбиений на различные слагаемые.
- — производящая функция для последовательности , где — количество разбиений на нечётные слагаемые. С помощью метода производящих функций можно доказать, что производящие функции последовательностей равны, соответственно :
Примеры решений задач методом производящих функций
Решение рекуррентных соотношений
Существует целый класс последовательностей, задаваемых рекуррентным соотношением, например,
— числа Фибоначчи или — числа Каталана. Метод производящих функций позволяет получить выражение для через номер элемента в последовательности в замкнутом виде, то есть в таком виде, что выражение можно вычислить, предполагая, что z достаточно мало.Пусть последовательность
удовлетворяет некоторому рекуррентному соотношению. Мы хотим получить выражение для (при ) в замкнутом виде. Алгоритм получения замкнутого выражения для чисел , удовлетворяющих рекуррентному соотношению, с помощью производящих функций состоит из 4 шагов:1)Записать рекуррентное соотношение и начальные данные для него в следующем виде (если порядок соотношения равен k, то есть количество предшествующих элементов, требуемых для вычисления элемента с номером n, равно k):
2)Домножить каждую строчку на z в соответствующей степени и просуммировать строчки для всех n
.3)В полученном уравнении привести все суммы
к замкнутому виду. Получить уравнение для производящей функции.4)Выразить
в явном виде (решить уравнение, полученное на предыдущем шаге) и разложить производящую функцию в ряд по степеням .Для демонстрации универсальности метода рассмотрим довольно произвольное рекуррентное соотношение:
Запишем производящую функцию для этой последовательности и преобразуем правую часть:
Для того, чтобы замкнуть последнюю сумму воспользуемся очень важным приемом, который используется при преобразовании производящих функций. Фактически мы имеем дело с последовательностью (в нашем случае последовательность ). Такая последовательность получается путём дифференцирования функции , производящей для , с последующим умножением результата на z:
Тогда замкнем последнее слагаемое следующим образом:
Таким образом наше последнее слагаемое примет вид:
Это уравнение для производящей функции. Из него выражаем :
Разложим знаменатель на множители и разобьём дробь на сумму простых дробей:
Разложим первое слагаемое в ряд, используя расширенные биномиальные коэффициенты:
Расчет дисперсии геометрического распределения
Метод производящих функций также используется для нахождения математического ожидания и дисперсии различных распределений в теории вероятностей. Например в геометрическом распределении c p=1/2 для нахождения дисперсии
нужно найти два мат. ожидания:
которые фактически являются производящими функциями последовательностей
и , где z взято равнымСсылки
- Вайнштейн Ф., Разбиение чисел. Журнал "Квант" № 11, 1988 год
- genfunc.ru
- Generating function
- Нахождение количества разбиений числа на слагаемые. Пентагональная теорема Эйлера
Литература
- Graham, Knuth, and Patashnik: Concrete Mathematics