Умножение перестановок, обратная перестановка, группа перестановок — различия между версиями
|  (→Пример) | Denis (обсуждение | вклад)   (Как-то так оформил тикет) | ||
| Строка 3: | Строка 3: | ||
| {{Определение | {{Определение | ||
| |definition= | |definition= | ||
| − | Умножением (композицией) перестановок называется перестановка,  | + | '''Умножением''' (композицией) перестановок,представленных в виде целочисленных функций <tex> a_i </tex>, где <tex>i - </tex> позиция элемента, а <tex> a_i </tex> — его номер, называется перестановка, получаемая по следующему правилу: | 
| <tex> (ab)_i = a_{b_i} </tex> | <tex> (ab)_i = a_{b_i} </tex> | ||
| Строка 26: | Строка 26: | ||
| ===Пример=== | ===Пример=== | ||
| − | <tex>  | + | <tex> a = {2, 5, 6, 3, 1, 4} = (1, 2, 5)(3, 6, 4) </tex> | 
| − | |||
| − | |||
| − | <tex>  | + | <tex> b = {4, 1, 3, 6, 5, 2} = (1, 4, 6, 5) </tex> | 
| − | + | ||
| − | + | <tex> ab = {a_4, a_1, a_3, a_6, a_5, a_2} = {3, 2, 6, 4, 1, 5} </tex> | |
| − | |||
| − | <tex> | ||
| или | или | ||
| − | <tex>  | + | <tex> ab = (1, 2, 5)(3, 6, 4)(1, 4, 6, 5) = (1, 3, 6, 5)(2)(4) = (1, 3, 6, 5) </tex> | 
| ==Обратная перестановка== | ==Обратная перестановка== | ||
| Строка 45: | Строка 41: | ||
| |definition= | |definition= | ||
| − | Обратной перестановкой <tex> a^{-1} </tex> к перестановке <tex> a </tex> называется такая перестановка, что: | + | '''Обратной''' перестановкой <tex> a^{-1} </tex> к перестановке <tex> a </tex> называется такая перестановка, что: | 
| <tex> (a^{-1}a)_i = (aa^{-1})_i = i </tex> | <tex> (a^{-1}a)_i = (aa^{-1})_i = i </tex> | ||
| Строка 54: | Строка 50: | ||
| |id = def_involution | |id = def_involution | ||
| |definition= | |definition= | ||
| − | Перестановка, равная своей обратной, называется инволюцией: | + | Перестановка, равная своей обратной, называется '''инволюцией''' (англ. involution): | 
| + | |||
| + | <tex> a_i = a^{-1}_i \Rightarrow (aa ^{-1})_i = (aa)_i = a_{a_i} = i </tex>, то есть её представление в виде циклов не содержит цикла, размер которого больше двух. | ||
| + | |||
| + | }} | ||
| − | <tex>  | + | {{Утверждение | 
| + | |statement= | ||
| + | Количество инволюционных перестановок длины <tex>n\geqslant 2 </tex> может быть получено по формуле: <tex> I(n) = I(n-1)+(n-1)\cdot I(n-2) </tex>, где <tex> I(0) = I(1) = 1. </tex> | ||
| + | |proof= | ||
| + | Существует <tex> I(n-1)</tex> инволюций, при <tex>a_n = n </tex>. Число инволюций, содержащих цикл <tex>(j,n)</tex>, где <tex> 1\leq j\leq n-1 </tex>, <tex> (n-1)\cdot I(n-2)</tex>. Имеем, что <tex> I(n) = I(n-1)+(n-1)\cdot I(n-2). </tex> | ||
| + | }} | ||
| + | |||
| + | {{Определение | ||
| + | |definition= | ||
| + | |||
| + | Перестановка, содержащая чётное количество инверсий, называется '''чётной''', в противном случае <tex> - </tex> '''нечётной'''. | ||
| + | |||
| + | }} | ||
| + | |||
| + | {{Определение | ||
| + | |definition= | ||
| + | |||
| + | Перестановка, меняющая местами только два элемента, называется '''транспозицией''' (англ. transposition).  | ||
| + | |||
| + | }} | ||
| + | |||
| + | {{Лемма|id=lemma1 | ||
| + | |statement= | ||
| + | |||
| + | Если в перестановке, длина которой больше <tex>1</tex>, поменять местами <tex> 2 </tex> элемента, то её четность изменится. | ||
| + | |||
| + | |proof=  | ||
| + | |||
| + | Для элементов, стоящих рядом, истинность утверждения очевидна: их взаимное расположение относительно других элементов не изменилось, а транспозиция этих чисел изменяет количество инверсий на единицу. Пусть теперь между перемещаемыми элементами <tex> a </tex> и <tex> b </tex> находятся <tex> d </tex> элементов, то есть перестановка имеет вид: <tex> ..., a, s_1, s_2, ..., s_d, b, ... </tex>. Сначала поменяем последовательно  <tex> a </tex> с числами <tex> s_1, s_2, ..., s_d, b </tex>, а затем число <tex>b</tex> с рядом стоящими <tex> s_d, s_d-1, ..., s_1 </tex>. В итоге мы выполним <tex> 2\cdot d + 1 </tex> транспозиций рядом стоящих элементов, то есть чётность перестановки изменится. | ||
| }} | }} | ||
| Строка 65: | Строка 93: | ||
|   for(i = 0; i < n; i++) |   for(i = 0; i < n; i++) | ||
| − | + |     for(j = 0; j < n; j++) | |
| − | + |        if(p[j] == i + 1)   | |
| − | + |           op[i] = j + 1; | |
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| При представлении перестановки в виде циклов обратную перестановку можно легко получить, инвертировав все ребра в циклах. | При представлении перестановки в виде циклов обратную перестановку можно легко получить, инвертировав все ребра в циклах. | ||
| Строка 83: | Строка 105: | ||
|      boolean[] visited = new boolean[n]; |      boolean[] visited = new boolean[n]; | ||
|      for (int i = 0; i < n; ++i)   |      for (int i = 0; i < n; ++i)   | ||
| − | + |        if (visited[i]) continue; | |
| − | + |        // Reverse the cycle starting at i | |
| − | + |        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; | |
| − | |||
| − | |||
| − | |||
| − | |||
| ==Группа перестановок== | ==Группа перестановок== | ||
| Строка 103: | Строка 121: | ||
| {{Определение | {{Определение | ||
| |definition= | |definition= | ||
| − | Группой называется множество <tex> M </tex> с заданной на нём бинарной операцией <tex> \circ: МM\times M \longrightarrow M</tex>, удовлетворяющей следующим свойствам: | + | '''Группой''' называется множество <tex> M </tex> с заданной на нём бинарной операцией <tex> \circ: МM\times M \longrightarrow M</tex>, удовлетворяющей следующим свойствам: | 
| # <tex> (g_1 \circ g_2) \circ g_3 = g_1 \circ (g_2 \circ g_3) </tex> — ассоциативность соответствующей бинарной операции. | # <tex> (g_1 \circ g_2) \circ g_3 = g_1 \circ (g_2 \circ g_3) </tex> — ассоциативность соответствующей бинарной операции. | ||
| Строка 121: | Строка 139: | ||
| [[Теорема Кэли]] утверждает, что любая конечная группа изоморфна подгруппе некоторой группе перестановок. | [[Теорема Кэли]] утверждает, что любая конечная группа изоморфна подгруппе некоторой группе перестановок. | ||
| + | |||
| + | ==Группа чётных перестановок== | ||
| + | |||
| + | {{Определение | ||
| + | |definition= | ||
| + | '''Группа чётных перестановок''' <tex> A_n </tex> является подгруппой симметричной группы перестановок, образованной всеми чётными перестановками. Композиция не выводит из группы, так как если представить каждую перестановку группы в виде чётного числа транспозиций и перемножить их, чётность не изменится. | ||
| + | }}  | ||
| + | |||
| + | {{Утверждение | ||
| + | |statement= | ||
| + | Количество чётных перестановок длины <tex> n </tex> равно количеству нечётных и равно <tex> \dfrac{n!}{2} </tex> | ||
| + | |proof= | ||
| + | Пусть число число чётных перестановок  <tex> - </tex>  <tex> a</tex>, а нечётных <tex> - </tex>  <tex> b </tex>. Сделаем транспозицию <tex> (1, 2) </tex> для всех чётных перестановок. Получим <tex> a </tex> нечётных различных перестановок, то есть <tex> a\leqslant b </tex>. Проделаем то же самое с нечётными перестановками. Получим, что <tex> b\leqslant a </tex>, то есть <tex> a = b </tex> и <tex> a = \dfrac{n!}{2} </tex>. | ||
| + | }} | ||
| + | |||
| + | ==Подстановка== | ||
| + | |||
| + | {{Определение | ||
| + | |definition= | ||
| + | '''Подстановкой''' (англ. substitution) называется всякое взаимно однозначное отображение <tex> A </tex> множества первых <tex>n</tex> натуральных чисел на себя.   | ||
| + | |||
| + | }} | ||
| + | |||
| + | Всякая подстановка A может быть записана при помощи двух перестановок, подписанных одна под другой: | ||
| + | |||
| + | <tex> A = \begin{pmatrix} q_1 & q_2 & ... & q_n \\ a_{k_1} & a_{k_2} & ... & a_{k_n} \end{pmatrix} </tex> | ||
| + | |||
| + | Где через <tex> a_{k_i} </tex> обозначается то число, в которое при подстановке <tex> A </tex> переходит число <tex> q_i </tex>. | ||
| + | |||
| + | |||
| ==Источники и литература== | ==Источники и литература== | ||
| − | *  | + | * https://en.wikipedia.org/wiki/Involution_(mathematics) | 
| * Н. И. Яцкин, Алгебра Теоремы и алгоритмы, Издательство «Ивановский государственный университет», 2006 г., стр. 161 | * Н. И. Яцкин, Алгебра Теоремы и алгоритмы, Издательство «Ивановский государственный университет», 2006 г., стр. 161 | ||
| [[Категория: Дискретная математика и алгоритмы]] | [[Категория: Дискретная математика и алгоритмы]] | ||
| [[Категория: Комбинаторика]] | [[Категория: Комбинаторика]] | ||
Версия 23:02, 31 декабря 2017
Содержание
Умножение перестановок
| Определение: | 
| Умножением (композицией) перестановок,представленных в виде целочисленных функций , где позиция элемента, а — его номер, называется перестановка, получаемая по следующему правилу: | 
| Утверждение: | 
| Умножение перестановок ассоциативно:
 | 
| Доказывается простым раскрытием скобок. | 
Пример
или
Обратная перестановка
| Определение: | 
| Обратной перестановкой к перестановке называется такая перестановка, что: | 
| Определение: | 
| Перестановка, равная своей обратной, называется инволюцией (англ. involution): , то есть её представление в виде циклов не содержит цикла, размер которого больше двух. | 
| Утверждение: | 
| Количество инволюционных перестановок длины  может быть получено по формуле: , где  | 
| Существует инволюций, при . Число инволюций, содержащих цикл , где , . Имеем, что | 
| Определение: | 
| Перестановка, содержащая чётное количество инверсий, называется чётной, в противном случае нечётной. | 
| Определение: | 
| Перестановка, меняющая местами только два элемента, называется транспозицией (англ. transposition). | 
| Лемма: | 
| Если в перестановке, длина которой больше , поменять местами  элемента, то её четность изменится. | 
| Доказательство: | 
| Для элементов, стоящих рядом, истинность утверждения очевидна: их взаимное расположение относительно других элементов не изменилось, а транспозиция этих чисел изменяет количество инверсий на единицу. Пусть теперь между перемещаемыми элементами и находятся элементов, то есть перестановка имеет вид: . Сначала поменяем последовательно с числами , а затем число с рядом стоящими . В итоге мы выполним транспозиций рядом стоящих элементов, то есть чётность перестановки изменится. | 
Получение обратной перестановки
Пусть в массиве p[i] содержится перестановка, тогда в массиве op[i], после выполнения алгоритма, будет содержаться обратная перестановка.
for(i = 0; i < n; i++)
   for(j = 0; j < n; j++)
      if(p[j] == i + 1) 
         op[i] = j + 1;
При представлении перестановки в виде циклов обратную перестановку можно легко получить, инвертировав все ребра в циклах.
Отсюда следует более эффективный алгоритм (приведена in-place версия):
   boolean[] visited = new boolean[n];
   for (int i = 0; i < n; ++i) 
      if (visited[i]) continue;
      // Reverse the cycle starting at i
      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;
Группа перестановок
| Определение: | 
| Группой называется множество  с заданной на нём бинарной операцией , удовлетворяющей следующим свойствам: 
 | 
| Утверждение: | 
| Множество перестановок с  элементами с операцией умножения является группой (часто группу перестановок называют симметрической, и обозначают ). | 
| Свойства 1 и 3 доказаны выше, а в качестве нейтрального элемента выступает тождественная перестановка (). | 
Мощность симметрической группы:
Теорема Кэли утверждает, что любая конечная группа изоморфна подгруппе некоторой группе перестановок.
Группа чётных перестановок
| Определение: | 
| Группа чётных перестановок является подгруппой симметричной группы перестановок, образованной всеми чётными перестановками. Композиция не выводит из группы, так как если представить каждую перестановку группы в виде чётного числа транспозиций и перемножить их, чётность не изменится. | 
| Утверждение: | 
| Количество чётных перестановок длины  равно количеству нечётных и равно  | 
| Пусть число число чётных перестановок , а нечётных . Сделаем транспозицию для всех чётных перестановок. Получим нечётных различных перестановок, то есть . Проделаем то же самое с нечётными перестановками. Получим, что , то есть и . | 
Подстановка
| Определение: | 
| Подстановкой (англ. substitution) называется всякое взаимно однозначное отображение множества первых натуральных чисел на себя. | 
Всякая подстановка A может быть записана при помощи двух перестановок, подписанных одна под другой:
Где через обозначается то число, в которое при подстановке переходит число .
Источники и литература
- https://en.wikipedia.org/wiki/Involution_(mathematics)
- Н. И. Яцкин, Алгебра Теоремы и алгоритмы, Издательство «Ивановский государственный университет», 2006 г., стр. 161
