Московский Государственный Университет им. М.В. Ломоносова факультет Вычислительной Математики и Кибернетики
Конспект лекций по прикладной алгебре Лектор: Леонтьев Владимир Константинович
Москва, 2003
Содержание Введение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 Общие понятия . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 Гомоморфизмы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Группы. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8 Системы образующих . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 Симметрическая группа Sn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 Группы преобразований . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 Группы малых порядков . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Множества с двумя алгебраическими операциями . . . . . . . . . . . . . . . . . . . . . . . . . 26 Классические кольца . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 Классические кольца . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 Теоретико-числовые функции . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 Дискретный логарифм . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 Ряды Дирихле . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 Общая теория колец . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 Гомоморфизм колец . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 Теория делимости в кольцах . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 Арифметика кольца Z(i) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 Конечные поля . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 Минимальные полиномы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 Подполя поля Fpm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
Алгебраическая теория информации . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 Корректирующие коды . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 Двоичный симметричный канал(Д.С.К) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 Задачи теории корректирующих кодов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 Групповые коды . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 Задание группового кода . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 Декодирование кода Хэмминга . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 Код Мак-Дональда(Mac-Donalds code) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 Циклические коды . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 Параметры циклического кода . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 Коды Боуза-Рой-Чоудхури . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 Другие каналы связи . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
Защита информации от несанкционированного доступа . . . . . . . . . . . . . . . . . . . 73 Криптография . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 Подстановочные криптограммы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 Криптоанализ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 Стойкость криптограмм . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 Криптография с открытым ключом . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
Перечислительные задачи комбинаторного анализа . . . . . . . . . . . . . . . . . . . . . . . . 79 Линейные диофантовы уравнения ключом . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 Производящие функции . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 Производящие функции классических объектов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86 Разбиение перестановок . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 Теорема Пойя. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .94
1
Введение Прикладная алгебра включает в себя разделы математики, близкие к алгебре, и имеющие приложения в теории формальных языков, теоретического программирования, распознавания образов, защиты информации, комбинаторном анализе и многих других областях, связанных с обработкой и классификацией информации. В определенном смысле прикладная алгебра близка к дискретной математике и, возможно, составляет один из его разделов. Однако этот раздел, по нашему мнению, не несет на себе какой–то идейной нагрузки в смысле формирования понятий и расстановки акцентов, а содержит часть технического арсенала в широком понимании этого слова, средств, являющихся полезными при решении теоретических и прикладных задач, возникающих в упомянутых выше разделах науки. Если у нас есть множество G, на котором определены некоторые операции g1 , g2 , . . . результатом которых являются опять элементы этого же множества, то такого рода структуру принято называть алгебраической системой. Приведенное пояснение не является, конечно, определением, а лишь указывает на тип объектов, с которыми мы будем иметь дело в дальнейшем. Стандартные математические операции над числами, функциями, матрицами, перестановками, множествами и другими математическими объектами представляют примеры алгебраических действий, естественность и полезность которых является серьезным стимулом для изучения ситуации в целом с целью переноса и обобщения накопленного опыта. Один перечень специальных алгебраических структур, подвергшихся интенсивному изучению, представляется достаточно внушительным: группоиды, моноиды, полугруппы, группы, кольца, поля, алгебры, категории, линейные векторные пространства, полукольца и т.д. Еще более внушительным выглядит список разделов науки, в которых эти структуры нашли серьезное применение: специальная теория относительности, квантовая механика, квантовая химия, теория элементарных частиц, дифференциальные уравнения, теория Галуа, квантовые вычисления, распознавание образов, комбинаторный анализ, защита информации и т.д.
2
Общие понятия Если S - множество, то любое отображение S × S → S называется законом композиции. Другими словами – это просто функция, заданная на парах элементов из S с областью значений в исходном множестве S. Очень часто этот закон композиции обозначается xy или x + y с соответсвующими названиями произведения или суммы. Определение. Если (xy)z = x(yz), то закон композиции называется ассоциативным. Определение. Если xy = yx, то закон композиции называется коммутативным. Определение. Если xe = ex = x для некоторого элемента e ∈ S, то e называется нейтральным элементом или единицей S. Определение. Если для элемента x ∈ S существует элемент y ∈ S такой, что xy = e, то y называется обратным элементом для x и обозначается через x−1 , т.е y = x−1 . Если x·x−1 = e, то (x−1 ·x)(x−1 ·x) = x−1 (x·x−1 )x = x−1 ·x, т.е z 2 = z или z ·z ·z −1 = z ·z −1 или z = e, т.е x−1 · x = e. Следующие определения вводят алгебраические системы с одной операцией. Пару - множество S и операцию ”·” - умножение мы будем обозначать через (S, · ). Определение. Пара (S, · ) - называется группоидом. Таким образом, единственным требованием к умножению в группоиде является замкнутость, т.е результат умножения двух произвольных элементов из S является элементом того же множества. Определение. Пара (S, · ) с ассоциативным умножением называется полугруппой. Определение. Пара (S, · ) с ассоциативным умножением и нейтральным элементом называется моноидом. Определение. Если (S, · ) - моноид и каждый элемент из S имеет обратный, то пара (S, · ) называется группой. Группа с коммутативным умножением называется коммутативной или абелевой. Примеры. 1) Пусть In = {0, 1, 2, . . . , n} – отрезок натурального ряда и операция ”умножения” определяется следующим образом: x · y = |x − y|
(1)
Так как 1 · (1 · 2) = 0 и (1 · 1) · 2 = 2, то операция (1) не является ассоциативной. С другой стороны, если x, y ∈ In , то x · y ∈ In . Таким образом, (In , ·) – группоид. 2) Отрезок натурального ряда [k, k + 1, k + 2, . . .] с обычной операцией сложения является полугруппой при k ≥ 1 и моноидом при k = 0. 3) Множество всех квадратных матриц одного порядка с операцией матричного умножения – моноид. 4) Множество невырожденных матриц порядка n образует группу по обычной операции умножения матриц: GL(n). 5) Множество комплексных чисел с модулем, равным единице, образует группу по обычной операции умножения комплексных чисел. 6) Этот пример не является иллюстративным и показывает всю пользу ”алгебраического” подхода, примененного в подходящей ситуации. 3
Рассмотрим следующее диофантово уравнение: x2 − 2y 2 = 1
(2)
Будем искать все решения этого уравнения в целых числах. Уравнение (2) называется уравнением Пелля. Определение. Если целая точка (x, y) удовлетворяет уравнению (2), то элемент z = x + √ y 2 будем называть расширением этого уравнения. √ В множестве элементов вида x + y 2 введем операцию умножения элементов, положив √ √ √ (x + y 2)(x1 + y1 2) , (xx1 + 2yy1 ) + (xy1 + x1 y) 2 (3) √ Далее, как обычно, полагаем z , x − y 2. Таким образом, z – сопряженное к z число и легко понять, что z=z (z1 z2 ) = z1 · z2 (4) √ √ Можно проверить, что множество Z( 2) = x + y 2 с операцией (3) образует моноид, в котором множество решений уравнения (2) является множеством обратимых элементов. √ Лемма 1. Множество K( 2) - решений уравнения (2) образует группу по операции (3). Доказательство. Уравнение (2) можно записать в форме z·z =1
(5)
Теперь утверждение леммы следует из (4). Отмеченные в лемме наблюдения о структуре решений уравнения Пелля являются ключевыми и дают возможность найти все решения этого уравнения. Некоторые прямые следствия этой леммы √ проверить, что √ уже являются нетривиальными. Например, легко элемент z0 = 3 + 2 2 является решением уравнения (2). Так как K( 2) - группа, то элементы z02 , z03 , z04 . . . - являются решениями этого уравнения. Отсюда мы получаем новые пары (x, y), удовлетворяющие уравнения (2): (3, 2), (17, 12), (99, 70) и т.д. Например, пара (17, 12) получается так: √ √ z02 = (3 + 2 2)2 = 17 + 12 2 В общем виде уравнение Пелля x2 − Ay 2 = 1 изучается сходными методами. 7) Пусть In = {0, 1, 2, . . . , n} и p(x) - некоторая обратимая функция: In → In , т.е. p(x) можно представить в следующем виде 1 2 ... n p= i1 i2 . . . in где (i1 i2 , . . . , in ) – некоторая перестановка чисел (1, 2, . . . , n). Функция p(x) называется перестановкой. Множество всех перестановок с операцией суперпозиции образует группу Sn , которая называется симметрической группой степени n. При этом i1 i2 . . . in −1 p = 1 2 ... n 1 2 ... n e= 1 2 ... n 4
Гомоморфизмы Как показывает опыт, изучение отображений одних алгебраических структур в другие позволяет получить много полезной информации об исходных объектах и потому представляет значительный интерес. ϕ Определение. Если (G, · ) и (G0 , ∗ ) – два моноида, то отображение ϕ : G → G0 называется гомоморфизмом, если выполняютя два условия: 1) ϕ(x · y) = ϕ(x) ∗ ϕ(y); 2) ϕ(e) = e0 , где e, e0 – единицы моноидов G, G0 . Таким образом, гомоморфизм есть обычное отображение или функция ϕ, заданная на группе G и принимающая значение в G0 , но удовлетворяющая дополнительным условиям: 1) ’образ’ произведения двух элементов – это произведение образов сомножителей; 2) ’образ’ единицы - единица. Если G и G0 – группы, то из условия 1) получаем ϕ(e · e) = ϕ(e) = ϕ(e) ∗ ϕ(e) или ϕ(e) = e0 , т.е ’образом’ единицы является единица ”автоматически”. Примеры. 1) Пусть C – группа комплексных чисел по сложению и ϕ(z) - отображение следующего ϕ вида: C → C, где ϕ(z) = z. В силу свойства z1 + z2 = z1 + z2 это отображение является гомоморфизмом группы C на себя. 2) Если C[x] - моноид ненулевых полиномов с вещественными коэффициентами по операции умножения и N – моноид натуральных чисел по сложению, то отображение g(x) → deg g(x) является гомоморфизмом моноида C[x] в моноид N, т.к. deg(g1 · g2 ) = deg g1 + deg g2 . Единицами моноида C[x] являются все константы или все ненулевые вещественные числа. Поэтому условие 2) тоже выполняется. 3) Если C + – мультипликативная группа ненулевых вещественных чисел, а C – аддитивная группа всех вещественных чисел, то хорошо известный ”логарифм” устанавливает гомоморфизм этих двух групп: ϕ(x) = ln x. Если G и G0 - два моноида, то гомоморфизм ϕ : G → G0 порождает два стандартных множества: образ и ядро гомоморфизма ϕ. По определению Im(ϕ) = {ϕ(x) : x ∈ G} Ker(ϕ) = {x : ϕ(x) = e0 }
Таким образом, Im(ϕ) – это совокупность всех значений отображения ϕ или ”область значений ϕ”, а ядро или Ker(ϕ) – это множество тех элементов моноида G, которые при гомоморфизме ϕ переходят в единицу моноида G0 . Имеет место следующий общий факт, поясняющий роль образа и ядра в строении гомоморфизма. Утверждение 1. Образ и ядро любого гомоморфизма G в группу G0 являются группами. Доказательство. Если u, v ∈ Im(ϕ), то ϕ(x1 ) = u, ϕ(x2 ) = v. Отсюда ϕ(x1 x2 ) = ϕ(x1 )ϕ(x2 ) = uv ∈ Im(ϕ). Далее, ϕ(x−1 ) = [ϕ(x)]−1 , что доказывает принадлежность u−1 ∈ Im(ϕ). Аналогично, если u, v ∈ Ker(ϕ), то ϕ(uv) = e0 и ϕ(u−1 ) = [ϕ(u)]−1 = e0 5
Графической интерпретацией образа и ядра гомоморфизма ϕ является следующая выразительная картинка. G' &
$' #
Im ϕ
"! %& %
G' $' '$
hhhh t ((((e 0 ( ( (( ((( &% & %& hhh
G0 $
hhhh
Ker ϕ
G0 $ %
Примеры. 1) Пусть N+ - моноид всех натуральных чисел и G = {0, 1} - двухэлементная группа с ϕ операцией сложения по mod 2. Рассмотрим следующее отображение N → G: 1, если n - нечетно; ϕ(n) = 0, если n - четно. Легко проверить, что ϕ(n) - гомоморфизм и при этом Im(ϕ) = G, Ker(ϕ) = { все четные числа } 2) Если Rn – n–мерное векторное пространство, являющееся абелевой группой с операцией покомпонентного сложения векторов и A - произвольная квадратная матрица порядка n, то отображение ϕ: ϕ(x) = Ax является гомоморфизмом группы (Rn , +) в себя. Образ этого отображения является подпространством Rn , а ядро – это множество всех решений V однородной системы линейных уравнений Ax = 0 которое также является подпространством Rn . При этом справедливо известное соотношение: dim V + dim V 0 = n 3) Пусть C - группа ненулевых комплексных чисел по умножению и ϕ - отображение ϕ C в группу по умножению вещественных чисел, т.е C → R+ , где ϕ(z) = |z|. Ясно, что ϕ(z) - гомоморфизм и Im(ϕ) = R+ , Ker(ϕ) = eit (t ∈ R), т.е ядро отображения ϕ - это окружность единичного радиуса с центром в нуле (|z| = 1). 4) Множество классов вычетов по mod m обозначается через Z|mZ . Например, Z|5Z = {0, 1, 2, 3, 4} со следующей таблицей Кэли:
6
+ 0 0 0 1 1 2 2 3 3 4 4
1 1 2 3 4 0
2 2 3 4 0 1
3 3 4 0 1 2
4 4 0 1 2 3
Ясно, что Z|5Z - группа. Рассмотрим отображение ϕ
Z → Z|5Z , где ϕ(n) ≡ rest(mod 5). т.е каждому целому числу ставится в соответствие остаток от деления на 5. Ясно, что Im(ϕ) = Z|5Z , Ker(ϕ) = 5k. 5) Пусть Bn и V = {1, −1} – две группы и ϕa – отображение ϕa (x) = (−1)a,x . Тогда ϕa (x + y) = (−1)a,x+y = (−1)a,x (−1)a,y = ϕa (x)ϕa (y) Определение. Если G и G0 – моноиды, то гомоморфизм ϕ : G → G0 называется изоморфизмом, если существует гомоморфизм g : G0 → G такой, что оба отображения ϕ(g) и g(f ) являются тождественными. Другими словами, изоморфизм – это взаимнооднозначный гомоморфизм. Изоморфные моноиды имеют одинаковую внутреннюю алгебраическую структуру и потому как алгебраические объекты неразличимы. Следующие определения уточняют введенные выше понятия и вносят терминологическое единообразие. Определение. Гомоморфизм ϕ называется инъективным, если из x 6= y следует, что ϕ(x) 6= ϕ(y). Определение. Гомоморфизм ϕ : G → G0 называется сюръективным, если Im(ϕ) = G0 . Таким образом, гомоморфизм ϕ является изоморфизмом, если ϕ – одновременно инъективен и сюръективен. Утверждение 2. Если ядро группового гомоморфизма ϕ – тривиально, то ϕ – инъективный гомоморфизм. Доказательство. Если ϕ(x) = ϕ(y), то ϕ(xy −1 ) = ϕ(x)ϕ(y −1 ) = ϕ(x)[ϕ(y)]−1 = ϕ(x)[ϕ(x)]−1 = e0 . Отсюда следует, что xy −1 ∈ Ker(ϕ) и потому xy −1 = e, т.е x = y. В общем случае, мощность ядра Ker(ϕ) характеризует ”точность” гомоморфизма ϕ: чем меньше мощность ядра, тем ”точнее” гомоморфизм.
7
Группы Значительное место в теории алгебраических систем занимает теория групп, к краткому изложению которой мы сейчас и переходим. Определение. Группой называется множество G с одной алгебраической операцией, удовлетворяющей следующим аксиомам: 1) Замкнутость относительно групповой операции: если a, b ∈ G, то ab ∈ G. 2) Ассоциативность: (ab)c = a(bc). 3) Существование единицы: существует элемент e ∈ G такой, что ae = ea = a. 4) Существование обратного элемента: для любого a ∈ G можно найти b ∈ G такой, что ab = ba = e. Элемент b называется обратным по отношению к a и обозначается так: b = a−1 . Свойство 4) можно интерпретировать как возможность ”деления” в группе G. Выяснение того обстоятельства, является ли данная пара (G, ·) группой, состоит, таким образом, в проверке аксиом 1) − 4). Иногда эта проверка достаточно проста, в других случаях требует определенных усилий. Примеры. 1) Рассмотрим алгебраическое уравнение zn − 1 = 0 Пусть G = {ξ1 = 1, ξ2 , . . . , ξn } – множество всех корней этого уравнения и ”· ” – обычная операция умножения комплексных чисел. Тогда структура (G, · ) является группой. Доказательство этого факта состоит в проверке аксиом 1 − 4. Проведем эту проверку 1) Если ξi , ξj ∈ G, то ξi · ξj ∈ G. Действительно, (ξi ξj )n = ξin ξjn = 1.
2) Ассоциативность умножения в (G, ·) есть следствие этого свойства для произвольных комплексных чисел. 3) ”Единицей” группы G является ”обычная” единица, т.е e = 1. 1 4) Обратным элементом к ξi ∈ G является число . Для того, чтобы убедиться в этом, ξi n 1 1 1 = n = 1. достаточно проверить, что ∈ G. Действительно, ξi ξi ξi Таким образом, G – это действительно группа. 2) Пусть n – произвольное натуральное число и ”+” – операция сложения по mod n. Все целые числа разобьем на n классов D0 , D1 , . . . , Dn−1 ,относя к классу Di все целые числа, дающие при делении на n остаток, равный i, т.е Di = {x : x ≡ i(mod n)}. Операция сложения по mod n индуцирует в множестве D = {D0 , D1 , . . . , Dn−1 } операцию сложения по следующему правилу Di + Dj = D(i+j)mod n . Нетрудно проверить, что пара (D, + ) – является группой, которая называется группой классов вычетов по mod n. 8
3) Пусть p – простое число и Dp = {D0 , D1 , . . . , Dp−1 } – все ненулевые классы вычетов по mod p. Операция умножения по mod p индуцирует в Dp групповую операцию умножения ”·” классов вычетов. Можно показать, что пара (Dp , · ) – является группой. Таблица умножения для D5 представлена ниже · 1 2 3 4
1 1 2 3 4
2 2 4 1 3
3 3 1 4 2
4 4 3 2 1
Пусть (G, · ) – произвольная группа и 2G – семейство всех подмножеств группы G. Групповая операция ”·” индуцирует операцию умножения на множестве 2G по следующему правилу X1 , X2 ∈ 2G : X1 · X2 , {a1 · a2 : a1 ∈ X1 , a2 ∈ X2 }. По введенной операции пара (2G , · ) является моноидом. В частности, справеливы следующие соотношения: 1) G · G = G 2) e · X = X · e = X Определение. Подмножество H группы G называется подгруппой G, если (H, · ) – группа. Таким образом, подгруппа H группы G – это ее замкнутая алгебраическая составляющая, содержащая как единицу, так и обратный элемент для любого элемента из H. В частности, сама группа G и подмножество H = {e}, состоящее из единичного элемента, являются несобственными или тривиальными подгруппами произвольной группы G. Утверждение 3. Подмножество H конечной группы G является подгруппой тогда и только тогда, когда выполнено соотношение: H 2 = H. Доказательство. Пусть H – подгруппа, тогда H 2 = H. Пусть H 2 = H. Если a ∈ H, то a2 , a3 , . . . ∈ H. Следовательно, ∃k > r такое, что ak = ar . Поэтому ak−r = e ∈ H и ak−r−1 = a−1 . Замкнутость H следует из того, что при a, b ∈ H произведение a·b ∈ H 2 = H. Определение. Если H – подгуппа группы G и g ∈ G, то множества gH и Hg называются соответственно левым и правым смежными классами группы G по подгруппе H. Лемма 2. Если H – подгруппа группы G, то справедливы следующие утверждения: 1) Любые два смежных класса одной ориентации либо не пересекаются, либо совпадают; 2) |gH| = |Hg| = |H|, ∀g∈G; 3) Если {gi H}, {Hgi } – множества соответственно всех S левых S и всех правых классов по подгруппе H, то справедливо разложение: G = gi H = Hgi . 9
T Доказательство. 1) Если t ∈ g1 H g2 H, то t = g1 h1 = g2 h2 . Следовательно, (g1 h1 )H = g1 H, (g1 h2 )H = g2 H, т.е. g1 H = g2 H. 2) Если H = {hi }, то gH = {ghi }. Т.к. из ghi = ghj следует, что hi = hj , то |H| = |gH|. 3) Если υ ∈ G и {gi H} – множество всех смежных классов по подгруппе H, то υH ∈ {gi H}. Следовательно, υH = gj H, и значит, υ ∈ gj H. Теорема 1. (Лагранжа) Если G – конечная группа и H – подгруппа G, то |H| – делитель |G|. Доказательство. В силу свойств 1), 2), 3) предыдущей леммы имеем: |G| =
m X i=1
|gi H| = m|H|.
Определение. Подгруппа H группы G называется инвариантной или нормальным делителем, если gH = Hg, ∀g ∈ G. Определение. H – инварианта тогда и только тогда, когда g −1 hg ∈ H, ∀h ∈ G. Пусть H – инвариантная подгруппа группы G и G|H = {gi H} – множество всех левых смежных классов по подгруппе H. Ясно, что G|H ∈ 2G . Утверждение 4. Множество G|H является группой по операции умножения подмножеств, индуцированной операцией умножения в группе G Доказательство. 1) В силу инвариантности подгруппы H имеем: (g1 H)(g2 H) = (g1 H)(Hg2 ) = g1 H 2 g2 = g1 Hg2 = g1 g2 H ∈ G|H . 2) Смежный класс H является единичным элементом, т.к. H(gi H) = gi H 2 = gi H. 3) Hgi−1 – обратный элемент для gi H, т.к. (gi−1 H)(gi H) = (gi−1 gi )(H 2 ) = H. Определение. Группа G|H называется фактор-группой группы G по нормальному делителю H. Если число смежных классов конечно, то оно называется индексом подгруппы H. Примеры. 1) Если Z – группа всех целых чисел и Z3 – подгруппа Z, состоящая из всех чисел, кратных трем, то имеет место очевидное разложение: [ [ Z = Z3 (Z3 + 1) (Z3 + 2),
где Z3 + i = {x + i, x ∈ Z3 } – множество целых чисел, дающих при делении на три остаток равный i (i = 1, 2). Таким образом Z по подгруппе Z3 является инвариантной в силу коммутативности Z и фактор-группа Z|Z3 = {Z3 + i}, очевидно, изоморфна группе {0, 1, 2} с операцией сложения по mod 3. 10
2) Пусть R – множество вещественных чисел и (Ln (R), · ) – группа по умножению всех невырожденных квадратных матриц порядка n с элементами из R. Рассмотрим в Ln (R) множество матриц 4n (R), имеющих определитель, равный единице. Легко проверить, что 4n (R) – подгруппа Ln (R). Действительно, если A ∈ 4n (R) и T ∈ Ln (R), то |T −1 AT | = |T −1 ||A||T | = 1. Множество смежных классов Hλ по подгруппе Ln (R) – это классы матриц с одинаковыми значениями определителя. Таким образом, в смежный класс Hλ входят все матрицы с определителем равным λ. Фактор-группа Ln (R)|4n (R) – изоморфна мультипликативной группе всех ненулевых вещественных чисел. 3) Пусть Sn – симметрическая группа порядка n и Sni – множество всех перестановок, сохраняющих i-ый элемент неподвижным. Легко проверить, что Sni – подгруппа Sn и |Sni | = (n − 1)!. Индекс подгруппы Sni равен n и смежный класс Hk состоит из всех перестановок, переводящих элемент i в k. Однако подгруппа Sni не является нормальным делителем в Sn . Достаточно рассмотреть следующий пример. Перестановка 1 2 3 ... n − 1 n S= ∈ Sn1 1 3 4 ... n 2 −1
t St =
1 2 3 ... n 2 1 3 ... n
×
=
1 2 3 ... n − 1 n 1 3 4 ... n 2 2 1 3 ... n 3 2 4 ... n
×
2 1 3 ... n 1 2 3 ... n
=
∈ / Sn1
Из общих теорем о гомоморфизмах и изоморфизмах в теории групп мы приведем два следующих факта. Теорема 2. Каждая группа G гомоморфна своей фактор-группе по любому нормальному делителю. Каждый гомоморфизм группы G может быть реализован в виде гомоморфизма G на некоторую ее фактор-группу. Доказательство. Пусть G=
[
gi H
i=1
разложение группы G по нормальному делителю H. Рассмотрим отображение ϕ : G → G|H , устроенное следующим образом: ϕ(g) = gH. Проведя очевидные выкладки, получаем ϕ(g1 g2 ) = (g1 g2 )H = g1 g2 HH = (g1 H)(g2 H) = ϕ(g1 )ϕ(g2 ), т.е. ϕ – гомоморфизм. Пусть теперь группа G гомоморфна группе G0 и ϕ – соответствующий гомоморфизм. Рассмотрим ядро гомоморфизма ϕ: Ker(ϕ) = {g ∈ G : ϕ(g) = e0 } Отметим следующие два обстоятельства: 11
1) Ядро гомоморфизма Ker(ϕ) – нормальный делитель в группе G. Действительно, ϕ(t−1 gt) = ϕ(t−1 )ϕ(g)ϕ(t) = [ϕ(t)]−1 e0 ϕ(t) = e0 . 2) Разложим группу G по нормальному делителю H = Ker(ϕ): G = H ∪ t1 H ∪ t2 H... Если t ∈ G, то t = ti h для некоторого i и потому ϕ(t) = ϕ(ti h) = ϕ(ti ). Таким образом, гомоморфизм ϕ каждому элементу группы G ставит в соответствие тот смежный класс, которому этот элемент принадлежит. Тем самым исходный гомоморфизм ϕ индуцирует ”естественный” гомоморфизм на фактор-группу.
Следующая теорема демонстрирует существование ”универсальных” групп. Теорема 3. (Кэли) перестановок.
Каждая
конечная
группа
изоморфна
некоторой
группе
Доказательство. Пусть G – произвольная конечная группа и G = {g1 , g2 , . . . , gm }. Если g ∈ G, то gG = {g · g1 , g · g2 , . . . , g · gm } = G. Рассмотрим отображение ϕ: g1 g2 . . . gm ϕ(g) = g · g1 g · g2 . . . g · g m Таким образом, отображение ϕ ставит в соответствие каждому элементу группы G некоторую перестановку степени m. Покажем, что ϕ – гомоморфизм G в Sm . По определению: g1 g2 ... gm ϕ(uv) = = (uv) · g1 (uv) · g2 . . . (uv) · gm g1 g2 ... gm = = ϕ(u)ϕ(v) u(v · g1 ) u(v · g2 ) . . . u(v · gm ) Пусть G – произвольная группа и Aut(G) – множество автоморфизмов этой группы, т.е. взаимно-однозначных преобразований, сохраняющих операцию группы. Утверждение 5. Множество Aut(G) является группой с обычной операцией суперпозиции автоморфизмов. Доказательство. Суперпозиция, в алгебраическом плане, понимается как умножение автоморфизмов и доказательство данного утверждения состоит в проверке выполнимости аксиом 1-4. Определение. Автоморфизм ϕt (x) = t−1 xt называется внутренним. Определение. Элементы a, b ∈ G называются сопряженными, если ϕt (a) = b для некоторого t ∈ G. Отношение сопряженности в группе является отношением эквивалентности и потому вся группа G разбивается на классы сопряженных элементов. 12
Понятие сопряженности в группе вполне аналогично понятию сопряженности элементов. Определение. Два подмножества A и B элементов группы G сопряжены, если существует t ∈ G такой, что t−1 At = B. В терминах сопряженности определение нормального делителя звучит так: подгруппа H группы G является нормальным делителем, если она совпадает со всеми своими сопряженными подгруппами. Для любого элемента g ∈ G могут быть определены степени следующим образом: g · g . . . g, если k > 0; | {z } k e, если k = 0; gk = −1 −1 −1 g · g . . . g , если k < 0. {z } | −k
Нетрудно проверить обычное свойство мультипликативности: g m · g n = g m+n
(6)
для произвольных целых m и n. В силу (6) множество G0 = {g m } является подгруппой G. Определение. Если G0 = {g m } – конечная подгруппа, то число элементов в G0 (порядок G0 ) называется порядком элемента g и обозначается через ord(g). Если G0 – бесконечная подгруппа, то ord(g) = ∞. Таким образом, в конечной группе G каждый элемент имеет конечный порядок. Примеры. 1) Пусть A6 - множество всех корней уравнения Z 6 − 1 = 0. Тогда справедливы следующие формулы: ord(1) = 1, ord(−1) = 2, ord(ξ3 ) = ord(ξ4 ) = 3, где ξ3 , ξ4 - корни уравнения Z 3 − 1 = 0, отличные от 1,
ord(ξ5 ) = ord(ξ6 ) = 6, где ξ5 , ξ6 - корни уравнения Z 3 + 1 = 0, отличные от (-1). 2) Пусть GL2 (R) – группа невырожденных матриц порядка два и 1 0 i 0 1 1 A= ,B = ,C = . 0 −1 0 −i 0 1 Тогда легко проверить, что ord(A) = 2, ord(B) = 4, ord(C) = ∞. Утверждение 6. Порядок любого элемента конечной группы G является делителем порядка группы. Доказательство. Пусть g ∈ G и Hg = {g i } – подгруппа, порожденная степенями элемента g. Ясно, что |Hg | = ord(g). Теперь окончательный вывод следует из теоремы Лагранжа. Следствие. Для любого элемента a конечной группы G справедливо соотношение: a = e. Следующее простое утверждение является простым следствием основных определений. |G|
13
Утверждение 7. Если ord(g) = n, то a) g m = e, если и только если n|m . b) g p = g q , если и только если p ≡ q(mod n). Доказательство. Без доказательства. Определение. Группа G называется циклической, если существует элемент g ∈ G такой, что степени G порождают всю группу G. Формальная запись имеет вид G =< g > и элемент g называется порождающим элементом группы G. Следующие общие и простые факты о циклических группах мы приводим без обоснований. n . 1) Если ord(g) = n, то ord(g k ) = (n, k) 2) Элемент g k циклической группы G =< g > является образующим тогда и только тогда, когда (n, k) = 1, причем |G| = n. 3) Всякая подгруппа циклической группы является циклической. 4) В циклической группе порядка n существует подгруппа порядка q тогда и только тогда, когда q является делителем n. 5) Всякая конечная циклическая группа порядка n изоморфна аддитивной группе Zn классов вычетов по mod n. 6) Всякая бесконечная циклическая группа изоморфна группе Z целых чисел. 7) Всякая конечная группа простого порядка является циклической. Определение. Комплексное число Z называется первообразным корнем n-ой степени из единицы, если Z n = 1 и Z m 6= 1 при m < n. 2πik
Лемма 3. Число ξk = e n является первообразным корнем n-ой степени из единицы, если и только если (n, k) = 1. Доказательство. Без доказательства. Пример. Пусть An – группа корней n-ой степени из единицы. Из последнего определения следует, что каждый первообразный корень из единицы является образующим группы An . Описание всех первообразных корней содержится в последней лемме. Откуда следует, что группа An является циклической. Утверждение 8. Пусть n – произвольное натуральное число и Mn – множество чисел меньших n и взаимно-простых с n. Если ” · ” – операция умножения по mod n в Mn , тогда (Mn , · ) является группой. Доказательство. Нужно лишь доказать, что каждый элемент из Mn имеет обратный, т.к. все остальное очевидно. Пусть a ∈ Mn . Рассмотрим множество a · Mn . Справедливо равенство: a · Mn = Mn . Действительно, если произошла ”склейка”, т.е. ab1 = ab2 , при b1 , b2 ∈ Mn , то a(b1 − b2 ) ≡ 0 (mod n). Но (a, n) = 1 и, значит, b1 = b2 . Таким образом, a · Mn = Mn и, значит, a · x = 1, т.е. x = a−1 . 14
Отметим, что группа M5 = {1, 2, 3, 4} – является циклической и M5 =< 3 >= {3, 32 = 4, 33 = 2, 34 = 1}, а группа M8 = {1, 3, 5, 7} циклической не является, т.к. 32 = 52 = 72 ≡ 1 (mod 8). Хорошо известно, что теорема Лагранжа дает лишь необходимое условие существования в конечной группе G подгруппы заданного порядка m. В общем случае, прямое обращение этой теоремы неверно: из того, что порядок |G| группы G делится на число m не следует, что группа G содержит подгруппу порядка m. Однако некоторые более слабые обращения теоремы Лагранжа справедливы. Мы приведем одно из таких обращений. Теорема 4. (Коши) Если порядок группы G делится на простое число p, то группа G содержит подгруппу порядка p. Доказательство. Итак, пусть |G| = n ≡ 0 (mod p). Рассмотрим уравнение: x1 x2 . . . xp = e,
(7)
где xi ∈ G, i = 1, 2, . . . , p. Решением этого уравнения будем называть вектор X = (x1 , x2 , . . . , xp ) с координатами из G. Если X – решение уравнения (7), то x1 x2 . . . xp−1 = x−1 p и, значит xp x1 . . . xp−1 = e Таким образом, циклический сдвиг T любого решения X уравнения (7) есть также решение этого уравнения. Отсюда следует, что все множество решений уравнения (7) может быть разбито на орбиты {x, T x, . . . , T p−1 x} длины p, за исключением случая x1 = x2 = ... = xp = x, когда орбита имеет длину, равную единице. При этом число орбит длины единица равно числу решений уравнения: xp = e,
(8)
которое мы обозначим через αp . Отметим, что αp ≥ 1, т.к. x = e является решением уравнения (8). Т.к. общее число решений уравнения (7) равно np−1 , то разбиение всего множества решений на орбиты приводит к соотношению np−1 = p · Q + αp ,
(9)
где Q - число орбит длины p. Взяв равенство (9) по mod p мы получим, что αp ≡ 0 (mod p). Отсюда следует, что уравнение (8) имеет нетривиальное решение x 6= e. Т.к. p – простое число, то подгруппа H =< x > имеет порядок p.
Системы образующих Как мы видели ранее, каждая циклическая круппа G ”порождается” одним элементом, т.е G =< g >. Рассмотрение более общей ситуации приводит к важным понятиям, играющим существенную роль для алгебры вообще. Пусть V ⊆ G и < V > – это совокупность всевозможных произведений вида g1ε1 g2ε2 . . . gkεk где gi ∈ V и εi = ±1. Совокупность таких произведений мы обозначим через < V >. 15
Утверждение 9. Множество < V > – является подгруппой группы G, называемой подгруппой, порожденной множеством V . Доказательство. Очевидно, что < V > – это пересечение всех подгрупп группы G, содержащих множество V . Другими словами, < V > – это ”наименьшая” подгруппа группы G, содержащая заданное множество V . Теорема 5. Группа Sn порождается транспозициями или Sn =< (is , ir ) >. Доказательство. Если (i1 i2 . . . ik ) – один из независимых циклов, на которые разлагается любая перестановка p ∈ Sn , то в силу очевидного равенства (i1 i2 . . . ik ) = (i1 i2 )(i1 i3 )(i1 i4 ) . . . (i1 ik ) каждый из циклов – есть произведение транспозиций. Далее (is ik )−1 = (is ik ) Это и завершает доказательство теоремы. Примеры. 1) M8 = {1, 3, 5, 7} =< 3, 5, 7 > 2) M7 = {1, 2, 3, 4, 5, 6} =< 3 > Замечание. Группа Mn определена ранее. 3) Если Jn – группа корней n-й степени из 1, то Jn =< αs > s
где αs = e2πi n и (s, n) = 1. Таким образом, любой элемент αs с условием (s, n) = 1 является образующим группы Jn . 4) Пусть G = Bn и T = Ts – группа циклических сдвигов наборов из Bn , т.е Ts (Tr ) = Ts + r и s + r ≡ s + r(mod n). Тогда T =< T−1 >. 5) Рассмотрим преобразования ”сдвига” Bn ,
00
+00 - сложение по mod 2:
Tα (x) = x + α Тогда Tα+β (x) = Tα Tβ (x) По определению Tα =< Te1 , Te2 , . . . Ten > где ei = (0 . . . |{z} 1 0 . . . 0). i
6) Пусть G = Bn , тогда G =< e1 , e2 . . . en >. Таким образом, стандартный набор ”единичных” векторов (e1 . . . en ) – порождает группу Bn . 7) Рассмотрим преобразования Bn : Ti и Tα . Тогда Ti Tα (x) = Ti (x) + Ti (α)
16
Симметрическая группа Sn Как уже было отмечено выше, элементы группы Sn – это перестановки или обратимые функции, заданные на In = {1, 2 . . . n} и принимающие значения в In . Ясно, что |Sn | = n! и, как было показано выше, любая конечная группа изоморфна некоторой подгруппе группы Sn . В связи с этим строение группы Sn представляет значительный интерес. Определение. Перестановка g ∈ Sn называется n–циклом, если она реализует следующее отображение i1 i2 i3 . . . in−1 in g= i2 i3 i4 . . . in i1 Такую перестановку принято записывать в виде одной строчки g = (i1 i2 . . . in−1 in ) Определение. Два цикла (i1 i2 . . . ik ) и (j1 j2 . . . jr ) называются независимыми, если T {i1 i2 . . . ik } {j1 j2 . . . jr } = ∅
Утверждение 10. Любая перестановка может быть единственным способом разложена в произведение независимых циклов Доказательство. Пусть g= g=
1 2 3 4 2 1 4 3
1 2 3 4 5 2 3 1 4 5
= (1 2)(3 4) = (1 2 3)(4)(5)
Представляется, что приведенное утверждение, с учетом примеров, вряд ли нуждается в формальном доказательстве. Разложение перестановки на независимые циклы имеет ряд существенных преимуществ в теоретическом и вычислительном плане и мы уделим этому обстоятельству определенное внимание. 1) Независимые циклы перестановочны, т.е A B = B A. 2) Если S = (i1 i2 . . . ik ) – k - цикл, то S −1 = (ik ik−1 . . . i2 i1 ). 3) Если S = (i1 i2 . . . ik ), то ord(s) = k. 4) Если Si1 , Si2 . . . Sik – независимые циклы длин i1 , i2 . . . ik , то ord(Si1 · Si2 · · · Sik ) = Н.О.К[i1 , i2 . . . ik ]. 5) Следующая формула значительно упрощает нахождение сопряженной перестановки в случае, когда исходная перестановка задана как произведение независимых циклов. Лемма 4. Пусть A, P ∈ Sn и A = V1 · V2 . . . Vm – где циклы Vi – независимы. Тогда P A P −1 = P (V1 ) P (V2 ) . . . P (Vm ) где P (Vi ) – действие перестановки P на цикл Vi . 17
Доказательство. Отметим, что если перестановка A переводит элемент x в y, то перестановка P A P −1 переводит P x в P y. Действительно P A P −1 (P x) = P A(x) = P y Отсюда следует, что если A = (i1 i2 . . . ip )(j1 j2 . . . jq ) . . . т.е перестановка A преобразует i1 → i2 , i2 → i3 . . .
то по предыдущему замечанию, перестановка P A P −1 действует так: P (i1 ) → P (i2 ), P (i2 ) → P (i3 ) . . . т.е. P A P −1 = P (V1 ) P (V2 ) . . . P (Vm )
Эта лемма показывает, что сопряженные перестановки из Sn имеют одинаковую ”циклическую” структуру. Точнее справедливо следующее утверждение. Утверждение 11. Две перестановки u и v из Sn сопряжены тогда и только тогда, когда при разложении их в произведение независимых циклов наборы длин циклов совпадают Доказательство. Без доказательства. Следствие. Число классов сопряженных элементов в Sn неупорядоченных разбиений числа n в сумму натуральных слагаемых.
равно
числу
Примеры. 1) Пусть A =
1 2 3 4 2 1 4 3
,P =
1 2 3 4 2 3 4 1
. Тогда
P A P −1 = P (1 2)P (3 4) = (2 3)(4 1) 2) Рассмотрим группу S3 . Нетрудно видеть, что S3 имеет следующие классы сопряженных элементов Q1 = {e = (1)(2)(3)}, Q2 = {v1 = (1 2)(3), v2 = (1 3)(2), v3 = (2 3)(1)}, Q3 = {v4 = (1 2 3), v5 = (1 3 2)} Эти три класса соответствуют следующим разбиениям числа 3: 3=1+1+1 3=1+2 3=0+3
18
Рассмотрим одно из важнейших и интересных представлений группы Sn . Пусть Cn – семейство квадратных матриц порядка n, имеющих в каждом столбце и в каждой строке ровно один единичный элемент, а остальные элементы – нули. Для случая n = 3 это следующие шесть матриц: 1 0 0 1 0 0 0 1 0 0 1 0 0 0 1 0 0 1 C3 = 0 1 0 0 0 1 1 0 0 0 0 1 1 0 0 0 1 0 0 0 1 0 1 0 0 0 1 1 0 0 0 1 0 1 0 0 , , , , ,
Класс Cn носит название класса матриц перестановок и каждая матрица B ∈ Cn – это матрица перестановок. Это название отнюдь не случайно и связано со следующим обстоятельством. Если A – произвольная квадратная матрица порядка n, и B ∈ Cn , то матрица BA имеет следующую структуру. Пусть (i1 j1 ), (i2 j2 ) . . . (in jn ) – ”номера” единичных элементов матрицы B. Тогда матрица BA получается из A следующим образом : строка ik меняется со строкой jk местами, k = 1, 2, . . . n. Аналогичные преобразования со столбцами происходят при построении матрицы AB. Таким образом, умножение матрицы A на матрицу B ∈ Cn равносильно перестановке строк или столбцов исходной матрицы. Справедливо следующее утверждение. Теорема 6. Класс матриц перестановок Cn является группой по обычной операции матричного умножения. Группы Cn и Sn – изоморфны. Доказательство. Учитывая интерпретацию умножения на матрицы из Cn , которая была дана выше, мы получаем следующие факты: 1) A, B ∈ Cn следует A · B ∈ Cn 2) E ∈ Cn 3) A∗ · A = E Для установления изоморфного соответствия достаточно каждой матрице A ∈ Cn сопоставить перестановку P (A) из Sn следующим образом i1 i2 . . . in P (A) = (10) j1 j2 . . . jn где (ik , jk ) – номера единичных элементов в матрице A. Это отображение можно трактовать как перестановку строк единичной матрицы E,т.е P (A) действует на E, переставляя ее строки согласно правилу (10). Отсюда P (AB) = P (ABE) = P (A)P (B)
Группы преобразований Группы преобразований являются источником важнейших понятий и результатов теории групп. Например, понятие ”симметрии”, широко используемое в физике, архитектуре, искусстве в широком понимании этого слова находит свои фундаментальные основы в теории групп. 19
Общая схема применения групп преобразований состоит в следующем. Задано множество Ω и группа G. Определение. Говорят, что группа G действует на множестве Ω, если для каждой пары (g, x), где g ∈ G, x ∈ Ω определено отображение Ω → Ω со следующими свойствами: ex = x (gh)x = g(hx) Если S(Ω) – группа всех взаимно-однозначных отображений Ω в себя, то отображение Φg(x) = gx является гомоморфизмом группы G в группу S(Ω). Действие группы G на множестве Ω индуцирует понятие эквивалентности на этом множестве по следующему правилу. Определение. x ∼ x0 x0 = gx для некоторого g ∈ G. В связи с этим определением, множество Ω разбивается на классы эквивалентности, транзитные множества или орбиты. Все эти термины являются синонимами. По определению, орбита элемента x ∈ Ω – это множество S(x) = {gx : g ∈ G}. В содержательном плане, группа преобразований определяет те ”фигуры”, которые мы согласились считать ”равными” или ”эквивалентными”. При этом орбиты определяют классы эквивалентных фигур, т.е обобщенные образы ”одинаковых” фигур. Задачи, которые при этом возникают, состоят в следующем: 1) Найти длины всех орбит; 2) Перечислить орбиты. Определение. Стабилизатором элемента x ∈ Ω называется множество преобразований из группы G, оставляющих элемент x неподвижным или, формально Gx = {g : gx = x} В терминах стабилизатора проблемы, сформулированные выше, могут быть решены следующим образом. Ниже мы предполагаем множество Ω и группу G конечными. Лемма 5. 1) Gx – подгруппа G; 2) Мощность |Sx | – орбиты элемента x равна ind Gx – стабилизатора Gx . Доказательство. 1) Первое утверждение леммы проверяется непосредственно: g1 g2 (x) = g1 (g2 (x)) = g1 (x) = x; x = g −1 g(x) = g −1 x, т.е g −1 x = x 2) Разложим теперь группу G по подгруппе Gx : [ [ [ G = G x g1 G x . . . g m G x
и рассмотрим множество Cx = {x, g1 x, . . . , gm x}. Покажем, что это множество и является орбитой элемента x, т.е. Cx = Sx . Действительно, с одной стороны Cx ⊆ Sx , т.к. среди gi встречается лишь часть элементов группы G. С другой стороны, если g ∈ G, то g 20
принадлежит одному из смежных классов gs Gx , т.е. g ∈ gs Gx и, значит, g = gs v, где v ∈ Gx . Отсюда следует, что g(x) = gs v(x) = gs (x) ∈ Cx . Таким образом, любой элемент орбиты Sx принадлежит Cx , т.е. Sx ⊆ Cx и, окончательно, Sx = Cx .
Покажем теперь, что все элементы Cx различны. Действительно, если gi x = gj x, то gj−1 gi x = x или gj−1 gi ∈ Gx . Но тогда смежные классы gi Gx и gj Gx совпадают. Противоречие. Отсюда следует, что |Sx | = |Cx | = ind Gx Найдем теперь число орбит, порожденных группой G. Пусть N (g) = {a : g(a) = a} – множество неподвижных точек преобразования g ∈ G и Ng – мощность этого множества. Лемма 6. (Бернсойда) Для числа орбит группы G на множестве Ω справедливо соотношение 1 X r(G) = Ng |G| g∈G
Доказательство. Пусть =
XX
ξgx
ξgx Тогда X
Ng =
g∈G
XX
ξgx
g∈G x∈Ω
r(G)
=
x∈Ω g∈G r(G)
1, если gx = x; 0, если gx 6= x.
=
X x∈Ω
|Gx | =
X |Si | X 1 X 1 = |G| = |G| = |G| r(G) |Si | x∈S |Si | i=1 i=1
r(G) X X
i=1 x∈Si
r(G) X X |G| = |Gx | = |Sx | i=1 x∈S i
i
в силу того, что для любого x ∈ Si : Si = Sx . Примеры. 1) Пусть Ω = Bn – множество двоичных наборов длины n и {Ti } – G – группа ”сдвигов”, т.е. T(α1 α2 . . . αn−1 ) Tr (a) = T(Tr−1 (a)) Ясно, что |G| = n и отображение ΦTs (x) = Ts (x) является гомоморфизмом группы G → S2n . В частности, при n = 2 имеем: a1 = (0 0) a3 = (1 0) a2 = (0 1) a4 = (1 1) Тогда T(a1 ) = a1 T(a2 ) = a3 T(a3 ) = a2 T(a4 ) = a4 T2 (a1 ) = a1 T2 (a2 ) = a2 T2 (a3 ) = a3 T2 (a4 ) = a4 Таким образом, отображение T(x) соответствует перестановка a1 a2 a3 a4 p= = (a1 )(a2 a3 )(a4 ) a1 a3 a2 a4
21
Отсюда, образом группы {T, E} является подгруппа {(1)(2 3)(4) = p; p2 = e} {T, E} → p = (1)(2 3)(4); p2 = e
Орбитой любой точки a ∈ Bn является множество точек {a, Ta , T2a . . .}. Например, если a = (1 0 1 0), то {(1 0 1 0), (0 1 0 1)}; если a = (1 0 0 0), {(1 0 0 0)(0 1 0 0)(0 0 1 0)(0 0 0 1)} – орбита a. 2) Пусть Ω – плоскость и G = SO(2) – группа вращений плоскости вокруг начала координат. Таким образом, если P – это точка на плоскости и gϕ – преобразование поворота на угол ϕ из центра в начало координат, то орбита точки P – это множество {gϕ (P )} поворотов точки P на всевозможные углы. Ясно, что эта орбита – окружность с центром в начале координат, проходящая через точку P . Таким образом, геометрическим образом орбиты является окружность и все орбиты – это концентрические окружности с центром в начале координат. 3) Как показывает пример группы Cn , каждое ”ритуальное” действие с квадратной матрицей A ∈ Rn , т.е. перестановка ее строк или столбцов может быть реализована путем матричных операций, т.е. умножения A (слева или справа) на матрицы из группы Cn . Таким образом, множество ”элементарных” преобразований может быть реализовано в виде действий элементов группы Cn на множестве Rn 4) Пусть Ω = Bn – множество двоичных наборов длины n и G = Tk – группа преобразований, состоящих в циклических сдвигах слова a = (α1 α2 . . . αn ). Ясно, что |G| = n и Tn (a) = a для все a ∈ Bn . Определение. Периодом слова a ∈ B n называется такое минимальное k, что T k (a) = a. Ясно, что если период слова a равен k, то траектория {a, T (a), T 2 (a), ...} имеет длину k. Обозначим число траекторий длины d через λ(d). Лемма 7. λ(m) =
1 X µ(d)2m|d m
(11)
d|m
Доказательство. Так как все множество B n разбивается на траектории, то X dλ(d) = 2n . d|n
Отсюда, используя формулу обращения Мебиуса, получаем 1 X µ(d)2m|d . λ(m) = m d|m
Как показывет формула (11), число слов периода m не зависит от длины слов. Например, если d = 2, то число траекторий длины два для различных n таково: n = 2 : {(10), (01)} n = 4 : {(1010), (0101)} n = 6 : {(101010), (010101)} Если d = 3, то 1 1X µ(d)23|d = (23 − 2) = 2. λ(3) = 3 3 d|3
22
n=3: {(100), (010), (001)} {(110), (011), (101)} n=6: {(100100), (010010), (001001)} {(110110), (011011), (101101)} Если d = 4, то λ(4) =
1X 1 µ(d)24|d = (24 − 2) = 3. 4 4 d|4
n=4: {(1000), (0100), (0010), (0001)} {(1100), (0110), (0011), (1001)} {(1110), (0111), (1011), (1101)} n=8: {(10001000), (01000100), (00100010), (00010001)} {(11001100), (01100110), (00110011), (10011001)} {(11101110), (01110111), (10111011), (11011101)} С помощью леммы можно получить ”явное” выражение для числа транзитивных множеств r(n). Теорема 7. r(n) =
1 X k n 2 ϕ . n k k|n
Доказательство. Из предыдущей леммы получаем r(n) =
X
λ(d) =
d|n
X 1 X µ(d)2m|d . m m|n
d|m
Введем индикаторные функции ξba
=
1, если a|b ; 0, если a -b .
С их помощью выражение для r(n) записывается в виде n n n n X X X 1 aX 1 m|d m d d m|d r(n) = ξb 2 ξn ξm . = µ(d)ξm 2 µ(d) m m m=1 m=1 d=1 d=1
Пусть m = kd, тогда n n n X 1 k kd X 2k X µ(d) kd µ(d) r(n) = 2 ξn = ξn . kd k d k=1 d=1 d=1 k=1 n X
Далее из свойств функции ϕ(n) легко следует, что X s ϕ(s) = µd . d d|s
23
Отсюда получаем, что n X µd d=1
d
ξnkd =
n X µ(d) n k · = ·ϕ . d k n k dn k
Поэтому окончательно получаем r(n) =
1 X k n . 2 ϕ n k k|n
Следствие. Если n = pq, то r(n) =
2pq + 2p (q − 1) + 2q (p − 1) + 2(p − 1)(q − 1) . pq
Следствие. Если n = 2S , то S
S
X r 1 X 2r r(n) = 2 ϕ(2S−r ) = 22 −r−1 . n r=1 r=1 Следствие. Если n = p, то 1 2p − 2 1 + 2. r(p) = (2ϕ(p) + 2p ϕ(1)) = (2(p − 1) + 2p ) = p p p
Группы малых порядков Перечислим все группы порядка не больше G. I) Если |G| = 1, то G = {e}. II) Если |G| = 2, то G - циклическая группа, одним из представлений которой является группа G = {1, −1} с обычной операцией умножения. III) Если |G| = 3, то G - циклическая группа порядка 3. IV) Если |G| = 4, то возможны два случая. 1) В G есть элемент порядка 4. Тогда G - циклическая группа. 2) Каждый неединичный элемент имеет порядок 2. Тогда G = {0, a, b, a + b}, где a + a = b + b = 0. Рассмотрим группу B 2 = {(0, 0), (01), (10), (11)} и отображение 0 −→ (0, 0); a −→ (0, 1); ϕ: b −→ (1, 0); a + b −→ (1, 1).
Ясно, что ϕ - изоморфизм G в B 2 . Таким образом для n = 4 существует две неизоморфные группы порядка 4. 24
V) Если |G| = 5, то G - циклическая группа порядка 5. VI) Если |G| = 6, то возможны следующие случаи. 1) В G есть элемент порядка G. Тогда G - циклическая группа. 2) Все элементы G имеют порядок 2. Пусть x ∈ G и H = {x, x2 = e} - подгруппа, порожденная H. Рассмотрим фактор-группу G|H = {H, xH, yH}. Т.к. |G|H = 3, то эта фактор-группа циклическая с одной стороны, но (xH)3 = x3 H = xH и (zH)3 = z 3 H = zH, т.е. в G|H нет элементов порядка 3. Противоречие. 3) Все элементы G имеют порядок 3. Пусть a ∈ G = Ha = {a, a2 , a3 = e}. Тогда факторгруппа G|Ha - циклическая порядка 2, т.е. G|Ha = {Ha, (Ha)2 = e}. Но (Ha)2 = Ha2 = H, т.е. a2 = e, что противотечит исходному утверждению. 4) В G есть элементы порядка 2 и 3. Если a - элемент порядка 3, то для получаем представление для G G = {a, a2 , a3 = e} ∪ {ta, ta2 , t},
где t2 = e, т.к. фактор-группа G|H - циклическая (H = {a, a2 , e}). Рассмотрим симметрическую группу S3 и ее подгруппу H 0 , порожденную циклом g = (123). Возьмем h = (1)(23) и рассмотрим отображение a −→ g; ϕ: t −→ h.
В силу разложения S3 = {g, g 2 , g 3 = e} ∪ {hg, hg 2 , h} отображение ϕ индуцирует изоморфизм G в S3 . Таким образом для n = 6 существует две различные группы порядка 6 - циклическая и S3 .
25
Множества с двумя алгебраическими операциями Существует довольно много множеств, на которых определены две алгебраические операции и которые представляют интерес с различных точек зрения. Это тела, кольца, поля, алгебры и т.д. Определение. Если задано множество S и определены два отображения ϕ
S×S →S ψ
S×S →S где ϕ – это "сложение"со стандарнтым обозначением "+"и ψ – "умножение"со стандартным обозначением "·", которые удовлетворяют условию a(b + c) = ab + ac (b + c)a = ba + ca
(?)
то свойство (?), связывающее эти операции, называется дистрибутивностью. Определение. Кольцом называется алгебраическая система (S, +, ·), которая удовлетворяет следующим условиям: 1) (S, +) – абелева группа, 2) (S, ·) – полугруппа, 3) Операции "+"и "·"связаны законом дистрибутивности (?). Замечание. Иногда условие 2) заменяют следующим: (S, ·) – моноид и тогда говорят о кольце с единицей. Определение. Если xy = yx для всех x, y ∈ S, то кольцо S называется коммутативным.
Классические кольца Z - кольцо целых чисел. Кольцо Z является коммутативным кольцом с единицей. По операции сложения Z - бесконечная циклическая группа, каждая подгруппа которой состоит из всех чисел, кратных некоторому числу. Важнейшие теоретико-числовые функции - это наибольший общий делитель (x, y) и наименьшее общее кратное [x, y]. Лемма 8.
(x, y)[x, y] = xy.
Доказательство. Без доказательства. Для нахождения НОД чисел x и y Эвклид придумал алгоритм, который носит его имя - алгоритм Эвклида. Этот алгоритм основан на возможности деления с остатком любых двух целых чисел m и n: m = nq + r, r < n и формулы из следующей леммы. Лемма 9.
(m, n) = (n, r)
Доказательство. Без доказательства. 26
Прямым следствием алгоритма Эвклида является следующее утверждение, полезное во многих ситуациях. Теорема 8. Если (a, b) = d, то существуют числа x, y ∈ Z такие, что ax + by = d. Доказательство. Без доказательства. Следующее утверждение характеризует мультипликативную структуру кольца Z. Теорема 9. Каждое целое число может быть единственным образом представлено в виде произведения степени простых чисел. Доказательство. Существование такого разложения очевидно. Для доказательства единственности достаточно убедиться в правильности следующего утверждения: если произведение двух целых чисел делится на простое число p и a не делится на p, то b делится на p. Действительно, по условию (a, p) = 1. В силу предыдущей леммы найдутся x, y ∈ Z такие, что ax + py = 1. Отсюда abx + bpy = b и, таким образом, b делится на p. Теперь единственность разложения легко доказывается от противного. Понятие делимости может быть выражено в терминах "сравнимости по mod p". Определение. Два числа a, b ∈ Z называются сравнимыми по модулю n, если их разность делится на n: a ≡ b (mod n). В других терминах это определение сводится к рассмотрению отображения: Z −→ Zm = {0, 1, ..., m − 1} или гомоморфизма аддитивной группы кольца Z в группу классов вычетов по mod m. Отношение "сравнимости по mod"обладает многими интересными и довольно важными свойствами, которые мы здесь не будем перечислять в силу того, что они могут быть легко найдены и доказаны по мере необходимости. Мы приведем несколько нетривиальных теорем о "сравнимости", которые находят широкое применение во многих вопросах, связанных с защитой информации. Теорема 10. (Эйлера) aϕ(m) ≡ 1 (mod m), если (a, m) = 1 и ϕ(m) - функция Эйлера число натуральных чисел меньших m и взаимно-простых с m. Доказательство. Если Nm = {r1 , r2 , ..., rϕ(m) } - натуральные числа меньшие m и взаимнопростые с m и (Nm , ·) = (r1 , r2 , ..., rϕ(m) , ·) - группа с операцией умножения по mod m, рассмотренная нами ранее, то r|Nm | = 1, где r ∈ Nm . Т.к. |Nm | = ϕ(m) и для ∀a : (a, m) = 1 существует r ∈ Nm такое, что a ≡ r (mod m), то теорема доказана. Следствием теоремы Эйлера является теорема Ферма. Теорема 11. (Ферма) Если p - простое число, то ap ≡ a (mod p) ∀a ∈ Z. Доказательство. Без доказательства. 27
Теорема 12. (Вильсона) Если p - простое число, то (p − 1)! = −1 (mod p). Доказательство. Рассмотрим группу Nm = {r1 , r2 , ..., rϕ(m) }. Найдем произведение всех элементов Nm : A = r1 r2 ...rϕ(m) . (12) Объединив в произведении (12) каждый элемент с обратным с ним получим произведение: Y A= (ri ri−1 ) · (m − 1) = m − 1,
т.к. только два элемента из Nm совпадают со своим обрантым: 1 и (m − 1). Доказательство теоремы легко получается при m = p.
Поскольку мультипликативным базисом группы Z является множество P - простых чисел, то исследований, связанных с множеством P огромное число. Эти исследования концентрируются в значительной мере вокруг следующих вопросов. 1) Сколько существует простых чисел, не превосходящих заданного числа n? Это число обычно обозначают через π(n) и функция π(n) является одной из основных, изучаемых в теории чисел. 2) Как "распознать"простое число? Другими словами, как по стандартному представлению заданного числа n установить: является n простым числом или нет? Следует отметить, что эта проблема занимает одно из центральных мест в теории сложности вычислений, являясь одним из частных случаев проблемы факторизации. С другой стороны эта проблема возникает в "конструктивной"комбинаторике, где требуется "построить"или доказать существование простого числа, находящегося в заданных пределах. Примером здесь может служить следующая теорема Чебышева: между n и 2n всегда существует хотя бы одно простое число.
Теоретико-числовые функции 1) τ (n) - число делителей n: если n = pα1 1 pα2 2 ...pαk k , то τ (n) = (α1 + 1)(α2 + 1)...(αk + 1). 2) σ(n) - сумма делителей n: σ(n) =
pα1 1 +1 − 1 pα2 2 +1 − 1 pαk k +1 − 1 · ... . p1 − 1 p2 − 1 pk − 1
3) ϕ(n) - число чисел меньших n и взаимно-простых с n: Y 1 . 1− ϕ(n) = n p p|n
4) π(n) - число простых чисел не больших n. 5) (a, b) - наибольший общий делитель чисел a и b. 6) [a, b] - наименьшее общее кратное чисел a и b. 28
Теорема 13. (Чебышева) Для функции π(x) справедливы следующие оценки: x x < π(x) < c2 · . ln(x) ln(x)
c1 ·
Доказательство. Существенную информацию о функции π(x) можно получить рассматривая биномиальный коэффициент Cn2n . Т.к. Cn2n =
(2n)! , (n!)2
то все простые числа из интервала [n, 2n] входят в разложение числа Cn2n на простые множители ровно в первой степени. Отсюда следует неравенство Y 22n > Cn2n > p > nπ(2n)−π(n) n
и, таким образом π(2n) − π(n) <
2n . ln(n)
Если неравенство (13) проинтегрировать, то получим n n n π k − π k+1 < k n 2 2 2 ln 2k+1
(13)
(14)
Сложив все неравенства вида (14), получим n 2n n π(2n) − π k+1 < + + ... 2 ln(n) ln(n/2) Для подходящего λ < 1/2 правую часть можно оценить (при k < c ln(n)) следующим образом n 2n 2λn 22 λ2 n 2n 2λn n 2n + + ... < + + < + (1 + (2λ) + . . .) = c . ln(n) ln(n/2) ln(n) ln(n) ln(n) ln(n) ln(n) ln(n) Теперь при k ≈ c1 ln(n) получаем при подходящей константе, что π(n) < c
n . ln(n)
Разложим теперь n! в произведение степеней простых чисел n! = 2α2 · 3α3 . . . Найдем αp . По определению αp =
∞ X n s=1
ps
−
n ps+1
X ∞ ∞ X n n s s − s s+1 . s= p p s=1 s=1
Преобразуем вторую сумму, сделав замену s + 1 = r X X X X X X ∞ ∞ ∞ ∞ ∞ ∞ ∞ X n n n n n n n n r r − r r r r − = = . − (r − 1) r = p p pr p p pr p pr r=2 r=2 r=1 r=1 r=1 r=2 r=2 29
Отсюда окончательно получаем αp =
∞ X n ps
s=1
Далее αp [nk ]
= αp
В силу неравенства
.
X ∞ n k n−k n! = − s − . k!(n − k)! ps p ps s=1
(15)
[x + y] − 1 < [x] + [y] ≤ [x + y].
Выражение в фигурных скобках в (15) равно нулю или еденице. Т.к. n ≥ 1, ps то число слагаемых в сумме не превосходит logp (n). Отсюда αp ≤ logp (n) или pαp ≤ n.
Отсюда получаем
Y
Ckn =
p≤n
Суммируя обе части по k, получим
p αp ≤
Y
n = nπ(n) .
p≤n
2n ≤ (n + 1)nπ(n) . Логарифмируя получаем или
n ≤ π(n) ln(n) + ln(n + 1).
n . ln(n) Таким образом, мы получили обе оценки и теорема доказана. π(n) > c1
Замечание. Для функции π(x) известны гораздо более точные границы, чем те, о которых говорится в теореме П.Л. Чебышева. Ниже приводятся без доказательства несколько утверждений, касающихся π(x). Теорема 14. lim
x→∞
π(x) x ln x
=1
или π(x) ∼
x . ln x
Доказательство. Без доказательства. Теорема 15. π(x) =
Z
2
x
dt +O ln t
где a - любая положительная константа. 30
x (ln x)a
,
Доказательство. Без доказательства. Теорема 16. Пусть pn - n-ое простое число. Тогда pn ∼ n ln n. Доказательство. Без доказательства. В качестве второй теоретико-числовой функции мы рассмотрим функцию Эйлера ϕ(n) - мощность группы Mn или число чисел меньших n и взаимно-простых с n. Лемма 10. ϕ(n) = n
Y p|n
1 1− p
.
Доказательство. Пусть n = pα1 1 pα2 2 . . . pαk k - каноническое разложение n и ξpN индикаторная функция делимости на p, т.е. 1, если p |N ; N ξp = 0, если p -N . Тогда ϕ(n) =
n X
N =1
1 − ξpN1
1 − ξpN2 . . . 1 − ξpNk .
Чтобы "правильно" раскрыть скобки в этой формуле введем двоичные переменные (δ1 , δ2 , . . . , δk ), где 1, если в i-ой скобке берется в качестве сомножителя (−1)ξpNi ; δi = 0, если в i-ой скобке берется в качестве сомножителя 1. Тогда ϕ(n) =
n X
X
N =1 {δ1 ,δ2 ,...,δk }
=
X
(−1)δ1 ξpNδ1 (−1)δ2 ξpNδ2 . . . (−1)δk ξpNδk = 2
1
(−1)δ1 +δ2 +...+δk
n X
N =1
{δ1 ,δ2 ,...,δk }
k
ξpNδ1 ξpNδ2 . . . ξpNδk . 1
2
k
Внутренняя сумма равна числу чисел N из интервала [1, n] делящихся на pδ11 pδ22 . . . pδkk . Ясно, что это число есть " # n n = δ1 δ2 . δk δ1 δ2 p1 p2 . . . pk p1 p2 . . . pδkk Отсюда получаем 1 1 k X Y 1 X 1 δ2 1 δk 1 ϕ(n) = n (−1) δ1 (−1) δ1 . . . (−1) δ1 = n 1− . pi p1 δ2 =0 p2 pk i=1 δ1 =0 δ =0 1 X
δ1
k
Следствие. Если (m, n) = 1, то ϕ(mn) = ϕ(m)ϕ(n). Следствие. 1 α α . ϕ(p ) = p 1 − p 31
Следствие.
X
ϕ(d) = n.
d|n
Следствие.
X d|n
M (d)
n = ϕ(n). d
Дискретный логарифм Согласно теореме Эйлера, если (a, m) = 1, то aϕ(m) ≡ 1 (mod m). Однако для каждого a, взаимно-простого с m, существует такое минимальное число t, что at ≡ 1 (mod m). Это число называется дискретным логарифмом числа a по mod m или Logm a. Более распространенным названием является название индекса и обозначается indm a. Примеры. 1) Пусть m = 8, a = 3. Тогда ϕ(m) = 4 и 34 ≡ 1 (mod 8). Однако 32 ≡ 1 (mod 8), и потому Log8 3 = 2. 2) Если m = 5, a = 2, то Log5 2 = 4 = ϕ(5). Если же a = 4, то Log5 4 = 2. Для нахождения Logm a достаточно вычислить следующие степени a, a2 , . . . , aϕ(m) . Однако, учитывая, что длина записи числа a имеет длину порядка log a, сложность такого вычисления при ϕ(m) > a имеет порядок 2log a , т.е. имеем экспоненциальный объем вычислений. Замечание. Дискретный логарифм Logm a совпадает с порядком ord(a) элемента a в группе Sm = {(b, m) = 1, b < m}.
Ряды Дирихле Следующий пример классического кольца - это кольцо L рядов Дирихле. Рассмотрим множество рядов вида ∞ X an n=1
ns
с двумя операциями: 1) Сложение
∞ X an n=1
ns
+
∞ ∞ X b n X an + b n = . s s n n n=1 n=1
Здесь an - произвольные комплексные числа и вопрос о сходимости мы обычно обсуждать не будем, рассматривая ряды Дирихле как формальные ряды. 2) Умножение
∞ ∞ ∞ X an X b n X c n = , ns n=1 ns ns n=1 n=1
32
где X cn = ad bn/d .
(16)
d|n
Таким образом cn - "свертка"последовательности {an } и {bn }. В частности c 1 = a1 + b 1 , c 2 = a1 b 2 + a2 b 1 , c 3 = a1 b 3 + a3 b 1 , c 4 = a1 b 4 + a2 b 2 + a4 b 1 .
(17)
Утверждение 12. Алгебраическая система L с двумя операциями сложения и умножения является коммутативным кольцом с единицей. Доказательство. Единицей кольца L является ряд ∞ X an n=1
ns
с a1 = 1, ak = 0 при k = 2, 3, . . ., т.е. ряд имеющий вид 1. Уравнения (17) показывают, что, если a1 6= 0, то ряд ∞ X an n=1
ns
имеет обратный, коэффициенты которого однозначно определяются из уранений (17). Среди рядов Дирихле и вообще в анализе важное место занимает следующий специальный ряд ∞ X 1 ζ(s) = , (18) s n n=1
который называется дзета-функцией Римана. В силу сделанного выше замечания, в кольце L этот ряд имеет обратный, который мы обозначим следующим образом ∞ X µ(n) −1 , (19) ζ (s) = ns n=1
где функция µ(n) называется функцией Мебиуса.
Теорема 17. (Тождество Эйлера) Пусть s = σ + it и σ > 1. Тогда Y −1 1 − p−s , ζ(s) = p
где в правой части равенства произведение берется по всем простым числам. Доказательство. В силу основной теоремы арифметики n = 2α1 3α2 5α3 . . .. Поэтому ∞ X 1 = ns n=1
X
{α1 α2 ...}
∞ ∞ X 1 X 1 1 = ... (2α1 3α2 5α3 . . .)s α =1 (2s )α1 α =1 (3s )α2 1
33
2
Условие σ > 1 гарантирует сходимость всех возникающих здесь рядов и произведений, поэтому ∞ X Y 1 1 1 −s −1 = 1 − p . · . . . = 1 1 s n 1 − 1 − s s 2 3 n=1 p Утверждение 13. Для функции Мебиуса справедливо представление если n = 1; 1, s (−1) , если n = pi1 pi2 . . . pis ; µ(n) = 0, если n делится на квадрат какого-либо числа.
(20)
Доказательство. В силу тождества Эйлера ∞ X Y µ(n) 1 1 1 −s −1 1−p = 1− s 1− s 1 − s ... = . ζ (s) = s 2 3 5 n n=1 p
Производя перемножение скобок в левой части равенства и приравнивая коэффициенты при n1s слева и справа получаем выражение (20). В качестве одного из примеров применения рассмотренных выше понятий выведем формулу обращения Мебиуса. Теорема 18. Если F (n) =
X
f (d),
d|n
то f (n) =
X
µ(d)F (n|d ) ,
d|n
где µ(n) - функция Мебиуса. Доказательство. Пусть ξnd Тогда
∞ X F (n) n=1
ns
=
1, если d |n ; 0, если d -n .
∞ ∞ ∞ ∞ ∞ X X X X 1 X 1 X d ξnd = = f (d) = ξ f (d) = f (d) n ns ns d=1 ns n=1 n=1 n=1 d=1 d|n
∞ ∞ ∞ X X f (d) X 1 f (d) 1 = = ζ(s) . = f (d) s s s (md) d m=1 m ds m=1 d=1 d=1 d=1 ∞ X
∞ X
Отсюда следует соотношение
ζ
−1
(s)
∞ X F (n) n=1
ns
=
∞ X f (n) n=1
ns
.
Используя правило свертки и предыдущее замечание получаем X µ(d)F (n|d ). f (n) = d|n
34
В качестве одного из применений формулы обращения мы еще раз получим выражение для функции Эйлера ϕ(n). Итак, пусть d|n и Ad - множество чисел из In = {1, 2, . . . , n}, имеющих с n наибольший общий делитель d, т.е. a ∈ Ad если и только если (n, a) = d. Отметим следующие основные свойства множеств Ad : S 1) d|n Ad = In ; T 2) Ad1 Ad2 = ∅ при d1 6= d2 ; 3) |Ad| = ϕ(n|d ).
Свойство 1) очевидно, т.к. любое из чисел In имеет с n некоторый наибольший общий делитель, лежащий в In . Свойство 2) следует из определения Ad . Если a ∈ Ad , то ( nd , ad ) = 1. Поэтому, если все числа, входящие в Ad , разделить на d, получим все числа меньшие nd и взаимно-простые с nd , а таких чисел по определению функции Эйлера ϕ( nd ). Таким образом свойство 3) также доказано. Из свойств 1), 2) и 3) следует, что X n X ϕ ϕ(d) = n. F (n) = = d d|n
d|n
Применяя теперь формулу обращения Мебиуса, получаем ϕ(n) =
X
µ(d)F (n/d) =
X
µ(d)
d|n
d|n
X µ(d) n =n . d d d|n
Если n = pα1 1 pα2 2 . . . pαk k , то µ(d) 6= 0, если только d = pi1 pi2 . . . pis . Следовательно ϕ(n) = n
k X s=1
s
(−1)
X
{i1
k Y 1 1 . =n 1− pi1 pi2 . . . pik pi i=1
Формулу обращения Мебиуса обычно связывают с дискретным интегрированием: по первообразной находится значение подынтегральной функциии.
Общая теория колец Определение. Подмножество L кольца K называется подкольцом, если 1) L - подгруппа аддитивной группы кольца K; 2) L замкнуто относительно умножения. 1) Подкольцом кольца Z целых чисел является кольцо четных чисел. 2) Если (R2 , x) - кольцо векторов с обычной операцией сложения и покомпонентным или адамаровским умножением, то подмножество L = {(x, 0)} является подкольцом (R2 , x). Определение. Если в кольце K ab = 0 и a 6= 0, b 6= 0, то оба элемента a и b называются делителями нуля. Примеры. 35
1) В кольце (R2 , x) элементы a = (1, 0) и b = (0, 1) являются делителями нуля, т.к. ab = 0. 2) В кольце Z6 классов вычетов по т.к. S2 S3 = 0.
mod 6 классы S2 и S3 являются делителями нуля,
Определение. Кольцо без делителя нуля называется областью целостности или целостностным кольцом. Утверждение 14. Кольцо K является целостностным тогда и только тогда, когда в нем действует закон сокращения: если ab = ac и a 6= 0, то b = c. Доказательство. Без доказательства. Утверждение 15. Множество всех обратимых элементов произвольного кольца K образуют группу по умножению. Доказательство. Без доказательства. √ √ √ Пример. Рассмотрим кольцо K = Z( 2) = {a + b 2 | a, b ∈ Z}. Если элемент u = a + b 2 обратим, то √ 1 b a √ = 2 u−1 = 2. − 2 2 2 a − 2b a − 2b a+b 2 Если (a, b) = d, то a = a1 d, b = b1 d и (a1 , b1 ) = 1. Тогда a2
a1 d b1 d a a1 b b1 = 2 2 = 2 2 = ; 2 = . 2 2 2 2 2 2 2 − 2b d (a1 − 2b1 ) d(a1 − 2b1 ) a − 2b d (a1 − 2b1 ) d(a1 − 2b21 )
Так как
a b , 2 ∈ Z, 2 − 2b a − 2b2 и d|b1 . Отсюда следует, что d = 1. a2
то d|a1
a ∈ Z ⇒ a2 − 2b2 = 1. a2 − 2b2 √ Отсюда следует, что все обратимые элементы кольца Z( 2) - это все решения уравнения Пелля. Определение. Кольцо K называется полем, если все его ненулевые элементы образуют группу по умножению. Пусть P - поле и e - мультипликативная единица P. Тогда эта единица порождает аддитивную группу P(1): e, e + e = 2e, e + e + e = 3e, . . . , |e + e +{z. . . + e} = ne; (−n)e = n(−e) n
всех элементов, кратных единице. Таким образом P(1) - это аддитивная группа, порожденная нулем и e, т.е. P = G(0, e). Определение. Характеристикой поля P называется порядок группы P(1). Следствие. Принято говорить, что характеристика поля P равна нулю, если |P(1)| = ∞. Примеры. 1) Если C - поле комплексных чисел, что характеристика C равна нулю. 36
2) Пусть Fp - поле классов вычетов по простому модулю p. Тогда характеристика Fp равна p, т.к. a {z. . . + a} = pa = 0. |+a+ p
Каждое поле P является областью целостности и, кроме того, имеет место следующая альтернатива. Теорема 19. Характеристика n любого поля P является либо простым числом, либо равна нулю. Доказательство. Действительно, пусть χ(p) = n 6= 0. Тогда ne = 0. Если n = uv, то (uv)e = (ue)(ve) = 0. Т.к. P не содержит делителей нуля, то ue = 0, где u < n. Получили противоречие. Теорема доказана. Ключевым понятием в теории полей является понятие идеала. Определение. Подкольцо I кольца K называется идеалом (правосторонним идеалом), если выполнено следующее условие: если a ∈ I, λ ∈ K, то aλ ∈ I. Понятие идеала в определенной степени соответствует понятию нормального делителя. Следующая конструкция является достаточно общей в теории идеалов. Определение. Пусть S = {a1 , a2 , . . . , an } ⊆ K. Пусть I(S) подмножество элементов кольца K, имеющих следующую форму ( n ) X I(S) = ri ai , ri ∈ K . i=1
I(S) называется идеалом, порожденным множеством S. При этом S называется базисом идеала I(S). Если n = 1, то идеал I(S) называется главным. Примеры. 1) Любое подкольцо кольца Z целых чисел является главным идеалом. Действительно, любое подкольцо K ∈ Z является одновременно аддитивной подгруппой Z и, как было отмечено выше, имеет следующее представление: K = ta, где a - фиксированное натуральное число и t - произвольное целое число. Отсюда и следует сформулированное выше утверждение. 2) Пусть C - кольцо функций, заданных на [0, 1] и принимающих вещественные значения, с обычными операциями сложения и умножения: (f + g)(x) = f (x) + g(x); (f g)(x) = f (x)g(x). 1) Если x0 ∈ [0, 1] и I(x0 ) - множество функций из C, обращающихся в ноль в точке x0 , то I(x0 ) - идеал в кольце C. 2) Если K[x] - кольцо полиномов над полем вещественных чисел и x0 ∈ [0, 1], то из того, что f (x0 ) = 0, следует, что f (x) = (x − x0 )v(x), где v ∈ K[x]. Отсюда следует, что идеал I(x0 ) - главный. Отношение принадлежности к идеалу I принято выражать в терминах сравнимости по модулю это идеала: a ∈ I ⇐⇒ a ≡ 0 mod I, a≡b
mod I ⇐⇒ a − b ≡ 0 37
mod I.
Гомоморфизм колец Определение. Кольцо K называется гомоморфным кольцу K0 , если существует ϕ соответствие K → K0 , сохраняющее операции кольца: ϕ(a + b) = ϕ(a) + ϕ(b), ϕ(ab) = ϕ(a)ϕ(b). Определение. Взаимно-однозначное соответствие, сохраняющее операции, называется изоморфизмом. Примеры. 1) Пусть Z - кольцо целых чисел и K3 - кольцо классов вычетов по mod 3. Рассмотрим ϕ отображение Z → K3 следующего вида ϕ(x) = (x)mod 3 . Ясно, что ϕ(x + y) = (x + y)mod 3 = (x)mod 3 + (y)mod 3 = ϕ(x) + ϕ(y), ϕ(xy) = (xy)mod 3 = (x)mod 3 · (y)mod 3 = ϕ(x)ϕ(y),
т.е. Z гомоморфно K3 .
2) Рассмотрим два кольца: n o √ √ K( 2) = a + b 2 | a, b ∈ Z ,
n o √ √ K( 3) = a + b 3 | a, b ∈ Z . √ √ Являются ли кольца K( 2) и K( 3) изоморфными? Если ϕ - искомый изоморфизм, то ϕ(1) = ϕ2 (1) и ϕ(1) 6= 0, т.е. ϕ(1) = 1. Отсюда следует, что ϕ(n) = n, ϕ(−n) = −n и ϕ(0) = 0. Пусть √ √ ϕ( 2) = a + b 3 (21) Отсюда следует, что
h √ i2 √ √ ϕ(2) = ϕ( 2 · 2) = ϕ( 2) = 2,
√ √ т.е. ϕ( 2) = ± 2. Из (21) следует равенство √ √ a+b 3= 2 или
√ 2 a − 2 = 3b2 , √ что противоречит иррациональности чиcла 2.
Определение. Пусть I – идеал кольца K, тогда множество {a + I} называется смежным классом по идеалу I. Рассмотрим следующие операции на множестве смежных классов: {a + I} + {b + I} = {(a + b) + I}, {a + I} × {b + I} = {ab + I}. 38
Утверждение 16. Множество {a + I} всех смежных классов по произвольному идеалу I кольца K образует кольцо, которое называется фактор-кольцом K|I кольца K по идеалу I. Доказательство. Доказательство этого утверждения фактически копирует обоснование в случае группы и ее нормального делителя. Пример. Пусть Z - кольцо целых чисел и I = {3k} – идеал всех чисел, кратных трем. Тогда Z|I – кольцо классов вычетов по mod 3. Теорема 20. Кольцо K гомоморфно своему фактор-кольцу по любому идеалу I. Каждый гомоморфный образ кольца K изоморфен некоторому его фактор-кольцу. Доказательство. Без доказательства. Определение. Идеал I кольца K называется максимальным, если из I ⊆ V ⊆ K, где V – идеал, следует, что I = V или V = K. Теорема 21. Идеал I кольца K является максимальным тогда и только тогда, когда фактор-кольцо K|I является полем. Доказательство. 1) Пусть I – максимальный идеал в кольце K и K|I – фактор-кольцо по этому идеалу. Покажем, что K|I – поле. В силу предыдущей теоремы кольцо K гомоморфно кольцу K|I : ϕ K → K|I . Надо показать, что уравнение a·x=b
/ I. Рассмотрим в фактор-кольце K|I разрешимо ∀a 6= 0 (везде ϕ(a) = a). Т.к. a 6= 0, то a ∈ идеал I 0 = {a, I}. В силу максимальности идеала I имеем I 0 = K, т.е. b = av + r, где b - произвольный элемент K и r ∈ I. Отсюда следует, что ϕ(b) = ϕ(a)ϕ(v) или b = a · v. 2) Пусть теперь K|I – поле. Рассмотрим уравнение: a·x=b в поле K|I . Этому уравненпию соответствует условие в прообразах: ax0 − b ∈ I. Т.к. a ∈ / I, то идеал I 0 = (a, I) не совпадает с I. Если a1 = ax − b – элемент идеала I 0 , то b = ax − a1 ∈ I 0 . Т.к. b – произвольный элемент кольца K, то I 0 = K. 39
Пример. В кольце Z любой идеал, порожденный простым числом, является максимальным. Действительно, если p – простое число, то идеал I = {pk} = (p) является максимальным, т.к. если I ⊆ I 0 , где I 0 – тоже идеал, то, в силу того, что все идеалы кольца Z являются главными, мы имеем: I 0 = (q). Но тогда q|p , т.е. p = q, т.к. иначе p∈ / I 0. С другой стороны идеал I = {6} не является максимальным, т.к. (6) ⊆ (2) ⊆ Z.
Теория делимости в кольцах Для произвольных колец вводится понятие делимости и строится теория, достаточно далеко продвинутая для евклидовых колец. Определение. Пусть K – произвольное кольцо и ab = c, где a, b, c ∈ K. Тогда элементы a и b называются делителями элемента c. Отношение делимости является отношением частичного порядка на K и Ka – это множество делителей элемента a, а Ka – это множество элементов, делящихся на a. В частости, если ε – обратимый элемент кольца K, то Kε = K, т.е. x = ε(ε−1 x) и, значит, x делится на ε. С другой стороны любой обратимый элемент кольца K является делителем любого элемента, т.е. K−1 ⊆ Ka ,
где K−1 – группа обратимых элементов кольца K. Определение. Целостное кольцо K называется эвклидовым, если выполнены следующие два условия: 1) На множестве ненулевых элементов кольца K определена функция k · k – норма – целое положительное число, удовлетворяющее условию: kabk ≥ kak , где a, b 6= 0. 2) Существует алгоритм деления с остатком: если a, b ∈ K и a 6= 0, то b = aq + r, где либо r = 0, либо krk < kak. Примеры. Примерами эвклидовых колец являются: 1) Кольцо Z с kak = |a|; 2) Кольцо полиномов K[x] с kf k = degf . Теорема 22. Произвольное эвклидово кольцо K является кольцом главных идеалов. Доказательство. Обоснование этой теоремы в значительной мере копирует доказательство для кольца Z. Пусть I – произвольный идеал кольца K. Тогда в I существует элемент a с минимальной нормой: kak = m. Если b ∈ I, то по алгоритму деления с остатком имеем: b = aq + r. Т.к. r ∈ I, то r = 0, т.к. в противном случае krk < kak = m. Отсюда следует, что I = (a). 40
Следующие определения связаны с понятием простого элемента в K. Определение. Разложение a = uv элемента a называется тривиальным в кольце K, если u или v – обратимые элементы кольца K. Определение. Элемент p ∈ K называется простым, если допускает только тривиальные разложения. Замечание. В кольце полиномов K[x] над произвольным кольцом K, простые элемнты – это неприводимые полиномы степени не меньше 1. Для элементов K в этом случае понятие простого элемента не определено. Определение. Элементы a, b ∈ K называются ассоциативными, если b = aε, где ε ∈ −1 K . Утверждение 17. Если a и b ассоциативны, то (a) = (b). Доказательство. Если x ∈ (a), то x = az = (bε)z = b(εz) ⊆ (b), т.е. (a) ∈ (b). Аналогично (b) ⊆ (a). Лемма 11. Если a = bc – нетривиальное разложение элемента a, то kbk < kak. Доказательство. Если a = bc – нетривиальное разложение элемента a, то b не делится на a, т.к. в противном случае b = aq и тогда a = aqc и, значит, qc = e, т.е. c – обратный элемент кольца K и разложение a = bc – тривиально. Разделим теперь b на a: b = aq + r. Производя элементарные выкладки, получаем: r = b − aq = b − bcq = b(e − cq). Т.к. r 6= 0, то
krk = kb(e − cq)k ≥ kbk.
Отсюда следует, что kbk ≤ krk ≤ kak. Замечание. Если a = bc – нетривиальное разложение элемента a, то b, c – собственные делители a. Теорема 23. В эвклидовом кольце K любой элемент является произведением простых элементов. Доказательство. В силу предыдущей леммы каждый из элементов с минимальной нормой – неразложим. Далее, каждый из элементов a ∈ K либо простой, либо имеет собственный делитель. В этом случае a = bc, kbk < kak и kck < kak. Далее рассуждение продолжается по индукции. Простые элементы кольца K характеризуются следующим утверждением. Теорема 24. В эвклидовом кольце K элемент p является простым тогда и только тогда, когда идеал I(p) – максимальный. 41
Доказательство. 1) Пусть p – простой элемент и I(p) ⊆ I(p0 ). Тогда p = p0 u. В силу простоты p один из элементов p0 или u – обратим. Следовательно, или I(p0 ) = I(p), или I(p0 ) = K. 2) Пусть I – максимальный идеал в K. Тогда I = (p). Если p = uv – нетривиальное разложение p, то (p) ⊆ (v), что противоречит максимальности идеала I. Теорема 25. Если в кольце главных идеалов K произведение двух элементов ab делится на простой элемент p ∈ K, то хотя бы один из элементов a или b делится на p. Доказательство. Пусть ab = pq. Рассмотрим идеал (p) и гомоморфизм ϕ: ϕ
K → K|(p) . Т.к. p – простой элемент, то (p) – максимальный идеал и K|(p) – поле. Далее ϕ(ab) = ϕ(p)ϕ(q) = 0. Из соотношения ϕ(a)ϕ(b) = 0, в силу того, что K|(p) – поле следует, что ϕ(a) ∪ ϕ(b) = 0, т.е. a ∈ (p) или b ∈ (p). Теорема 26. В кольце главных идеалов K каждый элемент может быть разложен в произведение простых элементов. Это разложение однозначно с точностью до обратимых элементов. Доказательство. Без доказательства. Следствие. В эвклидовом кольце справедлива теорема об однозначном разложении на простые множители. Пример. Пусть Z(i) – кольцо комплексных целых чисел с обычными операциями умножения и сложения: Z(i) = {a + bi | a, b ∈ Z}. В качестве нормы элемента z = a+bi ∈ Z(i) выберем квадрат модуля комплексного числа, т.е. kzk = z · z = a2 + b2 . Ясно, что при этом kz1 z2 k = kz1 kkz2 k.
Единицей кольца Z(i) является "обычная"единица и, если Z ∈ Z−1 (i), то Z · Z−1 = 1 и, значит, a2 + b2 = 1. Отсюда следует, что Таким образом Z−1 (i) =< i >.
Z−1 (i) = {i, −1, −i, 1}.
42
Лемма 12. Кольцо Z(i) – эвклидово. Доказательство. Пусть z – произвольное комплексное число. Представим его в следующей форме: z = [z] + z1 , где [z] ∈ Z(i) и |z1 | < 1. Действительно, если z = x + iy, что существует целые числа x0 и y0 такие, что 1 1 |x − x0 | ≤ , |y − y0 | ≤ . 2 2 Положим x = x0 + δ, y = y0 + ν, z1 = δ + iν. Тогда |z1 | = Таким образом
p (x − x0 )2 + (y − y0 )2 < 1.
[z] = x0 + iy0 , z1 = δ + iν. Пусть теперь u, v ∈ Z(i). Положим λ =
u v
и используем предыдущее представление: u hui + z1 = v v
или
u=v Далее
hui v
+ vz1 .
(22)
kvz1 k = kvk · kz1 k = kvk · |z1 |2 < kvk. Таким образом представление (22) "реализует"алгоритм Эвклида. Пример. Пусть u = 2 + 3i, v = 1 − 2i. Тогда
λ=
Далее
2 + 3i . 1 − 2i
(2 + 3i)(1 + 2i) −4 + 7i 4 7 2 + 3i = = = − + i = (−1 + i) + 1 − 2i 5 5 5 5
1 2 + i . 5 5
Отсюда 2 + 3i = (1 − 2i)(−1 + i) + (1 − 2i)
1 2 + i 5 5
= (1 − 2i)(−1 + i) +
1+4 = (1 − 2i)(−1 + i) + 1. 5
Арифметика кольца Z(i) Т.к. кольцо Z(i) – эвклидово, то изучение арифметики Z(i) в значительной мере состоит в изучении простых элементов Z(i). Выведем сначала несколько простых утверждений о простых элементах кольца Z(i). Утверждение 18. Если z – простой элемент, то z – простой элемент.
43
Доказательство. Действительно, если z = uv – нетривиальное разложение, то z = u · v. В случае u ∈ Z−1 (i) имеем: u · r = e или u · r = e, т.е. u ∈ Z−1 (i), что противоречит нетривиальности разложения z. Утверждение 19. Если a – простой элемент кольца Z(i), то либо kak – простое число, либо a = εv, где ε ∈ Z−1 (i) и v ∈ Z. Доказательство. Действительно, если kak = xy, то a · a = xy. Т.к. a, a – простые элемнты в Z(i), то a = εx в силу теоремы о разложении на простые множители (ясно, что при этом x – простое число в Z). Следующее утверждение представляет и самостоятельный интерес. Лемма 13. Если n = u2 + v 2 и (u, v) = 1, то любой делитель числа n представим в виде суммы двух квадратов. Доказательство. Рассмотрим следующий элемент кольца Z(i): z = u + iv. Разложим z в произведение простых множителей в кольце Z(i): z = u + iv = ε · t1 · t2 · . . . · tN ,
(23)
где ε ∈ Z−1 (i). Отметим, что никакой из элементов ti не ассоциирован с элементами из Z. Действительно, если tk = ε1 r, где ε1 ∈ Z−1 (i) и r ∈ Z, то z = ε · t1 · . . . · tk−1 · (ε, r) · tk+1 · . . . · tN = r(u1 + iv1 ) = u + iv. Отсюда следует, что r|u , r|v , т.е. r = 1. Поэтому tk ∈ Z−1 (i), сто противоречит "простоте"tk . Из (23) имеем: kzk = kt1 k · kt2 k · . . . · ktN k. (24) Т.к. tk z, k = 1, 2, ..., N , то ktk k – простое число в силу утверждения 17 и представление (24) – это разложение числа kzk ∈ Z в произведение простых элементов этого кольца. Если kzk = u2 + v 2 = dm, то из (24) получаем: d = kti1 k · kti2 k · . . . · ktis k = kti1 ti2 . . . tis k = kα + iβk = α2 + β 2 .
Теорема 27. квадратов.
Любое простое число вида 4n + 1 представимо в виде суммы двух
Доказательство. Пусть p – простое число. Рассмотрим группу Sp = {1, 2, ..., p − 1}. Далее p−1
p−1
(p − 1)! =
2 Y
i=1
(p − i)i =
2 Y
i=1
p−1
2
[ip − i ] = (−1) 44
p−1 2
2 Y
i=1
2
i =
2 p−1 ! . 2
В силу теоремы Вильсона (p − 1)! ≡ −1 (mod p). Отсюда следует, что 2 p−1 ! + 1 ≡ 0 (mod p). 2
(25)
Если p = 4n + 1, то из (25) следует, что [(2n)!]2 + 1 делится на p. Из предыдущей леммы получаем, что простое число p, являясь делителем (2n!)2 + 1, тоже представимо в виде суммы двух квадратов. Теорема 28. Простые элементы в Z(i) исчерпываются элементами следующего вида: 1) εp, где ε ∈ K−1 (i) и p ≡ 3 mod 4, где p – простое число; 2) ε(1 ± i), где ε ∈ K−1 (i); 3) ε(x ± yi), где x2 + y 2 = p – простое число в Z. Доказательство. 1) Если p = 4n + 3 – простое число в Z, то εp – неразложимый элемент кольца Z(i). Действительно, если εp = uv, то kpk = kuk · kvk = p2 . Т.к. u, v – собственные делители, то kuk = p и, значит, p = a2 + b 2 . Но, если a ≡ 1 (mod 2), то
p = a2 + b2 ≡ 1 (mod 4) (2k + 1)2 + (2r)2 ≡ 1 (mod 4) ,
что противоречит исходному предположению p ≡ 3 (mod 4).
2) Число ε(1 ± i), где ε ∈ K−1 (i), является простым в Z(i), что доказывается простой проверкой. В частности, число 2 не является простым в Z(i), т.к. 2 = −i(1 + i)2 = −i(1 + 2i − 1) = 2. Однако число (1 + i) – простое в Z(i). 3) Покажем теперь, что, если число p = 4n + 1 – простое в Z, то p – произведение двух неразложимых элементов в Z(i). Т.к. p = 4n + 1 – простое число в Z, то, в силу предыдущей теоремы, имеем p = x2 + y 2 = (x + iy)(x − iy), где x ± iy ∈ Z(i).
Покажем теперь, что элемент p представим в виде произведения двух неразложимых элементов из Z(i). Т.к. p разложим в Z(i), то p имеет простой множитель u: p = uv. Отсюда следует, что и kuk = p, т.е.
p2 = kuk · kvk p = u · u.
(26)
Т.к. u – простой элемент в Z(i), то, в силу утверждения 17, u – тоже простой элемент в Z(i) и (26) – каноническое представление элемента p. Отсюда следует, что элементы (x + iy) и (x − iy) – неразложимые в Z(i). 45
Примеры. Примерами эвклидовых колец являются: 1) n = 13. 13 = 4 ∗ 3 + 1;
13 =
(2 + 3i)(2 − 3i) . | {z } простые элементы
2) Пусть F2 [x1 , x2 , . . . , xn ] – кольцо полиномов Жегалкина над полем F2 = {0, 1}, т.е. ) ( n X X X X w w ci1 ,i2 ,...,ik xi1 xi2 . . . xik . , где cw x = cw x F2 [x1 , x2 , . . . , xn ] = w
w
k=0 {i1 ,i2 ,...,ik }
Определение. Полином f делится на полином g, если f = gu, где f, g, u ∈ K[x1 , x2 , . . . , xn ]. В силу того, что f 2 = f в кольце K[x1 , x2 , . . . , xn ], определение разложимости нужно немного изменить. Определение. Полином f называется разложимым, если f = uv, где u 6= f и v 6= f . Пусть Nf0 – множество нулей полинома f , т.е. Nf0 = {x : f (x1 , x2 , . . . , xn ) = 0}. Утверждение 20. Полином f делится на полином g тогда и только тогда, когда Ng0 ⊆ Nf0 . Доказательство. Доказательство этого утверждения следует из двух очевидных замечаний: 1) Если f = gu, то Nf0 = Ng0 ∪ Nu0 . 2) Если V ⊆ Bn и V = V1 ∪ V2 , то можно построить полиномы u и v такие, что Nu0 = V1 и Nv0 = V2 .
Пример. x1 = (1+x2 +x1 x2 )(x1 +x2 +x1 x2 ), т.к. Nx01 = {(00), (01)}. Из приведенного критерия следует, что "простыми"элементами кольца F2 [x1 , x2 , . . . , xn ] являются полиномы f с |Nf0 | = 1. Таких полиномов 2n : 1 + (α1 + x1 )(α2 + x2 ) . . . (αn + xn ). Этот полином обращается в ноль лишь при x1 = α1 + 1, x2 = α2 + 1, ..., xn = αn + 1. Пусть K – поле и K[x] – кольцо полиномов над полем K, где f (x) = a0 +a1 x+a2 x2 +. . .+ an xn и K[x] = {f } при ai ∈ K. Над полиномами определены обычные операции сложения и умножения, где n X (ai + bi )xi , (f + g)(x) = i=0
(f · g)(x) =
n X
i
ci x , где ck =
n X
ai bn−i .
i=0
k=0
1) Обратимые элементы кольца K[x] – это константы, т.е. элементы поля K. 2) Простые элементы кольца K[x] – это неприводимые в K[x] полиномы. 46
3) Норма в кольце K[x] – это степень полинома f , т.е. kf k = degf . При этом справедливо равенство: degf g = degf + degg. 4) Если наибольший общий делитель полиномов f и g равен d, то существуют такие полиномы u, v ∈ K[x], что f · u + g · v = d. Нахождение d производится с помощью алгоритма Эвклида. 5) K[x] – кольцо главных идеалов. 6) Если f ∈ K[x], то множество классов вычетов по mod f (x) есть кольцо K[x] |f , являющееся гомоморфным образом кольца K[x]. Если f – неприводим, то K[x] |f – поле. λ
7) Значением полинома f (x) в точке a ∈ K называется гомоморфизм K[x] → K: λa (f ) = a0 + a1 a + a2 a2 + . . . + an an . По определению: λa (f + g) = λa (f ) + λa (g), λa (f · g) = λa (f ) · λa (g).
Конечные поля Нашей целью является описание полей, состоящих из конечного числа элементов, т.е. конечных полей. Определение. Если F, H – поля, F ⊆ H и θ ∈ H, то F(θ) – это пересечение всех подполей поля H, содержащих F и θ. F(θ) называется простым расширением поля F, путем присоединения элемента θ. Определение. Если f (x) ∈ F[x] и f (θ) = 0, то F(θ) называется простым алгебраическим расширением поля F. При этом, если f (x) – многочлен минимальной степени из F(x), имеющий корнем θ, то f (x) называется порождающим многочленом для θ. Ясно, что f (x) неприводим в F[x], т.к. если f (x) = u(x)v(x), то u(θ) = 0 или v(θ) = 0, где min{degu, degv} < degf . Степень f (x) – это степень расширения F(θ). Пример. Пусть R – поле вещественых чисел и Q – поле рациональных чисел. Рассмотрим многочлен √ √ 2 f (x) = x − 2. √ Корни { 2, − √ 2} этого многочлена лежат √ в R и не лежат в Q. Рассмотрим множество Q( 2) = {a + b 2 | a, b ∈ Q}. Ясно, что Q( 2) – поле, т.к. √ √ a 1 a−b 2 b √ = 2 = 2 + 2 2 . 2 2 a − 2b a − 2b a − 2b2 a+b 2 √ Q( 2) – простое алгебраическое расширение степени 2. Теорема 29. F(θ) =
(
w=
n−1 X i=0
)
ai θ i | ai ∈ F ,
где n – степень расширения F(θ) и любой элемент w допускает единственное представление в этой форме. 47
Доказательство. Пусть S(θ) =
( n−1 X i=0
)
ai θ i | ai ∈ F .
Тогда S(θ) ⊆ F(θ). Покажем, что S(θ) – поле. Пусть n−1 X ϕ(θ) = bi θ i . i=0
Полином ϕ(x) ∈ F[x] и (f, ϕ) = 1, т.к. если (f, ϕ) = d, то d|f , что противоречит неприводимости порождающего полинома f (x). Пусть ϕ1 (θ), ϕ2 (θ) ∈ S(θ). Тогда ϕ1 (x)ϕ2 (x) = f (x)q(x) + r(x), degr(x) ≤ n − 1. Отсюда следует, что ϕ1 (θ)ϕ2 (θ) = r(θ) ∈ S(θ). Т.к. (ϕ, f ) = 1, то f ·u+ϕ·v =1
(27)
для u, v ∈ F[x]. При этом можно считать, что degv ≤ n − 1, т.к. в противном случае можно разделить v на f и перейти к новому представлению вида (27) с degv ≤ n − 1. Из (27) при x = θ получим, что ϕ(θ) · v(θ) = 1,
т.е. ϕ−1 (θ) = v(θ). Таким образом S(θ) – поле и, в силу минимальности F(θ), F(θ) ⊆ S(θ), т.е. F(θ) = S(θ). Далее, n−1 n−1 n−1 X X X i i если w = ai θ = bi θ , то (ai − bi )θi = 0 и ϕ1 (θ) = 0, i=0
i=0
i=0
где degϕ1 < degf . Получили противоречие. Следствие.
F(θ) ∼ = F[x] |f (x) .
Следующий тип расширений – это конечные расширения. Определение. Поле H называется конечным расширением поля F, если в H существует такие элементы θ1 , θ2 , . . . , θk , что любой элемент из H допускает единственное представление в форме k X h= αi θi , αi ∈ F. i=1
Система элементов {θ1 , θ2 , . . . , θk } называется базисом H относительно F и k называется степенью конечного расширения. Ясно, что H – это векторное пространство размерности k над полем F. Утверждение 21. Каждое простое алгебраическое расширение является конечным расширением и dimF(θ) = degF(θ).
Доказательство. Доказательство очевидно, т.к. набор элементов {1, θ, θ2 , . . . , θn−1 } – базис F(θ). 48
Отметим теперь, что, если p – простое число, то сущестует конечное поле из p элементов и это поле – поле классов вычетов по mod p – Fp . В частности таблица Кэли для F3 и F5 изображены ниже. F∗3 1 2
1 1 2
2 2 1
F∗5 1 2 3 4
1 1 2 3 4
2 2 4 1 3
3 3 1 4 2
4 4 3 2 1
Теорема 30. Любое конечное поле F является конечным расширением поля Fp и содержит pm элементов. Доказательство. Пусть F – конечное поле и e ∈ F. Тогда элементы e, e + e = 2e, e + e + e = 3e, . . . ∈ F. Следовательно, F имеет конечную характеристику и эта характеристика является простым числом p. Рассмотрим теперь множество F0 = {0, e, 2e, . . . , (p − 1)e}. Это множество является подполем F и, в силу соответствия Ke → K, подполе F0 изоморфно Fp . Таким образом Fp ⊆ F. Будем рассматривать теперь F как линейное пространство над полем Fp , т.е. найдем базис F = {θ1 , θ2 , . . . , θm }. Будем строить F, присоединяя линейно-независимые элементы. Если θ1 ∈ / Fp , то F1 = {α0 + α1 θ1 , где α0 , α1 ∈ F0 }; если θ2 ∈ / F1 , то F2 = {α0 +α1 θ1 +α2 θ2 , где α0 , α1 , α2 ∈ F0 } и т.д. Таким образом F = {α0 +α1 θ1 +α2 θ2 +. . .+αm θm } и |F| = pm . Пусть Fp – конечное поле и Fp [x] – кольцо полиномов над Fp . Пример. Пусть p = 2 и degf ≤ 2. Тогда g1 = 0, g2 = 1, g3 = x, g4 = 1 + x, g5 = x2 , g6 = 1 + x2 , g7 = x + x2 , g8 = 1 + x + x2 . Среди этих многочленов лишь один неприводимый степени 2 – это g8 (x) = 1 + x + x2 . Рассмотрим теперь фактор-кольцо F2 |1+x+x2 = {0, 1, x, x + 1}. В силу приведенных выше общих теорем это фактор-кольцо является полем со следующей таблицей Кэли по умножению 1 1 1 x x 1+x 1+x
x x 1+x 1
1+x 1+x 1 x
Теорема 31. Все конечные поля одного порядка изоморфны. Доказательство. Если |F| = pm , то в силу предыдущей теоремы, F является конечным расширением поля Fp . Если {1, θ, θ2 , . . . , θm−1 } – базис F как векторного пространства над полем Fp , то ) (m−1 X F= αi θi , где αi ∈ Fp . i=0
Элементы
x=
m−1 X
αi θi
i=0
с обычными операциями сложения и умножения по mod порождающего элемента θ полинома, и образуют исходное поле F. Если |F0 | = pm – произвольное другое поле и F0 имеет базис {1, θ0 , (θ0 )2 , . . . , (θ0 )m−1 }, то соответствие θ → θ0 индуцирует изоморфизм полей F0 и F. 49
Теорема 32.
F pm ∼ = Fp [x] |g(x) ,
где g(x) – произвольный неприводимый полином степени m из кольца Fp [x]. Доказательство. Если g(x) – неприводим и degg(x) = m, то кольцо классов вычетов Fp [x] |g(x) является полем и |Fp [x] |g(x) | = pm . Таким образом, для "конструирования"поля Fpm требуется лишь найти в кольце Fp [x] неприводимый полином степени m. Обозначим через In (p) число неприводимых полиномов степени n в кольце Fp [x]. Теорема 33. In (p) =
1X µ(d)pn|d . n d|n
Доказательство. Будем искать число неприводимых полиномов степени m и коэффициентом при степени равным единице (нормированных полиномов). Пусть Am – число нормированных полиномов степени m из Fp [x]. Выпишем производящую функцию для последовательности {Am }: f (z) =
∞ X
X
Am z m =
m=0
z degϕ .
(28)
ϕ∈Fp [x]
Т.к. ϕ(x) = xm + a1 xm−1 + a2 xm−2 + . . . + am−1 x + am , то Am = pm . В силу эквивалентности кольца Fp [x] имеем: ϕ(x) = v1α1 v2α2 . . ., где {v1 , v2 , . . .} – множество нормированных неприводимых полиномов из Fp [x]. Подставляя это представление для ϕ в формулу (28), получаем X X α1 α2 α1 α2 z deg(v1 ,v2 ,ldots) = z degv1 +degv2 +... = f (z) = {α1 ,α2 ,...}
{α1 ,α2 ,...}
=
X
z
α1 degv1
X
z
α2 degv2
... =
α2
α1
i=1
Таким образом окончательно получаем ∞ X
m
Am z =
m=0
∞ Y
∞ X
m=0
∞
Y 1 = 1 − z degvi k=1
m m
−1
p z = (1 − pz)
=
∞ Y
k=1
1 1 − zk
1 − zk
Ik (p)
−Ik (p)
.
.
Из формулы (29) логарифмированием и разложением логарифма в ряд получаем ∞ X
∞ X z km . ln(1 − pz) = − Ik (p) m m=1 k=1
Положим km = n. Тогда ∞ X
∞ ∞ X z km X Ik (p) = kIk (p) m m=1 k=1 k=1
n≡0 (mod k)
Введем, как обычно, индикаторную функцию 1, если k |n ; k ξn = 0, если k -n . 50
X
zn . n
(29)
Тогда
∞ X k=1
kIk (p)
∞ ∞ ∞ X zn k X zn X zn X = ξ = kIk (p) kIk (p). n n n n=1 n n=1 k=1
X
(30)
k|n
n≡0 (mod k)
Т.к. ln(1 − pz) = −
∞ X pn n−1
n
zn,
то сравнением рядов (30) и (31) получаем X kIk (p) = pn .
(31)
(32)
k|n
Используя формулу обращения Мебиуса получаем конечный результат In (p) =
1X µ(d)pn|d . n
(33)
d|n
Теорема 34. Для любого натурального числа n в кольце Fp [x] существует неприводимые полиномы степени n. Доказательство. Из формулы (33) получаем " # n 1 n X n−i 1 n pn − 1 pn+1 − 2pn + 1 In (p) > p − = p − = p > 0, при p ≥ 2. n n p−1 n(p − 1) i=1 В частности I2 (2) = 1, что соответствует найденному нами ранее единственному неприводимому полиному степени два из F2 [x]: x2 + x + 1. Свойства поля Fq = Fpm . 1) aq = a для всех элементов a ∈ Fq .
Действительно, т.к. q − 1 = |F∗q |, то aq−1 = 1, т.е. aq = a. n
n
n
2) Если a, b ∈ Fq , то (a + b)p = ap + bp для любого натурального n. Действительно, для n = 1
p
(a + b) =
p X
Cpi ai bp−i = ap + bp .
i=0
Далее
3)
n−1 n n n−1 p n−1 p n = ap + b p . = ap + b p (a + b)p = (a + b)p k X i=1
ai
!pn
=
k X i=1
n
api при ai ∈ Fq .
(Аналогично пункту 2).) 51
n
4) Если f (x) ∈ Fp [x] и θ – корень полинома f (x) лежащий в Fq , то θp – тоже корень полинома f (x) для n = 0, 1, 2, . . .. Действительно, pn
f (θ) =
k X i=0
ai θ i
!pn
=
k X
ai θ i
i=0
pn
=
k X
api
n
θp
i=0
n
i
=
k X i=0
ai θ p
n
i
.
n
Равенство api = ai следует из того, что ai ∈ Fp и потому из равенства api = ai следуют 2 3 n равенства api = ai , api = ai , ..., api = ai .
Минимальные полиномы Если β ∈ Fq = Fpm , то β является корнем уравнения xq − x = 0 в силу свойства 4) поля Fq . Однако β может быть корнем и уравнения меньшей, чем q степени. Определение. Нормированный полином минимальной степени из Fp [x], имеющий корнем элемент β ∈ Fq , называется минимальным полиномом для β и обозначается через m(x). Свойства минимального полинома m(x). 1) m(x) неприводим в кольце Fp [x]. 2) Если ϕ(x) ∈ Fp [x] и ϕ(β) = 0, то ϕ(x) делится на m(x).
Действительно, ϕ(x) и m(x) не могут быть взаимно-простыми, т.к. в противном случае ϕ·u+m·v =1 и при x = β получаем противоречие. Отсюда следует, что (ϕ, m) = d(x) и, значит, d(x)|m(x) , что противоречит неприводимости m(x). 3) Полином xq − x делится на m(x).
Действительно, β – корень полинома xq − x и, по свойству 2), xq − x делится на m(x). 4) degm(x) ≤ m.
Действительно, Fpm – векторное пространство размерности m над полем Fp . Поэтому элементы {1, β, β 2 , . . . , β m } – линейно-зависимы над Fp . Отсюда следует, что n X
αi β i = 0
i=0
и β – корень полинома ϕ(x) =
n X i=0
52
αi xi .
Ниже приводятся несколько вспомогательных утверждений, которые использоваться для обоснования других свойств поля Fq . Пусть G – конечная абелева группа и ord(a) – порядок элемента a ∈ G.
будут
Лемма 14. Если (ord(a), ord(b)) = 1, то ord(ab) = ord(a)ord(b). Доказательство. Лемма доказывается стандартными техническими рассуждениями, на которых мы останавливаться не будем. Лемма 15. Если ord(a) = m, то ord(ak ) =
m . (m, k)
Доказательство. Лемма доказывается стандартными техническими рассуждениями, на которых мы останавливаться не будем. Лемма 16. Пусть n ≥ 2, r, s ≥ 1. Тогда nr − 1|ns −1 если и только если r|s . Доказательство. Если s = qr + t, то qr ns − 1 nt − 1 tn − 1 = n + . nr − 1 nr − 1 nr − 1
Т.к. t < r, то, отсюда следует, что t = 0. С другой стороны, если r|s , то из этого же представления следует, что nr − 1|ns −1 . Лемма 17. Полином xm − 1 делится на полином xn − 1 тогда и только тогда, когда m делится на n. Доказательство. Без доказательства. Теорема 35. Мультипликативная группа F∗q ненулевых элементов конечного поля Fq является циклической. Доказательство. Пусть a – элемент максимального порядка в группе F∗q и ord(a) = n. Ясно, что n ≤ q − 1. Пусть b ∈ F∗q и ord(b) = d. Для элемента b1 = b(n,d) в силу леммы 15 имеем d d ord(b1 ) = = . (d, (n, d)) (n, d) Поэтому, в силу того, что
и леммы 14 имеем
d n, (n, d)
=1
ord(ab1 ) = ord(a) · ord(b1 ) = n
d . (n, d)
(34)
Если n не делится на d, то из (34) следует, что ord(ab1 ) > n в противоречие с тем, что a имеет максимальный порядок в F∗q . Поэтому порядок любого элемента группы F∗q является делителем n и, значит, удовлетворяет уравнению xn − 1 = 0. Т.к. |Fq |∗ = q − 1, то n ≥ q − 1 и теорема доказана. 53
Определение. Если F∗q =< a >, то элемент a называется примитивным элементом поля Fq . Утверждение 22. Если a – примитивный элемент поля Fpm , то deg m(x) = m, где m(x) – минимальный полином для a. Доказательство. Т.к. a ∈ / Fp и m(x) – минимальный полином для a, то поле F[x] |m(x) – это простое алгебраическое расширение, содержащее элемент a. Т.к. Fpm =< a >, то Fpm ∈ F[x] |m(x) . Отсюда следует, что pm ≤ degm(x) или degm(x) ≥ m. С другой стороны degm(x) ≤ m, т.е. degm(x) = m. Пример. Пусть p = m = 2. Рассмотрим F22 = F4 . Полином f (x) = x2 + x + 1 ∈ F2 [x] не имеет корней в F2 = {0, 1}. Пусть θ – корень f (x) и θ2 + θ + 1 = 1. Тогда F2 (θ) = {aθ + b | a, b ∈ F2 } и x2 + x + 1 = (x + θ)(x + θ + 1). Далее F4 = {aθ + b, θ2 + θ + 1 = 0} =< θ >=< θ + 1 >, т.к. θ2 = θ + 1, θ3 = 1, т.е. {θ, θ2 , θ3 } = F∗4 .
Подполя поля Fpm Структура подполей поля Fpm достаточно проста, что и утверждается в следующей теореме. Теорема 36. Поле Fpm содержит в качестве подполя Fpn тогда и только тогда, когда m делится на n. Доказательство. Пусть Fpn ⊆ Fpm . Т.к. m n F pn = x : x p − x = 0 и F pm = x : x p − x = 0 , n
m
то каждый корень уравнения xp − x = 0 является также и корнем уравнения xp − x = 0 n или xp −1 |xpm −1 , или, в силу, лемм 16 и 17 n|m . m n Если m делится на n, то полином xp −1 − 1 делится на полином xp −1 − 1 и, значит, F pn ⊆ F pm . Пусть An – множество неприводимых нормированных полиномов степени n из Fp [x].
Теорема 37. m
xp − x =
Y Y
fi (x).
d|m fi ∈Ad
Доказательство. Если f ∈ Ad , то f имеет корень θ в расширении Fp [x] |f и этот корень θ d m d есть также корень уравнения xp − x = 0. При d|m полином xp − x делится на xp − x, и, m значит, xp − x делится f (x). m Если g(x) – неприводимый делитель полинома xp − x и degg(x) = d, то g(x) имеет d корень θ в расширении Fp [x] |g(x) и потому θ – корень полинома xp − x. Пусть v ∈ Fp [x] |g(x) , тогда d−1 X v= ai θ i i=0
и, как было показано ранее,
v
pm
=
d−1 X i=0
ai θ
m i p 54
=
d−1 X i=0
ai θi = v,
m
т.к. θ – корень полинома xp − x. Отсюда следует, что любой элемент поля Fp [x] |g(x) удовлетворяет уравнению m xp − x = 0 и потому это подполе принадлежит полю Fpm . Т.к. n o d Fp [x] |g(x) = x : xp − x = 0 , то по предыдущей теореме d|m .
Примеры. 1) Структура подполей поля F212 выглядит так
F26 s" b F
23
F s 212 "b b " b
s bb
b
b
bs"
bs F2
4
bb s "" F22
F2
m
2) Из теоремы 33 о разложении xp − x на неприводимые множители после подсчета степени полинома в обеих случаях получаем равенство X dIp (d), pm = d|m
из которой после применения формулы обращения можно получить теорему. m
3) Для p = 2 справедливы следующие формулы разложения x2 + x: m = 1: x2 + x = x(x + 1); m = 2: x4 + x = x(x + 1)(x2 + x + 1); m = 3: x8 + x = x(x + 1)(x3 + x + 1)(x3 + x2 + 1); m = 4: x16 + x = x(x + 1)(x2 + x + 1)(x4 + x + 1)(x4 + x3 + 1)(x4 + x3 + x2 + x + 1).
55
Алгебраическая теория информации Как уже отмечалось выше, алгебраические методы широко используются при обработке и анализе информации во многих прикладных исследованиях. Само понятие информации представляется столь значительным и фундаментальным, что его формальные аспекты плохо поддаются научному анализу. Определенный успех был достигнут при специализации этого понятия в рамках конкретных моделей. Здесь мы рассмотрим один из классических примеров такого рода – модель Шеннона в теории связи. Основными понятиями в модели Шеннона являются следующие: 1) Источник сообщений. 2) Канал связи. 3) Шум, помехи. 4) Кодирование. 5) Избыточность. 6) Скорость передачи. 7) Пропускная способность. 8) Надежность связи. Модель передачи информации К.Шеннон предложил рассматривать в виде следующей схемы: Источник сообщений
- Кодер
- Канал
- Декодер
- Приемник
6
Шум Каждый элемент этой схемы имеет достаточно ясную физическую интерпретацию, поэтому мы ограничимся короткими комментариями. 1)Источник сообщений. Если принять следующий тезис: любая информация может быть представлена словом в конечном алфавите – то источник сообщений – это просто автомат, печатающий буквы конечного алфавита в соответствии со своим внутренним устройством. В физическом плане это и человеческая речь, и видеоинформация в виде картинки или печатной продукции. В тоже время рык льва в пустыне, наскальные надписи, рукописи древних майя, осколки кораблей, потерпевших крушение – тоже источники информации. 2)Кодер. Для передачи сообщения чаще всего нуждается в некотором преобразовании в форму, пригодную именно для данного способа передачи. Простейшим примером такого преобразования является, конечно, азбука Морзе. Следует отметить, что азбука Морзе представляет собой кодирование ”второго порядка”, когда преобразованию подвергается сам выбранный код – буквы русского алфавита. Более сложные способы кодирования – это цифровое представление ”видеоряда” или представление в виде цифрового сигнала черно-белой или цветной картинки. 56
3)Канал. Канал – это способ передачи информации или сообщения от источника к приемнику. Каналом связи являются электромагнитное поле, электрические провода, звуковой эфир, бумажный носитель, магнитофонная лента, лазерный диск и т.д. Приведенные выше примеры показывают, что между понятием ”канала” и ”носителя информации”, по - видимому, не существует принципиальной разницы. 4)Шум. В ”реальном” канале связи происходят искажения, связанные с определенными процессами. В результате этих искажений в декодер поступает не тот сигнал, который был в кодере, а сигнал плюс наложенный ”шум”. Чтобы ”отфильтровать” сигнал от шума, нужно понимать и природу сигнала, и природу шума.
Корректирующие коды Классической моделью в теории передачи сообщений в условиях помех является модель, предложенная американским математиком и инженером К.Шенноном в середине XX-го века. Основные понятия, характеризующие параметры этой модели, следующие: 1) Источник сообщений. 2) Канал связи. 3) Шум, помехи. 4) Кодирование. 5) Избыточность. 6) Скорость передачи. 7) Пропускная способность. 8) Надежность связи.
Двоичный симметричный канал(Д.С.К) Элементарными сигналами являются символы ноль и единица и искажения в Д.С.К происходят по следующей схеме p
-1 * H q HH H H q HH j0 H 0
1H
p
Здесь p – вероятность правильной передачи символа и q – вероятность искажения. Словарем является все множество B n = {(α1 , α2 , . . . , αn )} и кодом называется произвольное подмножество V ⊆ B n . Это подмножество известно как на входе, так и на выходе канала, т.е. приемнику известно все потенциально возможное множество сообщений. Пусть V = {a1 , a2 , . . . , am }, где ai ∈ B n 57
Определение. Код V исправляет t ошибок, если любое сообщение, полученное на выходе, можно правильно декодировать при условии, что в нем произошло не более t искажений. С каждым видом искажений удобно связывать определенную метрику. Определение. Расстоянием Хэмминга в пространстве B n называется следующая величина n X |xi − yi | ρ(x, y) = i=1
где
x = (x1 x2 . . . xn ) 6= y = (y1 y2 . . . yn ) Ясно, что расстояние Хэмминга является ”обычным” расстоянием, удовлетворяющим всем аксиомам метрического пространства. Отметим следующие простые свойства расстояния Хэмминга: 1) ρ(x, 0) = ||x|| – вес Хэмминга или число единичных координат слова x. 2) ρ(x, y) = ||x ⊕ y|| 3) ρ(x, y) = ||x|| + ||y|| − 2(x, y), где (x, y) – обычное скалярное произведение над полем действительных чисел. Определение. Величина d(V ) = min ρ(ai , aj ) ai ,aj ∈V
называется кодовым расстоянием. Утверждение 23. Для того, чтобы код V исправлял t ошибок необходимо и достаточно выполнение следующего условия d(V ) ≥ 2t + 1 Доказательство. Рассмотрим следующую таблицу декодирования для кода V : a1 a2 St (a1 ) St (a2 )
... ...
am St (am )
где St (ai ) – шар радиуса t с центром в кодовой точке ai . Декодирование с помощью этой таблицы происходит следующим образом. Если на выходе получено слово x и x ∈ St (ai ), то x декодируется как ai . Если выполнено условие теоремы, то St (ai ) ∩ St (aj ) = ∅ при i 6= j Отсюда следует, что таблица декодирования позволяет исправить любую комбинацию из ≤ t искажений. Необходимость условия теоремы следует из того, что если ρ(ai , aj ) ≤ 2t, то St (ai ) ∩ St (aj ) 6= ∅. Поэтому любая точка y ∈ St (ai ) ∩ St (aj ) может быть получена путем ≤ t искажений как из кодового слова ai , так и из кодового слова aj . Поэтому нет возможности для однозначного декодирования y. Примеры. 1) Код V = {(0 0 0), (1 1 1)} ⊆ B 3 способен исправить одну ошибку. Но две ошибки он уже не может исправить, т.к 0 e 0 0 → 0 1 0, иe 11e 1 → 0 1 0. 58
P 2) Код V = {(x1 x2 . . . xn ), ni=1 xi = 0} имеет кодовое расстояние d(V ) = 2 и потому может обнаружить только одну ошибку. 3) Если |V | = 1, то число ошибок может быть произвольным, т.к. их коррекция происходит очевидным образом.
Задачи теории корректирующих кодов Для заданных чисел (n, t) нужно построить код максимальной мощности, исправляющий t ошибок и имеющий длину кодовых слов, равную n. Максимальная мощность обозначается через A(n, 2t+1). Действительно, пусть мы имеем m различных сообщений A1 , A2 , . . . , Am . Для того, чтобы закодировать их в двоичном алфавите, длина n двоичных слов должна удовлетворять неравенству: 2n ≥ m, т.е. n ≥ log2 m. Теперь среди всех подмножеств мощности m единичного n-мерного куба B n требуется выбрать такое (если оно имеется) подмножество V , что d(V ) ≥ 2t + 1.
Групповые коды Определение. Код V ⊆ B n называется групповым, если V – подгруппа B n . Так как V – одновременно подпространство B n и dim V = k, то V – это (n, k)-код. Способы задания (n, k)-кода: Порождающая матрица. Пусть V − (n, k) - код и V 0 = {v1 v2 . . . vk } – произвольный базис V . Тогда матрица AV такая, что v1 v2 AV = . . . vk k×n
называется порождающей матрицей кода V . Ясно, что весь код V – это совокупность всех линейных комбинаций строк матрицы AV . Формально процесс построения V из AV может быть выражен на матричном языке. Пусть Hk – матрица, столбцами которой являются все ненулевые двоичные наборы длины k. Лемма 18. V = Hk∗ AV . Доказательство. Пусть
AV =
α1 1 α1 2 α2 1 α2 2 ... ... αk 1 αk 2
. . . α1 n . . . α2 n ... ... . . . αk n
Чтобы ”получить” из AV сумму строк с номерами (i1 i2 . . . is ) нужно взять строку v = (α1 α2 . . . αk ), где αi1 = αi2 = . . . = αis = 1 и αi = 0 для всех остальных i и рассмотреть произведение ||α1 α2 . . . αk ||AV = v 0 Ясно, что v 0 есть сумма строк матрицы AV с номерами i1 , i2 , . . . , is . Таким образом, умножив Hk∗ на AV мы получим всевозможные комбинации строк AV , т.е. сам групповой код V . 59
Утверждение 24. d(V ) = min ||x|| x∈V,x6=0
Доказательство. Без доказательства. Если V − (n, k)−код и V ∗ – ортогональное к V подпространство, то V ∗ – это двойственный к V групповой (n, n−k)-код. Порождающая матрица H кода V ∗ называется проверочной матрицей кода V . Утверждение 25. Слово v ∈ V тогда и только тогда, когда vH ∗ = 0. Доказательство. Без доказательства. Если H = ||P¯1 P¯2 . . . P¯n ||, где Pi – столбцы H, то соотношение vH ∗ = 0 эквивалентно векторному уравнению n X vi P¯i = 0 i=1
где v = (v1 v2 . . . vn ). Это соотношение линейной зависимости между столбцами проверочной матрицы H. Пример. Пусть H =
1 0 0 1 P¯1
2 0 1 0 P¯2
3 0 1 1 P¯3
4 1 0 0 ¯ P4
5 1 0 1 ¯ P5
6 1 1 0 ¯ P6
Тогда соотношение vH ∗ = 0 означает следующее:
7 1 1 1 ¯ P7
(v1 v2 . . . v7 )H ∗ = 0 или
v4 + v5 + v6 + v7 = 0 v2 + v3 + v6 + v7 = 0 v1 + v3 + v5 + v7 = 0
В векторной форме эту систему можно записать так
v1 P¯1 + v2 P¯2 + . . . + v7 P¯7 = 0 Определение. Кодовым рангом матрицы H называется максимальное число r∗ (H) такое, что любые r∗ (H) столбцов H линейно независимы. Замечание. Если r(H) – ранг матрицы H, то очевидно, что r∗ (H) ≤ r(H). Утверждение 26. Если H – проверочная матрица кода V и r∗ (H) = d, то dmin (V ) = d + 1. Доказательство. Если v ∈ V , то
n X
vi P¯i = 0
i=1
60
(∗)
Так как r∗ (H) = d, то число ненулевых коэффициентов в (∗) не менее, чем (d + 1). Отсюда следует, что ||v|| ≥ d + 1. С другой стороны, т.к. r∗ (H) = d, то какие-то (d + 1) столбцов H линейно зависимы. Это означает, что Pi1 + Pi2 + . . . + Pid+1 = 0 Последнее равенство эквивалентно тому, что строка v = (v1 v2 . . . vn ) такая, что vi1 = vi2 = . . . = vid+1 = 1 и vi = 0 для остальных i, принадлежит коду V , т.е. dmin (V ) ≤ d + 1. Отсюда следует, что dmin (V ) = d + 1. Утверждение 27. r∗ (Hk ) = 2. Доказательство. Так как все столбцы матрицы Hk различны, то любые два из них линейно независимы, т.е. r∗ (Hk ) ≥ 2. с другой стороны, если 1 0 1 0 1 1 P1 = .. , P2 = .. , P3 = .. . . . 0 0 0 то P1 + P2 + P3 = 0. отсюда следует, что r∗ (Hk ) = 2.
Замечание. Ясно, что r(Hk ) = k, т.к. среди столбцов Hk присутствуют столбцы вида 1 0 0 0 1 0 P1 = .. , P2 = .. , . . . , Pk = .. . . . 0 0 1
Задание группового кода Если A = ||αij || – порождающая матрица группового (n, k)-кода V , то с помощью ”элементарных” преобразований A можно привести к приведенной ступенчатой форме A0 1 0 . . . 0 p1 1 . . . p1 n−k ... A0 = . . . . . . . . . . . . . . . . . . 0 0 . . . 1 pk 1 . . . pk n−k
Тогда любое кодовое слово v ∈ V имеет вид: v = (a1 a2 . . . ak c1 c2 . . . cn−k ), где cj = Pk i=1 ai pi j j = 1, . . . , n − k. Символы a1 , a2 , . . . , ak – информационные, cj – проверочные. Пример. P Пусть V = {(v1 v2 . . . vn ), vi = 0}. Тогда 1 0 0 . . . 0 1 0 1 0 . . . 0 1 A = . . . . . . . . . . . . . . . . . . 0 0 . . . . . . 1 1 Pn−1 и H = ||1 1 . . . 1|| и v = (a1 a2 . . . an−1 , i=1 ai ). Для n = 3 : (0 0 0), (0 1 1), (1 0 1), (1 1 0). Определение. Код Vm с проверочной матрицей Hm называется кодом Хэмминга. Из всего сказанного выше нетрудно вывести следующее утверждение. 61
Утверждение 28. Код Vm имеет следующие параметры: n = 2m − 1, k = 2m − m − 1, dmin (Vm ) = 3. Доказательство. Без доказательства. Таким образом, код Хэмминга способен обнаружить две и исправить одну ошибку. Кроме того, для этого кода был найден простой и эффективный способ исправления, который изложен ниже.
Декодирование кода Хэмминга Упорядочим столбцы матрицы Hm ”натуральным” образом, выбирая в качестве i-го столбца двоичную запись числа i (i = 1, 2, . . . , 2m − 1) H3 =
1 0 0 1
2 0 1 0
3 0 1 1
4 1 0 0
5 1 0 1
6 1 1 0
7 1 1 1
Из определения кода V3 следует, что v = (v1 v2 . . . v7 ) ∈ V3 тогда и только тогда, когда vH3T = 0, что равносильно следующим соотношениям v4 + v5 + v6 + v7 = 0 v2 + v3 + v6 + v7 = 0 v1 + v3 + v5 + v7 = 0 Действие ”помехи” в канале можно представить следующим образом: v 0 = v + e, где v ∈ Vm и ||e|| = 1. Алгоритм декодирования. T T T 1) Вычисляем ”синдром”: v 0 Hm = (v + e)Hm = eHm . При выбранном представлении Hm : T eHm – двоичная запись номера столбца N , в котором находится единственная единичная координата вектора e.
2) Выбираем N -ю координату слова v 0 и изменяем ее на противоположную. Полученное слово v и является искомым. Пример. Пусть v = (1110000) ∈ V3 и ошибка произошла в 5-ом разряде. Тогда на выходе будет получено слово v 0 = (1110100). Далее, v 0 H3T = (101) Так как слово (101) – это двоичная запись числа 5, то исходное слово получается из v 0 заменой пятой координаты 1 на 0. Если (n, k)-код V задан своей порождающей матрицей A, то из A путем ”стандартных” преобразований можно получить матрицу A0 в приведенно-ступенчатой форме 1 0 . . . 0 p1 1 p1 2 . . . p1 n−k 0 1 . . . 0 p2 1 p2 2 . . . p2 n−k 0 A = . . . . . . . . . . . . . . . . . . . . . . . . 0 0 . . . 1 pk 1 pk 2 . . . pk n−k 62
Так как любое слово v кода V есть сумма строк матрица A0 , то имеет место следующее представление v = (a1 a2 . . . ak c1 c2 . . . cn−k ) где ai – произвольные ”биты”: нули или единицы, а cj =
k X i=1
ai pi j , j = 1, . . . , n − k
Таким образом, в принятой терминологии ai – информационный символы, cj – проверочные.
Код Мак-Дональда(Mac-Donalds code) Рассмотрим теперь код Vm∗ , двойственный к коду Хэмминга Vm . Порождающая матрица кода Vm∗ – это, по определению, матрица Hm . Теперь сам код Vm∗ (без нулевой строки), в силу леммы, может быть представлен в следующем виде. ∗ · Hm Утверждение 29. Vm∗ = Hm
Доказательство. Это прямое следствие леммы при AV = Hm Найдем теперь параметры кода Vm∗ . Утверждение 30. Код Vm∗ является (2m − 1, m)-кодом и d(Vm∗ ) = 2m−1 . Доказательство. Пусть m = 3, 0 0 0 1 1 1 1 H3 = 0 1 1 0 0 1 1 1 0 1 0 1 0 1
n = 2m − 1, r(H3 ) = 3 и r(Hm ) = m, т.е. k = m. Отметим далее, что V – групповой (n, k)код, слова которого образуют матрицу размера 2k × n, то каждый столбец V содержит ровно половину нулей и половину единиц. Действительно, пусть I – произвольный столбец матрицы V . Рассмотрим множество всех строк V 0 матрицы V , имеющих в столбце I нули. Тогда V 0 – подгруппа V и V 0 имеет ровно один смежный класс, т.е. |V 0 | = 21 |V |. ∗ Теперь отметим, что матрица Vm∗ = Hm · Hm – симметрична и содержит в каждом m−1 столбце 2 единицу. Поэтому и каждая строка Vm∗ содержит 2m−1 единицу. Отсюда d(Vm∗ ) = 2m−1 . Пример. Пусть m = 2. Тогда 0 1 0 1 1 0 1 1 ∗ , H2 = 1 0 и V2 = H2∗ · H2 = 1 0 1 H2 = 1 0 1 1 1 0 1 1
Таким образом, в каждой строке Vm∗ имеется ровно 2m−1 единиц и 2m−1 − 1 нулей. Код Vm∗ – это так называемый симплексный код. В нем n = 2m − 1, d = 2m−1 = ∗ Vm – эквидистантный код, т.е. ρ(u, v) = d для u, v ∈ Vm . 63
n+1 2
и
Циклические коды Как было отмечено выше, групповые коды составляют подкласс всех корректирующих кодов, обладающих целым рядом существенных преимуществ, облегчающих как кодирование, так и декодирование в их практической реализации. Циклические коды представляют следующий шаг в указанном направлении, т.к. они представляют еще более узкий подкласс кодов, исправляющих ошибки. Определение. Групповой код V = {(α0 α1 . . . αm )} называется циклическим, если преобразование циклического сдвига оставляет код V инвариантным. В чисто алгебраических терминах, на группе V действует группа {T i } = G преобразований циклического сдвига. Ниже мы получим удобное описание класса циклических кодов в терминах их порождающих полиномов. Рассмотрим кольцо полиномов F2 [x] над полем F2 и фактор-кольцо F2 [x] |xn +1 . Каждой точке a = (α0 α1 . . . αn−1 ) сопоставим полином из F2 [x] |xn +1 по следующему правилу ϕ
a → ga (x) =
n−1 X
αi xi
i=0
Отображение ϕ: является гомоморфизмом:
B n −→ F2 [x] /xn + 1 ϕ(a + b) = ϕ(a) + ϕ(b)
Пример. (0110) −→ x + x2 ; (11001) −→ 1 + x + x4 Следующее простое наблюдение является ключевым для теории циклических кодов. Лемма 19. gTa = x · ga (x). Доказательство. x · ga (x) = x αn−2 xn−1 = gTa (x).
Pn−1 i=0
αi xi = α0 x + α1 x2 + . . . + αn−1 xn = αn−1 + α0 x + . . . +
Из этой леммы вытекает следующее описание класса циклических кодов. Теорема 38. Если V – циклический код, то гомоморфный образ V в кольце F2 [x] |xn +1 является главным идеалом. Доказательство. Итак, пусть V – циклический код и g(V ) – гомоморфный образ группы V в кольце F2 [x] |xn +1 , т.е. g(V ) – множество полиномов, соответствующих точкам из V . Если f ∈ g(V ), то по предыдущей лемме xi f ∈ g(V ) для всех i. Отсюда, в силу линейности кода V , вытекает, что X f xi ∈ g(V ) i
P
Таким образом, в силу произвольности xi λi = q(x) : f · g(x) ∈ g(V ). Отсюда следует, что g(V ) – идеал в кольце F2 [x] |xn +1 и, как всякий полиномиальный идеал, g(V ) – главный идеал, т.е. g(V ) состоит из всех полиномов, кратных некоторому.
Определение. Полином минимальной степени, содержащийся в идеале g(V ) называется порождающим полиномом кода V . Утверждение 31. Если g(x) – порождающий полином циклического кода V , то g(x) – делитель полинома xn + 1. 64
Доказательство. Пусть xn + 1 = g(x)ϕ(x) + r(x) Этому равенству в кольце F2 [x] |xn +1 соответствует сравнение g(x)u(x) = r(x) и, значит, r(x) ∈ g(V ). Так как deg r(x) < deg g(x), то r(x) = 0. Пример. Пусть n = 7, g(x) = 1 + x2 + x3 . Ясно, что x7 + 1 = (1 + x2 + x3 )(1 + x + x2 + x3 + x4 ) Далее g(x) = 1 + x2 + x3 −→ (1011000) = v1
x · g(x) = x + x3 + x4 −→ (0101100) = v2
x2 · g(x) = x2 + x4 + x5 −→ (0010110) = v3
x3 · g(x) = x3 + x5 + x6 −→ (0001011) = v4 Таким образом, порождающая матрица циклического g(x), может быть представлена в следующей форме 1 0 1 1 0 0 0 1 0 1 1 0 A = 0 0 1 0 1 1 0 0 0 1 0 1
кода V , порожденного полиномом 0 0 0 1
Параметры циклического кода Пусть V – циклический (n, k)-код, порожденный полиномом g(x) ∈ deg g(x) = m.
F2 [x] / n x +1 и
Утверждение 32. Код V является групповым (n, n − m)-кодом, т.е. k = n − deg g(x). Доказательство. Если g(x) – порождает код V , то точки g(x), xg(x), . . . , xn−m−1 g(x) – образует базис подпространства V . К сожалению, не известен какой-то простой способ нахождения корректирующей способности циклического кода по его порождающему полиному. Определенную информацию на эту тему можно получить, рассматривая корни порождающего полинома. Пусть {α1 α2 . . . αr } – некоторый набор элементов, лежащих в каком-то расширении поля F2 . Эквивалентным способом циклического кода является следующий. Определение. Полином v(x) представляет вектор циклического кода V тогда и только тогда, когда каждый из элементов {α1 α2 . . . αr } является корнем v(x). Если mi (x) – минимальный полином для αi , то полином g(x) = Н.О.К(m1 (x), m2 (x), . . . , mr (x)) является порождающим для циклического кода V . 65
Найдем теперь параметры циклического кода V , заданного с помощью системы корней {α1 α2 . . . αr }. Пусть порядок элемента αi равен ni , т.е. ord(αi ) = ni , i = 1, r. Тогда n = Н.О.К(n1 , n2 , . . . , nr ) g(x) = Н.О.К(m1 (x), m2 (x), . . . , mr (x)) Пример. Пусть α – корень уравнения x4 + x + 1 = 0 и циклический код V задается совокупностью корней (α, α3 ). Так как полином f (x) = x4 + x + 1 неприводим в кольце F2 [x], то f (x) – минимальный полином для α1 = α3 . Рассмотрим следующую таблицу степеней для α: α4 α5 α6 α7 α8
=α+1 = α2 + α = α3 + α2 = α4 + α3 = α3 + α + 1 = α4 + α2 + α = α2 + 1
α9 = α3 + α α14 = α3 + 1 10 4 2 2 α =α +α =α +α+1 α15 = α4 + α = 1 α11 = α3 + α2 + α α12 = α4 + α3 + α2 = α3 + α2 + α + 1 α13 = α4 + α3 + α2 + α = α3 + α2 + 1
Из этой таблицы видно, что ord(α) = 15 и ord(α3 ) = 15 = 5. Если g(x) – минимальный 3 3 2 4 8 16 полином для α1 = α , то α1 , α1 , α1 , α1 – тоже корни g(x). Далее α12 = α6 , α14 = α12 , α18 = α24 = α9 , α116 = α18 = α3 Поэтому g(x) = (x − α3 )(x − α6 )(x − α9 )(x − α12 ) =
x4 + x3 (α3 + α6 + α9 + α12 ) + x2 (α9 + α12 + α18 + α21 ) + x(α18 + α21 + α24 + α27 ) + α30 Вычисляя с помощью приведенной выше таблицы коэффициенты полинома g(x), получаем g(x) = x4 + x3 + x2 + x + 1 Далее, полиномы f (x) и g(x) взаимно просты, поэтому m(x) = f (x) · g(x) = x8 + x7 + x6 + x4 + 1 и m(x) порождает (15, 15 − 8) = (15, 7)-код V . Следующее утверждение устанавливает нижнюю границу кодового расстояния циклического кода, заданного множеством корней. Пусть α – примитивный элемент поля F2m и циклический код V задается набором корней α, α2 , . . . , αd−1 . Лемма 20. (о минимальном расстоянии) dmin (V ) ≥ d Доказательство. Пусть g(x) – порождающий полином кода V . Покажем, что каждый полином C(x) из g(V ) имеет не меньше чем d ненулевых коэффициентов. Пусть это не так и для некоторой ненулевой последовательности {b1 b2 . . . bd−1 } C(x) = b1 xn1 + b2 xn2 + . . . + bd−1 xnd−1 где n1 < n2 < . . . , < nd−1 . Условие принадлежности полинома C(x) коду V выглядит следующим образом: d−1 X bi αkni = 0, k = 1, 2, . . . , d − 1 (∗) i=1
66
Система линейных уравнений (∗) относительно {bi } имеет определитель αn1 αn2 ... αnd−1 α2n1 α2n2 ... α2nd−1 4 = ... ... ... ... (d−1)n (d−1)n2 (d−1)nd−1 1 α α ... α
Так как 4 – определитель Вандермонда, то 4 = 6 0. Отсюда следует, что система (∗) имеет только нулевое решение, т.е. все bi = 0, что противоречит исходному предположению.
Коды Боуза-Рой-Чоудхури Циклические коды, задаваемые с помощью системы корней {α, α2 , . . . , αd−1 }, где α – примитивный элемент поля F2m , называются кодами Боуза-Чоудхури или БЧХ. Найдем параметры этих кодов. Если v(x) – полином, соответствующий некоторому кодовому слову из V , то по определению v(α) = v(α2 ) = . . . = v(αt ) = 0 m −1
Пусть f (x) = xn − 1 = x2
− 1 и mi (x) – минимальный полином для αi . Тогда
1) mi (x) – неприводимый делитель f (x);
2) deg mi (x) ≤ m
Из свойств 1) − 2) для порождающего полинома g(x) кода V имеем следующую оценку deg g(x) = deg Н.О.К(m1 (x), m3 (x), . . . , mt (x)) ≤ mt
В силу основных свойств циклического (n, k)-кода V из этого неравенства вытекает Из этой оценки следует утверждение.
k ≥ n − mt
Теорема 39. (Боуза-Чоудхури) Для мощности БЧХ–кодов, исправляющих ≥ t ошибок справедлива оценка 2n |V | > (n + 1)t Доказательство. Так как n = 2m − 1, то k ≥ n − t log2 (n + 1) и потому 2n |V | = 2k ≥ (n + 1)t Тот факт, что код V исправляет ≥ t ошибок, является прямым следствием из леммы о минимальном расстоянии. Пример. Пусть n = 24 − 1 = 15 и x15 + 1 = (x + 1)(x2 + x + 1)(x4 + x + 1)(x4 + x3 + 1)(x4 + x3 + x2 + x + 1). Среди делителей полинома x15 + 1 выберем полином g(x) = x4 + x + 1 и зададим циклический (n, k)-код V условием V = {q(x)}, где q(θ) = 0 и θ – корень g(x). Так как θ – примитивный элемент поля F16 , то каждый полином кода V имеет среди корней {θ, θ2 } и по лемме о минимальном расстоянии dmin (V ) ≥ 2 + 1 = 3. Отсюда сразу следует, что код V имеет следующие параметры: n = 15, k = 15 − deg g(x) = 15 − 4 = 11 и dmin (V ) ≥ 3. Далее, мощность V равна 2n 215 |V | = 2k = 211 = 4 = 2 n+1 67
Другие каналы связи Выше был рассмотрен случай специального вида канала связи – двоичного симметричного канала. На практике приходится иметь дело с разного рода искажениями, которые могут быть формализованы с помощью различных каналов. Мы рассмотрим несколько типичных случаев и прокомментируем ситуацию в целом. 1) Несимметричные ошибки. Этот канал напоминает Д.С.К.,но переходы (0 → 1) и (1 → 0),(0 → 0) и (1 → 1) имеют, вообще говоря, разные вероятности
0
p1
*1 HH p2 HH p 3 HH H j H
1H
p4
0
Таким образом p1 = p (0 → 0), p2 = p (0 → 1) p3 = p (1 → 0), p4 = p (1 → 1) p1 + p2 = p3 + p4 = 1
Один из часто встречающихся каналов такого рода имеет следующую форму: p (0 → 1) = 0, p (1 → 1) = p, p (1 → 0) = q, p (0 → 0) = 1 Таким образом, все нули передаются без искажений, а с единицами могут происходить те или иные коллизии. В целом, чаще всего описанную выше ситуацию изображают с помощью матрицы переходов p1 1 p1 2 P = p2 1 p2 2 где pi j = p (i → j), i, j = 0, 1 2) Стирающий канал. Стирающий канал описывается с помощью следующей матрицы переходов p1 1 p1 2 p1 3 P = p2 1 p2 2 p2 3 p3 1 p3 2 p3 3
Здесь имеются три рода символов {0, 1, 4}, где 4 означает ”стирание”, т.е. вместо символов алфавита {0, 1} появляется символ 4. При этом обычно предполагают выполнение следующих соотношений: p1 1 = p (0 → 0) = p2 2 = p (1 → 1) = p, p1 3 = p (0 → 4) = q, p2 3 = p (1 → 4) = q, p3 1 = p3 2 = 0
т.е. P имеет следующую форму
p 0 q P = 0 p q 0 0 1 Таким образом, в этом случае известно ”место”, где произошло искажение, но неизвестен символ, который был искажен. Если предположить, что за время передачи происходит не более одного стирания, то восстановление исходного слова может быть произведено на основе следующих простых соображений. 68
Утверждение 33. Пусть код V ⊆ B n исправляет одно стирание. Тогда dmin (V ) ≥ 2. Доказательство. Если в коде V имеется пара точек x, y с расстоянием, равным единице, т.е. x = x1 x2 . . . xk−1 1 xk+1 . . . xn y = x1 x2 . . . xk−1 0 xk+1 . . . xn и стирание произошло в k-ом разряде,т.е. на выходе получено ”слово” z z = x1 x2 . . . xk−1 4 xk+1 . . . xn то мы не можем однозначно сказать, какой из символов 0 или 1 был стерт. С другой стороны, если d(V ) ≥ 2, то любое одиночное стирание может быть исправлено. Действительно, если z – принятое слово, то в коде V существует лишь одно слово x, отличающееся от z только в ”стертом” разряде,т.к. если бы таких слов было два, то расстояние между ними было бы равно единице. Отсюда следует, что x – это и есть ”истинное” слово и искажение исправлено. В частности, в качестве кода, исправляющего одно искажение, может быть использован счетчик четности. В общем случае унификация разного рода рассуждений, связанных с построением и оценками возможности кодов корректировать ошибки, может быть достигнута с помощью алгебраического канала связи. Итак, пусть мы используем для передачи слова длины n символы из бинарного алфавита. Определение. Канал U называется алгебраическим, если существует подмножество R ⊆ B n такое, что любое слово на выходе из канала U может быть представлено в форме v =a+r где a – исходное слово, а r ∈ R. Таким образом, множество R представляет собой весь спектр возможных искажений, которым подвергаются слова из B n . Примеры. 1) Если в канале U происходит не более t ошибок вида 0 → 1, 1 → 0 то R – это шар радиуса t с центром в начале координат и |R| =
Pt
i=0
n i
.
2) Если искажения в канале U происходят в ”пакетном” режиме, т.е. искажается сразу серия из ≤ k символов, то вектора ошибок имеют следующий вид (10 . . . 0) (110 . . . 0) (1110 . . . 0) ... (11 . . . 1}) | {z k
(01 . . . 0) (011 . . . 0) (01110 . . . 0) ... (0 |1 .{z . . 1} 0) k
69
... ... ... ... ...
(00 . . . 1) (00 . . . 11) (00 . . . 0111) ... (00 . . . 0 |11 {z . . . 1}) k
k точек, которые Таким образом, в этом случае множество R состоит из N = nk − r представляют собой всевозможные искажения, происходящие в ”пакетном” режиме.
3) Если в канале U происходят ”разделенные” ошибки, т.е. после того, как ошибка в каком-то разряде произошла, по крайней мере k тактов канал работает безошибочно, то множество R состоит из точек x = (x1 x2 . . . xn ) ∈ B n , удовлетворяющих условиям x1 + x2 + . . . xk ≤ 1 x2 + x3 + . . . + xk+1 ≤ 1 . . . . .. ... xn−k+1 + xn−k+2 + . . . + xn ≤ 1 P∞ n − (m − 1)(k − 1) Можно показать, что система имеет ровно 1 + m=1 решений, что m и оценивает мощность множества R, которое описывает все виды ошибок, происходящих в канале U . Как было отмечено выше, одна из задач теории корректирующих кодов состоит в построении кодов максимальной мощности, исправляющих заданный тип ошибок. В частности, для алгебраического канала U справедлива следующая верхняя граница мощности кода VR , исправляющего все ошибки, происходящие в этом канале. Теорема 40. |VR | ≤
2n |R|
Доказательство. Если код V исправляет все ошибки канала U и V = {v1 v2 . . . vN } ⊆ B n , то ”окрестности” S(vi ) = {vi + R} точек кода V не пересекаются. Действительно, факт пересечения двух окрестностей S(vi ) и S(vj ) состоит в следующем z = v i + r1 = v j + r2
(∗)
для некоторых r1 , r2 ∈ R. Но это равенство означает, что две различные точки vi и vj кода V под действием помех переходит в одну и ту же точку z. Но тогда из равенства (∗) невозможно однозначно определить, какая из точек vi или vj была передана по каналу U . Таким образом, окрестности точек vi действительно не пересекаются и , значит, в силу включения N [ S(vi ) ⊆ B n i=1
и равенства
|S(vi )| = |R|, i = 1, N
получаем неравенство из условия теоремы.
Следствие. (граница Хэмминга). Если A(n, 2t + 1) – максимальная мощность кода, исправляющего t ошибок, то справедливо неравенство A(n, 2t + 1) ≤
Pt
2n
i=0
n i
Доказательство. Так как в этом случае R – это шар радиуса t с центром в нуле, то Pt n |R| = i=0 . Что и требовалось доказать. i 70
Таким образом при заданном множестве R для каждой точки x ∈ B n можно определить окрестность 1-го порядка S 1 (x) следующим образом S 1 (x) = {x + ri , ri ∈ R} Окрестность второго порядка S 2 (x) определяется через окрестность первого порядка следующим образом S 2 (x) = {v + ri , v ∈ S 1 (x), ri ∈ R}
Аналогично определяется окрестность любого порядка при фиксированном множестве R. Мощность окрестности S 2 (x) можно использовать для установления нижней границы мощности кода, исправляющнго ошибки, порожденные множеством R. Отметим сначала, что все окрестности первого порядка S 1 (x) представляют собой ”сдвиги” множества R на вектора x ∈ B n . Все окрестности 2-го порядка S 2 (x) представляют собой ”сдвиги” множества R2 = {ri + rj , ri , rj ∈ R} на вектора x ∈ B n . Аналогично устроены все окрестности k-го порядка множества R. Таким образом, окрестности k-го порядка всех точек из B n равномощны. Справедливо следующее утверждение о мощности кода, которое обычно называют границей Варшамова-Гилберта. Теорема 41. Существунт код мощности не менее, чем 2n |S 2 (R)| исправляющий все ошибки, порожденные множеством R. Доказательство. Будем строить код V постепенным присоединением к нему ”новых” точек до тех пор, пока это окажется возможным. В качестве начальной или первой точки выбираем произвольную точку v1 ∈ B n . Рассмотрим окрестность второго порядка точки v1 , т.е. S 2 (v1 ). Отметим, что код V2 = {v1 , v2 }, где v2 ∈ B n \ S 2 (v1 ) исправляет любую ошибку из R. Действительно, если v 1 + r1 = v 2 + r2 то v2 = (v1 + r1 ) + r2 и, таким образом, v2 ∈ S 2 (v1 ), что S противоречит выбору v2 . Третью кодовую точку мы n 2 выбираем из множества B \(S (v1 ) S 2 (v2 )) и т.д. Так как |S 2 (v1 ) ∪ S 2 (v2 ) ∪ . . . ∪ S 2 (vk )| ≤ k|S 2 (R)|
то процедура присоединения может быть продолжена до тех пор, пока 2n k≤ 2 |S (R)|
(1)
Отсюда и вытекает доказываемое утверждение Таким образом верхняя и нижняя границы мощности кодового множества при заданном множестве R, порождающем ошибки, могут быть записаны в следующем виде. Теорема 42. Справедливы неравенства 2n 2n ≤ |V | ≤ R |S 2 (R)| |S 1 (r)| 71
Доказательство. Без доказательства. В частности, для классического случая R – шар радиуса t с центром в начале координат имеем: S 2 (R) = {x + y, ||x|| ≤ t, ||y|| ≤ t} = {z : ||z|| ≤ 2t}
и, таким образом, S 2 (R) – шар радиуса 2t с центром в нуле. Применяя границы из предыдущей теоремы, получаем Теорема 43. Справедливы неравенства P2t
2n
i=1
n i
≤ A(n, 2t + 1) ≤
Доказательство. Без доказательства.
2n
Pt
i=0
n i
(2)
Из неравенств (2) вытекает следующее утверждение. Утверждение 34. Если S 2 (R) = S 1 (R) = R, то |VR | = выполняется, если R – подгруппа в B n .
2n . |R|
В частности, это равенство
Доказательство. Без доказательства. Нижеследующие примеры призваны прокомментировать это утверждение. Примеры. 1) Пусть в канале P U может происходить любое, но четное число ошибок. В этом случае R = {(x1 x2 . . . xn ), ni=1 xi = 0} и |R| = 2n−1 . Как показывают границы (1), мощность оптимального кода |VR | = 2, т.к. для любой группы R справедливо равенство S 1 (R) = S 2 (R). Примером оптимального кода являются следующие две точки x = (100 . . . 0) y = (000 . . . 0) Действительно ||x + v|| ≡ 1(mod 2)
при v ∈ R и, таким образом, x при любом искажении перейдет в точку с нечетным весом, а y – в точку с четным весом. Это обстоятельство и позволяет однозначно восстановить любые искажения из R. 2) Пусть R – это k-мерный интервал в B n следующего вида R = {(α1 α2 . . . αk 0 . . . 0)} Тогда S 1 (R) = S 2 (R) = R и |VR | = 2n−k . Один из оптимальных кодов V выглядит следующим образом V = {(00 . . . 0} α1 α2 . . . αn−k )} | {z k
Таким образом, если на выходе получено слово (β1 β2 . . . βk α1 α2 . . . αn−k ), то декодирование происходит следующим образом (β1 β2 . . . βk ) → (00 . . . 0) и, значит (β1 β2 . . . βk α1 α2 . . . αn−k ) → (00 . . . 0α1 α2 . . . αn−k ) 72
Защита информации от несанкционированного доступа Важнейшей компонентой социума является взаимодействие его членов. Это взаимодействие осуществляется путем непосредственного и информационного контактов. При этом информационный контакт играет доминирующую роль. Информационный контакт осуществляется посредством и благодаря информационному пространству. Конфеденциальность связи при этом может быть достигнута путем использования скрытых каналов или путем шифрования. использование того или иного способа определяется многими обстоятельствами и не будет являться предметом нашего обсуждения. Мы будем рассматривать только способ шифрования или криптографические методы сокрытия информации. Основные понятия криптографии перечислены ниже. 1) Информация. 2) Канал. 3) Связь. 4) Открытый текст. 5) Шифрограмма. 6) Криптошифр. 7) Криптоанализ. 8) Пространство ключей.
Криптография Криптография – это прикладная наука, исследующая возможность конфиденциальной связи с помощью шифрования. Этот раздел представляет лишь часть общих исследований, связанных с защитой информации и имеет интересные и глубокие связи с такими классическими областями математики как теория чисел, комбинаторный анализ, сложность вычислений, алгебраическая геометрия и т.д. Более точно криптография занимается методами преобразования информации с целью ее защиты от несанкционированного прочтения. В силу сформулированного выше тезиса, под информацией мы будем понимать слово над конечным алфавитом. Самые простые преобразования слов состоят в замене одних букв алфавита другими. Это направление порождает так называемую подстановочную криптографию.
Подстановочные криптограммы Пусть A = {a1 a2 . . . an } – конечный алфавит и g – произвольная перестановка группы Sn . Если, как обычно, A∗ – множество слов конечной длины над A, то на множестве A∗ группа Sn действует следующим образом g(b1 b2 . . . bm ) = g(b1 )g(b2 ) . . . g(bm ) где bi ∈ A, i = 1, 2, . . . , m. 73
Таким образом, если b = (b1 b2 . . . bm ) – открытое сообщение, то g(b) = (g(b1 )g(b2 ) . . . g(bm )) – шифрованный текст или криптограмма. Ключем является сама перестановка g. Для ”истинного” получателя этот ключ известен и дешифровка состоит в применении обратной перестановки g −1 к криптограмме g(b), т.е. b = g −1 (g(b)) Вероятность же случайного нахождения правильного ключа равна p = n!1 . В частности, если A – русский алфавит,т.е. |A| = 33, то p ≈ 10−33 . Идея подстановочного кодирования может быть в значительной мере углублена и расширена. Так возникает геометрическое шифрование, шифр Виженера и т.д. Общая идея всех этих криптографических преобразований одна и та же. Поэтому мы обратимся к общей схеме. Криптосистема включает в себя следующие компоненты: 1) Пространство исходных сообщений P . 2) Пространство шифротекстов или криптосистем C. 3) Множество обратимых преобразований {Fk }: F
P →k C Это множество преобразований.
преобразований
называется
семейством
криптографических
Прокомментируем теперь коротко все эти компоненты криптосистем. 1)Пространство P – это обычно некоторый формальный или естественный язык. Эти две возможности принципиально отличаются друг от друга, т.к. естественный язык имеет высокую избыточность, что позволяет понять смысл сообщения даже при наличии ошибок в дешифровке отдельных компонент исходного текста. В целом, дешифровка сообщения, записанного на естественном языке, значительно облегчает дешифровку. 2)Криптосистема – это система ”однотипных” алгоритмов с параметром. Параметры системы – это ключи, которые также образуют определенное пространство K. Таким образом, мы имеем отображение P ×K →C что означает, что по данному конкретному открытому сообщению p ∈ P и ключу k ∈ K при заданном алгоритме шифрования мы строим криптотекст C,т.е. C = F (p, k). В целом криптосистема – это набор инструкций, аппаратура или программный комплекс, с помощью которого можно зашифровать любой открытый текст из P с помощью конкретного ключа k ∈ K. 3)Множество преобразований или удовлетворять следующим требованиям:
криптосистема
должна
a) Простота шифровки и дешифровки при известном ключе k ∈ K.
по
Ф.Бэкону
b) Невозможность восстановления исходного сообщения только по криптограмме без знания ключа. c) Естественная ”внешность” криптотекста. 74
В целом, все эти требования, кроме третьего, сохранили свою актуальность. Кроме того, считается естественным выполнение следующего требования, характеризующего взаимоотношения ”владельца”криптосистемы и криптоаналитика. Аксиома. Криптоаналитик знает используемую криптосистему, но не знает ключа. Примеры. 1) Пусть P = C = B n и F – следующее отображение F
a = (α1 α2 . . . αn ) → (α1 , α1 + α2 , α2 + α3 , . . . αn−1 + αn ) Ясно, что если F (a) = (u1 , u2 , . . . un ), то u1 = α1 u2 = α1 + α2 u3 = α2 + α3 ... un = αn−1 + αn Отсюда получаем α1 = u1 α2 = u1 + u2 α3 = u1 + u2 + u3 ... т.е. алгоритм дешифровки определяется формулой F −1 (u) = (u1 , u1 + u2 , . . . , u1 + u2 + . . . + un ) 2) Пусть P = C = B n . Множество ключей K = B r = {(α1 α2 . . . αr )}. Шифровка производится следующим образом. Исходное сообщение a ∈ B n разбивается на блоки длины r,т.е. a = (α11 α12 . . . α1r )(α21 α22 . . . α2r ) . . . (αs1 αs2 . . . αsr ) Далее, из K выбирается ”ключ” – случайный набор b = (β1 β2 . . . βr ) и составляется криптограмма a0 = (α11 + β1 , . . . α1r + βr , α21 + β1 , . . . , α2r + βr , . . . , αs1 + β1 , . . . , αsr + βr ) Дешифровка криптограммы a0 осуществляется очевидным образом ”прибавив” к a0 слово (b, b, . . . , b), где s · r = n. | {z } s
Криптоанализ Как можно и нужно действовать для того, чтобы раскрыть содержание криптограммы? Если исходное сообщение p записано на естественном языке и в качестве шифра использована некоторая подстановка g ∈ Sn , то самым надежным способом дешифровки является использование частотного алфавита заданного языка,т.е. вероятности p(ai ), с которой буква ai встречается в тексте, написанном на данном языке. Ясно, что вероятности p(ai ) зависят от ”рода” текста, длины текста и других обстоятельств. Мы не 75
будем обсуждать все проблемы, связанные с частотным словарем, констатируя лишь его наличие для всех широко известных языков. Использование частотного словаря состоит в следующем. В криптограмме C находится частота каждого символа bi и, если p(bi ) ≈ p(ai ), то принимается гипотеза ai = bi . Этот нехитрый прием используется в сочетании с другими соображениями и, в целом, является мощным средством расшифровки подстановочных криптограмм. Рассматривая проблему шифровки и дешифровки в общем контексте, следует иметь в виду, что сложность шифрования в значительной мере определяется информационной ценностью самого сообщения. Сложность алгоритма дешифровки не должна превышать того разумного времени, при котором сообщение еще не потеряет своего интереса для адресата. В определенном смысле эти требования повторяют постулаты Ф.Бэкона.
Стойкость криптограмм При исследовании криптостойкости данного шифра К.Шенноном была предложена следующая модель. Задано множество исходных сообщений P = {M1 M2 . . . Mn } с априорными вероятностями p(Mi ) = pi , i = 1, n и множество криптограмм C = {E1 , E2 , . . . , Em }, где Ei = F (Mi ), i = 1, 2, . . .. Условие. После перехвата криптотекста Ei можно вычислить условную вероятность pEi (Mj ). Ясно, что в надежной системе такой перехват не должен влиять на возможность расшифровки. Это обстоятельство находит свое выражение в следующем определении. Определение. Криптосистема называется совершенно секретной, если pEi (Mj ) = p(Mj ), j = 1, n
(∗)
Теорема 44. Число различных ключей в совершенно секретной криптосистеме не менее числа различных сообщений в пространстве P . Доказательство. Заметим, что если в криптосистеме один ключ, то число криптограмм равно |P | = n; если два ключа, то 2n и т.д. Далее, из формулы Байеса следует с учетом (∗) p(M )pM (E) pE (M ) = = p(M ) p(E) Таким образом, существует ненулевая вероятность того, что криптограмма E получена из текста M , т.е. Fs (M ) = E для некоторого ключа Ks . Другими словами, для каждой пары (Mi , Ej ) должен существовать ключ, переводящий Mi в Ej . Так как число криптограмм не меньше числа сообщений n, то и число ключей |K| должно быть не меньше, чем n. Примером совершенно секретной системы является простая криптографическая схема. Пространство P состоит из одного сообщения a,т.е. P = {a}; a ∈ B n , в системе имеется один ключ b ∈ B n и шифротекст состоит из одной криптограммы C{a+b}. Таким образом, к исходному двоичному слову a мы прибавляем по mod 2 ”случайное” слово b из B n и получаем криптотекст a0 = a + b Дешифровка состоит в том, что к a0 прибавляется ключ b: a0 + b = a + b + b = a 76
Единственным недостатком этой системы является ее практическая неэффективность: длина ключа равна длине сообщения. Тем не менее, в военные годы подобные системы, названные ”шифро-блокнотами” имели широкое распространение при шифровке особо важной информации. В целом рассмотренные выше криптосистемы относятся к классу так называемых симметричных схем, определяемых эквивалентными по сложности алгоритмами шифровки и дешифровки. Ниже мы рассмотрим более сложный пример криптографического преобразования. Пусть A = {А,Б,В . . .} – русский алфавит и N = {1, 2, 3 . . .} – номера его букв в естественной записи. Каждому слову a ∈ A∗ сопоставим его цифровой код, заменив каждую букву ее номером. После этого полученное число возведем в квадрат. Это и будет криптограмма. Например, слово ”баба” имеет шифровой код x = 2121. Далее, x2 = 4428641 – криптограмма. Дешифровка состоит в извлечении квадратного корня из заданного числа и перевода его в буквенную запись. Трудность в декодировании состоит только в умении извлекать квадратный корень из обычного числа.
Криптография с открытым ключом Ниже рассматривается схема шифрования с ”открытым ключем”. Другими словами, способ шифровки полностью известен и им может воспользоваться каждый желающий. Для дешифровки же нужны дополнительные данные, известные только адресату. Одна из таких схем, принадлежащая Райвесту, Шамиру и Адельману, описывается ниже. Исходное сообщение 00 a00 задается цифровым кодом, т.е. в алфавите {0, 1, 2, . . . , 9}. Параметры системы RSA следующие 1) P, Q – ”большие” простые числа; 2) Числа e и f удовлетворяют сравнению ef ≡ 1(mod ϕ(P Q)) где ϕ(m) – функция Эйлера и ϕ(P Q) = (P − 1)(Q − 1). Открытые параметры системы RSA: 1) Число N = P Q; 2) Число e. Схема шифрования: 1) Исходное сообщение 00 a00 возводится в степень e и результат приводится по modN . Таким образом, криптограмма r определяется соотношением ae ≡ r(mod N ) 2) Сообщение 00 r00 и посылается адресату. Дешифровка:
77
1) Адресат, используя скрытый параметр 00 f 00 , дешифрует криптограмму 00 r00 следующим образом rf ≡ r0 (mod N ) 2) Найдем r0 . Имеем, по определению r0 ≡ rf ≡ (ae )f ≡ aef ≡ aλϕ(N )+1 ≡ (aϕ(N ) )λ · a ≡ a т.к. по теореме Эйлера если (a, N ) = 1, т.е.
aϕ(N ) ≡ 1( mod N ) r0 ≡ a
при выполнении определенного выше условия, и декодирование дает ”правильный” результат. Комментарии. Криптоаналитик знает n = P Q e и ae ≡ r(modN ), т.е. его информация – это тройка (N, e, r). Цель криптоанализа – нахождение 00 a00 . Ясно, что 00 a00 можны найти перебором. Для этого в уравнение xe ≡ r(mod N ) надо вместо x подставлять числа из интервала [1, N ]. Таким образом, время перебора есть величина порядка O(N ). Так как длина e(N ) десятичной записи числа N имеет порядок логарифма, т.е. e(N ) = O[lg N ], то время перебора есть exp от длины записи N . В частности, если e(N ) = 1000 цифр, то перебор порядка 101000 практически неразумен. Что можно предложить еще? Если удается разложить N на множетели, т.е. найти P и Q, то тогда можно найти ϕ(N ) = (P − 1)(Q − 1) и потом найти секретный ключ адресата из уравнения x · e ≡ 1(mod ϕ(N )) Данное уравнение имеет решение x ≡ eϕ(ϕ(N ))−1 . Следует отметить, что к настоящему моменту времени неизвестны эффективные алгоритмы решения обоих упомянутых проблем. Более того, имеются серьезные доводы в пользу того, что таких алгоритмов не существует вообще. В целом, затронутая проблематика – это один из разделов современной сложности вычислений. Пример. Пусть P = 3, Q = 7. Тогда P Q = 21, ϕ(P Q) = 21, e = f = 5. Действительно ef = 5 · 5 = 25 ≡ 1(mod 12) Так как N = P Q = 21, то a ∈ [1, 21]. Выберем a = 11. Тогда ae = 115 (mod 21) Найдем ae . Имеем 115 = 11·(121)2 = 11·(21·5+16)2 = 11·162 = 11(21−5)2 = 11·52 = 11(21+4) = 44 ≡ 2(mod21) Таким образои, криптограмма r = 2. Дешифровка состоит в следующем: rf = 25 = 32 = 21 · 1 + 11 ≡ 11(mod 21) т.е. rf ≡ a 78
Перечислительные задачи комбинаторного анализа Комбинаторный анализ представляет собой раздел математики, посвященный изучению конечных множеств, конечных графов и других структур, основным свойством которых является конечность или дискретность базового множества или множества свойств. Основная проблема в перечислительном комбинаторном анализе может быть на содержательном языке сформулирована следующим образом: сколько существует объектов, удовлетворяющих заданным перечнем ”свойств”? Этим набором не очень внятных фраз мы предварим знакомство с конкретными задачами перечислительного комбинаторного анализа, естественность и простота которых вряд ли нуждается в пространных комментариях. Как обычно, A = {a1 , a2 . . . am } – конечное множетво; 2A – семейство всех подмножеств S T – множества A, Ak – семейство всех k-элементных подмножеств множества A; , обычные операции булевой алгебры и |A| – мощность или число элементов множества A. Ниже мы приведем некий случайный набор простых перечислительных задач с ответами. 1) Число подмножеств из 2A , содержащих фиксированный элемент ai . Ответ: 2m−1 . . 2) Число подмножеств из Ak , содержащих заданный элемент ai . Ответ: m−1 k−1 3) Число матриц размеров (m × n) с элементами нуль или единица. Ответ: 2mn .
4) Число матриц размеров (m×n) с элементами нуль и единица и с общим числом единиц, равным k. Ответ: mn . k m
5) Число функций, заданных на булеане 2A со значениями в множестве {0, 1}. Ответ: 22 . 6) Число симметричных квадратных матриц порядка n со значениями элементов нуль n+1 или единица. Ответ: 2( 2 ) . 7) Число решений уравнения X ∪ Y = A при соглашении (X, Y ) 6= (Y, X). Ответ: 3m . 8) Число решений уравнения X ∪ Y = A при X ∩ Y = ∅ и (X, Y ) 6= (Y, X). Ответ: 2m .
Линейные диофантовы уравнения Определение. Линейным диофантовым уравнением называется уравнение вида n X
ai x i = b
(1)
i=1
где ai , b – натуральные числа, и решением называеися вектор x = (x1 x2 . . . xn ) с натуральными координатами. Пусть tn – число решений уравнения (1). Лемма 21.
1 tn = 2πi
I
|u|=ρ
du ub+1 (1
где ρ < 1. 79
−
ua1 ) . . . (1
− aa n )
(2)
Доказательство. По определению числа решений уравнения (1) и из основных фактах об аналитических функциях комплексного переменного имеем следующее представление Pn I X u i=1 ai xi 1 du (3) tn = 2πi |u|=ρ ub+1 {x1 x2 ...xn }
где суммирование ведется по всем натуральным векторам (x1 x2 . . . xn ). Из (3), меняя порядок суммирования и интегрирования, получаем ( ∞ ) I ∞ X X 1 1 tn = ua 1 x 1 . . . uan xn du = 2πi |u|=ρ ub+1 x =0 xn =0 1 I du 1 b+1 a 1 2πi |u|=ρ u (1 − u ) . . . (1 − aan ) Мы временно отложим исследование интеграла в формуле (2), а обратимся к ряду интересных частных случаев, в которых эта формула будет полезной. a) Пусть все ai равны единице. т.е. a1 = a2 = . . . an = 1 Тогда tn – это число слов вида bx1 1 bx2 2 . . . bxnn , где, по определению, bxi i = bi bi . . . bi . | {z } Pxni Слово bx1 1 bx2 2 . . . bxnn можно интерпретировать как мультимножество мощности i=1 xi мультимножества A = {b1 b2 . . . bn }. Таким образом, число tn решений уравнения x1 + x2 + . . . + xn = m это число мультимножеств мощности m у n-элементного множества или, другими словами, число сочетаний с повторениями из n элементов по m. Из формулы (2) получаем I (1 − u)−n 1 −n n+m+1 m du = (−1) = tn = m m 2πi |u|=ρ um+1 И, таким образом, мы имеем хорошо известный результат: число мультимножеств n+m+1 мощности m у n-элементного множества равно m В ряде случаев требуется найти число решений уравнения x1 + x2 + . . . + xn = m
(4)
где xi ≥ 1. В этом случае число решений уравнения (4) называется разбиением числа m на n частей. Если это число обозначить через ∆m (n), то поступая так же как и в предыдущем случае, получим I I 1 un (1 − u)−n 1 du = du ∆m (n) = 2πi |u|=ρ um+1 (1 − u)n 2πi |u|=ρ um−n+1 и окончательный ответ выглядит так ∆m (n) =
80
m−1 n−1
b) Второй частный случай – это так называемая задача о размене монет, которую мы рассмотрим в следующем простом варианте. Требуется купюру достоинством в n рублей разменять путем 2-х и 3-х рублевых ассигнаций. Сколькими способами это можно сделать? Таким образом, речь идет о нахождении числа натуральных решений следующего уравнения 2x + 3y = n Обозначим число решений этого уравнения через tn . Из формулы (2) получаем I 1 du tn = n+1 2πi |u|=ρ u (1 − u2 )(1 − u3 ) Для вычисления интеграла используем основную теорему о вычетах. Так как вычет подинтегральной функции в бесконечности равен нулю, то X 1 tn = − res un+1 (1 − u2 )(1 − u3 ) ω где суммирование ведется по всем ненулевым особым точкам подинтегральной функции. Так как 1 1 = n+1 n+1 2 3 2 u (1 − u )(1 − u ) u (1 − u) (1 + u)(1 + u + u2 )
то особые точки – это полюса следующих кратностей: ω1 ω2 ω3 ω4
= 1 кратности 2 = −1 кратности 1 2πi = e 3 кратности 1 4πi = e 3 кратности 1
Вычисление вычетов во всех особыхточкахпроводится стандартным способом −(n+1) −(n+1) d n+1 1 u u = =− resu=ω1 − 2 2 2 (1 − u) (1 + u)(1 + u + u ) du (1 + u)(1 + u + u ) u=1 6 4 u−(n+1) d (−1)n+1 u−(n+1) resu=ω2 = = (1 − u)2 (1 + u)(1 + u + u2 ) du (1 − u)2 (1 + u + u2 ) u=−1 4 −(n+1) −(n+1) u d u resu=ω3 = (1 − u)2 (1 + u)(u − ω3 )(u − ω4 ) du (1 − u)2 (1 + u)(u − ω4 ) u=ω3 −(n+1) u u−(n+1) d resu=ω4 = (1 − u)2 (1 + u)(u − ω3 )(u − ω4 ) du (1 − u)2 (1 + u)(u − ω3 ) u=ω4
Отсюда, с учетом ограниченности по модулю всех вычетов, кроме вычета в точке u = ω1 получаем n tn ∼ 6
Производящие функции Изучение многих перечислительных задач комбинаторного анализа проводится с привлечением аппарата производящих функций. Ниже дается общая схема этого метода и
81
приводится ряд классических примеров. Рассмотрим множество формальных степенных рядов Cu = {A(u)} в следующей форме: A(u) = uk (a0 + a1 u + . . .), a0 6= 0, k = 0, ±1, ±2, . . .
(1)
Определение. Ряд A(u) называется обыкновенной производящей функцией для последовательности {a0 , a1 , . . .}. Два ряда A(u) и B(u) из Cu называются равными, если ak = bk , k = 0, 1, . . . Множество Cu с обычными операциями сложения и умножения степенных рядов образует кольцо формальных степенных рядов. На кольце Cu определяется линейный функционал: Coefu {A(u)} = a−1 Таким образом, линейный функционал Coefu каждому степенному ряду A(u) вида (1) ставит в соответствие коэффициент этого ряда при u−1 . Примеры.
n −k−1
1) Coefu (1 + u) u
=
n k
λk 2) Coefu eλu u−k−1 = k! 1 3) Coefu ln(1 − u)u−k−1 = − k
−n −k−1
4) Coefu (1 − u)
u
k
= (−1)
o 2k n − 21 −k−1 5) Coefu (1 − 4u) u = k
−n k
=
n+k−1 k
Справедливо следующеее утверждение, поясняющее смысл функционала Coefu {A(u)} в ординарной ситуации. Утверждение 35. Если ряд A(u) сходится в окрестности точки u = 0, то I 1 Coefu {A(u)} = A(u)du = resu=0 A(u) 2πi |u|=ρ Доказательство. Без доказательства. Таким образом, в случае сходимости в нуле функционал Coefu {A(u)} есть просто вычет в этой особой точке. Замечание. Если f (u) ∈ Cu , то Coefu {f 0 (u)} = 0, что, в каком-то смысле, поясняет алгебраическую природу функционала Coefu {A(u)}. Для функционала Coefu {A(u)} верны следующие свойства, являющиеся прямым следствием исходных определений. 1) αCoefu {A(u)} + βCoefu {B(u)} = Coefu {αA(u) + βB(u)} – линейность; 82
2)
P∞
k=0
z k Coefu {A(u)u−k−1 } = A(z).
Схема использования метода производящих функций состоит в том, что для изучения исходной ”комбинаторной” последовательности {ak } применяется ее производящая функция ∞ X a k uk A(u) = k=0
алгебраические и функциональные свойства которой могут пролить свет на поведение исходной последовательности {ak }. Примеры.
n 1) Пусть ak = – k-ый биномиальный коэффициент. Тогда k n n X X n k k f (u) = ak u = u = (1 + u)n k k=0 k=0 в силу формулы бинома Ньютона. Производящая функция f (u) позволяет глубже проникнуть в структуру биномиальных коэффициентов и найти целый ряд их свойств, которые с трудом поддаются комбинаторной интерпретации. n n a) = k n−k n n−1 n b) = k k−1 k n−1 n−1 n + = c) k−1 k k Это свойство является ”непосредственным” преобразования
следствием простого алгебраического
(1 + u)n = (1 + u)(1 + u)n−1 = (1 + u)n−1 + u(1 + u)n−1 и сравнением коэффициента при uk в левой и правой частях. Следующие тождества являются широко используемыми и простыми соотношениями между биномиальными коэффициентами. n X n 1) = 2n k k=0 n X k n =0 (−1) 2) k k=0 n X n k = n · 2n−1 3) k k=0 k X n m m+n = 4) s k−s k s=0 83
5)
N X m
m=n
n
=
N +1 n+1
Мы приведем доказательство тождества 5), которое содержит в себе все основные моменты типичных рассуждений, применяющихся в похожих ситуациях. ( ) N N N X X m 1 X m −n−1 m Coefu (1 + u) u = Coefu = (1 + u) = n un+1 m=n m=n m=n 1 (1 + u)N +1 − (1 + u)n (1 + u)N +1 − (1 + u)n N +1 Coefu = Coefu = · un+1 (1 + u) − 1 un+2 n+1 На шаге 1 мы воспользовались предствлением биномиального коэффициента в виде функционала Coefu { }, на шаге 2 использовали свойство линейности этого функционала, на шаге 3 просуммировали геометрическую прогрессию и в конце вернулись к выражению в форме биномиальных коэффициентов. Ангалогично X k n X n m n = Coefu (1 + u)m u−k+s−1 = s k−s s s=0 s=0 ) ( n (1 + u)m+n m+n (1 + u)m X n s u = Coefu = Coefu uk+1 s=0 s uk+1 k Следующий пример завершает этот список иллюстраций X n n X n+i i n i n (−1) = (−1) Coefu (1 + u)n+i u−i−1 = i i i i=0 i=0 ( i ) n n X n 1 + u (1 + u) (−1)i = Coefu i u u i=0 n (1 + u)n 1+u (1 + u)n n Coefu 1− = Coefu (−1) = (−1)n n+1 u u u 2) в задаче о ”размене монет” для последовательности {tn }, где tn – число натуральных решений уравнения 2x + 3y = n имеем следующую производящую функцию F (u) =
X
1
tn un =
(1 −
n
u2 )(1
− u3 )
Действительно, из выражения 1 tn = 2πi
I
|u|=ρ
du un+1 (1 − u2 )(1 − u3 )
имеем F (u) =
1 (1 −
u2 )(1
− u3 )
Как дальше работать с формулой (2) было показано выше. 84
(2)
В общем случае задача о размене монет состоит в нахождении числа натуральных решений следующего уравнения a1 x 1 + a2 x 2 + . . . + an x n = N Производящая функция для числа tn решений этого уравнения имеет следующий вид: ∞ X
tN uN =
N =1
(1 −
ua1 )(1
1 − ua2 ) . . . (1 − uan )
3) Числа Фибоначчи Рассмотрим последовательность {an }, члены которой удовлетворяют соотношению an+1 = an + an−1 при n ≥ 1 и начальным условиям a0 = a1 = 1 Найдем производящую функцию для последовательности {an }. Имеем по определению F (z) = +z 2
∞ X n=2
∞ X
an z n = a0 + a1 z +
n=0
∞ X
(an−1 + an−2 ) z n = 1 + z + z
n=2
∞ X
an−1 z n−1 +
n=2
an−2 z n−2 = 1 + z + [F (z) − 1] + z 2 F (z)
или, выражая отсюда F (z), получаем F (z) =
1 1 − z − z2
Для того, чтобы найти в явном виде коэффициенты an нужно разложить F (z) в степенной ряд. Для получения такого разложения разложим сначала F (z) на простые дроби: 1 1 A B = = + 1 − z − z2 (1 − az)(1 − bz) 1 − az 1 − bz √ √ 1+ 5 1− 5 a b где a = ,b = ,A = ,B = − . Далее 2 2 a−b a−b ∞ ∞ ∞ X X X A B an+1 − bn+1 n n n + =A z (az) + B (bz) = 1 − az 1 − bz a−b n=0 n=0 n=0
отсюда
√ !n+1 1 1+ 5 − an = √ 2 5
√ !n+1 1− 5 2
Из вида производящей функции для F (z) можно получить другое представление для an . Действительно ∞ ∞ X k ∞ k X X 1 k s 2 k−s X X k 2k−s 1 2 k = = (z + z ) = z (z ) = z F (z) = 1 − z − z2 1 − (z + z 2 ) k=0 s s k=0 s=0 k=0 s=0
85
Положим 2k − s = r. Тогда F (z) =
∞ X 2k X
z
r
k=0 r=k
Пусть теперь r − k = m. Тогда
k 2k − r
=
Отсюда F (z) =
r−m r − 2m
∞ X
z
r
=
r−m m
r X r−m m
m=0
r=0
или
k 2k − r
[2] X n−m n
an =
m=0
m
Производящие функции классических объектов 1)Разбиение чисел. Пусть A ⊆ Zn . Рассмотрим уравнение x1 + x2 + . . . + xn = m
(1)
где xi ∈ A. Каждое решение (x1 x2 . . . xn ) уравнения (1) – это разбиение числа m на n частей с частями, принадлежащими множеству A. Если tA (m) – число решений этого уравнения, то производящая функция ∞ X FA (u) = tA (m)z m m=0
зависит от природы множества A. Если A = Zn , то, как мы видели выше ∞ X
m=0
t(m, n)z m = (1 − z)−n
Если A = {1, 2, . . .} = Zn \{0}, то ∞ X
m
t(m, n)z =
m=0
Если A = {0, 1}, то
n X
z 1−z
n
t(m, n)z m = (1 + z)n
m=0
Если A = {0, 1, 2}, то
n X
t(m, n)z m = (1 + z + z 2 )n
m=0
До сих пор были рассмотрены разбиения упорядоченные, т.е. каждому решению уравнения (1) сопоставлялся вектор (x1 x2 . . . xn ) и решения, отличающиеся порядком слагаемых, 86
считались различными. Если же обращать внимание только на сами компоненты решения, то мы приходим к понятию неупорядоченного решения. Каждому вектору (x1 x2 . . . xn ), компоненты которого удовлетворяют уравнению (1), можно сопоставить набор чисел (y1 y2 . . .), где yi – это число вхождений числа i в вектор (x1 x2 . . . xn ). Ясно, что m X
kyk = m
k=1
и набор (y1 y2 . . .) – это неупорядоченное решение уравнения (1). Число неупорядоченных решений уравнения (1) мы обозначим через p(n). Пусть P (u) – производящая функция последовательности {p(n)}. Q i −1 Теорема 45. P (u) = ∞ i=1 (1 − u ) .
Доказательство. Поступая как и раньше мы получаем ) ) ( P ( X u k kyk 1 X y1 X 2y2 p(n) = u u ... = Coefu = Coefu um+1 um+1 y y2 (y1 y2 ...) 1 ( ) ∞ (1 − u)−1 (1 − u2 )−1 . . . 1 Y Coefu = Coefu (1 − ui )−1 um+1 um+1 i=1 Отсюда выводим P (u) =
X
p(m)um =
∞ X
m=1
) (∞ ∞ Y Y i −1 −m−1 m = (1 − z ) z (1 − ui )−1 u Coefu i=1
i=1
2)Разбиение множеств. Пусть A = {a1 , a2 , . . . , an } – произвольное конечное множество. Определение. Разбиением множества на k частей называется представление A=
k [
Ai
i=1
где Ai ∈ 2A , Ai 6= ∅, Ai ∩ Aj = ∅ при i 6= j. Подмножество Ai называется блоком разбиения. Для разбиения называются различными, если они различаются хотя бы одним блоком. Пример. Пусть A = {1, 2, 3} и A = {1, 2} ∪ {3} = {1, 3} ∪ {2} = {2, 3} ∪ {1} = {1} ∪ {2} ∪ {3} Тогда выписанные представления являются всеми разбиениями множества A. Обозначим через S(n, k) число всех разбиений n–элементного множества на k блоков. Нашей ближайшей целью будет изучение функции S(n, k). Замечание. Каждому разбиению m–элементного множества на k блоков можно сопоставить {0, 1}–матрицу T со следующими свойствами: 1) Число строк в T равно k и все строки ненулевые. 87
2) В каждом из m столбцов матрицы T содержится ровно одна единица. В следующем утверждении находится ”экспоненциальная” производящая функция для последовательности {S(n, k)} при фиксированном k. Лемма 22.
∞ X
S(n, k)
n=0
un (eu − 1)k = n! k!
(2)
Доказательство. Чтобы найти S(n, k) надо разбить число n на k ненулевых слагаемых x1 + x2 + . . . + xk = n, xi ≥ 1
(3)
Потом взять k ящиков B1 B2 . . . Bk с объемами x1 , x2 , . . . , xk , соответствующих разбиению ( ) и разместить в этих ящиках элементы множества A = {a1 a2 . . . an }. При этом в ящике Bi находится ровно xi элементов. Отсюда следует соотношение ( k ) X n 1 X n! uΣi=n xi 1 = Coefu S(n, k) = = x1 x2 . . . xk k! k! x ≥1 x1 ! . . . xk ! un+1 n! Coefu k!
(
P x1 . . . xk xi ≥1 xi = n
1
un+1
i
∞ ∞ X X ux 1 ux k ... x! x ! x =1 1 x =1 k 1
k
)
n! = Coefu k!
1 X n (eu − 1)k = u Coefz {(ez − 1)k z −n−1 } = k! n=0 k!
(eu − 1)k un+1
Отсюда имеем представление ∞ X
∞
un X un S(n, k) = Coefz n! k! n=0 n=0
(ez − 1)k z n+1
∞
Из полученного представления можно получить явное выражение для чисел S(n, k). Следствие 1.
k (−1)k X s k (−1) sn S(n, k) = s k! s=0
(4)
Доказательство. Рассмотрим разложение k us e = (e ) (−1) = (−1) (−1) (e − 1) = s s s=0 s=0 X k ∞ ∞ k X X (us)r ur X k s k k s k (−1) (−1) = (−1) (−1) sr s r! r! s s=0 r=0 r=0 s=0 u
k
k X k
u s
k−s
k
k X
s
(5)
Сравнивая формулы (2) и (4) получаем требуемое. Для вычисления S(n, k) при конкретных значениях переменных можно использовать также следующее реккурентное соотношение. Утверждение 36. S(n, k) = kS(n − 1, k) + S(n − 1, k − 1) (n ≥ 1) 88
(6)
Доказательство. Пусть A = {a1 a2 . . . an } и A0 = {a1 a2 . . . an−1 }. Каждое разбиение множества A на k блоков можно получить из A0 и {an } следующими двумя способами: 1) Взять любое разбиение A0 на k блоков и добавить в один из блоков элемент an . Таким способом получится kS(n − 1, k) разбиений. 2) Взять любое разбиение A0 на (k − 1) блок и к каждому такому разбиению добавить блок {an }. Таким способом мы получим S(n − 1, k − 1) разбиений.
Ясно, что эти два способа исчерпывают все возможности. Отсюда следует соотношение (6) Следствие 2. 1) S(n, n − 1) =
n 2
2) S(n, n − 2) = 3
;
n 4
+
n 3
.
Доказательство. 1) Из предыдущего реккурентного соотношения следует n S(n, n − 1) = (n − 1)S(n − 1, n − 1) + S(n − 1, n − 2) = (n − 1) + (n − 2) + . . . + 1 = 2 2) Из того же реккурентного соотношения и из 1) последовательно получаем n−1 S(n, n − 2) = (n − 2)S(n − 1, n − 2) + S(n − 1, n − 3) = (n − 2) + 2 n−2 n−2 n−2 X X X n−i n−i n−i S(n − 2, n − 4) = (n − i − 1) = (n − i − 2) + = 2 2 2 i=1 i=1 i=1 X n−2 n−2 X n−i n−i + 3 2 3 i=1 i=1 Далее n−2 X n−i
n−2 X
n−i −4
= Coefu {(1 + u) 3 i=1 n (1 + u)n = Coefu 5 u 4 i=2
n−2 X n−i i=1
Отсюда
2
= Coefu
u } = Coefu
1 (1 + u)2 − (1 + u)n u3 1 − (1 + u)
1 (1 + u)2 − (1 + u)n u4 1 − (1 + u)
= Coefu
(1 + u)n u4
=
n = 3
n n S(n, n − 2) = 3 + 4 3
Замечание. Числа S(n, k) называют числа Стирлинга II-го рода. Они играют значительную роль в различных комбинаторных задачах. Ниже показана их роль в нескольких таких ситуациях.
89
Пусть (x)k = x(x − 1) . . . (x − k + 1) и, по определению (x)0 = 1 Тогда
(x)k x , k k!
Теорема 46.
n X
(x)k S(n, k) = xn
(7)
k=0
Доказательство. Будем исходить из представления (4) для чисел Стирлинга II-го рода k (−1)k X s k S(n, k) = (−1) sn k! s=0 s Далее
k (−1)k X s k (x)k (x)k S(n, k) = (−1) sn = s k! s=0 k=0 k=0 X k n X X X k s k n s n k x k x (−1) s = (−1) s (−1) (−1) s s k s=0 k s=0 k=0 k=0 n X
n X
Далее
x k x x−s = k s s k−s
Отсюда
X x x k x (−1)s , при x = s; k x−s (−1) = (−1) = 0, при x 6= s. k s s k=s k−s k=s
X
k
Окончательно получаем
n X
(x)k S(n, k) = xn
k=0
Разбиение перестановок Пусть Sn – симметрическая группа степени n, π ∈ Sn и π = v1 · v2 · . . . · vm – разбиение перестановки π в произведение m независимых циклов vi . Обозначим через ci (π) число независимых циклов длины i в перестановке π. Определение. Вектор c(π) = (c1 c2 . . . cn ) называется типом перестановки π. Пример. Пусть π=
1 2 3 4 5 6 2 4 1 3 6 5
=
90
1 2 4 3
5 6
.
Тогда c(π) = (010100). Определение. Пусть G ⊆ Sn и G – подгруппа Sn . Цикловым индексом группы G называется следующий полином от n переменных ΦG (x1 , x2 , . . . , xn ) =
1 X c1 c2 x1 x2 . . . xcnn , |G| g∈G
где вектор (c1 c2 . . . cn ) – тип перестановки g. Обозначим через K(c1 , c2 , . . . , cn ) число перестановок типа c = (c1 c2 . . . cn ) в группе Sn . Лемма 23. K(c1 , c2 , . . . , cn ) =
1c1
· c1 ! ·
2c2
n! · c 2 ! · . . . · nc n · c n !
(54)
Доказательство. Пусть π = v1 · v2 · . . . · vm – разложение перестановки π ∈ Sn в произведение независимых циклов. Рассмотрим действие группы Sn на саму себя, определенное следующим образом g(π) = g(v1 )g(v2 ) . . . g(vm ).
(55)
Рассмотрим разбиение группы Sn на типы Sn =
[
R(c),
(56)
c
где R(c) – класс всех перестановок типа c = (c1 c2 . . . cn ). Отметим, что если π ∈ R(c), то g(π) ∈ R(c), т.е. группа Sn действует на элементы разбиения (55) инвариантным образом. Таким образом R(c) – это орбита действия группы Sn . По лемме о мощности орбит преобразований имеем следующую формулу R(c) =
|Sn | , |Stab(π)|
где π – перестановка типа c и Stab(π) = {g : g(π) = π}. Найдем теперь мощность стабилизатора |Stab(π)|. Т.к. тип π определяется вектором (c1 c2 . . . cn ), то перестановка g, сохраняющая π, должна действовать следующим образом: она переставляет циклы одинаковой длины – "внешнее"преобразование и преобразует циклы в себя – "внутреннее"преобразование. Число "внешних"преобразований равно c1 !·c2 !·. . .·cn !. Если цикл имеет длину r, то существует r циклических сдвигов, переводящих в себя. Т.к. число циклов длины r равно cr , то все вместе они допускают rcr "сдвигов", не меняющих ни один из циклов. Таким образом, каждой "внешней"перестановке из общего числа c1 ! · c2 ! · . . . · cn ! соответствует 1r1 2r2 . . . nrn "внутренних"перестановок циклов, не меняющих π. Отсюда следует, что |Stab(π)| = c1 ! · c2 ! · . . . · cn ! · 1c1 · 2c2 · . . . · ncn и окончательно |Orbit(π)| = ind Stab(π) =
n! c1 ! · 1c1 · c2 ! · 2c2 · . . . · cn ! · ncn
что и требовалось доказать. Обозначим через Φn (x1 , x2 , . . . , xn ) – цикловой индекс группы Sn . Имеет место следующее утверждение. 91
Теорема 47.
∞ X
un u2 un = eux1 + 2! x2 +...+ n! xn , n!
Φn (x1 , x2 , . . . , xn )
n=0
где Φ0 , 1.
(57)
Доказательство. Из определения циклового индекса и формулы для K(c1 , c2 , . . . , cn ) получаем: Φn (x1 , x2 , . . . , xn ) =
X 1 n! Pn i=1
=
K(c1 , c2 , . . . , cn )xc11 xc22 . . . xcnn =
ici = n
1 X K(c1 , c2 , . . . , cn )xc11 xc22 . . . xcnn n! {c1 ...cn }
Coefu
(
u
Pn
i=1
)
ici
un+1
= Coefu
(
1 un+1
n 2 ∞ ∞ ∞ X X (xn un )cn (x1 u)c1 X (x2 u2 )c2 ... c1 ! c =0 c2 ! cn ! c =0 c =0 1
n
2
)
=
n o u2 = Coefu ex1 u+x2 2 +... · u−n−1 .
Это эквивалентно утверждению теоремы.
Обозначим через C(n, k) число перестановок из группы Sn имеющих ровно k независимых циклов и пусть Cn (x) – производящая функция последовательности {C(n, k)} при фиксированном n, где C0 (x) , 1. Лемма 24. Cn (x) = x · (x + 1) · . . . · (x + n − 1) =
n X
C(n, k)xk .
(58)
k=0
Доказательство. Из предыдущей теоремы при x1 = x2 = . . . = xn получаем o n P∞ us Φn (x1 , x2 , . . . , xn ) = Coefu ex s=1 s · u−n−1 = Coefu e−x ln(1−u) · u−n−1 =
= Coefu (1 − u) u
1 n!
X
Далее
−x −u−1
Φn (x1 , x2 , . . . , xn ) = n
=
X 1 X k x n! k=0 Pn i=1 ci
n
= (−1)
−x n
x+n−1 . n
K(c1 , c2 , . . . , cn )x
{c1 ,...,cn }
K(c1 , c2 , . . . , cn ) = =k
Pn
i=1 ci
=
n
1 X C(n, k)xk n! k=0
Используя предыдущую формулу теперь получаем n X x+n−1 k Cn (x) = = x · (x + 1) · . . . · (x + n − 1). C(n, x)x = n! n k=0
92
Далее будем рассматривать вопрос о том, сколько независимых циклов имеет случайная перестановка из группы Sn ? Пусть pk – вероятность того, что при равномерном распределении на группе Sn случайная перестановка π ∈ Sn имеет ровно k независимых циклов. Таким образом, мы определили на группе Sn случайную величину ξ(π) – число независимых циклов у перестановки π. Теорема 48.
n X 1 Eξ = . m k=1
Доказательство. Рассмотрим величины ξ: fξ (x) =
производящую n X k=1
Т.к.
pk x
k
(59)
функцию
n X C(n, k)
n!
k=1
xk =
распределения
случайной
1 Cn (x). n!
1 0 C (1), n! n
Eξ = fξ0 (1) = то с учетом формулы для Cn (x), получаем Cn0 (x) = Cn (x)
n−1 X i=0
1 . x+i
(60)
Т.к. Cn (1) = n!, то из (60) получаем n−1
n
X 1 C 0 (1) Cn (1) X 1 Eξ = n = = . n! n! i=0 1 + i m i=1 Следствие. Eξ ∼ ln n. Замечание. Числа C(n, k) называют числами Стирлинга I-го рода. Замечание. Рассмотрим пространство Pk полиномов степени не большей k над полем C. Каноническим базисом этого пространства является {1, x, . . . , xk }. Другим базисом является совокупность полиномов вида {1, x, x(x − 1), . . . , x(x − 1) . . . (x − k + 1)}. Теперь доказанное выше равенство n X (x)k S(n, k) xn = k=0
есть просто формула перехода от одного базиса к другому. Найдем теперь общее число разбиений n-элементного множества на блоки. Это число называется числом Белла и обозначается через B(n).
Теорема 49.
∞
1 X kn B(n) = . e k=0 k!
93
(61)
Доказательство. Из представления n X 1 S(n, k) = n! Coefu (eu − 1)k u−n−1 k! k=0
получаем B(n) =
n X
S(n, k) = n!Coefu
k=0
(
∞ 1 X (eu − 1)k un+1 k=0 k!
)
u = n!Coefu ee −1 u−u−1 .
Верхний индекс во втором равенстве выбран равным бесконечности т.к. 1 u k (e − 1) = 0, k = n + 1, n + 2, . . . Coefu un+1 Предыдущее равенство в терминах производящей функции для {B(n)} можно записать в форме ∞ X zn z B(n) = ee −1 . (62) n! n=0 Далее
z −1
ee
=
∞ ∞ ∞ ∞ ∞ 1 X 1 X (zk)n 1 X z n X kn 1 X ezk = = . e k=0 k! e k=0 k! n=0 n! e n=0 n! k=0 k!
(63)
Сравнивая коэффициенты в (62) и (63) получаем ∞
B(n) =
1 X kn l k=0 n!
Формула (61) называется формулой Добинского. Еще одна интерпретация чисел Белла заключается в следующем утверждении. Лемма 25. Число различных эквивалентностей на n-элементном множестве равно B(n). Доказательство. Каждому определению эквивалентности на множестве A = {a1 , a2 , . . . , an } соответствует разбиение A на классы эквивалентностей. И обратно: каждое разбиение A можно понимать как разбиение на классы эквивалентностей.
Теорема Пойя Пусть A = {a1 , a2 , . . . , am } – произвольное множество, и на множестве A действует группа G ⊆ Sm стандартным образом: gai = aj , при g ∈ G. Действие G на A порождает отношение эквивалентности a ∼ b ⇔ ∃g ∈ G : ga = b. 94
На множестве B A отображений A −→ B определим группу преобразований, построив ее по группе G следующим образом. Каждое отображение f ∈ B A – это вектор (f (a1 ), f (a2 ), . . . , f (am )). Положим f1 = gf , f (g) = (f (g(a1 )), f (g(a2 )), . . . , f (g(am ))), т.е. gf = f1 , где f1 (ai ) = f (g(ai )). Пусть N = |B A | – число всех отображений из A в B и SN – симметрическая группа порядка N . Рассмотрим отображение T T
G → SN и определим его следующим образом: T (s) = s, если s(f ) = f (s). Другими словами, перестановка s переводит отображение f в отображение, которое получается из f путем перестановки s ∈ G. Пример. Пусть A = {1, 2, 3}, B = {x, y} и G = {g, g 2 = e}, где g = (1 2)(3). Тогда N = 8 и все функции заданные на A со значением в B выглядят следующим образом: f 1 2 3
f1 x x x
f2 y y y
f3 x y x
f4 y x x
f5 x x y
f6 y y x
f7 x y y
f8 y x y
Если s = g = (1 2)(3), то
f1 f2 f3 f4 f5 f6 f7 f8 s= = f1 f2 f4 f3 f5 f6 f8 f7 1 2 3 4 5 6 7 8 = (1)(2)(3 4)(5)(6)(7 8). = 1 2 4 3 5 6 8 7 Например, если f3 = (x y x), то gf3 = f3 (g) = (f3 (g1 ), f3 (g(2)), f3 (g(3))) = (f3 (2), f3 (1), f3 (3)) = (y, x, x) = f4 . Или gf8 = f8 (g), где f8 = (y x y). Далее f8 (g) = (f8 (g1 ), f8 (g(2)), f8 (g(3))) = (f8 (2), f8 (1), f8 (3)) = (x, y, y) = f7 . Отображение T – это гомоморфизм группы G в симметрическую группу SN . Таким образом на множестве отображенией B A действует некоторая подгруппа G0 ⊆ SN , которая порождает отношение эквивалентности: f1 ∼ f2 ⇔ ∃g ∈ G0 : f1 = gf2 . На множестве B зададим весовую функцию w : B −→ K, где K – произвольное коммутативное кольцо. Определение. Вес функции f это следующий элемент кольца K: w(f ) =
m Y
w(f (ai )).
i=1
Непосредственно проверяется справедливость следующего утверждения. Лемма 26. Если f1 ∼ f2 , то w(f1 ) = w(f2 ). 95
Доказательство. Без доказательства. Основная проблема, которой мы будем заниматься в дальнейшем состоит в нахождении числа классов эквивалентносей или число орбит отображений множества B A . Примеры. 1) Пусть A = {1, 2, 3}, B = {x, y}, G = S3 . Каждое отображение f из B A имеет следующий вид: f = (f1 , f2 , f3 ). Далее gf = (f (g(1)), f (g(2)), f (g(3))). Если f = (x, x, y) и g = (1 2)(3), то gf = (f (g(1)), f (g(2)), f (g(3))) = (f (2), f (1), f (3)) = (x, x, y) = f. Если же f = (x, y, x) и g = (1 2)(3), то gf = (y, x, x). Эти вычисления можно продолжить и получить следующую классификацию: L1 = {(x, x, x)} = {x3 }, L2 = {(y, y, y)} = {y 3 }, L3 = {(x, x, y), (x, y, x), (y, x, x)} = {x2 y}, L4 = {(y, y, x), (y, x, y), (x, y, y)} = {xy 2 }. Таким образом, в этом случае мы имеем четыре транзитивных множества или четыре орбиты: две мощности 1 и две мощности 3. 2) Если A и B – прежние, а G = {g = (1 2)(3), e}, то транзитивные множества будут следующими: L1 = {x3 }, L2 = {y 3 }, L3 = {(x, y, x), (y, x, x)}, L4 = {(x, y, y), (y, x, y)}, L5 = {(x, x, y)}, L6 = {(y, y, x)}. 3) Пусть A = {0, 1} и B = {x, y}. Существует четыре функции, отображающие A в B: f1 = (x, x), f2 = (y, y), f3 = (x, y), f4 = (y, x). Если на A действует группа G = {g = (1 2), g 2 = e}, то на множестве всех функций B A эта группа индуцирует группу перестановок G = {g, (g)2 = e}, где f1 f2 f3 f4 g= f2 f1 f4 f3 Пусть A=
k [
Ai
i=1 A
разбиение множества A и R0 ⊆ B подкласс функций, каждая из которых постоянна на Ai , т.е. f (a) , f (Ai ), при a ∈ Ai . Лемма 27.
X
f ∈R0
w(f ) =
k X n Y i=1 r=1
96
w|Ai | (br ).
(64)
Доказательство. По определению: X
w(f ) =
m XY
w(f (ai )) =
w(f (ai )) =
f ∈R0 s=1 ai ∈As
f ∈R0 i=1
f ∈R0
k Y XY
k XY
w|As | f (As ).
f ∈R0 s=1
Каждая функция f из R0 полностью определяется набором своих значений на каждом из классов разбиения Ai , т.е. совокупностью {bi1 , bi2 , . . . , bin } ⊆ B = {b1 , b2 , . . . , bn }. Таким образом, функцию f можно отождествить с вектором ее значений: (bi1 , bi2 , . . . , bik ). Отсюда следует X
w(f ) =
=
k Y
X
w|As | (f (As )) =
{bi1 ,...,bik } s=1
f ∈R0
X
X
A1
w (bi1 )
bi1
X
A2
{bi1 ,...,bik }
w (bi2 ) . . .
X
Ak
w (bik ) =
n X
w
|A1 |
n X
w(f ) =
w
|A2 |
(br ) . . .
n X
w|Ak | (br ).
r=1
!|A|
(65)
w(bi )
i=1
f ∈B A
n X r=1
Следствие. X
(br )
r=1
bik
bi2
wA1 (bi1 )wA2 (bi2 ) . . . wAk (bik ) =
Пусть теперь F1 , F2 , . . . , Fq – все классы эквивалентностей отображений из B A , т.е. q [
A
Fi = B и
i=1
q X
w(Fi ) =
r X
sWs ,
s=1
i=1
где Ws – число классов эквивалентностей всех S. Теорема 50. (Пойя) q X i=1
w(Fi ) = ΦG
n X
w(bi ),
i=1
n X
w2 (bi ), . . . ,
i=1
n X i=1
!
wm (bi ) ,
(66)
где ΦG (x1 , x2 , . . . , xm ) – цикловой индекс группы G. Доказательство. Пусть Rs – класс отображений из B A , имеющий вес равный s. Тогда на Rs группа G посредством своего гомоморфноого образа G действует инвариантным образом, т.е. w(gf ) = w(f ) = s. Таким образом, класс Rs разбивается на классы эквивалентностей, число Ws которых определяется по лемме Бернсайда следующим образом Ws =
1 X Ns (g) |G| g∈G
и Ns (g) – число функций из Rs , инвариантных относительно g, т.е. удовлетворяющих условию gf = f при f ∈ Rs . 97
Далее
q X i=1
r
1 X X s w(Fi ) = Ns (g). |G| s=1 g∈G
Но gf = f если и только если gf = f , где g ∈ G. Отсюда следует справедливость следующего равенства q r X 1 XX w(Fi ) = Ns (g). |G| s=1 g∈G i=1 Введем индикаторные функции 1, если gf = f ; f ξg = 0, если gf = 6 f.
Тогда
q X i=1
δsf
=
1, если w(f ) = s; 0, если w(f ) 6= s.
r r 1 X X fX f 1 X X X f f sδs = ξg s ξg δs = w(Fi ) = |G| s=1 g∈G |G| g∈G A A s=1 f ∈B
f ∈B
1 X X f 1 X X = ξg w(f ) = w(f ). |G| g∈G |G| g∈G f :gf =f A
(67)
f ∈B
Вычислим самую внутреннюю сумму в (67). Для этого разложим перестановку g в произведение независимых циклов: g = g1 g2 . . . gk . Этому разложению соответствует разбиение множества A на k блоков k [
A=
Ai ,
i=1
где блок Ai состоит из элементов цикла gi . Пусть gi = (t1 t2 . . . tp ). Тогда Ai = {t1 , t2 , . . . , tp }. Далее gts = gi ts ∈ Ai , т.е. каждое из множеств Ai является инвариантным относительно действия перестановки g. Далее, если gf = f , то g 2 f = g(gf ) = gf = g и, в общем случае, gf = g 2 f = g 3 f = . . . = f . Покажем теперь, что каждая из функций f ∈ B A , удовлетворяющая условию gf = f , постоянна на каждом из классов Ai . Действительно, если a, b ∈ Ai , то g r (a) = b. Поэтому f (b) = f (g r a) = g r f (a) = f (a). Верно и обратное утверждение: если функция f постоянна на каждом цикле gi , то gf = f . Действительно, gf = (g1 g2 . . . gk )f = (g1 g2 . . . gk−1 )gk f = (g1 g2 . . . gk−1 )f = . . . = f. Поэтому
X
w(f )
f :gf =f
это сумма весов функций класса R0 , каждая из которых постоянна на разбиении A=
k [
Ai .
i=1
Поэтому, в силу леммы 27, X
f :gf =f
w(f ) =
n X i=1
|A1 |
Bi
n X i=1
98
|A2 |
Bi
...
n X i=1
|Ak |
Bi
,
(68)
где Bi = w(bi ) i = 1, 2, . . . , n. Используя (67) и (68) получаем n X i=1
|A1 | |A2 | |Ak | X X X X 1 . w(Fi ) = ... |G| g∈G i=1 i=1 i=1
Здесь |Ai | – длина цикла gi . Если перестановка g имеет тип (c1 , c2 , . . . , cn ), то !c1 !cn !c2 n n n n n n X X X X X X |A| |A| |A| Bi 1 . ... Bi 2 . . . Bin Bi2 Bi k = Bi i=1
Отсюда
i=1
n X i=1
i=1
w(Fi ) = ΦG
i=1
n X i=1
w(bi ),
n X i=1
99
i=1
i=1
w2 (bi ), . . . ,
n X i=1
!
wn (bi ) .