Числа Эйлера I и II рода — различия между версиями
VolhovM (обсуждение | вклад) (→Пример) |
м (rollbackEdits.php mass rollback) |
||
(не показано 77 промежуточных версий 8 участников) | |||
Строка 1: | Строка 1: | ||
− | + | ==Числа Эйлера I рода== | |
− | {{Определение | + | {{Определение |
|definition= | |definition= | ||
− | Пусть <tex | + | Пусть <tex>a</tex> и <tex>b</tex> — соседние элементы некоторой перестановки порядка <tex>n</tex> причем <tex>a < b</tex>. Тогда пара <tex>(a, b)</tex> называется '''подъемом''' (англ. ''ascent'') данной перестановки. |
}} | }} | ||
+ | '''''Числа Эйлера I рода''''' (англ. ''Eulerian numbers'') — количество [[Комбинаторные объекты|перестановок]] чисел от <tex>1</tex> до <tex>n</tex> таких, что в каждой из них существует ровно <tex>m</tex> подъемов. Числа Эйлера I рода обозначают как <tex dpi=190>\langle{n\atop m}\rangle </tex> или же <tex>A(n, m)</tex>. | ||
− | ==Вывод рекуррентной формулы== | + | ===Вывод рекуррентной формулы=== |
− | Пусть у нас есть некая перестановка <tex | + | Пусть у нас есть некая перестановка <tex> \pi = \pi_1, \pi_2\ldots \pi_{n-1} </tex>. Тогда операцией вставки элемента с номером <tex>n</tex> в какую-либо из позиций мы получим <tex>n</tex> перестановок вида <tex>\theta = \theta_1, \theta_2\ldots \theta_p, n, \theta_q\ldots \theta_{n-1}</tex>. Далее рассмотрим два случая: |
− | + | # Количество подъемов в перестановке <tex>\theta</tex> равно количеству подъемов в <tex>\pi</tex>. Этого можно добиться, вставляя элемент <tex>n</tex> на самое первое место в <tex>\theta</tex> (всего <tex dpi=190>\langle{n - 1\atop m}\rangle </tex> возможностей) или перед последним последним элементом каждого подъема (еще <tex>m \times </tex><tex dpi=190> \langle{n - 1\atop m}\rangle </tex> раз). | |
+ | # Количество подъемов в новой перестановке на один больше предыдущего количества. Этого эффекта добиваемся вставкой элемента <tex>n</tex> во все места, не подходящие по критерию первого пункта. Таких вставок, как не трудно догадаться, можно совершить <tex>(n - m)</tex><tex dpi=190>\langle{n - 1\atop m - 1}\rangle</tex>. | ||
− | + | Тогда рекуррентная формула имеет вид: | |
− | + | :<tex dpi=190>\left\langle{n\atop m}\right\rangle</tex> <tex> = (m + 1)</tex> <tex dpi=190>\left\langle{n - 1\atop m}\right\rangle</tex> <tex> + (n - m)</tex> <tex dpi=180>\left\langle{n - 1\atop m - 1}\right\rangle</tex> | |
− | <tex dpi = | + | Примем также следующее начальное значение: |
+ | :<tex dpi=190>\left\langle{0\atop m}\right\rangle</tex> <tex> = [m = 0]</tex><ref>http://ru.wikipedia.org/wiki/%D0%9D%D0%BE%D1%82%D0%B0%D1%86%D0%B8%D1%8F_%D0%90%D0%B9%D0%B2%D0%B5%D1%80%D1%81%D0%BE%D0%BD%D0%B0 нотация Айверсона</ref>. | ||
− | + | ===Пример=== | |
+ | Рассмотрим все перестановки порядка <tex>4</tex>, в которых есть ровно <tex>2</tex> подъема (в квадратных скобках один или больше подъемов подряд): | ||
+ | :<tex dpi=190> \left\langle{4\atop 2}\right\rangle</tex> <tex> = 11: | ||
+ | [124]3, | ||
+ | [13][24], | ||
+ | [134]2, | ||
+ | [14][23], | ||
+ | 2[134], | ||
+ | [23][14], | ||
+ | [23][41], | ||
+ | [24][13], | ||
+ | 3[124], | ||
+ | [34][12], | ||
+ | 4[123], | ||
+ | </tex> | ||
+ | |||
+ | Согласно алгоритму вывода рекуррентной формулы мы можем добавить <tex>4</tex> в следующие позиции всех перестановок порядка <tex>3</tex> с двумя подъемами, не увеличив количество подъемов: | ||
+ | |||
+ | :<tex dpi=190> | ||
+ | \left\langle{3\atop 2}\right\rangle</tex> <tex> = 1: | ||
+ | [123] \Rightarrow (4)[123], [1(4)][23], [12(4)]3 | ||
+ | </tex> | ||
− | <tex | + | Далее рассмотрим все перестановки порядка <tex>3</tex> с одним подъемом, причем операцией вставки <tex>4</tex> мы будем увеличивать количество подъемов на <tex>1</tex>: |
+ | :<tex dpi=190> \left\langle{3\atop 1}\right\rangle</tex> <tex> = 4:</tex> | ||
− | + | :<tex>[13]2 \Rightarrow [13(4)]2, [13][2(4)];</tex> | |
− | + | ||
− | <tex | + | :<tex>2[13] \Rightarrow [2(4)][13], 2[13(4)];</tex> |
− | [ | + | |
− | [13][ | + | :<tex>[23]1 \Rightarrow [23(4)]1, [23][1(4)];</tex> |
− | [ | + | |
− | + | :<tex>3[12] \Rightarrow [3(4)][12], 3[12(4)];</tex> | |
− | 2[ | + | |
− | [23][ | + | Таким образом мы убеждаемся в верности формулы: |
− | [23][ | + | |
− | [ | + | :<tex dpi=190> \left\langle{4\atop 2}\right\rangle</tex> <tex> = (2 + 1)</tex> <tex dpi=190>\left\langle{3\atop 2}\right\rangle</tex> <tex> + (4 - 2)</tex> <tex dpi=190>\left\langle{3\atop 1}\right\rangle</tex> <tex> = 11;</tex> |
− | + | ||
− | + | ||
− | 4 | + | ===Треугольник чисел Эйлера I рода=== |
− | </tex> | + | На значениях <tex>n = m</tex> чисел Эйлера I рода можно построить массив <tex>n \times m</tex>, нижнедиагональная часть которого названа треугольником чисел Эйлера I рода. |
+ | |||
+ | ::{| class="number_triangle" | ||
+ | |||
+ | |- align="center" | ||
+ | | style="background:white; color:black; width:50px;" | | ||
+ | | style="background:white; color:black; width:50px;" | '''''m = 0''''' | ||
+ | | style="background:white; color:black; width:50px;" | '''''1''''' | ||
+ | | style="background:white; color:black; width:50px;" | '''''2''''' | ||
+ | | style="background:white; color:black; width:50px;" | '''''3''''' | ||
+ | | style="background:white; color:black; width:50px;" | '''''4''''' | ||
+ | | style="background:white; color:black; width:50px;" | '''''5''''' | ||
+ | | style="background:white; color:black; width:50px;" | '''''6''''' | ||
+ | | style="background:white; color:black; width:50px;" | '''''7''''' | ||
+ | | style="background:white; color:black; width:50px;" | '''''8''''' | ||
+ | | style="background:white; color:black; width:50px;" | '''''9''''' | ||
+ | |- align="center" | ||
+ | | style="background:white; color:black;" | '''''n = 0''''' | ||
+ | | style="background:#FFDEAD; color:black;" | '''1''' | ||
+ | | style="background:#FFDEAD; color:red;" | '''0''' | ||
+ | | style="background:#FFDEAD; color:red;" | '''0''' | ||
+ | | style="background:#FFDEAD; color:red;" | '''0''' | ||
+ | | style="background:#FFDEAD; color:red;" | '''0''' | ||
+ | | style="background:#FFDEAD; color:red;" | '''0''' | ||
+ | | style="background:#FFDEAD; color:red;" | '''0''' | ||
+ | | style="background:#FFDEAD; color:red;" | '''0''' | ||
+ | | style="background:#FFDEAD; color:red;" | '''0''' | ||
+ | | style="background:#FFDEAD; color:red;" | '''0''' | ||
+ | |||
+ | |- align="center" | ||
+ | | style="background:white; color:black;" | '''''1''''' | ||
+ | | style="background:#FFDEAD; color:black;" | '''1''' | ||
+ | | style="background:#FFDEAD; color:red;" | '''0''' | ||
+ | | style="background:#FFDEAD; color:red;" | '''0''' | ||
+ | | style="background:#FFDEAD; color:red;" | '''0''' | ||
+ | | style="background:#FFDEAD; color:red;" | '''0''' | ||
+ | | style="background:#FFDEAD; color:red;" | '''0''' | ||
+ | | style="background:#FFDEAD; color:red;" | '''0''' | ||
+ | | style="background:#FFDEAD; color:red;" | '''0''' | ||
+ | | style="background:#FFDEAD; color:red;" | '''0''' | ||
+ | | style="background:#FFDEAD; color:red;" | '''0''' | ||
+ | |- align="center" | ||
+ | | style="background:white; color:black;" | '''''2''''' | ||
+ | | style="background:#FFDEAD; color:black;" | '''1''' | ||
+ | | style="background:#FFDEAD; color:black;" | '''1''' | ||
+ | | style="background:#FFDEAD; color:red;" | '''0''' | ||
+ | | style="background:#FFDEAD; color:red;" | '''0''' | ||
+ | | style="background:#FFDEAD; color:red;" | '''0''' | ||
+ | | style="background:#FFDEAD; color:red;" | '''0''' | ||
+ | | style="background:#FFDEAD; color:red;" | '''0''' | ||
+ | | style="background:#FFDEAD; color:red;" | '''0''' | ||
+ | | style="background:#FFDEAD; color:red;" | '''0''' | ||
+ | | style="background:#FFDEAD; color:red;" | '''0''' | ||
+ | |- align="center" | ||
+ | | style="background:white; color:black;" | '''''3''''' | ||
+ | | style="background:#FFDEAD; color:black;" | '''1''' | ||
+ | | style="background:#FFDEAD; color:black;" | '''4''' | ||
+ | | style="background:#FFDEAD; color:black;" | '''1''' | ||
+ | | style="background:#FFDEAD; color:red;" | '''0''' | ||
+ | | style="background:#FFDEAD; color:red;" | '''0''' | ||
+ | | style="background:#FFDEAD; color:red;" | '''0''' | ||
+ | | style="background:#FFDEAD; color:red;" | '''0''' | ||
+ | | style="background:#FFDEAD; color:red;" | '''0''' | ||
+ | | style="background:#FFDEAD; color:red;" | '''0''' | ||
+ | | style="background:#FFDEAD; color:red;" | '''0''' | ||
+ | |- align="center" | ||
+ | | style="background:white; color:black;" | '''''4''''' | ||
+ | | style="background:#FFDEAD; color:black;" | '''1''' | ||
+ | | style="background:#FFDEAD; color:black;" | '''11''' | ||
+ | | style="background:#FFDEAD; color:black;" | '''11''' | ||
+ | | style="background:#FFDEAD; color:black;" | '''1''' | ||
+ | | style="background:#FFDEAD; color:red;" | '''0''' | ||
+ | | style="background:#FFDEAD; color:red;" | '''0''' | ||
+ | | style="background:#FFDEAD; color:red;" | '''0''' | ||
+ | | style="background:#FFDEAD; color:red;" | '''0''' | ||
+ | | style="background:#FFDEAD; color:red;" | '''0''' | ||
+ | | style="background:#FFDEAD; color:red;" | '''0''' | ||
+ | |- align="center" | ||
+ | | style="background:white; color:black;" | '''''5''''' | ||
+ | | style="background:#FFDEAD; color:black;" | '''1''' | ||
+ | | style="background:#FFDEAD; color:black;" | '''26''' | ||
+ | | style="background:#FFDEAD; color:black;" | '''66''' | ||
+ | | style="background:#FFDEAD; color:black;" | '''26''' | ||
+ | | style="background:#FFDEAD; color:black;" | '''1''' | ||
+ | | style="background:#FFDEAD; color:red;" | '''0''' | ||
+ | | style="background:#FFDEAD; color:red;" | '''0''' | ||
+ | | style="background:#FFDEAD; color:red;" | '''0''' | ||
+ | | style="background:#FFDEAD; color:red;" | '''0''' | ||
+ | | style="background:#FFDEAD; color:red;" | '''0''' | ||
+ | |- align="center" | ||
+ | | style="background:white; color:black;" | '''''6''''' | ||
+ | | style="background:#FFDEAD; color:black;" | '''1''' | ||
+ | | style="background:#FFDEAD; color:black;" | '''57''' | ||
+ | | style="background:#FFDEAD; color:black;" | '''302''' | ||
+ | | style="background:#FFDEAD; color:black;" | '''302''' | ||
+ | | style="background:#FFDEAD; color:black;" | '''57''' | ||
+ | | style="background:#FFDEAD; color:black;" | '''1''' | ||
+ | | style="background:#FFDEAD; color:red;" | '''0''' | ||
+ | | style="background:#FFDEAD; color:red;" | '''0''' | ||
+ | | style="background:#FFDEAD; color:red;" | '''0''' | ||
+ | | style="background:#FFDEAD; color:red;" | '''0''' | ||
+ | |- align="center" | ||
+ | | style="background:white; color:black;" | '''''7''''' | ||
+ | | style="background:#FFDEAD; color:black;" | '''1''' | ||
+ | | style="background:#FFDEAD; color:black;" | '''120''' | ||
+ | | style="background:#FFDEAD; color:black;" | '''1191''' | ||
+ | | style="background:#FFDEAD; color:black;" | '''2416''' | ||
+ | | style="background:#FFDEAD; color:black;" | '''1191''' | ||
+ | | style="background:#FFDEAD; color:black;" | '''120''' | ||
+ | | style="background:#FFDEAD; color:black;" | '''1''' | ||
+ | | style="background:#FFDEAD; color:red;" | '''0''' | ||
+ | | style="background:#FFDEAD; color:red;" | '''0''' | ||
+ | | style="background:#FFDEAD; color:red;" | '''0''' | ||
+ | |- align="center" | ||
+ | | style="background:white; color:black;" | '''''8''''' | ||
+ | | style="background:#FFDEAD; color:black;" | '''1''' | ||
+ | | style="background:#FFDEAD; color:black;" | '''247''' | ||
+ | | style="background:#FFDEAD; color:black;" | '''4293''' | ||
+ | | style="background:#FFDEAD; color:black;" | '''15619''' | ||
+ | | style="background:#FFDEAD; color:black;" | '''15619''' | ||
+ | | style="background:#FFDEAD; color:black;" | '''4293''' | ||
+ | | style="background:#FFDEAD; color:black;" | '''247''' | ||
+ | | style="background:#FFDEAD; color:black;" | '''1''' | ||
+ | | style="background:#FFDEAD; color:red;" | '''0''' | ||
+ | | style="background:#FFDEAD; color:red;" | '''0''' | ||
+ | |- align="center" | ||
+ | | style="background:white; color:black;" | '''''9''''' | ||
+ | | style="background:#FFDEAD; color:black;" | '''1''' | ||
+ | | style="background:#FFDEAD; color:black;" | '''502''' | ||
+ | | style="background:#FFDEAD; color:black;" | '''14608''' | ||
+ | | style="background:#FFDEAD; color:black;" | '''88234''' | ||
+ | | style="background:#FFDEAD; color:black;" | '''156190''' | ||
+ | | style="background:#FFDEAD; color:black;" | '''88234''' | ||
+ | | style="background:#FFDEAD; color:black;" | '''14608''' | ||
+ | | style="background:#FFDEAD; color:black;" | '''502''' | ||
+ | | style="background:#FFDEAD; color:black;" | '''1''' | ||
+ | | style="background:#FFDEAD; color:red;" | '''0''' | ||
+ | |} | ||
+ | |||
+ | ===Явные формулы=== | ||
+ | :<tex dpi=190>\left\langle{n\atop m}\right\rangle</tex> <tex> = \sum\limits_{j=1}^{m+1} (-1)^{m-j+1} {n+1\choose m-j+1}j^{n}</tex> | ||
+ | :<tex dpi=190>\left\langle{n\atop m}\right\rangle</tex> <tex> = \sum\limits_{j=0}^{m}(-1)^j {n+1\choose j} (m+1-j)^n</tex> | ||
+ | |||
+ | ===Связь чисел Эйлера I рода с сечениями гиперкубов=== | ||
+ | {{Теорема | ||
+ | |statement= | ||
+ | Число <tex>\dfrac{1}{n!}</tex> <tex dpi=190>\left\langle{n\atop m}\right\rangle</tex> выражает объем части <tex>n</tex>-мерного единичного гиперкуба, ограниченного гиперплоскостями <tex>x_1+x_2+\dots+x_n=m</tex> и <tex>x_1+x_2+\dots+x_n=m-1</tex>. | ||
+ | |proof= | ||
+ | Для доказательства этого факта нам потребуется следующая теорема: | ||
+ | {{Теорема | ||
+ | |about=Об объемах сечений <tex>n</tex>-мерных гиперкубов полупространствами | ||
+ | |statement= | ||
+ | |||
+ | Пусть <tex>w \in \mathbb{R}</tex> — вектор с ненулевыми компонентами (<tex>w = {w_1, w_2 \ldots w_n}</tex>), а <tex>z \in \mathbb{R}_+</tex>. Тогда верно следующее равенство: | ||
− | + | <tex>\mathrm{Vol}_{n}(G^n_{w,z} \cap I^{n}) = \dfrac{1}{n! \prod\limits_{i=1}^{n}w_i} \sum\limits_{K \subseteq [n]} (-1)^{|K|}(z-w \cdot 1_K)^n_+</tex> | |
− | <tex | + | *<tex>G_{w, z}^{n} := \{x \in \mathbb{R}^{n} : (w \cdot x) \leqslant z \}</tex> — полупространство; |
− | \ | + | *<tex>I^n := [0,1]^n</tex>; |
− | [ | + | *<tex>[n] := \{1,2\ldots n\}</tex>; |
− | </tex> | + | *<tex>1_K</tex>, где <tex>K</tex> — подмножество <tex>\{1,2\ldots n\}</tex>, {{---}} вектор, где значения координат с номерами, входящими в <tex>K</tex>, равны <tex>1</tex>, а остальные {{---}} нули; |
+ | *Для <tex>r \in \mathbb{R}</tex> и <tex>n \in \mathbb{N}</tex> : <tex>r^n_+ := (\max{\{r, 0\}})^n</tex>. | ||
− | + | |proof=С доказательством можно ознакомиться по ссылке <ref>http://arxiv.org/pdf/math/0607715.pdf</ref>. | |
+ | }} | ||
− | <tex | + | [[Файл:HypercubeEuler2_2.png|200px|thumb|m = 2, n = 1. V = 1/2]] |
+ | [[Файл:HypercubeEuler3.png|200px|thumb|m = 3, n = 2. V = 1/6]] | ||
+ | Рассмотрим пересечение гиперкуба полупространством <tex>G^n_{1_{[n]},m}</tex>. Вектор <tex>1_{[n]}</tex> (все координаты которого равны единицы) появляется здесь ввиду того, как мы определили в формулировке секущие гиперплоскости (<tex>x_1+x_2+\ldots +x_n = m | m+1</tex>) {{---}} это вектор нормали к <tex>\mathrm{G}</tex>. Очевидно, что при данном значении вектора произведение <tex>\prod\limits_{i=1}^{n}w_i</tex> равно единице (вектор <tex>w_i</tex> тут {{---}} единичный вектор <tex>1_{[n]}</tex>, то есть рассматривается произведение всех его координат {{---}} единиц). Рассмотрим выражение, стоящее под знаком суммы. При итерации по подмножествам <tex>[n]</tex> равной мощности будут получаться одинаковые слагаемые, так как выражение <tex>(-1)^{|K|}(z-w \cdot 1_K)^n_+</tex> зависит лишь от мощности итерируемого в сумме подмножества <tex>K</tex> {{---}} скалярное произведение <tex>w \cdot 1_K</tex> одинаково за счет того лишь факта, что оно вычисляется как сумма произведений соответствующих координат, где ровно <tex>n - |K|</tex> их обращаются в ноль. Такое скалярное произведение будет равно мощности <tex>K</tex>. Заменим итератор суммы значением мощности множества <tex>K</tex>. Также ограничим верхний индекс суммирования значением <tex>m+1</tex>, так как при больших значениях <tex>j</tex> слагаемое будет обращаться в ноль (<tex>r^n_+</tex>). Отсюда имеем <tex>{n \choose j}</tex> таких одинаковых слагаемых, где <tex>j = |K|</tex>. | ||
− | <tex | + | Тогда перейдем от первоначальной формулировки теоремы к следующей: |
+ | :<tex>\mathrm{Vol}_{n}(G^n_{1_{[n]},m} \cap I^{n}) = \dfrac{1}{n!}\sum\limits_{j = 0}^{m + 1} (-1)^{j}{n \choose j}(m-j)^n</tex> | ||
− | <tex | + | Положим <tex>W_n^m</tex> — фигура, образованная сечением гиперкуба <tex>[0,1]^{n}</tex> плоскостями <tex>\sum\limits_{i=1}^{n} x_{i} = m</tex> и <tex>\sum\limits_{i=1}^{n} x_{i} = m+1</tex>. |
+ | :<tex>W_n^m := \{ x \in \mathbb{R} : m \leqslant x \cdot 1_{[n]} \leqslant m+1 \} \cap I^{n}</tex> | ||
− | + | Тогда перейдем к следующему равенству: | |
− | <tex | + | :<tex>\mathrm{Vol}_{n}(W_n^m) = \mathrm{Vol}_n(G_{1_{[n]},m+1}^{n} \cap I^n) - \mathrm{Vol}_n(G_{1_{[n]},m}^{n} \cap I^n)</tex> |
+ | :<tex>= \dfrac{1}{n!}[\sum\limits_{j=0}^{m+1}(-1)^{j}{n \choose j}(m+1-j)^{n} - \sum\limits_{j=0}^{m}(-1)^{j}{n \choose j}(m-j)^{n}]</tex> | ||
+ | :<tex> = \dfrac{1}{n!}\sum\limits_{j=0}^{m+1}(-1)^j{n+1 \choose j}(m+1-j)^n</tex> | ||
+ | :<tex> = \dfrac{1}{n!}\sum\limits_{j=0}^{m}(-1)^j{n+1 \choose j}(m+1-j)^n</tex> (элемент суммы с номером <tex>j=m+1</tex> обращается в ноль) | ||
+ | :<tex> = </tex> <tex>\dfrac{1}{n!}</tex> <tex dpi=190>\left\langle{n\atop m}\right\rangle</tex> (вторая явная формула) | ||
− | + | }} | |
− | + | ===Свойства=== | |
− | == | + | # Нетрудно увидеть, что каждый ряд ненулевых значений симметричен относительно своей середины, то есть: |
+ | #:<tex dpi=190>\left\langle{n\atop m}\right\rangle = \left\langle{n\atop (n-1) - k}\right\rangle</tex><tex>,\ n \geqslant 1,\ 0 \leqslant k \leqslant n-1. \, </tex> | ||
+ | # Сумма всех значений каждого ряда равна <tex> n! </tex>: | ||
+ | #:<tex>\sum\limits_{m=0}^{n}</tex><tex dpi=190> \left\langle{n\atop m}\right\rangle</tex> <tex> = n!,\ n \geqslant 0, \,</tex> | ||
+ | # Связь чисел Эйлера I рода с числом сочетаний: | ||
+ | #:<tex>\sum\limits_{m=0}^n (-1)^m </tex><tex dpi=190>{\left\langle{n\atop m}\right\rangle}</tex> <tex>{n-1\choose m}^{-1}=0.</tex> | ||
+ | # Вероятность того, что сумма <tex>n</tex> независимых равномерно распределённых в отрезке <tex>[0,1]</tex> переменных лежит между <tex>m-1</tex> и <tex>m</tex> равна <tex>\dfrac{1}{n!}\left\langle{n\atop m}\right\rangle</tex>. | ||
==Числа Эйлера II рода== | ==Числа Эйлера II рода== | ||
+ | '''''Числа Эйлера II рода''''' (англ. ''Eulerian numbers of the second kind'') — количество перестановок мультимножества от <tex>1</tex> до <tex>n</tex> вида <tex>\{1,1,2,2\ldots n,n\}</tex>, обладающих свойством "все элементы перестановки, встречающиеся между двумя вхождниями <tex>z</tex> для любого <tex>z</tex>, больше, чем <tex>z</tex>", таких, что в каждой из них существует ровно <tex>m</tex> подъемов. Числа Эйлера II рода обозначаются как <tex dpi = "190"> \scriptstyle \left\langle \!\! \left\langle {n \atop m} \right\rangle \!\! \right\rangle </tex> | ||
+ | |||
+ | |||
+ | '''Пример''' | ||
+ | |||
+ | Рассмотрим <tex> n = 3</tex>. Тогда существует <tex>15</tex> перестановок такого вида, среди которых одна не имеет подъемов, <tex>8</tex> штук имеют всего <tex>1</tex> подъем, и <tex>6</tex> перестановок имеют <tex>2</tex> подъема: | ||
+ | |||
+ | :<tex> 332211,\; </tex> | ||
+ | :<tex> 221[13]3,\; 22[13]31,\; 2[23]311,\; [23]3211,\; 1[13]322,\; [13]3221,\; 331[12]2,\; 33[12]21, </tex> | ||
+ | :<tex>1[12][23]3,\; [12]2[13]3,\; 1[123]32,\; [123]321,\; [13]3[12]2,\; [12][23]31. </tex> | ||
+ | |||
+ | {{Лемма | ||
+ | |statement=Количество перестановок мультимножества <tex>\{1,1,2,2\ldots n,n\}</tex> со свойством "все элементы перестановки, встречающиеся между двумя вхождниями <tex>z</tex> для любого <tex>z</tex>, больше, чем | ||
+ | <tex dpi="130">z</tex>" равно двойному факториалу <tex dpi="130">(2n-1)!!</tex>. | ||
+ | |proof = Докажем лемму методом математической индукции. | ||
+ | *'''База'''. Для <tex>n=1</tex> очевидно, что существует только одна такая перестановка. | ||
+ | *'''Переход'''. Рассмотрим какую-нибудь перестановку длины <tex>2n</tex>. Таких перестановок <tex>(2n-1)!!</tex>. Теперь докажем, что перестановок длины <tex>2(n+1)</tex> будет <tex>(2(n+1)-1)!!</tex>. Попробуем вставить два числа <tex>n + 1</tex>. Очевидно, что их нельзя вставить не на соседние места, так как в таком случае между ними точно будут меньшие элементы. Но их можно вставить в любые два соседних места, так как они больше всех чисел в перестановке, а значит они не нарушат свойства для других элементов. Таким образом два новых элемента можно вставить в <tex>2n+1</tex> место. В итоге перестановок длины <tex>2(n+1)</tex> будет <tex>(2n-1)!!\cdot (2n+1)=(2n+1)!!=(2(n+1)-1)!!</tex>. | ||
+ | }} | ||
+ | |||
+ | ===Рекуррентная формула=== | ||
+ | Числа Эйлера II рода можно выразить рекурсивно следующим образом: | ||
+ | :<tex dpi=190> \left\langle \!\! \left\langle {n \atop m} \right\rangle \!\! \right\rangle</tex> <tex> = (2n-m-1) </tex> <tex dpi=180>\left\langle \!\! \left\langle {n-1 \atop m-1} \right\rangle \!\! \right\rangle</tex> <tex> + (m+1) </tex> <tex dpi=190>\left\langle \!\! \left\langle {n-1 \atop m} \right\rangle \!\! \right\rangle, </tex> | ||
+ | |||
+ | С начальным условием для <tex>n = 0</tex>: | ||
+ | :<tex dpi=190> \left\langle \!\! \left\langle {0 \atop m} \right\rangle \!\! \right\rangle</tex> <tex> = [m=0]. </tex> | ||
+ | |||
+ | ===Треугольник чисел Эйлера II рода=== | ||
+ | Значения чисел Эйлера II рода для <tex>0 \leqslant n \leqslant m \leqslant 9</tex> представлены в данном массиве. Нижнедиагональная его часть называется треугольником чисел Эйлера II рода. | ||
+ | |||
+ | :::{| class="number_triangle" | ||
+ | |||
+ | |- align="center" | ||
+ | | style="background:white; color:black; width:50px;" | | ||
+ | | style="background:white; color:black; width:50px;" | '''''m = 0''''' | ||
+ | | style="background:white; color:black; width:50px;" | '''''1''''' | ||
+ | | style="background:white; color:black; width:50px;" | '''''2''''' | ||
+ | | style="background:white; color:black; width:50px;" | '''''3''''' | ||
+ | | style="background:white; color:black; width:50px;" | '''''4''''' | ||
+ | | style="background:white; color:black; width:50px;" | '''''5''''' | ||
+ | | style="background:white; color:black; width:50px;" | '''''6''''' | ||
+ | | style="background:white; color:black; width:50px;" | '''''7''''' | ||
+ | | style="background:white; color:black; width:50px;" | '''''8''''' | ||
+ | | style="background:white; color:black; width:50px;" | '''''9''''' | ||
+ | |||
+ | |- align="center" | ||
+ | | style="background:white; color:black;" | '''''n = 0''''' | ||
+ | | style="background:#FFDEAD; color:black;" | '''1''' | ||
+ | | style="background:#FFDEAD; color:red;" | '''0''' | ||
+ | | style="background:#FFDEAD; color:red;" | '''0''' | ||
+ | | style="background:#FFDEAD; color:red;" | '''0''' | ||
+ | | style="background:#FFDEAD; color:red;" | '''0''' | ||
+ | | style="background:#FFDEAD; color:red;" | '''0''' | ||
+ | | style="background:#FFDEAD; color:red;" | '''0''' | ||
+ | | style="background:#FFDEAD; color:red;" | '''0''' | ||
+ | | style="background:#FFDEAD; color:red;" | '''0''' | ||
+ | | style="background:#FFDEAD; color:red;" | '''0''' | ||
+ | |||
+ | |- align="center" | ||
+ | | style="background:white; color:black;" | '''''1''''' | ||
+ | | style="background:#FFDEAD; color:black;" | '''1''' | ||
+ | | style="background:#FFDEAD; color:red;" | '''0''' | ||
+ | | style="background:#FFDEAD; color:red;" | '''0''' | ||
+ | | style="background:#FFDEAD; color:red;" | '''0''' | ||
+ | | style="background:#FFDEAD; color:red;" | '''0''' | ||
+ | | style="background:#FFDEAD; color:red;" | '''0''' | ||
+ | | style="background:#FFDEAD; color:red;" | '''0''' | ||
+ | | style="background:#FFDEAD; color:red;" | '''0''' | ||
+ | | style="background:#FFDEAD; color:red;" | '''0''' | ||
+ | | style="background:#FFDEAD; color:red;" | '''0''' | ||
+ | |- align="center" | ||
+ | | style="background:white; color:black;" | '''''2''''' | ||
+ | | style="background:#FFDEAD; color:black;" | '''1''' | ||
+ | | style="background:#FFDEAD; color:black;" | '''2''' | ||
+ | | style="background:#FFDEAD; color:red;" | '''0''' | ||
+ | | style="background:#FFDEAD; color:red;" | '''0''' | ||
+ | | style="background:#FFDEAD; color:red;" | '''0''' | ||
+ | | style="background:#FFDEAD; color:red;" | '''0''' | ||
+ | | style="background:#FFDEAD; color:red;" | '''0''' | ||
+ | | style="background:#FFDEAD; color:red;" | '''0''' | ||
+ | | style="background:#FFDEAD; color:red;" | '''0''' | ||
+ | | style="background:#FFDEAD; color:red;" | '''0''' | ||
+ | |- align="center" | ||
+ | | style="background:white; color:black;" | '''''3''''' | ||
+ | | style="background:#FFDEAD; color:black;" | '''1''' | ||
+ | | style="background:#FFDEAD; color:black;" | '''8''' | ||
+ | | style="background:#FFDEAD; color:black;" | '''6''' | ||
+ | | style="background:#FFDEAD; color:red;" | '''0''' | ||
+ | | style="background:#FFDEAD; color:red;" | '''0''' | ||
+ | | style="background:#FFDEAD; color:red;" | '''0''' | ||
+ | | style="background:#FFDEAD; color:red;" | '''0''' | ||
+ | | style="background:#FFDEAD; color:red;" | '''0''' | ||
+ | | style="background:#FFDEAD; color:red;" | '''0''' | ||
+ | | style="background:#FFDEAD; color:red;" | '''0''' | ||
+ | |- align="center" | ||
+ | | style="background:white; color:black;" | '''''4''''' | ||
+ | | style="background:#FFDEAD; color:black;" | '''1''' | ||
+ | | style="background:#FFDEAD; color:black;" | '''22''' | ||
+ | | style="background:#FFDEAD; color:black;" | '''58''' | ||
+ | | style="background:#FFDEAD; color:black;" | '''24''' | ||
+ | | style="background:#FFDEAD; color:red;" | '''0''' | ||
+ | | style="background:#FFDEAD; color:red;" | '''0''' | ||
+ | | style="background:#FFDEAD; color:red;" | '''0''' | ||
+ | | style="background:#FFDEAD; color:red;" | '''0''' | ||
+ | | style="background:#FFDEAD; color:red;" | '''0''' | ||
+ | | style="background:#FFDEAD; color:red;" | '''0''' | ||
+ | |- align="center" | ||
+ | | style="background:white; color:black;" | '''''5''''' | ||
+ | | style="background:#FFDEAD; color:black;" | '''1''' | ||
+ | | style="background:#FFDEAD; color:black;" | '''52''' | ||
+ | | style="background:#FFDEAD; color:black;" | '''328''' | ||
+ | | style="background:#FFDEAD; color:black;" | '''444''' | ||
+ | | style="background:#FFDEAD; color:black;" | '''120''' | ||
+ | | style="background:#FFDEAD; color:red;" | '''0''' | ||
+ | | style="background:#FFDEAD; color:red;" | '''0''' | ||
+ | | style="background:#FFDEAD; color:red;" | '''0''' | ||
+ | | style="background:#FFDEAD; color:red;" | '''0''' | ||
+ | | style="background:#FFDEAD; color:red;" | '''0''' | ||
+ | |- align="center" | ||
+ | | style="background:white; color:black;" | '''''6''''' | ||
+ | | style="background:#FFDEAD; color:black;" | '''1''' | ||
+ | | style="background:#FFDEAD; color:black;" | '''114''' | ||
+ | | style="background:#FFDEAD; color:black;" | '''1452''' | ||
+ | | style="background:#FFDEAD; color:black;" | '''4400''' | ||
+ | | style="background:#FFDEAD; color:black;" | '''3708''' | ||
+ | | style="background:#FFDEAD; color:black;" | '''720''' | ||
+ | | style="background:#FFDEAD; color:red;" | '''0''' | ||
+ | | style="background:#FFDEAD; color:red;" | '''0''' | ||
+ | | style="background:#FFDEAD; color:red;" | '''0''' | ||
+ | | style="background:#FFDEAD; color:red;" | '''0''' | ||
+ | |- align="center" | ||
+ | | style="background:white; color:black;" | '''''7''''' | ||
+ | | style="background:#FFDEAD; color:black;" | '''1''' | ||
+ | | style="background:#FFDEAD; color:black;" | '''240''' | ||
+ | | style="background:#FFDEAD; color:black;" | '''5610''' | ||
+ | | style="background:#FFDEAD; color:black;" | '''32120''' | ||
+ | | style="background:#FFDEAD; color:black;" | '''58140''' | ||
+ | | style="background:#FFDEAD; color:black;" | '''33984''' | ||
+ | | style="background:#FFDEAD; color:black;" | '''5040''' | ||
+ | | style="background:#FFDEAD; color:red;" | '''0''' | ||
+ | | style="background:#FFDEAD; color:red;" | '''0''' | ||
+ | | style="background:#FFDEAD; color:red;" | '''0''' | ||
+ | |- align="center" | ||
+ | | style="background:white; color:black;" | '''''8''''' | ||
+ | | style="background:#FFDEAD; color:black;" | '''1''' | ||
+ | | style="background:#FFDEAD; color:black;" | '''494''' | ||
+ | | style="background:#FFDEAD; color:black;" | '''19950''' | ||
+ | | style="background:#FFDEAD; color:black;" | '''195800''' | ||
+ | | style="background:#FFDEAD; color:black;" | '''644020''' | ||
+ | | style="background:#FFDEAD; color:black;" | '''785304''' | ||
+ | | style="background:#FFDEAD; color:black;" | '''341136''' | ||
+ | | style="background:#FFDEAD; color:black;" | '''40320''' | ||
+ | | style="background:#FFDEAD; color:red;" | '''0''' | ||
+ | | style="background:#FFDEAD; color:red;" | '''0''' | ||
+ | |- align="center" | ||
+ | | style="background:white; color:black;" | '''''9''''' | ||
+ | | style="background:#FFDEAD; color:black;" | '''1''' | ||
+ | | style="background:#FFDEAD; color:black;" | '''1004''' | ||
+ | | style="background:#FFDEAD; color:black;" | '''67260''' | ||
+ | | style="background:#FFDEAD; color:black;" | '''1062500''' | ||
+ | | style="background:#FFDEAD; color:black;" | '''5765500''' | ||
+ | | style="background:#FFDEAD; color:black;" | '''12440064''' | ||
+ | | style="background:#FFDEAD; color:black;" | '''11026296''' | ||
+ | | style="background:#FFDEAD; color:black;" | '''3733920''' | ||
+ | | style="background:#FFDEAD; color:black;" | '''362880''' | ||
+ | | style="background:#FFDEAD; color:red;" | '''0''' | ||
+ | |} | ||
+ | |||
+ | == См. также == | ||
+ | * [[Комбинаторные_объекты#.D0.9F.D0.B5.D1.80.D0.B5.D1.81.D1.82.D0.B0.D0.BD.D0.BE.D0.B2.D0.BA.D0.B8|Перестановки]] | ||
+ | * [[Числа_Стирлинга_первого_рода|Числа Стирлинга первого рода]] | ||
+ | * [[Числа_Стирлинга_второго_рода|Числа Стирлинга второго рода]] | ||
+ | * [[Числа_Каталана|Числа Каталана]] | ||
+ | |||
+ | ==Примечания== | ||
+ | <references/> | ||
+ | |||
+ | ==Источники информации== | ||
+ | <references/> | ||
+ | *[http://en.wikipedia.org/wiki/Eulerian_number Eulerian number — Wikipedia] | ||
+ | *[http://oeis.org/wiki/Eulerian_numbers Треугольник чисел Эйлера I рода — OEIS Wiki] | ||
+ | *[http://www.mathpages.com/home/kmath012/kmath012.htm Eulerian number — Math Pages] | ||
+ | *[http://mathworld.wolfram.com/EulerianNumber.html Числа Эйлера — Wolfram Mathworld] | ||
+ | *[http://www-personal.umich.edu/~mconger/andkpaper.pdf A Refinement of the Eulerian numbers] | ||
+ | *[http://arxiv.org/pdf/math/0607715.pdf Доказательство свойства о взаимосвязи чисел Эйлера I рода и объема сечений гиперкуба] | ||
+ | |||
+ | [[Категория: Дискретная математика и алгоритмы]] | ||
+ | |||
+ | [[Категория: Комбинаторика ]] |
Текущая версия на 19:35, 4 сентября 2022
Содержание
Числа Эйлера I рода
Определение: |
Пусть | и — соседние элементы некоторой перестановки порядка причем . Тогда пара называется подъемом (англ. ascent) данной перестановки.
Числа Эйлера I рода (англ. Eulerian numbers) — количество перестановок чисел от до таких, что в каждой из них существует ровно подъемов. Числа Эйлера I рода обозначают как или же .
Вывод рекуррентной формулы
Пусть у нас есть некая перестановка
. Тогда операцией вставки элемента с номером в какую-либо из позиций мы получим перестановок вида . Далее рассмотрим два случая:- Количество подъемов в перестановке равно количеству подъемов в . Этого можно добиться, вставляя элемент на самое первое место в (всего возможностей) или перед последним последним элементом каждого подъема (еще раз).
- Количество подъемов в новой перестановке на один больше предыдущего количества. Этого эффекта добиваемся вставкой элемента во все места, не подходящие по критерию первого пункта. Таких вставок, как не трудно догадаться, можно совершить .
Тогда рекуррентная формула имеет вид:
Примем также следующее начальное значение:
- [1].
Пример
Рассмотрим все перестановки порядка
, в которых есть ровно подъема (в квадратных скобках один или больше подъемов подряд):Согласно алгоритму вывода рекуррентной формулы мы можем добавить
в следующие позиции всех перестановок порядка с двумя подъемами, не увеличив количество подъемов:Далее рассмотрим все перестановки порядка
с одним подъемом, причем операцией вставки мы будем увеличивать количество подъемов на :Таким образом мы убеждаемся в верности формулы:
Треугольник чисел Эйлера I рода
На значениях
чисел Эйлера I рода можно построить массив , нижнедиагональная часть которого названа треугольником чисел Эйлера I рода.m = 0 1 2 3 4 5 6 7 8 9 n = 0 1 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 2 1 1 0 0 0 0 0 0 0 0 3 1 4 1 0 0 0 0 0 0 0 4 1 11 11 1 0 0 0 0 0 0 5 1 26 66 26 1 0 0 0 0 0 6 1 57 302 302 57 1 0 0 0 0 7 1 120 1191 2416 1191 120 1 0 0 0 8 1 247 4293 15619 15619 4293 247 1 0 0 9 1 502 14608 88234 156190 88234 14608 502 1 0
Явные формулы
Связь чисел Эйлера I рода с сечениями гиперкубов
Теорема: | ||||||
Число выражает объем части -мерного единичного гиперкуба, ограниченного гиперплоскостями и . | ||||||
Доказательство: | ||||||
Для доказательства этого факта нам потребуется следующая теорема:
Рассмотрим пересечение гиперкуба полупространством . Вектор (все координаты которого равны единицы) появляется здесь ввиду того, как мы определили в формулировке секущие гиперплоскости ( ) — это вектор нормали к . Очевидно, что при данном значении вектора произведение равно единице (вектор тут — единичный вектор , то есть рассматривается произведение всех его координат — единиц). Рассмотрим выражение, стоящее под знаком суммы. При итерации по подмножествам равной мощности будут получаться одинаковые слагаемые, так как выражение зависит лишь от мощности итерируемого в сумме подмножества — скалярное произведение одинаково за счет того лишь факта, что оно вычисляется как сумма произведений соответствующих координат, где ровно их обращаются в ноль. Такое скалярное произведение будет равно мощности . Заменим итератор суммы значением мощности множества . Также ограничим верхний индекс суммирования значением , так как при больших значениях слагаемое будет обращаться в ноль ( ). Отсюда имеем таких одинаковых слагаемых, где .Тогда перейдем от первоначальной формулировки теоремы к следующей: Положим — фигура, образованная сечением гиперкуба плоскостями и .Тогда перейдем к следующему равенству:
| ||||||
Свойства
- Нетрудно увидеть, что каждый ряд ненулевых значений симметричен относительно своей середины, то есть:
- Сумма всех значений каждого ряда равна
- Связь чисел Эйлера I рода с числом сочетаний:
- Вероятность того, что сумма независимых равномерно распределённых в отрезке переменных лежит между и равна .
Числа Эйлера II рода
Числа Эйлера II рода (англ. Eulerian numbers of the second kind) — количество перестановок мультимножества от
до вида , обладающих свойством "все элементы перестановки, встречающиеся между двумя вхождниями для любого , больше, чем ", таких, что в каждой из них существует ровно подъемов. Числа Эйлера II рода обозначаются как
Пример
Рассмотрим
. Тогда существует перестановок такого вида, среди которых одна не имеет подъемов, штук имеют всего подъем, и перестановок имеют подъема:Лемма: |
Количество перестановок мультимножества со свойством "все элементы перестановки, встречающиеся между двумя вхождниями для любого , больше, чем
" равно двойному факториалу . |
Доказательство: |
Докажем лемму методом математической индукции.
|
Рекуррентная формула
Числа Эйлера II рода можно выразить рекурсивно следующим образом:
С начальным условием для
:Треугольник чисел Эйлера II рода
Значения чисел Эйлера II рода для
представлены в данном массиве. Нижнедиагональная его часть называется треугольником чисел Эйлера II рода.m = 0 1 2 3 4 5 6 7 8 9 n = 0 1 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 2 1 2 0 0 0 0 0 0 0 0 3 1 8 6 0 0 0 0 0 0 0 4 1 22 58 24 0 0 0 0 0 0 5 1 52 328 444 120 0 0 0 0 0 6 1 114 1452 4400 3708 720 0 0 0 0 7 1 240 5610 32120 58140 33984 5040 0 0 0 8 1 494 19950 195800 644020 785304 341136 40320 0 0 9 1 1004 67260 1062500 5765500 12440064 11026296 3733920 362880 0