Производящая функция — различия между версиями
Dantesto (обсуждение | вклад) |
Dantesto (обсуждение | вклад) |
||
Строка 12: | Строка 12: | ||
Производящая функция используется для: | Производящая функция используется для: | ||
− | * Компактной записи информации о последовательности | + | * Компактной записи информации о последовательности. |
− | * Нахождения зависимости <tex>a_n(n)</tex> для последовательности <tex>a_n</tex>, заданной рекуррентным соотношением. Например, для чисел Фибоначчи | + | * Нахождения зависимости <tex>a_n(n)</tex> для последовательности <tex>a_n</tex>, заданной рекуррентным соотношением. Например, для чисел Фибоначчи. |
− | * Нахождения рекуррентного соотношения для последовательности {{---}} вид производящей функции может помочь найти формулу | + | * Нахождения рекуррентного соотношения для последовательности {{---}} вид производящей функции может помочь найти формулу. |
− | * Исследования асимптотического поведения последовательности | + | * Исследования асимптотического поведения последовательности. |
− | * Доказательства тождеств с последовательностями | + | * Доказательства тождеств с последовательностями. |
− | * Решения задачи подсчета объектов в комбинаторике.Например, в доказательстве[[Нахождение количества разбиений числа на слагаемые|пентагональной теоремы]] или в задаче нахождения количества расстановок <tex>m</tex> ладей на доске <tex>n</tex> × <tex>n</tex> | + | * Решения задачи подсчета объектов в комбинаторике.Например, в доказательстве[[Нахождение количества разбиений числа на слагаемые|пентагональной теоремы]] или в задаче нахождения количества расстановок <tex>m</tex> ладей на доске <tex>n</tex> × <tex>n</tex>. |
* Вычисления бесконечных сумм. | * Вычисления бесконечных сумм. | ||
+ | |||
== Примеры производящих функций == | == Примеры производящих функций == | ||
Рассмотрим производящие функции для различных комбинаторных последовательностей: | Рассмотрим производящие функции для различных комбинаторных последовательностей: | ||
− | * <tex>\prod_{ n = 1}^\infty(1-x^n)</tex> {{---}} производящая функция для разности количества разбиений числа <tex>n</tex> в четное и нечетное число различных слагаемых.Например коэффициент при <tex>x^5</tex> {{---}} <tex>+1</tex>, потому-что существует два разбиение на четное число различных слагаемых | + | * <tex>\prod_{ n = 1}^\infty(1-x^n)</tex> {{---}} производящая функция для разности количества разбиений числа <tex>n</tex> в четное и нечетное число различных слагаемых.Например коэффициент при <tex>x^5</tex> {{---}} <tex>+1</tex>, потому-что существует два разбиение на четное число различных слагаемых <tex>(4+1; 3+2)</tex> и одно на нечетное (<tex>5</tex>). Правильность этого легко осознать, если понять, что каждая скобка представляет какое-то слагаемое и мы можем его взять(второе слагаемое {{---}} <tex>-x^k</tex>) или не взять(первое {{---}} <tex>1</tex>). Эта производящая функция используется в комбинаторном доказательстве пентагональной теоремы. |
− | * <tex> \prod_{n=1}^\infty \dfrac{1}{1-x^n}</tex> {{---}} производящая функция для последовательности <tex>p_n</tex>, где <tex>p_i</tex>{{---}} | + | * <tex> \prod_{n=1}^\infty \dfrac{1}{1-x^n}</tex> {{---}} производящая функция для последовательности <tex>p_n</tex>, где <tex>p_i</tex> {{---}} число разбиений числа <tex>i</tex> на слагаемые. |
− | |||
− | * <tex>\prod_{ n = 1}^\infty(1+x^n)</tex> {{---}} производящая функция для последовательности <tex>d_n</tex>, где <tex>d_i</tex>{{---}} | + | * <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>\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 \dfrac{1-x^{2n}}{1-x^n}=\dfrac{1-x^2}{1-x}\dfrac{1-x^4}{1-x^2}\dfrac{1-x^6}{1-x^3}\ldots=</tex> |
− | |||
Строка 184: | Строка 182: | ||
|+ | |+ | ||
|-align="center" bgcolor=#EEEEFF | |-align="center" bgcolor=#EEEEFF | ||
− | | Последовательность || Производящая функция в виде ряда || Производящая функция в замкнутом виде | + | | '''Последовательность''' || '''Производящая функция в виде ряда''' || '''Производящая функция в замкнутом виде''' |
|-align="left" bgcolor=#FFFFFF | |-align="left" bgcolor=#FFFFFF | ||
| <tex>(1, 0, 0,\ldots)</tex> || <tex>1</tex> || <tex>1</tex> | | <tex>(1, 0, 0,\ldots)</tex> || <tex>1</tex> || <tex>1</tex> | ||
Строка 212: | Строка 210: | ||
| <tex>(1, 1, \dfrac{1}{2}, \dfrac{1}{6}, \dfrac{1}{24},\ldots)</tex> || <tex>\sum \dfrac{1}{n!}</tex> <tex>z^n</tex> || <tex>e^z</tex> | | <tex>(1, 1, \dfrac{1}{2}, \dfrac{1}{6}, \dfrac{1}{24},\ldots)</tex> || <tex>\sum \dfrac{1}{n!}</tex> <tex>z^n</tex> || <tex>e^z</tex> | ||
|} | |} | ||
+ | |||
+ | == См. также == | ||
== Примечания == | == Примечания == |
Версия 19:12, 4 января 2017
Определение: |
Производящая функция (англ. generating function) — это формальный степенной ряд:
порождающий(производящий) последовательность , . |
Метод производящих функций был разработан Эйлером в 1750-х годах.
Содержание
Применение
Производящая функция используется для:
- Компактной записи информации о последовательности.
- Нахождения зависимости для последовательности , заданной рекуррентным соотношением. Например, для чисел Фибоначчи.
- Нахождения рекуррентного соотношения для последовательности — вид производящей функции может помочь найти формулу.
- Исследования асимптотического поведения последовательности.
- Доказательства тождеств с последовательностями.
- Решения задачи подсчета объектов в комбинаторике.Например, в доказательствепентагональной теоремы или в задаче нахождения количества расстановок ладей на доске × .
- Вычисления бесконечных сумм.
Примеры производящих функций
Рассмотрим производящие функции для различных комбинаторных последовательностей:
- — производящая функция для разности количества разбиений числа в четное и нечетное число различных слагаемых.Например коэффициент при — , потому-что существует два разбиение на четное число различных слагаемых и одно на нечетное ( ). Правильность этого легко осознать, если понять, что каждая скобка представляет какое-то слагаемое и мы можем его взять(второе слагаемое — ) или не взять(первое — ). Эта производящая функция используется в комбинаторном доказательстве пентагональной теоремы.
- — производящая функция для последовательности , где — число разбиений числа на слагаемые.
- — производящая функция для последовательности , где — число разбиений на различные слагаемые.
- — производящая функция для последовательности , где — число разбиений на нечётные слагаемые.С помощью метода производящих функций можно доказать, что производящие функции последовательностей равны, соответственно :
Примеры решений задач методом производящих функций
Решение рекуррентных соотношений
Существует целый класс последовательностей, задаваемых рекуррентным соотношением, например, числа Каталана. Метод производящих функций позволяет получить выражение для через номер элемента в последовательности в замкнутом виде, то есть в таком виде, что выражение можно вычислить, предполагая, что достаточно мало.
— числа Фибоначчи или —
Пусть последовательность удовлетворяет некоторому рекуррентному соотношению.Мы хотим получить выражение для (при ) в замкнутом виде.Алгоритм получения замкнутого выражения для чисел , удовлетворяющих рекуррентному соотношению, с помощью производящих функций состоит из 4 шагов:
- Записать рекуррентное соотношение и начальные данные для него в следующем виде (если порядок соотношения равен
- Домножить каждую строчку на в соответствующей степени и просуммировать строчки для всех .
- В полученном уравнении привести все суммы к замкнутому виду. Получить уравнение для производящей функции.
- Выразить в явном виде (решить уравнение, полученное на предыдущем шаге) и разложить производящую функцию в ряд по степеням .
Для демонстрации универсальности метода рассмотрим довольно произвольное рекуррентное соотношение:
Запишем производящую функцию для этой последовательности и преобразуем правую часть:
Для того, чтобы замкнуть последнюю сумму воспользуемся очень важным приемом, который используется при преобразовании производящих функций. Фактически мы имеем дело с последовательностью (в нашем случае последовательность ). Такая последовательность получается путём дифференцирования функции , производящей для , с последующим умножением результата на :
Тогда замкнем последнее слагаемое следующим образом:
Таким образом наше последнее слагаемое примет вид:
Это уравнение для производящей функции. Из него выражаем :
Разложим знаменатель на множители и разобьём дробь на сумму простых дробей [1]:
Разложим первое слагаемое в ряд, используя расширенные биномиальные коэффициенты [2]:
Расчет дисперсии геометрического распределения
Метод производящих функций также используется для нахождения математического ожидания и дисперсии различных распределений в теории вероятностей. Например, в геометрическом распределении [3] для нахождения дисперсии нужно найти два мат. ожидания:
которые фактически являются производящими функциями последовательностей и :
.
Тогда:
Приложения
Примеры простых производящих функций
На последнем шаге приведения производящей функции к замкнутому виду требуется разложить полученные слагаемые в ряд. Для этого можно воспользоваться таблицей основных производящих функций [4].
Все суммы выполняются по переменной
от до . Элементы последовательности нумеруются от .Последовательность | Производящая функция в виде ряда | Производящая функция в замкнутом виде |
( нулей в начале) | ||
(повторяется через ) | ||
См. также
Примечания
Источники информации
- Вайнштейн Ф., Разбиение чисел. Журнал "Квант" № 11, 1988 год
- Производящие функции
- Wikipedia — Generating function
- Нахождение количества разбиений числа на слагаемые. Пентагональная теорема Эйлера
- Graham, Knuth, and Patashnik: Concrete Mathematics