САНКТ–ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
В. Ф. ГОРЬКОВОЙ
ЛЕКЦИИ ПО ДИСКРЕТНОЙ МАТЕМАТИКЕ
САНКТ– ПЕТЕРБУРГ 2004...
55 downloads
198 Views
1MB Size
Report
This content was uploaded by our users and we assume good faith they have the permission to share this book. If you own the copyright to this book and it is wrongfully on our website, we offer a simple DMCA procedure to remove your content from our site. Start by pressing the button below!
Report copyright / DMCA form
САНКТ–ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
В. Ф. ГОРЬКОВОЙ
ЛЕКЦИИ ПО ДИСКРЕТНОЙ МАТЕМАТИКЕ
САНКТ– ПЕТЕРБУРГ 2004
УДК 519.8 Р е ц е н з е н т ы: проф. Чернецкий В. И. (Петрозав.гос. ун-т) проф. Романов М. Ф (С.-Петерб.гос.политехн. ун-т)
Печатается по постановлению Редакционно-издательского совета факультета прикладной математики-процессов управления Санкт-Петербургского государственного университета Г о р ь к о в о й В. Ф. –Лекции по дискретной математике. — СПб.: ISBN Эта книга посвящена основам дискретной математики : теории множеств, функций, бинарных отношений, графов, булевых алгебр, автоматов, кодирования. Основное внимание уделяется проблеме арифметизации, так как она чаще всего возникает при решении прикладных задач. Существенным отличием данного учебного пособия является перечень обсуждаемых вопросов и существенное расширение раздела по теории графов, ориентированное на решение оптимизационных задач. Книга предназначена студентам факультетов прикладной математики, аспирантам, а также специалистам, работающим в области прикладной математики и процессов управления. Библиогр. 10 назв. Ил. 8 ISBN
c В.Ф.Горьковой, 2003 ° c °
1 МНОЖЕСТВА И ФУНКЦИИ. 1.1. Множества и подмножества. О п р е д е д е л е н и е 1. Система, состоящая из множества элементов a1 , a2 , ..., an , ..., над которыми определены операции типа сложения или умножения, не выводящие за пределы данного множества, называется алгебраической системой. В дальнейшем мы будем употреблять следующие обозначения. Z – все целые числа, включая нуль. Q – все рациональные числа. R – все вещественные числа. C – все комплексные числа. Относительно обычных операций сложения и умножения эти множества образуют алгебраические системы. P – множество всех целых положительных чисел {1, 2, 3, ...}. N – множество всех неотрицательных целых чисел {0, 1, 2, ...}. Подмножеством S множества T называется любое множество, все элементы которого принадлежат T , т.е. из a ∈ S следует, что a ∈ T . Это отношение включения записывается так: S ⊆ T . Оно обладает следующими свойствами: S ⊆ S для любого множества S, (1.1.1) из S ⊆ T и T ⊆ U следует, чтоS ⊆ U . (1.1.2) Свойство (1.1.1) называется рефлексивным свойством, а(1.1.2) — транзитивным. S = T тогда и только тогда, когда S ⊆ T и T ⊆ S. (1.1.3) Множество всех подмножеств ( частей) данного множества U обозначается через P(U ). Например, множество подмножеств U = {a, b, c} содержит шесть собственных подмножеств: {a}, {b}, {c}, {a, b}, {a, c}, {b, c}, пустое множество ∅ и само множество U . Если U состоит из n различных элементов a1 , a2 , ..., an , то P(U ) состоит из 2n различных подмножеств. 3
1.2. Булевы алгебры. О п р е д е л е н и е 2. Бинарной операцией на множестве S называется правило, которое каждой упорядочной паре (a, b) элементов из S ставит в соответствие третий элемент s — значение этой операции на паре (a, b). Примерами таких операций являются сложение и умножение на множестве Z целых чисел. О п р е д е л е н и е 3. Унарной операцией на множестве S называется правило f , которое любому элементу a ∈ S ставит в соответствие однозначно определенный элемент f (a) ∈ S, значение операции f на a. На множестве подмножеств данного множества U определены две бинарные операции и одна унарная. Это — операции теоретико-множественного пересечения, объединения и дополнения; они называются также булевыми. Обозначим через n(S) число элементов множества S. Если R и S — конечные множества, не имеющие общих элементов, то n(R ∪ S) = n(R) + n(S). Для любых конечных множеств R и S справедливо соотношение n(R ∪ S) = n(R) + n(S) − n(R ∩ S). В качестве примера рассмотрим подмножества M = {mk} и N = {nk} всех целых чисел кратных m, n ∈ Z. Тогда M ∩ N совпадает с множеством всех целых чисел кратных и m и n. Пусть S — любое подмножество U . Множество тех элементов x ∈ U , которые не принадлежат S называется дополнением S и обозначается S ′ . Три булевых операции ∩, ∪ и ′ на множестве всех подмножеств множества U удовлетворяют ряду основных алгебраических законов. L1. S ∩ S = S, S ∪ S = S (идемпотентность). L2. S ∩ T = T ∩ S, S ∪ T = T ∪ S (коммутативность). L3. R ∩ (S ∩ T ) = (R ∩ S) ∩ T , R ∪ (S ∪ T ) = (R ∪ S) ∪ T (ассоциативность). L4. S ∩ (S ∪ T ) = S ∪ (S ∩ T ) = S (поглощение). L5. Если R ⊆ T , то R ∪ (S ∩ T ) = (R ∪ S) ∩ T (модулярный закон). 4
L6. R ∩ (S ∪ T ) = (R ∩ S) ∪ (R ∩ T ), R ∪ (S ∩ T ) = (R ∪ S) ∩ (R ∪ T ) (дистрибутивность). L7. R ∩ ∅ = ∅, R ∪ ∅ = R, R ∩ U = R, R ∪ U = U (универсальные границы, нижняя и верхняя). L8. R ∩ R′ = ∅, R ∪ R′ = U (дополняемость). L9. (S ′ )′ = S (инволютивный закон). L10. (S ∩ T )′ = S ′ ∪ T ′ и (S ∪ T )′ = S ′ ∩ T ′ (законы де Моргана). Докажем первый закон дистрибутивности. Если x ∈ R ∩ (S ∪ T ), то x ∈ R и либо x ∈ S, либо x ∈ T . В первом случае x ∈ R и x ∈ S, поэтому x ∈ R ∩ S. Аналогично, во втором случае x ∈ R ∩ T . Следовательно, в любом случае либо x ∈ R ∩ S, либо x ∈ R ∩ T , так что x ∈ (R ∩ S) ∪ (R ∩ T ). Это показывает, что R ∩ (S ∪ T ) ⊆ (R ∩ S) ∪ (R ∩ T ). Обратно, пусть x ∈ (R ∩ S) ∪ (R ∩ T ), т.е. либо x ∈ R ∩ S, либо x ∈ R ∩ T . Значит, в любом случае x ∈ R, а также в любом случае либо x ∈ S, либо x ∈ T . Таким образом, x ∈ R и x ∈ S ∪ T , а поэтому x ∈ R ∩ (S ∪ T ), т.е. (R ∩ S) ∪ (R ∩ T ) ⊆ R ∩ (S ∪ T ). Объединяя этот результат с последней формулой предыдущего абзаца и используя (1.1.3), получим первый из двух законов дистрибутивности L6. П р и м е р 1. Пусть U = {a} — одноэлементное множество. Переобозначив U через l, а ∅ через 0, получим простейшую нетривиальную булеву алгебру [P({a}), ∩, ∪, ′ ], операции в которой задаются следующими таблицами: ∩ 0 0 0 l 0
l 0 l
∪ 0 l 0 0 l l l l
′
0 l l 0
П р и м е р 2. Пусть U = {a, b}, тогда P(U ) = {∅, {a}, {b}, U }. Введем обозначения: ∅ = 0, {a} = S, {b} = S ′ , U = I. Тогда булева алгебра {0, S, S ′ , I} определена следующими таблицами 5
∩ 0 S S′ l
0 0 0 0 0
S S′ 0 0 S 0 0 S′ S S′
l 0 S S′ l
0 0 S S′ l
∪ 0 S S′ l
S S′ S S′ S l l S′ l l
l l l l l
x 0 S S’ l
x′ l S’ S 0
УПРАЖНЕНИЯ 1.Положим S + T = (S ∩ T ′ ) ∪ (S ′ ∩ T ). Найти необходимые и достаточные условия для того, чтобы S +T = S ∪T . 2.
a) Доказать, что S ⊆ S ∩ (S ∪ T ) и S ⊇ S ∩ (S ∪ T ). б) Доказать, что S = S ∪ (S ∩ T ).
3. Доказать, что S ⊆ T в том и только в том случае, если S ′ ∪ T = U . 4. a) Доказать, что любое из трех соотношений S ⊆ T, S ∩ T = S и S ∪ T = T между подмножествами данного множества U влечет два других (закон согласованности). б)Доказать, что для любых элементов S, T любой булевой алгебры свойства S ∩ T = S и S ∪ T = T равносильны. 5. Используя непосредственно существование универсальных границ и закон согласованности, доказать, что S ∪U = U, S ∩∅ = ∅, S ∩U = S, S ∪∅ = S. В упражнениях 6 и 7 следует пользоваться только тождествами L1 — L10 . 6. a) ПоложивR + S = (R ∩ S ′ ) ∪ (R′ ∩ S), доказать тождества R + S = S + R, R + (S + T ) = (R + S) + T и R + R = ∅. б) Положив S − T = S ∩ T ′ , доказать, что S + T = (S ∪ T ) − (S ∩ T ). 7. Исходя из определения булевой алгебры, доказать тождества: а)S + S = ∅, S + I = S ′ , S + ∅ = S, S + S ′ = I, б) S + T = S ′ + T ′ , (R + S) ∩ T = (R ∩ T ) + (S ∩ T ), в) R ∩ (S − T ) = (R ∩ S) − (R ∩ T ).
1.3. Функции О п р е д е л е н и е 4. Пусть S и T — множества. Функцией f из области S в кообласть T называется правило, которое сопоставляет каждому элементу s ∈ S единственный элемент из T , называемый значением f в s и обозначаемый через f (s). Мы будем также говорить, что f является функцией (или отображением, преобразованием) из S в T , и писать f : S → T . Образом Im f отображения f : S → T называется множество f (S) всех 6
значений f (s), которые оно принимает при всевозможных s ∈ S. Образ f является подмножеством кообласти T . Один из способов задания функции — перечисление значений, которые она принимает на элементах области. Например, функция с областью S = {a, b, c}, кообластью T = {a, b, c, d} и образом f (S) = {a, b} задается предписанием f : a 7→ a, b 7→ a, c 7→ b. Другая функция g : S → T с образом g(S) = {b, c, d} задается предписанием g : a 7→ d, b 7→ c, c 7→ b. Очевидно, к образам этих функций можно применять булевы операции: в наших примерах f (S)∪g(S) = {a, b, c, d} и f (S)∩g(S) = {b}. Определим функцию следования Пеано σ, для которой множество P всех положительных целых чисел является и областью, и кообластью. Каждому целому положительному числу n она ставит в соответствие число n + 1 : σ(n) = n + 1, σ : P → P — функция из P в P. Функцию σ также можно задать (бесконечным) списком предписаний: σ : 1 7→ 2, 2 7→ 3, 3 7→ 4, ..., n 7→ n + 1, ... Очевидно, образом Im σ функции σ : P → P является множество σ(P) = {2, 3, 4, ...} , которое мы обозначим символом P2 . Чтобы задать функцию, мы должны определить ее область, кообласть и значения, которые она сопоставляет каждому элементу области. Если f : S → T и g : S1 → T1 , то f = g в том и только том случае, когда f (x) = g(x) для всех x ∈ S, S = S1 и T = T1 . Согласно этому определению, функции могут быть строго одинаковыми, только если их области и кообласти совпадают. Например, предписание n 7→ n + 1 определяет также функцию σ ′ : P → P2 . Эта функция не совпадает с функцией следования σ : P → P, поскольку кообласть у σ ′ не совпадает с кообластью функции σ. Для любого множества S тождественная функция 1S : S → S отображает любой элемент S в себя: 1S (s) = s для всех s ∈ S. В силу сказанного выше тождественные функции разных множеств различны. 7
О п р е д е л е н и е 5. Левой композицией g ◦ f любых двух функций называется функция, полученная в результате их применения в порядке, обратном написанному при условии, что область g совпадает с кообластью f . Пусть f : S → T и g : T → U. Тогда левая композиция g ◦ f есть функция g ◦ f : S → U , определяемая правилом (g ◦ f )(s) = g(f (s)) для всех s ∈ S. О п р е д е л е н и е 6. Правой композицией f ♦g называется функция, получаемая из левой композиции перестановкой символов: f ♦f = g ◦ f . Пусть, например, ϕm : R → R —операция возведения в степень m, ϕm (x) = xm . Подобно показателю степени m, символ функции ϕm можно записать справа от аргумента: xm = xϕm . Если условиться писать символы функций ϕ, φ, ... справа, то естественно записывать их композицию также в правой форме, ибо тогда выполнено правило (xϕ)φ = x(ϕ♦φ). Так, в предыдущем примере x(ϕm ♦ϕn ) = (xm )n = xmn = xϕmn ; следовательно, ϕm ♦ϕn = ϕmn . Преимущество правой композиции заключается в том, что функции пишутся в том же порядке, в каком они действуют. Лемма 1. Композиция функций подчиняется ассоциативному закону: (h ◦ g) ◦ f = h ◦ (g ◦ f ) = f ♦(g♦h) = (f ♦g)♦h. Предполагается, что все записанные композиции определены. Д о к а з а т е л ь с т в о. Пусть f : S → T, g : T → U, h : U → V . Любому элементу x ∈ S обе композиции приписывают значения (hg)f
hg
h(gf )
[(hg)f ]x = (hg)(f x) = h((gf )x) = [h(gf )]x. Из определения равенства функций следует ассоциативный закон: (hg)f = h(gf ) : S → V . Для краткости записи символ ◦ здесь опущен. Тождественные функции 1S и 1T в композиции с любой функцией f : S → T не меняют ее: f ◦ 1S = 1T ◦ f = f, 1S ♦f = f ♦1T = f .
8
Чтобы убедиться в этом, следует заметить, что (f 1S )s = f (1S s) = f (s) для всех s ∈ S в силу леммы 1 и определения равенства функций. О п р е д е л е н и е 7. Функция f : S → T называется инъективной, или инъекцией, или вложением, или взаимно однозначным отображением “в”, если из s 6= s′ в S следует, что f (s) 6= f (s′ ) в T . О п р е д е л е н и е 8. Функция h : S → T называется сюръективной, или сюръекцией, или отображением “на”, если ее образ совпадает со всей кообластью, т.е. для каждого t ∈ T существует хотя бы один элемент s ∈ S, такой, что h(s) = t. О п р е д е л е н и е 9. Биекцией, или взаимно однозначным отображением “на”, называется функция, являющаяся одновременно инъекцией и сюръекцией. Например, среди функций из Z в Z отображение n 7→ −n биективно, отображение n 7→ 2n инъективно, но не сюръективно, а отображение n 7→ n2 не инъективно и не сюръективно. Пусть P — множество всех положительных целых чисел, σ : P → P — функция следования Пеано, σ(n) = n + 1 для всех n ∈ P. Это инъекция, но не сюръекция. Пусть n = {1, 2, ..., n} — множество положительных целых чисел k ≤ n. К числу основных функций на нем принадлежит циклическая перестановка: νn : n → n. Она сопоставляет всем числам k ∈ n, кроме n, следующее k + 1, а n переводит в 1. Это биекция. При n = 3 функция ν3 задается предписанием 1 7→ 2, 2 7→ 3, 3 7→ 1. В общем случае νn : 1 7→ 2, 2 7→ 3, ..., n − 1 7→ n, n 7→ 1. О п р е д е л е н и е 10. Характеристической функцией подмножества S данного множества U, eS : U → {0, 1}, определяется предписанием ( 1, если x ∈ S, eS (x) = 0, если x ∈ / S. Пусть, например, U = {1, 2, 3} — множество, которое мы обозначим также символом 3. Вот списки значений функций eS , отвечающих всевозможным подмножествам S ⊆ U : ∅ 7→ (0, 0, 0), {1} 7→ (1, 0, 0), {2} 7→ (0, 1, 0), {3} 7→ (0, 0, 1), {1, 2} 7→ (1, 1, 0), {1, 3} 7→ (1, 0, 1), {2, 3} 7→ (0, 1, 1), 3 = {1, 2, 3} 7→ (1, 1, 1). 9
Например, при U = 3 описанное отображение b : S → eS является биекцией между P(3) и множеством всех последовательностей из символов 0, 1 длины три. Для простоты мы можем обозначить любой элемент из P(3) одной из восьми двоичных троек: 000, 100, 010, 001, 110, 101, 011, 111. 1.4. Обратные функции О п р е д е л е н и е 11. Если левая композиция функций f : S → T и g : T → S совпадает с тождественной функцией 1S на S, мы будем говорить, что g — левая обратная к f , а f — правая обратная к g. Eсли, кром того, f ◦ g = 1T , мы будем говорить, что g — двусторонне обратна к f и, по симметрии, f двусторонне обратна к g. Функция, имеющая двусторонне обратную, называется обратимой. Теорема 1. Функция обратима слева тогда и только тогда, когда она инъективна. Функция обратима справа тогда и только тогда, когда она сюръективна. Д о к а з а т е л ь с т в о. Покажем сначала, что любая обратимая слева функция взаимно однозначна. Пусть g : T → S — функция, обратная слева к f : S → T . Предположим, что f (s) = f (s′ ). Тогда, по определению, s = 1S (s) = g(f (s)) = g(f (s′ )) = 1S (s′ ) = s′ . Таким образом, из предположения, что f (s) = f (s′ ), мы вывели, что s = s′ . Это доказывает инъективность f . Проверим обратное утверждение. Пусть f инъективна. Выберем элемент s1 ∈ S и определим g1 : T → S так: g1 (t) =
(
s, если t = f (x) для некоторого s ∈ S, s1 в противном случае, т.е. если t ∈ / Im f.
Тогда (g1 ◦ f )(s) = g1 (f (s)) = s для всех s ∈ S, так что, по определению, g1 ◦ f = 1S и g1 является левой обратной к f . Аналогично проверяется вторая часть теоремы. Если t ∈ T и f h = 1T , то t = 1T (t) = f (h(t)), так что любой элемент t ∈ T является образом f (s) подходящего элемента s = h(t) ∈ S, и f сюръективна. Обратно, если f : S → T сюръективна, то каждый элемент t ∈ T является образом t = f (s) хотя бы одного элемента s ∈ S. Для каждого элемента t ∈ T выберем из множества всех s, 10
переходящих в t, один представитель и обозначим его через h(t). Тогда получим функцию h : T → S, такую, что f (h(t)) = t для всех t ∈ T , т.е. f h = 1T , как утверждалось. С л е д с т в и е. Функция f : S → T является биекцией тогда и только тогда, когда она обратима слева и справа. Теорема 2. Следующие свойства функции f : S → T эквивалентны: (i) f — биекция; (ii) f обладает левой обратной g и правой обратной h. Если эти свойства выполняются, то (iii) все обратные к f функции (левые, правые и двусторонние) совпадают. Эта единственная обратная к f функция f −1 биективна, и (f −1 )−1 = f . Д о к а з а т е л ь с т в о. Эквивалентность свойств (i) и (ii) является просто переформулировкой предыдущего следствия. Из условия (ii) вытекает, что g = g1T = g(f h) = (gf )h = 1S h = h. Это показывает, что все левые и правые обратные к f совпадают, и доказывает (iii). Наконец, биективная функция f обратна к своей обратной функции g = h, ибо gf = 1S и f h = 1T . Следовательно, обратная функция биективна и имеет f в качестве своей единственной обратной, т.е. (f −1 )−1 = f . 1.5. Функции из S в S Рассмотрим множество S S всех функций с областью и кообластью S. Оно образует алгебраическую систему [S S , ◦] с бинарной операцией ◦ (левая композиция). Поскольку кообласть любой функции из S S совпадает с областью любой другой функции, композиции f ◦g и f ♦g = g ◦f всегда существует в S S . Кроме того, обе эти операции удовлетворяют следующему закону ассоциативности: f ◦ (g ◦ h) = (f ◦ g) ◦ h, f ♦(g♦h) = (f ♦g)♦h для всех f, g, h ∈ S S . Далее, в этой алгебраической системе тождественная функция 1S удовлетворяет соотношениям 1S ◦ f = f ◦ 1S = f, т.е. f 1S = 1S f = f, для всх f ∈ S S .
11
Приведенные соотношения имеют одинаковый вид для операций ◦ и♦ Когда f 2 = f ◦ f = f , функция f называется идемпотентом, или проектором. Например, ортогональный проектор (x, y)-плоскости на x-ось или y-ось является идемпотентом. Заметим также, что два эти проектора обладают свойством f ◦g = g ◦f (или, что то же самое, g♦f = f ♦g), поскольку f ◦g и g◦f отображают любую точку плоскости в начало координат (0, 0). Функции f, g со свойством f g = gf называются коммутирующими, или перестановочными. П р и м е р 3. Пусть S = {a, b}; обозначим элементы S S буквами: e = 1S , α : a 7→ a, b 7→ a; β : a 7→ b, b 7→ b; f : a 7→ b, b 7→ a. Тогда системы [S S , ◦, 1S ] и [S S , ♦, 1S ] имеют следующие таблицы умножения: ◦ e f α β
e e f α β
f f e α β
α α β α β
♦ e f α β
β β α α β
e e f α β
f f e β α
α α α α α
β β β β β
Элементы 1, α, β идемпотенты, т.е. 12 = 1, α2 = α и β 2 = β. Функция f не идемпотентна, ибо f 2 = e. Кроме того, α ◦ β 6= β ◦ α, так что операция ◦ (и противоположная к ней ♦) не коммутативна. У функций α и β нет обратных, ни правой, ни левой, а f обратна сама к себе (т.е. f 2 = 1). УПРАЖНЕНИЯ 1. Рассмотрим функции f (n) = 3n, g(n) = 3n + 1, h(n) = 3n + 2 из Z в Z. Построить функцию, которая была бы обратной слева к f, g, и h одновременно. 2. а) Если f g определена и обе функции f, g имеют обратные, показать, что f g имеет левую обратную. б) Показать на примере, что обратное утверждение верно не всегда: f g может иметь левую обратную функцию даже тогда, когда f ее не имеет. 3.
а) Показать, что композиция gf для двух любых инъекций f : S → T и g : T → U является инъекцией. б) Доказать то же утверждение для сюръекций.
12
4.
а) Сколько имеется сюръекций из трехэлементного множества на двухэлементное? б) Сколько имеется инъекций из трехэлементного множества в четырехэлементное?
5.
а) Рассмотрим отображение x 7→ x2 каждого из следующих множеств в себя: P, Z, Q, R, C. Определить образ каждого из этих отображений и выяснить, являются ли они инъекциями. б) Тот же вопрос для x 7→ x3 .
6. а) Какие подмножества множества 4 = {1, 2, 3, 4} представляются следующими двоичными последовательностями: 1001, 0110, 1101, 0010. б) Показать, что если двоичная последовательность n = n1 n2 n3 n4 представляет множество S, то последовательность n′ = (1 − n1 ) (1 − n2 )(1 − n3 )(1−n4 ) представляет его дополнение. Проиллюстрировать это на примерах из п. а). 7. Пусть n(X) — число элементов множества X. Тогда следующие тождества верны для любых трех конечных множеств: а) n(A) + n(B) = n(A ∩ B) + n(A ∪ B); б) n(A ∪ B ∪ C) + n(A ∩ B) + n(B ∩ C) + n(C ∩ A) = = n(A ∩ B ∩ C) + n(A ∪ B) + n(B ∪ C) + n(C ∪ A). 8. В кровопролитном бою не менее 70% воинов потеряли глаз, не менее 75% — ухо, не менее 80% — руку и не менее 85% — ногу. Оценить снизу число воинов, потерявших одновременно глаз, ухо, руку, и ногу (Льюис Кэрролл).
1.6. Суммы, произведения и степени О п р е д е л е н и е 12. Будем говорить, что конечное множество S состоит из m элементов, или что его кардинальное число равно m, если существует биекция b : S → m = {1, 2, ..., m}. Будем считать, что пустое множество имеет 0 элементов. О п р е д е л е н и е 13. Пусть даны два множества S и T . Их раздельным объединением, или суммой, называется множество D = S ⊔T вместе с фиксированными биекциями i : S → S ∗ ⊆ D и j : T → T ∗ ⊆ D, такими, что S ∗ и T ∗ — взаимно дополнительные подмножества D. Если S ⊆ U, T ⊆ U и S ∩ T = ∅, тогда S ⊔ T = S ∪ T, i = 1S , j = 1T и n(S ⊔ T ) = n(S) + n(T )
13
Имеют место следующие очевидные биекции: α : S ⊔ T → T ⊔ S, β : S ⊔ (T ⊔ U ) → (S ⊔ T ) ⊔ U. О п р е д е л е н и е 14. Декартовым, или прямым, произведением S × T множеств S и T называется множество упорядоченных пар вида (s, t), где s принадлежит S, а t принадлежит T. Так, если R — множество всех вещественных чисел, то R × R — множество всех упорядоченных пар (x, y) вещественных чисел. Как и выше, имеются естественные биекции: S × T → T × S, S × (T × U ) → (S × T ) × U . Наконец, вместо естественных инъекций f : S → S ∪ T и g : T → S ∪ T определены естественные сюръекции: p : S × T → S, p(s, t) = s, q : S × T → T, q(s, t) = t. Эти сюрьекции называются проекторами на сомножители произведения S × T по аналогии с проекторами плоскости на оси декартовой координатной системы. Множество всех функций из множества S в множество T обозначается через T S . Если S и T конечны и состоят из n(S) и n(T ) элементов соответственно, то имеет место формула n(T S ) = n(T )n(S) . Действительно, для каждого si ∈ S значение f (si ) ∈ T можно выбрать ровно n(T ) способами. Все эти способы независимы, поэтому f выбирается одним из n(T ) × ... × n(T ) (n(S) раз) способов. Пусть 2 = {0, 1}. Формула( 1, если x ∈ S, eS (x) = 0, если x ∈ / S. определяет естественную биекцию b : P(U ) → 2U , которая ставит в соответствие каждому подмножеству S ⊆ U его характеристическую функцию eS ∈ 2U . Эта же биекция отождествляет подмножества из n = {1, 2, ..., n} с двоичными последовательностями длины n. В общем случае имеются естественные биекции: T R⊔S → T R × T S , (T × U )S → T S × U S , (S )R → T S×R .
14
1.7. Аксиомы Пеано Итальянский математик Дж. Пеано систему [P, +, ×], где P множество положительных целых чисел, определил как алгебраическую систему [P, σ] с одной унарной операцией σ счета. Функция σ ∈ PP называется функцией следования Пеано и характеризуется следующими аксиомами: S1. Если σ(m) = σ(n), то m = n (σ взаимно однозначна). S2. Не существует такого n ∈ P, что σ(n) = 1. S3. Пусть подмножество S ⊆ P удовлетворяет двум условиям: a)1 ∈ S и б) из того, что n ∈ S следует σ(n) ∈ S. Тогда S = P. В терминах бинарной операции σ операции сложения и умножения в множестве P определяются следующими рекурсивными описаниями. П р и м е р 4. Для любого m ∈ P функция σ m : n 7→ m + n определяется простой рекурсией: m + 1 = σ m (1) = σ(m),
(1.7.1)
m + (n + 1) = σ m (σn) = σ(σ m (n)).
(1.7.2)
Для фиксированного m ∈ P рассмотрим множество Sm всех n ∈ P для которых σ m (n) определена. В силу (1.7.1), 1 ∈ Sm , а согласно (1.7.2), из того, что n ∈ Sm , следует, что σ(n) ∈ Sm . Значит, в силу аксиомы S3 , функция σ m (n) = m + n определена для всех n ∈ P. Если теперь m будет пробегать все множество P, то мы получим бинарную операцию сложения + : P × P → P. П р и м е р 5. Для фиксированного m ∈ P определим функцию pm : n 7→ nm следующей простой рекурсией: pm (1) = m,
(1.7.3) m
pm (σ(n)) = m + pm (n) = σ (pm (n)).
(1.7.4)
Как и в предыдущем примере, проверяется, что множество Sm всех n ∈ P, для которых pm (n) определена, совпадает со всем P. Поэтому, если m и n пробегают все P, мы получаем бинарную операцию умножения на P.
15
1.8. Финитная индукция Предположим, что задана последовательность высказываний P (1), P (2), P (3), ..., каждое из которых может быть либо истинным, либо ложным. Принцип финитной (конечной) индукции утверждает, что для доказательства истинности высказываний P (n) для всех n ∈ P достаточно установить, во-первых, истинность P (1) и, во-вторых, истинность бесконечной последовательности импликаций P (1) ⇒ P (2) ⇒ P (3) ⇒ ... ⇒ P (n) ⇒ P (n + 1) ⇒ .... Второе условие можно записать как утверждение, что (для всех n) из истинности P (n) следует истинность P (σ(n)). Здесь σ(n) = σn = n + 1 — функция следования. Принцип финитной индукции немедленно следует из аксиомы Пеано S3. Действительно, пусть T ⊆ P — множество всех положительных целых чисел n, для которых P (n) истинно. Если 1 ∈ T и если из того, что n ∈ T , следует, что σ(n) ∈ T , то, в силу аксиомы S3, T = P. Докажем индуктивным методом коммутативность и ассоциативность сложения целых чисел. Теорема 3. Определим сложение в [P, σ] формулой m + n = m σ (n). Тогда для всех m, n ∈ P m + (n + r) = (m + n) + r (ассоциативность), (1.8.1) m + n = n + m (коммутативность). (1.8.2) Докажем ассоциативность. Обозначим через P (r) высказывание об истинности (1.8.1) для этого r и всех m, n ∈ P. Тогда P (1) утверждает [если r = 1 в (1.8.1)], что m + σ(n) = σ(m + n); это верно в силу (1.7.2). Пусть теперь истинно высказывание P (r): m + (n + r) = (m + n) + r, для всех m, n. Снова, замечая, что m + σ(n) = σ(m + n) согласно (1.7.2), находим (1.7.2)
(1.7.2)
P (r)
m + (n + σ(r)) = m + σ(n + r) = σ(m + (n + r)) = P (r)
= σ((m + n) + r),
16
где над каждым знаком равенства отмечено, на основании чего это равенство справедливо (для всех m, n ∈ P). Снова применяя (1.7.2) к m + n и r, получаем (1.7.2)
σ((m + n) + r) = (m + n) + σ(r). Отсюда окончательно m + (n + σ(r)) = (m + n) + σ(r) для всех m, n ∈ P. Но это высказывание совпадает с P (σ(r)). Это завершает доказательство (1.8.1). Чтобы установить (1.8.2), начнем с n = 1. Обозначим через P (m) высказывание m + 1 = 1 + m и снова проведем индукцию. Поскольку 1 + 1 = 1 + 1, утверждение P (1) истино. Считая P (m) истинным, с помощью (1.7.1) и (1.8.1) доказываем истинность высказывания (m + 1) + 1 = (1 + m) + 1 = 1 + (m + 1), т.е. P (m + 1). Это завершает индукцию и доказывает истинность P (m) для всех m. Теперь обозначим через Q(n) высказывание m + n = n + m для всех m. Мы доказали Q(1). Считая Q(n) истинным, мы затем можем последовательно доказать, что m + (n + 1) = (m + n) + 1 = (n + m) + 1 = n + (m + 1) = = n + (1 + m) = (n + 1) + m, применяя (1.8.1), Q(n), (1.8.1), P (m) и (1.8.1) (в указанном порядке). Это означает, что Q(n + 1) истинно, и завершает индукцию. Но истинность Q(n) для всех n, очевидно, и означает (1.8.2). Аналогичные доказательства можно провести для законов ассоциативности и коммутативности умножения целых положительных чисел: m(nr) = (mn)r
для всех m, n, r ∈ P, mn = nm для всех m, n ∈ P.
Пользуясь индукцией, нетрудно вывести из аксиом Пеано также и дистрибутивные законы. Обозначим через P (r) высказывание, что m(n + r) = mn + mr для всех m, n ∈ P. Тогда P (1) следует из (1.7.4) и (1.8.2). Затем, приняв P (r), получаем m(n + σ(r)) = m(n + (r + 1)) = m((n + r) + 1) = 17
= m(n + r) + m = mn + mr + m = (в силу P (r))= = mn + (mr + m) = mn + mσr. УПРАЖНЕНИЯ 1. Определив подходящим образом xn , доказать по индукции следующие тождества в P: 1n = 1, xm xn = xm+n , (xy)n = xn y n , (rs )n = rsn . 2. Определим xn рекурсией: x1 = x и xσn = xn x. Доказать по индукции, что если a2 = a, то an = a для всех n ∈ P. 3. а) Доказать по индукции, что
n P
k = n(n + 1)/2.
k=1 n
б) Доказать по индукции, что
P
k2 = n(n + 1)(2n + 1)/6.
k=1
4. Доказать, что
n P
3
k = [n(n + 1)/2]2 .
k=1
5. Полагая по определению
¡r ¢ s
= r!/s!(r − s)!, доказать по индукции, что
µ ¶ r s
+
µ
¶
r s−1
=
µ
r+1 s
¶
для всех r ∈ P и s = 0, ..., r. Затем, используя этот факт, доказать по индукции формулу бинома Ньютона (x + y)n =
n ¡ ¢ P n k
xn−k y k .
k=0
6. Доказать, что
n ¡ ¢ P n 2 k
k=0
=
¡2n¢ n
.
7. Доказать по индукции, что из m + r = m + s в P следует, что r = s. 8. а) Доказать по индукции, что композиция инъекций fm ◦ fm−1 ◦ ... ◦ f1 является инъекцией. б) Доказать аналогичное утверждение для сюръекций. 9. Доказать, что в P справедливы следующие факты: а)m < n тогда и только тогда, когда m + r = n для некоторого r ∈ P. б) m ≤ n тогда и только тогда, когда m + r = n для некоторого r ∈ N.
18
2 БИНАРНЫЕ ОТНОШЕНИЯ И ГРАФЫ
2.1. Введение Бинарным отношением α между множествами X и Y, а также графиком этого отношения, называется любое множество упорядоченных пар (x, y), где x ∈ X, y ∈ Y. Если (x, y) ∈ α, мы говорим, что x находится в отношении α к y, и пишем xαy. Если x не на′ ходится в отношении α к y, то мы пишем xα y. Бинарное отношение может задаваться правилом, которое позволяет для каждой пары (x, y) решить, находится ли x в отношении α к y. Понятие бинарного отношения между X и Y служит обобщением понятия функции f : X → Y. Действительно, каждая функция f : X → Y определяет бинарное отношение αf между X и Y : xαy означает, что y = f (x).
(2.1.1)
Обратно, пусть дано бинарное отношение α между множествами X и Y. Рассмотрим для каждого x ∈ X множество всех y ∈ Y со свойством xαy. Это соответствие определяет функцию f : X → Y тогда и только тогда, когда для каждого x ∈ X существует ровно один элемент y ∈ Y со свойством xαy. Таким образом, понятие бинарного отношения включает понятие функции как (очень важный) частный случай. Следуюший пример из аналитической геометрии показывает, каким образом многозначную функцию (так же, как и однозначную) можно рассматривать как бинарное отношение между ее областью и кообластью [1]. П р и м е р 5. Пусть X = Y = R (множество вещественных 2 2 чисел). Пусть xαy означает, √ что x + y = 25. Итак, xαy тогда и только тогда, когда y = ± 25 − x2 : графиком α является окружность радиусом 5 с центром в начале координат. В этом примере ′ 3α4 и 4α(−3), но, например, 2α 3. 19
Слово ««график»» в применении к окружности, состоящей из точек, координаты которых (x, y) в отношении x2 + y 2 = 25 (или √ в функциональном обозначении y = ± 25 − x2 ), как уже говорилось, употребляется и для произвольного бинарного отношения. Хотя бинарное отношение и его график являются эквивалентными понятиями, иногда, особенно при задании отношения с помощью правила, удобно иметь для графика особое обозначение. О п р е д е л е н и е 15. Графиком бинарного отношения между множествами X и Y называется множество S(α) всех пар (x, y) ∈ X × Y , таких, что xαy. Символически: S(α) = {(x, y) : xαy}. П р и м е р 6. Пусть X = {a, b}, Y = {c, d, e}. Зададим отно′ ′ ′ шение α списком aαc, aαd, aα e, bα c, bα d, bαe. Тогда график S(α) имеет вид S(α) = {(a, c), (a, d), (b, e)}. ′ Заметим, что отрицание α отношения α является бинарным ′ отношением между X и Y . Переобозначив α через β, мы получим, ′ ′ ′ что β задается списком aβ c, aβ d, aβe, bβc, bβd, bβ e. Двойное отрицание α совпадает с α. Это верно и в общем случае: если xα y означает не xαy, ′
(2.1.2)
то (α ) = α. Любое бинарное отношение ρ между конечными множествами X = {x1 , . . . , xm } и Y = {y1, . . . , yn} можно задать таблицей, строки которой отвечают элементам X, столбцы — элементам Y, а на пересечении xi -й строки и yj -го столбца записана единица, если ′ xi ρyj , и ноль, если xi ρ yj . Таблицы для отношений α и β из примера 2 имеют вид ′ ′
α a b
c d e 1 1 0 0 0 1
β a b
c 0 1
d 0 1
e 1 0
Табличная запись любого отношения ρ позволяет отождествить ′ ρ (например, α или β = α ) с характеристической функцией графика этого отношения: значение этой функции на элементе (xi , xj ) стоит на пересечении i-й строки и j-го столбца таблицы: ( 1, если xi ρyj , eS(ρ)(xi , yj ) = (2.1.3) 0, в противном случае 20
2.2. Матрицы отношений Пусть заданы пронумерованные конечные множества X = {x1 , . . . , xm } и Y = {y1 , . . . , yn}. Тогда таблица из нулей и единиц, задающая любое отношение α, представляет собой m × n-матрицу A = kaij k : aij =
(
1, если xi αyj , 0, в противном случае.
(2.2.1)
В примере 6 матрицы A, B, отвечающие соотношениям α, β, имеют вид #
"
"
#
0 0 1 . B= 1 1 0
1 1 0 A= 0 0 1
Обратно, любая m × n-матрица A = kaij k из нулей и единиц определяет отношение ρ(A) по формуле (2.2.1). Поэтому всякую (прямоугольную) матрицу из нулей и единиц мы будем называть матрицей отношения. На пересечении i-й строки и j-го столбца матрицы M (α) = A любого бинарного отношения α между множествами X и Y стоит элемент aij , значение характеристической фукции e = eS(α) : X × Y → {0, 1} графика S(α) ⊂ X × Y отношения α. Иными словами, e(xi , yj ) = aij =
1, 0
если (xi , yj ) ∈ S(ρ), в противном случае.
(2.2.2)
В примере 6 характеристическая функция e = eS(α) задается следующими предписаниями: eS(α) :
(a, c) → 1, (a, d) → 1, (a, e) → 0, (b, c) → 0, (b, d) → 0, (b, e) → 1.
Каждое бинарное отношение α между X и Y определено его графиком S(α) и каждое подмножество T ⊂ X × Y является графиком единственного бинарного отношения ρT между X и Y , которое определяется условием xρT y тогда и только тогда, когда (x, y) ∈ T . Поэтому соответствия α → S(α) и T → ρT определяет взаимно обратные биекции множества всех бинарных отношений между X и Y и множества всех подмножеств P (X × Y ) произведения X × Y : 21
ρS(α) = α, S(ρT ) = T для всех α, T.
(2.2.3)
Кроме того, S(α ) = [S(α)] : отрицание отношения в этой биек′ ции отвечает взятию дополнения к графику. По этой причине α также называется дополнением к отношению α. Б у л е в ы о п е р а ц и и. Описанные биекции приводят к рассмотрению булевой алгебры, элементами которой являются бинарные отношения между X и Y . Введем операции ∧ и ∨ следующим образом: ′
′
x(ρ ∧ σ)y означает xρy и xσy,
(2.2.4)
x(ρ ∨ σ)y означает xρy или xσy.
(2.2.4′ )
Тогда, по определению операций ∩ и ∪ на множествах: S(ρ ∧ σ) = S(ρ) ∩ S(σ) и ρT ∩V = ρT ∧ ρV ,
(2.2.5)
S(ρ ∨ σ) = S(ρ) ∪ S(σ) и ρT ∪V = ρT ∨ ρV
(2.2.5′ )
для любых двух отношений между X и Y и любых двух подмножеств T, V ⊂ X ×Y. В частности, для любых двух дополнительных ′ ′ отношений, таких как α и α = β в примере 6, S(α∧α ) = ∅ (пустое ′ множество) и S(α ∨ α ) = X × Y. Мы будем называть α ∧ β пересечением бинарных отношений α, β, а α ∨ β — их объединением. Наконец, будем писать α ≤ β, если S(α) ⊂ S(β). Иными словами, α ≤ β означает, что из xαy следует xβy.
(2.2.6)
2.3. Алгебра отношений Бинарные отношения между множествами, кроме общих свойств булевых алгебр, обладают многими алгебраическими свойствами. Например, по любому отношению α между множествами X и Y можно определить обратное отношение α ˘ между X и Y следующим образом: y αx ˘ означает, что xαy.
(2.3.1)
Очевидно, что матрица k˘aij k отношения α ˘ получается транспонированием матрицы kaij k отношения α, т. е. заменой строк столбцами и наоборот (отражением относительно главной диагонали в случае m = n). Иными словами, a˘ij = aji . Только в исключительном случае и отношение и обратоное к нему могут одновременно соответствовать функциям. Тогда, полагая α = ρf и α ˘ = ρg , имеем: каждый элемент y ∈ Y (поскольку g 22
— функция) должен отвечать некоторому элементу x ∈ X, и притом единственному (поскольку f — функция). Поэтому функции f и g, отвечающие α и α, ˘ должны быть взаимно обратными биекциями. Их матрицы отношений (если они существуют) должны быть квадратными матрицами перестановок, у которых в любой строке и в любом столбце имеется ровно одна единица. Понятие композиции двух функций можно обобщить на отношения. Пусть α, β — отношения между X, Y и Y, Z соответственно. Тогда композицией αβ называется отношение x(αβ)z тогда и только тогда, когда существует такой y ∈ Y, что xαy и yβz.
(2.3.2)
Если α = ρf и β = ρg отвечает функциям, то αβ = ρg◦f , т. е. композиция отношений отвечает композиции функций. ⌣ Читая (2.3.2) справа налево, мы убеждаемся, что z(αβ)x озна˘ и y αx. чает существование такого y ∈ Y , что z βy ˘ Отсюда следует тождество ⌣ αβ = β˘α, ˘ (2.3.3) которое обобщает соотношение (f g)−1 = g−1 f −1. Б и н а р н ы е о т н о ш е н и я на S. Бинарное отношение между множеством S и им самим (т. е. X = Y = S ) называется отношением на множестве S. Важным частным случаем этого понятия является отношение равенства e на S : xey означает x = y. Ясно, что на множестве n ему отвечает единичная матрица. Это квадратная матрица n × n с единицами на главной диагонали и нулями на остальных местах: I = kδij k, где δij =
1,
если i = j, 0, если i 6= j.
Из (2.3.2) следует, что композиция любых двух отношений на множестве S существует. Отношение равенства e удовлетворяет условиям eα = αe = α для всех α. Наконец, справедлив ассоциативный закон α(βγ) = (αβ)γ для любых отношений α, β, γ на S. (2.3.4) Действительно, оба утверждения x[α(βγ)]y и x[(αβ)γ]y означают, что для подходящих элементов z1 , z2 ∈ S имеют место утверждения xαz1 , z1 βz2 и z2γy. 23
Резюмируем сказанное: Теорема 5. Бинарные отношения на множестве S относительно композиции образуют алгебраическую систему, которая ассоциативна и в качестве единицы имеет отношение равенства. Существует много важных типов бинарных отношений на S. Если xαx для всех x ∈ S, отношение α называется рефлексивным. Если из xαy следует, что yαx, отношение α называется симметричным, а в противном случае — асимметричным. Если x = y, то из xαy, очевидно, следует, что yαx; обратно, если из xαy и yαx следует, что y = x, отношение α называется антисимметричным. Мы видели, что отношение включения между множествами рефлексивно и антисимметрично. Поэтому таково же отношение включения между отношениями. Бинарное оотношение α на множестве S называется транзитивным, если из xαy и yαz (x, y, z ∈ S) вместе следует, что xαz. В частности, отношение включения ⊂ между множествами транзитивно. Пусть, например, T = {1, 2, 3}, и α — отношение на T с графиком S(α) = {(1, 1)(1, 2)(2, 1)(2, 2)(2, 3)(3, 2)(3, 3)}. Это отношение рефлексивно и симметрично, но не транзитивно, ′ ибо 1α2 и 2α3, но 1α 3. Заметим, что график S(α2 ) отношения α2 совпадает с T × T . Таким образом, α2 — отношение, выполняющееся на всем T : xα2 y для всех x, y ∈ T . Данные выше определения можно переформулировать следующим образом. Бинарное отношение α на S рефлексивно тогда и только тогда, когда оно содержит отношение равенства e (e ≤ α ) или, что то же самое, когда e ∧ α = e и e ∨ α = α. Оно симметрично в том и только том случае, когда α = α ˘ . Оно антисимметрично ′ тогда и только тогда, когда α ∧ α ≤ e. Оно транзитивно тогда и только тогда, когда α2 ≤ α (где α2 , конечно, есть αα). Если S = n, рефлексивность отношения на S означает, очевидно, что все диагональные элементы матрицы этого отношения равны единице. Отношение α симметрично в том и только том случае, когда матрица kaij k симметрична (т. е. aij = aji для всех i, j). Наконец, понятие декартова произведения функций обобщается на отношения следующим образом. Пусть α — бинарное отношение между множествами A и Y , а β — между множествами B и 24
Y . Определим декартово (или прямое) произведение γ = α × β как отношение между множествами A × B и Y вида (a, b)γy означает, что aαy и bβy.
(2.3.5)
Аналогично, пусть ξ — бинарное отношение между множествами A и X, а η — бинарное отношение между множествами A и Y . Определим отношение ζ = ξ × η следующим образом: aζ(x, y) означает, что aξx и aηy.
(2.3.5′ )
2.4. Частичное упорядочение. Бинарное отношение на множестве S называется частичным упорядочением этого множества (или частичным поядком на нем), если оно рефлексивно, антисимметрично и транзитивно. Такие отношения часто обозначаются символом ≤. Аксиомы частичного порядка могут быть записаны тогда привычным способом: P1. x ≤ x для всех x ∈ S. P2. Если x ≤ y и y ≤ x, то x = y. P3. Если x ≤ y и y ≤ z, то x ≤ z. П р и м е р 7. Отношение m|n (m делит n) является частичным упорядочением на множестве всех положительных целых чисел. П р и м е р 8. Обычное отношение ≤ является частичным упорядочением множества всех положительных целых чисел. П р и м е р 9. Для любого множества U отношение S ⊂ T является частичным порядком на множестве P (U ) всех подмножеств множества U . О п р е д е л е н и е 16. Частично упорядоченным множеством называется любая пара [S, ≤], где ≤ частичный порядок намножестве S. Имеется много полезных примеров частичных упорядочений. Рассмотрим некотоpые из простейших свойств частично упорядоченных множеств. Во-первых, отношение, обратное к частичному порядку ≤, снова является частичным порядком, который называется двойственным к первому и обозначается символом ≥. Таким образом, по определению, X ≥ Y тогда и только тогда, когда Y ≤ X. Во-вторых, частично упорядоченные множества, состоящие из небольшого числа элементов, удобно описывать диаграммами. Маленькие кружочки на них означают элементы; линия, ведущая вверх, соединяет элемент с каждым непосредственно 25
следующим за ним большим элементом. П р и н ц и п д в о й с т в е н н о с т и. Мы уже упоминали, что обращение частичного порядка является частичным порядком. Поэтому в любой общей теореме о частично упорядоченных множествах можно всюду заменить отношение ≤ отношением ≥, не нарушив ее истинности. Эта математическая теорема о теоремах называется принципом двойственности в теории частично упорядоченных множеств. В частично упорядоченном множестве [P (3), ⊂] элементы ∅ и 3 являются универсальными границами потому, что ∅ ≤ x ≤ 3 для любого элемента x ∈ P (3). Это понятие можно определить в обшем случае: элементы O и I называются универсальными границами частично упорядоченного множества S (соответственно верхней и нижней), если O ≤ x и x ≤ I для любого x ∈ S.
(2.4.1)
Иными словами, O наименьший, а I наибольший элемент множества S. Лемма 2. В любом частично упорядоченном множествые [S, ≤] может существовать не более одного наименьшего элемента и не более одного наибольшего элемента. Д о к а з а т е л ь с т в о. Пусть O, O∗ два наименьших элемента [S, ≤]. Тогда O ≤ O∗ (ибо O наименьший элемент) и O∗ ≤ O (ибо O∗ наименьший элемент). Согласно P2 отсюда следует, что O = O∗ . Доказательство для I аналогично. Cуществуют частично упорядоченные множества без универсальных границ. Таково множество вещественных чисел [R, ≤] с обычным отношением порядка (если оно не расширено формальным присоединением –∞, ∞). Кроме того, [R, ≤] является линейно упорядоченным множеством или цепью: кроме свойств P1–P3, оно обладает свойством P4. Для любых x, y либо x ≤ y, либо y ≤ x. Всякое подмножество упорядоченного множества, очевидно, само упорядочено индуцированным на нем бинарным отношением. Если множество линейно упорядочено, то его подмножества также линейно упорядочены. Все это следует из того, что свойства P1, P2, P3, P4 наследственны, т. е. сохраняются при ограничении на любое подмножество своей области, если они выполнялись на всей области.
26
Д о м и н и р о в а н и е. С любым отношением частичного порядка ≤ свзан ряд других бинарных отношений. К ним относятся: отношение x < y, означающее, что x ≤ y, но x 6= y; отношение x > y, означающее, что y < x, а так же отношение x ≍ y (««x и y не сравнимы»»), означающее, что ни одно из двух утверждений x ≤ y и y ≤ x неверно. Ясно, что если x, y ∈ [S, ≤], то справедлива только одна из следующих альтернатив: x = y, x > y, x < y или x ≍ y. Менее очевидно отношение, связанное с ≤, а именно доминирование. О п р е д е л е н и е 17. Пусть P = [S, ≤] частично упорядоченное множество , а a и b его элементы. Будем говорить, что a доминирует над b, если a > b, но ни для какого x ∈ S неверно, что a > x > b. Покажем, что отношение ≤ однозначно восстанавливается по отношению доминирования в любом конечном частично упорядоченном множестве. Теорема 6. Пусть a < b в конечном частично упоядоченном множестве P . Тогда P содержит по крайней мере одну цепь xo = a < x1 < ... < xl = b, в которой каждый из элементов xi (i = 1, . . . , l) доминирует над xi−1 . Д о к а з а т е л ь с т в о. используем индукцию по количеству n элементов y со свойством a < y < b. Если n = 0, то b доминирует над a, и утверждение очевидно. Пусть n > 0, и a < c < b. Тогда количество элементов y, удовлетворяющих условию a < y < c, и элементов z, удовлетворяющих условию c < z < b, не превосходит n − 1, ибо c мы исключили. Значит, по предположению индукции существуют конечные цепи, связывающие a с c и c с b, соседние элементы которых находятся в отношении доминирования. Соединяя эти две цепи, получим требуемый результат. Удобно представить себе, что если a доминирует над b, то b находится в прямом подчинении к a относительно некоторой иерархии. Тогда x ≤ y означает отношение подчинения. О п р е д е л е н и е 18. Элемент m частично упорядоченного множества [S, ≤] называется минимальным, если не существует такого элемента x ∈ S, что x < m. Элемент m называется максимальным, если не существует такого элемента x ∈ S, что x > m. Напомним, что x < m означает, x ≤ m, но x 6= m; x > m означает, что m ≤ x, но m 6= x. Очевидно, что если частично упорядоченное множество облада-
27
ет универсальной нижней границей, или наименьшим элементом O, то O является единственным минимальным элементом. В неупорядоченном множестве (где x ≤ y означает x = y) любой элемент минимален, а так же максимален. В цепи минимальный элемент должен быть наименьшим, и поэтому он единствен. Следующий принцип, относящийся к конечным частично упорядоченным множествам, играет важную роль. Он утверждает существование согласованной (с порядком) нумерации. Теорема 7. Пусть [S, ≤], S = {s1 , . . . , sn } конечное частично упорядоченное множество. Тогда элементы S можно занумеровать таким образом: S = {x1 , . . . , xn }, что из xi < xj будет следовать i < j. Д о к а з а т е л ь с т в о. Положим Xm = {s1 , . . . , sn}, где первоначальная нумерация S = {s1 , . . . , sn } выбрана каким угодно способом. Мы построим последовательность биекций βm множеств m = {1, . . . , m} в себя, такую, что каждое подмножество Xm , перенумерованное посредством βm : m m Xm = {xm 1 , . . . , xm }, xi = sβm(i) ,
будет удовлетворять сформулированному в теореме утверждению: m из xm i < xj сдедует, что i < j. При m = 1 биекция β1 строится однозначно. Предположим, что биекция βn−1 : n – 1 → n – 1 с требуемым свойством уже построена. Обозначим через k наименьшее из чисел i, обладающих свойством sn < xn−1 . Построим биекцию βn−1 : n → n следующим i образом: βn(i) = i, если i < k, βn(i) = n,
если i = k,
βn(i) = i + 1,
если i > k.
k−1 Иными словами, вставим sn между xn−1 k−1 и xk . Проверим, что βn n обладает тебуемыми свойствами. Если xi < xnj и {xni , xnj } ⊂ Xn−1 , то i < j по предположению индукции. Если sn = xnk < xnj , то k < j по построению. Наконец, если xni < xnk = sn , то xni < xnk < xnk+1 , откуда xni < xnk+1 в силу транзитивности P3 и, наконец, i < k + 1 по предположению индукции, так как {xni , xnk+1 } ⊂ Xn−1 . Следовательно, и здесь i < k (случай i = k невозможен); доказательство завершено.
28
Следствие. В любом конечном частично упорядоченном множестве P есть минимальный элемент m: не существует x ∈ P , такого, что x < m. В е р х н я я и н и ж н я я г р а н и. Пусть S некоторое подмножество частично упорядоченного множества P . Назовем a ∈ P нижней границей, или минорантой, множества S, если a ≤ x для всех x ∈ S. Назовем a верхней границей, или мажорантой, множества S, если a ≥ x для всех x ∈ S. Назовем элемент b ∈ P нижней гранью S, если (i) он является нижней границей для S и (ii) b ≥ ¯b для любой другой нижней границы ¯b множества S. В этом случае мы будем писать b = inf S. Аналогично, назовем c ∈ P верхней гранью множества S, если (i′ ) c является верхней границей для S, (ii′) c ≤ c¯ для любой другой верхней границы c¯. В этом случае мы будем писать c = sup S. Лемма 3. Любое подмножество частично упорядоченного множества имеет не более одной верхней и не более одной нижней грани. Д о к а з а т е л ь с т в о. Пусть b1 , b2 нижние грани множества S. Тогда b1 ≤ b2, потому что b1 нижняя граница, а b2 наибольшая нижняя граница. Аналогично, b2 ≤ b1. Из свойства P2 следует, что b1 = b2 . Двойственное рассуждение доказывает единственность верхней грани.
2.5. Графы О п р е д е л е н и е 19. Kонечным графом G = (X, α) называется пара, где X конечное множество вершин, а α — бинарное отношение на X. Если α — симметричное отношение, то G называется неориентированным графом. В противном случае — ориентированным. Если вершины x и y из X находятся в отношении α, то пишут xαy и говорят, что они смежны, а связь между x и y осуществляется с помощью ребра, ориентированного от x к y. Ребро, соответствующее соотношению xαx, называется петлей. П р и м е р 7. Пусть X = {1, 2, 3, 4, 5}, α задается с помощью
29
графика следующим образом: G(α) = {(1, 1)(1, 2)(1, 4)(4, 1)(2, 3)(2, 5)(5, 2)(3, 4)(3, 5)(5, 5)}. Графическое изображение этого графа имеет вид, указанный на рисунке.
Каждому бинарному отношению на X отвечает матрица отношений. Следовательно, с каждым графом можно связать матрицу из нулей и единиц ||aij ||, называемую матрицей смежности, такую, что 1 если x αx , i j aij = ′ 0 если xi α xj .
О п р е д е л е н и е 20. Два графа G = (X, α) и H = (Y, β) называются изомофными, если существует биекция ϕ : X → Y, такая, что для всех x, y ∈ X и z, t ∈ Y , для которых ϕ(x) = z, ϕ(y) = t, из того, что xαy в G, следует zβt в H. П р и м е р 8. Пусть G = (X, α) и H = (Y, P ), такие, что X = {1, 2, 3}, Y = {a, b, c} и G(α) = {(1, 2)(2, 3)(3, 1)}, G(β) = {(a, c)(c, b)(b, a)}. Тогда биекция ϕ : X → Y, задаваемая перечислением ϕ : 1 → a, 2 → c, 3 → b, является изоморфизмом, так как (1α2) → (aβc), (2α3) → (cβb), (3α1) → (bβa) при отображении ϕ. Однако, биекция ϕ : 1 → a, 2 → b, 3 → c не является изоморфизмом, так как из того, что 1α2 и ϕ(1) = a, ϕ(2) = b, следует, что (1, 2) → (a, b), а это не удовлетворяет определению изоморфизма, так как a и b не находятся в отношении β, т. е. aβ ′ b. 30
Каждому бинарному отношению α на X можно сопоставить функцию F : X → X следующим образом: y ∈ F (x) ⇐⇒ xαy. Тогда граф можно определить как пару G = (X, F ), где F : X → X есть отображение, которое каждому x ∈ X ставит в соответствие подмножество F x ⊆ X. Так, для графа из примера 7 таблица, задающая F , имеет вид F 1 2 3 4 5 1 3 4 1 2 2 5 5 5 4 Для такого способа задания графа определение изоморфизма формулируется следующим образом. О п р е д е л е н и е 21. Два графа G = (X, F ) и H = (Y, P ) называются изоморфными, если существует биекция ϕ : X → Y, такая, что для любых x ∈ X и y ∈ Y, для которых ϕ(x) = y, имеем ϕ(F x) = P y. (2.5.1) Соотношение (2.5.1) эквивалентно коммутативности следующей диаграммы: ϕ
x −−−→ y F y
ϕ
P y
F x −−−→ P y
где коммутативность означает, что проход по верхней части диаграммы совпадает с проходом по нижней ее части. Граф, о котором здесь идет речь, называется графом Бержа. Приведем некоторые сведения из теории конeчных групп [5]. О п р е д е л е н и е 22. Группой G называется некоторое множество элементов G = {a, b, c, ...} вместе с одной бинарной операцией, называемой произведением, такой что выполняются: G0. Закон замкнутости: для каждой упорядоченной пары элементов a, b из G произведение a ◦ b = c существует и является однозначно определенным элементом из G. G1. Ассоциативный закон: (a ◦ b) ◦ c = a ◦ (b ◦ c). 31
G2. Существование единицы: в G существует такой элемент 1, что 1 ◦ a = a ◦ 1 = a для любого элемента a ∈ G. G3. Существование обратного элемента: для всякого элемента a ∈ G существует такой элемент a−1 ∈ G, что a−1 ◦ a = a ◦ a−1 = 1. Опpеделяя гpуппу через опеpацию умножения, мы на самом деле имеем в виду не обязательно обычное умножение. Под этой операцией подразумевается любая бинарная операция, в том числе и двуместная функция f (a, b), которая состоит в соответствии любым двум элементам a, b ∈ G однозначно определенного третьего элемента c ∈ G. В частности, имеет место следующая теорема Теорема 8. Множество всех взаимно однозначных отображений S на себя относительно операции умножения отображений образует группу. Д о к а з а т е л ь с т в о. Под умножением отображений, как обычно, понимается их суперпозиция относительно элементов из G. Выполнимость условий G0, G1 очевидна. Проверим выполнение условий G2, G3. Так как тождественное отображение e является взаимно однозначным, то e ∈ S и ef = f e = f для любого отображения f ∈ S. Таким образом, тождественное отображение e ∈ S играет роль единицы. Так как всякое отображение f ∈ S; f : G → G является взаимно однозначным, то по определению для каждого элемента y ∈ G существует единственный x ∈ G, такой, что f (x) = y. Cопоставляя элемент x элементу y, мы определяем взаимно однозначное отображение g(y) = x множества G на себя. Из определения отображения g видно, что (g ◦ f )(x) = g(f (x)) = x. Следовательно, f ◦ g = g ◦ f = e и g является отображением, обратным для f . Взаимно однозначное отображение некоторого конечного множества на себя называется перестановкой. Перестановка традиционно задается следующим образом. Пусть G = {1, 2, 3}, тогда Ã
!
Ã
!
123 g= 132
123 , f= 231
две перестановки, у которых верхняя строка есть множество G, а нижняя образы элементов из G. Согласно определению, их произ-
32
ведением является перестановка Ã
!
123 f ◦g = . 321 Перестановки можно задавать с помощью перечисления всех их неодноэлементных циклов: f = (1, 2, 3), g = (2, 3), f ◦ g = (1, 3). Подмножество H группы G, само являющееся группой относительно операции, определенной в G, называется подгруппой. О п р е д е л е н и е 23. Взаимно однозначное отображение ϕ : G → H группы G на группу H называется изоморфизмом, если из того, что ϕ(g1 ) = h1, ϕ(g2 ) = h2, следует, что ϕ(g1 ◦g2 ) = h1 ◦ h2 . П р и м е р 9. Рассмотрим следующие две подгруппы: G и H соответствующих групп перестановок: Ã
!
Ã
!
Ã
!
Ã
!
Ã
123 g5 = 321
!
Ã
!
123 g1 = 123
!
Ã
!
Ã
!
Ã
!
Ã
!
Ã
!
123456 h1 = , 123456 123456 , h2 = 231645
123 g2 = 231
123456 , h3 = 312564
123 g3 = 312
123 g4 = 132
123 g6 = 213
Ã
123456 h4 = , 456123 123456 , h5 = 564312 123456 . h6 = 645231
Тогда отображение ϕ(gi ) = hi является изоморфизмом, а подгруппы G и H изоморфны. Действительно, если ϕ(g2 ) = h2, ϕ(g3 ) = h3 и ϕ — изоморфизм, то должно быть ϕ(g2 ◦ g3 ) = h2 ◦ h3. Непосредственной проверкой убедимся, что Ã
!
123 , g2 ◦ g3 = 123
Ã
!
123456 , h2 ◦ h3 = 123456
т. е. g2 ◦ g3 = g1 и h2 ◦ h3 = h1. Согласно определению отображения ϕ имеем ϕ(g1 ) = h1 . 33
Группа перестановок является представлением любой группы G в том смысле, что любая группа изоморфна некоторой группе перестановок. Таким образом, будучи вполне конкретным математическим объектом, она позволяет сводить решение достаточно общих математических вопросов к непосредственным вычислениям над перестановками. Теорема 9 (Кэли). Произвольная группа G изоморфна некоторой группе перестановок своих элементов. Д о к а з а т е л ь с т в о. Для каждого g ∈ G определим отображение Rg (x) = gx для всех x ∈ G. При фиксированном g получаем отображение множества G на себя, так как для данного y∈G Rg (g−1 y) = gg−1 y = y. Это отображение взаимно однозначно, так как в силу существования в G для любого элемента обратного из соотношения gx1 = gx2 следует x1 = x2 . Таким образом, Rg — перестановка для каждого g ∈ G. Отображение Rg1 Rg2 таково, что Rg1 Rg2 (x) = g1 (g2 x) = (g1 g2 )x = Rg1 g2 (x). Поэтому Rg1 Rg2 = Rg1g2 . Далее, Rg1 (1) = g1 и Rg2 (1) = g2 , следовательно, если g1 6= g2 , то Rg1 6= Rg2 . Значит, отображение g → Rg является изоморфизмом. Очевидно, что R1 = 1 тождественная перестановка и Rg −1 Rg = 1, так что Rg −1 = (Rg )−1 . Пусть G — группа, а H — ее подгруппа. Множество элементов вида hx, где h — любой элемент из H, а x — фиксированный элемент из G, называется левым смежным классом по H и обозначается Hx. Аналогично определяется правый смежный класс xH. Теорема 10. Два левых (правых) смежных класса группы G по H или не пересекаются, или совпадают. Смежные классы по H и подгруппа H совпадают по мощности. Д о к а з а т е л ь с т в о. Предположим, что z ∈ Hx ∩ Hy. Тогда −1 z = h1 x = h2y. Отсюда x = h−1 1 h2y и hx = hh1 h2 y. Поэтому −1 Hx ⊂ Hy. Аналогично hy = hh2 h1x, следовательно, Hy ⊆ Hx, откуда Hx = Hy. Аналогичное доказательство проводится и для правых классов. Равномощность H, Hx и xH доказывается так же, как утверждение в теореме Кэли.
34
Из этой теоремы следует, что существуют такие x2 , . . . , xr из G, что смежные классы H, Hx2 , . . . , Hxr не пересекаются и исчерпывают всю группу G, в этом случае пишут G = H ∪ Hx2 ∪ · · · ∪ Hxr . Если G — конечная группа, то число r называется индексом подгруппы H в G, а число элементов группы G — порядком группы. Теорема 11. ( Лагранжа). Порядок группы G равен произведению порядка подгруппы на индекс H в G. Д о к а з а т е л ь с т в о. Число элементов в каждом из r смежных классов G по H равно числу элементов в H, т. е. ее порядку. Если таких классов r, то количество элементов в G есть произведение r на порядок H. О п р е д е л е н и е 24. Группа G называется циклической, если каждый ее элемент является степенью gi некоторого фиксированного элемента g. Если все степени элемента g различны, то циклическая группа имеет бесконечный порядок и изоморфна группе по сложению всех целых чисел. Если же не все степени различны, то существует такое m > 0, что gm = 1. Пусть n > 0 — наименьшее положительное число, для котоpого n g = 1. Тогда легко видеть, что элементы 1, g, ..., gn−1 составляют всю группу. Число n называется порядком элемента g и при r ≥ 0, s < n имеем gr gs = gr+s , если r + s < n, если же r + s ≥ n, то gr gs = gr+s−n . Элемент g называется образующей циклической группы 1, g, ..., g n−1 . Для любой перестановки g как для элемента группы перестановок также существует понятие порядка пеpестановки. Теорема 12. Порядок перестановки ϕ равен наименьшему общему кратному длин ее циклов. Д о к а з а т е л ь с т в о. Для цикла (x1 , ..., xn ) имеем ϕj (xi ) = xi+j , где i+j берется по модулю n. Следовательно, ϕt (xi ) = xi тогда и только тогда, когда m кратно n. В этом случае ϕm (xi ) = xi для всех xi ∈ G тогда и только тогда, когда m кратно длинам всех циклов перестановки ϕ. Следовательно, при таком m ϕm = e, где e — тождественная перестановка. Как мы выяснили, множество всех взаимно однозначных отображений множества на себя образует группу. И вообще все взаимно однозначные отображения множества на себя, сохраняющие данное его свойство, также образуют группу. Если задана некоторая система A, состоящая из некоторого мно-
35
жества X и некоторой совокупности операций fk , то взаимно однозначное отображение ϕ множества X на себя называется автоморфизмом системы A, если из соотношения fk (x1 , ..., xn ) = y следует fk (ϕ(x1 ), ..., ϕ(xk )) = ϕ(y). Под fk могут подразумеваться как однозначные отображения, так и многозначные. Из определения автоморфизма следует, что произведение двух автоморфизмов есть снова автоморфизм, поэтому все автоморфизмы относительно умножения образуют группу. В случае, когда fk — многозначное отображение, особую актуальность приобретает задача описания свойств циклов автоморфизма в терминах отображения fk . 2.6. Теорема об изоморфизме графов Общее число шагов, которое необходимо сделать для выяснения изоморфности графов с n вершинами, равно n!. Если удачно провести классификацию вершин гафов и наделить полученные классы сравнительными характеристиками, то общий перебор можно сократить по крайней мере до Σini !, где ni — число вершин в i-м классе. Пусть G = (X, F ) и H = (Y, P ) — два конечных графа Бержа, таких, что |X| = |Y |; здесь X и Y — множества вершин, F : X → X, P : Y → Y — отображения, ставящие в соответствие каждой вершине x ∈ X (y ∈ Y ) множество вершин, в которые из x ∈ X (y ∈ Y ) идут дуги. О п р е д е л е н и е 25. Представлением графа G = (X, F ) называется пара ΠG = (TX , AF ), где TX {(α, β)x }x∈X ; α = |F x|, β = |F −1 x|, а AF : TX → TX — соответствие, порождаемое соответствием F при замене элементов x ∈ X и F x ⊆ X в G ′ ′ парами (α, β)x ∈ TX , такое, что AF (α, β)x = {(α , β )x′ }x′ ∈F x . Таким образом, в терминах графического способа задания графа представление графа отличается от него самого тем, что вершина графа с номером i у представления помечена (α, β)i . Пусть Γ1 и Γ2 — два множества из TX . Будем писать Γ1 ∼ Γ2 , если отображение Γ1 → Γ2 с точностью до индексов x из X элементов из Γi , i = 1, 2, является тождественным. П р и м е р 10. Пусть Γ1 и Γ2 из TX имеют следующий вид: Γ1 = {(0, 1)i1 , (1, 0)i2 , (1, 0)i3 }, Γ2 = {(1, 0)j1 , (0, 1)j2 , (1, 0)j3 }. 36
Тогда Γ1 ∼ Γ2 . Если же, например, Γ2 = {(1, 0)j1 , (0, 1)j2 , (0, 1)j3 }, то Γ1 6∼ Γ2 . Обозначим через X/ρ множество классов, полученных с помощью разбиения ρ множества X, а через Fρ — сужение отображения F на X/ρ, относящее каждому классу из X/ρ некоторое множество классов из X/ρ. Определим на классах из X/ρ некоторые порядки. Если σ ∈ X/ρ, то через t σ будем обозначать t копий упорядоченного множества σ, а через σs — результат применения перестановки s к σ. Выражение t σs следует понимать как t (σs ). Теорема 13. Два графа G = (X, F ) и H = (Y, P ), |X| = |Y |, изоморфны тогда и только тогда, когда существует разбиение ρ и биекция ϕˆ : X/ρ → X/ρ, такие, что для любых σ ∈ X/ρ и Σ ∈ Y /ρ, удовлетворяющих соотношениям |σ| = |Σ|, ϕ(σ) ˆ = Σ, коммутативна следующая диаграмма: ϕ ˆ
σ Fρ y
−−−→
ϕ ˆ
Σ Pρ y
(2.6.1)
(t1 σ1s1 , . . . ,tr σrsr ) −−−→ (t1 Σs11 , . . . ,tr Σsrr ) Здесь Pρ и Fρ — сужения отображений P и F на Y /ρ и X/ρ соответственно. З а м е ч а н и е. Если графы G и H изоморфны, вопрос о существовании разбиения ρ и биекции ϕ, ˆ вообще говоря, очевиден, так как всегда в качестве ρ можно взять тривиальное разбиение, при котором в каждом классе содержится по одной вершине. Тогда в качестве ϕˆ будет выступать ϕ. Интересно выяснить, существуют ли какие-то другие разбиения, отличные от тривиальных, и как их найти. Один из ответов на этот вопрос дается в данной теореме, где искомое разбиение формулируется исходя из некоторых качественных и количественных характеристик вершин и их совокупностей. Д о к а з а т е л ь с т в о. Н е о б х о д и м о с т ь. Пусть графы G и H изоморфны и ϕ — биекция, осуществляющая изоморфизм. Разобьем множество X (соответственно Y ) на непересекающиеся подмножества последовательно следующим образом: 37
1 этап. Разбиение π1 = {σ0 , σ1 }: σ0 = {x ∈ X : x ∈ / F x}; σ1 = {x ∈ X : x ∈ F x}. II этап. По разбиению π1 строим разбиение π2 , при котором классы σ0 и σ1 разбиваются на подмножества σkp , k = 0, 1, следующим образом: σkp = {x, y ∈ σk : (α, β)x ∼ (γ, δ)y &AF (α, β)x ∼ AF (γ, δ)y &AF −1 (α, β)x ∼ AF −1 (γ, δ)y }. Здесь p можно положить равным (α, β), но в общем случае представляет собой, кроме того, перечисление всех пар вида t (α′ , β ′ , ) как из AF (α, β)x , так и из AF −1 (α, β)x . III этап. По разбиению π2 строим разбиение π3 множеств σkp на подмножества σkpη , относя к одному подмножеству σkpη те и только те вершины x, y из σkp, для которых выполняется равенство |F x ∩ F −1 x| = |F y ∩ F −1 y|, при этом η полагается равным |F x ∩ F −1 x|. IV этап. По разбиению π3 построим разбиение π4 классов σkpη на подмножества σkpηξ , каждое из которых характеризуется следующим свойством: {(∀ x ∈ σkpηξ )(∃ y ∈ σkpηξ : α = |F x ∩ F y| не зависит от x и y)} Положим ξ = α. Обозначим через σ(x)± след класса σ на F x и F −1 x соответственно. V этап. Разбиение π5 , построенное по разбиению π4 , есть разбиение классов σkpηξ на подклассы σkpηξl , такие, что {(∀ x, y ∈ σkpηξl )(∀ σ ∈ π5 )(|σ(x)± | = |σ(y)± |)}. Упорядочим элементы F x для всех x из каждого σ таким образом, чтобы в строке с номером m содержались вершины, принадлежащие одному классу. В силу свойства разбиения π5 это возможно сделать. Множество вершин с номером m из F σ будем обозначать (F σ)m . VI этап. По ризбиению π5 строим более мелкое разбиение ρ классов σkM , M = (pηξl) на подмножества σkMq , такие, что: 1) для любого x из σkMq (F σkMq )m = t σ ¯k¯M¯ q¯, t ∈ {1, 2, ...}, если |σkMq | > 1;
38
(2.6.2)
2) если |σkMq | = 1, то непустой след любого класса в F σkMq совпадает с самим классом. Очевидно, что построенное таким образом разбиение ρ таково, что G/ρ = (X/ρ, Fρ ) есть не обязательно граф Бержа. Покажем, что все свойства, указанные в разбиении π1 − π5 , ρ графа G, переносятся на соответствующие классы графа H. Пусть ϕ(σ) = Σ, σ ∈ X/ρ, Σ — некоторое подмножество вершин из Y . Так как ϕ — биекция, то |σ| = |Σ| для всех σ ∈ X/ρ. Пусть x ∈ F x, т. е. при x имеется петля и ϕ(x) = y. Тогда y = ϕ(x) ∈ ϕ(F x) = P ϕ(x) = P y т. е. y ∈ P y. Аналогично, из того, что x ∈ / F x, следует, что и y = ϕ(x) ∈ / P y. Таким образом, при изоморфизме вершинам с петлями в графе G соответствуют вершины с петлями в графе H, а вершинам без петль в G соответствуют вершины без петель в H. Пусть вершине x в G соответствует пара (α, β)x в ΠG , а вершине y = ϕ(x) ∈ H — пара (γ, δ)y ∈ ΠH . Тогда в силу изоморфности ϕ имеем ϕ(F x) = P y, ϕ(F −1 x) = P −1 y, следовательно, |F x| = |P y|, |F −1 x| = |P −1y| и α = |F x| = |P y| = γ, β = |F −1x| = |P −1y| = δ. Таким образом, (α, β)x ∼ (γ, δ)y . Каждой вершине xi ∈ F x, в силу изоморфности ϕ, соответствует yi ∈ P y, где y = ϕ(x), ϕ(xi ) = yi . Так как |F x| = |P y| e , то A ±1 (α, β) ∼ A ±1 (γ, δ) . А так как для e e , δ) e β) и (α, y x yi xi ∼ (γ P F ±1 любых x, z ∈ σkp выполняется AF (α, β)x ∼ AF ±1 (γ, δ)z , то и для y = ϕ(x) и t = ϕ(z) из соответствующего Σk p¯ выполняется AP ±1 (ξ, η)y ∼ AP ±1 (r, s)t . Следовательно, |σkp | = |Σk p¯| и p = p¯. Из того, что ϕ — изоморфизм, следует, что ϕ(F x ∩ F −1 x) = ϕ(F x) ∩ ϕ(F −1 x) = P ϕ(x) ∩ P −1 ϕ(x) = P y ∩ P −1y. А тогда |F x ∩ F −1 x| = |P y ∩ P −1 y|, где x ∈ σ, y ∈ Σ, ϕ(σ) = Σ. Таким образом, классы σ и Σ характеризуются одной и той же числовой характеристикой. Аналогично проверяется для Σ свойство, указанное в разбиении π4 . ˜ из π5 Пусть классы σ, σ˜ из разбиения π5 графа G, классы Σ, Σ ˜ графа H таковы, что ϕ(σ) = Σ, ϕ(˜ σ ) = Σ, и пусть класс σ˜ из F ± σ такой, что |˜ σ(x)| = k для всех x ∈ σ. Тогда в силу биективности ˜ ϕ имеем |˜ σ(x)| = |Σ(y)| = k для всех x ∈ σ и y ∈ Σ, таких, что ϕ(x) = y. Наконец, в силу того, что ϕ — изоморфизм и ϕ(σ) = Σ, имеем ϕ(t1 σ1s1 , ...,tr σrsr ) = ϕ(F σ) = P ϕ(σ) = P Σ = (t1 Σsi11 , ...,ir Σsirr ). 39
Д о с т а т о ч н о с т ь. Пусть существует разбиение ρ и биекция ϕ, ˆ такая, что для любых σ ∈ X/ρ и Σ ∈ Y /ρ, удовлетворяющих соотношениям |σ| = |Σ| и ϕ(σ) ˆ = Σ, коммутативна диаграмма (2.6.1). Зафиксируем некоторые порядки на элементах разбиения из X/ρ и Y /ρ. Построим по биекции ϕˆ биекцию ϕ следующим образом. Если ϕ(σ) ˆ = Σ, то элементу x ∈ σ, имеющему номер i, поставим в соответствие элемент y ∈ Σ c тем же номером. Из диаграммы (2.6.1) видно, что ϕˆ ◦ si = si ◦ ϕ, ˆ и, следовательно, ˆ i )si . ϕ( ˆ ti σisi ) =ti (ϕσ Пусть xi из σ и yi из Σ таковы, что ϕ(xi ) = yi, и пусть F xi = (xj1 (σ1s1 ), ..., xjr (σrsr )), P yi = (yk1 (Σs11 ), ..., ykr (Σsrr )). Здесь i = kp + jt , k ∈ {0, 1, ...}, p = |σt |, t = 1, r, а xji (σisi ) есть вершина из σisi с номером ji . Тогда в силу перестановочности ϕˆ и si имеем kt = jt , t = 1, r, и, следовательно, диаграмма ϕ
−−−→
xi F y
yi P y
ϕ
(xj1 (σ1s1 ), ..., xjr (σrsr )) −−−→ (yj1 (Σs11 ), ..., yjr (Σsrr )). коммутативна, а ϕ, построенный по указанному правилу, есть изоморфизм. П р и м е р 11. Пусть графы G = (X, F ) и H = (Y, P ) заданы следующим образом: 1 5 G 6 7
2 3 6 7
3 2 4 6
4 3 5 8
5 1 4 8
6 1 2 3
7 1 2 8
8 4 5 7
1 4 H 7 8
2 6 7 8
3 4 5 6
4 1 3 7
5 3 6 8
6 2 3 5
7 1 2 4
8 1 2 5
Так как графы G и H являются однородными графами степени три без петель [4], то первые три разбиения π1 , π2 , π3 будут тривиальными и состоят из одного элемента, т. е. π1 = π2 = π3 = {X} (соответственно {Y } для графа H). Поиск разбиения ρ и биекции ϕ, ˆ удовлетворяющих теореме об изоморфизме, будем проводить одновременно для графов G и H. Построим разбиение π4 для графа G. Как видно из определения разбиения π4 , каждый его класс σ характеризуется тем, что для любой вершины x ∈ σ существует y ∈ σ, такой, что α = |F x ∩ F y| одно и то же для всех таких пар. 40
Анализируя таблицу графа G, устанавливаем, что наибольшим таким α является α = 2. Этим α характеризуется класс σ02 = (1, 2, 6, 7), так как |F 1 ∩ F 2| = |F 6 ∩ F 7| = 2. Аналогично Σ02 = (1, 2, 7, 8) для графа H. Так как |σ02 | = |Σ02 | и они характеризуются одним α, то в случае, если G и H изоморфны, существует биекция между элементами σ02 и Σ02 . Будем обозначать этот факт так ϕˆ4 (σ02 ) = Σ02 . Заметим, что в силу того, что |X| = |Y |, ϕˆi (X) = Y i = 1, 2, 3, очевидно следующее σ01 = (3, 5, 8), так как F 3 ∩ F 5 ∩ F 8 = 4, Σ01 = (4, 5, 6), так как P 4 ∩ P 5 ∩ P 6 = 3. Оставшиеся вершины в G и H образуют одноэлементные классы σ00 = (4), Σ00 = (3). Таким образом, если G и H изоморфны, то ϕˆ4 (σ01 ) = Σ01 , ϕˆ4 (4) = (3). Построим разбиение π5 . С этой целью упорядочим для каждого x ∈ σ (соответственно y ∈ Σ) вершины в F x (соответственно в P y) таким образом, чтобы в каждой строке F σ (соответственно P Σ) находились вершины одного и того же класса разбиения π4 (если это возможно). Так, частичная таблица для σ02 (соответственно для Σ02 ) будет иметь вид σ02 1 7 2 6 Σ02 1 2 7 8 5 8 3 3 4 6 4 5 6 2 6 2 7 7 1 1 7 1 7 1 8 8 2 2 Но для класса (3, 5, 8) сделать это можно лишь в том случае, если разбить его на два: σ011 = (5, 8), σ012 = (3). Действительно, σ012 3 σ011 5 8 2 1 7 4 4 4 6 8 5 Соответственно Σ011 = (5, 6), Σ012 = (4). Но тогда и классы (1, 7, 2, 6) (соответственно (1, 2, 7, 8) в H) распадутся на два класса: (1, 7) = σ021 и σ022 = (2, 6) (соответственно Σ021 = (1, 7), Σ022 = (2, 8)). Так как |σ011 | = |Σ011 | и |σ012 | = |Σ012|, то в случае изо41
морфности G и H ϕˆ5 (σ021 , σ022 ) = (Σ021 , Σ022 ), ϕˆ5 (σ011 ) = Σ011 , ϕˆ5 (σ012 ) = Σ012 , ϕˆ5 (4) = (3). Из анализа F (σ021 ), F (σ022 ), P (Σ021 ), P (Σ022 ) ясно, что ϕˆ5 (σ021 ) = Σ022 , ϕˆ5 (σ022 ) = Σ021 . Зафиксируем на всех элементах разбиений в G и H некоторые порядки, например те, которые указаны выше при их записи, и проверим, яиляется ли диаграмма (2.6.1) в этом случае коммутативной. Если обозначить для двухэлементного класса σ через σ′ инверсию ее элементов, то диагpамма (2.6.1) для σ011 и соответствующего ему при отображении ϕˆ5 класса σ011 будет иметь вид ϕ ˆ
σ011 Fˆ y
−−−5→
ϕ ˆ
Σ011 Pˆ y
′ (σ021 ,2 σ00 , σ011 ) −−−5→ (Σ′022 ,2 Σ00 , Σ′022 )
и не являться коммутативной в силу того, что ϕˆ5 (σ021 ) 6= Σ‘022 , т. е. из-за несогласованности правых верхних индексов. Попробуем поменять порядок на Σ011 , заменив его на (6, 5), тогда P (Σ011 ) ⊃ Σ‘011 , а Σ‘022 превратится в Σ022 и P (Σ011 ) = (Σ022 ,2 Σ00, Σ‘011 ). Аналогичным образом можно проверить и другие соответствия элементов разбиения из X/ρ и Y /ρ. Такая проверка показывает, что ϕˆ5 {(1, 7), (2, 6), (5, 8), (3), (4)} = {(2, 8), (1, 7), (6, 5), (4), (3)} и, следовательно, ϕˆ5 = ϕ и π5 = ρ, а перестановка имеет вид Ã
1 ϕ= 2
2 3 4 5 1 4 3 6
42
!
6 7 8 . 7 8 5
2.7. Теорема об автоморфизмах автомата О п р е д е л е н и е 26. Конечным автоматом без выходов называется тройка A = (Q, X, F ), где Q и X — конечные непустые множества состояний и выходных символов соответственно, а F : X × Q → Q — функция переходов. Если задано разбиение множества Q на подмножества Qk , то будем считать, что подмножества Qk наделены циклическим порядком, и называть их циклами. Именно в этом смысле будем далее отождествлять множество Q с перестановкой, а о подмножествах Qk говорить как о циклах. Через Fˆ будем обозначать распространение отображения F на множество подмножеств Qk множества Q. Говоря о цикле, удобно подразумевать некоторую его запись, поэтому будем различать ситуации, когда два совпадающих цикла начинаются с одного и того же элемента и с разных. В первом случае циклы будем называть тождественными, во втором — равными. Всюду в дальнейшем соотношение Fˆ (Qk , {x}) = ¨ n Qi , n ≥ 1, k означает, что Fˆ (Q , {x}) есть совокупность из n тождественных циклов Qi . О п р е д е л е н и е 27. Автоморфизмом автомата A = (Q, X, F ) называется любая перестановка g на Q, такая, что {(∀ q ∈ Q)(∀ x ∈ X)(g(F (q, x)) = F (g(q), x))}. О п р е д е л е н и е 28. Конгруенцией автомата A будем называть разбиение π множества Q на непересекающиеся подмножества Qk , такие, что {(∀ Qk ∈ π)(∀ x ∈ X)(∃ Qi ∈ π)(Fˆ (Qk , {x}) ⊆ Qi )}, где i, k > 0 — целые числа. Теорема 14. Конгруенция π порождает автоморфизм тогда и только тогда, когда (∀ Qk ∈ π)(∀ x ∈ X)(∃ Qi ∈ π)(Fˆ (Qk , {x}) = ¨ p Qi . Д о к а з а т е л ь с т в о. Н е о б х о д и м о с т ь. Пусть g — автоморфизм, а Q1 , Q2 , ..., Qm — элементы разбиения π. Тогда 43
формулировка теоремы равносильна эквивалентности следующих двух соотношений: {(∃ g)(∀ q ∈ Q)(∀ x ∈ X)(g(F (q, x)) = F (gq, x))},
(2.7.1)
{(∃ π)(∀ Qk ∈ π)(∀ x ∈ X)(∃ Qi ∈ π)(F (Qk , {x}) = ¨ p Qi )}, (2.7.2) т. е. (1.3.1) → (1.3.2) → (1.3.1). Если Qk — произвольный цикл автоморфизма g, то (2.7.1) эквивалентно соотношению {(∀ x ∈ X)(g(F (Qk , {x})) = F (gQk , {x}))}.
(2.7.1′ )
Зафиксируем на Qk начальный элемент относительно некоторой его записи. Разобьем Qk на классы эквивалентности Qki , относя к одному классу Qki те элементы q ∈ Qk , которые при отображении F имеют один и тот же образ при некотором фиксированном, но произвольном x. Так как g — автоморфизм, то {(∀ qi ∈ Qki )(∀ qj ∈ Qkj )(∀ x ∈ X)(∃ rij > 0)(g rij qi = qj & &F (g rij qi , x) = g rij (F (qi , x)))}. Покажем, что любой паре классов Qki , Qkj из Qk может быть поставлено в соответствие одно rij . Действительно, если существуют r и R, такие, что g r qi = qj , g R q¯i = q¯j , где qi , q¯i ∈ Qki , а qj , q¯j ∈ Qkj , то g r (F (qi , x)) = F (g r qi , x) = F (qj , x), g R (F (q¯i , x)) = F (g R q¯i , x) = F (q¯j , x). Аналогично F (qi , x) = F (q¯i , x). Так как g r и g R — автоморфизмы, то R ≡ r(mod µ). Здесь µ такое, что g µ+1 = g. Таким образом, для любой пары классов Qki и Qkj найдено такое rij , что g rij (Qki ) = Qkj . Так как g rij — биекция, то Qki и Qkj равномощны. Покажем, что в случае, когда Fˆ : Qk × {x} → Qk , Fˆ действует на Qk как циклическая перестановка. Пусть q1 , q2 ∈ Qk . Существует r > 0, такое, что g r q1 = q2 . Пусть F (q1 , x) = q ′ и F (q2 , x) = q ′′ . Тогда, если g r q ′ = q ′′ , то F действует на Qk как циклическая перестановка. В самом деле, g r q ′ = g r (F (q1 , x)) = F (g r q1 , x) = F (q2 , x) = q ′′ . Рассмотрим случай Fˆ : Qk × {x} → Qi . Возмем q и q ′ из Qk , такие, что F (q, x) ∈ Qi1 , F (q ′ , x) ∈ Qi2 , и пусть Qi1 6= Qi2 . Тогда 44
найдется r > 0, такое, что g r q = q ′ , а g r (F (q, x)) 6= F (g r q, x), так как g r (F (q, x)) ∈ Qi1 и F (g r q, x) ∈ Qi2 . А это противоречит автоморфности g. Таким образом, Qi1 = Qi2 . В силу равномощности классов эквивалентности из Qk найдется p > 0 целое, такое, что Fˆ (Qk , {x}) = p Qi . Покажем, что все Qi упорядочены одним и тем же образом и этот порядок с точностью до циклического сдвига совпадает с исходным порядком на Qi , т. е. Fˆ (Qk , {x}) = ¨ p Qi . k i Пусть это не так и n = |Q |, m = |Q |, n = pm. Возьмем q¯ и ¯q из Qk , такие, что q¯ 6= ¯q и F (¯ q , x) = F (¯q , x). Пусть F (¯ q , x) ∈ Qi1 , i i i а F (¯q , x) ∈ Q 2 , Q 1 = Q 2 , но порядок на них неодинаков. Если F (¯ q , x) имеет номер k1 в Qi1 , а F (¯q , x) — k2 в Qi2 и |k1 − k2 | < m, то r = lm + k2 − k1 таково, что g r q¯ = ¯q , и в силу автоморфности g r имеем F (¯q , x) = F (g r q¯, x) = g r F (¯ q , x) = g k2 −k1 (F (¯ q , x)) 6= F (¯ q , x), так как |k2 − k1 | < m, что противоречит выбору q¯ и ¯q . Таким образом, Fˆ (Qk , {x}) = ¨ p Qi и (1.3.2) доказано. Д о с т а т о ч н о с т ь. Пусть имеет место соотношение (2.7.2). Доопределим порядки на Qk до циклических и положим g = {Qk }k . В случае i = k соотношение (2.7.1), очевидно, выполняется для всех q ∈ Qk и x ∈ X, так как F действует на Qk как циклическая перестановка, по определению равенства =. ¨ В случае i 6= k обозначим через R отношение элвивалентности на Qk по mod F , тогда имеет место соотношение Fˆ (Qk /R, {x}) = Qi . Классы Qki из Qk /R равномощны, а Fˆ — биекция и, следовательно, Fˆ ◦g = g◦ Fˆ , так как g- биекция. Таким образом, и в этом случае F (gq, x) = g(F (q, x)) для любого q ∈ Qk , т. е. g — автоморфизм. П р и м е р 12. Пусть автомат А задан таблицей x\Q| x1 | x2 | x3 |
0 1 3 8
1 3 1 1
2 7 5 8
3 1 1 1
4 5 2 0
5 4 7 0
6 9 0 3
7 2 4 8
8 1 3 0
9 6 8 3
Как следует из теоремы, разбиение множества Q на классы (0, 8), (1), (3), (4, 2, 5, 7), (6, 9) порождает автомоpфизм, если на каждом классе определить циклические порядки. Действительно, Fˆ ((0, 8), x1 ) = 2 (1), Fˆ ((0, 8), x2 ) = 2 (3), Fˆ ((0, 8), x3 )) = (8, 0), Fˆ ((2, 4, 7, 5), x1 ) = (7, 5, 2, 4), (2.7.3) Fˆ ((2, 4, 7, 5), x2 ) = (5, 2, 4, 7), Fˆ ((2, 4, 7, 5), x3 ) = 2 (8, 0), ... 45
Таким образом, перестановка Ã
!
0 1 2 3 4 5 6 7 8 9 g= 8 1 5 3 2 7 9 4 0 6 является автомоpфизмом.
2.8. Теорема об автоморфизмах гафов Пусть G = (X, F ) — граф Бержа, у которого X — множество вершин, а F : X → X — отображение, ставящее в соответствие каждому x ∈ X множество вершин, в которые из x идут дуги. Пусть ρ — разбиение множества X на попарно не пересекающиеся классы, а X/ρ — множество полученных в результате разбиения классов. О п р е д е л е н и е 29. Автоморфизмом графа G = (X, F ) называется биекция ϕ : X → X, такая, что для всех x ∈ X и y ∈ X, для которых ϕ(x) = y, выполняется соотношение ϕ(F x) = F (ϕ(x)).
(2.8.1)
Как уже указывалось, всю группу автомофизмов графа G можно вычислить, зная свойство циклов автоморфизма графа относительно графовского отображения. Каждый вычисленный автоморфизм порождает циклическую подгруппу группы автоморфизмов графа, и в силу его конечности вся группа графа [5] исчерпывается конечным числом таких циклических подгрупп . Пусть ρ — разбиение множества X на непересекающиеся классы σk , такое, что Fˆ σk , где Fˆ — распространение F на множество классов X/ρ, представляет собой множество классов из X/ρ. Зафиксируем некоторые порядки на каждом классе из X/ρ. Упорядочим элементы из F σk для каждого x ∈ σk таким образом, чтобы все элементы, имеющие после упорядочения один и тот же номер, принадлежали одному и тому же классу из X/ρ. Множество элементов из F σk , имеющие один и тот же номер после упорядочения, будем обозначать F(m) σk или (F σk )m . Как и ранее, через p σ обозначим p копий упорядоченного множества σ, а соотношение (F (σk ))m = ¨ p σi(m) , σi , σk ∈ X/ρ 46
(p > 0 — целое число), означает, что правая часть его представляет собой совокупность из p упорядоченных одним и тем же образом копий множества σi , причем порядок на σi совпадает с исходным порядком на нем с точностью до циклического сдвига. Теорема 15. Разбиение ρ множества X графа G = (X, F ) порождает автоморфизм g тогда и только тогда, когда для любого класса σk ∈ ρ и любого m > 0 найдется σki(m) ∈ ρ, такой, что (F (σk ))m = ¨ pi(m) σki(m) (2.8.2) при |σk | > 1 и
Fˆ σk = {σki }i
(2.8.3)
при |σk | = 1. Д о к а з а т е л ь с т в о. Н е о б х о д и м о с т ь. Пусть ρ — разбиение множества X на классы {σk }, каждый из которых упорядочен циклическим образом, составляет автоморфизм g. Пусть x ∈ σk1 , y ∈ σk2 , |σk2 | ≤ |σk1 | > 1, таковы, что F(m) x = y. Для произвольного, но фиксированного m > 0 разобьем множество σk1 на классы σk1 i , относя в один класс те и только те элементы z и z ′ ∈ σk1 , которые удовлетворяют соотношению F(m) z = F(m) z ′ . Так как g — автоморфизм, то (∀ xi ∈ σk1 i )(∀ xj ∈ σk1 j )(∃ rij > 0)(g rij xi = = xj &g rij (F(m) xi ) = F(m) (g rij (xi ))). Покажем, что любой паре σk1 i и σk1 j из σk1 можно поставить в соответствие одно rij . Пусть xi , x¯i ∈ σk1 i , xj , x¯j ∈ σk1 j , а r и R таковы, что g r xi = xj , g R x¯i = x¯j . Тогда в силу того, что g r g R — автоморфизмы, g r (F(m) xi ) = F(m) (g r (xi )) = F(m) xj , g R (F(m) x¯i ) = F(m) (g R (¯ xi )) = F(m) x¯j , но так как xi , x¯i ∈ σk1 i , xj , x¯j ∈ σk1 j , то F(m) xi = F(m) x¯i , F(m) xj = F(m) x¯j и, следовательно, r ≡ R( mod µ), где µ > 0 такое, что g µ+1 = g. Итак, для любой пары классов σk1 i и σk1 j существует rij , для которого g rij (σk1 i ) = σk1 j . Так как g rij — биекция, то |σk1 i | = |σk1 j | и, следовательно, существует такое p > 0, что F(m) σk1 = p σk2 .
47
Покажем, что все копии σk2 в F(m) σk1 упорядочены одинаковым образом и порядок на них совпадает с исходным с точностью до циклического сдвига. Доказательство будем вести от противного. Пусть |σk1 | = n, |σk2 | = l, n = pl. Рассмотрим такие x, x¯ ∈ σk1 , что x 6= x¯, F(m) x = F(m) x¯ и F(m) x ∈ σk2 , F(m) x¯ ∈ σ ¯k2 , причем σk2 = σ ¯k2 , но поpядки на них, как на подмножествах из F(m) σk1 , разные. Пусть F(m) x имеет номер i1 в σk2 , а F(m) x¯ — номер i2 в σ ¯ k2 и |i2 − i1 | < l, тогда r = sl + i2 − i1 таково, что g r x = x¯ и в силу того, что g r — автоморфизм, F(m) x¯ = F(m) (g r (x)) = g r (F(m) x) = g i2 −i1 (F(m) x) 6= F(m) x, что противоречит выбору x и x¯. Следовательно, F(m) σk1 = ¨ p σk2 .
(2.8.4)
Так как m выбиралось произвольно, то соотношение (2.8.4), а следовательно, и (2.8.2), выполняется для всех m. В силу произвольности выбора класса σk из разбиения ρ соотношение (2.8.2) выполняется для всех σk , таких, что |σk | > 1. А так как r — вычет по модулю µ, то порядки на σi отличаются на циклический сдвиг. Пусть |σk | = 1 и σk = {x}. Тогда, в силу соотношения g(x) = x и того, что g — автоморфизм, g(F x) = F g(x) = F x. Но для любого σk ∈ X/ρ, g(σk ) = σk , поэтому любой непустой след класса σk на F x совпадает с самим классом σk . Таким образом, Fˆ σk = {σki }i при |σk | = 1. Д о с т а т о ч н о с т ь. Пусть разбиение ρ таково, что соотношение (2.8.2) выполняется для всех m и любых σk из ρ. Покажем, что разбиение ρ порождает автоморфизм g. Доопределим порядки на классах σk до циклических. В качестве перестановки g возмем совокупность циклов {σk }. Очевидно, что для каждого класса σk разбиения ρ g(σk ) = σk . А так как для любого m > 0 имеем (F σk )m = ¨ p σki , то g((F σk )m ) = p (g(σksi )), где s — циклический сдвиг на некоторое количество разрядов. Так как g и s — биекции, то g(σksi ) = (g(σki ))s . Рассмотрим элементы x, x′ ∈ σk , такие, что F(m) x = F(m) x′ = y ∈ σki . Тогда существут r > 0, такое, что g r (x) = x′ . Так как F(m) σk = ¨ p σki , то номера у F(m) x и F(m) x′ совпадают в соответствующих копиях σki . Тогда r = sl и g r (y) = y при некотором s, 48
где l = |σki |, n = |σk | и n = pl, p ≤ s. Так как F(m) x = F(m) x′ , то g r (F(m) x) = g r (F(m) x′ ) = g r y, F(m) g r x = F(m) x′ = y. Таким образом, g r (F(m) x) = F(m) g r x = F(m) x′ для x и x′ связанных между собой автоморфизмом ϕ = g r , т. е. таких, что ϕ(x) = x′ . П р и м е р 13. Пусть граф G задан с помощью следующей таблицы: 1 5 6 7
2 3 6 7
3 2 4 6
4 3 5 8
5 1 4 8
6 1 2 3
7 1 2 8
8 4 5 7
Здесь X = {1, 2, 3, 4, 5, 6, 7, 8}. Покажем, что разбиение ρ = {(1, 7), (2, 6), (3), (4), (5, 8)}
(2.8.5)
порождает автоморфизм Ã
!
1 2 3 4 5 6 7 8 g= . 7 6 3 4 8 2 1 5 Зафиксируем на элементах разбиения ρ те порядки, которые определились в результате записи ρ в (2.8.5). Тогда частичные таблицы, после соответствующего упорядочения элементов образов, соответствующие элементам разбиения ρ будут иметь вид 1 5 6 7
7 8 2 1
2 3 6 7
6 3 2 1
3 2 6 4
4 3 5 8
5 4 1 8
8 4 7 5
Нетрудно заметить, что каждый элемент разбиения удовлетворяет соотношению (2.8.2). В соответствии с доказательством достаточности теоремы об автоморфизмах графов коммутативны следующие диаграммы: 1 y
−−−→
7
2
y
y
5, 6, 7 −−−→ 8, 2, 1
−−−→
6 y
3, 6, 7 −−−→ 3, 2, 1 49
5
−−−→
8 y
y
4, 1, 8 −−−→ 4, 7, 5 что эквивалентно автоморфности g.
50
3 АВТОМАТЫ
3.1. Полностью определенные автоматы Расмотрим автомат, у которого кроме функции переходов задана также функция выходов. О п р е д е л е н и е 30 . Конечным автоматом называется набор из пяти объектов M = [X, Q, Y, F, ζ]. Здесь X = {x0 , x1 , ..., xn } — выходные символы (входной алфавит), Q = {q 0 , q 1 , ..., q r } — множество внутренних состояний, Y = {y 0 , y 1 , ..., y m } — множество выходных символов (выходной алфавит), F : Q × X → Q — функция перехода (в следующее состояние), ζ : Q × X → Y — функция выхода. Автоматы мы будем задавать в виде таблицы. Например, если X = Y = {0, 1}, Q = {q 0 , q 1 , q 2 }, то автомат M может быть задан следующим образом с помощью функций перехода и выхода F :
(q 0 , 0) 7→ q 1 (q 0 , 1) 7→ q 0 (q 1 , 0) 7→ q 2 (q 1 , 1) 7→ q 1 (q 2 , 0) 7→ q 0 (q 2 , 1) 7→ q 2
ζ : (q 0 , 0) 7→ 0 (q 0 , 1) 7→ 1 (q 1 , 0) 7→ 1 (q 1 , 1) 7→ 0 (q 2 , 0) 7→ 1 (q 2 , 1) 7→ 0
Или в виде таблицы Q q0 q1 q2
F
0 1 ζ q1 q0 q2 q1 q0 q2
0 0 1 1
1 1 0 0
которую следует понимать таким образом. В первой колонке перечисляются элементы множества Q. В первой строке перечисля51
ются элементы входного алфавита X. Во второй колонке таблицы задается функция перехода F . А в третьей колонке — функция выхода ζ. Так, если на вход автомата подается последовательность входных символов x¯ = 01, то автомат, начинающий свою работу из состояния q 0 , под действием входного символа 0 переходит в состояние q 1 и на выходе появляется символ 0. Под действием входного символа 1 из состояния q 1 автомат переходит в состояние q 1 и на выходе появляется 0. Пусть M = [X, Q, Y, F, ζ] некоторый автомат. Тогда по любой входной строке x = x0 , x1 , ..., xr−1 длины r и по любому начальному состоянию q 0 ∈ Q однозначно определяется строка длины r внутренних состояний q = q 0 , q 1 , ..., q r−1 , которая получается последовательным применением отображения F , точнее q j+1 = F (q j , xj ); j = 0, 1, ..., r − 2.
(3.1.1)
y j = ζ(q j , xj ); j = 0, 1, ..., r − 1.
(3.1.2)
Аналогично, Поэтому, рассматривая автомат как устройство, преобразующее пары (q 0 , x = x0 , ..., xr−1 ) в строки q = q 0 , q 1 , ..., q r−1 и y = y 0 , y 1 , ...y r−1 мы можем с помощью (1) и (2) определить функции Fr : Q × X r → Qr ; ζr : Q × X r → Y r .
(3.1.3)
Здесь X r , Y r , Qr множество строк длины r символов из X, Y, Q соответственно. Далее будет решаться следующая задача. Пусть входной и выходной алфавит фиксированы. По даннаому ˜ с ˜ = [X, Q, ˜ Y, F˜ , ζ] автомату M = [X, Q, Y, F, ζ] найти автомат M меньшим числом состояний, но с той же функцией, переводящей входы в выходы. ˜ покрывает автомат О п р е д е л е н и е 31. Автомат M ˜ M , и пишут M ≥ M , если входной и выходной алфавиты у этих ˜ такая, что автоматов общие и существует функция ϕ : Q → Q, для любого положительного числа r ζr (q, x) = ζ˜r (ϕ(q), x) при всех x ∈ X r .
52
(3.1.4)
˜ эквивалентны, О п р е д е л е н и е 32. Автоматы M и M ˜ ˜ иM ˜ пои в этом случае пишут M ≡ M , если M покрывает M ˜ со свойством (3.1.4), крывает M , т.е. кроме функции ϕ : Q → Q ˜ существует функция ψ : Q → Q, такая, что q ), x) при всех q˜ и x ∈ X r . ζ˜r (˜ q , x) = ζr (ψ(˜
(3.1.5)
О п р е д е л е н и е 33. Морфизмом называется такое ˜ что отображение θ : Q → Q, ˜ F˜ (θ(q), x) = θ(F (q, x)) и ζ(θ(q), x) = ζ(q, x),
(3.1.6)
для всех q ∈ Q и x ∈ X. Если θ сюръективно, то оно эпиморфизм, если θ биективно, то — изоморфизм. ˜ , тогда для Лемма 4. Пусть θ эпиморфизм автомата M на M 0 1 n−1 любой входной строки x = x , x , ..., x и начального состояния q 0 ∈ Q выходная строка y = y 0 , y 1 , ..., y n−1 автомата M совпада˜ , если начальное состояние ет с выходной строкой автомата M 0 0 ˜ автомата M равно q˜ = θ(q ). Д о к а з а т е л ь с т в о. Доказательство проводится индукцией по n. q˜k+1 = F˜ (˜ q k , xk ) = F˜ (θ(q k ), xk ) = θ(F (q k , xk )) = θ(q k+1 ), k ˜ q k , xk ) = ζ(θ(q ˜ y˜k = ζ(˜ , xk ) = ζ(q k , xk ) = y k . О п р е д е л е н и е 34. Состояния q i и q j называются r-эквивалентными, если для всякой входной строки x ∈ X r ζr (q i , x) = ζr (q j , x) В этом случае пишут q i Er q j или (q i , q j ) ∈ G(Er ), где G(Er ) — график бинаоного отношения Er . Если q i Er q j для всех r, будем писать q i Eq j и говорить, что q i и q j эквивалентны. Бинарные отношения E и Er — отношения эквивалентности. Вместо (q i , q j ) ∈ / G(Er ) мы пишем q i Er′ q j . Например, для автомата (A) Q q0 q1 q2
F
0 1 ζ q2 q1 q0 q2 q0 q1 53
0 0 1 0
1 1 0 1
графики 1-эквивалентных и 1-неэквивалентных состояний имеют вид G(E1 ) = {(q 0 , q 2 ), (q 2 , q 0 ), (q 0 , q 0 ), (q 1 , q 1 ), (q 2 , q 2 )} G(E1′ ) = {(q 0 , q 1 ), (q 1 , q 0 ), (q 1 , q 2 ), (q 2 , q 1 )} Решение задачи минимизации оказывается лучше всего начать с выявления неэквивалентных состояний. О п р е д е л е н и е 35. Положим F ∗ : Q × X r → Q : F ∗ (q 0 , x) = q r−1 = F (...(F (F (q 0 , x0 ), x1 ), ...), xr−2 ). Это означает. что F ∗ (q 0 , x) есть последнее состояние автомата, начавшего работу в состоянии q 0 и считавшего входную строку x длины r. Положим далее ζ ∗ : Q × X r → Y : ζ ∗ (q 0 , x) = y r−1 = ζ(...F (F (q 0 , x0 ), x1 ), ..., xr−1 ). Это означает, что ζ ∗ (q 0 , x0 ) есть последний символ выходной строки автомата, начавшего работу в состоянии q 0 и считавшего входную строку x. Так, для автомата (A) при r = 3 имеем F ∗ (q 0 , 101) = 1 q , F ∗ (q 1 , 101) = q 1 , ζ ∗ (q 0 , 101) = 1, ζ ∗ (q 1 , 101) = 1. Две теоремы о неэквивалентных состояниях. Теорема 16. Если q i E ′ q j , то либо q i E1′ q j , либо для подходящей строки x = (x0 , ..., xr−1 ) имеем F ∗ (q i , x)E1′ F ∗ (q j , x)). Д о к а з а т е л ь с т в о. Утверждение q i E ′ q j означает, что ζ ∗ (q i , x) 6= ζ ∗ (q j , x) для подходящей строки x = (x0 , ..., xr−1 ). При необходимости мы можем укоротить входную строку x так, чтобы выходные строки, отвечающие q i и q j , отличались только последними символами. Пусть это уже сделано. Если после этого r = 1, то, очевидно, q i E1′ q j . Если же r > 1, то q i Er′ q j , но q i Ek q j при k < r. Таким образом, последние выходные символы автомата, считавшего x, различны, если он исходил из начальных состояний q i и q j соответственно. Чтобы выходы отличались, ζ ∗ (q i , x) 6= ζ ∗ (q j , x), должно быть F ∗ (q i , x)E1′ F ∗ (q j , x). Иначе последний входной символ xr−1 даст один и тот же выходной символ. Имеет место более сильная теорема. 54
Теорема 17. Если q i Er′ q j , но q i Ek q j для всех k < r, то ′ F (q i , xl )Er−1 F (q j , xl ) для подходящего xl ∈ X. Д о к а з а т е л ь с т в о. Переформулировка этого утверждения ′ такова: если (q i , q j ) ∈ G(Er′ ) − G(Er−1 ), то для подходящего xl ∈ X i k j k ′ ′ имеем (F (q , x ), F (q , x )) ∈ G(Er−1 ) − G(Er−2 ). i j Эта теорема утверждает, что состояния q , q , эквивалентные относительно всех входных последовательностей длины r − 1, могут оказаться неэквивалентными относительно последовательностей длины r только в том случае, когда имеется символ xk , переводящий q i , q j соответственно в состояния q l , q m , неэквивалентные относительно подходящей входной последовательности длины r −1. Это означает, что на r-м шаге достаточно исследовать состояния в G(Er−1 ) и установить, найдется ли пара q i , q j , переходящая ′ в пару q l , q m со свойством q l Er−1 q m . В этом случае q i Er′ q j . Если мы уже определили G(E1′ ), то G(E2′ ) состоит из G(E1′ ) и таких упорядоченных пар (q i , q j ), что для некоторого xp имеем (F (q i , xp ), F (q j , xp )) ∈ G(E1′ ). В общем случае нужно исследовать ′ ′ каждый раз только G(Er−1 ) − G(Er−2 ). Таким способом мы сумеем ′ рекурсивно определить G(E ) и, наконец, G(E) — дополнение к G(E ′ ) в булевой алгебре подмножеств S × S. Доказательство теоремы проводится непосредственно. Если па′ ′ ра (q k , q l ) лежит в G(Er−1 ), то она не лежит в G(Er′ ) − G(Er−1 ). k l Значит, нужно рассматривать лишь такие пары (q , q ), что для некоторой строки x ∈ X r имеем ζ(q k , x) 6= ζ ∗ (q l , x), а для всех строк x ∈ X r−1 имеем ζ ∗ (q k , x) = ζ ∗ (q l , x). Но это в точности те пары, которые переводятся в G(E1′ ) (r − 1)-м входным символом xr−2 и, ′ ′ стало быть, в G(Er−1 ) − G(Er−2 ) некоторым символом x0 ∈ X. ′ ′ Лемма 5. Если G(Er′ ) − G(Er−1 ) = ∅, то G(Er′ ) = G(Er+k ) для всех k ≥ 0. Действительно, дальнейшие шаги не добавят новых пар состо′ яний, ибо, согласно теореме 2, дополнение G(Er+1 )−G(Er′ ) состоит из тех пар, которые переводятся подходящим символом xi ∈ X в ′ дополнение G(Er′ ) − G(Er−1 ). П р и м е р 14. Пусть автомат M задан следующей таблицей:
55
Q q1 q2 q3 q4 q5
F
0 1
q q1 q5 q4 q4
1 ζ q2 q3 q1 q2 q3
0 1 1 1 1 1
1 0 0 0 0 1
При формировании графиков неэквивалентных состояний мы в дальнейшем не бедем включать в перечень неэквивалентных состояний симметричные к данным пары, а в графики эквивалентных состояний не включать еще и пары типа (q i , q i ). График 1-неэквивалентных состояний для данного автомата имеет вид: G(E1′ ) = {(q 1 , q 5 ), (q 2 , q 5 ), (q 3 , q 5 ), (q 4 , q 5 )}. Согласно теореме 17, график 2-неэквивалентных состояний состоит из 1-неэквивалентных состояний и тех пар состояний, которые под действием некоторого входного символа переходят в 1неэквивалентные состояния, т.е. G(E2′ ) = G(E1′ ) ∪ {(q 1 , q 3 ), (q 2 , q 3 ), (q 3 , q 4 )}. Аналогично, G(E3′ ) = G(E2′ ) ∪ {(q 1 , q 2 ), (q 2 , q 4 )}. Дальнейший перебор показывает, что G(E3′ ) = G(E4′ ). Таким образом, G(E4 ) = G(E3 ), E = E3 и q 1 Eq 4 , а остальные пары состояний неэквивалентны.
3.2. Неполностью определенные автоматы Так как системы обычно проектируются по частям, то некоторые входные последовательности либо вообще не встречаются для данного подавтомата, либо реакция на некторые последователльности нас не интересует. Это приводит к тому, что некоторые позиции в таблицах состояний и выходов подавтоматов отсуствуют. Такие позиции называются неопределенными и в таблицах обозначаются прочерком. Например, 56
Q q0 q1 q2
F
0
1 q q1 — q2 q0 q1
ζ
2
0 0 1 —
1 1 0 1
Для описания способа минимизации неполностью определенных автоматов нам потребуются следующие определения. О п р е д е л е н и е 36. Входная последовательность x = x0 , x1 , ..., xr−1 называется допустимой для автомата в начальном состоянии q j , если функция F перехода в следующее состояние определена для всех элементов последовательности, кроме, возможно, последнего. Таким образом, начальное состояние q j и допустимая входная последовательность x однозначно определяют строку внутренних состояний, за исключением того, что последнее состояние может быть неопределенным. О п р е д е л е н и е 37. Выходная строка y покрывает выходную строку y ( в которой могут быть неопределенные символы), если всякий определенный символ y j в y равен соответствующему символу y j в y. Например, строка y = 0, 1, 1 покрывает строку y =—,1,1. Строка 0,1,0 покрывает —,1,0. Если y покрывает y, то пишем y ≥ y. О п р е д е л е н и е 38. Если ζr (q k , x) ≥ ζ r (q j , x) для всех x допустимых для q j , мы пишем q k ≥ q j и говорим, что q k покрывает q j . О п р е д е л е н и е 39. Автомат M покрывает автомат M , если для каждого состояния q j автомата M существует такое состояние q k автомата M , что ζr (q k , x) ≥ ζ r (q j , x) для всех x, допустимых для q j . В этом случае мы пишем M ≥ M . Очевидно, в случае M = M состояние q k покрывает q j , если ζr (q k , x) ≥ ζr (q j , x) для всех x, допустимых для q k , и мы пишем q k ≥ q j . Рассмотрим следующие автоматы
Q q0 q1 q2
0 q0 q1 q0
1 q1 q0 q2
0 0 – 1
˜ Q q˜0 q˜1
1 1 1 1 57
0 1 q˜0 q˜0 q˜0 q˜1
0 1 0 1 1 1
˜ покрывает автомат M , так как состояние q˜0 покрыАвтомат M вает состояния q 0 и q 1 , а состояние q˜1 покрывает q 2 . Поскольку некоторые из символов выходной строки автомата могут быть неопределенными, нам придется рассматривать еще одно отношение между выходными строками. О п р е д е л е н и е 40. Выходная строка y совместима с выходной строкой y, если в каждой позиции, где символы обеих строк определены, они совпадают. В этом случае мы будем писать yγy. Например, строка 0,1,—,1 совместима с 0,—,1,—, или с —,0,— ,1. Заметим, что γ не является отношением эквивалентности. Оно рефлексивно, симметрично, но не транзитивно. Так как сравниваемые неполностью описанные автоматы могут содержать неопределенные символы как в таблице переходов так и в таблице выходов, изменится и отношение между состояниями таких автоматов. О п р е д е л е н и е 41. Состояние q i называется совместимым по выходу с состоянием q j , если ζ(q i , x)γζ(q j , x) для 1 всех x ∈ X. В этом случае мы пишем q i σ q i . Если состояния не 1
совместимы по выходу, мы пишем q k σ ′ q i . Иначе говоря, два состояния совместимы по выходу, или 1совместимы, если для каждого входного символа их выходы совпадают, когда они определены. О п р е д е л е н и е 42. Состояния q i и q j называются совместимыми, если для всех x ∈ X r , допустимых как для q i , так и для q j , имеем ζr (q i , x)γζr (q j , x). В этом случае мы пишем q i σq j . Если q k и q l совместимы не для всех x, мы пишем q k σ ′ q l . Если состояния q i и q j совместимы для всех строк фиксированной длины k, то состояния q i и q j называем k k-совместимыми и пишем q i σ q j . Рассмотрим автомат M , заданный следующей таблицей: Q q1 q2 q3 q4 q5
F
x1 q2 q3 q3 − −
x2 − q5 q4 q1 −
x3 q3 q2 − q2 q1
x4 2
q − q5 − −
58
ζ x1 0 0 0 – –
x2 – 1 1 1 –
x3 – 0 – – 1
x4 – – 0 – –
Для упрощения записи состояние q i будем обозначать через i. Тогда график 1-совместимых состояний будет иметь вид: 1
G(σ) = (1, 2)(1, 3)(1, 4)(1, 5)(2, 3)(2, 4)(3, 4)(3, 5)(4, 5) Вычислим графики несовместимых состояний. Для чего по автомату M вычислим следующую таблицу совместимости для 1совместимых состояний и воспользуемся Теоремой 17 о несовместимых состояниях:
(1,2) (1,3) (1,4) (1,5) (2,3) (2,4) (3,4) (3,5) (4,5)
x1 x2 x3 x4 (2,3) – (2,3) – (2,3) – – (2,5) – – (2,3) – – – (1,3) – – (4,5) – – – (1,5) – – – (1,4) – – – – – – – – (1,2) –
Те пары 1-совместимых состояний, которые переходят под действием некоторого входного символа в пару 1-несовместимых состояний, согласно теореме 2 оказываются 2-несовместимыми и т.д. Последовательное вычисление несовместимых состояний дает: 1
2
G(σ ′ ) = (2, 5), G(σ ′ ) = (2, 5)(1, 3), 3
4
G(σ ′ ) = (2, 5)(1, 3)(1, 5), G(σ ′ ) = (2, 5)(1, 3)(1, 5)(2, 4) Таким образом, график совместимых состояний будет иметь вид: G(σ) = (1, 2)(1, 4)(2, 3)(3, 4)(3, 5)(4, 5) Расширим теперь понятие совместимости, учитывая, что склеиваться могут не только пары состояний. О п р е д е л е н и е 43. Совместимым классом Ck называется такое множество внутренних состояний q 1 , q 2 , ..., q m , что q i σq j для всех q i , q j ∈ Ck . Для выше приведенного автомата совместимые классы таковы: (1,2),(1,4),(2,3), (3,4),(3,5),(4,5).
59
О п р е д е л е н и е 44. Некоторое множество совместимых классов называется согласованным, если для любого класса Ck из этого множества и любых его элементов q i , q j внутренние состояния F (q i , xk ), F (q j , xk ) принадлежат подходящему совместимому классу Ci для любого входного символа xk . О п р е д е л е н и е 45. Некоторое множество совместимых классов называется замкнутым, если всякое внутреннее состояние автомата принадлежит хотя бы одному из этих классов. Теорема 18. Пусть задано замкнутое согласованное множество совместимых классов для автомата M . Тогда существует автомат M , состояния которого получаются склеиванием всех состояний M , содержащихся в одном совместимом классе из данного множества. Д о к а з а т е л ь с т в о. Пусть задано замкнутое согласованное множество совместимых классов. Склеим все состояния класса Ci в одно новое состояние q j . Определим ζ(q j , xk ) как ζ(q i , xk ), если эти значения определены для всех q i ∈ Ci . Определим F (q j , xk ) как q m , если F (q j , xk ) ∈ C m для всех q i ∈ Ci . Каждое новое состояние покрывает все состояния соответствующего класса. Очевидно, для получения минимального автомата M , необходимо выбрать замкнутое согласованное множество совместимых классов, состояшее из наименьшего числа согласованных классов. Вт предыдущем примере таким множеством является (1,2),(2,3),(4,5), а соответствующий минимальный автомат имеет вид Q q¯1 q¯2 q¯3
F
x1 x 2 x 3 x4 q¯2 q¯3 q¯2 q¯1 q¯2 q¯3 q¯1 q¯3 − q¯1 q¯1 −
60
ζ x1 0 0 –
x2 1 1 1
x3 0 0 1
x4 – 0 –
4 ДЕКОМПОЗИЦИЯ ГРАФОВ Здесь мы рассмотрим операции умножения, суммирования и композиции над множеством графов Бержа. Если прямая задача, т. е. задача составления из нескольких графов более сложного с помощью различных операций, не требует привлечения дополнительных средств кроме тех, что указаны в определении, то обратная задача, т. е. задача декомпозиции, не может быть решена с использованием лишь информации о той или иной операции. Поэтому здесь используется понятие представления графа, которое характеризует количественно не только каждую вершину в графе, но и определяет связь между этими локальными характеристиками графа. Распространяя определения различных операций на представления, мы тем самым можем построить некоторую арифметику над множеством количественных характеристик графа. Как сам граф, так и его разложение по данной операции восстанавливаются с точностью до изоморфизма по их представлениям. 4.1. Умножение, сумма и композиция графов Пусть G = (X, F ) — граф Бержа, X — множество вершин, а F : X → X — соответствие, при котором каждому x ∈ X отвечает некоторое подмножество x из X вершин, в которые исходят дуги из x. О п р е д е л е н и е 43. Представлением графа G называется пара ΠG = (TX , AF ), где TX = {(α, β)x }x∈X , α = |F x|, β = |F −1 x| и AF : TX → TX ставит в соответствие каждой паре (α, β)x из TX некоторое подмножество пар из TX по следующему правилу: AF (α, β)x = {(α′ , β ′ )x′ }x′ ∈F x .
(4.1.1)
О п р е д е л е н и е 44. Граф Q = (Z, U ) называется произведением графов G = (X, F ) и H = (Y, P ) и обозначается 61
Q = G × H, если Z = X × Y и для каждого z из Z U z = F x × P y, x ∈ X, y ∈ Y, z = (x, y).
(4.1.2)
П р и м е р 15. Пусть даны графы G = (X, F ) и H = (Y, P ), где X = {x1 , x2 }, Y = {y1 , y2 , y3 }, а F и P задаются следующими таблицами:
F
x1 x2
x2 x1 x2
P
y1 y2 y3 y1 y2 y1 y3 y2
Найдем произведение графов G и H. Согласно определению Q = G × H = (Z, U ) и Z = {(x1 , y1 )(x1 , y2 )(x1 , y3 )(x2 , y1 )(x2 , y2 )(x2 , y3 )}, Введем обозначения: (x1 , y1 ) = z1 , (x1 , y2 ) = z2 , (x1 , y3 ) = z3 , (x2 , y1 ) = z4 , (x2 , y2 ) = z5 , (x2 , y3 ) = z6 , тогда Z = {z1 , z2 , z3 , z4 , z5 , z6 }. Согласно (4.1.2) U z1 = F x1 × P y1 = {z4 , z6 }, U z2 = F x1 × P y2 = {z5 }, U z3 = F x1 × P y3 = {z4 , z5 }, U z4 = F x2 × P y1 = {z1 , z3 , z4 , z6 }, U z5 = F x2 × P y2 = {z2 , z5 }, U z6 = F x2 × P y3 = {z1 , z2 , z4 , z5 }. Таким образом, таблица, задающая соответствие U , имеет вид U z1 z2 z3 z4 z5 z4 z5 z4 z1 z2 z6 z5 z3 z5 z4 z6
z6 z1 z4 z2 z5
Найдем представление графа Q, для чего построим таблицу, задающую соответствие U −1 графа Q∗ = (Z, U −1 ), которое определяется как отображение, при котором каждому z из Z отвечает множество вершин из Z, из которых в z имеются дуги. 62
Из таблицы для U имеем U −1 z1 z2 z3 z4 z4 z5 z4 z1 z6 z6 z3 z4 z6
z5 z6 z2 z1 z5 z4 z3 z6
Таким образом, TZ = {(2.2)1 , (1.2)2 , (2.1)3 , (4.4)4 , (2.4)5 , (4.2)6 }, где для краткости положено zi = i, i = 1, 6, а соответствие AU задается таблицей AU (2.2)1 (1.2)2 (2.1)3 (4.4)4 (2.4)5 (4.4)4 (2.4)5 (4.4)4 (2.2)1 (1.2)2 (4.2)6 (2.4)5 (2.1)3 (2.4)5 (4.4)4 (4.2)6
(4.2)6 (2.2)1 (4.4)4 (1.2)2 (2.4)5
Теорема 19. Пусть G = (X, F ) и H = (Y, P ) — два графа Бержа. Тогда вершина z = (x, y) графа Q = (Z, R) = G × H обладает петлей тогда и только тогда, когда вершины x ∈ X и y ∈ Y обладают петлями. Д о к а з а т е л ь с т в о. Теорему можно переформулировать следующим образом: z ∈ Rz ⇐⇒ x ∈ F x & y ∈ P y. Если (z = (x, y) ∈ Z) ∈ Rz = F x×P y, то из определения декартова произведения следует, что x ∈ F x & y ∈ P y. И наоборот, если x ∈ F x & y ∈ P y, то z = (x, y) ∈ F x × P y = Rz. О п р е д е л е н и е 45. Граф N = (Z, L) называется суммой графов G и H и обозначается N = G + H, если Z = X × Y и Lz = (F x × {y}) ∪ ({x} × P y),
(4.1.3)
где z = (x, y) ∈ Z; x ∈ X; y ∈ Y . П р и м е р 16. Пусть даны графы G и H, из примерa 1. Очевидно, Z = (z1 , z2 , z3 , z4 , z5 , z6 ), а отображение L : Z → Z определяется
63
следующим образом: Lz1 Lz2 Lz3 Lz4 Lz5 Lz6
= (F x1 × {y1 }) ∪ ({x1 } × P y1 ) = {z1 , z3 , z4 }, = (F x1 × {y2 }) ∪ ({x1 } × P y2 ) = {z2 , z5 }, = (F x1 × {y3 }) ∪ ({x1 } × P y3 ) = {z1 , z2 , z6 }, = (F x2 × {y1 }) ∪ ({x2 } × P y1 ) = {z1 , z4 , z6 }, = (F x2 × {y2 }) ∪ ({x2 } × P y2 ) = {z2 , z5 }, = (F x2 × {y3 }) ∪ ({x2 } × P y3 ) = {z3 , z4 , z5 , z6 },
или в табличной форме
L
z1 z1 z3 z4
z2 z2 z5
z3 z1 z2 z6
z4 z1 z4 z6
z5 z2 z5
z6 z3 z4 z5 z6
Теорема 20. Пусть N = (Z, L) = G + H и G = (X, F ), H = (Y, P ). Тогда (z = (x, y) ∈ Z) ∈ Lz ⇐⇒ x ∈ F x ∨ y ∈ P y. Д о к а з а т е л ь с т в о. Если z = (x, y) ∈ Lz = F x×{y}∪{x}× P y, то (x, y) ∈ F x × {y} и тогда x ∈ F x, либо (x, y) ∈ {x} × P y, и тогда y ∈ P y. И наоборот, если x ∈ F x, либо y ∈ P y, то (x, y) ∈ F x×{y}, либо (x, y) ∈ {x}×P y. Следовательно, z = (x, y) ∈ F x×{y}∪{x}×P y = Lz. О п р е д е л е н и е 40. Граф K = (Z, R) называется композицией графов G и H и обозначается K = G ⊗ H, если Z =X ×Y и Rz = (F x × Y ) ∪ (X × P y), (4.1.4) где z = (x, y) ∈ Z, x ∈ X, y ∈ Y . Рассмотрим графы G и H из первого примера и вычислим их композицию. Как и ранее, Z = (z1 , z2 , z3 , z4 , z5 , z6 ), а отображение R : Z → Z задается системой равенств Rz1 Rz2 Rz3 Rz5
= (F x1 × Y ) ∪ (X × P y1 ) = (z1 , z3 , z4 , z5 , z6 ), = (F x1 × Y ) ∪ (X × P y2 ) = (z2 , z4 , z5 , z6 ), = (F x1 × Y ) ∪ (X ×SP y3 ) = (z1 , z2 , z4 , z5 , z6 ), Rz4 = = Rz6 = (F x2 × Y ) (X × P y1 ) = (z1 , z2 , z3 , z4 z5 , z6 ),
или в табличной форме
64
R
z1 z1 z3 z4 z5 z6
z2 z2 z4 z5 z6
z3 z1 z2 z4 z5 z6
z4 TZ
z5 TZ
z6 TZ
Теорема 21. Пусть T = (Z, M ) = G ⊗ H и G = (X, F ), H = (Y, P ). Тогда (z = (x, y) ∈ M z) ⇐⇒ (x ∈ F x ∀ y ∈ Y ) ∨ (y ∈ P y ∀ x ∈ X). Д о к а з а т е л ь с т в о. Из того, что z = (x, y) ∈ M z = F x × Y ∪ X × P y, следует, что (x, y) ∈ F x × Y и, значит x ∈ F x ∀ y ∈ Y , либо (x, y) ∈ X × P y, и тогда y ∈ P y ∀ x ∈ X. И наоборот, если x ∈ F x ∀ y ∈ Y , то (x, y) ∈ F x × Y. А если y ∈ P y ∀ x ∈ X, то x, y ∈ X × P y. Следовательно, z = (x, y) ∈ F x × Y ∪ X × P y = M z. Оказывается, операции умножения, суммирования и композиции обладают некоторыми общими свойствами, позволяющими выделить их в общий класс. Пусть G = (X, F ) и H = (Y, P ) — два графа Бержа. Обозначим через A множество операций {×, +, ⊗}, а произвольную операцию из A — через ◦ . О п р е д е л е н и е 46. Граф Ω = G ◦ H = (Z, B) тогдa и только тогда, когда Z = X × Y и Bz = (F x × Y ′ ) ∪ (X ′ × P y).
(4.1.5)
Здесь z = (x, y) ∈ Z, x ∈ X, y ∈ Y, X ′ ⊆ X, Y ′ ⊆ Y . Из соотношени (4.1.5) следует, что различные алгебраические операции из A отличаются друг от друга выбором элементов из X ′ и Y ′. Если X ′ = {x}, Y ′ = {y}, то (4.1.5) определяет операции суммирования Bz = (F x × {y}) ∪ ({x} × P y). В том случае, когда X ′ = F x, а Y ′ = P y, (4.1.5) определяет операцию умножения Bz = F x × P y. Наконец, если X ′ = X, а Y ′ = Y , получаем операцию композиции графов G и H : Bz = (F x × Y ) ∪ (X × P y). Очевидно, операция ◦ ассоциативна и вместе с операцией объединения ∪ подчиняется дистрибутивному закону .
65
Можно определить множество алгебраических операций, двойственных операциям из A. Так как каждая операция полностью определяется соответствующим отображением, то вычисление операций, двойственных к ¯ двойстоперациям из A, сводится к определению отображения B, венного к отображению B. ¯ порождаемый отображением B, ¯ является дополнениГраф Ω, ем по отображению до соответствующего насыщенного графа, у которого для любого z ∈ Z, Bz = Z. В дальнейшем черта над множеством будет означать дополнение до соответствующего множества вершин графа. В силу соотношения (X × Y ) \ (X ′ × Y ′ ) = ((X − X ′ ) × Y ) ∪ (X × (Y − Y ′ )), где X ′ ⊆ X, Y ′ ⊆ Y , ¯ = (F x × Y ′ ) ∪ (X ′ × P y) = (F x × Y ′ ) ∩ (X ′ × P y) = Bz ((X × Y ) \ (F x × Y ′ )) ∩ ((X × Y ) \ (X ′ × P y)) = (((X \ F x) × Y ) ∪ (X × (Y \ Y ′ ))) ∩ (((X \ X ′ ) × Y ) ∪ (X× (Y \ P y))) = ((F¯ x × Y ) ∪ (X × Y¯ ′ )) ∩ ((X¯ ′ × Y ) ∪ (X × P¯ y)). Если X¯ ′ = X \X ′ и Y¯ ′ = Y \Y ′ , то можно построить операцию ◦¯, двойственную к операции ◦, которая графам G и H сопоставляет граф S = G¯◦H, причем S = (Z, B), где Z = X × Y , а Bz = ((F x × Y ) ∪ (X × Y¯ ′ )) ∩ ((X¯ ′ × Y ) ∪ (X × P y)). (4.1.6) Оказывается, операция композиции является двойственной к операции умножения. Подставляя в (4.1.6) F x и P y, получаем U¯ z = ((F¯ x × Y ) ∪ (X × P¯ y)) ∩ ((F¯ x × Y ) ∪ (X × P¯ y)) = = (F¯ x × Y ) ∪ (X × P¯ y), что является композицией дополнений по отображению исходных графов. Аналогично, вычисляя операцию, двойственную операции композиции, получаем операцию умножения дополнений по отображению исходных гpафов. ¯ ◦H, ¯ G¯◦H = G ¯ ◦ H, ¯ и если Из (4.1.5) и (4.1.6) вытекает G ◦ H = G¯ ¯ учесть, что G = G, то получим ¯ ◦H, ¯ G¯◦H = G¯ ¯ ◦H. ¯ G ◦ H = G¯ 66
(4.1.7)
Оказывается, что графы G ⊗ H и G × H представляются в виде разложения по операциям ∪, × и ∩, ⊗ соответственно: ¯ × H) ∪ (G × H), ¯ G ⊗ H = (G × H) ∪ (G ¯ ⊗ H) ∩ (G ⊗ H). ¯ G × H = (G ⊗ H) ∩ (G 4.2. Бинарные отношения и операции над графами Пусть G = (X, F ) — граф Бержа, где X — конечное множество, а F : X → X такое, что F x ⊆ X. Функции F : X → X можно сопоставить бинарное отношение α на X следующим образом: yαx ⇐⇒ y ∈ F x, x, y ∈ X. Тогда определение графа Бержа можно сформулировать так: Графом Бержа называется пара G = (X, α), где X — конечное множество, а α — бинарное отношение на X. Пусть α — бинарное отношение на X, а β — на Y , тогдa γ = α × β есть бинарное отношение на X × Y , такое, что (x, y)γ(z, t) ⇐⇒ xαz & yβt, x, z ∈ X, y, t ∈ Y. Определим бинарное отношение δ = α + β на X × Y следующим образом: (x, y)δ(z, t) ⇐⇒ (x = z & yβt) ∨ (xαz & y = t). Здесь x, z ∈ X, y, t ∈ Y . Бинарным отношением ε = α ⊗ β на X × Y называется отношение, определяемое следующим образом: (x, y)ε(z, t) ⇐⇒ (xαz ∨ yβt). Пусть G = (X, F ) и H = (Y, P ) — два графа Бержа и Q = G × H, N = G + H, M = G ⊗ H — произведение, сумма и композиция графов. Теорема 22. Пусть G = (X, α) и H = (Y, β). Тогда Q = G×H = (Z, γ) тогда и только тогда, кoгда Z = X×Y и γ = α×β. Д о к а з а т е л ь с т в о. Пусть G = (X, F ), H = (Y, P ) Q = (Z, R) = G × H, где Z = X × Y . Тогда по функциям F : X → X, P : Y → Y R : Z → Z построим бинарные отношения α, β, γ над множествами X, Y Z соответственно: x′ αx ⇐⇒ x′ ∈ F x, y ′ βy ⇐⇒ y ′ ∈ P y z ′ γz ⇐⇒ z ′ ∈ Rz, 67
где z = (x, y), x ∈ X, y ∈ Y. Имеет место следующая последовательность импликаций: z ′ = (x′ , y ′ ) ∈ R(x, y) = Rz = F x × P y ⇒ x′ ∈ F x & &y ′ ∈ P y ⇒ x′ αx & y ′ βy ⇒ (x′ , y ′ )γ(x, y), откуда γ = α × β. И наоборот, если γ = α × β, то по бинарным отношениям α, β и γ построим функции F : X → X, P : Y → Y и R : Z → Z, где Z = X × Y , следующим образом F x = {x′ ∈ X : x′ αx}, P y = {y ′ ∈ Y : y ′ βy} и Rz = {z ′ ∈ Z : z ′ γz}. Тогда (x′ , y ′ )γ(x, y) ⇒ (x′ αx & y ′ βy) ⇒ (x′ ∈ F x & y ′ ∈ P y) ⇒ (x′ , y ′ ) ∈ F x × P y, и, следовательно, Rz = F x × P y. Если положить G = (X, F ), H = (Y, P ) и Q = (Z, R), то граф Q будет иметь вид Q = G × H. Теорема 23. Пусть G = (X, α) и H = (Y, β).Тогда N = G+H = (Z, δ) тогда и только тогда, когда Z = X ×Y и δ = α+β. Д о к а з а т е л ь с т в о. Пусть G = (X, F ), H = (Y, P ) и N = (Z, L) = G + H. По функциям F ,P и L, как и в теореме 22, построим бинарные отношения α, β δ. Тогда имеем z ′ = (x′ , y ′ ) ∈ L(x, y) = Lz = F x × {y} ∪ {x} × P y ⇒ (x′ , y ′ ) ∈ F x × {y} ∨ (x′ , y ′ ) ∈ {x} × P y ⇒ (x′ ∈ F x & y ′ = y) ∨ (x′ = = x & y ′ ∈ P y) ⇒ (x′ αx & y ′ = y ) ∨ (x′ = x & y ′ βy) ⇒ (x′ , y ′ )δ(x, y) и, следовательно, δ = α + β. И наоборот, если δ = α + β, то по бинарным отношениям α, β и δ построим, как в теореме 22, функции F : X → X, P : Y → Y, L : Z → Z, 68
где Z = X × Y. Тогда (x′ , y ′ )δ(x, y) ⇒ (x′ αx & y = y ′ ) ∨ (x′ = x & y ′ βy) ⇒ (x′ ∈ ∈ F x & y ′ = y) ∨ (x′ = x & y ′ ∈ P y) ⇒ (x′ , y ′ ) ∈ F x × {y} ∨ ∨ (x′ , y ′ ) ∈ {x} × P y ⇒ (x′ , y ′ ) ∈ F x × {y} ∪ {x} × P y ⇒ ⇒ Lz = L(x, y) = F x × {y} ∪ {x} × P y. Если положить G = (X, F ), H = (Y, P ) и N = (Z, L), то N = G + H. Теорема 24. Пусть G = (X, α) и H = (Y, β). Тогда M = (Z, ε) = G⊗H тогда и только тогда, когда Z = X ×Y и ε = α⊗β. Д о к а з а т е л ь с т в о. Пусть G = (X, F ), H = (Y, P ) и M = (Z, T ) = G ⊗ H, где Z = X × Y. Как и ранее, по функциям F, P и T построим бинарные отношения α, β и ε. Тогда (x′ , y ′ ) ∈ T (x, y) = T z = F x × Y ∪ X × P y ⇒ ⇒ (x′ , y ′ ) ∈ F x × Y ∨ (x′ , y ′ ) ∈ X × P y ⇒ (x′ ∈ F x ∨ ∨ y ′ ∈ P y) ⇒ (x′ αx ∨ y ′ βy) ⇒ (x′ , y ′ )ε(x, y) и, следовательно, ε = α ⊗ β. И наоборот, если ε = α ⊗ β, то по бинарным отношениям α, β, ε можно, как и ранее, построить функции F, P и T . В результате получим (x′ , y ′ )ε(x, y) ⇒ (x′ αx ∀ y ∈ Y ∨ y ′ βy ∀ x ∈ X) ⇒ (x′ ∈ F x ∀ y ∈ Y ∨ y ′ ∈ P y ∀ x ∈ X) ⇒ (x′ , y ′ ) ∈ F x × Y ∨ (x′ , y ′ ) ∈ X× ×P y ⇒ (x′ , y ′ ) ∈ F x × Y ∪ X × P y ⇒ T z = T (x, y) = = F x × Y ∪ X × P y. Если положить G = (X, F ), H = (Y, P ) и M = (Z, T ), где Z = X × Y, то M = G ⊗ H. 4.3. Операции над представлениями Пусть ΠG = (TX , AF ) и ΠH = (TY , AP ) — представления графов G и H [2], где TX = {(α, β)x }x∈X , TY = {(γ, δ)y }y∈Y . Очевидно, представление графа Ω = (Z, B) = G ◦ H есть пара ΠΩ = (TZ , AB ), где AB : TZ → TZ и для любой пары (ξ, η)z ∈ TZ имеют место равенства ξ = α|Y ′ | + γ|X ′ | − |(F x × Y ′ ) ∩ (X ′ × P y|, 69
η = β|Y ′ | + σ|X ′ | − |(F −1 x × Y ′ ) ∩ (X ′ × P −1 y|. Для каждой операции из A определим представление соответствующего графа Ω = G ◦ H. Теорема 25. Представление графа Q = (Z, U ) = G × H есть пара ΠQ = (TZ , AU ), где TZ = TX •TY – множество всевозможных произведений пар из TX и TY , таких, что (α, β)x • (γ, δ)y = (αγ, βδ)z = (ξ, η)z , (α, β)x ∈ TX , (γ, δ)y ∈ TY , а AU : TZ → TZ таково, что AU (ξ, η)z = AF (α, β)x • AP (γ, δ)y , x ∈ X, y ∈ Y, z = (x, y) ∈ Z. Д о к а з а т е л ь с т в о. Действительно, (ξ, η)x = (|U z|, |U −1 z|) = (|F x × P y|, |F −1 x × P −1 y|) = = (|F x||P y|, |F −1 x||P −1 y|). Если α = |F x|, β = |F −1 x|, γ = |P y|, δ = |P −1 y|, то (ξ, η)z = (αγ, βδ)z . Положим по определению, (αγ, βδ)z = (α, β)x • (γ, δ)y . Так как Z — множество всевозможных упорядоченных пар элементов из X и Y , то TZ есть множество всевозможных произведений пар (α, β)x из TX и (γ, δ)y из TY и, следовательно, TZ = TX •TY . Определим отображение AU через AF и AP . Очевидно, AU (ξ, η)z = {(ξ ′ , η ′ )z‘ }z′ ∈U z=F x×P y . Так как прямому произведения X × Y соответствует в представлении произведения графов произведение TX • TY , то F x × P y будет соответствовать TF x • TP y , где TF x = {(α′ , β ′ )x′ }x′ ∈F x , а TP y = {(γ ′ , δ ′ )y′ }y′ ∈P y . Но {(α′ , β‘)x′ }x′ ∈F x = AF (α, β)x , аналогично, {(γ ′ , δ ′ )y′ }y‘∈P y = AP (γ, δ)y . Таким образом, AU (ξ, η)z = AF (α, β)x • AP (γ, δ)y .
70
П р и м е р 17. Пусть даны графы G = (X, F ) и H = (Y, P ), где X = {x1 , x2 }, Y = {y1 , y2 , y3 }, а F и P задаются следующими таблицами:
F
x1 x2
x2 x1 x2
P
y1 y2 y3 y1 y2 y1 y3 y2
Согласно определению Q = G × H = (Z, U ) и Z = {(x1 , y1 )(x1 , y2 )(x1 , y3 )(x2 , y1 )(x2 , y2 )(x2 , y3 )}, Введем обозначения: (x1 , y1 ) = 1, (x1 , y2 ) = 2, (x1 , y3 ) = 3, (x2 , y1 ) = 4, (x2 , y2 ) = 5, (x2 , y3 ) = 6, тогда Z = {1, 2, 3, 4, 5, 6}. Для вычисления представлений для графов G и H необходимо вычислить графы G∗ и H ∗ . В нашем случае они имеют вид G∗
x1 x2
x2 x1 x2
H∗
y1 y1 y3
y2 y2 y3
y3 y1
Очевидно, TZ = TX • TY = {(2, 2)1 , (1, 2)2 , (2, 1)3 , (4, 4)4 , (2, 4)5 , (4, 2)6 } . Тогда AU (2, 2)1 = AF (1, 1)x1 • AP (2, 2)y1 = (2, 2)x2 • {(2, 2)y1 , (2, 1)y3 } = {(4, 4)4 , (4, 2)6 }, AU (1, 2)2 = AF (1, 1)x1 • AP (1, 2)y2 = (2, 2)x2 • (1, 2)y2 = (2, 4)5 AU (2, 1)3 = AF (1, 1)x1 • AP (2, 1)y3 = (2, 2)x2 • {(2, 2)y1 , (1, 2)y2 } = {(4, 4)4 , (2, 4)5 }, AU (4, 4)4 = AF (2, 2)x2 • AP (2, 2)y1 = {(1, 1)x1 , (2, 2)x2 } • {(2, 2)y1 , (2, 1)y3 } = {(2, 2)1 , (2, 1)3 , (4, 4)4 , (4, 2)6 }, AU (2, 4)5 = AF (2, 2)x2 • AP (1, 2)y2 = {(1, 1)x1 , (2, 2)x2 } • (1, 2)y2 = {(1, 2)2 , (2, 4)5 }, 71
AU (4, 2)6 = AF (2, 2)x2 • AP (2, 1)y3 = {(1, 1)x1 , (2, 2)x2 } • {(22, )y1 , (1, 2)y2 } = {(2, 2)1 , (1, 2)2 , (4, 4)4 , (2, 4)5 }. Таким образом, представление ΠQ графа G имеет вид ΠQ
(2, 2)1 (4, 4)4 (4, 2)6
(1, 2)2 (2, 4)5
(2, 1)3 (4, 4)4 (2, 4)5
(4, 4)4 (2, 2)1 (2, 1)3 (4, 4)4 (4, 2)6
(2, 4)5 (1, 2)2 (2, 4)5
(4, 2)6 (2, 2)1 (1, 2)2 (4, 4)4 (2, 4)5
Теорема 26. Представление графа N = (Z, L) = G + H есть пара ΠN = (TZ , AL ), такая, что TZ = TX + TY , где TZ есть множество всевозможных сумм пар из TX и TY , определенных следующим образом: (α + γ − 1, β + δ − 1) , x ∈ F x, y ∈ P y, z (α, β)x + (γ, δ)y = (α + γ, β + δ)z , x ∈ / Fx ∨ y ∈ / P y,
а AL : TZ → TZ таково,что
AL (ξ, η)z = {AF (α, β)x + (γ, δ)y } ∪ {(α, β)x + AP (γ, δ)y }, где (ξ, η)z = (α, β)x + (γ, δ)y , z = (x, y) ∈ Z, x ∈ X, y ∈ Y . Д о к а з а т е л ь с т в о. Действительно, если x ∈ / F x или y∈ / P y, то ξ = |F x × {y}| + |{x} × P y| = |F x| + |P y|, η = |F −1 x × {y}| + |{x} × P −1 y| = |F −1 x| + |P −1 y|, и если |F x| = α, |F −1 x| = β, |P y| = γ, |P −1 y| = δ, то ξ = α + γ, η = β + δ. Пусть x ∈ F x и y ∈ P y, тогда ξ = |F x × {y}| + |{x} × P y| − |(F x × {y}) ∩ ({x} × P y)| = = |F x| + |P y| − 1 = α + γ − 1. Аналогично η = β + δ − 1. Пусть (ξ, η)z = (α, β)x + (γ, δ)y = (α + γ − t, β + δ − t)z , где t = 1 при x ∈ F x, y ∈ P y и t = 0 во всех остальных случаях. Из определения представления следует, что 72
AL (ξ, η)z = {(ξ ′ , η ′ )z′ }z′ ∈N z=F x×{y}∪{x}×P y = = {(ξ ′ , η ′ )z′ }z′ ∈F x×{y} ∪ {(ξ ′ , η ′ )z‘ }z′ ∈{x}×P y . Так как прямому произведению X ×Y в представлении для суммы графов соответствует TX +TY , то из того, что F x ⊆ X, {y} ⊆ Y следует, что прямому произведению F x × {y} будет отвечать TF x + T{y} . Аналогично прямому произведению {x} × P y отвечает T{x} + TP y . Таким образом: {(ξ ′ , η ′ )z′ }z′ ∈F x×{y} = TF x + T{y} = {(α′ , β ′ )x′ }x′ ∈F x + (γ, δ)y = = AF (α, β)x + (γ, δ)y , а {(ξ ′ , η ′ )z′ }z′ ∈{x}×P y = T{x} + TP y = (α, β)x + {(γ ′ , δ ′ )y′ }y′ ∈P y = = (α, β)x + AP (γ, δ)y . З а м е ч а н и е. Следует отметить, что в случае, когда F x = F −1 x = ∅, очевидно, должно быть (0, 0)x + (γ, δ)y = (γ, δ)z , если положить |∅| = 0. П р и м е р 18. Для графов G = (X, F ) и H = (Y, P ) из примера 17 построим представление ΠN = (TZ , AL ) графа N = (Z, L) = G + H. В данном случае имеем TZ = TX + TY = {(3, 3)1 , (2, 3)2 , (3, 2)3 , (3, 3)4 , (2, 3)5 , (4, 3)6 }. Вычислим образы каждого элемента из TZ . AL (3, 3)1 = AF (1, 1)x1 + (2, 2)y1 ∪ (1, 1)x1 + AP (2, 2)y1 = (2, 2)x2 + (2, 2)y1 ∪ (1, 1)x1 + {(2, 2)y1 , (2, 1)y3 } = {(3, 3)4 , (3, 3)1 , (3, 2)3 }, AL (2, 3)2 = AF (1, 1)x1 + (1, 2)y2 ∪ (1, 1)x1 + AP (1, 2)y2 = (2, 2)x2 + (1, 2)y2 ∪ (1, 1)x1 + (1, 2)y2 = {(2, 3)5 , (2, 3)2 }, AL (3, 2)3 = AF (1, 1)x1 + (2, 1)y3 ∪ (1, 1)x1 + AP (2, 1)y3 = (2, 2)x2 + (2, 1)y3 ∪ (1, 1)x1 + {(2, 2)y1 , (1, 2)y2 } = {(4, 3)6 , (3, 3)1 , (2, 3)2 }, AL (3, 3)4 = AF (2, 2)x2 + (2, 2)y1 ∪ (2, 2)x2 + {(2, 2)y1 , (2, 1)y3 } = {(1, 1)x1 , (2, 2)x2 } + (2, 2)y1 ∪ (2, 2)x2 + {(2, 2)y1 , (2, 1)y3 } = = {(3, 3)1 , (3, 3)4 , (4, 3)6 }, AL (2, 3)5 = AF (2, 2)x2 + (1, 2)y2 ∪ (2, 2)x1 + AP (1, 2)y2 = {(1, 1)x1 , (2, 2)x2 } + (1, 2)y2 ∪ (2, 2)x2 + (1, 2)y2 = {(2, 3)2 , (2, 3)5 }, 73
AL (4, 3)6 = AF (2, 2)x2 + (2, 1)y3 ∪ (2, 2)x2 + AP (2, 1)y3 {(1, 1)x1 , (2, 2)x2 } + (2, 1)y3 ∪ (2, 2)x2 + {(2, 2)y1 , (1, 2)y2 } = = {(3, 2)3 , (4, 3)6 , (3, 3)4 , (2, 3)5 },
=
Таким образом, таблица для представления ΠN будет иметь вид
ΠN 2,7
(3, 3)1 (3, 3)4 (3, 3)1 (3, 2)3
(2, 3)2 (2, 3)5 (2, 3)2
(3, 2)3 (4, 3)6 (3, 3)1 (2, 3)2
(3, 3)4 (3, 3)1 (3, 3)4 (4, 3)6
(2, 3)5 (2, 3)2 (2, 3)5
(4, 3)6 (3, 2)3 (4, 3)6 (3, 3)4 (2, 3)5
Теорема 27. Представление графа K = (Z, R) = G ⊗ H есть пара ΠK = (TZ , AR ), такая, что TZ = TX ⊙ TY , где TZ — множество всевозможных композиций пар из TX и TY , определенных следующим образом: если (α, β)x ∈ TX , (γ, δ)y ∈ TY , то (α, β)x ⊙ (γ, δ)y = (αl+γk−αγ, βl+δk−βδ)z , k = |X|, l = |Y |, а AR : TZ → TZ таково, что AR (ξ, η)z = {(AF (α, β)x ⊙ TY ) ∪ (TX ⊙ AR (γ, δ)y )}, где (ξ, η)z = (α, β)x ⊙ (γ, δ)y , z = (x, y) ∈ Z, x ∈ X, y ∈ Y . Д о к а з а т е л ь с т в о. Действительно, по определению ξ = |(F x × Y ) ∪ (X × P y)| = |F x||Y | + |X||P y|− |(F x × Y ) ∩ (X × P y)|. Очевидно, что X = F x ∪ F¯ x, Y = P y ∪ P¯ y, где F¯ x и P¯ y — дополнения F x до X и P y до Y соответственно. Используя эти равенства, вычислим следующую величину: t1 = |(F x × Y ) ∩ (X × P y)| = |(F x × P y ∪ F x × P¯ y) ∩ (F x × P y∪ ∪F¯ x × P y)| = |(F x × P y ∩ F x × P y) ∪ (F x × P¯ y ∩ F x × P y)∪ ∪(F x × P y ∩ F¯ x × P y) ∪ (F x × P¯ y ∩ F¯ x × P y)|. Так как A ∩ A¯ = ∅, F x × P¯ y ∩ F x × P y = ∅, F x × P y ∩ F¯ x × P y = ∅, F x × P¯ y ∩ F¯ x × P y = ∅, то t1 = |F x × P y ∩ F x × P y| = |F x × P y| = αγ. Аналогично вычисляется величина t2 : t2 = |F −1 x × Y ∩ X × P −1 y| = βδ. Таким образом, ξ = αl + γk − αγ, η = βl + δk − βδ. Пусть
74
(ξ, η)z = (α, β)x ⊙ (γ, δ)y = (αl + γk − αγ, βl + δk − βδ)z . Тогда AR (ξ, η)z = {(ξ ′ , η ′ )z′ }z′ ∈F x×Y ∪X×P y = = {(ξ ′ , η ′ )z′ }z′ ∈F x×Y ∪ {(ξ ′ , η ′ )z′ }z′ ∈X×P y Так как декартову произведению X × Y в прдставлении композиции графов G и H соответствует TX ⊙ TY , то декартову произведению F x × Y будет соответствовать TF x ⊙ TY , а декартову произведению X × P y — TX ⊙ TP y . Но TX = {(α, β)x }x∈X ; TY = {(γ, δ)y }y∈Y , TF x = {(α′ , β ′ )x′ }x′ ∈F x , TP y = {(γ ′ , δ ′ )y′ }y′ ∈P y . Следовательно, AP (ξ, η)z = TF x ⊙TY ∪TX ⊙TP y = AF (α, β)x ⊙TY ∪TX ⊙AP (γ, δ)y , где (ξ, η)z = (α, β)x ⊙ (γ, δ)y , z = (x, y) ∈ Z, x ∈ X, y ∈ Y . П р и м е р 19. Для графов G = (X, F ) и H = (Y, P ) из примера 17 вычислим представление ΠM = (TZ , AS ) графа M = (Z, S). Из теоремы о представлении композиции представлений следует, что TZ = TX ⊙ TY = {(5, 5)1 , (4, 5)2 , (5, 4)3 , (6, 6)4 , (6, 6)5 , (6, 6)6 } AS (5, 5)1 = AF (1, 1)x1 ⊙{(2, 2)y1 , (1, 2)y2 , (2, 1)y3 }∪{(1, 1)x1 , (2, 2)x2 }⊙ AP (2, 2)y1 = (2, 2)x2 ⊙ {(2, 2)y1 , (1, 2)y2 , (2, 1)y3 } ∪ {(1, 1)x1 , (2, 2)x2 } ⊙ {(2, 2)y1 , (2, 1)y3 } = {(6, 6)4 , (6, 6)5 , (6, 6)6 , (5, 5)1 , (5, 4)3 }, AS (4, 5)2 = AF (1, 1)x1 ⊙{(2, 2)y1 , (1, 2)y2 , (2, 1)y3 }∪{(1, 1)x1 , (2, 2)x2 }⊙ AP (1, 2)y2 = (2, 2)x2 ⊙ {(2, 2)y1 , (1, 2)y2 , (2, 1)y3 } ∪ {(1, 1)x1 , (2, 2)x2 } ⊙ (1, 2)y2 = {(6, 6)4 , (6, 6)5 , (6, 6)6 , (4, 5)2 }, AS (5, 4)3 = AF (1, 1)x1 ⊙{(2, 2)y1 , (1, 2)y2 , (2, 1)y3 }∪{(1, 1)x1 , (2, 2)x2 }⊙ AP (2, 1)y3 = (2, 2)x2 ⊙ {(2, 2)y1 , (1, 2)y2 , (2, 1)y3 } ∪ {(1, 1)x1 , (2, 2)x2 } ⊙ {(2, 2)y1 , (1, 2)y2 } = {(6, 6)4 , (6, 6)5 , (6, 6)6 , (5, 5)1 , (4, 5)2 }, AS (6, 6)4 = AF (2, 2)x2 ⊙{(2, 2)y1 , (1, 2)y2 , (2, 1)y3 }∪{(1, 1)x1 , (2, 2)x2 }⊙ AP (2, 2)y1 = TX ⊙ TY = TZ , AS (6, 6)5 = AS (6, 6)6 = TZ . Таким образом, представление ΠM = (TZ , AS ) для композиции M = (Z, S) имеет вид
75
ΠM
(5, 5)1 (6, 6)4 (6, 6)5 (6, 6)6 (5, 5)1 (5, 4)3
(4, 5)2 (6, 6)4 (6, 6)5 (6, 6)6 (4, 5)2
(5, 4)3 (6, 6)4 (6, 6)5 (6, 6)6 (5, 5)1 (4, 5)2
(6, 6)4 TZ
(6, 6)5 TZ
(6, 6)6 TZ
Пусть N — некоторое подмножество из X, а M — из Y и пусть заданы два графа Бержа G = (X, F ), H = (Y, P ). Пусть (F x, N) #(M, P y) = (F x × M) ∪(N × P y), x ∈ X, y ∈ Y . Очевидно, при различных N и M операция # является одной из рассмотренных ранее операций из A= {×, +, ⊕}. Действительно, при N = ∅, M = P y операция # есть ×; при N = {x}, M = {y} # есть +, а при N = X, M = Y # есть ⊕. Таким образом, рассмотренные операции на графах можно обобщить, заменив их операцией # . Будем говорить, что граф V = (Z, B) получается из графов G и H с помощью операции # , и писать V = G# H, если Z = X × Y и Bz = (F x, N)#(M, P y). По аналогии с графами можно обобщить все операции над представлениями, поставив в соответствие операции # над графами операцию ♯ над представлениями, при различных ситуациях совпадающую с одной из рассмотренных операций над представлениями. Теорема 28. Представление графа V = (Z, B) = G#H есть пара ΠV = (TZ , AB ), такая, что TZ = TX ♦TY , где операция ♦ такова, что для любой пары (α, β)x из TX и любой пары (γ, δ)y из TY (ξ, η)z = (α, β)x ♦(γ, δ)y = (αn + γm − p1 , βn + δm − p2 )z , а AB : TZ → TZ на элементах из TZ определяется следующим образом AB (ξ, η)z = (AF (α, β)x , TN )♯(TM , AP (γ, δ)y ) = = (AF (α, β)x ♦TM ) ∪ (TN ♦AP (γ, δ)y ). В этом случае будем писать ΠV = ΠG ♯ΠH ; ΠG = (TX , AF ); ΠH = (TY , AP ).
76
Д о к а з а т е л ь с т в о. Действительно, если n = m = 0, −p1 = αγ, −p2 = βδ, то мы имеем дело с теоремой 25; при n = l, m = k, p1 = αγ, p2 = βδ — это есть теорема 27; при m = n = 1, p1 = p2 = 0 ∨ 1 мы имеем дело с теоремой 26.
77
5 МИНИМАЛЬНЫЕ РАСКРАСКИ И КРИТИЧЕСКИЕ ГРАФЫ 5.1. Основные понятия и определения Здесь мы будем иметь дело с так называемыми обыкновенными графами, т. е. неориенированными графами без петель и кратных ребер. Вершинной раскраской графа [4] называется такое приписывание цветов его вершинам, что никакие две смежные вершины не окрашиваются в один цвет. Дадим другое определение раскраски, более формальное. О п р е д е л е н и е 47. Раскраской графа G = (X, F ) в m цветов, или m-раскраской, называется разбиение его вершин X на классы C1 , C2 , ..., Cm попарно несмежных вершин. Классы Ci называются одноцветными классами. Хроматическое число χ(G) графа G определяется как наименьшее m, для которого граф G имеет mраскраску. Граф G называется m-раскрашиваемым, если χ(G) ≤ m, и m-хpоматическим, если χ(G) = m. Хроматическое число для некоторых простых графов легко вычисляется. Если Fm — полный mвершинный граф, то χ(Fm) = m, χ(Ck ) = 3, где Ck — 77
простой цикл нечетной длины k, χ(C2n) = 2 [4]. Интересной в теоретическом плане и важной для приложений является следующая задача. По данному графу установить, в какое число цветов он окрашивается. Среди n-хроматических графов выделяются минимальные по числу вершин. О п р е д е л е н и е 48. Граф G называется критическим, если χ(G−x) < χ(G) для любой вершины x; если при этом χ(G) = m, то граф G называется mкритическим. Очевидно, что если G — критический граф, то χ(G) − 1 = χ(G − x) для каждой его вершины x . Единственный 2-критический граф — это F2 . Все 3критические графы исчерпываются простыми циклами нечетной длины. Каждый m-хроматический граф содержит m-критический подграф. Действительно, если H — такой наименьший порожденный [5] подграф графа G, что χ(H) = χ(G), то H — критический граф. Очевидно, каждый критический граф связен. Если Fp = (X, F ) — полный граф, то для любого Y ⊂ X справедливо равенство χ(F p − Y ) = p − |Y | и, следовательно, граф Fp критический. Для любого другого m-критического графа, m > 2, нельзя удалить не менее двух вершин, не уменьшая при этом хроматическое число больше, чем на единицу. Действительно, если C — произвольное подмножество любого одноцветного класса, то χ(G − C) = m − 1. Но, если x и y — любые две вершины m-критического неполного графа, то не всегда их удаление уменьшает 78
хроматическое число на единицу. Следующий пример служит тому подтверждением.
Критический граф может обладать еще одним свойством: χ(G − u) = χ(G) − 1 для любого ребра u графа G. В этом случае граф G называется ребернокритическим. При χ(G) = n граф G называется nреберно-критическим. Каждый реберно-критический граф является критическим, обратное неверно. Например, граф G, минимальная раскраска которого представлена на рис. 5.1, является 4-критическим, но не реберно-критическим, поскольку χ(G − u) = 4. Таким образом, реберно-критические графы обладают всеми свойствами критических графов. Пусть G = (X, F ) — m-критический граф, X — множество вершин, а F : X → X — отображение, ставящее в соответствие вершине x ∈ X множество смежных с ней вершин F x. Пусть π(m) = (C1 , C2 , ..., Cm ) — его минимальная вершинная раскраска, где Ci , i = 1, m, — классы одноцветных вершин.
79
О п р е д е л е н и е 49. Будем говорить, что фактор-степень вершины x из Ci относительно раскраски π(m) равна r ≤ m − 1, если имеется ровно r классов (Ci1 , Ci2 , ..., Cir ), таких, что F x ∩ Cij 6= ∅, j = 1, r, i 6= ij . Соотношение ASB будет означать в дальнейшем, что A и B из X содержат по крайней мере одну пару смежных вершин. Под преобразованием в дальнейшем будем подразумевать некоторое перераспределение вершин по классам данной раскраски π(m) , сохранющее ее правильность, которая определяется как раскраска, у которой каждая вершина графа содержится в некотором классе и каждый класс не содержит смежных вершин. В частности, элементарными преобразованиями будем называть следующие способы перераспределения вершин по классам. 1. Перемещение вершин {xk } ⊆ Ci ∈ π(m) факторстепени меньше m-1 из одного класса Ci в другой Cj , с вершинами которого они не смежны. Например, раскраска π(3) = {(1), (2, 3), (4, 5)} графа G, задаваемого таблицей 1 2 3 4 5 G 2 1 4 2 1 5 4 5 3 3 такова, что перемещение вершины 3 из C2 , или вершины 4 из C3 в C1 , есть элементарное преобразование — перемещение, изменяющее фактор-степень вершин 4, 5 или 2, 3 соответственно. 2. Пусть x ∈ Ci и y ∈ Cj пара смежных вершин. 80
c И пусть ((C 1 , C 2 ), F ) максимальный по числу вершин связный двудольный подграф над Ci , Cj , такой что x ∈ C 1 , y ∈ C 2 . Тогда одновременное перемещение C 1 в Cj и C 2 в Ci называется инверсией. c Здесь F — сужение отображения F на подмножества из X, в данном случае на C 1 ∪ C 2 . Так, в предыдущем примере инверсия двудольного связного подграфа, состоящего из пары смежных вершин 1 и 2, изменяет фактор-степень вершин 4 и 5. О п р е д е л е н и е 50. Минимальную раскраску π(m) будем называть 1-приведенной относитель1 но Ci и обозначать π(m) , если вершины из Ci имеют фактоp-степень m − 1 и никакие преобразования на (C1 , ..., Ci−1 , Ci+1 , ..., Cm ) не изменяют их факторстепеней. В частности, минимальная раскраска графа G на рис. 5.1 является приведенной относительно C4 , так как никакие преобразования над (C1 , C2 , C3 ) не изменяют фактор-степеней вершин из C4 . Если минимальная раскраска π(m) приведена относительно Ci и никакие преобразования на π(m) − {Ci , Cj } не изменяют фактор-степеней вершин из Cj , равных m − 2 относительно раскраски π(m) − Ci , то раскрас2 ка π(m) называется 2-приведенной и обозначается π(m) . Если уже определена (r − 1)-приведенная последовательно относительно классов Ci1 , Ci2 , ..., Cir−1 раскрасr−1 r ка π(m) , то r-приведенная раскраска π(m) опеделяется как раскраска, для которой никакие преобразования над π(m) −(Ci1 , Ci2 , ..., Cir ) не изменяют фактор-степеней вершин из Cir , равных m − r относительно раскраски π(m) − (Ci1 , Ci2 , ..., Cir−1 ).
81
Таким образом, процесс приведения раскраски π(m) относительно некоторого класса, например C1 , сводится к проведению различных преобразований над (C2 , C3 , ..., Cm ) и перемещения после каждого такого преобразования вершин, фактор-степени которых оказались меньше m − 1, из класса C1 в классы, с вершинами которых они не смежны. О п р е д е л е н и е 51. Подмножества Xi и Xj соответственно из классов Ci и Cj раскраски π(m) графа G будем называть R-связным (рис. 5.2) и обозначать XiRXj , если в Ci и Cj существуют подf f множества X i ⊃ Xi и Xj ⊃ Xj , такие, что подграф f f f ((X i ∪ Xj ), F ) является связным двудольным подграфом над Ci ∪ Cj .
О п р е д е л е н и е 52. Два подмножества верf f шин C i и Ck из классов Ci и Ck раскраски π(m) будем f f называть Z-связными и обозначать C i Z Ck (рис. 5.3), f f f f если Ci RCk и для некоторых C i и C k из C i и Ck соотc ветственно подграф ((C i ∪ C k ), F ) графа G является максимальным по числу вершин связным двудольным f f графом над C i ∪ Ck .
82
f f f ff Если C i = C i , C k = Ck , то будем писать Ci Z Ck , а соответствующий максимальный связный двудольный f f f подграф графа G, содержащий ((C i ∪ Ck ), F ) будем называть Z-й и обозначать Πrik , где r — номер Z-ки над классами Ci и Ck . Очевидно, из Z-связности следует R-связность, но не наоборот. Пусть π(m) = (C1 , C2 , ..., Cm ) — минимальная раскраска графа G, тогда любой подграф ((Ci ∪Cj ), F˜ ), i 6= j, с точностью до вершин, образующих пустой подграф, представляется объединением Z-ок. Так, минимальная раскраска графа G на рис. 5.1 обладает указанным свойством. Действительно, например, подграф, порожденный парой классов (C1 , C2 ), есть f f объединение следующих Z-ок: 1Z6, 2Z5. Подграф над f f (C2 , C3 ) — объединение Z-ок 5Z3, 6Z4. kl В дальнейшем через Crj будем обозначать подкласс класса Ck , k = r ∨ j, порожденный разбиением пары jl rl , Crj ) = Πlrj , 1 ≤ классов (Cr , Cj ) на q Z-связных пар (Crj l ≤ q. 31 На рис. 5.1 множество вершин {3,4} есть C31 , {1, 2} = 12 22 22 21 21 11 C13 , {5} = C21 = C23 , {6} = C21 = C23 , {1} = C12 и т. д. 1 Пусть π(m) — минимальная раскраска, приведенная относительно, например, Cm , m ≥ 3. Тогда: Z 1 . Для любой вершины x из Cm в силу инвариантности фактор-степени x относительно инверсий Z-ок Πlrj , r, j ∈ 1, m − 1, для некоторого l выполняется соjl rl для всех r и j. Будем говорить в отношение Crj SxSCrj этом случае, что x опирается на Πlrj , а саму Z-ку Πlrj будем называть опорной для x.
83
31 21 31 11 22 12 S7SC23 , C23 S7SC13 , C13 S7SC12 Как следует из рис. 5.1, C12 и, следовательно, вершина 7 опирается на Z-ки Π212 , Π113, Π123 . Z 2 . Так как фактор-степень x инвариантна и отноkl , k = r ∨ j, то при сительно перемещений некоторых Crj r m > 3 для любого класса Ci раскраски π(m) , приведенной относительно Cm , i 6= m, найдется по крайней мере один набор из m − 2 Z-к
Π1ii1 , Π2ii2 , ..., Πm−2 iim−2 , ij 6= m, j = 1, m − 2, i(m−2)
таких что Ciii11 ∩ Ciii22 ∩ ... ∩ Ciim−2 ∋ yiSx. Положим xst =
m−2 T j=1
st , t > 0. Из примера на рис. Csi j
5.1 видно, что {6} = x22 , {5} = x21 , {4} = x32, {3} = x31 , {1} = x12 , {2} = x11.
1 Пусть m = 3 и π(3) = (C1 , C2 , C3 ) — минимальная раскраска графа G, приведенная относительно C3 . Тогда в силу Z 1 для любой вершины x из C3 при некотором 1i 2i i > 0 выполняется соотношение (рис. 5.4) C12 SxSC12 . i Подграф (x, Π12) с указанными связями обозначим че2i 1i ), то в Πi12 ), xS(z ∈ C12 рез GΠ(3) (x). Если xS(y ∈ C12 существует простая цепь из z в y, содержащая четное
84
число вершин, которые вместе с x образуют простой нечетный цикл. Так как минимальная раскраска нечетного цикла состоит из трех классов, то все 3-критические графы исчерпываются циклами нечетной длины. 5.2. О 5-критических графах Как отмечал Харари, если гипотеза четырех красок не верна, то должен существовать 5-хроматический планарный граф и, следовательно, проблему четырех красок можно сформулировать следующим образом: всякий 5-критический граф содержит подграф, стягиваемый к полному 5-вершинному графу F5. А так как в силу теоремы, являющейся двойственной формой теоремы Понтрягина – Куратовского [4], всякий 5-хроматический граф, стягиваемый к F5, непланарен, то указанная формулировка эквивалентна формулировке гипотезы четырех красок. Начнем с напоминания некоторых начальных сведений из теории графов, которые мы будем использовать в дальнейшем. Пусть π(m) = {C1 , C2 , ..., Cm } минимальная mраскраска связного графа G = (X, F ), где X множество вершин графа G, Ci , i = 1, m, классы одноцветных вершин, а F : X → X отображение, при котором каждому x ∈ X отвечает подмножество F x ⊆ X. Пусть задан граф G = (Y, P ) и π(m) его минимальная раскраска. Будем говорить, что граф G = (X, F ) является гомоморфным образом графа G, если G получается из G в результате склеивания некоторых вершин, принадлежащих одним и тем же классам раскрас85
ки π(m). Описанное преобразование будем называть гомоморфизмом Γ : Y → X. Если G критический граф и πm) его минимальная раскраска, приведенная относительно Cm , то Cm содержит всего одну вершину x. Действительно, если бы в Cm имелось две вершины x и y, то, в силу инвариантности фактор-степеней x и y относительно любых преобразований над π(m) − Cm , одну из них можно было бы удалить из Cm , что не повлияло бы на хроматическое число графа G. В частности, если G 3-критический граф и m = 3, 2r 1r ), котоZC12 то x ∈ C3 опирается на Z-ку Πr12 = (C12 1r 2r рая содержит вершины y ∈ C12 и z ∈ C12 смежные с x, и вместе они образуют простой цикл нечетной длины. А так как хроматическое число любого простого цикла нечетной длины равно трем, то все 3-критические графы исчерпываются циклами нечетной длины. Пусть теперь G = (X, F ) 4-критический граф и 2 π(4) = {C1 , C2 , C3 , C4 } его 2-приведенная относительно C4 и C1 минимальная раскраска. Обозначим k = x1k Zx2k Rx3k Zx1k , k = 1, 2 GW(3)
и GΠ(4) (x) = {x ∈ C4 ,
2 [
k GW(3) : x31 Zx22 ,
(5.2.1)
1
x11SxSx21 , x12 SxSx32 }. На рисунке 5.5. изображен граф GΠ(4) (x), у которого Z-ки обозначены ребрами. 86
Теорема 29. Если G = (X, F ) 4-критический граф, то он содержит подграф, с точностью до гомоморфизма совпадающий с GΠ(4) (x). Д о к а з а т е л ь с т в о. Так как G критический, то класс C4 содержит всего одну вершину x. В силу 2-приведенности π(4) , вершина x ∈ C4 опирается над каждой парой классов (C1 , C2 ), (C1 , C3 ), (C2 , C3 ) на 2 соответствующие Z-ки. А так как π(4) приведена относительно C1 , то любая вершина из C1 опирается на Z-ку над (C2 , C3 ). 31 11 21 11 ), Π212 = ZC13 ), Π113 = (C13 ZC12 Пусть Z-ки Π112 = (C12 32 12 22 12 ) такие, что (x11 = ZC13 ), Π213 = (C13 ZC12 (C12 11 11 12 12 C12 ∩ C13 )Sx и (x12 = C12 ∩ C13 )Sx, а Z-ки Π223 = 31 21 32 22 ) такие, что x11 Z(x21 = ZC23 ), Π123 = (C23 ZC23 (C23 31 32 32 21 21 ∩ )Sx, x11 Z(x31 = C13 C12 ∩ C23 )Sx, x12 Z(x32 = C13 ∩ C23 31 22 22 C23 ), x12 Z(x22 = C12 ∩ C23 ). Очевидно, x31 Zx11 Zx21Rx31 и x32 Zx12 Zx22 Rx32 . Так как фактор-степень x ∈ C4 инвариантна относительно любых преобразований над (C1 , C2 , C3 ), то инверсия Zки x11Zx31 не должна изменить фактор-степень x. Следовательно, так как вершина x должна опираться после инверсии на Z-ку над (C1 , C2 ), а в исходном графе она опирается на Z-ку над (C2 , C3 ),
87
должно выполняться, с точностью до гоморфизма (т.е. 31 склеивания всех вершин из C23 с вершинами из x31), соотношение x22 Z x˜31 , где x ˜31 — результат указанного склеивания вершин. Аналогично обстоит дело и с инверсией Z-ки 22 с x12 Zx22 . Только здесь склеиваются вершины из C23 вершинами из x22 . Из приведенных соотношений следует, что k x3k Zx1k Zx2k Rx3k = GW(3) , k = 1, 2,
и, с точностью до гомоморфизма, x˜31 Z x˜22 . Следует заметить, что инверсия Z-ки, например, x12 Zx22 , превращает GΠ(4)(x) в граф, гомеоморфный 1 GΠ(4) (x) = {x ∈ C4 , GW(3) : x11 SxSx31 SxSx21 },
во-первых. А во-вторых, из того, что x˜31 Z x˜22 , и x ∈ C4 должна опираться над (C2 , C3 ) на Z-ку, следует, что вершина x может быть смежной со всеми вершинами 21 32 из C23 и C23 . 88
Теорема 30. Граф GΠ(4) (x) содержит подграф, стягиваемый к полному четырех вершинному графу F4 . Д о к а з а т е л ь с т в о. Пусть GΠ(4) (x) задается формулой (5.2.1) (рис. 5.5), и (y ∈ x11)Sx, (z ∈ x21 )Sx. Так как x32 Rx22 Zx31 , то существует вершина t ∈ x31 , связанная с x ∈ C4 простой цепью. А так как x11 Zx21 Rx31 Zx11 , то существует простой цикл над (C1 , C2 , C3 ) и вершины y ′ ∈ x11 , z ′ ∈ x21 , t′ ∈ x31 , принадлежащие этому циклу, такие, что вершины y и y ′, z и z ′ , t и t′ связаны между собой непересекающимися простыми цепями. Следовательно, вершина x связана с y ′, z ′ и t′ непересекающимися простыми цепями. Таким образом, простой цикл, содержащий вершины y ′, z ′ , t′ вместе с простыми цепями, связывающими эти вершины с x, образуют конструкцию, стягиваемую к F4 . k k-ю конструкцию GΠ(4) (x), у Обозначим через GW(4) которой ребра инцидентные вершине x ∈ C5 заменены Z-ми Π141, Π142 , Π243 , Π241. Через k(Πrij ) будем обозначать k Z-ку над парой классов (Ci , Cj ), принадлежащую GW(4) . Пусть k(Πrij ) = (k(Cijir )Zk(Cijjr )), где k(Cijpr ) подмножество вершин из класса Cp , p = i∨j, порожденное разбиением двудольного подграфа графа G над (Ci , Cj ) на некоторое количество Z-связных подмножеств, принадk лежащее GW(4) , причем r = 1, 2 есть номер конструкr k ции GW(3) , принадлежащей GW(4) . Будем обозначать ее r k(GW(3) ). Положим k(Π141 )
\
C4
k(Π142 )
\
k(Π243)
C4
\
C4
89
k(Π241 ) = k(x41 ),
где пересечение берется над C4 . В соответствии с вновь введенными обозначениями, GW4k будет иметь вид GW4k = {k(x41 ) 6= ∅,
2 [
k(GW3r ) : k(x31 )Zk(x22 ), k(x11 )Z
1
Zk(x41 )Zk(x21 ), k(x12 )Zk(x41 )Zk(x32 )}, где k(GW3r ) = k(x3r )Zk(x1r )Zk(x2r )Rk(x3r ), r = 1, 2.
Положим GW(5) (x) = {x ∈ C5 ,
4 [
k : 1(x41 )SxS1(x11 ), GW(4)
k=1
2(x41 )SxS2(x21 ), 3(x41 )SxS3(x32 ), 4(x41 )SxS4(x12 ), (5.2.2) 2(x31 )Z4(x22 )Z1(x31 )Z3(x22 ), 1(x21 )Z2(x11 ), 3(x12 )Z4(x32 )}. На рисунке 5.6. изображен граф GΠ(5) (x), где ребрами обозначены Z-ки, связывающие соответствующие 90
k(xij ), а светлыми кружочками обозначены вершины, смежные x ∈ C5 . Теорема 31. Если G 5-критический граф, то он содержит подграф, с точностью до гомоморфизма совпадающий с GΠ(5)(x). 3 Д о к а з а т е л ь с т в о. Пусть π(5) = {C1 , C2 , C3 , C4 , C5 } 3-приведенная последовательно относительно C5 , C4 , C1 минимальная раскраска графа G. Так как G критический граф, то C5 содержит всего одну вершину x. В силу 3-приведенности π(5) , вершина x ∈ C5 опирается над каждой парой классов (Ci , Cj ), i > j, i, j ∈ {1, 4}, по крайней мере на одну Z-ку. В частности, так как π(4) = {C1 , C2 , C3 , C4 } приведена относительно C4 , то предположим, что x ∈ C5 11 41 )), 2(Π142 ) = )Z1(C41 опирается на Z-ки 1(Π141 ) = (1(C41 41 21 42 32 (2(C42 )Z2(C42 )), 3(Π243 ) = (3(C43 )Z3(C43 )), 4(Π241 ) = 12 42 )). )Z4(C41 (4(C41 Для каждой из указанных Z-к k(Πr4j ), существует по крайней мере еще три Z-ки k(Π142 ), k(Π243 ) и k(Π241 ) T T T такие, что [k(x41 )Sx] = k(Π141 ) k(Π142 ) k(Π243 ) k(Π241), где пересечение берется над C4 , опирается на конструкk цию, которая вместе с k(x41 ) есть GW(4) . 3 2 Так как раскраска π(5) − C3 = π(4) является 2приведенной последовательно относительно C5 и C4 , то согласно теореме 31 имеем (xS1(x11 ))R(2(x21 )Sx). В силу тех же причин для раскраски π(5) − C1 имеем 2(x21 )R3(x32 ), а для раскраски π(5) − C2 имеем 3(x32 )R4(x12 ). Так как фактор-степень x инвариантна относительно любых преобразований над (C1 , C2 , C3 , C4 ), то и инверсия Z-ки 1(x11 )Z1(x31 ) не должна изменить фактор91
степень x. А это будет тогда, когда будет выполняться, с точностью до гомоморфмзма, соотношение [xS2(x21 )]Z2(x11 )Z1(x21 )R1(x31 )Z4(x22 )Z[4(x12 )Sx]. (5.2.3) Фактор-степень x ∈ C5 должна быть инвариантна и относительно инверсии Z-ки [xS1(x11 )]R[2(x21 )Sx]. В этом случае должно выполняться (с точностью до гомоморфизма) соотношение [xS1(x11 )Z1(x31 )Z3(x22 )R[3(x32 )Sx],
(5.2.4)
так как (как и в первом случае над (C1 , C2 )) вершина x должна опираться над (C2 , C3 ) после указанных инверсий на Z-ку. Точно так же инверсия Z-ки 3(x32 )R4(x12 ) влечет (с точностью до гомоморфизма) соотношение [xS4(x12 )]Z4(x22 )Z2(x31 )R[2(x21 )Sx].
(5.2.5)
Итак, из (5.2.3), (5.2.4), (5.2.5) имеем, с точностью до гомоморфизма, 2(x31 )Z4(x22 )Z1(x31 )Z3(x22 ) и 1(x21 )Z2(x11 ), 3(x12 )Z4(x32 ). Учитывая, что x ∈ C5 опирается на Z-ки 1(Π141 ), 2(Π142), 3(Π243 ), 4(Π241 ), имеем 1(x41 )SxS1(x11 ), 2(x41 )SxS2(x21 ), 3(x41 )SxS3(x32 ), 4(x41 )SxS4(x12 ). Что и требовалось. 92
Теорема 32. Граф GΠ(5) (x) содержит подграф, стягиваемый к F5. Д о к а з а т е л ь с т в о. Пусть GΠ(5) (x) задаетk ся формулой (5.2.2). Рассмотрим GW(4) при k = 1. Так как 1(x11 )SxS1(x41 ), то имеются некоторые вершины y1 ∈ 1(x41 ) и z1 ∈ 1(x11 ) такие, что y1 SxSz1 . Из того, что (xS2(x21 ))Z2(x11 )Z1(x21 ), следует существование простой цепи из вершины x ∈ C5 в вершину z2 ∈ 1(x21 ). А из того, что (xS3(x32 ))R3(x22 )Z1(x31 ) существует простая цепь из вершины x ∈ C5 в вершину z3 ∈ 1(x31 ). Все указанные простые цепи не имеют общих вершин. Так как 1(x41 )Z1(x11 ), 1(x41 )Z1(x32 )R1(x22 )Z1(x31 ), 1(x41 ) Z1(x21 ), то существуют непересекающиеся простые цепи из вершины y1 в вершины z1 , z2 и z3 , принадлежащие пересечениям Z-ок 1(Π141 )
T
1(Π113)
C1 T
C2
T
C1 1 1(Π23 ),
1(Π112 ), 1(Π142)
T
C2 1 1 T 1(Π13) 1(Π23 ) C3
1(Π112 )
соответственно. А так как 1(x11 )Z1(x31 )R1(x21 )Z1(x11 ), то существует простой цикл, содержащий вершины z1′ ∈ 1(x11 ), z2′ ∈ 1(x21 ), z3′ ∈ 1(x31 ). Очевидно, z1 и z1′ , z2 и z2′ , z3 и z3′ связаны непересекающимися простыми цепями. Таким образом, вершины x, y1 , z1′ , z2′ , z3′ вместе с простыми цепями, связывающими их, образуют подграф графа G, стягиваемый к F5.
93
6 АЛГЕБРА ЛОГИКИ
6.1. Функции алгебры логики Пусть U = {u1 , u2 , ..., um , ...} —исходный алфавит переменных. Будем рассматривать функции f (ui1 , ui2 , ..., uin )(uij 6= uik при j 6= k), аргументы которых определены на множестве E 2 = {0, 1}, и такие, что f (α1 , α2 , ..., αn ) ∈ E 2 , когда αi ∈ E 2 (i = 1, 2, ..., n). Эти функции будем называть функциями алгебры логики или булевыми функциями. В качестве переменных будем использовать символы x, y, z, ... , а также эти символы с индексами. Функции алгебры логики будем задавать с помощью таблиц
x1 ...xn−1 xn 0 0 0 . 1
... 0 ... 0 ... 1 ... . ... 1
0 1 0 . 1
f (x1 , ..., xn−1 , xn ) f (0, f (0, f (0, . f (1,
... , 0, ... , 0, ..., 1, . ... . . ..., 1,
0) 1) 0) 1)
Обозначим через P2 систему функций алгебры логики над алфавитом U , содержащую константы 0 и 1. О п р е д е л е н и е 53. Функция f (x1 , ..., xi−1 , xi , xi+1 , ..., xn ) из P2 зависит существенным образом от аргумента xi , если существуют такие значения α1 , ..., αi−1 , αi+1 , ..., αn переменных x1 , ..., xi−1 , xi+1 , ..., xn , что f (α1 , ..., αi−1 , 0, αi+1 , ..., αn ) 6= f (α1 , ..., αi−1 , 1, αi+1 , ..., αn ). В этом случае переменная xi называется существенной. Если xi не является существенной переменной, то она называется несущественной или фиктивной.
90
О п р е д е л е н и е 54. Функции f1 (x1 , ..., xn ) и f2 (x1 , ..., xn ) называются равными, если функцию f2 можно получить из f1 путем добавления или изъятия фиктивных аргументов. Функции тождественно равные 0 и тождественно равные 1 не содержат существенных переменных. Приведем примеры ««элементарных»» функций 1) 2) 3) 4) 5) 6) 7) 8) 9)
f1 (x) = 0 — константа 0; f2 (x) = 1 — константа 1; f3 (x) = x — тождественная функция; f4 (x) = x¯ — отрицание x; f5 (x1 , x2 ) = (x1 &x2 ) — конъюнкция x1 и x2 или логическое умножение; f6 (x1 , x2 ) = (x1 ∨x2 ) — дизъюнкция x1 и x2 или логическое сложение; f7 (x1 , x2 ) = (x1 → x2 ) —импликация x1 и x2 или логическое следование; f8 (x1 , x2 ) = (x1 + x2 ) — сложение по mod 2; f9 (x1 , x2 ) = (x1 /x2 ) —функция Шеффера.
В следующих таблицах приводятся значения перечисленных функций. x 0 1 x 0 0 1 0 1 0 1 1
x1 0 0 1 1
x2 0 1 0 1
(x1 &x2 ) 0 0 0 1
x¯ 1 0
(x1 ∨ x2 ) (x1 → x2 ) 0 1 1 1 1 0 1 1
(x1 + x2 ) (x1 |x2 ) 0 1 1 1 1 1 0 0
Здесь (x1 &x2 ) = min(x1 , x2 ) = (x1 · x2 ), (x1 ∨ x2 ) = max(x1 , x2 ). 91
6.2. Формулы и функции О п р е д е л е н и е 55. Пусть P — некоторое подмножество функций из P2 . a) Б а з и с и н д у к ц и и. Каждая функция f (x1 , ..., xm ) из P называется формулой над P. б) И н д у к т и в н ы й п е р е х о д. Пусть f (x1 , ..., xm ) — функция из P и A1 , ..., Am — выражения, являющиеся либо формулами над P, либо символами переменных из U . Тогда выражение f (A1 , ..., Am ) называется формулой над P. П р и м е р 20. Пусть P — множество ««элементарных»» функций. Следующие выражения являются формулами над P: 1) {[(x1 x2 ) + x1 ] + x2 }; 2) [¯ xx (x2 + x3 )]; 3) {x1 ∨ [(x2 → x3 )(x3 → x2 )]}. В дальнейшем запись A[f1 , ..., fs ] означает, что формула A построена из f1 , ..., fs . А запись A(x1 , ..., xn ) означает, что при построении формулы A использовались переменные x1 , ..., xn . Пусть A — произвольная формула над P, тогда формулы, которые использовались для ее построения, будем называть подформулами формулы A. О п р е д е л е н и е 56. Говорят, что формула B = B[g1 , ..., gs ], gi = gi (x1 , ...xn ) имеет то же строение, что и формула A = A[f1 , ..., fs ], fi = fi (x1 , ..., xn ),Ãi = 1, s, если ! формула B f1 f2 ....fs получена из формулы A путем замены . g1 g2 ....gs П р и м е р 21. 1) D = {x1 , (x1 &x2 )}, A = [x1 &(x2 &x3 )]; 2) D = {x1 , (x1 → x2 )}, B = [x1 → (x2 → x3 )]. Очевидно, что A и B имеют одинаковое строение. Строение формулы будем обозначать через C и писать A = C[f1 , ..., fs ]. Каждая формула однозначно определяется своим строением и упорядоченной совокупностью {f1 , f2 , ..., fs }. Сопоставим теперь каждой формуле A(x1 , ..., xn ) над P функцию f (x1 , ..., xn ) из P2 с помощью индукции следующим образом.
92
а) Б а з и с и н д у к ц и и. Если A(x1 , ..., xn ) = f (x1 , ..., xn ), где f ∈ P, то формуле A(x1 , ..., xn ) сопоставим функцию f (x1 , ..., xn ). б) И н д у к т и в н ы й п е р е х о д. Пусть A(x1 , ..., xn ) = f0 (A1 , ..., Am ), где Ai (i = 1, ..., m) являются либо формулами над P, либо символами переменной xj(i) . Тогда по предположению индукции Ai сопоставлена либо функция fi из P2 , либо тождественная функция fi = xj(i) . Сопоставим формуле A(x1 , ...xn ) функцию f (x1 , ..., xn ) = f0 (f1 , ..., fm ). Если функция f соответствует формуле A, то говорят, что формула A реализует функцию f . Функцию f , соответствующую формуле A, будем называть суперпозицией функций из P, а процесс получения функции f из P будем называть операцией суперпозиции. П р и м е р 22. Пусть f3 (x1 , x2 , x3 ) = {x1 ∨ [(x2 → x3 )(x3 → x2 )]} функция, соответствующая формуле из примера 17. Для нахождения функции f3 , будем искать те наборы значений переменных x1 , x2 , x3 , на которых функция принимает значение 1. Очевидно, это равносильно определению значений переменных, при которых формула {x1 ∨ [(x2 → x3 )(x3 → x2 )]} равна 0. Последнее имеет место при x1 = 0 и в тех случаях, когда [(x2 → x3 )(x3 → x2 )] обращается в 0. Наконец, формула [(x2 → x3 )(x3 → x2 )] обращается в 0, когда по крайней мере одна из формул (x2 → x3 ), (x3 → x2 ) обращается в 0, что имеет место при x2 = 1, x3 = 0, или при x2 = 0, x3 = 1. Таким образом, f (x1 , x2 , x3 ) равна 1 на наборах (001) и (010). 6.3. Эквивалентность. Принцип двойственности. О п р е д е д е л е н и е 57. Формулы A и B над P называются эквивалентными, в этом случае мы пишем A = B, если соответствующие им функции fA и fB равны. П р и м е р 23. 0 = (x&x), (x1 (x2 + x3 )) = {x1 ∨ [(x2 → x3 )(x3 → x2 )]}, 93
(x → y) = (y → x). Обозначим через (x1 ◦ x2 ) любую из функций (x1 &x2 ), (x1 ∨ x2 ), (x1 + x2 ). 1. Функция (x1 ◦ x2 ) обладает свойством ассоциативности: ((x1 ◦ x2 ) ◦ x3 ) = (x1 ◦ (x2 ◦ x3 )). 2. Функция (x1 ◦ x2 ) обладает свойством коммутативности: (x1 ◦ x2 ) = (x2 ◦ x1 ). 3. Для конъюнкции и дизъюнкции выполняются дистрибутивные законы: ((x1 ∨ x2 )&x3 ) = ((x1 &x3 ) ∨ (x2 &x3 )), ((x1 &x2 ) ∨ x3 ) = ((x1 ∨ x3 )&(x2 ∨ x3 )). 4. Имеют место следующие соотношения между отрицанием, конъюнкцией и дизъюнкцией: x = x, (x1 &x2 ) = (x1 ∨ x2 ), (x1 ∨ x2 ) = (x1 &x2 ). 5. Выполняются следующие свойства конъюнкции и дизъюнкции: (x&x) = x, (x&x) = 0, (x&0) = 0, (x&1) = x,
(x ∨ x) = x, (x ∨ x) = 1, (x ∨ 0) = x, (x ∨ 1) = 1.
С помощью приведенных равенств легко осуществлять эквивалентные преобразования и, тем самым, получать новые тождества. П р и м е р 24. x1 ∨ x1 x2 = x1 · 1 ∨ x1 x2 = x1 (x2 ∨ x2 ) ∨ x1 x2 = = x1 x2 ∨ x1 x 2 ∨ x1 x2 = x1 x2 ∨ x1 x2 ∨ x1 x2 = = x1 x2 ∨ x1 x2 = x1 (x2 ∨ x2 ) = x1 · 1 = x1 . Таким образом, x1 ∨ x1 x2 = x1 , т.е. получаем правило поглощения произведения x1 x2 множителем x1 . Здесь x1 x2 = x1 &x2 . 94
Существует еще один способ получения тождеств. Он основан на использовании так называемого принципа двойственности. О п р е д е л е н и е 58. Функция [f (x1 , ..., xn )]∗ = f (x1 , ..., xn ), называется двойственной функцией к функции f (x1 , ..., xn ). Для простоты будем обозначать двойственную функцию через f ∗ (x1 , ..., xn ). Легко видеть, что функция 0 двойственна 1, функция 1 двойственна 0, функция x двойственна x, функция x двойственна x, функция x1 &x2 двойтсвенна x1 ∨ x2 , функция x1 ∨ x2 двойственна x1 &x2 . Из определения двойственности вытекает, что f ∗∗ = (f ∗ )∗ = f, т.е. функция f является двойственной к f ∗ . Пусть (x1i , ..., x1pi ) ⊆ (x1 , ..., xn ), i = 1, m. Теорема 33. Если Φ(x1 , ..., xn ) = f (f1 (x11 , ..., x1p1 ), ..., fm (xm1 , ..., xmpm )) , то ∗ Φ∗ (x1 , ..., xn ) = f ∗ (f1∗ (x11 , ..., x1p1 ), ..., fm (xm1 , ..., xmpm )).
Д о к а з а т е л ь с т в о. Φ∗ (x1 , ..., xn ) = Φ(x1 , ..., xn ) = = f (f1 (x11 , ..., x1p1 ), ...fm (xm1 , ..., xmpm )) = = f (f 1 (x11 , ..., x1p1 ), ..., f m (xm1 , ..., xmpm )) = ∗ ∗ = f (f 1 (x11 , ..., x1p1 ), ..., f m (xm1 , ..., xmpm )) = ∗ = f ∗ (f1∗ (x11 , ..., x1p1 ), ...fm (xm1 , ..., xmpm )). Из теоремы вытекает П р и н ц и п д в о й с т в е н н о с т и. Если формула A = C[f1 , ..., fs ] реализует функцию f (x1 , ..., xn ), то формула C[f1∗ , ..., fs∗ ] реализует функцию f ∗ (x1 , ..., xn ). Эту формулу мы будем называть формулой, двойственной к A, и обозначать через A∗ . Таким образом, A∗ = C[f1∗ , ..., fs∗ ]. 95
П р и м е р 25. 1) A1 (x1 , x2 ) = x1 &x2 , A∗1 (x1 , x2 ) = x1 ∨ x2 ; 2) A2 (x1 , x2 ) = x1 x2 ∨ x1 x2 , A∗2 (x1 , x2 ) = (x1 ∨ x2 )(x1 ∨ x2 ). 6.4. Совершенная дизъюнктивная нормальная форма Введем обозначение xσ = xσ ∨ x σ, где σ — параметр, равный 0, либо 1. Очевидно, что xσ =
(
x при σ = 0, x при σ = 1.
Очевидно, что xσ = 1 тогда и только тогда, когда x = σ. Теорема 34 (о разложении функций по переменным). Каждую функцию алгебры логики f (x1 , ..., xn ) при любом m(1 ≤ m ≤ n) можно представить в следующей форме: f (x1 , ..., xm , xm+1 , ..., xn ) = =
W
(σ1 ,...,σm )
xσ1 1 &. . . &xσmm &f (σ1 , ..., σm , xm+1 , ..., xn ),
(*)
где дизъюнкция берется по всевозможным наборам значений переменных x1 , ..., xm . Д о к а з а т е л ь с т в о. Рассмотрим произвольный набор значений переменных (α1 , ..., αn ) и покажем, что левая и правая части соотношения (∗) принимают на нем одно и то же значение. Левая часть дает f (α1 , ..., αn ). Правая — W
(σ1 ,...,σm )
σm &f (σ1 , ..., σm , αm+1 , ..., αn ) = α1σ1 & . . . &αm
αm = α1α1 & . . . &αm &f (α1 , ..., αm , αm+1 , ..., αn ) = f (α1 , ..., αn ).
В качестве следствий получаем два специальных случая разложений. 1) Разложение по одной переменной: 96
f (x1 , ..., xn−1 , xn ) = W = xn &f (x1 , ..., xn−1 , 1) xn &f (x1 , ..., xn−1 , 0).
2) Разложение поWвсем переменным: xσ1 1 & . . . &xσnn &f (σ1 , ..., σn ). f (x1 , ..., xn ) = (σ1 ,...,σn )
При f (x1 , ..., xn ) 6≡ 0 оно может быть преобразовано: W
(σ1 ,...,σn )
xσ1 1 &...&xσnn &f (σ1 , ..., σn ) =
W
(σ1 ,...,σn ) f (σ1 ,...,σn )=1
xσ1 1 &...&xσnn .
В результате окончательно получим f (x1 , ..., xn ) =
_
xσ1 1 & . . . &xσnn .
(∗∗)
(σ1 ,...,σn ) f (σ1 ,...,σn )=1
Такое разложение носит название совершенной дизъюнктивной нормальной формы (совершенной д.н.ф.). Теорема 35. Каждая функция алгебры логики может быть выражена в виде формулы через отрицание, конъюнкцию и дизъюнкцию. Д о к а з а т е л ь с т в о. 1) Пусть f (x1 , ..., xn ) ≡ 0. Тогда, очевидно, f (x1 , ..., xn ) = x1 &x1 . 2) Пусть f (x1 , ..., xn ) 6≡ 0. Представим ее в совершенной д.н.ф.: f (x1 , ..., xn ) =
_
xσ1 1 & . . . &xσnn .
(σ1 ,...,σn ) f (σ1 ,...,σn )=1
Таким образом, в обоих случаях функция f выражается в виде формулы через отрицание, конъюнкцию и дизъюнкцию. П р и м е р 26. Записать совершенную д.н.ф. для функции, заданной следующей таблицей
97
x1
x2
x3
f (x1 , x2 , x3 )
0 0 0 0 1 1 1 1
0 0 1 1 0 0 1 1
0 1 0 1 0 1 0 1
1 1 0 0 0 1 0 1
Согласно теореме имеем f (x1 , x2 , x3 ) = x1 x2 x3 ∨ x1 x2 x3 ∨ x1 x2 x3 ∨ x1 x2 x3 . Это разложение есть выражение типа ΣΠ. Построим разложение типа ΠΣ, при условии, что f (x1 , ..., xn ) 6≡ 1. Для этого разложим функцию f ∗ в совершенную д.н.ф.: xσ1 1 & . . . &xσnn .
_
f ∗ (x1 , ..., xn ) =
(σ1 ,...,σn ) f ∗ (σ1 ,...,σn )=1
Применим операцию * к данному равенству, получим f ∗∗ (x1 , ..., xn ) =
&
(σ1 ,...,σn ) f ∗ (σ1 ,...,σn )=1
(xσ1 1 ∨ . . . ∨ xσnn ).
Левая часть есть f (x1 , ..., xn ), а правая может быть преобразована далее: &
(σ1 ,...,σn ) f ∗ (σ1 ,...,σn )=1
(xσ1 1 ∨ ... ∨ xσnn ) = =
&
(σ1 ,...σn ) f (σ1 ,...,σn )=0
&
(σ1 ,...,σn ) f (σ 1 ,...,σ n )=0
(xσ1 1 ∨ ... ∨ xσnn ) =
(xσ1 1 ∨ ... ∨ xσnn ).
Таким образом, получаем разложение f (x1 , ..., xn ) =
&
(σ1 ,...,σn ) f (σ1 ,...,σn )=0
(xσ1 1 ∨ ... ∨ xσnn ).
Это выражение носит название совершенной конъюктивной нормальной формы (совершенной к.н.ф.). 98
П р и м е р 27. Построить совершенную к.н.ф. для функции f (x1 , x2 , x3 ), заданной таблицей в примере 26. Имеем f (x1 , ..., xn ) = = (x1 ∨ x2 ∨ x3 )(x1 ∨ x2 ∨ x3 )(x1 ∨ x2 ∨ x3 )(x1 ∨ x2 ∨ x3 ). 6.5. Полнота. Замкнутость О п р е д е л е н и е 59. Система функций {f1 , f2 , ..., fs , ..} из P2 называется (функционально) полной, если любая булева функция может быть записана в виде формулы через функции этой системы. Рассмотрим примеры полных систем. 1. Система P2 — множество всех булевых функций — является полной системой. 2. Система P = {x, x1 &x2 , x1 ∨ x2 } представляет полную систему. Следующая теорема позволяет сводить вопрос о полноте одних систем к вопросу о полноте других систем. Теорема 36. Пусть даны две системы функций из P2 : P = {f1 , f2 , ...},
(I)
Q = {g1 , g2 , ...},
(II)
относительно которых известно, что система (I) полна и каждая ее функция выражается в виде формулы через функции системы (II). Тогда система (II) является полной. Д о к а з а т е л ь с т в о. Пусть h — произвольная функция из P2 . В силу полноты системы (I), функцию h можно выразить формулой над P, т.е. h = C[f1 , f2 , ..., fs , ...] По условию теоремы f1 = C1 [g1 , g2 , . . . ], f2 = C2 [g1 , g2 , . . . ], . . . . . . . . .
99
Поэтому мы можем в формуле C[f1 , f2 , ...] исключить вхождения функций f1 , f2 , ..., заменив их формулами над Q. Это можно зписать так: C[f1 , f2 , ...] = C[C1 [g1 , g2 , ...], C2 [g1 , g2 , ...], ...]. Последнее выражение определяет формулу над Q со строением C . Мы получаем ′
C[C1 [g1 , g2 , ...], C2 [g1 , g2 , ...], ...] = C ′ [g1 , g2 , ...], или, окончательно, h = C ′ [g1 , g2 , ...], т.е. мы варазили h в виде формулы над Q. Теорема доказана. Опираясь на эту теорему, можно установить полноту еще ряда систем и тем самым расширить список примеров полных систем. 3. Система P = {x, x1 &x2 } является полной. Для доказательства возьмем за систему (I) систему 2., а за систему (II) — систему 3. и используем тождество x1 ∨ x2 = x1 &x2 , которое выткает из свойства 4 элементарных функций. 4. Система P = {x, x1 ∨ x2 } является полной. Это утверждение доказывается либо аналогично предыдущему, либо через принцип двойственности. 5. Система P = {x1 /x2 } является полной. Для доказательства за систему (I) возьмем систему 3., а за систему (II) — систему 5. Легко видеть, что x1 /x1 = x1 , (x1 /x2 )/(x1 /x2 ) = x1 /x2 = x1 &x2 . 6. Система P = {0, 1, x1 x2 , x1 + x2 ( mod 2)} является полной. Для доказательства опять за систему (I) возьмем систему 3., а засистему (II) — систему 6. Мы имеем x1 + 1 = x 1 , x1 x2 = x1 &x2 . Так как формула, построенная из констант 0, 1 и функций x1 x2 и x1 + x2 , после раскрытия скобок и несложных алгебраических 100
преобразований переходит в полином по mod 2, мы получаем следующую теорему, принадлежащую И. И. Жегалкину. Теорема 37. Каждая функция из P2 может быть выражена при помощи полинома по mod 2 (полинома Жегалкина). X
ai1 ...is xi1 xi2 . . . , xis
mod 2.
(i1 ,...,is )
Д о к а з а т е л ь с т в о. Доказательство теоремы сводится к подсчету числа полиномов Жегалкина от переменных x1 , x2 , ..., xn . Если их число окажется равным числу функций из P2 , то теорема будет доказана. Действительно, с одной стороны, если f ∈ P2 , f = f (x1 , x2 , ..., xn ), то всего наборов (σ1 , ..., σn ) значений переменных (x1 , ..., xn ) столько, сколько функций из множества X = (x1 , ..., xn ) X в множество 2 = {0, 1}, т.е. |2 | = |2||X| = 2n . Каждой функции f ∈ P2 можно сопоставить во взаимно однозначное соответствие набор из 2n компонент значений функции f . Таким образом, всего функций алгебры логики столько, сколько X Y функций из множества Y = 2 в множество 2, т.е. |2 | = |2||Y | = n 22 . С другой стороны, количество слагаемых у полинома Жегалкина столько, сколько подмножеств (i1 , i2 , ..., is ) в множестве (1, . . . , n). Каждому набору (i1 , ..., is ) поставим в соответствие набор (σ1 , ..., σn )s , содержащий s единиц на местах i1 , ...is , s = 1, n. Тогда подмножеств (i1 , ..., is ) ⊆ (1, ..., n) столько, сколько наборов (σ1 , ..., σn ) из нулей и единиц. А их столько, сколько функций из множества X, содержащего n элементов в множество 2 = {0, 1}, X т.е. |2 | = 2n . Каждому полиному можно поставить в соответствие набор из 2n компонент — коэффициентов полинома. Всего полиноX мов столько, сколько функций из множества Y = 2 в множество n Y 2, т.е. |2 | = |2||Y | = 22 . Теорема доказана. П р и м е р 28. Выразить функцию x1 ∨ x2 в виде полинома Жегалкина. Общий вид полинома Жегалкина от двух переменных имеет вид x1 ∨ x2 = ax1 x2 + bx1 + cx2 + d. При x1 = x2 = 0 имеем 0 = d, при x1 = 0, x2 = 1 имеем 1 = c, при x1 = 1, x2 = 0 имеем 1 = b, при x1 = x2 = 1 имеем 1 = a + d + c, т.е. a = 1. 101
Таким образом, x1 ∨ x2 = x1 x2 + x1 + x2 . С понятием полноты тесно связано понятие замыкания и замкнутого класса. О п р е д е л е н и е 60. Пусть M — некоторое подмножество функций из P2 . Замыканием M называется множество всех булевых функций, представимых в виде формул через функции из множества M. Замыкание множества M обозначается через [M]. П р и м е р 29. 1) M = P2 . Очевидно, [M] = P2 . 2) M = {1, x1 + x2 }. Замыканием этого множества будет класс L всех линейных функций, т.е. функций, имеющих вид f (x1 , ..., xn ) = c0 + c1 x1 + ... + cn xn ( mod 2), где ci = 0 ∨ 1 (i = 0, 1, ..., n). Отметим некоторые свойства замыкания: 1) [M] ⊇ M; 2) [[M]] = [M]; 3) если M1 ⊆ M2 , то [M] ⊆ [M]; 4) [M1 ∪ M2 ] ⊇ [M1 ] ∪ [M2 ]. О п р е д е л е н и е 61. Множество M называется замкнутым, если [M] = M. 1) Класс M = P2 является замкнутым классом. 2) Класс M = {1, x1 + x2 } не замкнут. 3) Класс L замкнут, так как линейная комбинация линейных функций является линейной функцией. Система функций M является полной, если [M] = P2 . 6.6. Важнейшие замкнутые классы. Теорема о полноте Перечислим некоторые важнейшие замкнутые классы в P2 . 1. Обозначим через T0 класс всех булевых функций f (x1 , ..., xn ), сохраняющих константу 0, т.е. функций, для которых выполнено равенство f (0, . . . , 0) = 0. Легко видеть, что функции 0, x, x1 &x2 , x1 ∨ x2 , x1 + x2 принадлежат классу T0 , а функции 1, x не входят в T0 . 102
Поскольку таблица для функций f из класса T0 в первой строке n содержит значение 0, то в T0 содержится ровно (1/2)22 булевых функций, зависящих от переменных x1 , ..., xn . Покажем, что T0 — замкнутый класс. Так как T0 содержит тождественную функцию, то для обоснования замкнутости T0 достаточно показать, что функция Φ = f (f1 , . . . , fm ) принадлежит классу T0 , если f, f1 , ..., fm принадлежат классу T0 . Последнее вытекает из цепочки равенств Φ(0, ..., 0) = f (f1 (0, ..., 0), ..., fm (0, ..., 0)) = = f (0, ..., 0) = 0. 2. Обозначим через T1 класс всех булевых функций f (x1 , ..., xn ), сохраняющих константу 1, т.е. функций, для которых выполнено равенство f (1, ..., 1) = 1. Легко видеть, что функции 1, x, x1 &x2 , x1 ∨ x2 принадлежат классу T1 , а функции 0, x не входят в класс T1 . В силу того, что класс T1 состоит из функций, двойственных функциям из класса T0 , нетрудно перенести результаты о классе n T0 на класс T1 . Класс T1 содержит (1/2)22 функций, зависящих от переменных x1 , ..., xn , и является замкнутым классом. 3. Обозначим через S класс всех самодвойственных функций, т.е. функций f из P2 , таких, что f ∗ = f . Очевидно, что самодвойственными функциями будут x, x. Менее тривиальным примером самодвойственной функции является функция h(x1 , x2 , x3 ) = x1 x2 ∨ x1 x3 ∨ x2 x3 : h∗ (x1 , x2 , x3 ) = (x1 ∨ x2 )(x1 ∨ x3 )(x2 ∨ x3 ) = = x1 x2 ∨ x1 x3 ∨ x2 x3 = h(x1 , x2 , x3 ). Для самодвойственных функций имее место тождество f (x1 , ..., xn ) = f (x1 , ..., xn ); иначе говоря, на противоположных наборах (α1 , ..., αn ) и (α1 , ..., αn ) самодвойственная функция принимает противоположные значения. Отсюда следует, что самодвойственная функция полностью
103
определяется своими значениями на половине строк таблицы, задающей функцию. Поэтому число самодвдойственных √ функций, заn−1 висящих от переменных (x1 , ..., xn ), равно 22 = 22n . Докажем теперь, что класс S замкнут. Поскольку класс S содержит тождественную функцию, достаточно показать, что функция Φ = f (f1 , . . . , fm ) является самодвойственной, если f, f1 , ..., fm самодвойственны. Последнее устанавливается непосредственно: ∗ Φ∗ = f ∗ (f1∗ , . . . , fm ) = f (f1 , . . . , fm ) = Φ.
Лемма 7. (о несамодвойственной функции). Если f (x1 , ..., xn ) ∈ / S, то из нее путем подстановки функций x и x можно получить константу. Д о к а з а т е л ь с т в о. Так как f ∈ / S, то найдется набор (α1 , ..., αn ), такой, что f (α1 , . . . , αn ) = f (α1 , . . . , αn ). Рассмотрим функции ϕi (x) = xαi (i = 1, ..., n) и положим ϕ(x) = f (ϕ1 (x), . . . , ϕn (x)). Мы имеем ϕ(0) = f (ϕ1 (0), ..., ϕn (0)) = f (0α1 , ..., 0αn ) = = f (α1 , ..., αn ) = f (α1 , ..., αn ) = f (1α1 , ..., 1αn ) = = f (ϕ1 (1), ..., ϕn (1)) = ϕ(1). Лемма доказана. 4. Обозначим ∼
∼
α = (α1 , . . . , αn ), β = (β1 , . . . , βn ) и f (α1 , ..., αn ) = f (˜ α). ∼ О п р е д е л е н и е 62. Для двух наборов α = (α1 , ..., αn ) ∼
∼
∼
и β = (β1 , ..., βn ) выполнено отношение предшествования α ¹ β, если α1 ≤ β1 , . . . , αn ≤ βn . Например, (0, 1, 0, 1)¹(1, 1, 0, 1). 104
∼
∼
Очевидно, что если α ¹ β и β ¹ γ, то α ¹ γ. О п р е д е л е н и е 63. Функция f (x1 , ..., xn ) называется ∼
∼
∼
∼
∼
∼
∼
∼
монотонной, если для любых двух наборов α и β (α ¹ β), имеет место неравенство ∼ ∼ f (α) ≤ f (β). Монотонными функциями, очевидно, будут 0, 1, x, x1 &x2 , x1 ∨ x2 . Обозначим через M множество всех монотонных функций. Покажем, что класс монотонных функций замкнут. Поскольку тождественная функция принадлежит классу M , то для установления замкнутости M достаточно показать, что Φ = f (f1 , . . . , fm ) является монотонной, если f, f1 , ..., fm монотонны. Пусть ∼m
∼1
∼
x = (x1 , ..., xn ), x = (x11 , ..., x1p1 ), ..., x = (xm1 , ..., xmpm ) — наборы переменных функций Φ, f1 , ..., fm , причем множество переменных функции Φ состоит из тех и только тех переменных, ∼ ∼ которые встречаютсч у функций f1 , ..., fm . Пусть α и β — два на∼ ∼ ∼ бора длины n значений переменных x, причем α ¹ β. Эти на∼1 ∼1 ∼m ∼m боры определяют наборы α , β , ..., α , β значений переменных ∼1 ∼m ∼1 ∼m ∼1 ∼m x , ..., x , такие, что α ¹ β , ..., α ¹ β . В силу монотонности функций f1 , ..., fm ∼1
∼1
∼m
∼m
f1 (α ) ≤ f1 (β ), ..., fm (α ) ≤ fm (β ). Поэтому ∼1
∼m
∼1
∼m
(f1 (α ), ..., fm (α )) ¹ (f1 (β ), ..., fm (β )), и в силу монотонности f имеем ∼1
∼m
∼1
∼m
f (f1 (α ), ..., fm (α )) ≤ f (f1 (β ), ..., fm (β )), ∼
Откуда получаем Φ(α) ≤ Φ(β). ∼
∼
Будем называть наборы α и β соседними по i-ой координате, если ∼
105
∼
α = (α1 , ..., αi−1 , αi , αi+1 , ..., αn ), ∼
β = (α1 , ..., αi−1 , αi αi+1 , ..., αn ). Лемма 8. ( о немонотонной функции). Если f (x1 , ..., xn ) ∈ / M, то из нее путем подстановки констант 0 и 1 и функции x можно получить функцию x. Д о к а з а т е л ь с т в о. Сначала покажем, что найдется пара ∼ ∼ ∼ ∼ соседних наборов α и β, таких, что α ¹ β и ∼
∼
f (α) > f (β) ∼1
В самом деле, так как f ∈ / M , то существуют наборы α и ∼1 ∼1 ∼1 ∼1 ∼1 ∼1 β , такие, что α ¹ β и f (α ) > f (β ). Если наборы α и β ∼1
∼1
∼1
— соседние, то наша цель достигнута. Если α и β не являются ∼1 ∼1 соседними, то набор β отличается от набора α в t координатах, ∼1 где t > 1, причем эти t координат в наборе α имеют значение 0, а ∼1 ∼1 ∼1 в наборе β — 1. В силу этого между α и β можно вставить t − 1 ∼2 ∼3 ∼t промежуточных наборов α , α , ..., α , Таких, что ∼1
∼2
∼t
∼3
∼1
α ¹ α ¹ α ¹ ... ¹ α ¹ β . Очевидно, что наборы, стоящие в этой цепочке рядом, будут со∼1 ∼1 седними. Так как f (α ) > f (β ), то по крайней мере на одной из ∼ ∼
∼
этих пар соседних наборов — обозначим их через α и β(α ¹ β) ∼
∼
— будет f (α) > f (β). Предположим, что данные наборы имеют соседство по i-ой координате и, следовательно, ∼
∼
α = (α1 , ..., αi−1 , 0, αi+1 , ..., αn ), ∼
β = (α1 , ..., αi−1 , 1, αi+1 , ..., αn ). Рассмотрим функцию ϕ(x) = f (α1 , ..., αi−1 , x, αi+1 , ..., αn ). Мы имеем ∼
∼
ϕ(0) = f (α1 , ..., αi−1 , 0, αi+1 , ..., αn ) = f (α) > f (β) = = f (α1 , ..., αi−1 , 1, αi+1 , ..., αn ) = ϕ(1).
106
Последнее означает, что ϕ(0) = 1, а ϕ(1) = 0, т.е. ϕ(x) = x. Лемма доказана. 5. Последним классом является класс L всех линейных функций. Он, очевидно, содержит константы 0, 1, тождественную функцию x, функции x, x1 + x2 и не содержит функции x1 &x2 и x1 ∨ x2 . Ранее было показано, что этот класс также замкнут. Лемма 9. (о нелинейной функции). Если f (x1 , ..., xn ) ∈ / L, то из нее путем подстановки констант 0 и 1 и функции x и x, а также, может быть, путем навешивания отрицания над f , можно получить функцию x1 &x2 . Д о к а з а т е л ь с т в о. Возьмем полином Жегалкина для f : f (x1 , ..., xn ) =
X
ai1 ...is xi1 · · · xis .
(i1 ,...,is )
В силу нелинейности полинома в нем найдется член, содержащий не менее двух множителей. Без ограничения общности можно считать, что среди этих множителей присутствуют x1 и x2 . Тогда можно преобразовать полином следующим образом: P
(i1 ,...,iis )
ai1 ...is xi1 · · · xis = x1 x2 f1 (x3 , ..., xn )+
+x1 f2 (x3 , ..., xn ) + x2 f3 (x3 , ..., xn ) + f4 (x3 , ..., xn ), где, в силу единственности полинома, f1 (x3 , ..., xn ) 6≡ 0. Пусть α3 , ..., αn таковы, что f1 (α3 , ..., αn ) = 1. Тогда ϕ(x1 , x2 ) = f (x1 , x2 , α3 , ..., αn ) = x1 x2 + αx1 + βx2 + γ, где α, β, γ — константы, равные 0 или 1. Рассмотрим функцию ψ(x1 , x2 ), получаемую из ϕ(x1 , x2 ) следующим образом: ψ(x1 , x2 ) = ϕ(x1 + β, x2 + α) + αβ + γ. Очевидно, что ϕ(x1 + β, x2 + α) + αβ + γ = (x1 + β)(x2 + α)+ +α(x1 + β) + β(x2 + α) + γ + αβ + γ = x1 x2 . Следовательно, ψ(x1 , x2 ) = x1 &x2 . Лемма доказана. 107
Теорема 38. (о функциональной полноте). Для того, чтобы система функций P из P2 была полной необходимо и достаточно, чтобы она целиком не содержалась ни в одном из пяти замкнутых классов T0 , T1 , S, M и L. Д о к а з а т е л ь с т в о. Н е о б х о д и м о с т ь. Пусть система P полна, т.е. [P] = P2 . Допустим, что P содержится в одном из указанных классов — обозначим его через N, т.е. P ⊆ N. Тогда в силу свойств замыкания и замкнутости N имеем P2 = [P] ⊆ [N] = N. Значит N = P2 , что не так. Необходимость доказана. Д о с т а т о ч н о с т ь. Пусть P целиком не содержится ни в одном из пяти указанных классов. Тогда из P можно выделить подсистему P′ , содержащую не более пяти функций, которая также обладает этим свойством. Для этого возмем в P функции fi , fj , fk , fm , fl , которые не принадлежат соответственно классам T0 , T1 , S, M и L, и положим P′ = {fi , fj , fk , fl , fm }. Можно считать, что все эти функции зависят от одних и тех же переменных x1 , ..., xn . Доказательство достаточности будет проводится в три этапа. I. Построение при помощи функций fi , fj , и fk констант 0 и 1. Рассмотрим функцию fi ∈ / T0 . Возможны два случая: 1. fi (1, ..., 1) = 1. Тогда ϕ(x) = fi (x, ..., x) есть константа 1, ибо ϕ(0) = fi (0, ..., 0) = 1, ϕ(1) = fi (1, ..., 1) = 1. Вторая константа получается из fj : fj (1, ..., 1) = 0. 2. fi (1, ..., 1) = 0. Тогда ϕ(x) = fi (x, ..., x) есть x, ибо ϕ(0) = fi (0, ..., 0) = 1, ϕ(1) = fi (1, ..., 1) = 0. Возьмем fk (fk ∈ / S). Так как мы имеем x, то в силу леммы 7 из fk мы можем получить константу. Поскольку мы располагаем x, то находим и вторую константу. Итак, в обоих случаях мы получаем константы 0 и 1. II. Построение при помощи констант 0, 1 и функции fm функции x. Это осуществляется на основе леммы 8. III. Построение при помощи констант 0, 1 и функции x и fl функции x1 &x2 . Это осуществляется на основе леммы 9. 108
Таким образом, мы при помощи формул над P′ (а значит и над P) реализовали функции x и x1 &x2 . Этим достаточность доказана. С л е д с т в и е 1. Всякий замкнутый класс M функций из P2 такой, что M 6= P2 , содержится по крайней мере в одном из построенных классов. П р и м е р 30. Покажем, что система функций f1 = x1 x2 , f2 = 0, f3 = 1, f4 = x1 + x2 + x3 ( mod 2) является полной. Мы имеем: f3 ∈ / T0 , f2 ∈ / T1 , f2 ∈ / S, f4 ∈ / M, f1 ∈ / L. С другой стороны, удаление любой из функций приводит к неполной системе: {f2 , f3 , f4 } ⊂ L, {f1 , f3 , f4 } ⊂ T1 , {f1 , f2 , f4 } ⊂ T0 , {f1 , f2 , f3 } ⊂ M. С л е д с в и е 2. Из всякой полной в P2 системы P функций можно выделить полную подсистему, содержащую не более четырех функций. Д о к а з а т е л ь с т в о. Мы видели, что из P можно выделить полную подсистему P′ , содержащую не более пяти функций. Оказывается, что функция fi ∈ / T0 , кроме того, либо не самодвойственна (случай 1)), так как fi (0, ..., 0) = f (1, ..., 1), либо не монотонна (случай 2)): fi (0, ..., 0) > fi (1, ..., 1). Поэтому полной будет либо система {fi , fj , fm , fl }, либо система {fi , fj , fk , fl }.
109
7 ПОЛЯ ГАЛУА
7.1. Идеалы. Классы вычетов О п р е д е л е н и е 64. Группой G называется совокупность элементов, над которой определена одна операция (сложения или умножения), такая, что 1. Для любых a, b ∈ G , a · b и b · a ∈ G – замкнутость. 2. a · (b · c) = (a · b) · c — ассоциативность. 3. Существует элемент e ∈ G, такой, что для любых a ∈ G, e · a = a · e = a. 4. Для любых a ∈ G существует b ∈ G, такой, что a · b = b · a = e. Элемент b называется обратным, т.е. b = a−1 . Группа называется абелевой, если групповая операци коммутативна, т.е. a · b = b · a. Подгруппой группы G называется подмножество G′ ∈ G, обладающее свойствами группы. О п р е д е л е н и е 65. Кольцом R называется множество элементов, над которыми определены две операции сложение и умножение, такие, что 1. Множество R является абелевой группой относительно операции сложения, т.е. аддитивной абелевой группой. 2. Для любых a, b ∈ R произведение a · b ∈ R — замкнутость. 3. Для любых a, b, c ∈ R выполняется равенство a · (b · c) = (a · b) · c — ассоциативность. 4. Для любых a, b, c ∈ R справедливы равенства a · (b + c) = a · b + a · c и (b + c) · a = b · a + c · a — дистрибутивность. Кольцо называется коммутативным, если коммутативна операция умножения, т.е. если для любых a, b ∈ R выполняется равенство a · b = b · a. Все действительные числа образуют колльцо относительно обычных операций сложени и умножения. Все положительные и отрицательные целые числа и нуль также образуют кольцо отно110
сительно обычных операций сложения и умножения. Оба эти кольца коммутативны. Совокупность всех квадратных матриц порядка n с целыми и действительными элементами является кольцом относительно матричного сложения и умножения. Совокупность всех многочленов с целыми коэффициентами и одним неизвестным является коммутативным кольцом. Множество, состоящее только из одного нулевого элемента, является кольцом, операции в котором определяются правилами 0 + 0 = 0, 0 · 0 = 0. О п р е д е л е н и е 66. Полем называется коммутативное кольцо с единичным элементом относительно умножения, в котором каждый ненулевой элемент имеет мультипликативный обратный элемент. Совокупность всех действительных чисел является полем, так же как и совокупность всех рациональных чисел и совокупность всех комплексных чисел. О п р е д е л е н и е 67. Идеалом I называется подмножество элементов кольца R, обладающее следующими двумя свойствами: 1) I является подгруппой аддитивной группы кольца R, 2) для любого элемента a ∈ I и любого элемента r ∈ R произведения a · r и r · a принадлежат I. Так как I — подгруппа, то если r — произвольный элемент из R, тогда совокупность r + I всевозможных сумм вида r + i; i ∈ I называется левым смежным классом, или в нашем случае классом вычетов. Учитывая, что если r ∈ I, то r + I = I, получаем разложение аддитивной группы кольца R по подгруппе I, когда r пробегает все R. Введем обозначение r + I = {r} — класс вычетов. В силу коммутативности групповой операции сложения, сложение классов вычетов обладают свойством: {r} + {s} = {r + s}. Действительно, {r} = I + r, {s} = I + s, а так как сложение коммутативно, то I + r + I + s = I + r + s = {r + s}. Здесь {r} обозначает класс вычетов, содержащий r. Таким образом, на множестве классов вычетов определена операция сложения и относительно этой операции множество классов вычетов образует аддитивную фактор-группу. Пусть r и r′ принадлежат одному классу вычетов, а s и s′ другому, тогда K называется произведением классов вычетов {r} и 111
{s}, если rs и r′ s′ принадлежат K. Действительно, если r и r′ , s и s′ принадлежат соответственно своим классам, то rs и r′ s′ принадлежат одному и тому же классу тогда и только тогда, когда rs − r′ s′ принадлежат идеалу, но rs − r′ s′ = rs − rs′ + rs′ − r′ s′ = r(s − s′ ) + (r − r′ )s′ так как s − s′ и r − r′ принадлежат идеалу, то и оба слагаемых принадлежат идеалу, т.е. и rs − r′ s′ принадлежат идеалу. Имеет место дистрибутивность {a}({b} + {c}) = {a}{b + c} = {a(b + c)} = {ab} + {ac} = ={a}{b} + {a}{c}. Аналогично проверяется ассоциативность. Таким образом, классы вычетов по идеалу I образуют кольцо — кольцо классов вычетов. Пусть R — кольцо целых чисел. Тогда Теорема 39. Подмножество из R образует идеал тогда и только тогда, когда оно состоит из чисел кратных некоторому целому числу. Д о к а з а т е л ь с т в о. Действительно, пусть r наименьшее целое положительное число в идеале, а s — любое другое целое число идеала. Если d — наибольший общий делитель r и s, то d = ar + bs и d принадлежит идеалу, так как ar и bs принадлежат идеалу. Так как r — наименьшее целое положительное число идеала, то r ≤ d, а так как r делится на d, то r = d. Следовательно, любое целое число из идеала делится на r. И наоборот, любое число кратное r, принадлежит идеалу по определению идеала. Идеал, состоящий из всех чисел, кратных положительному целому числу m, обозначается через (m). Кольцо классов вычетов, образованное классами вычетов по идеалу (m), называется кольцом целых чисел по модулю m. Теорема 40. Кольцо классов вычетов по модулю m образует поле тогда и только тогда, когда m — простое число. Д о к а з а т е л ь с т в о. Если m — не простое число, то m = rs для некоторых целых чисел r и s, которые не кратны m. 112
Поэтому {r}{s} = {m} = 0, и если класс вычетов {r} обладает обратным {r−1 }, то {r−1 }{r}{s} = {s} = {r−1 }0 = 0, что противоречит предположению. Поэтому класс вычетов {r} не может иметь обратного, и кольцо классов вычетов не является полем. Остается доказать, что если m — простое число, то для каждого класса вычетов, кроме 0 (идеала), существует обратный. Каждый такой класс вычетов содержит целое число s, которое меньше чем m и не равно 0. Поскольку 1 совпадает с обратным к ней элементом, можно предполагать, что s > 1. Так как m по предположению — простое число, то наибольший общий делитель s и m должен быть равен либо m, либо 1. Поэтому наибольший общий делитель m и s равен 1. Таким образом 1 = am + bs, и отсюда следует, что {b}{s} = 1, т.е. класс вычетов {b}, является обратным к классу вычетов {s}. Что и требовалось доказать. Построенные таким образом поля называются простыми полями или полями Галуа из p элементов GF (p).
7.2. Идеалы и классы вычетов многочленов Рассмотрим теперь многочлены f (X) одного переменного X с коэффициентами из некоторого поля F : f (X) = f0 + f1 X + f2 X 2 + ... + fn X n . Степенью многочлена называется наибольшая степень X в слагаемом с ненулевым коэффициентом. Степень нулевого многочлена равна 0. Многочлен называется нормированным, если коэффициент при наибольшей степени X равен 1. Многочлены можно складывать и умножать обычным путем; они образуют кольцо. Если r(X), s(X), t(X) — многочлены и r(X)s(X) = t(X), то говорят, что многочлен t(X) делится на многочлен r(X) или что r(X) является делителем многочлена t(X) или что многочлен r(X) является множителем для t(X). Многочлен p(X) степени n, который не делится ни на какой многочлен, степени меньшей чем n, но большей чем 0, называется неприводимым. Наибольшим общим делителем двух многночленов называется нормированный многочлен наибольшей степени, который является делителем для обоих 113
многочленов. Говорят, что два многочлена взимно просты, если их наибольший общий делитель равен 1. Степень произведения двух многочленов равна сумме их степеней. Ненулевой многочлен степени 0 является элементом поля коэффициентов и поэтому имеет обратный элемент. Но многочленов более высоких степеней, которые имели бы обратный элемент, не существует. Если s(X) делится на r(X) и r(X) делится на s(X), то они отличаются самое большее множителем, который является элементом поля. Это утверждение можно проверить следующим образом. Пусть для неоторых многочленов a(X) и b(X) справедливы равенства r(X) = s(X)a(X) и s(X) = r(X)b(X). Тогда, так как степень r(X) равна сумме степеней s(X) и a(X), степень r(X) больше или равна степени s(X). Аналогично, степень s(X) больше или равна степени r(X), и, таким образом, степени s(X) и r(X) должны быть равны. Следовательно, многочлены a(X) и b(X) имеют степень 0 и должны быть элементами поля. Для любой пары многочленов s(X) и d(X) существует, согласно алгоритму деления Евклида, единственная пара многочленов q(X) — частное и r(X) — остаток, таких, что s(X) = d(X)q(X) + r(X) и степень r(X) меньше степени d(X). Используя алгоритм деления Евклида, можно установить, что наибольший общий делитель d(X) двух многочленов r(X) и s(X) всегда может быть представлен в виде d(X) = a(X)r(X) + b(X)s(X), где a(X) и b(X) — многочлены. Теорема 41. Совокупность многочленов образует идеал тогда и только тогда, когда она содержит все многочлены, кратные некоторому многочлену. Кольцо классов вычетов, образованное по идеалу, состоящему из всех многочленов, кратных f (X), называется кольцом многочленов по модулю f (X). О п р е д е л е н и е 68. Множество A называется ассоциативной линейной алгеброй над полем F , если выполняются следующие аксиомы: 1. Множество A является векторным пространством над F. 114
2. Для любых двух элементов u и v из A произведение uv принадлежит A ( замкнутость ). 3. Для любых u, v, w ∈ A имеет место равенство (uv)w = u(vw) (ассоциативный закон). 4. Если c, d ∈ F , а u, v, w ∈ A, то u(cv + dw) = cuv + duw и (cv + dw)u = cvu + dwu (билинейный закон). Теорема 42. Классы вычетов многочленов по модулю многочлена f (X) степени n образуют коммутативную линейную алгебру размерности n над полем коэффициентов. Д о к а з а т е л ь с т в о. Умножение на скаляр определяется равенством a{r(X)} = {ar(X)}; легко проверить, что при этом выполняются все аксиомы векторного пространства и алгебры. Например, справедливость дистрибутивного закона проверяется следующим образом: {r(X)}({s(X)} + {t(X)} = {r(X)(s(X) + t(X))} = ={r(X)s(X) + r(X)t(X)} = {r(X)}{s(X)} + {r(X)}{t(X)}. То, что векторное пространство имеет размерность n, можно увидеть из того, что n классов вычетов {1}, {X}, {X 2 }, ..., {X n−1 } порождают все пространство, поскольку каждый класс вычетов содержит многочлен степени, меньшей чем n, и {a0 + a1 X + ... + an−1 X n−1 } = a0 {1} + a1 {X} + ... + an−1 {X n−1 } Кроме того, эти n классов вычетов линейно независимы, потому что в правой части последнего соотношения стоит произвольная линейная комбинация классов вычетов {1}, {X}, {X 2 }, ..., {X n−1 }, а левая часть равна нулю, только если многочлен a0 + a1 X + ... + an−1 X n−1 делится на f (X), что невозможно, или если все коэффициенты ai равны 0. Что и требовалось доказать. Обозначим {X} = S. Теорема 43. В алгебре многочленов по модулю многочлена f (X) степени n многочлен f (S) = 0, но не существует равного нулю многочлена от S степени, меньшей чем n. Д о к а з а т е л ь с т в о. f (S) = f0 + f1 S + ... + fn S n = = f0 + f1 {X} + ... + fn {X n } = = {f0 + f1 X + ... + fn X n } = {f (X)} = 0. 115
Аналогично, если g(X) — любой многочлен степени, меньшей чем n, то g(S) = {g(X)}, и этот класс вычетов не есть идеал. Из этой теоремы следует, что различные многочлены от S, степени, меньше чем n, являются различными классами вычетов, так как в противном случае их разность была бы многочленом от S степени, меньшей чем n, который был бы равен 0. Теорема 44. Пусть J — идеал в алгебре многочленов по модулю f (X), а g(X) — отличный от нуля многочлен наименьшей степени, такой, что класс вычетов {g(X)} принадлежит J. При этом класс вычетов {s(X)} принадлежит J тогда и только тогда, когда многочлен s(X) делится на g(X). Более того, многочлен g(X) является делителем f (X). Д о к а з а т е л ь с т в о. В соответствие с алгоритмом деления Евклида s(X) = g(X)q(X) + r(X), где степень r(X) меньше степени g(X). Следовательно, {s(X)} = {g(X)}{q(X)} + {r(X)}, и если классы вычетов {s(X)} и {g(X)} принадлежат J, то класс вычетов {s(X)} − {g(X)}{q(X)} = {r(X)} также принадлежит J. Так как степень r(X) меньше степени g(X) и по предположению g(X) — ненулевой многочлен наименьшей степени, такой, что класс вычетов {g(X)} принадлежит J, то многочлен r(X) должен быть равен 0. Следовательно, многочлен s(X) кратен мнонгочлену g(X). Обратно, если многочлен s(X) кратен многочлену g(X), то s(X) = g(X)q(X) и {s(X)} = {g(X)}{q(X)}, так что если класс вычетов {g(X)} принадлежит J, то класс вычетов {s(X)} также должен принадлежать J. В соответствии с алгоритмом деления Евклида f (X) = g(X)q(X) + r(X), где степень многочлена r(X) меньше степени g(X). Поэтому {0} = {f (X)} = {g(X)}{q(X)} + {r(X)}, и, значит, класс вычетов {r(X)} принадлежит J. Поскольку степень r(X) меньше степени g(X), то многочлен r(X) должен быть нулевым, и, следовательно, многочлен f (X) кратен g(X). Что и требовалось доказать. 116
Теорема 45. Для любого идеала J в алгебре многочленов по модулю f (X) существует единственный нормированный многочлен g(X) минимальной степени, такой, что класс вычетов {g(X)} принадлежит идеалу J. И наоборот, каждый нормированный многочлен g(X), являющийся делителем f (X), порождает некоторый идеал J, в котором g(X) является нормированным многочленом наименьшей степени. Д о к а з а т е л ь с т в о. Должен существовать многочлен наименьшей степени h(X) = h0 + h1 X + ... + hk X k , такой, что класс вычетов {h(X)} принадлежит J. Тогда многочлен h−1 k h(X) оказывается нормированным многочленом наименьшей степени, класс вычетов которого также принадлежит J, и, следовательно, в J существует по крайней мере один нормированный многочлен минимальной степени. Предположим, что существуют два таких многочлена g(X) и g ′ (X). Тогда по предыдущей теореме многочлен g ′ (X) делится на g(X) и многочлен g(X) делится на g ′ (X), и, таким образом, они отличаются самое большее на множитель, являющийся элементом поля. Поскольку по предположению оба многочлена являются нормированными, этим элементом поля должна быть 1 и g(X) = g ′ (X). Следовательно, существует единственный нормированный многочлен минимальной степени g(X), класс вычетов которого {g(X)} принадлежит J. Предположим теперь, что g(X) — нормированный многочлен, являющийся делителем f (X), и рассмотрим идеал J, порожденный классом вычетов g(X), т.е. идеал, содержащий все классы вычетов, кратные {g(X)}. Пусть класс вычетов {r(X)} принадлежит J. Тогда {r(X)} = {g(X)}{a(X)} = {g(X)a(X)} для некоторого многочлена a(X), и поэтому r(X) = g(X)a(X) + f (X)b(X) для некоторого многочлена b(X). Так как многочлен f (X) кратен g(X), то r(X) также кратен g(X), и поэтому, если многочлен r(X) отличен от нуля, он имеет степень, по крайней мере не меньшую, чем степень g(X). Таким образом, g(X) — нормированный многочлен минимальной степени, класс вычетов которого принадлежит J. Что и требовалось доказать. Теорема 46. Пусть f (X) = g(X)h(X), где f (X) — многочлен степени n, а h(X) — многочлен степени k. Тогда идеал, 117
порожденный классом вычетов {g(X)} в алгебре многочленов по модулю f (X), имеет размерность k. Д о к а з а т е л ь с т в о. В идеале, который является некоторым подпространством, векторы {g(X)}, {Xg(X)}, ..., {X k−1 g(X)} линейно независимы, ибо любая линейная комбинация этих векторов имеет вид {(a0 + ... + ak−1 X k−1 )g(X)} и отлична от нуля, так как каждый класс вычетов содержит некоторый многочлен степени, меньшей чем n. Более того, если {s(X)} принадлежит идеалу, многочлен s(X) делится на g(X), а если s(X) — многочлен наименьшей степени в своем классе вычетов, то его степень меньше n. Таким образом, s(X) = g(X)q(X) = g(X)(q0 + q1 X + ... + qk−1 X k−1 ) и {s(X)} = q0 {g(X)} + q1 {Xg(X)} + ... + qk−1 {X k−1 g(X)}, так что k векторов {g(X)}, {Xg(X)}, ..., {X k−1 g(X)} порождают идеал. Следовательно, размерность идеала равна k. Что и требовалось доказать. Будем говорить, что многочлен r(S) принадлежит нулевому подпространству идеала J, если r(S)s(S) = 0 для любого многочлена s(S) из J. Теорема 47. Пусть f (X), g(X), h(X) — нормированные многочлены, и пусть f (X) = g(X)h(X). Тогда класс вычетов {a(X)} принадлежит нулевому подпространству идеала, порожденного многочленом h(X), тогда и только тогда, когда он принадлежит идеалу, порожденному многочленом g(X). Д о к а з а т е л ь с т в о. Если {a(X)} принадлежит идеалу, порожденному многочленом g(X), а {b(X)} — любой класс вычетов из идеала, порожденного h(X), то многочлен a(X) кратен g(X) и многочлен b(X) кратен h(X), а произведение a(X)b(X) кратно f (X). Следовательно, {a(X)}{b(X)} = {a(X)b(X)} = 0, и, таким образом, класс вычетов {a(X)} принадлежит нулевому подпространству идеала, порожденного многочленом h(X). Обратно, если {a(X)}{h(X)} = 0, то произведение a(X)h(X) должно быть кратно f (X). Это значит, что многочлен a(X) должен делиться на g(X), и, следовательно, класс вычетов {a(X)} принадлежит идеалу, порожденному g(X). Что и требовалось доказать. 118
7.3. Поля Галуа Теорема 48. Пусть p(X) — многочлен с коэффициентами из поля F . Алгебра многочленов над полем F по модулю p(X) является полем тогда и только тогда, когда многочлен p(X) неприводим в поле F , т.е. если p(X) нельзя представить в виде произведения многочленов с коэффициентами из F . Доказательство аналогично доказательству теоремы для случая целых чисел. Рассмотрим кольцо многочленов с действительными коэффициентами по модулю неприводимого многочлена X 2 + 1 = p(X). Обозначим через {X} = i класс вычетов, содержащий X. Тогда каждый элемент получившегося поля можно представить в виде многочлена от i степени, меньшей чем 2, т.е. в виде a + bi. Так как i удовлетворяет уравнению p(X) = 0, то i2 + 1 = 0, или i2 = −1. Это один из способов описания поля комплексных чисел. Поле, образованное многочленами над полем F по модулю неприводимого многочлена p(X) степени k, называется расширением поля степени k над F . Поле F называется основным полем. Поле многочленов над F = GF (p) по модулю неприводимого многочлена степени m называется полем Галуа, состоящим из pm элементов и обозначается как GF (pm ). Поля Галуа, которые могут быть образованы классами вычетов мнонгочленов по модулю неприводимого многочлена над полем GF (p), называются полями характеристики p. Таким образом, при любом выборе m поле GF (pm ) — это поле характеристики p. В поле GF (p) элемент p = 0. Поскольку GF (p) — поле коэффициентов для GF (pm ), то во всех полях характеристики p элемент p = 0. Тогда (a + b)p = ap + Cp1 ap−1 b + Cp2 ap−2 b2 + ... + bp , и так как все биномиальные коэффициенты Cpi , 0 < i < p содержат p в качестве множителя и поэтому равны 0, то доказана следующая теорема: Теорема 49. В поле характеристики p имеет место равенство (a + b)p = ap + bp . Рассмотрим теперь основное поле F и некоторое его расширение; пусть β — любой элемент расширения. Нормированный многочлен m(X) наименьшей степени с коэффициентами из основного
119
поля F , такой, что m(β) = 0, называется минимальным многочленом или минимальной функцией для β. Теорема 50. Минимальная функция m(X) для любого элемента β является неприводимым многочленом. Д о к а з а т е л ь с т в о. Предположим, что, наоборот, m(X) = m1 (X)m2 (X). Тогда m(β) = m1 (β)m2 (β) и по крайней мере один из сомножителей m1 (β) или m2 (β) должен быть равен 0. Если эти сомножители нетривиальны, то это противоречит предположению о том, что m(X) — многочлен минимальной степени с корнем β. Что и требовалось доказать. Теорема 51. Если f (X) — многочлен с коэффициентами из основного поля F и если f (β) = 0, то многочлен f (X) делится на m(X) — минимальную функцию для β. Д о к а з а т е л ь с т в о. В соответствии с алгоритмом Евклида f (X) = m(X)q(X) + r(X), где r(X) — многочлен степени, меньшей степени m(X). Поскольку f (β) = 0 и m(β) = 0, то r(β) = 0. Так как m(X) — минимальная функция для β, а степень многочлена r(X) меньше степени m(X), то r(β) = 0, если только r(X) = 0. Что и требовалось доказать. Из приведенной теоремы следует, что минимальная функция для β единственна. Из нее следует также, что если p(X) — нормированный неприводимый многочлен и p(β) = 0, то p(X) — минимальная функция для β. Теорема 52. Для каждого элемента из расширения поля степени k над F существует минимальная функция для этого элемента степени k или меньше. Д о к а з а т е л ь с т в о. Расширение поля является векторным пространством размерности k. Поэтому для любого элемента β совокупность из k + 1 элементов 1, β, β 2 , ..., β k неможет быть линейно независимой. Следовательно, должен существовать некоторый многочлен степени k или меньше от β, который равен 0, и этот многочлен можно нормировать, разделив его на коэффициент при высшей степени переменного. Что и требовалось доказать. 7.4. Мультипликативная группа поля Галуа В любой конечной группе можно рассмотреть совокупность элементов, образованную некоторым элементом g и всеми его степенями gg = g 2 , gg 2 = g 3 и т. д. Может существовать самое большое 120
конечное число таких элементов, и поэтому для некоторых i и j должно быть g j = g i . Умножая это равенство на (g i )−1 , получим 1 = g j−i . Следовательно, некоторая степень элемента g равна 1. Пусть e — наименьшее целое положительное число, такое, что g e = 1. Число e называется порядком элемента g. Совокупность элементов 1, g, g 2 , ..., g e−1 образует подгруппу, поскольку произведение любых двух элементов совокупности есть снова элемент этого же вида, а элемент, обратный g j , равен g e−j и, следовательно, тоже является одним из элементов этой совокупности. Группа, которая состоит из всех степеней одного из ее элементов, называется циклической группой. Порядок e любого элемента g группы является делителем порядка группы, так как группа содержит циклическую подгруппу из e элементов, порожденную g, и некоторое число смежных классов по этой подгруппе, каждый из которых состоит тоже из e элементов. Теорема 53. Совокупность корней многочлена X q−1 −1 является совокупностью всех q − 1 ненулевых элементов поля GF (q). Д о к а з а т е л ь с т в о. Совкупность q − 1 ненулевых элементов поля GF (q) образует группу. Порядок каждого элемента поля GF (q) должен быть делителем q − 1, и, следовательно, каждый из q − 1 элементов является корнем многочлена X q−1 − 1. Но этот многочлен имеет самое большее q − 1 различных корней, так как его степень равна q − 1. Что и требовалось доказать. Теорема 54. Многочлен X n − 1 делится на многочлен X m − 1 тогда и только тогда, когда n делится на m. Д о к а з т е л ь с т в о. Предположим, что n = md. Тогда Y d − 1 делится на Y − 1, поскольку Y = 1 — корень многочлена Y d − 1. Подставляя X m = Y , получаем, что X md − 1 делится на X m − 1. Теперь допустим, что n = md + r, где r < d. Тогда X n − 1 = X r (X md − 1) + X r − 1, и в соответствии с алгоритмом деления Евклида X n − 1 = q(X)(X d − 1) + r(X). Сравнивая эти равенства, находим q(X) =
X r (X md − 1) и r(X) = X r − 1, Xd − 1
так как q(X) — многочлен, а степень r(X) меньше d. Таким образом, остаток равен 0 только тогда, когда r = 0, т.е. когда n 121
делится на m. Что и требовалось доказать. Теорема 55. В поле GF (q) существует примитивный элемент α, т.е. элемент порядка q − 1. Каждый ненулевой элемент поля GF (q) может быть представлен как некоторая степень α, т.е. мультипликативная группа поля Галуа GF (q) является циклической. Д о к а з а т е л ь с т в о. Пусть q −1 = pe11 pe22 · · · perr , и пусть βi — элемент поля порядка pei i , i = 1, 2, ..., r. Поскольку pe11 и pe22 взаимно просты, то существуют такие s и t, что spe11 + tpe22 = 1. Поэтому e1 e1 e2 e2 (β1 β2 )sp1 = (β2 )sp1 = (β2 )1−tp2 = β2 ; аналогично (β1 β2 )tp2 = β1 . Таким образом β1 и β2 являются степенями β1 β2 , откуда следует, что порядок элемента поля β1 β2 является делителем pe11 pe22 . Но e1 e2 если (β1 β2 )p1 p2 /a = 1 при некотором a > 1, то либо порядок β1 меньше чем pe11 , либо порядок β2 меньше чем pe22 , что противоречит нашим предположениям. Следовательно, порядок β1 β2 равен pe11 pe22 . Индукцией по i отсюда выводим, что порядок элемента α = β1 β2 ...βr равен pe11 pe22 ...perr = q − 1. Таким образом, элементы α, α2 , ..., αq−1 = 1 являются различными элементами поля, и мультипликативная группа поля GF (q) циклическая. Что и требовалось доказать. Поле Галуа GF (24 ) из 24 элементов можт быть образовано как поле многочленов над GF (2) по модулю X 4 + X + 1. Пусть α обозначает класс вычетов, который содержит X. Тогда α является корнем многочлена X 4 + X + 1 и примитивным элементом поля. Для этого случая 15 ненулевых элементов поля имют следующий вид:
122
Таблица 5.1. Представление поля GF (24 ) 0
α α1 α2 α3 α4 α5 α6 α7 α8 α9 α10 α11 α12 α13 α14 α15
= = = = = = = = = = = = = = = =
1 α α2 3
α α3 α3
α2 + α2
α + α + α
2
α α3 2
α3 α3 α3 α3
α + α2 + α2 + α2
+ + + +
α α α α
+
1
+ 1 + 1 +
1
+ 1 + 1 + 1 1
= = = = = = = = = = = = = = = =
(0001) (0010) (0100) (1000) (0011) (0110) (1100) (1011) (0101) (1010) (0111) (1110) (1111) (1101) (1001) α0
Следующие теоремы содержат более детальные сведения о взаимосвязи между мультипликативными свойствами элементов поля, минимальными многочленами от элементов поля и многочленом X q − X. Теорема 56. Если f (X) — многочлен с коэффициентами из поля GF (q) и β — корень f (X) в расширении GF (q), то β q также является корнем f (X). Д о к а з а т е л ь с т в о. Пусть f (X) = a0 + a1 X + ..., an X n . Тогда [f (X)]q = (a0 )q + (a1 X)q + ... + (an X n )q = aq0 + aq1 X q + ... + aqn (X q )n . Далеее, aq−2 = 1, и поэтому aq = a для любого элемента a ∈ GF (q). Следовательно, [f (X)]q = a0 + a1 X q + ... + an (X q )n = f (X q )n = f (X q ), и если f (β) = 0, то [f (β)]q = f (β q ) = 0. Что и требовалось доказать. Теорема 57. Рассмотрим расширение поля GF (q), которое m содержит все корни многочлена X q − X. Тогда совокупность этих корней образует подполе. Д о к а з а т е л ь с т в о. Если a и b — корни многочлена, то m m a + b — также корень многочлена X q − X, так как (a + b)q = m m m m aq + bq = a + b. Кроме того, (−a)q = −(aq ) = −a, и, таким 123
образом, −a — также корень этого многочлена, если a является его корнем. (Заметим, что −a = a, если характеристика поля равна 2). Поэтому корни многочлена образуют аддитивную группу. Если a и b — корни многочлена, то произведение ab и обратный элемент a−1 (если a 6= 0) также являются его корнями. Остальные аксиомы справедливы, поскольку корни принадлежат полю. Ч. т. д. Теорема 58. Каждый многочлен p(X) степени m, неприводиm мый над полем GF (q), является делителем многочлена X q − X. Д о к а з а т е л ь с т в о. Если p(X) = X, то теорема, очевидно, верна. Пусть теперь p(X) 6= X и α 6= 0 — корень многочлена p(X) в расширении поля многочленов по модулю p(X) над полем GF (q). Это поле является полем из q m элементов, и совокупность всех его ненулевых элементов образует группу порядка q m − 1. Поэтому порядок α должен быть делителем q m − 1 и α должен быть корнем m многочлена X q −1 − 1. Тогда многочлен p(X) является делителем m многочлена X q − X. Ч. т. д. m Теорема 59. Каждый делитель многочлена X q − X, неприводимый над полем GF (q), имеет степень, равную m или меньшую m. Д о к а з а т е л ь с т в о. Предположим, что многочлен p(X) степени k представляет собой неприводимый делитель мноm гочлена X q − X над полем GF (q), и рассмотрим расширение поля многочленов над GF (q) по модулю p(X). Оно состоит из q k элементов, каждый из которых может быть представлен в виде a0 + a1 α + ... + ak−1 αk−1 = β, где α — корень многочлена p(X), а a0 , ..., ak−1 — элементы поля GF (q). Тогда m
m
m
m
m
β q = aq0 + aq1 αq + ... + aqk−1 αq q m −1
m (k−1)
.
qm
Так как a = 1 и, следовательно, a = a для любого элемента a из поля GF (q m ), поскольку a0 , a1 , ..., ak−1 принадлежат GF (q) и, следовательно, принадлежат также расширению поля GF (q m ), то m
m
β q = a0 + a1 αq + ... + ak−1 αq m
m (k−1)
. m
m
Но α —корень многочлена X q − X, поэтому αq = α и αjq = αj для всех j. Таким образом, m
β q = a0 + a1 α + ... + ak−1 αk−1 = β, m
т.е. β — также корень многочлена X q − X. Так как число таких m элементов составляет q k , тогда как X q − X имеет не более чем q m корней, то q m ≥ q k и, следовательно, m ≥ k. Ч. т. д. 124
Теорема 60. Если β — элемент расширения поля GF (q), то порядок e элемента β является делителем числа q k − 1, но не является делителем никакого меньшего числа вида q n − 1; здесь k — степень минимальной функции для β. Д о к а з а т е л ь с т в о. Пусть m(X) — минимальная функция для β; предположим, что ее степень равна k. Тогда m(X) является k делителем многочлена X q −1 − 1, а β — корнем этого многочлена. Поэтому порядок β является делителем q k − 1. Предположим, что q n − 1 делится на порядок β при n ≤ k. Тогда β является корнем n многочлена X q − X, а m(X) — его делителем. Таким образом, степень многочлена m(X) не превосходит n. Ч. т. д. Теорема 61. Пусть p(X) — многочлен степени m с коэффициентами из поля GF (q), который неприводим в этом поле, и пусть β корень многночлена p(X) в расширении поля. Тогm−1 да β, β q , ..., β q образуют совокупность всех корней многочлена p(X). m−1 Д о к а з а т е л ь с т в о. Элементы β, β q , ..., β q являются корнями многочлена p(X). Покажем, что все они различны. Предi j положим, что это не так и β q = β q , и пусть j < i. Тогда m
i
m−i
j
m−i
β = β q = (β q )q = (β q )q m+j−i −1 1 = β (q ).
= β m+j−i ,
Таким образом, порядок β является делителем q m+j−i − 1. Но многочлен p(X) отличается от минимального многочлена для β самое большое на постоянный множитель, и m + j − i < m, где m степень p(X). Это противоречит утверждению предыдущей теореm−1 мы и, следовательно, элементы β, β q , ..., β q различны. Так как многочлен p(X) может иметь самое большее m корней, то этим исчерпываются все корни p(X). Ч. т. д. Теорема 62. Все корни неприводимого многочлена имеют один и тот же порядок. Д о к а з а т е л ь с т в о. Если β — один из корней многочлена, то любой из остальных корней, по предыдушей теореме, может j быть представлен в виде β q при некотором j. Пусть e — порядок j β, а e′ — порядок β q . Тогда j
j
j
j
(β q )e = β eq = (β e )q = 1q = 1,
125
и поэтому e делится на e′ . Аналогично ′
m
′
β e = (β q )e = β q
j q m−j e′
j
′
= [(β q )e ]q
m−j
= 1q
m−j
= 1,
так что e′ делится на e. Поскольку e и e′ — целые положительные числа, то e′ = e. Ч. т. д. Порядок корней неприводимого многочлена называется показателем, которому принадлежит этот многочлен. Если неприводимый многочлен принадлежит показателю e, то он является делителем многочлена X e − 1, но не является делителем многочлена вида X n − 1 при n < e. Неприводимый многочлен степени m над полем GF (q) называется примитивным, если его корнем является примитивный элемент поля GF (q m ). Тогда этот корень и, следовательно, все его корни имеют порядок q m − 1, и по предыдущей теореме все они — примитивные элементы. Неприводимый многочлен степени m является примитивным тогда и только тогда, когда он принадлежит показателю q m − 1. Наконец, неприводимый многочлен степени m является примитивным тогда и только тогда, когда он не является делителем многочлена X n − 1 ни при каких n, меньших чем q m − 1. Содержание предыдущих теорем проиллюстрируем на примере разложения на множители многочлена X 63 − 1 над полем GF (2). Все ненулевые элементы поля GF (64) могут быть представлены как степени некоторого примитивного элемента α. Этими элементами являются 1, α, α2 , α3 , ..., α62 и X 63 − 1 = (X − 1)(X − α)(X − α2 )...(X − α62 ). Далее, так как (α21 )3 = α63 = 1, то порядок элемента α21 равен 3. Тот же самый порядок имеет элемент α42 . Аналогично, (α9 )7 = α63 , так что порядок элемента α9 равен 7, и таков же порядок элементов α18 , α27 , α36 , α45 и α54 . Порядок элементов α7 , α14 , α28 , α35 , α49 , α56 равен 9. Заметим, что (α21 )9 = 1, но порядок элемента α21 равен 3, а не 9, поскольку порядок элемента β равен наименьшему e, такому, что β e = 1. Аналогично любая степень α, показатель которой делится на 3, но не делится на 7 или на 9, является элементом порядка 21. Таких элементов 12. Остальные 36 элементов должны иметь порядок 63. Определим теперь круговой многочлен ψi (X) = (X − β1 )(X − β2 )...(X − βr ), где β1 , β2 , ..., βr — набор всех элементов порядка i. Тогда ψ1 = X − 1, ψ3 = (X − α21 )(X − α42 ), ψ7 = (X − α9 )(X − α18 )(X − α27 )(X − α36 )(X − α45 )(X − α54 ) и т.д. Кроме 126
того, X 63 − 1 = ψ1 (X)ψ3 (X)ψ7 (X)ψ9 (X)ψ21 (X)ψ63 (X). Корнями многочлена X 21 − 1 являются все элементы β, для которых β 21 = 1, и поэтому этот многочлен содержит в качестве множителей ψi (X) для всех i, на которые делится 21. Таким образом, X 21 − 1 = ψ21 (X)ψ7 (X)ψ3 (X)ψ1 (X), и аналогично X 9 − 1 = ψ9 (X)ψ3 (X)ψ1 (X), X 7 − 1 = ψ7 (X)ψ1 (X), X 3 − 1 = ψ3 (X)ψ1 (X), X − 1 = ψ1 (X). Эти равенства могут быть переписаны в виде ψ1 (X) = X − 1 3 −1 ψ3 (X) = ψX1 (X) 7 −1 ψ7 (X) = ψX1 (X) X 9 −1 ψ9 (X) = ψ1 (X)ψ 3 (X) X 21 −1 ψ21 (X) = ψ1 (X)ψ3 (X)ψ7 (X) 63 −1 ψ63 (X) = ψ1 (X)ψ3 (X)ψX7 (X)ψ 9 (X)ψ21 (X)
(степень (степень (степень (степень (степень (степень
1), 2), 6), 6), 12), 36).
Степень ψi (X) совпадает с числом элементов порядка i, которое было уже вычислено. Кроме того, степень многочлена ψ1 , очевидно, равна 1. Степень ψ3 равна разности между степенью X 3 − 1 и степенью знаменателя ψ1 (X) и т. д. Элементы порядка 3 должны обладать минимальными многочленами над GF (2) степени 2, поскольку они являются элементами GF (22 ). Это значит, что многочлен ψ3 (X) неприводим над GF (22 ). Действительно, ненулевыми элементами GF (22 ) являются корни многочлена X 3 − 1, т.е. 1, α21 и α42 . Аналогично элементы порядка 7 принадлежат GF (23 ) и обладают минимальными многочленами степени 3, поэтому многочлен ψ7 (X) должен разлагаться на два неприводимых многочлена степени 3. Все остальные элементы 127
GF (26 ) не являются элементами какого-либо подполя, и, следовательно, все их минимальные многочлены являются многочленами степени 6. Кроме того, заметим, что поскольку все корни неприводимого многочлена имеют один и тот же порядок, то, если один из корней неприводимого многочлена p(X) имеет порядок i, все его корни имеют порядок i и являются, следовательно, корнями ψi (X). В этом случае многочлен ψi (X) делится на p(X). Таким образом, многочлен ψ9 (X) должен быть неприводим. Многочлен ψ21 (X) должен иметь два множителя степени 6, а многочлен ψ63 (X) должен иметь шесть множителей степени 6. Если β — корень неприводимого многочлена p(X), то его остальные корни равны β 2 , β 4 , β 8 , β 16 , β 32 . Обозначим через mi (X) минимальный многочлен для αi . Тогда m1 (X) = (X − α)(X − α2 )(X − α4 )(X − α8 )(X − α16 )(X − α32 ), m3 (X) = (X − α3 )(X − α6 )(X − α12 )(X − α24 )(X − α48 )(X − α33 ) Заметим, что (α48 )2 = α96 = α33 , поскольку α63 = 1. Кроме того, заметим, что (α32 )2 = α64 = α, поскольку α63 = 1, и, таким образом, процесс последовательного возведения в квадрат порождает только шесть различных корней многочлена m1 (X). Аналогично (α33 )2 = α66 = α3 . Далее, (α9 )2 = α18 , (α18 )2 = α36 , (α36 )2 = α72 = α9 , и, таким образом, последовательное возведение в квадрат дает только три различных корня многочлена m9 (X). Это согласуется с тем фактом, что степень многочлена m9 (X) должна быть равна 3, так как все элементы порядка 7 принадлежат GF (23 ). 7.5. Векторные пространства и линейные преобразования конечных полей Пусть f (X) — многочлен с коэффициентами из GF (2m ) следующего вида f (X) =
r X
i
ai X q .
(7.1)
i=0
Он задает линейное преобразование в себя поля GF (q m ), рассматриваемое как векторное пространство над GF (q). Так как преобразование является линейным, то и совокупность корней, и совокупность различных значений являются подпространствами пространства GF (q m ). 128
Здесь будут даны ответы на следующие вопросы: 1. Можно ли любое подпространство пространства GF (q m ) описать как совокупность корней многочлена f (X), полностью разлагающегося на множители в поле GF (q m )? 2. Можно ли любое подпространство пространства GF (q m ) описать как совокупность значений, которые получаются при подстановке всех элементов из GF (q m ) в некоторый многочлен f (X), полностью разлагающийся на множители в GF (q m )? Здесь L используется для обозначения отображения поля GF (q m ) в себя, которое переводит каждый элемент поля β в элемент β q : Lβ = β q . Теорема 64. Любое линейное преобразование пространства GF (q m ) в себя может быть однозначно представлено в виде f (L), где f (X) — многочлен степени, не превосходящей m − 1. Д о к а з а т е л ь с т в о. Поскольку число всевозможных преоб2 разований пространства GF (q m ) в себя равно q m и число различных многочленов f (X) степени, не превосходящей m −1, с коэффи2 циентами из GF (q m ) также равно q m , то достаточно показать, что f (L) 6= g(L), если f (X) 6= g(X). Это в свою очередь эквивалентно тому, что f (L) 6= 0, если f (X) 6= 0 и степень f (X) ≤ m − 1. Итак, пусть f (X) = a0 + a1 X + ... + as X s , где s ≤ m − 1, ai ∈ GF (q m ) и не все ai = 0. Если β ∈ GF (q m ), то s
f (L)(β) = a1 β + a0 β q + ... + as β q . Так как q s < q m и не все ai = 0, то должен найтись отличный от нуля элемент β ∈ GF (q m ), на котором многочлен a0 X + a1 X q + ... + as X q
s
не обращается в нуль. Для этого β преобразование f (L)(β) 6= 0, и, следовательно, f (L) 6= 0. Ч.т.д. Введем следующие обозначения. При f (X) =
s X
ai X i
i=o
Обозначим через f (X) многочлен f (X) =
s X i=0
129
i
ai X q .
Так как каждое пространство одновременно является областью значений для некоторого линейного отображения пространства GF (q m ) и нулевым пространством для этого же отображения, то справедливо следующее следствие из теоремы 64: Следствие. Любое подпространство пространства GF (q m ) может быть представлено в виде совокупности нулей и области значений некоторого многочлена вида f (X). Рассмотрим совокупность многочленов с коэффициентами из GF (q m ). Сложение многочленов определим, как обычно, а в качестве умножения рассмотрим операцию ∗, определенную правилами: X i ∗ X j = X i+j , X ∗a = aq ∗ X, если a ∈ GF (q m ).
(7.2)
Можно доказать, что относительно этих операций совокупность многочленов образует некоммутативное кольцо. Это кольцо не содержит делителей нуля, т.е. если f (X) ∗ g(X) 6= 0, то ни f (X), ни g(X) не равны нулю. Заметим, что при выбранном определении умножения линейные преобразования [f (X)∗g(X)]X=L и f (L)·g(L) тождественны. Теорема 65. Пусть f (X) и g(X) — многочлены с коэффициентами из GF (q m ), и пусть g(X) 6= 0. Тогда существуют однозначно определенные многочлены q(X) и r(X), такие, что f (X) = q(X) ∗ g(X) + r(X), причем либо r(X) = 0, либо степень многочлена r(X) меньше степени многочлена g(X). В некомутативном кольце левый идеал определяется как подкольцо I, такое, что если f (X) принадлежит I и a(X) — произвольный многочлен кольца, то a(X) ∗ f (X) тоже принадлежит I. Далее тем же самым методом, который используется при доказательстве теоремы об идеале многочленов, можно показать, что всякий левый идеал является главным левым идеалом, т.е. что во всяком идеале I существует единственный нормированный многочлен g(X) наименьшей степени и любой многочлен из I может быть представлен в виде f (X) ∗ g(X) для некоторого f (X). Пусть теперь V — векторное k-мерное подпростарнство пространства GF (q m ), рассматриваемого как векторное пространство над GF (q). Обозначим через I совокупность всех многочленов 130
f (X), таких, что f (L)V = 0. Тогда эта совокупность является левым идеалом, так как [a(X) ∗ f (X)]X=L V = a(L)f (L)V = 0, и, следовательно, для любого многочлена a(X) произведение a(X)∗ f (X) принадлежит I. Кроме того, очевидно, что если f1 (X) и f2 (X) принадлежат I, то f1 (X) + f2 (X) тоже принадлежит I. Таким образом, в совокупности I найдется единственный нормированный многочлен g(X) наименьшей степени k, причем любой другой многочлен из I является левым кратным для g(X). В соответствии с утверждением теоремы 64 существует многочлен f (L), совокупность нулей которого совпадает с подпространством V , т.е. такой, что f (L)β = 0 тогда и только тогда, когда β ∈ V . Тогда f (X) принадлежит I, откуда вытекает, что f (X) = f1 (X) ∗ g(X). Итак, f1 (L)g(L)β = 0 тогда и только тогда, когда β ∈ V , и, следовательно, g(L)β = 0 тогда и только тогда, когда β ∈ V . Многочлен X m − 1 также является элементом I, поскольку для любого элемента поля β m
(Lm − 1)β = β q − β = 0. Следовательно, существует многочлен h(X), такой, что X m − 1 = h(X) ∗ g(X) и g(X) ∗ (X m − 1) = g(X) ∗ h(X) ∗ g(X). Более того, для любого элемента поля β справедливо равенство m β q = β, и поэтому X m β = βX m . Отсюда вытекает, что для любого многочлена f (X) справедливо равенство X m ∗f (X) = f (X)∗X m . Таким образом, g(X) ∗ (X m − 1) = (X m − 1) ∗ g(X) = g(X) ∗ h(X) ∗ g(X), и поскольку ни один из сомножителей не равен нулю, то на g(X) можно сократить, так что X m − 1 = h(X) ∗ g(X) = g(X) ∗ h(X). Обозначим теперь через U подпространство пространства GF (q m ), состоящее из всех элементов, которые появляются в результате применения преобразования g(L) к элементам поля, т.е. U = g(L)GF (q m ). 131
Если в качестве g(L) рассматривать матрицу, то V будет нулевым пространством, и поскольку размерность V равна k, то ранг по строкам g(L) равен m−k. В этом случае U является пространством столбцов матрицы g(L), и поскольку ранги пространства строк и столбцов любой матрицы равны, то размерность U также равна m − k. Далее, h(L)g(L)GF (q m ) = h(L)U = 0. Поскольку все элементы пространства V являются корнями g(X), то степень g(X) равна по меньшей мере q k и поэтому степень многочлена g(X) равна по меньшей мере k. Аналогично все элементы U являются корнями многочлена h(X), следовательно, степень h(X) равна по меньшей мере q m−k , а степень многочлена h(X) равна по меньшей мере m − k. Однако степень g(X) ∗ h(X) = X m − 1 равна m, откуда вытекает, что степень g(X) должа равняться k, а степень h(X) должна быть равна m − k. Это значит, что степень g(X) должна быть равна q k , т.е. что все элементы пространства V являются корнями g(X) и многочлен g(X) разлагается на q k линейных множителей в пространстве GF (q m ). Аналогично корнями многочлена h(X) являются все элементы пространства U, h(X) разлагается на множители и размерность U равна m − k. Окончательно имеем g(L)h(L)GF (q m ) = 0, и, следовательно, h(L)GF (q m ) принадлежит пространству V . Поскольку U , нулевое пространство для h(L), является пространством размерности m − k, то размерность пространства значений должна быть равной k и, следовательно, оно должно совпадать с пространством V . Таким образом, справедлива следующая теорема: Теорема 66. Пусть V −k-мерное подпространство пространства GF (q m ), рассматриваемого как векторное пространство над GF (q). Тогда существует единственное m − k-мерное подпространство U , однозначно определенные нормированные многочлены g(X) степени k и h(X) степени m − k, такие, что V является нулевым пространством для g(L) и областью значений h(X), а U является нулевым пространством для h(L), и областью значений g(L). Более того, g(X) ∗ h(X) = h(X) ∗ g(X) = X m − 1. 132
Следствие. Многочлен g(X) степени q k полностью разлагается на линейные множители, причем все элементы пространства V являются его корнями, а все элементы простанства U являются значениями, которые многочлен g(X) принимает при подстановке в него вмместо X всех элементов GF (q m ). Аналогично все элементы пространства U являются корнями многочлена h(X), а элементы пространства V — его значениями. Наконец, m g[h(X)] = h[g(X)] = X q − X. УПРАЖНЕНИЯ 7.1. Постройте таблицу сложения и умножения элементов поля GF (7). Найдите порядок каждого элемента. Какие элементы являются примитивными? 7.2. Найдите все неприводимые мнонгочлены степени 5 или меньше над полем GF (2). Заметим, что если многочлен степени m не является неприводимым, то он обладает делителем, степень которого не превосходит m/2. Найдите неприводимый многочлен степени 5 над GF (3). 7.3. Сколько идеалов существует в алгебре многочленов по модулю X 6 − 1 над полем GF (2)? Перечислите порождающие их многочлены. 7.4. Многочлен X 4 + X 3 + X 2 + X + 1 = p(X) неприводим над GF (2), и поэтому алгебра многочленов по модулю p(X) совпадает с полем GF (24 ). Пусть через α обозначен класс вычетов {X}. Покажите, что α не является примитивным элементом и, следовательно, p(X) — не примитивный многочлен. Покажите, что α + 1 — примитивный элемент и найдите его минимальный многочлен, который является примитивным многочленом.(Ответ: минимальный многочлен для α + 1 равен X 4 + X 3 + 1.) 7.5. Составьте таблицы, аналогичные табл. 5.1, для полей GF (23 ) и GF (32 ). 7.6. Определите какие многочлены являются множителями в разложениях следующих многочленов: X 15 − 1, X 31 − 1, X 127 − 1, X 255 − 1. Для каждого из круговых многочленов определите число и степень неприводимых множителей над полем GF (2). 7.7. Многочлен f ∗ (X), двойственный некоторому многочлену f (X), определяется как f ∗ (X) = X m f (1/X), где m — степень f (X). Докажите следующие утветждения: а. Многочлен f ∗ (X) неприводим тогда и только тогда, когда неприводим многочлен f (X). б. Если f (X) неприводим, то f (X) и f ∗ (X) принадлежат одному и тому же показателю. Следовательно, f ∗ (X) примитивен тогда и только тогда, когда примитивен f (X). в. Если f ∗ (X) = f (X) и степень f (X) больше 2, то f (X) не является примитивным. г. Если f (X) = g(X)h(X), g(X), h(X) — неприводимые многочлены и f (X) = f ∗ (X), то либо h(X) = g ∗ (X), либо g(X) = g ∗ (X) и h(X) = h∗ (X). 7.8. Покажите, что в векторном пространстве наборов длины n с элементами из GF (p), где p — простое число, любая подгруппа по сложению является подпространством.
133
8 ЦИКЛИЧЕСКИЕ КОДЫ
8.1. Циклические коды и идеалы О п р е д е л е н и е 69. Подпространство V наборов длины n называется циклическим подпространством или циклическим кодом, если для любого вектора v = (an−1 , an−2 , ..., a0 ) из подпространства V вектор v′ = (a0 , an−1 , an−2 , ..., a1 ), получаемый в результате циклического сдвига компонент вектора v на единицу вправо, также принадлежит подпространству V . В этой главе наборы длины n будут рассматриваться как элементы алгебры многочленов по модулю X n −1, которую обозначим через An . Элементами алгебры являются классы вычетов многочленов, которые здесь обозначаются через {f (x)}. Каждому набору (an−1 , an−2 , ..., a0 ) длины n соответствует многочлен f (X) = an−1 X n−1 + an−2 X n−2 + ... + a0 степени, меньшей n; соответствующим классом вычетов является класс {an−1 X n−1 + an−2 X n−2 + ... + a0 }. Этот класс вычетов и соответствующий вектор из n компонент будем рассматривать просто как различные способы представления одного и того же математического объекта — элемента алгебры An многочленов по модулю X n − 1. Теорема 63. В алгебре многочленов по модулю X n − 1 подпространство является циклическим подпространством тогда и только тогда, когда оно является идеалом. Д о к а з а т е л ь с т в о. Очевидно, что умножение на {X} эквивалентно циклическому сдвигу вектора: X(an−1 X n−1 + an−2 X n−2 + ... + a0 ) = = an−1 (X n − 1) + an−2 X n−1 + ... + a0 X + an−1 , и, следовательно, {X}{an−1 X n−1 + an−2 X n−2 + ... + a0 } = ={an−2 X n−1 + an−3 X n−2 + ... + a0 X + an−1 }. 134
Если подпространство V — идеал и элемент v принадлежит V , то произведение {X}v также принадлежит V , и поскольку {X}v — циклический сдвиг вектора v, то V — циклическое подпространство. Предположим, что V — циклическое подпространство. Тогда для любого вектора v, принадлежащего V , произведение {X}v принадлежит V , и, следовательно, для любого j произведение {X}j v = {X j }v также принадлежит V . Поскольку V — подпространство, то любая линейная комбинация cn−1 {X n−1 }v + cn−2 {X n−2 }v + ... + c0 v = ={cn−1 X n−1 + cn−2 X n−2 + ... + c0 }v будет принадлежать V . Таким образом, произведение любого элемента из V на любой элемент алгебры An принадлежит V , т.е. подпространство V — идеал. Ч. т. д. Структура идеала алгебры An сводится к следующему. Пусть g(X) — нормированный многочлен наименьшей степени, такой, что класс вычетов {g(X)} принадлежит идеалу J. Если f (X) — многочлен степени, меньше чем n, который делится на g(X), то класс вычетов {f (X)} принадлежит J, и, наоборот, если {f (X)} принадлежит идеалу J, то многочлен f (X) делится на многочлен g(X). Кроме того, многочлен X n − 1 делится на g(X), и любой нормированный многочлен, на который делится X n −1, порождает свой идеал J в алгебре An . Таким образом, циклический код полностью задается многочленом g(X), на который делится многочлен X n − 1. С другой стороны, этот же код может быть полностью определен условием, что он является нулевым подпространством идеала, порожденного многочленом h(X) = (X n − 1)/g(X). Если многочлен g(X) — многочлен степени r, то размерность кода равна k = n − r. Элемент {f (X)} принадлежит коду тогда и только тогда, когда многочлен f (X) делится на g(X). Многочлен h(X) называется проверочным многочленом для кода, порожденного многочленом g(X). Поскольку X n − 1 делится на h(X), то многочлен h(X) может быть использован в качестве многочлена, порождающего циклический код. П р и м е р 28. Пусть задан многочлен X 7 − 1 = (X − 1)(X 3 + X + 1)(X 3 + X 2 + 1) над полем Галуа GF (2). Многочлен g(X) = X 3 + X 2 + 1 порождает циклический (7,4)-код. Элементы 135
{X 3 g(X)} {X 2 g(X)} {Xg(X)} {g(X)}
= (1101000), = (0110100), = (0011010), = (0001101),
G=
1101000 0110100 0011010 0001101
можно выбрать в качестве базисных векторов, и, следовательно, матрицу G можно выбрать в качестве порождающей матрицы для этого кода. Этот код яыляется нулевым подпространством идеала, порожденного многочленом h(X) = (X − 1)(X 3 + X + 1) = X 4 + X 3 + X 2 + 1: {X 2 h(X)} {Xh(X)} {h(X)}
= (1110100), = (0111010), = (0011101).
Рассматриваемый код является нулевым подпространством матрицы H, образованной векторами {X 2 h(X)}, {Xh(X)} и {h(X)}, компоненты которых записаны в обратном порядке:
0010111 H= 0101110 1011100 Легко проверить, что GHT = 0. Другой способ задания циклических кодов основан на использовании корней (которые, возможно, лежат в расширении поля) многочлена g(X), порождающего идеал. Предположим, во-первых, что все корни α1 , α2 , ..., αr многочлена g(X) различны. Тогда циклический код полностью определяется условием: вектор {f (X)} принадлежит коду тогда и только тогда, когда α1 , α2 , ..., αr — корни многочлена f (X). Если обозначить через mi (X) минимальную функцию для αi , то вектор {f (X)} является кодовым вектором тогда и только тогда, когда многочлен f (X) делится на m1 (X), m2 (X), ..., mr (X) и, следовательно, на их наименьшее общее кратное. Поэтому код является идеалом, порожденным многочленом g(X) = НОК[m1 (X), m2 (X), ..., mr (X)]. Так как многочлен X n − 1 должен делится на многочлен g(X), то элементы α1 , α2 , ..., αr должны быть корнями многочлена X n − 1, 136
и, следовательно, число n должно делится на порядок каждого из элементов αi . Таким образом, n можно выбирать равным наименьшему общему кратному порядков элемента αi , так как при таком выборе n каждый элемент αi является корнем многочлена X n − 1 и этот многочлен делится на g(X) без остатка. Если корни задаются как степени одного и того же элемента α порядка e, т.е. если установлено, что αi = αui , где ui — заданные целые числа, то число сомножителей и степень каждого из них в разложении многочлена g(X) для целых e и ui могут быть найдены по следующей схеме. Все корни минимальной функции 2 mi (X) содержатся в последовательности αui , αui q , αui q , ..., так что все корни mi (X) — различные элементы этой последовательности. Показатели степеней в этой последовательности — различные вычеты по модулю e чисел ui , ui q, ui q 2 , ui q 3 , ..., и число различных вычетов равно степени ri минимальной функции mi (X). Вполне возможно, что элементы αui и αuj имеют одну и ту же минимальную функцию mi (X) = mj (X). В этом случае совокупности корней функции mi (X) и mj (X) будут совпадать и в качестве сомножителя в разложении многочлена g(X) следует взять только одну из этих функций. Совокупность показателей, связанных с многочленом mi (X), называется циклическим множеством этого многочлена. П р и м е р 29. Код, рассмотренный в предыдущем примере, можно определить условием, чтобы каждый кодовый многочлен содержал среди своих корней любой корень α многочлена X 3 +X 2 +1. С другой стороны, предположим, что известно только, что каждый кодовый многочлен должен содержать среди своих корней α некоторый примитивный элемент поля GF (23 ). Все примитивные элементы поля GF (23 ) являются корнями либо многочлена X 3 +X 2 +1, либо многочлена X 3 +X +1. Поэтому искомый код — это либо код, рассмотренный в предыдущем примере, либо эквивалентный ему код, порождаемый многочленом X 3 + X + 1. Код, корнями каждого кодового вектора которого являются единица и α — корень многочлена X 3 + X 2 + 1 — порождается многочленом g(X) = (X − 1)(X 3 + X 2 + 1). П р и м е р 30. Рассмотрим менее тривиальный пример. Пусть β = α89 , где α — примитивный элемент GF (211 ). Исследуем двоичный код, для которого β, β 2 , β 3 , β 4 — корни всех кодовых многочленов. Так как 89 × 23 = 211 − 1, то β 23 = 1. Пусть m(X)
137
— минимальная функция для β. Тогда корни многочлена m(X) образуют последовательность β, β 2 , β 4 , β 8 , β 16 , β 32 = β 9 , β 18 , β 36 = β 13 , β 26 = β 3 , β 6 , β 12 , (β 24 = β). Итак, m(X) — минимальная функция для β, β 2 , β 3 , β 4 , и многочлен принадлежит кодовому пространству тогда и только тогда, когда он делится на m(X). Различным выборам примитивного элемента α из GF (211 ) соответствуют различные значения β, каждое из которых является корнем одного из двух многочленов: X 11 +X 9 +X 7 +X 6 +X 5 +X +1 или X 11 +X 10 +X 6 +X 5 +X 4 +X 2 +1. П р и м е р 31. Пусть q = 2 и α — примитивный элемент поля GF (24 ). Тогда α15 = 1. Рассмотрим код, такой, что вектор {f (X)} принадлежит ему тогда и только тогда, когда элементы α, α2 , α3 , α4 , α5 и α6 являются корнями многочлена f (X). Пусть через mi (X) обозначена минимальная функция для αi . Тогда α, α2 , α4 , α8 — корни многочлена m1 (X) и m1 (X) = m2 (X) = m4 (X) = m8 (X). Аналогично α3 , α6 , α12 , α24 = α9 — корни многочлена m3 (X). Это описание можно сократить, перечисляя только показатели степеней или циклические множества: 1 3 5
2 4 8 6 12 9 10
m1 (X) = m2 (X) = m4 (X) m3 (X) = m6 (X) m5 (X)
(степень 4), (степень 4), (степень 2).
Отсюда g(X) = m1 (X)m3 (X)m5 (X), и степень g(X) равна 10. П р и м е р 32. Пусть q = 2 и α — примитивный элемент поля GF (25 ). Тогда α31 = 1. Рассмотрим код, содержащий вектор {f (X)} тогда и только тогда, когда α, α2, α3 , ..., α10 — корни многочлена f (X). Тогда аналогично предыдущему находим 1 3 5 7
2 4 8 16 6 12 24 17 10 20 9 18 14 28 25 19
m1 (X) m3 (X) m5 (X) m7 (X)
(степень (степень (степень (степень
5), 5), 5), 5).
Здесь m1 (X) = m2 (X) = m4 (X) = m8 (X), m3 (X) = m6 (X), m5 (X) = m10 (X) = m9 (X). При этом все элементы α, α2 , α3 , ..., α10 находятся среди корней многочленов m1 (X), m3 (X), m5 (X), m7 (X), и поэтому g(X) = m1 (X)m3 (X)m5 (X)m7 (X), 138
так что степень g(X) равна 20. Если известно, что элемент αi должен быть корнем многочлена f (X) кратности ri , то в разложении многочлена g(X) минимальная функция mi (X) для αi должна повторяться ri раз. Можно показать, что многочлен X n −1 не имеет кратных корней, если n и q взаимно просты. Если n = q s n1 , где n1 и q взаимно просты, то s
X n − 1 = (X n1 − 1)q . Таким образом, все корни многочлена X n − 1 всегда повторяются одно и то же число раз, а именно q s раз, где q s — наибольшая степень числа q, на которую делится n. Для кратных корней значение n можно найти следующим образом. Пусть n1 — наименьшее общее кратное порядков элементов α1 , α2 , ..., αr . Каждый из этих элементов — простой корень многочлена X n1 − 1. Пусть rm — наибольшая кратность среди кратностей всех корней, а s — наименьшее целое число, удовлетворяющее неравенству rm ≤ q s . Тогда n = n1 q s . Приведем два способа отыскания минимальной функции для заданного элемента поля α3 , где α — корень примитивного многочлена X 4 + X + 1. (См. табл. 5.1.) 1. Элементы α3 , α6 , α12 , α9 — корни многочлена m3 (X), и, следовательно, m3 (X) = (X − α3 )(X − α6 )(X − α12 )(X − α9 ). Производя с использованием таблицы 5.1. умножение, находим m3 (X) = X 4 + X 3 + X 2 + X + 1. 2. Известно, что степень многочлена m3 (X) равна 4. Пусть m3 (X) = a0 +a1 X +a2 X 2 +a3 X 3 +X 4 . Подставляя α3 = (1000) вместо X, α6 = (1100) вместо X 2 , α9 = (1010) вместо X 3 и α12 = (1111) вместо X 4 , получаем
a0 или
0 0 0 1
+ a1
1 0 0 0
+ a2
1 1 0 0
+ a3
a1 + a2 + a3 + 1 a2 + 1 a3 + 1 a0 + 1 139
1 0 1 0
= 0, = 0, = 0, = 0,
+
1 1 1 1
=0
откуда a0 = a1 = a2 = a3 = 1. 8.2. Матричное представление циклических кодов Если многочлен g(X) = ar X r + ar−1 X r−1 + ... + a0 порождает код, то все векторы {X n−r−1 g(X)}, {X n−r−2 g(X)}, ..., {g(X)} являются кодовыми векторами. Таким образом, кодовыми векторами являются все строки следующей матрицы:
G=
ar 0 . . . 0 0
ar−1 ar . . . 0 0
. ar−1 . . . . .
... ... ... ... ... ... ...
a0 . . . . ar 0
0 a0 . . . ar−1 ar
. 0 . . . . .
... ... ... ... ... ... ...
. . . . . a0 .
0 0 . . . 0 a0
Очевидно, строки этой матрицы линейно независимы, а ее ранг, совпадающий с размерностью кода, равен n − r. Следовательно пространство строк матрицы G представляет собой кодовое пространство. Условимся, что в любом циклическом коде первые k символов, т.е. коэффициенты при X n−1 , X n−2 , ..., X n−k , — будут всегда выбираться в качестве информационных символов, а последние n − k симоволов, т.е. коэффициенты при X n−k−1 , X n−k−2 , ..., 1, — в качестве проверочных символов. Порождающая матрица любого циклического кода может быть следующим образом приведена к модифицированной приведенноступенчатой форме. Пусть ri (X) — остаток от деления X i на многочлен g(X): X i = g(X)qi (X) + ri (X). Тогда многочлены X i − ri (X) = g(X)qi (X) являются кодовыми векторами. Если эти многочлены при i = n − 1, n − 2, ..., n − k выбрать в качестве строк порождающей матрицы, то G = [Ik , −R], где Ik — единичная матрица размерности k × k, а −R — матрица размерности k × (n − k), j-ой строкой которой является вектор из 140
коэффициентов многочлена −rn−j (X). Этот код является также нулевым пространством матрицы H = [RT , In−k ], причем j-я строка матрицы HT является вектором коэффициентов многочлена rn−j (X) даже при j ≤ n − k. П р и м е р 33. Для двоичного циклического кода, порожденного многочленом g(X) = X 3 + X 2 + 1, X6 X5 X4 X3 X2 X1 X0
= g(X)(X 3 + X 2 + X) = g(X)(X 2 + X + 1) = g(X)(X + 1) = g(X)(1) = g(X)(0) = g(X)(0) = g(X)(0)
T H1 =
1 0 1 1 1 0 0
1 1 1 0 0 1 0
0 1 1 1 0 0 1
и
+ X2 + X + X + + 1 + X2 + X + 1 + X2 + 1 + X2 + X + 1
G1 =
1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1
1 0 1 1
1 1 1 0
0 1 1 1
Теперь рассмотрим двойственный код, т.е. код, порождааемый многочленом (X 7 −1)/g(X) = (X −1)(X 2 +X +1) = X 4 +X 3 +X 2 +1. Для этого порождающего многочлена r6 (X) = X 3 + X 2 + X r5 (X) = X2 + X + 1 r4 (X) = X 3 + X 2 + X + 1 r3 (X) = X 3 r2 (X) = X2 r1 (X) = X R0 (X) = 1 и
HT2 =
1 0 0 1 1 1 0 G2 = 0 1 0 0 1 1 1 . 0 0 1 1 1 0 1 141
1 0 1 1 0 0 0
1 1 1 0 1 0 0
1 1 0 0 0 1 0
0 1 1 0 0 0 1
Матрицы H1 и G2 совпадают, если в одной из них порядок расположения строк и столбцов заменить на обратный. То же самое верно для матриц G1 и H2 . Предположим, что многочлен f (X) принадлежит кодовому пространству тогда и только тогда, когда элементы α1 , α2 , ..., αr являются его корнями. Если f (X) = fn−1 X n−1 + fn−2 X n−2 + ... + f0 , то при i = 1, 2, ..., r f (αi ) = fn−1 αin−1 + fn−2 αin−2 + ... + f0 = 0, и это равенство может быть записано при помощи произведения матриц [fn−1 , fn−2 , ..., f0 ][αin−1 , αin−2 , ..., αi ]T = 0. Это условие в точности эквивалентно условию, состоящему в том, что αi — корень мнонгочлена f (X). Это условие совпадает также с условием, состоящем в том, что многочлен f (X) делится на минимальную функцию mi (X) для элемента αi . Далее, то что элементы α1 , α2 , ..., αr являются корнями многочлена f (X), эквивалентно условию, состоящему в том, что соответствующий вектор принадлежит нулевому пространству матрицы α1n−1 n−1 α 2 H= . . . . αrn−1
α1n−2 α2n−2 ..... αrn−2
··· ··· ... ···
α11 α21 ... αr1
α10 α20 . . . αr0
Совокупность всех многочленов, одним из корней которых является элемент αi , совпадает с нулевым пространством матрицы [αin−1 , αin−2 , ..., αi0 ],
(8.1)
и поскольку эта совокупность многочленов совпадает с многочленами, которые делятся на минимальную функцию mi (X) степени mi , то они образуют идеал, размерность которого равна n − mi . Так как размерность нулевого пространства матрицы (8.1) равна n−mi , то размерность пространства строк матрицы равна mi . Заметим, что коэффициенты кодовых многочленов принадлежат полю GF (q), а αi — элемент расширения поля, если только mi 6= 1. 142
Элементы расширения поля можно рассматривать как векторы с mi компонентами над основным полем. Следовательно, размерность пространства строк матрицы (8.1) надGF (q) равна mi . Если αi и αj определяют один и тот же минимальный многочлен mi (X) = mj (X), то соответствующие им нулевые пространства совпадают и, следовательно, соответствующие пространства строк определяют одно и то же пространство над полем GF (q). Поэтому при построении матрицы H в разложении многочлена g(X) нужно использовать только один корень каждого неприводимого сомножителя. П р и м е р 34. Рассмотрим двоичный циклический код, содержащий вектор {f (X)} тогда и только тогда, когда элементы α, α2 , ..., α6 являются корнями многочлена f (X). Здесь α — корень многочлена p(X) = X 4 + X + 1 и, следовательно, примитивный элемент GF (24 ). В этом случае g(X) = m1 (X)m3 (X)m5 (X), и достаточно потребовать, чтобы корнями любого многочлена f (X), принадлежащего коду, были элементы α, α3 , α5 . Искомым кодом является нулевое пространство матрицы H, транспонированная матрица к которой равна α14 13 α 12 α T H = . . . 1 α 1
или
· · · α42 = α12 α70 = α10 · · · α39 = α9 α65 = α5 36 6 60 ··· α = α α =1 . . . . . . . . . . . . . . . . . . . ··· α3 α5 ··· 1 1
143
1001 1101 1111 1110 0111 1010 0101 HT = 1011 1100 0110 0011 1000 0100 0010 0001
1111 1010 1100 1000 0001 1111 1010 1100 1000 0001 1111 1010 1100 1000 0001
0111 0110 0001 0111 0110 0001 0111 0110 0001 0111 0110 0001 0111 0111 0001
если подставить, пользуясь таблицей 5.1, векторное представление элементов поля. Далее, X 15 − 1 = (X − 1)(X 2 + X + 1)(X 4 + X 3 + X 2 + X + 1)× ×(X 4 + X 3 + 1)(X 4 + X + 1), и легко проверить, что если α — корень многочлена X 4 + X + 1, то α3 — корень многочлена X 4 + X 3 + X 2 + X + 1, α5 — корень многочлена X 2 + X + 1. Поэтому ранг матрицы (α14 , α13 , ..., α0 ) равен 4 и ранг матрицы (α42 , α39 , ..., α0 ) также равен 4, поскольку степени минимальных функций для каждого из элементов α и α3 равны 4. Степень минимальной функции для элемента α5 , однако, равна 2, и ранг матрицы (α70 , α65 , ..., α0 ) должен быть равен 2. Очевидно, что это так; в матрице HT девятый столбец состоит из нулей, а десятый и одинадцатый столбцы полностью совпадают. 8.3. Коды Боуза – Чоудхури – Хоквингема (БЧХ) Пусть α — элемент из поля GF (q m ). При любых заданных значениях m0 и d0 код, порожденный многочленом g(X), является БЧХ-кодом тогда и только тогда, когда многочлен g(X) является многочленом наименьшей степени над GF (q), для которого αm0 , αm0 +1 , ..., αm0 +d0 −2 — корни. 144
Длина кода равна наименьшему общему кратному порядков корней. За исключением того случая, когда задатся только один корень αm0 , длина кода n равна порядку e элемента α. Так как (αm0 )n = αm0 n = 1, (αm0 +1 )n = αm0 n+n = 1 и, следовательно, αn = 1, длина кода n делится на e и n не может быть меньше чем e — порядок элемента α. С другой стороны, если αe = 1, то (αj )e = 1, так что число e делится на порядок каждого элемента αj . Поэтому n не больше e, и, следовательно, n = e. Наибольшее значение имеют двоичные БЧХ-коды, получающиеся, если в качестве α выбрать примитивный элемент поля GF (2m ) и положить m0 = 1, а d0 = 2t0 + 1. Тогда вектор {f (X)} принадлежит коду тогда и только тогда, когда элементы α, α2 , α3 , ..., α2t0 являются корнями многочлена f (X). Однако каждая четная степень α является корнем минимальной функции, являющейся также минимальной функцией для некоторой предшествуюющей нечетной степени α. Например, если mj (X) обозначает минимальную функцию для αj , то α2 , α4 — корни m1 (X), α6 — корень m3 (X), α8 — корень m1 (X), α10 — корень m5 (X) и т.д. Следовательно, можно дать следующее эквивалентное определение кода: вектор {f (X)} принадлежит коду тогда и только тогда, когда элементы α, α3 , ..., α2t0 −1 являются корнями многочлена f (X). Итак, код порождается многочленом g(X) = НОК(m1 (X), m3 (X), ..., m2t0 −1 (X)),
(8.2)
причем степень каждого многочлена mi (X), как следует из теорем 51 и 59, не превосходит m. Таким образом, степень многочлена g(X) не превосходит mt0 . Другим важным подклассом БЧХ-кодов являются коды РидаСоломона, получаемые при m = m0 = 1. Пусть α элемент GF (q) порядка n. (Если α — примитивный элемент, то n равно своему наибольшему значению q − 1.) Пусть вектор{f (X)} является кодовым вектором тогда и только тогда, когда элементы α, α2 , ..., αd−1 145
являются корнями многочлена f (X). Минимальная функция для αj равна просто X − αj , так что g(X) = (X − α)(X − α2 )...(X − αd−1 ).
(8.3)
Степень многочлена g(X) равна d − 1. В результате получается код длмны n с d − 1 проверочными символами и с минимальным расстоянием, равным d [4].
8.4 Процедура исправления ошибок Здесь рассматривается процедура исправления ошибок для БЧХ-кода. Эта процедура позволяет исправлять любые комбинации из t0 или меньшего числа ошибок, если d0 ≥ 2t0 + 1. На первом этапе построения процедуры исправления ошибок нужно найти способ описания информации об ошибках, которую дают проверочные соотношения, т.е. синдром. Предположим, что передан кодовый вектор f (X), при передаче произошли ошибки и принят вектор r(X) = f (X) + e(X). Рассмотрим результат подстановки αm0 , αm0 +1 , ..., αm0 +2t0 −1 в многочлен r(X). Поскольку f (X) — кодовый вектор и, следовательно, эти элементы будут его корнями, то в результате подстановки получим e(αm0 ), e(αm0 +1 ), ..., e(αm0 +2t0 −1 ). Вектор ошибок e(X) можно задать перечнем значений его ненулевых компонент и позиций, на которых они расположены. Эти позиции будут определяться номерами позиций ошибок; для (n−j)-го символа это просто αj . Каждая ненулевая компонента e(X) описывается парой элементов Yi (величиной ошибки) и Xi (номером позиции ошибки); здесь Yi — элемент GF (q), а Xi — элемент GF (q m ). Если произошло ν ощибок, то e(X) имеет ν ненулевых компонент и, следовательно, для описания ошибок требуется ν пар (Xi , Yi ). Тогда e(αj ) =
ν X
Yi Xij = Sj
(8.4)
i=1
и значения Sj = e(αj ) задаются проверками при m0 ≤ j ≤ m0 + 2t0 − 1. Заметим, что согласно теоремам 49 и 53 ν X
(Sj )q = (
Yi Xij )q =
ν X i=1
i+1
146
Yiq Xiiq = Siq .
(8.5)
В двоичном случае возможно некоторое упрощение. Так как величина Yi не равна 0, то она должна быть равна 1. Для исправления ошибки необходимо знать лишь ее положение, и поэтому вектор ошибок полностью описывается перечнем номеров позиций ошибок. Из принятого вектора вычисляются t0 величин Sj , m0 ≤ j ≤ m0 + 2t0 − 1, и, для того чтобы исправить ошибки, должна быть найдена пара (Yi , Xi ) для каждой из t0 или меньшего числа ошибок. Уравнения Sj =
X
Yi Xij , m0 ≤ j ≤ m0 + 2t0 − 1
(8.6)
i
связывают известные и искомые величины, и любой метод решения этих уравнений составляют основу процедуры исправления ошибок. Предположим, что в действительности происходит ν ≤ t0 ошибок. Они описываются ν парами (Yi , Xi ), причем ни Yi , ни Xi не равны 0. Пусть уравнение (X − X1 )(X − X2 )...(X − Xν ) = X ν + σ1 X ν−1 + ... ..., σν−1 X + σν
(8.7)
определяет величины σ1 , σ2 , ..., σν , являющимися элементарными симметрическими функциями от Xi . Заметим, что если в уравнение (8.7) вместо X подставить Xi , то обе его части обратятся в нуль. Оказывается тогда, что величины Sj и σi связаны системой линейных уравннений и это позволяет определить σi . Значения Xi могут быть найдены последовательной подстановкой всех элементов всех элементов поля в уравнение (8.7). При известных значениях Xi уравнения Xi уравнения (8.4) линейны относительно Yi и могут быть решены. Следующий этап состоит в нахождении соотношения, связывающего SJ и σi и доказательстве того, что решение всегда существует. Если обе части уравнения (8.7) умножить на Yi Xij и затем всесто X подставить Xi , то получится следующее уравнение: Yi Xij σν + Yi Xij+1 σν−1 + ... + Yi Xij+ν−1 σ1 + Yi Xij+ν = 0.
(8.8)
Суммируя эти уравнения по всем значениям i, 1 ≤ i ≤ ν, и используя выражения (8.4), получим соотношения, связывающте σi и Sj : Sj σν + Sj+1 σν−1 + ... + Sj+ν−1 σ1 + Sj+ν = 0, (8.9) 147
где все Sj изветсны для m0 ≤ j ≤ m0 + 1t0 − 1 − ν. Теорема 63. Матрица
M=
Sm0 Sm0 +1 . . . Sm0 +ν−1
Sm0 +1 Sm0 +2 . . . Sm0 +ν
... ... ... ... ... ...
Sm0 +ν−1 Sm0 +ν . . . Sm0 +2ν−2
(8.10)
невырождена, если величины Si образуются точно из ν различных ненулевых пар (Yi , Xi ). Матрица вырождена, если Si образуются из меньшего чем ν числа ненулевых пар (Yi , Xi ). Д о к а з а т е л ь с т в о. Используя уравнения (8.4) можно проверить, что
×
M=
Y1 X1m0 0 0 Y2 X2m0 . . . . . . 0 0
1 X1 . . . X1ν−1
1 X2 . . . X2ν−1
... 0 ... 0 ... . ... . ... . ... Yν Xνm0
... ... ... ... ... ...
1 Xν . . . Xνν−1
1 X1 1 X2 . . . . . . 1 Xν
×
... xν−1 1 ... X2ν−1 ... . ... . ... . ... Xνν−1
.
(8.11)
Матрица M невырождена тогда и только тогда , когда каждая из матриц в (8.11) невырождена. Первая и последняя матрицы — это матрицы Вандермонда, и они не вырождены тогда и только тогда, когда X1 , X2 , ..., Xν различны. Средняя матрица диагональная и невырождена тогда и только тогда, когда все Xi и Yi ненулевые. Таким образом, матрица M невырождена тогда и только тогда, когда все пары (Yi , Xi ) различны и не равны нулю.
148
Для того чтобы из степенных сумм и номеров позиций ошибок можно было определить значения Yi , необходимо, чтобы ν уравнений (8.4) были линейно независимы. Рассмотрим первые ν уравнений относительно Yi : Y1 X1m0 Y1 X1m0 +1 ... Y1 X1m0 +ν−1
+Y2 X2m0 +Y2 X2m0 +1 ... +Y2 X2m0 +ν−1
+ + ... =
... ... ... ...
+Yν Xνm0 +Yν Xνm0 +1 ... +Yν Xνm0 +ν−1
= Sm0 , = Sm0 +1 , ... = Sm0 +ν−1 . (8.12)
Определитель системы равен ¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯
X1m0 X1m0 +1 . . . X1m0 +ν−1
0 xm 2 X2m0 +1 . . . X2m0 +ν−1
... ... ... ... ... ...
= X1m0 X2m0 ...Xνm0
Xνm0 Xνm0 +1 . . . Xνm0 +ν−1 ¯ ¯ 1 ¯ ¯ ¯ X1 ¯ ¯ . ¯ ¯ . ¯ ¯ . ¯ ¯ ¯ X1ν−1
¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯= ¯ ¯ ¯ ¯ ¯ ¯
1 X2 . . . ν−1 X2
... 1 ... Xν ... . ... . ... . ν−1 ... Xν
¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯; ¯ ¯ ¯ ¯ ¯ ¯
(8.13)
Определитель в правой части есть определитель Вандермонда. Поэтому, если все Xi различны и ненулевые, а в данном случае так оно и есть, то правая часть не равна нулю. Следовательно, уравнения (8.12) линейно независимы и, если X1 , X2 , ..., Xν найдены, они могут быть решены относительно неизвестных Y1 , Y2 , ..., Yν . Из (8.13) видно, что эти значения ошибок могут быть определены посредством обращения матриц. Исправление ошибок может быть проведено следующим образом: 1. По принятому вектору вычисляются значения Sj , m0 ≤ j ≤ m0 + 2t0 − 1. По существу вычисляются проверочные соотношения.
149
2. Орпеделяется максимальное число последовательных уравнений, являющихся линейно независимыми. Оно равно числу ν действительно произошедших ошибок. 3. Все σν+1 , σν+2 , ..., σt полагаются равными нулю, и решаются первые ν уравнений относительно σ1 , σ2 , ..., σν . 4. Каждый ненулевой элемент GF (q m ) подставляется в многочлен X ν + σ1 X ν−1 + ... + σν . (8.14) корни многочлена будут номерами позиций ошибок X1 , X2 , ..., Xν . 5. (Этап не нужный в двоичном случае.) Номера позиций ошибок, полученные на четвертом этапе, подставляются в первые ν уравнений (8.4) и находятся соответствующие неизвестные величины Yi . Определитель матрицы коэффициентов не равен нулю. Следовательно, эти уравнения линейно независимы. Знания значений Xi и Yi достаточно для исправления ошибок. П р и м е р 35. Пусть {f (X)} принадлежит коду тогда и только тогда, когда α, α2 , ..., α6 являются корнями многочлена f (X), причем α — примитивный элемент поля GF (24 ), α15 = 1. Длина кода равна 15. Было получено g(X) = m1 (X)m3 (X)m5 (X) Это (15,5)-БЧХ-код, исправляющий все комбинации из трех или меньшего числа ошибок. Предположим, что произшло две ошибки на позициях, соответствующих α3 и α10 . Тогда вычисления проверок на четность принятонго вектора {r(X)} дают (см. табл. 5.1)
и
S1 = r(α) = (1111) = α12 , S3 = r(α3 ) = (1011) = α7 , S5 = r(α5 ) = (0111) = α10
(8.15)
S2 = S12 = α9 = (1010), S4 = S22 = α3 = (1000), S0 = S32 = α14 = (1001).
(8.16)
Уравнения (8.9) принимают вид α12 σ3 + α9 σ2 + α7 σ1 = α3 , α9 σ3 + α7 σ2 + α3 σ1 = α10 , α7 σ3 + α3 σ2 + α10 σ1 = α14 .
150
(8.17)
Умножая первое уравнение на α8 = α−7 , второе — на α12 = α−3 и третье — на α5 = α−10 , получаем α5 σ3 + α2 σ2 + σ1 = α11 , α6 σ3 + α4 σ2 + σ1 = α7 , α12 σ3 + α8 σ2 + σ1 = α4 . Складывая первое уравнение с каждым из остальны, получим два уравнения, не содержащих неизвестной σ1 : (1010)σ3 + (0111)σ2 = (0101), или α9 σ3 + α10 σ2 = α8 , (1001)σ3 + (0001)σ2 = (1101), или α14 σ3 + σ2 = α13 . (8.18) Эти уравнения отличаются только множителем α5 , и, следовательно, второе уравнение зависит от первого. Поэтому последнее из трех уравнений (8.17) должно зависить от первых двух, и, следовательно, произошло две ошибки. Полагая в уравнениях (8.18) σ3 = 0, получаем α10 σ2 = α8 , или σ2 = α13 . Из любого уравнения (8.17) находим σ1 = α12 . Номера позиций ошибок будут корнями уравнения X 2 + α12 X + α13 = 0. (8.19) Легко проверить, что этому уравнению удовлетворяют элементы α3 и α10 и только они. Так как рассматриваемый код двоичный, знания номеров позиций ошибок достаточно для исправления этих ошибок — значения ошибочных символов нужно просто изменить на противоположные.
151
ЛИТЕРАТУРА 1. Биркгоф Г., Барти Т. Современная прикладная алгебра. М.,Мир, 1976. 400 с. 2. Ван-дер-Варден Б.Л. Алгебра. М.,Наука, 1976. 647 с. 3. Горьковой В.Ф. Графы Бержа: изоморфизм, декомпозиция, раскраски. СПбУ, 1994. 180 с. 4. Питерсон У.,Уэлдон. Э. Коды, исправляющие ошибки. М.,Мир, 1976. 595 с. 5. Харари Ф. Теория графов. М., Мир, 1973. 336 с. 6. Холл М. Теория групп. М.,Изд.ин.лит., 1962. 468 с. 7. Chinal J. Design methods for digital systems. Acad.Verlag. Berlin, 1973. 506 p. 8. Arbib M.A. Algebraic Theory of Machines. Languages and Semigroups, Academic Pres,New York, 1968. 335 p. 9. Whitesitt J.E. Boolean Algebra and its Applications. Addison-Wesley, New york, 1961 10. Barti T.C. Digital Computer Fundamentals, 2ed. McGraw-Hill,New York,1966
152
ОГЛАВЛЕНИЕ ГЛАВА 1. МНОЖЕСТВА И ФУНКЦИИ . . . . . . . . . . . . . . . . . . . . . . . . 3 1.1. Множества и подмножества . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.2. Булевы алгебры . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 УПРАЖНЕНИЯ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 1.3. Функции . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 1.4. Обратные функции . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 1.5. Функции из S в S . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 УПРАЖНЕНИЯ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 1.6. Суммы, произведения, степени . . . . . . . . . . . . . . . . . . . . . . . . 13 1.7. Аксиомы Пеано . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 1.8. Финитная индукция . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 УПРАЖНЕНИЯ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 ГЛАВА 2. БИНАРНЫЕ ОТНОШЕНИЯ И ГРАФЫ . . . . . . . . . . . 19 2.1. 2.2. 2.3. 2.4. 2.5. 2.6. 2.7. 2.8.
Введение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 Матрицы отношений . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .21 Алгебры отношений . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 Частичное упорядочение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 Графы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 Теорема об изоморфизме графов . . . . . . . . . . . . . . . . . . . . . . 36 Теорема об автоморфизмах автомата . . . . . . . . . . . . . . . . . 43 Теорема об автоморфизмах графов . . . . . . . . . . . . . . . . . . . .46
ГЛАВА 3. АВТОМАТЫ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 3.1. Полностью определенные автоматы . . . . . . . . . . . . . . . . . . .51 3.2. Неполностью определенные автоматы . . . . . . . . . . . . . . . . 56 ГЛАВА 4. ДЕКОМПОЗИЦИЯ ГРАФОВ . . . . . . . . . . . . . . . . . . . . . . . 61 4.1. Умножение,сумма и композиция графов . . . . . . . . . . . . . . 61 4.2. Бинарные отношения и операции над графами . . . . . . . 67 153
4.3. Операции над представлениями . . . . . . . . . . . . . . . . . . . . . . .69 ГЛАВА 5. МИНИМАЛЬНАЯ РАСКРАСКА И КРИТИЧЕСКИЕ ГРАФЫ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 5.1. Основные понятия и определения . . . . . . . . . . . . . . . . . . . . . 77 5.2. О 5-критических графах . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 ГЛАВА 6. АЛГЕБРА ЛОГИКИ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 6.1. 6.2. 6.3. 6.4. 6.5. 6.6.
Фукции алгебры логики . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 Формулы и функции . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 Эквивалентность. Принцип двойственности . . . . . . . . . . 93 Совершенная дизъюнктивная нормальная форма . . . . . 96 Полнота. Замкнутость . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 Важнейшие замкнутые классы. Теорема о полноте . . 102
ГЛАВА 7. ПОЛЯ ГАЛУА . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110 7.1. 7.2. 7.3. 7.4. 7.5.
Идеалы. Классы вычетов . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110 Идеалы и классы вычетов мнонгочленов . . . . . . . . . . . . . 113 Поля Галуа . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119 Мультипликативная группа поля Галуа . . . . . . . . . . . . . 120 Векторные пространства и линейные преобразования конечных полей . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128 УПРАЖНЕНИЯ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
ГЛАВА 8. ЦИКЛИЧЕСКИЕ КОДЫ . . . . . . . . . . . . . . . . . . . . . . . . . . . 134 8.1. 8.2. 8.3. 8.4.
Циклические коды и идеалы . . . . . . . . . . . . . . . . . . . . . . . . . 134 Матричное представление циклических кодов . . . . . . . 140 Коды Боуза-Чоудхури-Хоквингема (БЧХ) . . . . . . . . . . . 144 Процедура исправления ошибок . . . . . . . . . . . . . . . . . . . . . 146
УКАЗАТЕЛЬ ЛИТЕРАТУРЫ . . . . . . . . . . . . . . . . . . . . . . . . . . . 152 154