Jump to content

Перестановка

(Перенаправлено из распоряжения (математика) )
В соответствии с первым значением перестановки, каждый из шести рядов является другой перестановкой трех отдельных шаров

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

Примером первого значения является шесть перестановок (порядок) набора {1, 2, 3}: написано как кортежи , они (1, 2, 3), (1, 3, 2), (2, 1, 3), (2, 3, 1), (3, 1, 2) и (3, 2, 1). Анаграммы слова, все буквы, все разные, также являются перестановками: буквы уже заказаны в исходном словом, а Анаграмма переорчает их. Изучение перестановки конечных наборов является важной темой в комбинаторике и теории групп .

Передачи используются практически во всех ветвях математики и во многих других областях науки. В информатике они используются для анализа алгоритмов сортировки ; в квантовой физике для описания состояний частиц; и в биологии для описания РНК последовательностей .

Количество перестановки n различных объектов является ,   факториальным обычно написанным как n ! , что означает продукт всех положительных целых чисел, меньше или N. равен

Согласно второму значению, перестановка набора определяется биение как от S на себя. [ 2 ] [ 3 ] То есть это функция от S до S , для которой каждый элемент встречается ровно один раз в виде значения изображения . Такая функция эквивалентно перестановке элементов S , в которых каждый элемент I заменяется соответствующим Полем Например, перестановка (3, 1, 2) описывается функцией определяется как

.

Сбор всех перестановок набора формирует группу , называемую симметричной группой набора. Групповая работа представляет собой состав функций (выполняя одну перестройку за другой), что приводит к другой функции (перестройка). Свойства перестановки не зависят от характера перестановленных элементов, только по их номеру, поэтому часто рассматривает стандартный набор .

В элементарных комбинаториках k -перспективы или частичные перестановки являются упорядоченными расположениями k отдельных элементов, выбранных из набора. Когда K равен размеру набора, это перестановки в предыдущем смысле.

В популярной загадке кубика Рубика, изобретенной в 1974 году Эрном Рубиком , каждый поворот гриц -лиц создает перестановку цветов поверхности.

перестановки, называемые гексаграммами использовались В Китае в Китае ( пинин : Yi Jing) еще в 1000 г. до н.э.

В Греции Плутарх писал, что ксенократ Чалкедона (396–314 до н.э.) обнаружил количество различных слогов, возможных на греческом языке. Это была бы первая попытка решить сложную проблему в перестановке и комбинациях. [ 4 ]

Аль-Халил (717–786), арабский математик и криптограф , написал книгу криптографических сообщений . Он содержит первое использование перестановок и комбинаций, чтобы перечислить все возможные арабские слова с гласными и без него. [ 5 ]

Правило определить количество перестановки n объектов было известно в индийской культуре около 1150 г. н.э. Лилавати : индийского математика Бхаскара II содержит отрывок, который переводится следующим образом

Продукт умножения арифметического ряда, начинающегося и увеличивающегося в единстве и продолжительно до количества мест, будет вариациями числа с конкретными цифрами. [ 6 ]

В 1677 году Фабиан Стедман описал фактические показатели при объяснении количества перестановки колоколов в звонке . Начиная с двух колоколов: «Во -первых, два должны быть признаны, чтобы они были разнообразны двумя способами», что он иллюстрирует, показывая 1 2 и 2 1. [ 7 ] Затем он объясняет, что с тремя колоколами «три раза две фигуры, которые будут произведены из трех», которые снова иллюстрируются. Его объяснение включает в себя «отбрасывание 3, и 1.2 останется; отбрасывается 2, а 1.3 останется; отбрасывается 1, а 2,3 останется». [ 8 ] Затем он переходит к четырем колоколам и повторяет аргумент, показывающий, что будет четыре разных набора из трех. По сути, это рекурсивный процесс. Он продолжает с пятью колокольчиками, используя метод «отбрасывать» и табулирует полученные 120 комбинаций. [ 9 ] На данный момент он сдается и замечает:

Теперь природа этих методов такова, что изменения на одном числе понимают изменения во всех меньших числах, ... с точки зрения того, что комплект изменений в одном чисе в одно целое тело; [ 10 ]

Стедман расширяет рассмотрение перестановки; Далее он рассматривает количество перестановки букв алфавита и лошадей из конюшни 20. [ 11 ]

Первый случай, в котором, казалось бы, неродственные математические вопросы были изучены с помощью перестановки, произошел около 1770 года, когда Джозеф Луи Лагранж в изучении полиномиальных уравнений наблюдал, что свойства перестановки корней уравнения связаны с возможностями. Решите это. В конечном итоге эта линия работы привела к работе Эвариа -Галуа в теории Галуа , которая дает полное описание того, что возможно и невозможно в отношении решения полиномиальных уравнений (в одном неизвестном) радикалами. В современной математике есть много подобных ситуаций, в которых понимание проблемы требует изучения определенных перестановки, связанных с ней.

Пропутания сыграли важную роль в криптованализе машины Enigma , устройства шифра, используемого нацистской Германией во время Второй мировой войны . В частности, одно важное свойство перестановки, а именно, что две перестановки находятся в точности, когда они имеют одинаковый тип цикла, использовалось криптологом Мариан Рейвски для разбития немецкой шифры загадочной загадки в 1932-1933 годах. [ 12 ] [ 13 ]

Определение

[ редактировать ]

В математических текстах обычно обозначают перестановку с использованием греческих букв с нижней частью. Обычно или используются. [ 14 ]

Перестановка может быть определена как биение (инвертируемое отображение, один к одному и на функцию) от набора к себе:

личности Перестановка определяется для всех элементов и может быть обозначен номером , [ А ] к , или одним 1-циклом (x). [ 15 ] [ 16 ] Набор всех перестановок набора с n -элементами образует симметричную группу , где групповая операция представляет собой композицию функций . Таким образом для двух перестановок и в группе , их продукт определяется:

Композиция обычно записывается без точки или другого знака. В целом, состав двух перестановок не является коммутативным :

В качестве биении от набора на себя, перестановка - это функция, которая выполняет перегруппировку набора, называемой активной перестановкой или заменой . Старая точка зрения рассматривает перестановку упорядоченной договоренности или списка всех элементов S , называемых пассивной перестановкой . [ 17 ] Согласно этому определению, все перестановки в § Один-линии нотации являются пассивными. Это значение тонко отличается от того, насколько пассивно (т.е. псевдоним ) используется в активной и пассивной трансформации и в других местах, [ 18 ] [ 19 ] что рассматривает все перестановки, открытые для пассивной интерпретации (независимо от того, находятся ли они в обозначениях одной линии, двухстрочной обозначениям и т. Д.).

Перестановка может быть разложен на один или несколько циклов непересекания , которые являются орбитами циклической группы Действует на наборе с . Цикл обнаруживается путем неоднократного применения перестановки к элементу: , где мы предполагаем Полем Цикл, состоящий из k -элементов, называется k -цикл. (См. § Цикл записи ниже.)

Фиксированная точка перестановки это элемент x , который предназначен для себя, то есть , образуя 1-цикл Полем Перестановка без фиксированных точек называется расстройством . Перестановка, обмениваясь двумя элементами (один 2-цикл) и оставляя остальные фиксированными, называется транспозицией .

Обозначения

[ редактировать ]

Несколько обозначений широко используются для удобного представления перестановки. Цик -нотация является популярным выбором, так как он компактный и четко показывает структуру перестановки. Эта статья будет использовать цикл нотации, если не указано иное.

Двухстрочная нотация

[ редактировать ]

Коши Двухстрочная нотация [ 20 ] [ 21 ] Перечисляет элементы S в первом ряду и изображение каждого элемента под ним во втором ряду. Например, перестановка s = {1, 2, 3, 4, 5, 6}, заданная функцией

может быть написан как

Элементы S могут появиться в любом порядке в первом ряду, поэтому эта перестановка также может быть написана:

Один строка нотация

[ редактировать ]

Если есть «естественный» порядок для элементов S , [ B ] сказать , затем один использует это для первого ряда нотации с двумя строками:

В соответствии с этим предположением можно пропустить первую ряд и написать перестановку в одной строке .

,

то есть как упорядоченное расположение элементов с . [ 22 ] [ 23 ] Необходимо соблюдать осторожность, чтобы отличить обозначения в одну строчку от нотации цикла, описанного ниже: распространенным использованием является пропуск скобков или других ограждений для обозначения одной строки, при использовании скобок для нотации цикла. Одностроение обозначения также называется словом представления . [ 24 ]

Пример выше будет тогда:

(Типично использовать запятые, чтобы разделить эти записи, только если у некоторых есть две или более цифры.)

Эта компактная форма распространена в элементарной комбинаторике и информатике . Это особенно полезно в приложениях, где перестановки должны сравниваться как больше или меньше с использованием лексикографического порядка .

Цикл нотации

[ редактировать ]

Обозначение цикла описывает влияние многократного применения перестановки на элементы наборов , причем орбита называется циклом . Перестановка написана как список циклов; Поскольку различные циклы включают в себя невысокие наборы элементов, это называется «разложение в непересекающиеся циклы».

Написать перестановку В циклам нотации человек продолжается следующим образом:

  1. следует произвольный элемент x Напишите вступительный кронштейн, за которым :
  2. Проследить орбиту x , записать значения в соответствии с последовательными приложениями :
  3. Повторите, пока значение не вернется к x, и закрыть скобку, не повторяя x :
  4. Продолжайте с элементом Y из S , который еще не был написан, и повторите вышеуказанный процесс:
  5. Повторите, пока все элементы S не будут написаны в циклах.

Кроме того, это часто пропускает 1-й цикл, поскольку их можно сделать: для любого элемента x в S , не появляющийся ни в одном цикле, один неявно предполагает . [ 25 ]

После соглашения о пропуске 1-х циклов можно интерпретировать индивидуальный цикл как перестановку, которая фиксирует все элементы, не в цикле ( циклическая перестановка, имеющая только один цикл длины, превышающий 1). Затем список непересекающих циклов можно рассматривать как состав этих циклических перестановков. Например, однострочная перестановка может быть написано в циклам нотации как:

Это можно рассматривать как композиция циклических перестановок:

В то время как перестановки в целом не едут, циклы не соответствуют; например:

Кроме того, каждый цикл может быть переписан с другой отправной точки; например,

Таким образом, можно написать непрерывные циклы данной перестановки разными способами. Удобная особенность нотации цикла состоит в том, что инвертирование перестановки дается путем отмены порядка элементов в каждом цикле. Например,

Каноническая нотация цикла

[ редактировать ]

В некоторых комбинаторных контекстах полезно исправить определенный порядок для элементов в циклах и самих циклов. Miklós Bóna вызывает следующие варианты упорядочения каноническим циклом:

  • В каждом цикле самый большой элемент перечислен первым
  • Циклы отсортируются в порядке увеличения их первого элемента, а не пропущены 1-х циклов

Например,

(513)(6)(827)(94)

это перестановка s = {1, 2 ,. Полем Полем , 9} в каноническом цикле. [ 26 ]

Ричард Стэнли называет это «стандартным представлением» перестановки, [ 27 ] и Martin Aigner использует «стандартную форму». [ 24 ] Сергей Китаев также использует терминологию «стандартной формы», но меняет оба варианта; То есть в каждом цикле сначала перечисляет свой минимальный элемент, и циклы отсортируются в порядке уменьшения их минимальных элементов. [ 28 ]

Композиция перестановки

[ редактировать ]

Есть два способа обозначить состав двух перестановков. В наиболее распространенных обозначениях, это функция, которая отображает любой элемент x на Полем Самая правая перестановка применяется к аргументу, сначала, [ 29 ] Потому что аргумент написан справа от функции.

Другое правило для умножения перестановки исходит от написания аргумента слева от функции, так что самая левая перестановка действует первым. [ 30 ] [ 31 ] [ 32 ] В этой нотации перестановка часто пишутся как показатель, поэтому σ, действующее на x , написана x а ; тогда продукт определяется Полем В этой статье используется первое определение, где сначала применяется самая правая перестановка.

Операция композиции функции удовлетворяет аксиомам группы . Это ассоциативно , что означает и продукты более двух перестановок обычно пишутся без скобок. Операция композиции также имеет элемент идентификации (перестановка идентификации и каждая перестановка имеет обратное (его обратная функция ) с .

Другое использование термина перестановки

[ редактировать ]

Концепция перестановки как упорядоченной договоренности допускает несколько обобщений, которые были названы перестановками , особенно в старой литературе.

k -permutations n n

[ редактировать ]

В более старых литературе и элементарных учебниках k -перспектива n (иногда называемой частичной перестановкой , последовательности без повторения , вариации или расположения ) означает упорядоченное расположение (список) подмножества k -элемента n -сети. [ C ] [ 33 ] [ 34 ] Количество таких k -перспектив ( k -arrangences) по -разному обозначается такими символами, как , , , , , или , [ 35 ] вычисляется формулой: [ 36 ]

,

что 0, когда k > n , и в противном случае равен

Продукт хорошо определен без предположения, что является неотрицательным целым числом, а также имеет важное значение вне комбинаторики; он известен как символ Pochhammer или как -Та падающая факториальная сила :

Это использование термина перестановки тесно связано с термином комбинации , чтобы означать подмножество. K -комбинированность набора S представляет собой подмножество K- элемента S : элементы комбинации не упорядочены. Заказы k -комбинации S всеми возможными способами K -перспективы S. создает Поэтому количество k -комбинаций N -Set, c ( n , k ) связано с количеством k -перспектив n by:

Эти цифры также известны как биномиальные коэффициенты , обычно обозначаемые :

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

[ редактировать ]

Заказанные аранжировки k -элементов установки , где разрешено повторение, называются K -Tuples . Иногда их называют перестановками с повторением , хотя они не являются перестановками в обычном смысле. называются словами или струнами над алфавитом . Они также Если набор S имеет N -элементы, количество k по S -tuples

Перестановки мультисетов

[ редактировать ]
Перестановки без повторения слева, с повторением справа

Если M является конечным MultiSet , то MultiSet перестановка является упорядоченным расположением элементов M в которых каждый элемент появляется несколько раз, равное точности его множественности в M. , Анаграмма . слова с некоторыми повторяющимися буквами является примером мультистной перестановки [ D ] Если множественность элементов M (взятых в некотором порядке) , , ..., и их сумма (то есть размер М ) - это n , тогда количество мультисетских перестановок М определяется многономиальным коэффициентом , [ 37 ]

Например, количество различных анаграмм слова Миссисипи: [ 38 ]

.

K , -перспектива MultiSet M является последовательности k -элементов M в которых каждый элемент появляется в несколько раз меньше или равна его множественности в M элемента ( номер повторения ).

Круговые перестановки

[ редактировать ]

Передачи, когда рассматриваются как соглашения, иногда называют линейно упорядоченными . Однако, если объекты расположены круглым способом, этот выдающийся порядок ослаблен: в расположении нет «первого элемента», поскольку любой элемент можно рассматривать как начало. Расположение различных объектов в круговой форме называется круговой перестановкой . [ 39 ] [ E ] Они могут быть официально определены как классы эквивалентности обычных перестановков этих объектов, для отношения эквивалентности, генерируемого путем перемещения конечного элемента линейного расположения на его фронт.

Две круглые перестановки эквивалентны, если одно можно вращать в другой. Следующие четыре круговых перестановки на четырех буквах считаются такими же.

     1           4           2           3
   4   3       2   1       3   4       1   2
     2           3           1           4

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

     1          1
   4   3      3   4
     2          2

Есть ( n - 1)! Круглые перестановки набора с n элементами.

Характеристики

[ редактировать ]

Количество перестановки n различных объектов составляет n !

Количество n -перспектив с k -переплетающимися циклами -это необычное число первого рода , обозначаемого или . [ 40 ]

Тип цикла

[ редактировать ]

Циклы (включая фиксированные точки) перестановки набор с разделом N Elements, который устанавливает; длина этих циклов образует целочисленное разделение n Таким образом , , которое называется типом цикла (или иногда цикла или форме цикла ) Полем В типе цикла есть «1» для каждой фиксированной точки , «2» для каждой транспозиции и так далее. Тип цикла является

Это также может быть написано в более компактной форме, как [1 1 2 2 3 1 ] ​ Точнее, общая форма , где количество циклов соответствующей длины. Количество перестановки данного типа цикла является [ 41 ]

.

Количество типов циклов набора с n -элементами равно значению функции разделения .

- Polya индекс цикла Полиномиальная это генерирующая функция , которая считает перестановки по типу цикла.

Сопряжение перестановки

[ редактировать ]

В целом, составление перестановки, записанных в циклах, не следует за легко описанной шаблоном - циклы композиции могут отличаться от тех, которые составляют. Однако тип цикла сохраняется в особом случае конъюгирования перестановки другой перестановкой , что означает формирование продукта Полем Здесь, является сопряженным к и его циклевые нотации можно получить, взяв цикл нотации для и применять ко всем записям в нем. [ 42 ] Отсюда следует, что две перестановки находятся точно, когда они имеют одинаковый тип цикла.

Порядок перестановки

[ редактировать ]

Порядок перестановки это самое маленькое положительное целое число m , чтобы Полем Это наименее распространенное кратное длины его циклов. Например, порядок является .

Паритет перестановки

[ редактировать ]

Каждая перестановка конечного набора может быть выражена как продукт транспозиций. [ 43 ] Хотя может существовать много таких выражений для данной перестановки, либо все они содержат равномерное количество транспозиций, либо все они содержат нечетное количество транспозиций. Таким образом, все перестановки могут быть классифицированы как четные или нечетные в зависимости от этого числа.

Этот результат может быть расширен, чтобы назначить знак , написанный , к каждой перестановке. если это равно и если это странно. Затем для двух перестановков и

Это следует за этим

Знак перестановки равен определяющему факту его матрицы перестановки (ниже).

Матричное представление

[ редактировать ]

Матрица перестановки - это n × n матрица , которая имеет ровно одну запись 1 в каждом столбце и в каждой строке, а все остальные записи составляют 0. Есть несколько способов назначить матрицу перестановки для перестановки {1, 2, .. ., N }. Один естественный подход - определить быть трансформацией линейным который переставляет стандартную основу к и определить быть его матрицей. То есть, имеет свой j тур столбец, равный вектору столбца N × 1 : it ( i , j ) запись до 1, если i = σ ( j ) и 0 в противном случае. Поскольку состав линейных отображений описывается умножением матрицы, из этого следует, что эта конструкция совместима с составом перестановки:

.

Например, однострочные перестановки иметь продукт и соответствующие матрицы:

Состав перестановки, соответствующий умножению матриц перестановки.

В литературе также распространено обратное соглашение, где перестановка σ связана с матрицей чья ( i , j ) запись составляет 1, если j = σ ( i ) и 0 в противном случае. В этом соглашении матрицы перестановки умножаются в противоположном порядке от перестановки, то есть Полем В этой соответствии, матрицы перестановки действуют на правую сторону стандарта ряд векторов : .

В таблице Cayley справа показаны эти матрицы для перестановки 3 элементов.

Перестановки полностью упорядоченных наборов

[ редактировать ]

В некоторых приложениях элементы перестановленного набора будут сравниваться друг с другом. Это требует, чтобы набор S имел общий порядок , чтобы можно было сравнить с любыми двумя элементами. Набор {1, 2, ..., n } с обычным ≤ соотношением является наиболее часто используемым в этих приложениях.

Ряд свойств перестановки напрямую связан с общим упорядочением S, учитывая перестановку, написанную в одной строке. .

Восхождения, спусков, пробеги, превышения, записи

[ редактировать ]

Восхождение , перестановки σ n где следующее значение больше , - любая позиция i < n чем текущее. То есть я воскресенье, если Полем Например, перестановка 3452167 имеет восхождение (в положениях) 1, 2, 5 и 6.

же спуск позиция с Точно так - это , так что каждый я с это либо подъем, либо спуск.

Восходящим заездом перестановки является неэмпатическая постоянная последовательность, которая не может быть расширена на любом конце; Это соответствует максимальной последовательности последовательных восхождений (последнее может быть пустым: между двумя последовательными спустями все еще есть восходящий пробег длины 1). Напротив, растущая подпоследовательность перестановки не обязательно является смежной: это увеличивающаяся последовательность, полученная путем пропущения некоторых значений обозначения одной строки. Например, перестановка 2453167 имеет восходящие прогоны 245, 3 и 167, в то время как она увеличивает последующую последующую последующую связь 2367.

Если перестановка имеет спуска k - 1, то это должен быть союз k восходящих пробежек. [ 44 ]

Количество перестановки n с k восхождениями составляет (по определению) эйлеровое число ; Это также количество перестановки n с k спустями. Некоторые авторы, однако, определяют номер эйлера в качестве количества перестановок с k восходящими прогонами, что соответствует спуске k - 1 . [ 45 ]

Превышение перестановки σ 1 σ 2 ... σ n является индексом j, такой, что σ j > j . Если неравенство не является строгим (то есть σ J J ), то J называется слабым превышением . Количество n -перспектив с превышение k совпадает с количеством n -перспектив с k спусками. [ 46 ]

Запись σ или максимум правой перестановки σ -это элемент I такой, что ( j ) < σ ( i ) для всех j <i .

Переход Фоата Лемма

[ редактировать ]

преобразует Фоаты Фундаментальная биография перестановку с данной формой канонического цикла в перестановку чья обозначения в одной линии имеет одинаковую последовательность элементов с удаленными скобками. [ 27 ] [ 47 ] Например:

Здесь первый элемент в каждом каноническом цикле становится записью (максимум слева направо) Полем Данный , можно найти свои записи и вставить скобки для построения обратного преобразования Полем Подчеркивая записи в приведенном выше примере: , что позволяет реконструировать циклы .

В следующей таблице показана и Для шести перестановки S = ​​{1, 2, 3}, с жирным текстом на каждой стороне, показывающих обозначения, используемые в биении: однострочная нотация для и каноническая нотация цикла для .

В качестве первого следа, количество n -перспектив с точно k -записями равно количеству n -перспектив с ровными k -циклами: этот последний номер является подписным номером первого рода , Полем Кроме того, отображение Фоаты занимает n -перспективы с k слабыми превышающими превышениями к n -перметации с k -1 восхождением. [ 47 ] Например, (2) (31) = 321 имеет k = 2 слабых превышений (при индексе 1 и 2), тогда как F (321) = 231 имеет k - 1 = 1 подъезд (при индексе 1; то есть от 2 до 3).

Инверсии

[ редактировать ]
В 15 головоломке цель состоит в том, чтобы получить квадраты в порядке возрастания. Начальные позиции, которые имеют нечетное количество инверсий, невозможно решить. [ 48 ]

Инверсия - перестановки σ это пара ( i , j ) позиций, где записи перестановки находятся в противоположном порядке: и . [ 49 ] Таким образом, спуск является инверсией в двух соседних позициях. Например, σ = 23154 имеет ( i , j ) = (1, 3), (2, 3) и (4, 5), где ( σ ( i ), σ ( j )) = (2, 1) , (3, 1) и (5, 4).

Иногда инверсия определяется как пара значений ( σ ( i ), σ ( j )); Это не имеет значения для количества инверсий, а обратная пара ( σ ( j ), σ ( i )) является инверсией в вышеупомянутом смысле для обратной перестановки σ −1 .

Количество инверсий является важной мерой для степени, в которой записи перестановки не в порядке; это то же самое для σ и для σ −1 Полем Чтобы привлечь перестановку с k инверсиями в порядке (то есть, преобразовать его в перестановку идентичности), последовательно применяя (правую мультиплизацию по) соседним транспозициям , всегда возможно и требует последовательности k таких операций. Более того, будет работать любой разумный выбор для смежных транспозиций: достаточно выбирать на каждом этапе, транспонируя I и I + 1, где я представляет собой спуск перестановки модифицированного до сих пор (так что транспонирование удаляет этот конкретный спуск, Хотя это может создать другие спуски). Это так, потому что применение такой транспозиции уменьшает количество инверсий на 1; Пока это число не равна нулю, перестановка не является личности, поэтому у него есть по крайней мере один спуск. Сорта пузырьков и сортировка вставки можно интерпретировать как конкретные случаи этой процедуры, чтобы поместить последовательность в порядке. Кстати, эта процедура доказывает, что любая перестановка σ может быть написана как продукт смежных транспозиций; Для этого можно просто изменить любую последовательность таких транспозиций, которая преобразует σ в идентичность. Фактически, перечисляя все последовательности смежных транспозиций, которые преобразовали бы σ в идентичность, можно получить (после разворота) полный список всех выражений минимальной длины записи σ в качестве продукта смежных транспозиций.

Количество перестановки n с k инверсиями выражается махонианским номером . [ 50 ] Это коэффициент в расширении продукта

Нотация обозначает Q-фактического . Это расширение обычно появляется в изучении ожерелий .

Позволять так что и Полем В этом случае скажем, вес инверсии является Полем Kobayashi (2011) доказал формулу перечисления

где Обозначает порядок Брухата в симметричных группах . Этот градуированный частичный порядок часто появляется в контексте групп коксетов .

Перестановки в вычислениях

[ редактировать ]

Нумерация перестановки

[ редактировать ]

Один из способов представления перестановки n вещей - это целое число n с 0 ≤ n < n !, Предоставлены удобные методы для преобразования между числом и представлением перестановки в качестве упорядоченного расположения (последовательность). Это дает наиболее компактное представление произвольных перестановок, и в вычислениях особенно привлекательно, когда N достаточно мал, что N можно удерживать в машинном словом; Для 32-битных слов это означает n ≤ 12, и для 64-битных слов это означает n ≤ 20. Преобразование может быть сделано посредством промежуточной формы последовательности чисел d n , d n −1 , ..., d 2 , D 1 , где D I -это неотрицательное целое число меньше, чем я (можно опустить D 1 , так как это всегда 0, но его присутствие облегчает описание последующего преобразования в перестановку). Первый шаг тогда - просто выразить n в системе факториальных чисел только конкретное Radix где для чисел меньше N ! , которая представляет собой смешанное изображение , )! В ( n - 2)! , ..., 2!, 1!. Второй шаг интерпретирует эту последовательность как код Lehmer или (почти эквивалентно) как таблица инверсии.

Диаграмма Рота для
σ i
я
1 2 3 4 5 6 7 8 9 Lehmer Code
1 × × × × × D 9 = 5
2 × × D 8 = 2
3 × × × × × d 7 = 5
4 D 6 = 0
5 × D 5 = 1
6 × × × D 4 = 3
7 × × D 3 = 2
8 D 2 = 0
9 D 1 = 0
Таблица инверсии 3 6 1 2 4 0 2 0 0

В коде Lehmer для перестановки σ число D N представляет выбор, сделанный для первого члена σ 1 , число d n -1 представляет выбор, сделанный для второго члена σ 2 среди оставшихся элементов n - 1 набора и т. Д. Точнее, каждый d n +1- дает количество оставшихся элементов строго меньше, чем термин σ i . Поскольку эти оставшиеся элементы должны появиться как некоторые последующие члена σ j , цифра d n +1- Я считает инверсии ( i , j ), включающую I как меньший индекс (количество значений j , для которых i < j и σ i > σ j ). Таблица инверсии для σ очень похожа, но здесь d n +1- k считает количество инверсий ( i , j ), где k = σ j встречается как меньшее из двух значений, появляющихся в инвертированном порядке. [ 51 ]

Обе кодировки могут быть визуализированы по n с n rothe диаграммой [ 52 ] (назван в честь Генриха Августа Роте ), в котором точки в ( i , σ i ) отмечают записи перестановки, а крест в ( i , σ j ) отмечает инверсию ( i , j ); По определению инверсий в столбце появляется крест, который появляется как до точки ( j , σ j ) в его столбце, так и до точки ( i , σ i ) в его строке. Код Lehmer перечисляет количество крестов в последовательных строках, в то время как в таблице инверсии перечислены количество крестов в последовательных столбцах; Это просто код Lehmer для обратной перестановки, и наоборот.

Чтобы эффективно преобразовать код Lehmer D N , D N -1 , ..., D 2 , D 1 в перестановку упорядоченных наборов , можно начать со списка элементов S в увеличении порядка и для I Увеличение от 1 до N Установите σ I до элемента в списке, которому предшествует D N +1- I , и удалите этот элемент из списка. Чтобы преобразовать таблицу инверсии d n , d n −1 , ..., d 2 , d 1 в соответствующую перестановку, можно пройти числа от D 1 до D n , вставка элементов S от наибольшего до наименьшего в изначально пустая последовательность; На шаге, используя число D из таблицы инверсии, элемент из S вставлен в последовательность в точке, где ему предшествуют D. уже элементы В качестве альтернативы можно обработать числа из таблицы инверсии и элементов S как в противоположном порядке, начиная с ряда N -пустых слотов, и на каждом шаге поместите элемент из S в пустой пролет, которому предшествует D Другие пустые слоты.

Преобразование последовательных натуральных чисел в систему факториальных чисел производит эти последовательности в лексикографическом порядке (как в случае с любой смешанной системой номеров Radix) и дальнейшее преобразование их в перестановку сохраняет лексикографический порядок, при условии, что интерпретация кода Lehmer используется (использует таблицы инверсии , каждый получает другой заказ, где начинается с сравнения перестановки по месту их записей 1, а не по значению их первых записей). Сумма чисел в представлении системы факторных чисел дает количество инверсий перестановки, а паритет этой суммы дает подпись перестановки. Более того, позиции нулей в таблице инверсии дают значения максимумов слева направо от перестановки (в примере 6, 8, 9), в то время как позиции нулей в коде Лемер являются позициями справа -до левых минимумов (в примере позиционирует 4, 8, 9 значений 1, 2, 5); Это позволяет вычислять распределение таких экстремумов среди всех перестановки. Перестановка с кодом Lehmer d n , d n −1 , ..., d 2 , d 1 имеет восхождение n - i, когда и только если d i d i +1 .

Алгоритмы для генерации перестановки

[ редактировать ]

При вычислении может потребоваться генерирование перестановки данной последовательности значений. Методы, которые лучше всего приспособлены для этого, зависят от того, хотят ли кто -то случайно выбранные перестановки или все перестановки, а в последнем случае требуется конкретный заказ. Другой вопрос заключается в том, следует ли учитывать возможное равенство среди записей в данной последовательности; Если это так, то следует генерировать только различные мультисетские перестановки последовательности.

Очевидным способом создания перестановки n является генерирование значений для кода Lehmer (возможно, используя представление системы факторных чисел целых чисел до n !) И преобразовать их в соответствующие перестановки. Тем не менее, последний шаг, хотя и прост, трудно эффективно реализовать, потому что он требует операций N каждый из выборов из последовательности и удаления от нее, в произвольном положении; Из очевидных представлений последовательности как массива или связанного списка , оба требуют (по разным причинам) о n 2 /4 операции для выполнения конверсии. С вероятностью, что n будет довольно маленьким (особенно, если требуется генерация всех перестановок), это не слишком большая проблема, но оказывается, что как для случайных, так и для систематической генерации есть простые альтернативы, которые делают значительно лучше. По этой причине не кажется полезным, хотя, безусловно, возможно, использовать специальную структуру данных, которая позволила бы выполнить преобразование из кода Leher в перестановку во время O ( n Log N ) .

Случайное генерация перестановки

[ редактировать ]

Для генерации случайных перестановок данной последовательности значений n не имеет значения, применяет ли кто -то случайно выбранную перестановку N к последовательности или выбирает случайный элемент из набора различных (мультисетских) перестановки последовательности. Это связано с тем, что, хотя в случае повторных значений может быть много различных перестановков N , которые приводят к одной и той же пересмотренной последовательности, количество таких перестановок одинаково для каждого возможного результата. В отличие от систематической генерации, которая становится невозможным для крупного N из -за роста числа N !, Нет причин предположить, что N будет небольшим для случайной генерации.

Основная идея создания случайной перестановки состоит в том, чтобы генерировать случайным образом один из N ! Последовательности целых чисел d 1 , d 2 , ..., d n удовлетворяют 0 ≤ d i < i (поскольку D 1 всегда нулевой, он может быть опущен) и для преобразования в перестановку посредством биологической соответствия. Для последней корреспонденции можно интерпретировать (обратную) последовательность как код Lehmer, и это дает метод поколения, впервые опубликованный в 1938 году Рональдом Фишером и Фрэнком Йейтсом . [ 53 ] В то время как в то время компьютерная реализация не была проблемой, этот метод страдает от сложности, наброшенной выше для эффективного преобразования из кода Lehmer в перестановку. Это можно исправить с использованием другого бидютивного соответствия: после использования D I для выбора элемента среди оставшихся элементов последовательности (для уменьшения значений i ), а не удаления элемента и уплотнения последовательности, сдвигая дальнейшие элементы. , один обменяет элемент с конечным оставшимся элементом. Таким образом, элементы, оставшиеся для выбора, образуют последовательный диапазон в каждом точке времени, даже если они могут не происходить в том же порядке, что и в исходной последовательности. Картирование от последовательности целых чисел в перестановки несколько сложное, но можно увидеть, что это производит каждую перестановку именно одним способом, с помощью немедленной индукции . Когда выбранный элемент оказывается конечным оставшимся элементом, операция свопа может быть опущена. Это происходит недостаточно часто, чтобы гарантировать тестирование на условие, но окончательный элемент должен быть включен среди кандидатов отбора, чтобы гарантировать, что все перестановки могут быть сгенерированы.

Полученный алгоритм для создания случайной перестановки a[0], a[1], ..., a[n − 1] может быть описано следующим образом в псевдокоде :

for i from n downto 2 do
    di ← random element of { 0, ..., i − 1 }
    swap a[di] and a[i − 1]

Это можно объединить с инициализацией массива a[i] = i следующее

for i from 0 to n−1 do
    di+1 ← random element of { 0, ..., i }
    a[i] ← a[di+1]
    a[di+1] ← i

Если d i +1 = i , первое назначение скопирует ненициализированное значение, но второе будет перезаписать его с правильным значением i .

Тем не менее, Fisher-Yates не является самым быстрым алгоритмом для создания перестановки, потому что Fisher-Yates по сути является последовательным алгоритмом, и процедуры «делить и завоевать» могут достичь того же результата параллельно. [ 54 ]

Поколение в лексикографическом порядке

[ редактировать ]

Существует много способов систематически генерировать все перестановки данной последовательности. [ 55 ] Один классический, простой и гибкий алгоритм основан на поиске следующей перестановки в лексикографическом упорядочении , если он существует. Он может обрабатывать повторяющиеся значения, для этого случая он генерирует каждую отдельную мультисетскую перестановку один раз. Даже для обычных перестановок это значительно более эффективно, чем генерирование значений для кода Lehmer в лексикографическом порядке (возможно, с использованием системы факториальных чисел ) и преобразования их в перестановку. Он начинается с сортировки последовательности в (слабо) увеличивающемся порядке (который дает его лексикографически минимальную перестановку), а затем повторяет продвижение к следующей перестановке, если бы он был обнаружен. Метод восходит к Нараяне Пандиту в Индии 14 -го века и часто открывался. [ 56 ]

Следующий алгоритм генерирует следующую перестановку лексикографически после данной перестановки. Это меняет данную перестановку на месте.

  1. Найдите самый большой индекс k, , что [ такой k ] < a [ k + 1] . Если такой индекс не существует, перестановка является последней перестановкой.
  2. Найдите самый большой индекс L больше, чем K, так что A [ k ] < A [ l ] .
  3. Поменяйте ценность [ ] k с значением [ . l ]
  4. Обратите вспять последовательность из A [ k + 1] до окончательного элемента A [ n ].

Например, учитывая последовательность [1, 2, 3, 4] (которая находится в увеличении порядка), и учитывая, что индекс основан на нулевом уровне , шаги следующие:

  1. Индекс k = 2, потому что 3 помещается в индексе, который удовлетворяет условию является самым большим индексом, который по -прежнему меньше, чем [ + 1] , K который составляет 4.
  2. Индекс l = 3, потому что 4 - единственное значение в последовательности, которая больше 3, чтобы удовлетворить условие a [ k ] < a [ l ].
  3. Значения A [2] и A [3] заменены для формирования новой последовательности [1, 2, 4, 3].
  4. Последовательность после k -индекса a [2] к конечному элементу изменяется. Поскольку только одно значение лежит после этого индекса (3), последовательность остается неизменной в этом случае. Таким образом, лексикографический преемник начального состояния перестановлен: [1, 2, 4, 3].

После этого алгоритма следующая лексикографическая перестановка будет [1, 3, 2, 4], а 24 -я перестановка будет [4, 3, 2, 1], в этот момент [ ] k < a [ k + 1] Не существует, указывая на то, что это последняя перестановка.

В этом методе используются около 3 сравнений и 1,5 свопа на перестановку, амортизируются по всей последовательности, не считая начального вида. [ 57 ]

Поколение с минимальными изменениями

[ редактировать ]

Алгоритм приведенного вышеупомянутого алгоритма, алгоритма Steinhaus -Johnson -rotter , генерирует упорядочение на все перестановки данной последовательности с свойством, что любые два последовательных перестановки в его выходе отличаются, заменяя два соседних значения. Это упорядочение по перестановке было известно английскому колоколу 17-го века, среди которых он был известен как «простые изменения». Одним из преимуществ этого метода является то, что небольшое количество изменений от одной перестановки к следующей позволяет реализовать метод в постоянное время на перестановку. То же самое может также легко генерировать подмножество ровных перестановок, опять же в постоянное время на перестановку, путем пропуска каждой другой выходной перестановки. [ 56 ]

Альтернатива Штейнхаусу - Джонсон - Троттер - алгоритм Хипа , [ 58 ] сказал Роберт Седжвик в 1977 году, который является самым быстрым алгоритмом генерации перестановок в приложениях. [ 55 ]

На следующем рисунке показан выход из всех трех вышеупомянутых алгоритмов для генерации всех перестановки длины и из шести дополнительных алгоритмов, описанных в литературе.

Заказ всех перестановков длины генерируется различными алгоритмами. Перестановки имеют цветовой кодировки, где   1 ,   2 ,   3 ,   4 . [ 59 ]
  1. Лексикографический порядок;
  2. Стейнхаус - Джонсон - Алгоритм Троттера ;
  3. Алгоритм Хип ;
  4. Алгоритм звездного транспозирования Эрлиха: [ 56 ] На каждом шаге первая запись перестановки обменивается с более поздней записью;
  5. Алгоритм изменения префикса Zaks: [ 60 ] На каждом этапе префикс текущей перестановки отменен, чтобы получить следующую перестановку;
  6. Алгоритм Савада-Уильямс: [ 61 ] Каждая перестановка отличается от предыдущего либо циклическим левым сдвигом, либо обменом первых двух записей;
  7. Алгоритм Корбетта: [ 62 ] Каждая перестановка отличается от предыдущего циклическим левым сдвигом некоторого префикса на одну позицию;
  8. Одиночный заказ: [ 63 ] Каждый столбец представляет собой циклическое смещение других столбцов;
  9. Однопущенный серый код: [ 63 ] Каждый столбец представляет собой циклический сдвиг других столбцов, плюс любые две последовательные перестановки различаются только в одном или двух транспозициях.
  10. Вложенные свопы генерирующие алгоритм в шагах, связанных с вложенными подгруппами Полем Каждая перестановка получается из предыдущего путем размножения транспозиции слева. Алгоритм связан с факториальной_number_system индекса.

Генерация перестановки в вложенных этапах обмена

[ редактировать ]

Явная последовательность свопов (транспонирование, 2-х цикл ), описывается здесь, каждый замен применялся (слева) к предыдущей цепочке, обеспечивающей новую перестановку, так что все перестановки можно было извлечь, каждый только один раз. [ 64 ] Эта процедура подсчета/генерации имеет дополнительную структуру (назовите ее вложенной), как это дано по шагам: после полного извлечения , продолжать забрать по косо из в , соответственно выбрав представителей Coset быть описанным ниже. Обратите внимание, что, поскольку каждый сгенерируется последовательно, есть последний элемент Полем Итак, после генерации По свопам, следующая перестановка в должен быть для некоторых Полем Тогда все сгенерированные обмены повторяются, генерируя весь кост , достигая последней перестановки в этом косете ; Следующий своп должен перенести перестановку на представитель другого косета .

Продолжая то же самое, кто получает представителей косета для косета в ; заказанный набор ( ) называется набором начала косета. Два из этих представителей находятся в одном и том же косе, тогда и только тогда , то есть, Полем Заключение, перестановки все ли представители различных косетов тогда и только тогда, когда , (без повторного условия). В частности, для того, чтобы все сгенерированные перестановки были различными, это не необходимо для ценности, чтобы быть различными. В процессе это получает это И это обеспечивает процедуру рекурсии.

Примеры: Очевидно, для один есть ; построить Есть только две возможности для начала Coset, удовлетворяющего условию без повторения; выбор ведет к Полем Чтобы продолжить генерирование Нужны соответствующие началы косета (удовлетворение условия без повторения): есть удобный выбор: , ведущий к Полем Затем, чтобы построить Удобный выбор для начала Coset (удовлетворение условия без повторения) - это , ведущий к .

Из примеров, приведенных выше, можно индуктивно перейти к более высокому аналогичным в , следующим образом: для Даже выбор всех начинаний косета, равный 1 и для Странный выбор начала косета равен Полем С таким выбором «последняя» перестановка для Странно и для даже ( ) Используя эти явные формулы, можно легко вычислить перестановку определенного индекса на шагах подсчета/генерации с минимальными вычислениями. Для этого полезно написание индекса на фактической базе. Например, перестановка для индекса является: , наконец -то крик, .

Поскольку умножение путем обмена перестановкой требует короткого времени вычисления, и каждая новая сгенерированная перестановка требует только одного такого умножения, эта процедура генерации довольно эффективна. Более того, как есть простая формула, имея последнюю перестановку в каждом Можно сэкономить еще больше времени, чтобы перейти непосредственно к перестановке с определенным индексом в меньшем количестве шагов, чем ожидалось, как это можно сделать в блоках подгрупп, а не обмен на обмен.

Приложения

[ редактировать ]

Переставации используются в межлистовом компоненте алгоритмов обнаружения и коррекции ошибок , таких как турбо -коды , например, 3GPP Long Term Evolution Mobile Telecommunication Standard использует эти идеи (см. 3GPP Техническая спецификация 36.212 [ 65 ] ) Такие приложения поднимают вопрос о быстрого поколения перестановки, удовлетворяющих определенным желательным свойствам. Один из методов основан на полиномах перестановки . Также в качестве базы для оптимального хэширования в уникальном хешировании перестановки. [ 66 ]

Смотрите также

[ редактировать ]

Примечания

[ редактировать ]
  1. ^ 1 часто используется для представления идентификационного элемента в некоммутативной группе
  2. ^ Порядок часто неявно понимается. Набор целых чисел естественным образом написан с самых маленьких до самого большого; Набор писем записан в лексикографическом порядке. Для других наборов необходимо явно указано естественный порядок.
  3. ^ Точнее, вариации без повторения . Термин все еще распространен на других языках и появляется на современном английском, чаще всего в переводе.
  4. ^ Естественный порядок в этом примере - порядок букв в исходном словом.
  5. ^ В более старых текстах циркулярная перестановка иногда использовалась в качестве синоним циклической перестановки , но это больше не делается. См. Кармайкл (1956 , стр. 7)
  1. ^ Вебстер (1969)
  2. ^ Маккой (1968 , стр. 152)
  3. ^ Nering (1970 , p. 86)
  4. ^ Хит, Томас Литтл (1981). История греческой математики . Нью -Йорк: Dover Publications. ISBN  0-486-24073-8 Полем OCLC   7703465 .
  5. ^ Broemeling, Lyle D. (1 ноября 2011 г.). «Отчет о раннем статистическом выводе в арабской криптологии». Американский статистик . 65 (4): 255–257. doi : 10.1198/tas.2011.10191 . S2CID   123537702 .
  6. ^ Биггс, Н.Л. (1979). «Корни комбинаторики». Historia Math . 6 (2): 109–136. doi : 10.1016/0315-0860 (79) 90074-0 .
  7. ^ Стедман 1677 , с. 4
  8. ^ Стедман 1677 , с. 5
  9. ^ Стедман 1677 , с. 6–7.
  10. ^ Стедман 1677 , с. 8
  11. ^ Стедман 1677 , с. 13–18.
  12. ^ Rejewski, Marian (1980). «Применение теории перестановки при нарушении шифра загадки» . Приложения математики . 16 (4): 543–559. doi : 10.4064/AM-16-4-543-559 . ISSN   1233-7234 .
  13. ^ Денежные, Дэвид (2019). «CMSC 28400 Введение в криптографию Осень 2019 - Примечания № 2: перестановки и загадка» (PDF) .
  14. ^ Шейнерман, Эдвард А. (5 марта 2012 г.). «Глава 5: Функции» . Математика: отдельное введение (3 -е изд.). Cengage Learning. п. 188. ISBN  978-0840049421 Полем Архивировано из оригинала 5 февраля 2020 года . Получено 5 февраля 2020 года . Обычно использовать нижние греческие буквы (особенно π, σ и τ), чтобы соответствовать перестановкам.
  15. ^ Ротман 2002 , с. 41
  16. ^ Bogart 1990 , p. 487
  17. ^ Кэмерон 1994 , с. 29, сноска 3.
  18. ^ Конвей, Джон Х.; Бургиэль, Хайди; Гудман-Страсс, Хаим (2008). Симметрия вещей . А.К. Петерс. п. 179. перестановка-скажем, имена ряда людей-можно рассматривать как перемещение либо имен, либо людей. Точка зрения псевдонимов рассматривает перестановку как назначение нового имени или псевдонима каждому человеку (из латинского псевдоним = иное). В качестве альтернативы, от Viewoint Alibi мы перемещаем людей в места, соответствующие их новым именам (от латинского алиби = в другом месте.)
  19. ^ «Нотация перестановки - Wikiversity» . en.wikiversity.org . Получено 2024-08-04 .
  20. ^ Коши, Ал. (Январь 1815 г.). «Память о количестве значений, которые может получить функцию, когда вы проникаете там всеми возможными способами, которые она содержит» [Мемуары о количестве значений, которые функция может получить, когда кто -то перестается, во всех возможных Способы, переменные, которые он содержит]. Журнал Ecole Polytechnique (по -французски). 10 : 1–28. Смотрите с. 4
  21. ^ Wussing, Hans (2007), Генезис концепции абстрактной группы: вклад в историю происхождения теории абстрактной группы , Courier Dover Publications, P. 94, ISBN  9780486458687 , Коши использовал свою нотацию перестановки, в которой договоренности написаны одно ниже другого, и оба оказаны в скобках - впервые в 1815 году.
  22. ^ Bogart 1990 , p. 17
  23. ^ Герштейн 1987 , с. 217
  24. ^ Jump up to: а беременный Aigner, Martin (2007). Курс в перечислении . Springer GTM 238. С. 24–25 . ISBN  978-3-540-39035-0 .
  25. ^ Зал 1959 , с. 54
  26. ^ Bona 2012 , с.87 [книга имеет опечатку/ошибку здесь, так как она дает (45) вместо (54).]
  27. ^ Jump up to: а беременный Стэнли, Ричард П. (2012). Перечисление комбинаторики: том I, второе издание . Издательство Кембриджского университета. п. 30, опора 1.3.1. ISBN  978-1-107-01542-5 .
  28. ^ Китаев, Сергей (2011). Шаблоны в перестановках и словах . Springer Science & Business Media. п. 119. ISBN  978-3-642-17333-2 .
  29. ^ Биггс, Норман Л.; Белый, в (1979). Группы перестановки и комбинаторные структуры . Издательство Кембриджского университета. ISBN  978-0-521-22287-7 .
  30. ^ Диксон, Джон Д.; Мортимер, Брайан (1996). Группы перестановки . Спрингер. ISBN  978-0-387-94599-6 .
  31. ^ Кэмерон, Питер Дж. (1999). Группы перестановки . Издательство Кембриджского университета. ISBN  978-0-521-65302-2 .
  32. ^ Джеррум, М. (1986). «Компактное представление групп перестановки». J. Алгоритмы . 7 (1): 60–78. doi : 10.1016/0196-6774 (86) 90038-6 . S2CID   18896625 .
  33. ^ «Комбинации и перестановки» . www.mathsisfun.com . Получено 2020-09-10 .
  34. ^ Вейсштейн, Эрик У. "перестановка" . MathWorld.wolfram.com . Получено 2020-09-10 .
  35. ^ USPENSKY 1937 , с. 18
  36. ^ Charalambides, Ch A. (2002). Перечисление комбинаториков . CRC Press. п. 42. ISBN  978-1-58488-290-9 .
  37. ^ Brualdi 2010 , с. 46, теорема 2.4.2
  38. ^ Brualdi 2010 , с
  39. ^ Brualdi 2010 , с
  40. ^ Хороший 2012 , с. 97-103.
  41. ^ Sagan, Bruce (2001), Symmetric Group (2 Ed.), Springer, p. 3
  42. ^ Humphreys 1996 , p. 84
  43. ^ Зал 1959 , с. 60
  44. ^ Bon 2004 , p. 4F.
  45. ^ Хороший 2012 , с. 4-5.
  46. ^ См. 2012 , с. 25
  47. ^ Jump up to: а беременный Хороший 2012 , с. 109-110.
  48. ^ Слокум, Джерри; Вейсштейн, Эрик В. (1999). "15 - головоломка" . MathWorld . Wolfram Research, Inc. Получено 4 октября 2014 года .
  49. ^ Bon 2004 , p. 43
  50. ^ Bóna 2004 , стр. 43 и далее
  51. ^ Кнут 1973 , с. 12
  52. ^ Ha Rothe , комбинаторные аналитические трактаты 2 (Leipzig, 1800), 263–305. Цитируется в Knuth 1973 , p. 14
  53. ^ Фишер, Ра; Йейтс, Ф. (1948) [1938]. Статистические таблицы для биологических, сельскохозяйственных и медицинских исследований (3 -е изд.). Лондон: Оливер и Бойд. С. 26–27. OCLC   14222135 .
  54. ^ Bacher, A.; Бодини, О.; Hwang, HK; Цай, Т. Т. (2017). «Создание случайных перестановок с помощью монетных бросков: классические алгоритмы, новый анализ и современная реализация» (ACM Trans. Algorithms 13 (2): 24: 1–24: 43 Ed.). С. 24–43.
  55. ^ Jump up to: а беременный Sedgewick, R (1977). «Методы генерации перестановки» (PDF) . Вычислительные опросы . 9 (2): 137–164. doi : 10.1145/356689.356692 . S2CID   12139332 . Архивировано (PDF) из оригинала на 2008-02-21.
  56. ^ Jump up to: а беременный в Кнут 2005 , с. 1–26.
  57. ^ "std :: next_permution" . cppreference.com . 4 декабря 2017 года . Получено 31 марта 2018 года .
  58. ^ Хип, Бр (1963). «Перестановки по обмену» . Компьютерный журнал . 6 (3): 293–298. doi : 10.1093/comjnl/6.3.293 .
  59. ^ Мюцзе, Торстен; Савада, Джо; Уильямс, Аарон. «Генерировать перестановки» . Комбинаторный сервер объектов . Получено 29 мая 2019 года .
  60. ^ Закс С. (1984). «Новый алгоритм генерации перестановок». Несколько численная математика . 24 (2): 196–204. doi : 10.1007/bf01937486 . S2CID   30234652 .
  61. ^ Савада, Джо; Уильямс, Аарон (2018). «Путь Гамильтона для проблемы Сигма-Тау». Материалы 29-го ежегодного симпозиума ACM-SIAM по дискретным алгоритмам, Soda 2018 . Новый Орлеан, Луизиана: Общество промышленной и прикладной математики (SIAM). С. 568–575. doi : 10.1137/1.9781611975031.37 .
  62. ^ Corbett, PF (1992). «Графики ротатора: эффективная топология для многопроцессорных сетей точки-точки». IEEE транзакции на параллельных и распределенных системах . 3 (5): 622–626. doi : 10.1109/71.159045 .
  63. ^ Jump up to: а беременный Arndt, Jörg (2011). Имеет значение вычислительно. Идеи, алгоритмы, исходный код . Спрингер . doi : 10.1007/978-3-642-14764-7 . ISBN  978-3-642-14763-0 .
  64. ^ Popp, OT (2002). Быстро обрабатывает большие перестановки . привилегированный коммуникация
  65. ^ "3GPP TS 36.212" .
  66. ^ Долев, Шломи; Лахиани, лимит; Haviv, Yinnon (2013). «Уникальное хэширование перестановки» . Теоретическая информатика . 475 : 59–65. doi : 10.1016/j.tcs.2012.12.047 .

Библиография

[ редактировать ]

Дальнейшее чтение

[ редактировать ]
  • Biggs, Norman L. (2002), дискретная математика (2 -е изд.), Oxford University Press, ISBN  978-0-19-850717-8
  • Фоата, Доминик; Schutzenberger, Marcel-Paul (1970), Геометрическая теория элелерианских полиномов , Примечания чтения в математике, Vol. 138, Берлин, Гейдельберг: Springer-Verlag, ISBN  978-3-540-04927-2 Полем Ссылка предназначена для свободно доступной перетипированной (латексной) и пересмотренной версии текста, первоначально опубликованной Springer-Verlag.
  • Кнут, Дональд (1998), Сортировка и поиск , искусство компьютерного программирования, Vol. 3 (второе изд.), Аддисон -Уизли, ISBN  978-0-201-89685-5 Полем Раздел 5.1: комбинаторные свойства перестановки, стр. 11–72.
  • Седжвик, Роберт (1977). «Методы генерации перестановки» . ACM вычислительные исследования . 9 (2): 137–164. doi : 10.1145/356689.356692 . S2CID   12139332 .
  • Масато, Кобаяши (2011). «Перечисление биграссманнских перестановок ниже перестановки в порядке Брухата». Заказ . 1 : 131–137.
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 8b9af68fa3c8ccfbc9538aa4e55a871c__1727018820
URL1:https://arc.ask3.ru/arc/aa/8b/1c/8b9af68fa3c8ccfbc9538aa4e55a871c.html
Заголовок, (Title) документа по адресу, URL1:
Permutation - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)