Сортировка при помощи транспозиций и обращений (коэффициент аппроксимации 1,5): различия между версиями

Перейти к навигации Перейти к поиску
Строка 22: Строка 22:
'''Граф разрывов'''
'''Граф разрывов'''


Пусть дана перестановка со знаками <math>\pi</math> на множестве {1, 2, ..., n} из n элементов. Ее можно преобразовать в перестановку без знаков <math>f(\pi) = \pi' = [\pi'_1, \pi'_2, ..., \pi'_{2n}]</math> на множестве {1, 2, ... ,2n} из 2n элементов путем замены каждого положительного элемента i двумя элементами 2i – 1, 2i (именно в таком порядке), а каждого отрицательного элемента -i – двумя элементами 2i, 2i - 1. Расширенная перестановка <math>f(\pi)</math> здесь рассматривается как циклическая перестановка при помощи определения 2n + 1 и 1 в индексах и элементах. Чтобы гарантировать, что каждая операция на <math>f(\pi)</math> может быть имитирована операцией на <math>\pi</math>, для <math>f(\pi)</math> допускаются только операции, выполняющие разрезание перед нечетными позициями. ''Граф разрывов'' <math>G(\pi)</math> представляет собой граф с раскрашенными ребрами с 2n вершинами {1, 2, ..., 2n}, в котором для любого <math>1 \le i \le n</math> вершина <math>\pi\_{2i}</math> соединяется с <math>\pi\_{2i + 1}</math> ребром черного цвета, а вершина 2i соединяется с 2i + 1 ребром серого цвета (см. пример на рис. 1b). Поскольку степень каждой вершины в <math>G(\pi)</math> в точности равна 2, граф уникальным образом разбивается на циклы. k-cycle (то есть цикл длины k) представляет собой цикл с k черными ребрами и является нечетным, если k нечетно. Обозначим количество нечетных циклов в G(JI) за со^(ж). Несложно убедиться в том, что G(TI) состоит из n 1-циклов и, следовательно, со^(ж) = n, если ж является тождественной перестановкой [1; 2... n ]. Гу и др. [ ] показали, что сосу(/х • ж) < сосу(тг) + 2 для всех линейных перестановок ж и операций ji. В работе [ ] Хартман и Шаран также отметили, что вышеприведенный результат имеет мест отакже для циклических перестановок, и доказали, что нижняя граница d(jr) составляет (и(лг) - соМ(ж))/2.
Пусть дана перестановка со знаками <math>\pi</math> на множестве {1, 2, ..., n} из n элементов. Ее можно преобразовать в перестановку без знаков <math>f(\pi) = \pi' = [\pi'_1, \pi'_2, ..., \pi'_{2n}]</math> на множестве {1, 2, ... ,2n} из 2n элементов путем замены каждого положительного элемента i двумя элементами 2i – 1, 2i (именно в таком порядке), а каждого отрицательного элемента -i – двумя элементами 2i, 2i - 1. Расширенная перестановка <math>f(\pi)</math> здесь рассматривается как циклическая перестановка при помощи определения 2n + 1 и 1 в индексах и элементах. Чтобы гарантировать, что каждая операция на <math>f(\pi)</math> может быть имитирована операцией на <math>\pi</math>, для <math>f(\pi)</math> допускаются только операции, выполняющие разрезание перед нечетными позициями. ''Граф разрывов'' <math>G(\pi)</math> представляет собой граф с раскрашенными ребрами с 2n вершинами {1, 2, ..., 2n}, в котором для любого <math>1 \le i \le n</math> вершина <math>\pi'_{2i}</math> соединяется с <math>\pi'_{2i + 1}</math> ребром черного цвета, а вершина 2i соединяется с 2i + 1 ребром серого цвета (см. пример на рис. 1b). Поскольку степень каждой вершины в <math>G(\pi)</math> в точности равна 2, граф уникальным образом разбивается на циклы. ''k-цикл'' (то есть цикл ''длины'' k) представляет собой цикл с k черными ребрами и является ''нечетным'', если k нечетно. Обозначим количество нечетных циклов в <math>G(\pi)</math> за <math>c_{odd}(\pi)</math>. Несложно убедиться в том, что <math>G(\pi)</math> состоит из n 1-циклов и, следовательно, <math>c_{odd}(\pi) = n</math>, если ж является тождественной перестановкой [1, 2, ..., n]. Гу и др. [5] показали, что <math>c_{odd}(\mu \cdot \pi_ \le c_{odd}(\pi) + 2</math> для всех линейных перестановок <math>\pi</math> и операций <math>\mu</math>. В работе [8] Хартман и Шаран также отметили, что вышеприведенный результат имеет место также для циклических перестановок, и доказали, что нижняя граница <math>d(\pi)</math> составляет <math>(n(\pi) - c_{odd}(\pi))/2</math>.




'''Преобразование в 3-перестановки'''
'''Преобразование в 3-перестановки'''
4430

правок

Навигация