Задача об ожерельях — различия между версиями
Korektur (обсуждение | вклад) |
Korektur (обсуждение | вклад) |
||
Строка 24: | Строка 24: | ||
|statement=Количество комбинаторных объектов равно сумме количеств неподвижных точек по всем перестановкам из группы <tex>G</tex> , делённой на размер этой группы: | |statement=Количество комбинаторных объектов равно сумме количеств неподвижных точек по всем перестановкам из группы <tex>G</tex> , делённой на размер этой группы: | ||
− | <tex dpi = "180"> | + | <tex> C =</tex><tex dpi = "180">\frac{1} {|G|}</tex><tex>\sum\limits_{k \in G}I(k)</tex>. Где <tex>I(k)</tex> - количество неподвижных точек для перестановки <tex>k</tex>. |
|proof= | |proof= | ||
Рассмотрим сумму в числителе дроби справа: | Рассмотрим сумму в числителе дроби справа: | ||
Строка 30: | Строка 30: | ||
− | <tex dpi = "180"> | + | <tex >C =</tex><tex dpi = "180"> \frac{1} {|G|}</tex><tex>\sum\limits_{f} J(f)</tex> |
Строка 42: | Строка 42: | ||
Таким образом, если мы возьмём произвольным образом от каждого класса эквивалентности по одному столбцу и просуммируем количество элементов в них, то получим, с одной стороны, <tex>C|G|</tex> (это получается, просто умножив количество столбцов на их размер), а с другой стороны — сумму величин <tex>J(f)</tex> по всем <tex>f</tex>(это следует из всех предыдущих рассуждений): | Таким образом, если мы возьмём произвольным образом от каждого класса эквивалентности по одному столбцу и просуммируем количество элементов в них, то получим, с одной стороны, <tex>C|G|</tex> (это получается, просто умножив количество столбцов на их размер), а с другой стороны — сумму величин <tex>J(f)</tex> по всем <tex>f</tex>(это следует из всех предыдущих рассуждений): | ||
− | <tex dpi = "180"> | + | <tex> C =</tex><tex dpi = "180"> \frac{1} {|G|}</tex><tex>\sum\limits_{f} J(f)</tex> |
}} | }} | ||
Строка 49: | Строка 49: | ||
|id=teorPo. | |id=teorPo. | ||
|author=Пойа | |author=Пойа | ||
− | |statement= <tex dpi = "180"> | + | |statement= <tex> C =</tex><tex dpi = "180"> \frac{1} {|G|}\sum\limits_{k \in G} l^{P(k)}</tex> ,где <tex>C</tex> - кол-во различных комбинаторных объектов, P(k) - кол-во циклов в перестановке <tex>k</tex>, <tex>l</tex>- кол-во различных состояний одного элемента. |
|proof=Для доказательства этой теорем достаточно установить следующее равенство | |proof=Для доказательства этой теорем достаточно установить следующее равенство | ||
<tex>I(k) = l^{P(k)}</tex> | <tex>I(k) = l^{P(k)}</tex> | ||
Строка 65: | Строка 65: | ||
− | <tex dpi = "180"> | + | <tex>C =</tex><tex dpi = "180"> \frac{1} {|G|}</tex><tex>\sum\limits_{l \in G} k^{P(l)}</tex> |
Очевидно, что для каждой перестановки длины <tex>n</tex> существует ровно <tex>n</tex> циклических сдвигов, теперь найдем <tex>P(i)</tex>. Заметим, что в <tex>i</tex>-ой перестановке на <tex>l</tex>-ой позиции стоит элемент <tex>(i + l)\mod n</tex>. Также, заметим, что элемент <tex>a</tex> переходит в элемент <tex>a + in</tex>, где <tex>i \in [1; k]</tex>. Из этого следует, что длина цикла для <tex>i</tex>-ой перестановки равна <tex>lcm(n, i)/i = n/gcd(i,n)</tex>.Откуда следует что: | Очевидно, что для каждой перестановки длины <tex>n</tex> существует ровно <tex>n</tex> циклических сдвигов, теперь найдем <tex>P(i)</tex>. Заметим, что в <tex>i</tex>-ой перестановке на <tex>l</tex>-ой позиции стоит элемент <tex>(i + l)\mod n</tex>. Также, заметим, что элемент <tex>a</tex> переходит в элемент <tex>a + in</tex>, где <tex>i \in [1; k]</tex>. Из этого следует, что длина цикла для <tex>i</tex>-ой перестановки равна <tex>lcm(n, i)/i = n/gcd(i,n)</tex>.Откуда следует что: | ||
− | <tex dpi = "180"> | + | <tex>C =</tex><tex dpi = "180"> \frac{1} {n}</tex><tex>\sum\limits_{i = 1}^{n} k^{gcd(i,n)}</tex>. |
Версия 16:23, 13 января 2013
Определение: |
Требуется посчитать количество ожерелий из | бусинок, каждая из которых может быть покрашена в один из цветов. При сравнении двух ожерелий их можно поворачивать, но не переворачивать (т.е. разрешается сделать циклический сдвиг).
Решение этой задачи опирается на лемму Бернсайда и теорему Пойа.
Определение: |
Инвариантная перестановка - такая перестановка, которая по условию задачи не меняет сам объект, а только его представление. |
Примером инвариантной перестановки в нашем случае является циклический сдвиг.
Определение: |
Неподвижной точкой | для перестановки называется такой элемент, который инвариантен относительно этой перестановки.
Лемма Бернсайда
Лемма (Бернсайд): |
Количество комбинаторных объектов равно сумме количеств неподвижных точек по всем перестановкам из группы , делённой на размер этой группы:
. Где - количество неподвижных точек для перестановки . |
Доказательство: |
Рассмотрим сумму в числителе дроби справа: — это ни что иное как количество "инвариантных пар". Очевидно, что в формуле мы имеем право изменить порядок суммирования - сделать внешнюю сумму по элементам множества , а внутри нее поставить величину — количество перестановок, относительно которых объект инвариантен:
Теперь зафиксируем произвольный элемент . С одной стороны, он встречается в своём столбце ровно раз (по самому определению). С другой стороны, все столбцы внутри одного комбинаторного объекта одинаковы как мультимножества. Следовательно, внутри каждого столбца данного комбинаторного объекта любой элемент встречается ровно раз.Таким образом, если мы возьмём произвольным образом от каждого класса эквивалентности по одному столбцу и просуммируем количество элементов в них, то получим, с одной стороны, (это получается, просто умножив количество столбцов на их размер), а с другой стороны — сумму величин по всем (это следует из всех предыдущих рассуждений): |
Теорема Пойа
Теорема (Пойа): |
,где - кол-во различных комбинаторных объектов, P(k) - кол-во циклов в перестановке , - кол-во различных состояний одного элемента. |
Доказательство: |
Для доказательства этой теорем достаточно установить следующее равенство
|
Алгоритм решения задачи про ожерелья
Пусть нам даны бусинки k различных цветов, а ожерелье должно состоять из n бусинок.
Для решения воспользуемся формулой из теоремы Пойа.
Очевидно, что для каждой перестановки длины существует ровно циклических сдвигов, теперь найдем . Заметим, что в -ой перестановке на -ой позиции стоит элемент . Также, заметим, что элемент переходит в элемент , где . Из этого следует, что длина цикла для -ой перестановки равна .Откуда следует что:
.
где С - кол-во различных ожерелий,которые можно составить из n бусинок k различных цветов.