Производящая функция — различия между версиями
Строка 21: | Строка 21: | ||
* <tex>\prod_{n=1}^\infty (1-x^n)</tex> {{---}} производящая функция для разности количества разбиений числа n в четное и нечетное число различных слагаемых. Например коэффициент при <tex>x^5</tex> {{---}} +1, потому-что существует два разбиение на четное число различных слагаемых (4+1; 3+2) и одно на нечетное (5). Правильность этого легко осознать, если понять, что каждая скобка представляет какое-то слагаемое и мы можем его взять (второе слагаемое {{---}} <tex>-x^k</tex>) или не взять (первое {{---}} 1). Эта производящая функция используется в комбинаторном доказательстве пентагональной теоремы. | * <tex>\prod_{n=1}^\infty (1-x^n)</tex> {{---}} производящая функция для разности количества разбиений числа n в четное и нечетное число различных слагаемых. Например коэффициент при <tex>x^5</tex> {{---}} +1, потому-что существует два разбиение на четное число различных слагаемых (4+1; 3+2) и одно на нечетное (5). Правильность этого легко осознать, если понять, что каждая скобка представляет какое-то слагаемое и мы можем его взять (второе слагаемое {{---}} <tex>-x^k</tex>) или не взять (первое {{---}} 1). Эта производящая функция используется в комбинаторном доказательстве пентагональной теоремы. | ||
− | * <tex>\prod_{n=1}^\infty \frac{1}{1-x^n}</tex> {{---}} производящая функция для последовательности <tex>p_n</tex>, где <tex>p_i</tex> {{---}} количество разбиений числа i на слагаемые. | + | * <tex dpi = "180"> \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 dpi = "180">\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 dpi = "180">\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}...=</tex> | + | <tex dpi = "180"> \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}...=</tex> |
− | <tex>=\frac{1}{1-x}\frac{1}{1-x^3}\frac{1}{1-x^5}...=\prod_{n=1}^\infty (1+x^{2n-1})</tex> | + | <tex dpi = "180">=\frac{1}{1-x}\frac{1}{1-x^3}\frac{1}{1-x^5}...=\prod_{n=1}^\infty (1+x^{2n-1})</tex> |
Метод производящих функций также используется для нахождения математического ожидания и дисперсии различных распределений в теории вероятности. Например в геометрическом распределении c p=1/2 для нахождения дисперсии <tex>D(\xi)=E(\xi^2)-(E(\xi))^2</tex> нужно найти два мат. ожидания: | Метод производящих функций также используется для нахождения математического ожидания и дисперсии различных распределений в теории вероятности. Например в геометрическом распределении c p=1/2 для нахождения дисперсии <tex>D(\xi)=E(\xi^2)-(E(\xi))^2</tex> нужно найти два мат. ожидания: | ||
− | <tex>\sum_{n=1}^\infty n (\frac{1}{2})^n=2</tex> | + | <tex dpi = "180">\sum_{n=1}^\infty n (\frac{1}{2})^n=2</tex> |
− | <tex>\sum_{n=1}^\infty n^2 (\frac{1}{2})^n=6</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> | которые фактически являются производящими функциями последовательностей <tex>1, 2, 3...</tex> и <tex>1, 4, 9...</tex>, где z взято равным <tex>\frac{1}{2}</tex> | ||
Строка 96: | Строка 96: | ||
− | <tex>\sum_{n=2}^\infty n z^n=z \sum_{n=2}^\infty n z^{n-1}= z (\sum_{n=2}^\infty z^n)'</tex> | + | <tex dpi = "180">\sum_{n=2}^\infty n z^n=z \sum_{n=2}^\infty n z^{n-1}= z (\sum_{n=2}^\infty z^n)'</tex> |
− | <tex>\sum_{n=2}^\infty z^n=\sum_{n=0}^\infty z^n-1-z=\frac{1}{1-z}-1-z=\frac{z^2}{1-z}</tex> | + | <tex dpi = "180">\sum_{n=2}^\infty z^n=\sum_{n=0}^\infty z^n-1-z=\frac{1}{1-z}-1-z=\frac{z^2}{1-z}</tex> |
− | <tex>z (\frac{z^2}{1-z})'=\frac{z^2(2-z)}{(1-z)^2}</tex> | + | <tex dpi = "180">z (\frac{z^2}{1-z})'=\frac{z^2(2-z)}{(1-z)^2}</tex> |
Строка 108: | Строка 108: | ||
− | <tex>G(z)=1-4z+6zG(z) - 8z^2G(z)+\frac{z^2(2-z)}{(1-z)^2}</tex> | + | <tex dpi = "180">G(z)=1-4z+6zG(z) - 8z^2G(z)+\frac{z^2(2-z)}{(1-z)^2}</tex> |
Строка 114: | Строка 114: | ||
− | <tex>G(z)=\frac{1-6z+11z^2-5z^3}{(1-6z+8z^2)(1-z)^2}</tex> | + | <tex dpi = "180">G(z)=\frac{1-6z+11z^2-5z^3}{(1-6z+8z^2)(1-z)^2}</tex> |
Строка 120: | Строка 120: | ||
− | <tex>G(z)=\frac{1-6z+11z^2-5z^3}{(1-6z+8z^2)(1-z)^2}=\frac{1-6z+11z^2-5z^3}{(1-2z)(1-4z))(1-z)^2}=\frac{1/3}{(1-z)^2}+\frac{7/9}{1-z}-\frac{1/2}{1-2z}+\frac{7/18}{1-4z}</tex> | + | <tex dpi = "180">G(z)=\frac{1-6z+11z^2-5z^3}{(1-6z+8z^2)(1-z)^2}=\frac{1-6z+11z^2-5z^3}{(1-2z)(1-4z))(1-z)^2}=\frac{1/3}{(1-z)^2}+\frac{7/9}{1-z}-\frac{1/2}{1-2z}+\frac{7/18}{1-4z}</tex> |
Разложим первое слагаемое в ряд, используя [http://www.genfunc.ru/theory/pril02/ расширенные биномиальные коэффициенты]: | Разложим первое слагаемое в ряд, используя [http://www.genfunc.ru/theory/pril02/ расширенные биномиальные коэффициенты]: | ||
− | <tex>\frac{1}{(1-z)^2}=(1-z)^{-2}=\sum_{n=0}^{\infty} {-2\choose n}(-z)^n=</tex> | + | <tex dpi = "180">\frac{1}{(1-z)^2}=(1-z)^{-2}=\sum_{n=0}^{\infty} {-2\choose n}(-z)^n=</tex> |
− | <tex>=\sum_{n=0}^{\infty} (-1)^n{n+1\choose 1}(-z)^n=\sum_{n=0}^{\infty}(n+1)z^n</tex> | + | <tex dpi = "180">=\sum_{n=0}^{\infty} (-1)^n{n+1\choose 1}(-z)^n=\sum_{n=0}^{\infty}(n+1)z^n</tex> |
− | <tex>G(z)=\frac{1/3}{(1-z)^2}+\frac{7/9}{1-z}-\frac{1/2}{1-2z}+\frac{7/18}{1-4z}=</tex> | + | <tex dpi = "180">G(z)=\frac{1/3}{(1-z)^2}+\frac{7/9}{1-z}-\frac{1/2}{1-2z}+\frac{7/18}{1-4z}=</tex> |
− | <tex>=\frac{1}{3}\sum_{n=0}^{\infty} (n+1)z^n +\frac{7}{9}\sum_{n=0}^{\infty} z^n - \frac{1}{2}\sum_{n=0}^{\infty} 2^n z^n + \frac{7}{18}\sum_{n=0}^{\infty} 4^n z^n</tex> | + | <tex dpi = "180">=\frac{1}{3}\sum_{n=0}^{\infty} (n+1)z^n +\frac{7}{9}\sum_{n=0}^{\infty} z^n - \frac{1}{2}\sum_{n=0}^{\infty} 2^n z^n + \frac{7}{18}\sum_{n=0}^{\infty} 4^n z^n</tex> |
− | <tex>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 = "180">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> |
== Ссылки == | == Ссылки == |
Версия 05:08, 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:
Тогда замкнем последнее слагаемое следующим образом:
Таким образом наше последнее слагаемое примет вид:
Это уравнение для производящей функции. Из него выражаем :
Разложим знаменатель на множители и разобьём дробь на сумму простых дробей:
Разложим первое слагаемое в ряд, используя расширенные биномиальные коэффициенты:
Ссылки
- Вайнштейн Ф., Разбиение чисел. Журнал "Квант" № 11, 1988 год
- genfunc.ru
- Generating function
- Нахождение количества разбиений числа на слагаемые. Пентагональная теорема Эйлера
Литература
- Graham, Knuth, and Patashnik: Concrete Mathematics