
Дональд Кнут. Искусство программирования. т.3 / knuth3
.pdf
Original pages: 034-040 21
В 1965 г. Доминик Фоата ввел одно интересное понятие, так называемое ”соединительное произведение”6, которое позволило распространить многие известные результаты, касающиеся обычных перестановок, на общий случаи перестановок мультимножества. [См. Publ. Inst. Statistique, Univ. Paris, 14 (1965), 81–241. а также Lecture Notes in Math., 85 (Springer, 1969).] Предполагая, что элементы мультимножества каким-то способом линейно упорядочены, можно рассмотреть двустрочное
обозначение, например |
|
: |
|
a a a b b c d d d d |
|
|
c a b d d a b d a d |
Здесь верхняя строка содержит элементы M в неубывающем порядке, и нижняя—это сама перестановка. Соединительное произведение > двух перестановок мультимножеств и —это перестановка, которая получается, если (a) взять двустрочные обозначения для и , (b) записать соответствующие строки в одну и (c) отсортировать столбцы так, чтобы элементы верхней строки расположились в неубывающем порядке. Сортировка должна быть устойчивой в том смысле, что взаимное расположение элементов нижней строки сохраняется, если соответствующие элементы верхней строки равны. Например, c a d a b > b d d a d = c a b d d a b d a d, так как
a a b c d |
a b d d d |
a a a b b c d d d d |
: |
|
c a d a b > |
b d d a d |
= c a b d d a b d a d |
(5) |
|
Нетрудно видеть, что операция соединительного произведения ассоциативна, т. е. |
|
|||
|
> > γ = > ( > γ); |
|
(6) |
|
и что она подчиняется законам сокращения |
|
|
|
|
|
если > = > , то = , |
|
|
|
|
если > = > , то = . |
|
|
|
Существует ”единичный элемент” |
|
|
|
|
|
> " = " > = ; |
|
(8) |
где "—пустая перестановка, ”расположение в ряд” элементов пустого множества. Закон коммутативности, вообще говоря, не выполняется (см. упр. 2), тем не менее
> = > ; если и не содержат общих букв. (9)
Аналогичным способом и понятие цикла можно распространить на случай, когда элементы могут
повторяться. Будем записывать в виде |
|
(x1 x2 : : : xn) |
(10) |
перестановку, двустрочное представление которой получается путем устойчивой сортировки столб-
цов |
|
|
|
x1 x2 x2 x3
по верхним элементам. Например,
(d b d d a c a a b d ) =
: : : xn |
|
|
|
|
|
(11) |
: : : x1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
d b d |
d |
a |
c |
a a b d |
= |
|
b d d a c a a b d d |
||||||
a a |
a |
b |
b |
c d d d |
d |
|
= c a b d d a b d a d |
так что перестановка (4) фактически является циклом. Мы могли бы описать этот цикл словесно, сказав что-нибудь вроде ”d переходит в b, переходит в d, переходит в d, переходит в : : :переходит в d и возвращается обратно”. Заметим, что эти обобщенные циклы не обладают всеми свойствами обычных циклов; (x1 x2 : : : xn) не обязательно то же самое, что и (x2 : : : xn x1) .
В п. 1.3.3 мы выяснили, что каждую перестановку множества можно единственным с точностью до порядка сомножителей образом представить в виде произведения непересекающихся циклов, где произведение перестановок определяется законом композиции. Легко видеть, что произведение непересекающихся циклов—то же самое, что их соединительное произведение; это наводит на мысль
6 В оригинале—”intercalation product”.—Прим. перев.
22Original pages: 041-045
о том, что можно будет обобщить полученные ранее результаты, если найти единственное (в каком-то смысле) представление и для произвольной перестановки мультимножества в виде соединительного произведения циклов. В действительности существуют по крайней мере два естественных способа сделать это, и каждый из них имеет важные приложения.
Равенство (5) дает один способ представления c a b d d a b d a d в виде соединительного произведения более коротких перестановок; рассмотрим общую задачу о нахождении всех разложений= > данной перестановки . Для исследования этого вопроса полезно рассмотреть конкретную перестановку, скажем
a |
a b |
b |
b |
b b |
c c c d |
d d d d |
; |
|
= d |
b c |
b |
c |
a c |
d a d d |
b b b d |
(12) |
Если можно записать в виде > , где содержит по крайней мере одну букву a, то самое левое a в верхней строке двустрочного представления должно оказаться над d, значит, перестановка должна содержать по крайней мере одну букву d. Если взглянуть теперь на самое левое d в верхней строке , то увидим точно так же, что оно должно оказаться над d, значит, в должны содержаться по меньшей мере две буквы d. Посмотрев на второе d, видим, что содержит также b. Одно-единственное предположение о том, что есть левый сомножитель , содержащий букву a, приводит к такому
промежуточному результату: |
0a |
|
|
|
|
|
|
1 |
|
|
|
: : : |
b |
: : : |
d |
d |
: : : |
: |
(13) |
||
|
@ |
|
|
|
|
|
|
A |
|
|
|
d |
|
|
|
d |
b |
|
|
|
|
Продолжая рассуждать точно так же и далее, обнаружим, что букваbв верхней строке (13) должна оказаться над c и т. д. В конце концов этот процесс вновь приведет нас к букве a, и мы сможем, если захотим, отождествить ее с первой буквой a. Только что проведенное рассуждение, по существу, доказывает, что любой левый сомножитель в разложении перестановки (12), содержащий a, имеет вид (d d b c d b b c a) > 0, где 0— некоторая перестановка. (Удобно записывать a не в начале, а в конце цикла; это допустимо, поскольку буква a только одна.) Аналогично, если бы мы предположили, что
содержит букву b, то вывели бы, что = (c d d b) > 00, где 00—некоторая перестановка.
Вобщем случае эти рассуждения показывают, что если есть какое-нибудь разложение > = , где содержит данную букву y, то существует единственный цикл вида
(x1 : : : xn y); |
n 0; x1; : : : ; xn 6= y; |
(14) |
который является левым сомножителем в разложении перестановки . Такой цикл легко отыскать, зная и y; это самый короткий левый сомножитель в разложении перестановки , содержащий букву y. Одно из следствий этого наблюдения дает
Теорема A. Пусть элементы мультимножества M линейно упорядочены отношением ”<”. Каждая перестановка мультимножества M имеет единственное представление в виде соединительного произведения
= (x11 : : : x1n1 y1) > (x21 : : :x2n2 y2) > : : : (xt1 : : : xtnt yt); t 0; |
(15) |
удовлетворяющее следующим двум условиям:
y1 y2 : : : yt; |
|
yi < xij при 1 j ni, 1 i t. |
(16) |
(Иными словами, в каждом цикле последний элемент меньше любого другого, и последние элементы циклов образуют неубывающую последовательность.)
Доказательство. При = " получим требуемое разложение, положив t = 0. В противном случае пусть y1—минимальный элемент ; определим (x11 : : : x1n1 y1)—самый короткий левый сомножитель разложения , содержащий y1, как в рассмотренном примере. Теперь = (x11 : : : x1n1 y1) > , где—некоторая перестановка; применив индукцию по длине перестановки, можем написать
= (x21 : : :x2n2 y2) > : : : > (xt1 : : : xtnt yt); t 1;
где условия (16) выполнены. Тем самым доказано существование такого разложения.
Докажем единственность разложения (15), удовлетворяющего условиям (16). Ясно, что t = 0 тогда и только тогда, когда — пустая перестановка ". При t > 0 из (16) следует, что y1—минимальный
Original pages: 041-045 23
элемент перестановки и что (x11 : : : x1n1 y1—самый короткий левый сомножитель, содержащий y1. Поэтому (x11 : : : x1n1 y1) определяется однозначно; доказательство единственности такого представления завершается применением индукции и законов сокращения (7).
Например, ”каноническое” разложение перестановки (12), удовлетворяющее данным условиям, таково:
(d d b c d b b c a) > (b a) > (c d b) > (d); |
(17) |
если a < b < c < d.
Важно отметить, что на самом деле в этом определении можно отбросить скобки и знаки операции >, и это не приведет к неоднозначности! Каждый цикл заканчивается появлением наименьшего из оставшихся элементов. Таким образом, наше построение связывает с исходной перестановкой
0 = d d b c d b b c a b a c d b d
перестановку
= d b c b c a c d a d d b b b d:
Если в двустрочном представлении содержится столбец вида xy , где x < y, то в связанной с перестановке присутствует соответствующая пара соседних элементов : : : y x : : :. Так, в нашем примересодержит три столбца вида db , а в 0 трижды встречается пара d b. Вообще из этого построения вытекает замечательная
Теорема B. Пусть M—мультимножество. Существует взаимно однозначное соответствие между перестановками M, такое, что если соответствует 0, то выполняются следующие условия:
a)крайний левый элемент 0 равен крайнему левому элементу ;
b)для всех пар участвующих в перестановке элементов (x; y),
таких, что x < y, число вхождений столбца xy в двустрочное представление перестановки равно числу случаев, когда в перестановке 0 элемент x следует непосредственно за y.
Если M—множество, то это, по существу, ”нестандартное соответствие”, обсуждавшееся в конце п. 1.3.3, с незначительными изменениями. Более общий результат теоремы B полезен при подсчете числа перестановок специальных типов, поскольку часто проще решить задачу с ограничениями, наложенными на двустрочное представление, чем эквивалентную задачу с ограничениями на пары соседних элементов.
П. А. Мак-Магон рассмотрел задачи этого типа в своей выдающееся книге Combinatory Analysis (Cambridge Univ. Press, 1915), том 1, стр. 168–186. Он дал конструктивное доказательство теоремы B в частном случае, когда M содержит элементы лишь двух различных типов, скажем a и b, его построение для этого случая, по существу, совпадает с приведенным здесь, но представлено в совершенно ином виде. Для случая трех различных элементов a, b, c Мак-Магон дал сложное неконструктивное доказательство теоремы B; общий случай впервые доказал Фоата в 1965 г.
В качестве нетривиального примера применения теоремы B найдем число цепочек букв a, b, c, содержащих ровно
A вхождений буквы a;
B вхождений буквы b;
C вхождений буквы c;
(18)
k вхождений пары стоящих рядом букв c a; l вхождений пары стоящих рядом букв c b; m вхождений пары стоящих рядом букв b a;
Из теоремы следует, что это то же самое, что найти число двустрочных массивов вида
|
|
|
|
|
|
|
A |
|
|
|
|
|
|
|
B |
|
|
|
|
|
|
C |
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
za |
::}|:: :: |
a{ |
zb |
::}|:: :: |
b{ |
zc |
::}|:: :: |
c{ |
(19) |
||||||||||||||||||||||
| |
|
|
|
{z |
|
|
|
} |
| |
|
|
{z |
|
|
|
} |
| |
|
|
{z |
|
|
|
} |
|
||||||
A−k−m букв a m букв a |
|
k букв a |
|
||||||||||||||||||||||||||||
| |
|
|
|
|
|
|
|
|
{z |
|
|
|
|
|
|
|
} |
| |
|
|
{z |
|
|
|
} |
|
|||||
|
|
|
B |
− |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||
|
|
|
|
|
|
l букв b |
|
|
|
|
|
l букв b |
|
||||||||||||||||||
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
{z |
|
|
|
|
|
|
|
|
|
|
|
} |
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
C букв c
24 Original pages: 041-045
Буквы a можно расположить во второй строке
|
|
|
A |
|
|
|
C |
|
|
|
|
|
|
||
|
|
|
|
B |
|
|
способами; |
|
|||||||
|
A − k − m m |
|
k |
|
|
||||||||||
|
|
|
|
|
|
|
|
||||||||
после этого буквы b можно разместить в оставшихся позициях |
|
|
|
|
|||||||||||
|
B |
+ l |
C −l |
k |
способами. |
|
|
||||||||
|
|
B |
|
k |
|
|
|
|
|
|
|
|
|
||
|
|
|
|
− |
|
|
|
|
|
|
|
|
|
|
|
Остальные свободные места нужно заполнить буквами c; следовательно, искомое число равно |
|
||||||||||||||
A |
|
k |
|
|
m |
m |
k |
B |
+ l |
C |
−l |
: |
(20) |
||
|
− |
A |
− |
|
B |
|
C |
|
B |
k |
|
k |
|
||
|
|
|
|
|
|
|
|
− |
|
|
|
|
Вернемся к вопросу о нахождении всех разложений данной перестановки. Существует ли такой объект, как ”простая” перестановка, которая не разлагается на множители, отличные от нее самой и "? Обсуждение, предшествующее теореме A, немедленно приводит к выводу о том, что перестановка будет простой тогда и только тогда, когда она есть цикл без повторяющихся элементов, так как, если перестановка является таким циклом, наше рассуждение доказывает, что не существует левых множителей, кроме " и самого цикла. Если же перестановка содержит повторяющийся элемент y, то всегда можно выделить нетривиальный цикл в качестве левого сомножителя, в котором элемент у встречается всего однажды.
Если перестановка не простая, то ее можно разлагать на все меньшие и меньшие части, пока не будет получено произведение простых перестановок. Можно даже показать, что такое разложение единственно с точностью до порядка записи коммутирующих сомножителей.
Теорема C. Каждую перестановку мультимножества можно записать в виде произведения
1 > 2 > : : : > t; t 0; |
(21) |
где j—циклы, не содержащие повторяющихся элементов. Это представление единственно в том смысле, что любые два таких представления одной и той же перестановки можно преобразовать одно в другое, последовательно меняя местами соседние непересекающиеся циклы.
Термин ”непересекающиеся циклы” относится к циклам, не имеющим общих элементов. В качестве примера можно проверить, что перестановка
a |
a |
b |
b |
c |
c |
d |
b |
a |
a |
c |
d |
b |
c |
разлагается на множители ровно пятью способами:
(a b) > (a) > (c d) > (b c) = (a b) > (c d) > (a) > (b c) =
= (a b) > (c d) > (b c) > (a) =
(22)
= (c d) > (a b) > (a) > (b c) = = (c d) > (a b) > (b c) > (a):
Доказательство. Нужно установить, что выполняется сформулированное в теореме свойство единственности. Применим индукцию по длине перестановки; тогда достаточно доказать, что если
и—два различных цикла, не содержащие повторяющихся элементов, и
> = > ;
то и —непересекающиеся циклы, и
= > ; = > ;
где —некоторая перестановка.
Пусть y—произвольный элемент цикла , тогда у любого левого сомножителя в разложении > , содержащего этот элемент y, будет левый сомножитель . Значит, если и имеют общий элемент, то цикл должен быть кратен ; следовательно, = (так как они простые), что противоречит

Original pages: 046-060 25
нашему предположению. Следовательно, цикл, содержащий y и не имеющий общих элементов с , должен быть левым сомножителем в разложении . Применив законы сокращения (7), завершим доказательство.
В качестве иллюстрации теоремы C рассмотрим перестановки мультимножества M = fA a; B b; C cg, состоящего из A элементов a, B элементов b и C элементов c. Пусть N(A; B; C; m)— число перестановок мультимножества M, двустрочное представление которых не содержит столбцов вида
a |
, b |
, c |
и содержит ровно m столбцов вида a. Отсюда следует, что имеется ровно A |
− |
m столбцов вида a, |
||||||
a |
b |
c |
c |
b |
c |
b |
|
|
|
c |
|
B −mbстолбцов вида b |
, C −B +m столбцов вида a, C −A+m столбцов вида c |
и A+B −C −m столбцов |
|||||||||
вида a ; следовательно, |
|
|
|
|
|
|
|
||||
|
|
|
|
A |
B |
C |
|
|
|
|
|
|
|
|
|
N(A; B; C; m) = m |
C − A + m |
B − m : |
|
|
|
(23) |
|
|
|
Теорема C предлагает другой способ для подсчета этих перестановок: коль скоро столбцы a |
, b |
, c |
|||||||
|
|
|
|
|
|
|
|
|
a |
b |
c |
исключены, то в разложении перестановки единственно возможны такие простые множители: |
|
|
|||||||||
|
|
|
|
(a b); (a c); (b c); (a b c); (a c b): |
|
|
|
(24) |
Каждая пара этих циклов имеет хотя бы одну общую букву, значит, разложение единственно. Если цикл (a b c) встречается в разложении k раз, то из нашего предыдущего предположения следует, что (a b) встречается m − k раз, (b c) встречается C − A + m − k раз, (a c) встречается C − B + m − k раз и (a c b) встречается A + B − C − 2m + k раз. Следовательно, N(A; B; C; m) равно числу перестановок этих циклов (мультиноминальному коэффициенту), просуммированному по всем значениям k:
X |
|
|
− |
|
− |
|
|
− |
|
− |
|
− |
|
− − |
|
N(A; B; C; m) = |
(m |
|
k)!(C |
|
|
|
|
|
(C + m − k)! |
C 2m + k)! |
= |
||||
k |
|
|
A + m k)!(C B + m |
|
k)!k!(A + B |
|
|||||||||
|
k |
m C |
|
B + m |
|
k |
A |
|
|
|
|
||||
k |
− |
− |
|
|
|
||||||||||
X |
m |
|
A |
|
|
A − m |
|
C + m − k : |
|
|
|||||
= |
|
|
|
|
|
|
|
|
(25) |
Сравнивая это с (23), обнаруживаем, что должно выполняться тождество |
|
m |
||||||||||||||
k |
k |
|
C |
− |
B + m |
− |
k |
|
A |
|
C |
− |
A + m B |
|
||
X |
|
|
A − m |
|
|
|
|
− k |
|
|
− |
|||||
|
m |
|
|
|
|
|
C + m |
= |
|
B |
C |
: |
||||
Оказывается, с этим тождеством мы встречались в упр. 1.2.6-31: |
|
|
|
|||||||||||||
|
j |
|
−j + |
|
N |
− |
−j |
M + N = M N ; |
|
|||||||
|
X |
|
|
|
|
|
|
|
|
R + j |
|
R S |
|
|
||
|
|
|
M R S N + R S |
|
|
|
|
(26)
(27)
где M = A + B − C − m, N = C − B + m, R = B, S = C, а j = C − B + m − k.
Аналогично можно подсчитать число перестановок мультимножества fA a; B b; C c; D d g, если
количество столбцов различных типов в них задано следующим образом: |
|
|
||||||||
Столбец: |
a |
a |
b |
b |
c |
c |
d |
d |
|
|
|
d |
b |
a |
c |
b |
d |
a |
c |
(28) |
|
Количество: r |
A − r |
q |
B − q |
B − A + r |
D − r |
A − q |
D − A + q |
|
||
(Здесь A + C = B + D.) Возможными циклами в разложении такой перестановки на простые множи- |
||||||||||
тели будут |
|
|
|
|
|
|
|
|
|
|
Цикл: |
(a b) |
|
(b c) |
|
(c d) |
(d a) |
(a b c d) |
(d c b a) |
(29) |
|
Количество: |
A − r − s B − q − s D − r − s A − q − s |
s |
q − A + r + s |
|||||||
|
при некотором s (см. упр. 12). В этом случае циклы (a b) и (c d) коммутируют, так же как и циклы (b c) и (d a), поэтому необходимо подсчитать число различных разложений на простые множители. Оказывается (см. упр. 10), всегда существует единственное разложение, такое, что цикл (a b) никогда не следует непосредственно за (c d), а (b c)не встречается сразу после (d a). Отсюда, пользуясь результатом
упр. 13, получаем тождество |
−q −s − |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||
s;t |
t A |
− |
r |
− |
s |
− |
t |
B |
(D |
− |
r |
− |
s)!(A |
− |
q |
− |
s)!s!(q |
− |
A + r + s)! |
|
|
|
|||
X |
|
|
|
|
|
− − |
|
|
|
|
|
|
|
|
|
|
|
||||||||
|
B |
A |
− q |
− s |
|
B + D r s t |
|
|
|
|
|
|
|
|
D! |
|
|
|
= |
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
r |
|
A − q |
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
D − r |
q |
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
= |
A |
|
B + D − A |
B |
D |
: |
26 Original pages: 046-060
Вынося из обеих частей множитель |
D |
и слегка упрощая факториалы, приходим к сложному на |
||||||||||||||||
A−q |
||||||||||||||||||
вид пятипараметрическому тождеству биномиальных коэффициентов: |
r |
|
|
|
q |
|||||||||||||
s;t |
t |
−s − |
D + q− |
r− |
|
t− |
D |
− r |
− |
s |
r + |
−t |
q |
D |
− |
r |
||
X |
|
|
− |
− |
|
|
− |
|
|
− |
|
|
|
− A |
|
|||
|
B |
A r t |
B + D r |
|
s |
t |
D |
A + q |
A |
q |
= |
A |
B + D |
B : (30) |
Пользуясь тождеством (27), можно выполнить суммирование по s, а получившаяся сумма по t легко вычисляется. Таким образом, после всей проделанной работы нам не посчастливилось обнаружить какое-либо тождество, которое мы бы еще не умели выводить. Но мы по крайней мере научились подсчитывать число перестановок определенного вида двумя различными способами, а эти методы подсчета—хорошая подготовка к решению задач, которые еще впереди.
Упражнения
1.[М05] Да или нет? Пусть M1 и M2—мультимножества. Если —перестановка M1, а — перестановка M2, то > —перестановка M1 [ M2.
2.[10] Соединительное произведение перестановок c a d a b и b d d a d вычислено в (5); найдите соединительное произведение b d d a d > c a d a b, которое получается, если сомножители поменять местами.
3.[М13] Верно ли утверждение, обратное (9)? Иначе говоря, если перестановки и коммутативны относительно операции соединительного произведения, то следует ли из этого, что они не содержат общих букв?
4.[M11] Каноническое разложение перестановки (12) в смысле теоремы A при a < b < c < d задается формулой (17). Найдите соответствующее каноническое разложение в случае, когдаd < c < b < a.
5.[М23] В условии (b) теоремы B требуется, чтобы x < y; что будет, если ослабить это требование, заменив его на x y?
6.[М15] Сколько существует цепочек, состоящих ровно из m букв a и n букв b, таких, что ровно k букв b стоят непосредственно перед буквами a и нет никаких других букв, кроме a и b?
7.[М21] Сколько цепочек из букв a, b, c, удовлетворяющих условиям (18), начинается с буквы a? с буквы b? с буквы c?
>8. [20] Найдите все разложения перестановки (12) на два множителя > .
9.[33] Напишите программы для ЭВМ, которые бы производили разложения заданной перестановки мультимножества, описанные в теоремах A и C.
>10. [M30] Да или нет? Согласно теореме C, разложение на простые множители не вполне однозначно, тем не менее можно следующим образом обеспечить единственность. ”Существует линейное упорядочение на множестве простых перестановок, такое, что каждая перестановка мультимножества имеет единственное разложение 1 > 2>: : :> n на простые множители, удовлетворяющее условию i i+1, если i коммутирует с i+1, при 1 i < n”.
11.[М26] Пусть 1, 2, : : : , t—циклы без повторяющихся элементов. Определим частичное упорядочение на множестве t элементов fx1; : : : ; xt g, полагая xi xj, если i < j и i имеет по крайней мере одну общую букву с j. Докажите следующую связь между теоремой C и понятием ”топологической сортировки” (п. 2.2.3): число различных разложений перестановки 1 > 2 > : : : > t на простые множители равно количеству способов топологически отсортировать данное частичное упорядочение. (Например, в соответствии с (22) существует пять способов топологически отсортировать упорядочение x1 x3, x2 x4, x1 x4.) Обратно, если на множестве из t элементов задано какое-то частичное упорядочение, то существует множество циклов
f 1; 2; : : : ; t g;
которое определяет это частичное упорядочение указанным способом.
12.[М16] Покажите, что соотношения (29) являются следствиями предположений (28).
13.[М21] Докажите, что число перестановок мультимножества fA a; B b; C c; D d; E e; F f g, не содержащих пар стоящих рядом букв c a и d b, равно
t |
A |
− |
t |
+ +t |
+ |
|
+ + |
B |
− |
C; D; E; F |
: |
X |
|
|
A B E F A B C + E + F t C + D + E + F |
|
|||||||
|
D |
|
|
14.[M30] Один из способов определить перестановку −1, ”обратную” перестановке , который подсказан нам другими определениями этого пункта, это поменять местами строки двустрочного
Original pages: 046-060 27
представления и затем выполнить устойчивую сортировку столбцов, так чтобы элементы верхней строки расположились в неубывающем порядке. Например, если a < b < c < d, то из этого определения следует, что c a b d d a b d a d−1 = a c d a d a b b d d.
Исследуйте свойства этой операции обращения; имеется ли, например, какая-нибудь простая связь между ней и соединительным произведением? Можно ли подсчитать число перестановок, таких, что = −1?
>15. [М25] Докажите, что перестановка a1 : : : an мультимножества
fn1 x1; n2 x2; : : : ; nm xm g;
где x1 < x2 < : : : < xn и n1 + n2 + + nm = n, является циклом тогда и только тогда, когда направленный граф с вершинами fx1; x2; : : :; xm g и дугами из xj в an1+ +nj содержит ровно один ориентированный цикл. В этом случае число способов представить перестановку в виде цикла равно длине этого ориентированного цикла. Например, направленным графом, соответствующим
перестановке |
|
|
|
|
|
|
|
|
|
|
; будет |
|
a |
a |
a |
b |
b |
c |
c |
c |
d |
d |
|
|
d |
c |
b |
a |
c |
a |
a |
b |
d |
c |
|
Picture: |
p. 48 |
|
|
|
|
|
|
|
|
|
|
адва способа представить перестановку в виде цикла—это (b a d d c a c a b c) и (c a d d c a c b a b).
16.[М35] В предыдущем пункте, формула (8), мы нашли производящую функцию для инверсий перестановок в частном случае, когда в перестановке участвуют элементы множества. Покажите, что в общем случае перестановок мультимножества производящая функция для инверсий равна ”z-мультиномиальному коэффициенту”
n |
z = |
n!z |
; |
где m!z = (1 − z)(1 − z2): : : (1 − zm). |
n1; n2; : : : |
n1!zn2!z : : : |
[Ср. с (3); z-биномиальные коэффициенты определены в формуле (1.2.6-37).]
17.[M24] Пользуясь производящей функцией, найденной в упр. 16, вычислите среднее значение и дисперсию для числа инверсий в случайной перестановке мультимножества.
18.[M30] (П. А. Мак-Магон.) Индекс перестановки a1 a2 : : : an был определен в предыдущем пункте; мы доказали, что число перестановок данного множества, имеющих данный индекс k, равно числу перестановок, имеющих k инверсий. Верно ли это для перестановок заданного мультимножества?
19.[ВМ28] Определим функцию Мёбиуса ( ) перестановки : она равна 0, если содержит повторяющиеся элементы, и (−1)k в противном случае, если —произведение k простых перестановок. (Ср. с определением обычной функции Мёбиуса, упр. 4.5.2-10.) (a) Докажите, что если 6= ", то
X
( ) = 0;
где сумма берется по всем перестановкам , являющимся левыми сомножителями в разложении (т. е. > = , где —некоторая перестановка) (b) Докажите, что если x1 < x2 < : : : < xm и = xi1 xi2 : : :xin , где 1 il m при 1 j n, то
Q
( ) = (−1)m"(i1i2 : : :in); где "(i1i2 : : : in) = sign 1 j<k n(ik − ij).
20. [ВМ33] (Д. Фоата.) Пусть (aij)—произвольная матрица действительных чисел. Пользуясь обозначениями упр. 19 (b), определим ( ) = ai1j1 : : : ainjn , если двустрочное представление переста-
новки таково: |
|
|
|
|
: |
|
xi1 |
xi2 |
: : : |
xin |
|
|
xj1 |
xj2 |
: : : |
xjn |
Эта функция полезна при вычислении производящих функций для перестановок мультимноже-
P
ства, потому что ( ), где сумма берется по всем перестановкам мультимножества fn1 x1; : : :; nm xm g;
будет производящей функцией для числа перестановок, удовлетворяющих некоторым ограниче-
P
ниям. Например, если положить aij = z при i = j и aij = 1 при i 6= j, то ( )—производящая
28 Original pages: 046-060
функция для числа ”неподвижных точек” (столбцов, в которых верхний и нижний элементы рав-
ны). Чтобы можно было исследовать |
|
|
для всех мультимножеств одновременно, рассмотрим |
|||||
функцию |
P ( |
) |
|
|
|
|
|
|
|
G = X ( ); |
|
всех перестановок мультимножеств, |
|||||
где сумма берется по всем из множества |
f |
x1; : : : ; xm |
g |
|||||
|
|
|
|
|
n1 |
nm |
||
содержащих элементы x1, : : : , xm, и посмотрим на коэффициенты при x1 |
: : : xm в G. |
В этой формуле для Gбудем рассматривать как произведение переменных x. Например, при m = 2 имеем
G= 1 + x1 (x1) + x2 (x2) + x1x1 (x1x1) + x1x2 (x1x2) + x2x1 (x2x1) + x2x2 (x2x2) + : : : =
= 1 + x1a11 + x2a22 + x21a211 + x1x2a11a22 + x1x2a21a12 + x22a222 + : : : :
Таким образом, коэффициент при xn11 : : :xnmm в G равен сумме P ( ) по всем перестановкам мультимножества fn1 x1; : : : ; nm xm g. Нетрудно видеть, что этот коэффициент равен также коэффициенту при xn11 : : :xnmm в выражении
(a11x1 + + a1mxm)n1 (a21x1 + + a2mxm)n2 : : : (am1 x1 + + ammxm)nm :
Цель этого упражнения—доказать то, что П. А. Мак-Магон в своей книге Combinatory Analysis (1915), том 1, разд. 3, назвал ”основной теоремой”, а именно формулу
|
B |
1 − a11x1 |
−a12x2 |
: : : |
−a1mxm |
C |
|
|||||||
|
|
|
.. |
|
|
|
a22x2 : : : |
|
|
.. |
|
|||
G = 1=D; где D = det |
0 |
− |
a21x1 |
1 |
− |
− |
a2mxm |
1 |
: |
|||||
. |
|
|
|
|
. |
|||||||||
|
@ |
− |
am1x1 |
− |
am2x2 |
: : : 1 |
− |
|
A |
|
||||
|
B |
|
|
|
|
|
ammxm C |
|
Например, если aij = 1 при всех i, j, то эта формула дает
G= 1=(1 − (x1 + x2 + + xm));
икоэффициент при xn11 : : : xnmm оказывается равным (n1 + + nm)!=n1!: : :nm!, как ему и положено.
Для доказательства основной теоремы Мак-Магона покажите, что (a) ( > ) = ( ) ( ); (b) в обо-
P
значениях упр. 19 D = ( ) ( ), где сумма берется по всем перестановкам из множества
fx1; : : :; xm g ;
и, наконец, (c) D G = 1.
5.1.3.*Отрезки
Вп. 3.3.2 мы рассмотрели ”неубывающие отрезки” как один из методов, позволяющих проверить случайность последовательности. Если поместить вертикальные черточки с обоих концов перестановки a1a2 : : : an, а также между aj и aj+1, когда aj > aj+1, то отрезками будут называться сегменты, ограниченные парами черточек. Например, в перестановке
j3 5 7 j 1 6 8 9 j 4 2
—четыре отрезка. Мы нашли среднее число отрезков длины k в случайной перестановке множества f1; 2; : : : ; n g, а также ковариацию числа отрезков длины j и длины k. Отрезки важны при изучении алгоритмов сортировки, так как они представляют упорядоченные сегменты данных. Поэтому-то мы теперь вновь вернемся к вопросу об отрезках. Обозначим через
DnE
(1)
k
|
n |
|
|
f1 |
; |
2 |
; : : : ; n |
g |
, имеющих ровно k возрастающих отрезков. Такие чис- |
число перестановок множества |
|
|
|
||||||
|
|
|
возникают и в других контекстах; их обычно называют числами Эйлера, потому что Эйлер |
||||||
ла k |
|
обсудил их в своей знаменитой книге Institutiones calculi differentialis (St. Petersburg, 1755), 485– 487 [Euler, Opera Omnia, (1) 10 (1913), 373–375]; их следует отличать от ”эйлеровых чисел”, о которых идет речь в упр. 5.1.4-22.
Из любой данной перестановки множества f1; 2; : : : ; n − 1 g можно образовать n новых перестановок, вставляя элемент n во все возможные места. Если в исходной перестановке содержалось
Original pages: 046-060 29
k отрезков, то ровно k новых перестановок будут иметь k отрезков; в остальных n − k перестановках будет по k +1 отрезков, поскольку всякий раз, когда n вставляется не в конец уже существующего отрезка, число отрезков увеличивается на единицу. Например, среди шести перестановок, полученных из перестановки 3 1 2 4 5,
6 3 1 2 4 5; |
3 6 1 2 4 5; |
3 1 6 2 4 5; |
3 1 2 6 4 5; |
3 1 2 4 6 5; |
3 1 2 4 5 6; |
все, кроме второй и последней, содержат по три отрезка вместо исходных двух. Отсюда имеем рекуррентное соотношение
Dk E |
|
k |
|
+ (n |
− |
k − 1 |
|
где n целое, n |
|
1; k целое. |
(2) |
n |
= k |
n − 1 |
|
|
k + 1) n − 1 |
; |
|
||||
Условимся, что |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0 |
|
|
|
|
|
|
|
|
|
|
|
k = 1k; |
|
|
|
(3) |
т. е. будем считать, что в пустой перестановке содержится один отрезок. Читатель, возможно, найдет небезынтересным сравнить (2) с рекуррентным соотношением для чисел Стирлинга [формулы (1.2.6- 42)]. В табл. 1 приведены числа Эйлера для малых n.
В табл. 1 можно заметить некоторые закономерности. По определению имеем
|
|
|
|
|
DnE D |
1 E |
n |
|
|
D |
n |
E |
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
n |
|
+ |
n |
+ |
|
+ |
|
|
= n!; |
|
|
|
|
(4) |
||||||
|
|
|
|
|
0 |
|
|
|
|
n |
|
|
|
|
|
||||||||||
|
|
|
|
|
DnE |
= 0; |
D1E |
= 1; |
|
|
|
|
|
|
|
|
(5) |
||||||||
|
|
|
|
|
0 |
|
|
|
|
|
|
|
|
|
|
|
|||||||||
|
|
|
|
|
DnE = 1 |
|
|
при n 1. |
|
|
|
|
|
|
(6) |
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Таблица 1 |
||||
|
D |
|
E D |
|
E D |
|
Числа Эйлера |
|
|
E D |
|
E D |
|
E |
|||||||||||
|
n |
n |
n |
E D |
n |
E D |
n |
E D |
n |
n |
n |
||||||||||||||
|
n |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||
|
|
0 |
|
1 |
|
|
2 |
|
|
3 |
|
|
|
4 |
|
|
|
5 |
|
|
6 |
|
7 |
|
|
0 |
|
0 |
|
1 |
|
|
0 |
|
|
0 |
|
|
|
0 |
|
|
|
0 |
|
|
0 |
|
0 |
|
|
1 |
|
0 |
|
1 |
|
|
0 |
|
|
0 |
|
|
|
0 |
|
|
|
0 |
|
|
0 |
|
0 |
|
|
2 |
|
0 |
|
1 |
|
|
1 |
|
|
0 |
|
|
|
0 |
|
|
|
0 |
|
|
0 |
|
0 |
|
|
3 |
|
0 |
|
1 |
|
|
4 |
|
|
1 |
|
|
|
0 |
|
|
|
0 |
|
|
0 |
|
0 |
|
|
4 |
|
0 |
|
1 |
|
11 |
|
11 |
|
|
|
1 |
|
|
|
0 |
|
|
0 |
|
0 |
|
|||
5 |
|
0 |
|
1 |
|
26 |
|
66 |
|
|
26 |
|
|
|
1 |
|
|
0 |
|
0 |
|
||||
6 |
|
0 |
|
1 |
|
57 |
302 |
|
302 |
|
|
57 |
|
|
1 |
|
0 |
|
|||||||
|
7 |
|
0 |
|
1 |
120 |
1191 |
2416 |
|
1191 |
120 |
|
1 |
|
|||||||||||
Выполняется также свойство симметрии |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
n |
|
|
|
|
n |
|
|
|
|
|
n 1, |
|
|
|
|
|
|
|||
|
|
|
|
Dk E = n + 1 − k ; |
|
|
|
|
|
(7) |
которое вытекает из того факта, что каждой перестановке a1 a2 : : : an, содержащей k отрезков, соответствует перестановка an : : :a2 a1, содержащая n + 1 − k отрезков.
Другое важное свойство чисел Эйлера выражается формулой |
|
|||||
k |
n |
m |
k |
− 1 |
= mn; n 0, |
(8) |
k |
|
+n |
||||
XD E |
|
|
|
|
|
которую можно доказать, используя понятие сортировки. Рассмотримmn последовательностей a1 a2 : : : an, где 1 ai m. Любую такую последовательность можно устойчиво отсортировать таким образом, чтобы элементы расположились в неубывающем порядке:
ai1 ai2 : : : ain; |
(9) |
где i1 i2 : : : in—однозначно определенная перестановка множества f1; 2; : : : ; n g, такая, что ij < ij+1, если aij = aij+1 ; другими словами, из ij > ij+1 следует aij < aij+1 . Покажем, что если в перестановке i1 i2 : : : in содержится k отрезков, то число соответствующих ей последовательностей a1 a2 : : : an
n |
− |
k |
− k. |
равно m+n |
; тем самым будет доказана формула (8), если заменить k на n + 1 |
30 Original pages: 046-060
Пусть, например, n = 9, i1 i2 : : : in = 3 5 7 1 6 8 9 4 2 и требуется подсчитать число последовательно-
стей a1a2 : : : a9, таких, что |
|
1 a3 a5 a7 < a1 a6 a8 a9 < a4 < a2 m; |
(10) |
оно равно числу последовательностей b1 b2 : : : b9, таких, что |
|
1 b1 < b2 < b3 < b4 < b5 < b6 < b7 < b8 < b9 m + 5; |
|
так как можно положить b1 = a3, b2 = a5 + 1, b3 = a7 + 2, b4 = a1 + 2, b5 = a6 + 3 и т. д. Число способов, которыми можно выбрать элементы b, равно просто-напросто числу способов выбрать 9 предметов
из m + 5, т. е. m+5 ; аналогичное доказательство годится для произвольных n и k и любой переста-
9
новки i1 i2 : : : in с k отрезками.
Так как в обеих частях равенства (8) стоят полиномы от m, то вместо m можно подставить любое действительное число, получив интересное выражение степеней через последовательные биномиаль-
ные коэффициенты: |
1En |
+ D |
2 E n |
+ + DnE |
n − |
; n 1. |
|
|||
xn = D |
(11) |
|||||||||
|
n x |
|
n x + 1 |
|
|
n x + n |
1 |
|
||
Например, |
|
x3 = 3 + 4 |
3 |
+ |
3 |
: |
|
|
||
|
|
|
|
|||||||
|
|
|
x |
|
x + 1 |
|
x + 2 |
|
|
|
В основном благодаря именно этому свойству числа Эйлера весьма полезны при изучении дискретной математики. Положив в (11) x = 1, докажем еще раз, что
DnnE = 1;
поскольку биномиальные коэффициенты обращаются в 0 во всех слагаемых, кроме последнего. Положив x = 2, получим
|
|
|
n n |
1 |
= 2n |
− n − 1; |
n 1. |
|
|
(12) |
|||||
|
|
|
|
− |
|
|
|
n |
полностью определяются соотношением (11), и |
||||||
Подставив x = 3, 4, : : : , убедимся, что все числа |
|
||||||||||||||
придем к формуле, впервые найденной Эйлером: k |
|
|
− + (−1)k0n |
|
|
|
|||||||||
Dk E = kn − (k − 1)n |
1 |
+ (k − 2)n |
2 |
k |
= |
||||||||||
n |
X |
|
n + 1 |
|
|
|
|
|
n + 1 |
|
n + 1 |
|
|
||
|
|
|
n + 1 |
|
|
|
n 0, k 0. |
|
|
|
|||||
= |
0 j |
|
k(−1)j(k − j)n |
j ; |
|
|
|
|
|
(13) |
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Изучим теперь производящую функцию для отрезков. Если положить |
|
|
|
||||||||||||
|
|
|
|
|
|
X |
|
n |
|
|
|
|
|
||
|
|
|
|
|
gn(z) = |
k |
|
Dk Ezk=n!; |
|
|
(14) |
то коэффициент при zk равен вероятности того, что случайная перестановка множества f1; 2; : : : ; n g
содержит ровно |
k |
отрезков. Поскольку |
k отрезков в перестановке столь же вероятны, как и n |
+ 1 |
− |
k, |
|||||||||||
|
|
|
1 |
|
|
|
|
|
|
1 |
|
|
|||||
то среднее число отрезков должно равняться 2 |
(n + 1), и, следовательно, gn0 (1) = 2 |
(n + 1). В упр. 2(b) |
|||||||||||||||
показано, что имеет место простая формула для всех производных функции gn(z) в точке z = 1: |
|
|
|||||||||||||||
|
|
|
|
|
|
|
− |
|
n |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
n + 1 |
m = |
|
n m. |
|
|
|
|
|
|||
|
|
|
gn(m)(1) = n + 1 |
|
m |
; |
|
|
|
(15) |
|||||||
|
|
n |
n |
|
− |
n |
|
|
|
|
|
|
2, что указывает на довольно |
||||
Так, в частности, дисперсия g00 |
(1)+g0 (1) |
|
g0 (1)2 равна (n+1)=12 при n |
|
устойчивое распределение около среднего значения. (Мы нашли эту же величину в упр. 3.3.2-18; там она называлась covar(R10 ; R10 ).) Функция gn(z)—полином, поэтому с помощью формулы (15) можно разложить ее в ряд Тейлора
|
1 |
X |
n + 1 |
|
|
gn(z) = |
|
0 k n(z − 1)n−kk! k + 1 = |
|
|
|
n! |
|
|
|||
|
1 |
X |
n + 1 |
|
|
= |
|
0 k n zk+1 |
(1 − z)n−kk! k + 1 |
: |
(16) |
n! |