Производящая функция — различия между версиями
(→Примеры производящих функций: есть разница всё-таки) |
м (rollbackEdits.php mass rollback) |
||
(не показано 9 промежуточных версий 6 участников) | |||
Строка 2: | Строка 2: | ||
|id=main | |id=main | ||
|definition= | |definition= | ||
− | '''Производящая функция''' (англ. ''generating function'') — это формальный степенной ряд | + | '''Производящая функция''' (англ. ''generating function'') — это формальный степенной ряд вида <tex>G(z)=\sum\limits_{n=0}^\infty a_n z^n</tex>, порождающий (производящий) последовательность <tex>(a_0, a_1, a_2, \ldots)</tex>. |
− | |||
− | <tex>G(z)=\sum\limits_{n=0}^\infty a_n z^n</tex>, | ||
− | |||
− | порождающий (производящий) последовательность <tex>(a_0, a_1, a_2, \ldots)</tex>. | ||
}} | }} | ||
Метод производящих функций был разработан Эйлером в 1750-х годах. | Метод производящих функций был разработан Эйлером в 1750-х годах. | ||
Строка 192: | Строка 188: | ||
<tex> | <tex> | ||
− | g(x) = \dfrac{1 - 2x - \sqrt{1-4x}}{2x \sqrt{1-4x}} + \dfrac{1-\sqrt{1-4x}}{2x} | + | g(x) = \dfrac{1 - 2x - \sqrt{1-4x}}{2x \sqrt{1-4x}} + \dfrac{1-\sqrt{1-4x}}{2x} = \dfrac{1}{\sqrt{1 - 4x}} |
</tex> | </tex> | ||
Текущая версия на 19:31, 4 сентября 2022
Определение: |
Производящая функция (англ. generating function) — это формальный степенной ряд вида | , порождающий (производящий) последовательность .
Метод производящих функций был разработан Эйлером в 1750-х годах.
Содержание
Применение
Производящая функция используется для:
- Компактной записи информации о последовательности.
- Нахождения зависимости для последовательности , заданной рекуррентным соотношением. Например, для чисел Фибоначчи.
- Нахождения рекуррентного соотношения для последовательности — вид производящей функции может помочь найти формулу.
- Исследования асимптотического поведения последовательности.
- Доказательства тождеств с последовательностями.
- Решения задачи подсчета объектов в комбинаторике. Например, в доказательстве пентагональной теоремы или в задаче нахождения количества расстановок ладей на доске .
- Вычисления бесконечных сумм.
Примеры производящих функций
Рассмотрим производящие функции для различных комбинаторных последовательностей:
- — производящая функция для разности количества разбиений числа в четное и нечетное число различных слагаемых. Например, коэффициент при равен , потому что существует два разбиения на четное число различных слагаемых и одно на нечетное ( ). Правильность этого легко осознать, если понять, что каждая скобка представляет какое-то слагаемое и мы можем его взять (второе слагаемое — ) или не взять (первое — ). Эта производящая функция используется в комбинаторном доказательстве пентагональной теоремы.
- — производящая функция для последовательности , где — число разбиений числа на слагаемые.
- — производящая функция для последовательности , где — число разбиений на различные слагаемые.
- — производящая функция для последовательности , где — число разбиений на нечётные слагаемые. С помощью метода производящих функций можно доказать, что производящие функции последовательностей равны, соответственно :
Примеры решений задач методом производящих функций
Решение рекуррентных соотношений
Существует целый класс последовательностей, задаваемых рекуррентным соотношением, например, числа Каталана. Метод производящих функций позволяет получить выражение для через номер элемента в последовательности в замкнутом виде, то есть в таком виде, что выражение можно вычислить, предполагая, что достаточно мало.
— числа Фибоначчи или —Пусть последовательность
удовлетворяет некоторому рекуррентному соотношению. Мы хотим получить выражение для (при ) в замкнутом виде. Алгоритм получения замкнутого выражения для чисел , удовлетворяющих рекуррентному соотношению, с помощью производящих функций состоит из 4 шагов:- Записать рекуррентное соотношение и начальные данные для него в следующем виде (если порядок соотношения равен
- Домножить каждую строчку на в соответствующей степени и просуммировать строчки для всех .
- В полученном уравнении привести все суммы к замкнутому виду. Получить уравнение для производящей функции.
- Выразить в явном виде (решить уравнение, полученное на предыдущем шаге) и разложить производящую функцию в ряд по степеням .
Для демонстрации универсальности метода рассмотрим довольно произвольное рекуррентное соотношение:
Запишем производящую функцию для этой последовательности и преобразуем правую часть:
Для того, чтобы замкнуть последнюю сумму воспользуемся очень важным приемом, который используется при преобразовании производящих функций. Фактически мы имеем дело с последовательностью (в нашем случае последовательность ). Такая последовательность получается путём дифференцирования функции , производящей для , с последующим умножением результата на :
Тогда замкнем последнее слагаемое следующим образом:
Таким образом, наше последнее слагаемое примет вид:
Это уравнение для производящей функции. Из него выражаем :
Разложим знаменатель на множители и разобьём дробь на сумму простых дробей [1]:
Разложим первое слагаемое в ряд, используя расширенные биномиальные коэффициенты [2]:
Расчет дисперсии геометрического распределения
Метод производящих функций также используется для нахождения математического ожидания и дисперсии различных распределений в теории вероятностей. Например, в геометрическом распределении [3] для нахождения дисперсии нужно найти два мат. ожидания:
которые фактически являются производящими функциями последовательностей и :
.
Тогда:
Пример задачи на нахождение производящей функции
Задача: |
Рассмотрим множество путей на прямой, состоящих из шагов длины | вправо и влево. Найдите производящую функцию для числа таких путей из шагов, начинающихся в и оканчивающихся в .
Заметим, что для того, чтобы закончить путь в число Каталана. Тогда, заметим что . Так как , то справедливо равенство:
, необходимо совершить равное число шагов вправо и влево. Тогда задача сводится к тому, чтобы выбрать позиций для, например, шагов вправо из всего шагов. Тогда ответом будет сумма от нуля до бесконечности по всех . То есть: Рассмотрим , где —Мы знаем, что производящая функция для чисел Каталана равна
. Найдем .
Соответственно, ответом будет производящая функция вида:
Задача: |
Рассмотрим множество путей на прямой, состоящих из шагов длины | вправо и влево. Найдите производящую функцию для числа таких путей из шагов, начинающихся и оканчивающихся в и не заходящих в отрицательную полупрямую.
Заметим, что задача аналогична Правильной скобочной последовательности. Тогда производящей функцией для нашей задачи будет производящая функция для правильной скобочной последовательности, а именно:
Приложения
Примеры простых производящих функций
На последнем шаге приведения производящей функции к замкнутому виду требуется разложить полученные слагаемые в ряд. Для этого можно воспользоваться таблицей основных производящих функций [4].
Все суммы выполняются по переменной
от до . Элементы последовательности нумеруются от .Последовательность | Производящая функция в виде ряда | Производящая функция в замкнутом виде |
( нулей в начале) | ||
(повторяется через ) | ||
См. также
Примечания
Источники информации
- Вайнштейн Ф., Разбиение чисел. Журнал "Квант" № 11, 1988 год
- Производящие функции
- Wikipedia — Generating function
- Нахождение количества разбиений числа на слагаемые. Пентагональная теорема Эйлера
- Graham, Knuth, and Patashnik: Concrete Mathematics