Умножение перестановок, обратная перестановка, группа перестановок

Материал из Викиконспекты
Версия от 23:02, 31 декабря 2017; Denis (обсуждение | вклад) (Как-то так оформил тикет)
Перейти к: навигация, поиск

Умножение перестановок

Определение:
Умножением (композицией) перестановок,представленных в виде целочисленных функций [math] a_i [/math], где [math]i - [/math] позиция элемента, а [math] a_i [/math] — его номер, называется перестановка, получаемая по следующему правилу: [math] (ab)_i = a_{b_i} [/math]


Утверждение:
Умножение перестановок ассоциативно: [math] (a(bc))_i = ((ab)c)_i [/math]
[math]\triangleright[/math]

Доказывается простым раскрытием скобок.

  1. [math] (a(bc))_i = a_{(bc)_i} = a_{b_{c_i}} [/math]
  2. [math] ((ab)c)_i = (ab)_{c_i} = a_{b_{c_i}} [/math]
[math]\triangleleft[/math]

Пример

[math] a = {2, 5, 6, 3, 1, 4} = (1, 2, 5)(3, 6, 4) [/math]

[math] b = {4, 1, 3, 6, 5, 2} = (1, 4, 6, 5) [/math]

[math] ab = {a_4, a_1, a_3, a_6, a_5, a_2} = {3, 2, 6, 4, 1, 5} [/math]

или

[math] ab = (1, 2, 5)(3, 6, 4)(1, 4, 6, 5) = (1, 3, 6, 5)(2)(4) = (1, 3, 6, 5) [/math]

Обратная перестановка

Определение:
Обратной перестановкой [math] a^{-1} [/math] к перестановке [math] a [/math] называется такая перестановка, что: [math] (a^{-1}a)_i = (aa^{-1})_i = i [/math]


Определение:
Перестановка, равная своей обратной, называется инволюцией (англ. involution): [math] a_i = a^{-1}_i \Rightarrow (aa ^{-1})_i = (aa)_i = a_{a_i} = i [/math], то есть её представление в виде циклов не содержит цикла, размер которого больше двух.


Утверждение:
Количество инволюционных перестановок длины [math]n\geqslant 2 [/math] может быть получено по формуле: [math] I(n) = I(n-1)+(n-1)\cdot I(n-2) [/math], где [math] I(0) = I(1) = 1. [/math]
[math]\triangleright[/math]
Существует [math] I(n-1)[/math] инволюций, при [math]a_n = n [/math]. Число инволюций, содержащих цикл [math](j,n)[/math], где [math] 1\leq j\leq n-1 [/math], [math] (n-1)\cdot I(n-2)[/math]. Имеем, что [math] I(n) = I(n-1)+(n-1)\cdot I(n-2). [/math]
[math]\triangleleft[/math]


Определение:
Перестановка, содержащая чётное количество инверсий, называется чётной, в противном случае [math] - [/math] нечётной.


Определение:
Перестановка, меняющая местами только два элемента, называется транспозицией (англ. transposition).


Лемма:
Если в перестановке, длина которой больше [math]1[/math], поменять местами [math] 2 [/math] элемента, то её четность изменится.
Доказательство:
[math]\triangleright[/math]
Для элементов, стоящих рядом, истинность утверждения очевидна: их взаимное расположение относительно других элементов не изменилось, а транспозиция этих чисел изменяет количество инверсий на единицу. Пусть теперь между перемещаемыми элементами [math] a [/math] и [math] b [/math] находятся [math] d [/math] элементов, то есть перестановка имеет вид: [math] ..., a, s_1, s_2, ..., s_d, b, ... [/math]. Сначала поменяем последовательно [math] a [/math] с числами [math] s_1, s_2, ..., s_d, b [/math], а затем число [math]b[/math] с рядом стоящими [math] s_d, s_d-1, ..., s_1 [/math]. В итоге мы выполним [math] 2\cdot d + 1 [/math] транспозиций рядом стоящих элементов, то есть чётность перестановки изменится.
[math]\triangleleft[/math]

Получение обратной перестановки

Пусть в массиве 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;

При представлении перестановки в виде циклов обратную перестановку можно легко получить, инвертировав все ребра в циклах.

[math] a = (1, 3, 2), (4, 5) \Rightarrow a^{-1} = (1, 2, 3), (4, 5) [/math]

Отсюда следует более эффективный алгоритм (приведена 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;

Группа перестановок

Определение:
Группой называется множество [math] M [/math] с заданной на нём бинарной операцией [math] \circ: МM\times M \longrightarrow M[/math], удовлетворяющей следующим свойствам:
  1. [math] (g_1 \circ g_2) \circ g_3 = g_1 \circ (g_2 \circ g_3) [/math] — ассоциативность соответствующей бинарной операции.
  2. Существование нейтрального элемента [math] e [/math] относительно операции [math] \circ [/math], такого, что для любого [math] g \in M: g \circ e = e \circ g = g [/math]
  3. Для любого [math] g \in M [/math]существует [math] g^{-1} \in M[/math] называемый обратным элементом, такой, что [math]: g \circ g^{-1} = g^{-1} \circ g = e [/math]


Утверждение:
Множество перестановок с [math] n [/math] элементами с операцией умножения является группой (часто группу перестановок называют симметрической, и обозначают [math] S_n [/math]).
[math]\triangleright[/math]
Свойства 1 и 3 доказаны выше, а в качестве нейтрального элемента выступает тождественная перестановка ([math] \pi_i = i [/math]).
[math]\triangleleft[/math]

Мощность симметрической группы: [math]\left\vert S_n \right\vert = n![/math]

Теорема Кэли утверждает, что любая конечная группа изоморфна подгруппе некоторой группе перестановок.

Группа чётных перестановок

Определение:
Группа чётных перестановок [math] A_n [/math] является подгруппой симметричной группы перестановок, образованной всеми чётными перестановками. Композиция не выводит из группы, так как если представить каждую перестановку группы в виде чётного числа транспозиций и перемножить их, чётность не изменится.


Утверждение:
Количество чётных перестановок длины [math] n [/math] равно количеству нечётных и равно [math] \dfrac{n!}{2} [/math]
[math]\triangleright[/math]
Пусть число число чётных перестановок [math] - [/math] [math] a[/math], а нечётных [math] - [/math] [math] b [/math]. Сделаем транспозицию [math] (1, 2) [/math] для всех чётных перестановок. Получим [math] a [/math] нечётных различных перестановок, то есть [math] a\leqslant b [/math]. Проделаем то же самое с нечётными перестановками. Получим, что [math] b\leqslant a [/math], то есть [math] a = b [/math] и [math] a = \dfrac{n!}{2} [/math].
[math]\triangleleft[/math]

Подстановка

Определение:
Подстановкой (англ. substitution) называется всякое взаимно однозначное отображение [math] A [/math] множества первых [math]n[/math] натуральных чисел на себя.


Всякая подстановка A может быть записана при помощи двух перестановок, подписанных одна под другой:

[math] A = \begin{pmatrix} q_1 & q_2 & ... & q_n \\ a_{k_1} & a_{k_2} & ... & a_{k_n} \end{pmatrix} [/math]

Где через [math] a_{k_i} [/math] обозначается то число, в которое при подстановке [math] A [/math] переходит число [math] q_i [/math].


Источники и литература