Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции для ОЗО.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
1.41 Mб
Скачать

§ 6 Подстановки.

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

Определение 1: Биективное отображение конечного множества А на себя называется подстановкой множества А.

Мы знаем, что биективное отображение любого множества А на себя называется преобразованием множества А. Поэтому определение подстановки можно сформулировать и так:

Определение 1’: Преобразование конечного множества А называется подстановкой множества А.

Если |A|=nN, то можно решить вопрос о количестве различных подстановок множества А. Обозначим число таких подстановок через (читается: Р из n по n). Задачу построения биекции А на А можно рассматривать как задачу размещения n объектов (элементов множества А) по n ящикам, по одному в каждый ящик. Пронумеруем ящики от 1 до n. Порядок, в котором заполняются ящики, несуществен (любой другой порядок можно получить перемешиванием ящиков). Первый ящик может быть заполнен n способами, т.к. мы имеем свободный выбор из всего множества А. Убирая выбранный элемент из А, получим множество из n- 1 элементов. Следовательно, второй ящик может быть заполнен n- 1 способами, третий- n- 2 способами и т.д. Продолжая этот процесс, получим, что (n- 1)- й ящик может быть заполнен двумя способами, а ящик с номером n- единственным оставшимся элементом из А. Следовательно, число различных подстановок множества А равно n.(n- 1).(n- 2). ....3.2.1. Это произведение называется факториалом числа n и обозначается n! Таким образом,

Pnn= n!= 1.2.3.... . (n- 1). n

Изучим теперь сами подстановки множества А и некоторые их свойства.

Поскольку А  Nn, то количество подстановок у них одно и тоже, Значит между множеством всех подстановок множества А и множеством всех подстановок множества Nn можно установить взаимно- однозначное соответствие (биекцию), т.е. каждой подстановке множества А соответствует единственная подстановка множества Nn и каждой подстановке множества Nn соответствует единственная подстановка множества А. Поэтому будем изучать подстановки Nn , которые будем обозначать буквами греческого алфавита.

Пусть  подстановка на Nn. Тогда  можно определить как множество пар следующим образом:

= {(1, x1), (2, x2),... , (n, xn)}, где {x1, x2,... , xn} = Nn .

Не обязательно, конечно, x1= 1, x2= 2 и т.д.

Подстановки удобно записывать следующим образом:

 = - здесь сразу видно какой элемент в какой переходит.

Пример 1: Пусть - подстановка на N6:

= . Тогда (1) = 5, (2) = 6, (3) = 3 и т.д.

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

Пример 2: Пусть  подстановка из примера 1, а

= . Вычислим  : К каждому элементу N6 применим сначала  , а потом к результату применим : (1)= 5, (5)= 4, значит ((1))=4; (2)= 6, а (6)= 5, значит ((2))= 5 и т.д. В конечном итоге получаем   = .

Композицию подстановок можно построить и так: переставим в подстановке  столбцы так, чтобы ее первая строка была такой же как и вторая строка в подстановке 

= и запишем их одна под другой:

=

= , тогда легко получаем

 = .

  = , значит     .

Пример 3: Пусть - подстановка из примера 1. Найти 10, т.е.    ...  - 10 раз.Для этого вовсе не обязательно находить десять раз образы каждого элемента. Замечаем, что (1)= 5, (5)= 4, (4)= 1, значит 3(1)= 1, но 10=  33, значит 10(1)= 5. Далее:

2(2)= 2  10(2)= 2,

10(3)= 3,

3(4)= 4  10(4)= 1,

3(5)= 5  10(5)= 4,

2(6)= 6  10(6)= 6.

В итоге получаем: !0= .

Определение 2: Подстановка называется тождественной подстановкой и обозначается In (т.к. INn -слишком громоздко).

Поскольку подстановка это биекция, имеет смысл говорить об обратной подстановке. Как построить обратную подстановку? Учитывая свойство биекции  -1 = In= -1 : Если  переводит k в ak, то -1 должна ak перевести в k. Поэтому получаем правило построения -1 из :

Подстановка -1 получается из перестановкой строк.

Пример 4: Пусть - подстановка из примера 2. Тогда

-1= . Перепишем ее в более удобном виде:

-1= . Тогда

-1  = = = I6.

 -1 = = = I6.

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

Определение 3: Пусть A = {a1, a2,..., an} (т. е. элементы множества пронумерованы каким - то образом). Подстановку называют циклом (циклической подстановкой), если ее можно представить в виде:

= .

Предположим теперь, что A B и |B|= m n. Зададим подстановку  на В, расширяя подстановку , так, что

: x

Т.е. если B = {a1, a2, ..., an, an+1, ..., am}, то  можно записать в виде:

 = (1)

Подстановка , действуя на В, ведет себя как , во всех тех случаях, когда элементы В не остаются на месте. Можно сказать, что  передвигает элементы ai циклическим образом («по кругу» см. рис.1).

Поскольку, как правило, множество, на котором действует подстановка известно (для  это В), то ее удобно записывать в следующей форме:

= (a1, a2,..., an) (2)

Эта подстановка называется циклом длины n. Цикл длины 1 будем называть тривиальным циклом. Поэтому можно сказать, что (2) получена из (1) исключением циклов длины 1. С другой стороны если подстановка  задана в виде (2), то легко понять, как она действует на B (рис. 2).

И ее легко записать в виде (1). Т.е. при переходе от (2) к (1) мы добавляем циклы длины 1, если они есть.

Пример 5. Рассмотрим опять подстановку  = . Перепишем ее в виде (1)   , т.е. эта подстановка является циклом длины 5 и ее можно представить в виде   (1, 3, 6, 5, 4). Не все подстановки, конечно же, являются циклом, однако они все содержат циклы.

Пример 6. Подстановка  из примера 1  = .

Ее можно представить в виде:  = . Как видно, она сама не является циклом, но содержит два нетривиальных цикла: (1, 5, 4) и (2, 6). Для того чтобы понять, что собой представляет  дополним каждый из этих циклов до преобразования N6, не забыв о тривиальном цикле (3), и представим их в форме (1). А именно:

1= (1, 5, 4)= ; 2 = (2, 6) = , тогда

2 1 = ; 1 2 = . Мы видим, что  = 1 2 = 2 1 (*)

Нам удалось представить подстановку множества, состоящего из шести элементов в виде композиции двух нетривиальных циклов. В этом случае будем говорить, что подстановка представлена в виде произведения двух циклов и записывать  = (1, 5, 4) (2, 6).

Из того, что - биекция и по основному свойству биекций:

f ( X  Y ) = f ( X )  f ( Y ), можно сделать вывод, что циклы одной и той же подстановки не могут содержать общие элементы. Следовательно, подстановку  мы представили в виде произведения непересекающихся циклов.

На самом деле имеет место общая теорема:

Теорема (о представлении подстановки). Всякая подстановка конечного множества может быть представлена в виде произведения не пересекающихся циклов.

(без доказательства), желающие могут найти его в книге [1].

Вернемся к примеру 5. Равенство (*) говорит нам о том, что если 1 и 2 не пересекающиеся циклы одной подстановки , то 1 2 = 2 1, что неверно для произвольных подстановок. Значит, циклы обладают какими- то свойствами, которыми не обладают произвольные подстановки конечных множеств. Попробуем сформулировать их и, по- возможности доказать.

Свойство 1: Композиция (произведение) циклов одной и той же подстановки коммутативна. (Доказательство самостоятельно).

Свойство 2: Если k- длина цикла , то k = =Ik, т.е. тождественная подстановка.

Доказательство: Идея: = (а1, а2,...,аk) - цикл. Чтобы а1 перевести в аk понадобится подстановка k-1, а значит, чтобы аk перевести в а1 понадобится k.

Учитывая свойства 1 и 2, задачу, поставленную в примере 3, можно было бы решить быстрее:

 = (1, 5, 4) (2, 6), при этом, учитывая обозначения примера 6, имеем:

 = 12, значит 10= (12)10 = учтем свойство 1 и ассоциативность композиции = 110210 . Значит, по свойству 2, через три шага 1,5 и 4 перейдет в себя, а значит через 10 шагов 1 5, 5 4, 4 1. Через два шага двойка и шестерка перейдут в себя. Значит через 10 шагов 2 2, 6 6. Ну а тройка всегда переходит сама в себя (ведь - это подстановка на N6). Значит

10 = = (1, 5, 4) - это цикл длины 3.