Умножение перестановок, обратная перестановка, группа перестановок — различия между версиями
Denis (обсуждение | вклад) |
Denis (обсуждение | вклад) |
||
Строка 85: | Строка 85: | ||
|proof= | |proof= | ||
− | Для элементов, стоящих рядом, истинность утверждения очевидна: их взаимное расположение относительно других элементов не изменилось, а транспозиция этих чисел изменяет количество инверсий на единицу. Пусть теперь между перемещаемыми элементами <tex> a </tex> и <tex> b </tex> находятся <tex> d </tex> элементов, то есть перестановка имеет вид: <tex> | + | Для элементов, стоящих рядом, истинность утверждения очевидна: их взаимное расположение относительно других элементов не изменилось, а транспозиция этих чисел изменяет количество инверсий на единицу. Пусть теперь между перемещаемыми элементами <tex> a </tex> и <tex> b </tex> находятся <tex> d </tex> элементов, то есть перестановка имеет вид: <tex> \ldots </tex> , <tex> a, s_1, s_2, \ldots, s_d, b, \ldots </tex>. Сначала поменяем последовательно <tex> a </tex> с числами <tex> s_1, s_2, \ldots, s_d, b </tex>, а затем число <tex>b</tex> с рядом стоящими <tex> s_d, s_d-1, \ldots, s_1 </tex>. В итоге мы выполним <tex> 2\cdot d + 1 </tex> транспозиций рядом стоящих элементов, то есть чётность перестановки изменится. |
}} | }} | ||
Строка 167: | Строка 167: | ||
Всякая подстановка <tex>A</tex> может быть записана при помощи двух перестановок, подписанных одна под другой: | Всякая подстановка <tex>A</tex> может быть записана при помощи двух перестановок, подписанных одна под другой: | ||
− | <tex> A = \begin{pmatrix} q_1 & q_2 & | + | <tex> A = \begin{pmatrix} q_1 & q_2 & \ldots & q_n \\ a_{k_1} & a_{k_2} & \ldots & a_{k_n} \end{pmatrix} </tex> |
Где через <tex> a_{k_i} </tex> обозначается то число, в которое при подстановке <tex> A </tex> переходит число <tex> q_i </tex>. | Где через <tex> a_{k_i} </tex> обозначается то число, в которое при подстановке <tex> A </tex> переходит число <tex> q_i </tex>. |
Версия 01:07, 4 января 2018
Содержание
Умножение перестановок
Определение: |
Умножением (англ. multiplication) или композицией (англ. composition) перестановок,представленных в виде целочисленных функций | , где позиция элемента, а — его номер, называется перестановка, получаемая по следующему правилу:
Утверждение: |
Умножение перестановок ассоциативно:
|
Доказывается простым раскрытием скобок. |
Пример
или
Обратная перестановка
Определение: |
Обратной перестановкой (англ. an inverse permutation) | к перестановке называется такая перестановка, что:
Определение: |
Перестановка, равная своей обратной, называется инволюцией (англ. involution): | , то есть её представление в виде циклов не содержит цикла, размер которого больше двух.
Утверждение: |
Количество инволюционных перестановок длины может быть получено по формуле: , где |
Существует | инволюций, при . Число инволюций, содержащих цикл , где , . Имеем, что
Определение: |
Перестановка, содержащая чётное количество инверсий, называется чётной, в противном случае | нечётной.
Определение: |
Перестановка, меняющая местами только два элемента, называется транспозицией (англ. transposition). |
Лемма: |
Если в перестановке, длина которой больше , поменять местами элемента, то её четность изменится. |
Доказательство: |
Для элементов, стоящих рядом, истинность утверждения очевидна: их взаимное расположение относительно других элементов не изменилось, а транспозиция этих чисел изменяет количество инверсий на единицу. Пусть теперь между перемещаемыми элементами | и находятся элементов, то есть перестановка имеет вид: , . Сначала поменяем последовательно с числами , а затем число с рядом стоящими . В итоге мы выполним транспозиций рядом стоящих элементов, то есть чётность перестановки изменится.
Получение обратной перестановки
Пусть в массиве
содержится перестановка, тогда в массиве , после выполнения алгоритма, будет содержаться обратная перестановка.fun reversePerm(p : int[], rep : int[]) int n = p.size; for i = 0 to n for j = 0 to n if p[j] == i + 1 rep[i] = j + 1;
При представлении перестановки в виде циклов обратную перестановку можно легко получить, инвертировав все ребра в циклах.
Отсюда следует более эффективный алгоритм, где
- массив посещённых элементов: fun reversePerm (visited : boolean[], p : int[], rep : int[])
int n = p.size;
for i = 0 to n
if visited[i]
continue;
// инвертировать цикл, начинающийся в позиции
int last = i;
int j = p[i];
while true
int next = p[j];
p[j] = last;
visited[j] = true;
if j == i
break;
last = j;
j = next;
Группа перестановок
Определение: |
Группой (англ. group) называется множество
| с заданной на нём бинарной операцией , удовлетворяющей следующим свойствам:
Утверждение: |
Множество перестановок с элементами с операцией умножения является группой (часто группу перестановок называют симметрической (англ. symmetric group), и обозначают ). |
Свойства | и доказаны выше, а в качестве нейтрального элемента выступает тождественная перестановка ( ).
Мощность симметрической группы:
Теорема Кэли утверждает, что любая конечная группа изоморфна подгруппе некоторой группе перестановок.
Группа чётных перестановок
Определение: |
Группа чётных перестановок (англ. alternating group) | является подгруппой симметричной группы перестановок, образованной всеми чётными перестановками. Композиция не выводит из группы, так как если представить каждую перестановку группы в виде чётного числа транспозиций и перемножить их, чётность не изменится.
Утверждение: |
Количество чётных перестановок длины равно количеству нечётных и равно |
Пусть число число чётных перестановок | , а нечётных . Сделаем транспозицию для всех чётных перестановок. Получим нечётных различных перестановок, то есть . Проделаем то же самое с нечётными перестановками. Получим, что , то есть и .
Группа подстановок
Определение: |
Подстановкой (англ. substitution) называется всякое взаимно однозначное отображение | множества первых натуральных чисел на себя.
Всякая подстановка может быть записана при помощи двух перестановок, подписанных одна под другой:
Где через
обозначается то число, в которое при подстановке переходит число .
Определение: |
Группой подстановок (англ. group of substitutions) называется некоторая совокупность подстановок, замкнутая относительно композиции отображений, определяющей бинарную операцию для подстановок на одном и том же множестве. |
Источники и литература
- https://en.wikipedia.org/wiki/Involution_(mathematics)
- Н. И. Яцкин, Алгебра Теоремы и алгоритмы, Издательство «Ивановский государственный университет», 2006 г., стр. 161