Задача об ожерельях — различия между версиями
Строка 4: | Строка 4: | ||
− | Решение этой задачи опирается на [[Лемма Бёрнсайда и Теорема Пойа| | + | Решение этой задачи опирается на [[Лемма Бёрнсайда и Теорема Пойа|лемму Бёрнсайда и теорему Пойа]]. |
Строка 25: | Строка 25: | ||
+ | == Алгоритм решения задачи про ожерелья с отражениями== | ||
− | Пусть теперь ожерелья считаются одинаковыми, если они не только переходят друг в друга поворотом, но и отражением относительно некоторой оси. | + | Пусть теперь ожерелья считаются одинаковыми, если они не только переходят друг в друга поворотом, но и отражением относительно некоторой оси. Такие ожерелья называются [https://en.wikipedia.org/wiki/Necklace_(combinatorics) bracelets]. |
− | Будем пользоваться [[Лемма Бёрнсайда и Теорема Пойа| | + | Будем пользоваться [[Лемма Бёрнсайда и Теорема Пойа|леммой Бёрнсайда]]. |
Разберём два случая. | Разберём два случая. | ||
− | Пусть число бусинок нечётное, тогда мы имеем <tex>n</tex> осей, проходящих через каждую бусинку. Рассмотрим одну ось. Возьмём половину бусинок с одной стороны от оси и ту бусинку, через которую проходит данная ось. Мы можем окрасить их в произвольные цвета, а остальная половина по ним | + | Пусть число бусинок нечётное, тогда мы имеем <tex>n</tex> осей, проходящих через каждую бусинку. Рассмотрим одну ось. Возьмём половину бусинок с одной стороны от оси и ту бусинку, через которую проходит данная ось. Мы можем окрасить их в произвольные цвета, а остальная половина по ним однозначно восстановится. Таким образом количество неподвижных точек для одной оси будет <tex>k^{\frac{n + 1}{2}}</tex>. |
Операций в группе будет в два раза больше, чем было: <tex>2n</tex> (<tex>n</tex> сдвигов и <tex>n</tex> отражений). | Операций в группе будет в два раза больше, чем было: <tex>2n</tex> (<tex>n</tex> сдвигов и <tex>n</tex> отражений). | ||
Строка 48: | Строка 49: | ||
== См. также == | == См. также == | ||
* [[Лемма Бёрнсайда и Теорема Пойа]] | * [[Лемма Бёрнсайда и Теорема Пойа]] | ||
− | + | * [https://en.wikipedia.org/wiki/Necklace_(combinatorics) Necklace (combinatorics)] | |
[[Категория: Дискретная математика и алгоритмы]] | [[Категория: Дискретная математика и алгоритмы]] | ||
[[Категория: Комбинаторика]] | [[Категория: Комбинаторика]] |
Версия 15:54, 24 декабря 2013
Определение: |
Требуется посчитать количество ожерелий из | бусинок, каждая из которых может быть покрашена в один из цветов. При сравнении двух ожерелий их можно поворачивать, но не переворачивать (т.е. разрешается сделать циклический сдвиг).
Решение этой задачи опирается на лемму Бёрнсайда и теорему Пойа.
Алгоритм решения задачи про ожерелья
Пусть нам даны бусинки
различных цветов, а ожерелье должно состоять из бусинок.Для решения воспользуемся формулой из теоремы Пойа.
По условию, перестановкой инвариантной данной будет любая перестановка, полученная из данной циклическим сдвигом. Очевидно, что для каждой перестановки длины
существует ровно инвариантная перестановка, то есть всего инвариантных перестановок в каждом классе , теперь найдем . Заметим, что в -ой перестановке на -ой позиции стоит элемент . Также, заметим, что элемент переходит в элемент , где . Из этого следует, что длина цикла для -ой перестановки равна . Откуда следует что:.
где - кол-во различных ожерелий,которые можно составить из бусинок различных цветов.
Алгоритм решения задачи про ожерелья с отражениями
Пусть теперь ожерелья считаются одинаковыми, если они не только переходят друг в друга поворотом, но и отражением относительно некоторой оси. Такие ожерелья называются bracelets. Будем пользоваться леммой Бёрнсайда. Разберём два случая.
Пусть число бусинок нечётное, тогда мы имеем
осей, проходящих через каждую бусинку. Рассмотрим одну ось. Возьмём половину бусинок с одной стороны от оси и ту бусинку, через которую проходит данная ось. Мы можем окрасить их в произвольные цвета, а остальная половина по ним однозначно восстановится. Таким образом количество неподвижных точек для одной оси будет . Операций в группе будет в два раза больше, чем было: ( сдвигов и отражений).По Лемме Бёрнсайда:
Разберём теперь чётный случай.
Тут мы имеем осей, проходящих через пустоты между бусинками (ось можно провести через пустоту после каждой бусинки, но половина из них будет повторяться). В таких вот случаях можно выбрать по бусинок и дать им произвольные цвета. Остальная половина восстановится по ним. Таким образом для данных осей количество неподвижных точек будет .
Ещё у нас есть осей, проходящих через бусинки. В данных случаях мы можем выбрать по бусинок (бусинки на оси и все по одну какую-то сторону от неё). То есть будет неподвижных точек. Операций также .
По Лемме Бёрнсайда: