|
| |||
|
|
Перестановки Очередной параграф. Потихоньку начинаю двигаться в сторону более интересного. Читать в pdf, помогать на GitHub.
Мы часто переставляем физические предметы местами: тасуем карты, перекладываем деньги в кошельке, сортируем данные в компьютере, ставим книги на полке, меняем жизненные приоритеты. Эти действия отражены в математическом понятии перестановок, которым мы и займёмся. Чтобы не было путаницы, мы более не будем придерживаться аксиоматического задания натуральных чисел (если не оговорено обратное), и в этом и последующих параграфах будем использовать обозначение Определение. Перестановку удобно записывать в виде строки. Например: Как и для любых функций, для перестановок можно рассматривать их композицию (в случае перестановок её часто называют умножением). Пусть, например, перестановка
Хотя для композиции функций принято обозначение Из того, что перестановка — это функция, сразу следует ассоциативность перемножения перестановок (см. §2.4): для любых Упражнение. Покажите, что умножение перестановок не коммутативно, то есть что в общем случае Упражнение. Придумайте сами каких-нибудь перестановок и поэкспериментируйте с ними. Теорема. Доказательство. Если вам здесь что-то стало не очень понятно или сложно — перечитайте §2.4, все обозначения и термины являются непосредственным отражением того, что обсуждалось когда мы говорили об обыкновенных функциях. Подсчитаем мощность множества Определение. Факториалом n! называется величина Значение для 0! оправдано с той точки зрения, что на пустом множестве формально можно задать единственную функцию, которая так же будет биекцией (хоть она ничего и не отображает, формально она есть; см. аналогию с Рассуждения, приведенные выше, теперь можно сформулировать таким образом: Теорема. |Sn| = n! Упражнение. Докажите, что при разложении на простые множители значения n!, множитель Помимо представления перестановки в виде строки, их удобно рассматривать в виде циклов. Рассмотрим опять перестановку Рассмотрим теперь перестановку Количество элементов в цикле мы будем называть его длиной. Если какой-то элемент Упражнение. Пусть Определение. Типом перестановки называется набор Определение. Циклической перестановкой Пример. Типом перестановки Упражнение. Покажите, что для любого типа Теорема. Существует Доказательство. В качестве рабочего примера будем считать, что мы ищем все перестановки типа Вначале выпишем произвольную строку чисел, являющуюся перестановкой Во-вторых, каждая из перестановок может быть циклически сдвинута на k элементов. Например, мы так могли бы сдвинуть наш пример, получив тот же результат: Следствие. Существует (n-1)! циклических перестановок множества Упражнение. Порядком перестановки Определение. Транспозицией называется перестановка типа Упражнение. Докажите, что любая перестановка может быть представлена композицией транспозиций. Ясно, что представление в виде транспозиций неоднозначно, причём может отличаться даже количество транспозиций, используемых для представления перестановки, например:
Интересно, однако, что количество транспозиций для любой заданной перестановки всегда либо чётное либо нечётное. Это не совсем очевидно и требует доказательства, которое предсталено следующим определением с прилагающимися упражнениями. Определение. Инверсией перестановки называется такая пара Инверсии — это такие пары элементов, которые при применении перестановки меняют свой относительный порядок. Например, для перестановки 35124 имеется 5 инверсий: 3 и 1, 3 и 2, 5 и 1, 5 и 2, 5 и 4. Инверсии имеют важное значение при анализе быстродействия компьютерных алгоритмов, однако нас само количество инверсий интересовать не будет, нас будет интересовать лишь то, чётное это количество или нет. Определение. Перестановка называется чётной (нечётной), если она имеет чётное (соответственно нечётное) число инверсий. Упражнение. Докажите, что любая транспозиция — это нечётная перестановка. Упражнение. Докажите, что произведение чётных перестановок даёт чётную перестановку, произведение нечётных — нечётную, а произведениче чётной и нечётной перестановки — чётную перестановку. Тривиальная перестановка, которая оставляет все элементы на месте, чётная. Если умножить её на транспозицию — получаем нечётную перестановку. Умножная её на транспозицию ещё раз — опять получаем чётную перестановку. Поскольку любая перестановка однозначно либо чётная либо нечётная, то, рассуждая по индукции, приходим к ожидаемому: любая перестановка всегда представлена в виде транспозиций либо чётным их числом, либо нечётным. Упражнение. Докажите, что для любого Пока мы рассмотрели понятие чётности перестановок лишь в качестве упражнения, но довольно скоро вы увидите, что оно играет весьма важную теоретическую роль. Определение. Беззнаковым числом Стирлинга первого рода Слово «беззнаковый» мы будем опускать, поскольку пока оно не имеет для нас никакого смысла (он проявится позже). Прямо из определения следует такое простое соотношение: Теорема. Доказательство. В качестве упражнения. Выше мы уже фактически доказали, что Теорема. Доказательство. Рассмотрим какой-нибудь один отдельно взятый элемент По этой формуле с помощью компьютера можно сравнительно легко находить числа Стирлинга. Конечно, сами по себе они мало интересны и вряд ли вам придётся когда-либо их вычислять. Интреснее то, как они сочетаются с другими объектами математики, к чему мы вернёмся в последующих главах нашей книги. Упражнение. Посадил злой вертухай сотню гномиков в тюрьму, каждого пронумеровал и поставил условия: — Завтра каждый из вас по одному будет заходить в специальную камеру, где будет лежать сотня пронумерованных конвертов. В каждом конверте — какой-то номер (просто все цифры от одного до ста, разложенные по конвертам случайным образом). Каждый из вас будет иметь право открыть ровно 50 конвертов, чтобы найти свой номер. Если все вы найдете свои номера — освобожу. Если хотя бы один ошибется — казню всех. Гномики после обсуждения общей стратегии больше никак общаться не смогут и вообще друг друга не увидят. Конверты после каждого гномика закрываются обратно, так что входящий в камеру гномик не имеет никакой информации о том, что нашли или не нашли другие гномики и какие конверты они открывали. Гномикам надо придумать стратегию как искать свой номер, чтобы найти. Если открыть просто наугад 50 из 100 конвертов, то вероятность найти свой номер весьма мала (пополам на пополам). Учитывая, что гномиков сто штук, то их общие шансы при случайной стратегии оказываются вообще ничтожны. Надо поэтому придумать какую-то альтернативную стратегию. (По хорошему в этой задаче еще надо проанализировать в конце полученное решение, но этого пока я от читателя не требую, поскольку я не рассказывал методов, которые позволяют это делать; впрочем, вы можете попытаться дать грубые оценки). |
|||||||||||||