198
ПРИДНЕСТРОВСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ им. Т.Г.Шевченко ИНЖЕНЕРНО-ТЕХНИЧЕСКИЙ ФАКУЛЬТЕТ Кафедра «Вычислительные комплексы, машины, системы и сети» Т.Д. Бордя, В.А. Дружинин, И.А. Васюткина «Дискретная математика» (конспект лекций)

Ethan Fromestudentpmr.ru/konspekt/disk-mat.doc · Web viewОсобое значение в этом плане имеет изучение современных разделов

  • Upload
    others

  • View
    11

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Ethan Fromestudentpmr.ru/konspekt/disk-mat.doc · Web viewОсобое значение в этом плане имеет изучение современных разделов

ПРИДНЕСТРОВСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ

им. Т.Г.Шевченко

ИНЖЕНЕРНО-ТЕХНИЧЕСКИЙ ФАКУЛЬТЕТКафедра «Вычислительные комплексы, машины, системы и сети»

Т.Д. Бордя, В.А. Дружинин, И.А. Васюткина

«Дискретная математика»

(конспект лекций)

Тирасполь 2001

Page 2: Ethan Fromestudentpmr.ru/konspekt/disk-mat.doc · Web viewОсобое значение в этом плане имеет изучение современных разделов

Введение

Повышению уровня математической подготовки студентов,

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

большое внимание. Особое значение в этом плане имеет изучение современных разделов

математики, таких как теория множеств, математическая логика, теория графов, теория

алгоритмов и др. Указанные разделы в настоящее время принято относить к дискретной

математике.

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

соответствующей дисциплины, изучаемой студентами ИТФиТК ПГУ. Данный конспект

лекций имеет своей целью дать студентам материал для самостоятельной работы и для

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

подготовку и проведение занятий.

В данном пособии рассматриваются основные разделы, относящиеся к теории

множеств, математической логике, алгебре, теории графов, теории алгоритмов и др.

Данные разделы дискретной математики являются методологической основой задач

проектирования вычислительных систем, сетей ЭВМ, подсистем САПР различного

функционального назначения.

Bезде, где возможно, в каждой новой теме используются понятия и термины из

предыдущих тем, материал сопровождается примерами. Разбор и решение примеров на

практических занятиях является составной частью изучения данного курса.

2

Page 3: Ethan Fromestudentpmr.ru/konspekt/disk-mat.doc · Web viewОсобое значение в этом плане имеет изучение современных разделов

Раздел 1. Множества

1.1: Множества и их спецификации

Изложение курса дискретной математики традиционно принято начинать с исходного

неопределяемого понятия множества. Понятие множества описывается перечислением его

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

приемлемым образом. Такой подход необходим, так как любую ошибку можно проследить,

вернуть назад к неправильному предложению где-то в цепочке рассуждений.

Определение1.1: Множество - это совокупность определенных различаемых

объектов, таких, что для любого объекта можно установить, принадлежит этот объект

данному множеству или не принадлежит. Объекты множества называются так же

элементами множества.

Определяемое таким образом множество может содержать объекты почти любой

природы.

Пример:

- множество всех подземных станций метро Москвы;

- множество натуральных чисел: 1, 2, 3,...

- множество кодов операций конкретного компьютера;

- множество зарезервированных слов языка Бейсик;

- множество идентификаторов, встречающихся в определенной программе;

- множество операций в той же самой программе;

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

той же программе.

Но эти множества достаточно важны для исследования, поэтому для большинства

примеров будем исследовать некоторые абстрактные множества, такие, например, как

множества чисел.

Условимся множества обозначать большими латинскими буквами A, B, ..... Z, а его

элементы малыми латинскими буквами: а, b, с, ..., z. Если множество бесконечное, то

используются эти же буквы с индексами.

Множества можно специфицировать (задать) четырьмя способами:

1) Если множество содержит несколько элементов (т.е. конечно), то просто

записываем все его элементы - перечисление элементов.

Пример: Определим множество A как множество целых чисел строго между 6 и 10.

A = {7, 8, 9}. Читается: “Множество A, содержащее целые числа 7, 8, 9 ”

3

Page 4: Ethan Fromestudentpmr.ru/konspekt/disk-mat.doc · Web viewОсобое значение в этом плане имеет изучение современных разделов

2) Множество можно охарактеризовать свойствами элементов:

Пример: A = {x | x Z, 6 < x < 10} Читается: “A есть множество всех x, таких что ...”

3) Задается порождающая процедура, которая описывает способ получения элементов

множества из уже полученных элементов либо из других объектов.

Пример: Множество всех корней уравнения соs x = 0 - это числа вида

B данном случае, исходными объектами для построения являются целые числа, а

порождающей процедурой является вычисление, описанное формулой . Правила,

описанные таким образом, являются индуктивными или рекурсивными.

4) Образование множеств из других множеств с помощью операций над

множествами, которые рассмотрим ниже.

Множества часто рассматривают как “неупорядоченные совокупности элементов”, и

иногда полезно подчеркнуть, что например {7, 8, 9} = {8, 9, 7} = {9, 8, 7} = ... ; Т.о., мы не

делаем никакой оговорки о порядке, в котором рассматриваются элементы, поэтому было бы

неправильно допускать какой-либо определенный порядок.

Знак принадлежности множеству: 7 A читается: 7 является элементом множества,

принадлежит множеству A. 6 A - 6 не принадлежит множеству A.

Понятие принадлежности не обладает свойством транзитивности, т. е., если аA и

AB, то отсюда не следует, что а B.

A={a, b} B={{a, b}, b} aB

Пример: Какие из приведенных определений множества являются правильными?:

1) A={1, 2, 3} - число элементов множества A легко вычисляется, и среди элементов

множества нет повторений. Верно.

2) B={5, 6, 6, 7} - выглядит правильно, но число 6 встречается дважды. Но мы можем

проверить, принадлежит ли элемент множеству или нет. Наиболее важное требование в

определении множества сохраняется. Следовательно, можно рассмотреть эту запись как

верную и эквивалентную {5, 6, 7}. Будем рассматривать повторение символов в

определении множеств как упоминание одного и того же символа, а его дублирование как

недосмотр; удаление повторяющихся символов образует основу для некоторых дальнейших

математических рассуждений. Но в то же время, если рассматривать элементы множества не

как числа, а их названия (обозначения, имена), то может быть ловушка. Необходима

правильная спецификация рассматриваемых объектов.

4

Page 5: Ethan Fromestudentpmr.ru/konspekt/disk-mat.doc · Web viewОсобое значение в этом плане имеет изучение современных разделов

Х = {“Введение в Паскаль”, ”Основы структурных данных”, “Введение в Паскаль”}.

Что это? - Множество названий двух книг с одним элементом, случайно записанным

дважды, или это множество трех книг, две из которых имеют одно название? Если верно

последнее, то две книги “Введение в Паскаль” следует каким-то образом разделить. Т.о., из

данной информации нельзя выяснить правильный ответ, необходима осторожность.

3) С={x | xA} - справедливо ,т.к. если xA, то xС и если xA, то xС. Множество

С велико, оно содержит “все”, что не содержит A. “Все” опасно с математической точки

зрения.

4) Д={A, C} - множество множеств (!) - справедливо, содержит два элемента. 1Д,

хотя 1A и AД, 1 A, 1С, только множества A и С являются элементами Д.

5) Е = {x | x =1 или y = {x} и yE} - рекурсивно определяемое множество. Оно

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

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

записать их явно. Заметим, что Е не определяется полностью в терминах Е. Мы должны

знать о множестве что-то, что не зависит от определения. B данном случае, это то, что 1 Е.

Имеем: 1Е, потому {1}E,

{1}E, потому {{1}} E,

{{1}}E, потому {{{1}}}E и т.д.

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

временем, можно определить, содержится ли этот элемент в Е.

6) F={множества, которые не являются элементами самих себя} = {x | x -множество и

xx} - не существует такого множества.

Докажем это от противного. Пусть F - существует. Покажем, что существует особый

элемент y такой, что мы не можем определить yF или yF. Будем использовать само

множество F. Обозначим это множество через G. Если предполагаем, что F искомое

множество, то или GF или GF.

а) GF . Тогда G удовлетворяет условию содержания, т.е. GG и GF;

б) GF. Тогда G не удовлетворяет условию вхождения в F и, следовательно, GF.

Во всех случаях пришли к противоречию. Поэтому F не может существовать.

Множество множеств может существовать, бесконечно большие множества (U) так

же разрешаются. Но с “множествами всех множеств” нельзя работать в обычной теории

множеств - это требуют другого рода математики. Эта аномалия теории множеств известна

как парадокс Рассела. Если мы уже имеем множество Н, то можно определить T:

T = {x | x H и xx}.

5

Page 6: Ethan Fromestudentpmr.ru/konspekt/disk-mat.doc · Web viewОсобое значение в этом плане имеет изучение современных разделов

Таким образом, будем использовать только множества, которые могут быть явно

записаны или же построены путем хорошо определенных процессов. Множества не так

тривиальны, как может показаться.

1.2: Простейшие операции над множествами. Диаграммы Эйлера – Венна

Как было указано ранее, одним из способов задания множества является получение

его из других с помощью операций над множествами. Пусть даны два множества A и B.

Определение 1.2: Пересечением множеств A и B называется множество всех

элементов, принадлежащих и A и B (Рис.1.1)

AB = x | x A и x B

Данное определение можно обобщить для n множеств.

A1 A2 ... An= x | x A1, x A2, ... , x An=x | x Ai , i = 1, 2,..., n }

Рис. 1.1. Пересечение множеств.

Для графического изображения результатов операций над множествами служат

диаграммы Эйлера - Венна.

Определение 1.3: Пустое множество (обозначается ) есть множество,

обладающее свойством: x для любого элемента x.

Определение 1.4: Два множества A и B не пересекаются, если AB=.

Определение 1.5: Объединением множеств A и B называется множество, элементы

которого принадлежат хотя бы одному из множеств A или B или обоим одновременно

(Рис.1.2).

AB= x | x A или x B

Данное определение можно обобщить для n множеств:

A1A2... An= x | x A1 или x A2 или ... или x An ={x | Ai, x Ai ,

i=1,2,...,n}

6

Page 7: Ethan Fromestudentpmr.ru/konspekt/disk-mat.doc · Web viewОсобое значение в этом плане имеет изучение современных разделов

Рис.1.2. Объединение множеств.

Определение пересечения и объединения множеств выводится из слов “и” и “или”, и,

как следствие, мы имеем AB=BA, AB=BA и, что менее очевидно, AA=A, AA=A.

Пример:

A = {1, 2, 3, 4}, B = {1, 2, a, b}

AB = {1, 2, 3, 4, a, b}

AB = {1, 2}

Определение 1.6: Разностью множеств A и B (также называемой дополнением B

до А) называется множество, элементы которого принадлежат A и не принадлежат B

(Рис.1.3).

A\B=A-B= {x | x A и x B}

Рис.1.3. Разность множеств.

Замечание 1.1: aAB a A или а B

aAB a A и а B

aA\B a A или а B

Следующее определение включено для полноты. Его редко используют

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

Определение 1.7: Симметрической разностью множеств A и B называется

множество, которое равно AB=(AB)\ (AB) = (A\ B) (B\ A) (Рис.1.4)

Для симметрической разности имеет место свойство ассоциативности:

(A B) С=A (B С)

7

Page 8: Ethan Fromestudentpmr.ru/konspekt/disk-mat.doc · Web viewОсобое значение в этом плане имеет изучение современных разделов

Рис.1.4. Симметрическая разность множеств.

Пример: Пусть мы имеем две программы P и Q, и A - множество всех данных, доступных

P.

B- множество всех данных, доступных Q. Тогда :

AB - множество всех данных, доступных P и Q.

AB - множество всех данных, доступных, по крайней мере, P или Q.

A\B - множество всех данных, доступных P, но не доступных Q.

AB - множество всех данных, доступных только одной из программ P или Q.

Следующее множество, которое мы рассмотрим, зависит от решаемой задачи. Его

называют универсальным.

Определение 1.8: Универсальное множество U есть множество всех

рассматриваемых в задаче элементов.

Рис.1.5. Дополнение множества до универсального

Определение 1.9: B каждом случае, когда U задано, определим дополнение

множества A до универсального как A’= = U\ A={x | x U, x A} (Рис.1.5)

Из определений , U, A’ следует справедливость тождеств:

A A’ = U A A’=

Замечание 1.2: Относительно данного множества U дополнение любого множества A

до универсального A’ единственно.

Чтобы доказать это, предполагают, что существуют два таких объекта, а затем

доказывают, что они совпадают.

Пример: Пусть U={1, 2, 3, 4}, A={1, 3, 4}, B={2, 3}, C={1, 4}. Легко найти A’,

BС. Но может понадобиться вычислить и более сложные выражения, включающие

8

Page 9: Ethan Fromestudentpmr.ru/konspekt/disk-mat.doc · Web viewОсобое значение в этом плане имеет изучение современных разделов

несколько операций. Встает вопрос, как определить порядок вычислений. Приоритет

операций над множествами следующий:

1) в скобках

2) ’ (дополнение)

3) , , \,

Вычислить выражение (A’ (B С))’. Тогда

(A’(BС))’=(({1,2,3,4}\{1,3,4})({2,3}{1,4}))’=({2})’=({2})’={1,2,3,4}\{2}={1,3,4}.

Рассмотрим теперь множество A= {1, 2,... ,n} = {x | x N, 1 x N}.Оно имеет n

элементов. Будем говорить, что мощность (или размер, норма, длина) этого множества n.

|A| = card (A) = n.

Далее, множество B, которое имеет то же число элементов, что и A, имеет такую же

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

множеств (например, N - множество натуральных чисел) это может быть невозможно.

Дадим строгое, но неформальное правило для вычисления количества элементов.

Определение 1.10 : Говорят, что Х конечно, если Х= или, если для некоторого n N

{1, 2,...,n} такое, что оно имеет такое же самое число элементов, что и Х. Если Х и

никакого n не может быть найдено, то Х называется бесконечным.

1.3: Подмножества и доказательства. Свойства операций над множествами

Операции , , \, ’ позволяют формировать новые множества. Но мы не можем

сказать, как эти множества будут соотноситься друг с другом. Например, даны множества Х

и Y. XY в некотором смысле “меньше” (уже не больше), чем Х. Все элементы множества

XY принадлежат множеству Х. Из этого наблюдения можно формально определить

равенство множеств и различных выражений.

Определение 1.11: Пусть множества A и B таковы, что из того, что xA следует, что

xB. Тогда говорят, что A есть подмножество B и обозначается AB или B A (рис.1.6.)

Рис.1.6.

9

Page 10: Ethan Fromestudentpmr.ru/konspekt/disk-mat.doc · Web viewОсобое значение в этом плане имеет изучение современных разделов

Определение 1.12: Если AB и существует элемент yB такой, что yA, то A

называется собственным подмножеством B (Рис.1.7.). Обозначается A B или B A

Это означает, что в некотором смысле. B “больше”, чем A.

Рис.1.7.

B обоих случаях B называют еще надмножество (собственное надмножество) A.

Очевидно, что для A справедливо: A A, AU, A (Пустое множество является

подмножеством любого множества).

Определение 1.13: Множества A и B эквивалентны A=B, если A B, BA. Т.е. все

элементы A являются элементами B, а все элементы B - элементами A.

Определение 1.14: Два множества A и B неэквивалентны, если они не эквивалентны

или, что равносильно тому A\ B или B\A .

Свойства операций над множествами

Идемпотентный закон. (1.1)

Ассоциативный закон. (1.2)

Дистрибутивный закон. (1.3)

Коммутативный закон. (1.4)

Закон поглощения. (1.5)

Закон де Моргана для множеств. (1.6)

Закон двойного отрицания (1.7)

(1.8)

Все эти тождества доказываются взаимным включением, т.е., например, чтобы

доказать, что надо доказать, что .

Возникает вопрос, почему следует заботиться о доказательствах в компьютерной

науке. Мы должны доказать что-либо только один раз. Затем мы исходим из того, что эта

часть информации является правильной и, следовательно, может рассматриваться как факт.

Т.к. зачастую важен и сам метод и результат. После анализа доказательства становятся

понятными предположения и последствия, процессы вывода, которые можно использовать

10

Page 11: Ethan Fromestudentpmr.ru/konspekt/disk-mat.doc · Web viewОсобое значение в этом плане имеет изучение современных разделов

при решении других задач. Кроме того, доказательства теории формируют основу всех

решающихся автоматически задач.

Пример: Доказать равенство: .

1. Докажем, что .

Пусть или или

2. Докажем, что . Пусть

Из 1. и 2. следует, что ч. т.д.

Определение 1.15: Множество всех подмножеств данного множества Х называется

степенью множества Х.

P(X) = {Y | Y X}.

Т.к. Х и Х Х, то Р(Х), ХР(Х).

Замечание 1.3: Если |X| = n, то | P(X) | = 2 n

Пример: Х={1, 2}, |X| = 2, P(X)={{1},{2},{1,2}, }, |P(X)|=22=4.

1.4: Произведение множеств

До сих пор строили из существующих множеств множества меньшего размера.

Рассмотрим способ конструирования больших множеств.

Определение 1.16: Обозначим упорядоченную последовательность из n элементов

x1, x2, ... ,xn через (x1, x2, ... ,xn ) Будем называть такую последовательность набором длины n.

Набор длины 2 называется парой.

Следует различать множество 2-х элементов и упорядоченную пару:

{2, 3}={3, 2}, но (2, 3)(3, 2).

(a, b)=(c, d)a=c и b=d.

Пусть даны n множеств A1, A2, .... An.

Определение 1.17: Прямым произведением n множеств A1, A2, .... An, называется

множество всевозможных упорядоченных наборов вида (x1, x2, ... ,xn ) из n элементов таких,

что х1A1, x2A2,...,xnAn.

11

Page 12: Ethan Fromestudentpmr.ru/konspekt/disk-mat.doc · Web viewОсобое значение в этом плане имеет изучение современных разделов

Пример:

1. Шахматная доска представляет собой игровое поле из клеток, в котором столбцы

обозначены латинскими буквами, а строки - цифрами.

Пусть F = {a, b,..., h}- cтолбцы, R = {1, 2,... 8}- cтроки, Тогда a 1, f7, e3 и др. - клетки

шахматной доски - это элементы произведения множеств FR.

2. RR=R2 - множество всех точек плоскости с координатами (x, y), x, y R.

3. A={1,2,3}, B={a,b}, AB={(1,a),(1,b),(2,a),(2,b),(3,a),(3,b)}.

Теорема 1.1: Пусть A1, A2, .... An - конечные множества |A1|=m1, ..., |An|=mn. Тогда мощность

множества: .

Следствие: |An| = |A|n.

12

Page 13: Ethan Fromestudentpmr.ru/konspekt/disk-mat.doc · Web viewОсобое значение в этом плане имеет изучение современных разделов

Раздел 2. Отношения

2.1: Основные понятия

Определение 2.1: Любое подмножество прямого произведения A1A2....An

называется n-местным (n-арным) отношением, определенным на множествах A1, A2, .... An.

A1 A2 ...An .

Другими словами элементы x1,x2,...,xn (где х1A1, х2A2,...,хnAn) связаны

отношением тогда и только тогда, когда (x1, x2, ..., xn ) . (x1, x2, ..., xn ) -

упорядоченный набор из n элементов.

Отношения, хотя и являются множествами, принято обозначать малыми буквами

греческого алфавита , , , ..., , .

Определение 2.2: Любое подмножество прямого произведения A1A2

называется бинарным отношением, определенным на множествах A1 и A2.

Часто используют следующие обозначения:

1. (a,b), т.е. a и b находятся в отношении .

2. ab, т.е. a связано с b отношением .

3. b(a), (a)=b.

Рассмотрим частный случай, когда A1 = A2 = A, тогда AA=A2={(а,b)| a, bA}

=An = {(a1, a2, ..., an ) | aiA, i=1n},

A1=A.

Т.о. будем иметь, что любое подмножество A2 определяет отношение на A.

Очевидно, что =, =A2 также являются бинарными отношениями.

Пример:

A={1, 2, 3} A2= {(1, 1), (1, 2), (1, 3), (2, 1), (2, 2), (2, 3), (3, 1), (3, 2), (3, 3)}

={(1, 1), (3, 2), (2, 3)} A2

={(1, 1), (3, 2), (1, 4)} A - не является бинарным отношением на A.

Аналогично определяется тернарное отношение, определенное на множестве A, а

именно A3=A A A.

Пример:

1) Пусть A = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}. Тогда

={(x, y)}| x, yA, x-делитель y, х 5} может быть записано в частном виде

={(1,1), (1,2), (1,3), (1,4), (1,5), (1,6), (1,7), (1,8), (1,9), (1,10), (2,2), (2,4), (2,6), (2,8), (2,10),

(3,3), (3,6), (3,9), (4,4), (4,8), (5,5), (5,10)}

13

Page 14: Ethan Fromestudentpmr.ru/konspekt/disk-mat.doc · Web viewОсобое значение в этом плане имеет изучение современных разделов

2) R-множество действительных чисел. R2=R R.

={(x, y) | x, y R, x<y},

(1, 2) ,

(2, 1) т.к. x > y.

3) Шахматы. Пусть F = {a, b, c, d, e, f, g, h}, R={1, 2, 3, 4, 5, 6, 7, 8} и S=FR -

множество всех клеток обозначаемых парами (x,y), где xF, yR. Определим бинарное

отношение для ладьи на S т.о., что клетка (s,t) S тогда и только тогда, когда, s и t

элементы S, s,tS и ладья может пройти от s к t одним ходом на пустой доске. (Ладья

может изменять либо горизонтальную, либо вертикальную координату, но не обе

одновременно). Поэтому, S S и = {(fs, rs), (ft, rt)) | (fs=ft и rsrt) или (fs ft и

rs=rt)}.

Для бинарных отношений можно использовать любые способы задания множеств,

например, список пар, для которых данное отношение выполняется. Отношения на

конечных множествах обычно задаются списком или матрицей.

Матрица бинарных отношения на множестве М={a1,...,am} - это квадратная матрица

C порядка m, в которой элемент сij, стоящий на пересечении i-ой строки и j-го столбца,

определяется следующим образом:

Пример: M={1, 2, 3, 4, 5, 6}, M2=M M.

1. = {(a, b)| a, b M и a b}

1 2 3 4 5 61 1 1 1 1 1 12 0 1 1 1 1 13 0 0 1 1 1 14 0 0 0 1 1 15 0 0 0 0 1 16 0 0 0 0 0 1

2. = {(a, b)| a, b M и a и b имеют общий делитель}

1 2 3 4 5 61 1 1 1 1 1 12 1 1 0 1 0 13 1 0 1 0 0 14 1 1 0 1 1 15 1 0 0 0 1 16 1 1 1 0 0 1

3. = {(a, b)| a, b M и a - делитель b}

1 2 3 4 5 61 1 1 1 1 1 12 1 1 0 1 0 13 1 0 1 0 0 14 1 0 0 1 0 0

14

Page 15: Ethan Fromestudentpmr.ru/konspekt/disk-mat.doc · Web viewОсобое значение в этом плане имеет изучение современных разделов

5 1 0 0 0 1 06 1 0 0 0 0 1

Так как отношения на М задаются подмножествами М2, то для них можно

определить те же операции, что и над множествами.

Рассмотрим еще три отношения, которые полезны при рассмотрении множеств.

Определение 2.3: Для любого множества A определим тождественное отношение

A и универсальное отношение A следующим образом:

A = {(a, a) | a A},

A = {(a, b) | aA, bA}.

Таким образом, A = A2

Т. к. A2, то является отношением на A и называется пустым отношением.

Пусть А={1, 2, 3, 4}. Матрица смежности тождественного, универсального и пустого

отношений, определенных на множестве A, будут иметь соответственно вид:

1) матрица тождественного отношения:

1 2 3 41 1 0 0 02 0 1 0 03 0 0 1 04 0 0 0 1

2) матрица универсальногоотношения:

м 1 2 3 41 1 1 1 12 1 1 1 13 1 1 1 14 1 1 1 1

3) матрица пустого отношения:

1 2 3 41 0 0 0 02 0 0 0 03 0 0 0 04 0 0 0 0

Пусть отношение определено в соответствии с изображением на рисунке 2.1.

15

АВ

Page 16: Ethan Fromestudentpmr.ru/konspekt/disk-mat.doc · Web viewОсобое значение в этом плане имеет изучение современных разделов

Элементы A, Элементы A и B, Элементы В,

не включаемые в включаемые в не включаемые в

Рис.2.1. Бинарное отношение .

Рассмотрим элементы множеств A и В, находящиеся в отношении . Они имеют

специальные названия.

Определение 2.4: Свяжем с каждым бинарным отношением , определенным на

множествах A и B, A B, два множества - область определения D() и область

значений R(). Они определяются следующим образом.

D() = {x| (x, y)},

R() = {у| (x, y) }.

Пример : A = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}

= {(x, y) | x, yA, х - делитель y, x 5}.

Тогда: D() = {1, 2, 3, 4, 5}, R( ) = A.

Пример: Предположим, что мы имеем некоторую программу, она читает два числа

из множества A = {1, 2, 3, 4, 5}, обозначенных x и y, и если х < y, печатает число z (так

же из A) такое, что х z < y. В любом случае программа останавливается после считывания

всех чисел из A. Задача определяет отношение A2A такое, что ={((x,y),z)|x<y,xz<y}.

Не все входные данные приводят к выдаче результата. Поэтому область определения

отношения не совпадает с A2 . Ясно, что

= {((1,2),1), ((1,3),1), ((1,3),2), ((1,4),1), ((1,4),2), ((1,4),3), ((1,5),1), ((1,5),1), ((1,5),2),

((1,5),3), ((1,5),4), ((2,3),2), ((2,4),2), ((2,4),3), ((2,5),2), ((2,5),3), ((2,5),4), ((3,4),3), ((3,5),3),

((3,5),3), ((3,5),4), ((4,5),4)}.

D() = {(1,2), (1,3), (1,4), (1,5), (2,3), (2,4), (2,5), (3,4), (3,5), (4,5)},

R() = {1, 2, 3, 4}.

Определение 2.5: Пусть - бинарное отношение. Определим обратное отношение

- 1 cледующим образом: - 1= {(x, y) | (y, x) }.

Таким образом, -1 связывает те же пары элементов, что и , но “в другом порядке”.

Следовательно, если -1BA, то D(-1)=R() и R(-1)=D(). В дальнейшем будем

записывать без скобок D и R.

16

Page 17: Ethan Fromestudentpmr.ru/konspekt/disk-mat.doc · Web viewОсобое значение в этом плане имеет изучение современных разделов

2.2: Свойства бинарных отношений

Определение 2.6: Пусть - бинарное отношение на множестве A. Тогда:

а) - рефлексивно, если (х,х) для х.

(главная диагональ матрицы содержит только единицы)

б) - антирефлексивно, если (х,х) х .

(главная диагональ матрицы содержит только нули)

в) - симметрично, если из того, что (х,y) следует, что (y,x).

( =- 1 матрица отношения симметрична относительно главной диагонали)

г) - антисимметрично, если из того, что (х,y) и (y,x) следует, что x=y .

Замечание: Отношение антисимметрично тогда и только тогда, когда из того, что

((x,y) и xy)(x,y).

д) - транзитивно, если из того, что (х,y) и (y,z) следует, что (х,z)

Замечание: Антисимметричность есть следствие антирефлексивности и

транзитивности.

Пример: = {(x,y)| x, yN и y x т.е. x - делитель y}

а) рефлексивно, т.к. х х х N

б) несимметрично, т.к. 2 - делитель 4, но 4 не является делителем 2.

в) транзитивно, т.к., если y x и z y, то z x

г) антисимметрично, т.к. если x y и y x, то x=y.

Замечание: Если отношение рефлексивно, то оно не антирефлексивно. Если

отношение антирефлексивно, то оно не рефлексивно. Отношение может быть ни

рефлексивным, ни антирефлексивным. Свойства симметричности и антисимметричности не

являются взаимоисключающими. Для множества A отношение A является

симметричным и антисимметричным. Можем так же иметь отношения, которые не

являются ни симметричными, ни антисимметричными.

Пример: P- множество всех людей. ={(x,y)| x,yP, x является братом y}.

Пусть в семье два брата p и q и сестра r. Зададим бинарное отношение в виде графа

(Рис.2.2).

p q несимметрично т.к. (p, r), но (r, p)

не антисимметрично (p, q), и (q, p), но q p.

r

Рис.2.2. Пример бинарного отношения.

17

Page 18: Ethan Fromestudentpmr.ru/konspekt/disk-mat.doc · Web viewОсобое значение в этом плане имеет изучение современных разделов

Если отношение задано в виде графа, то свойства можно сформулировать следующим

образом:

a) отношение рефлексивно тогда и только тогда, когда для каждого узла (точки) на

диаграмме существует стрелка, которая начинается и заканчивается в этом узле (петля).

б) отношение симметрично тогда и только тогда, когда для каждой стрелки, соединяющей

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

в) отношение транзитивно тогда и только тогда, когда для каждой пары узлов x и y,

связанных последовательностью стрелок от x к a1, от а1 к а2, ..., от а n - 1 к аn, от an к y,

существует так же стрелка от x к y;

г) отношение антисимметрично тогда и только тогда, когда не существует двух различных

узлов, связанных парой стрелок.

Определение 2.7: Для отношения отношение , называемое транзитивным

замыканием , определяется следующим образом: (а, b) , если во множестве A

существует цепочка из n элементов а = а1, а2, ..., а n-1, an = b, в котором между соседними

элементами выполнено : (a,a2), (a2,a3) ,...,(a n-1, b). Если транзитивно, то =.

Транзитивным замыканием отношения “быть сыном” является отношение “быть

прямым потомком”, являющееся объединением отношений “быть сыном” и “быть внуком”,

“быть правнуком “ и т.д. Транзитивным замыканием отношения “ иметь общую стену” для

жильцов дома является отношение “жить на одном этаже”.

2.3: Операции над бинарными отношениями

Пусть A, A2 = A A и , , , A2 - некоторые бинарные отношения,

определенные на множестве A . A2 = AA=(x,y)| x, yA}.

Операции над бинарными отношениями:

1) {(x,y)|(x,y) или (x,y)}

2) {(x,y)|(x,y) и (x,y)}

3) \{(x,y)|(x,y) и (x,y)}

4) {(x,y)|(x,y) и (x,y)A2}

5) -1{(x,y)|(y,x) }

6) ={(x,y)|z(x,z) и(z,y)}- произведение отношений и

Относительно введенных операций имеют место следующие свойства:

1)

18

Page 19: Ethan Fromestudentpmr.ru/konspekt/disk-mat.doc · Web viewОсобое значение в этом плане имеет изучение современных разделов

2)

3)

4)

5)

6)

7) (=

8 () =

Связь между опреациями над отношениями и свойствами отношений.

1) Объединение и пересечение двух рефлексивных отношений на множестве А

рефлексивно.

2) Объединение и пересечение двух симметричных отношений на множестве А

симметрично.

3) Объединение и пересечение двух антирефлексивных отношений на множестве А

антирефлексивно.

4) При любом отношении на множестве А отношение -1 и -1 симметричны.

5) Объединение двух антисимметричных отношений на множестве А может не быть

антисимметрично, пересечение двух антисимметричных отношений на множестве А

антисимметрично.

6) Объединение двух транзитивных отношений на множестве А может не быть

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

2.4: Разбиения и отношения эквивалентности

Во многих вычислительных задачах берутся большие множества и разбиваются таким

образом, чтобы все интересующие нас ситуации можно было исследовать на нескольких

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

характеристик языка программирования - это посмотреть конкретные программы,

написанные на этом языке. Но каждый язык (С, Паскаль и т.п.) порождает бесконечно

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

правильно отражали достоинства и недостатки языка. Чтобы быть более конкретными, в

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

четыре метода доступа, и более у него нет никаких особых свойств. Мы могли бы в

качестве примера взять семь программ, каждая из которых включает только одну

19

Page 20: Ethan Fromestudentpmr.ru/konspekt/disk-mat.doc · Web viewОсобое значение в этом плане имеет изучение современных разделов

характеристику языка, хотя, вообще говоря, каждая программа может использовать более

чем одну характеристику языка. Исследование этих программ тогда могло бы покрыть

большую часть свойств языка. Математически это можно определить следующим образом:

Определение 2.8: Пусть A - непустое множество и {Ai} - cовокупность подмножеств

Ai (i=1, 2, ..., n, n N) таких, что Ai A, . Совокупность таких подмножеств

называется покрытием A.

Пример: {A, B} - покрытие AB

{A, AB, B, C} - покрытие ABС.

Используя понятие покрытия, можно обеспечить, чтобы ни одно из свойств не было

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

покрытия. Но в общем случае могут быть случаи дублирования. Если в дальнейшем

потребовать, чтобы элементы покрытия попарно не пересекались, то дублирования не

будет. Отсюда вытекает понятие разбиения.

Определение 2.9: Пусть A - непустое множество и {Ai} - cовокупность подмножеств

Ai (i=1, 2, ..., n, n N) таких, что Ai A, и . Совокупность

таких подмножеств называется разбиением множества A.

Пример: - разбиение AB.

- разбиение U.

- разбиение Е.(Рис.2.3)

1) 2) 3)

A B

A\B A B B\A A

A

Рис.2.3. Разбиение множеств.

Разбиение определяется однозначно, и части разбиения порождают особый род

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

отношению “=“ между числами или множествами. Выделяя основные свойства равенства,

приходим к следующему определению:

20

AB’

AB A’B

A’B’

Page 21: Ethan Fromestudentpmr.ru/konspekt/disk-mat.doc · Web viewОсобое значение в этом плане имеет изучение современных разделов

Определение 2.10: Бинарное отношение на множестве А называется отношением

эквивалентности, если оно рефлексивно, симметрично и транзитивно.

Пример:

1) Пусть дано множество всех треугольников. Отношение ={(x,y)|x,y имеют

одинаковую площадь}, является тривиальным отношением эквивалентности.

2) Рассмотрим множество всех программ. Рассмотрим отношение ={(x,y)|x,y -

вычисляют одну и ту же функцию на определенной машине} - тоже отношение

эквивалентности.

Т. о., мы рассматриваем более простые способы создания больших множеств,

разбивая их на мелкие части, чем если бы в качестве этих частей брали элементы

множества.

Некоторый общий способ задания отношения эквивалентности на произведении

множестве связан с разбиением множества на подмножества - (классы).

Пример:

1) A={1, 2, 3, 4, 5}, A1={1, 2}, A2={3, 5), A3={4} - {A1, A2, A3} разбиение

множества A.

2) Z1- нечетные числа, Z2- четные числа, Z3 = {0}. {Z1, Z2, Z3} - разбиение

множества Z.

Мощность этого множества называется индексом разбиения В данном примере он

равен 3.

Определение 2.11: Пусть -отношение эквивалентности на множестве A. Определим

класс эквивалентности [x] для хA как [x]={y|(х, y)}, такой что:

1) любые 2 элемента одного и того же класса эквивалентны друг другу;

2)никакие два элемента разных классов не эквивалентны между собой.

Т.о., [x]- множество всех элементов A, которые - эквивалентны х.

Теперь, вместо проверки всего множества мы можем любым способом выбрать

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

В вычислениях отношения эквивалентности представляют особый интерес, так как

они ассоциируются с различными программами, дающими один и тот же результат, или

приводящими к одной и той же обработке данных, или же представляющими одну и ту же

информацию о различных эквивалентных структурах данных.

Наиболее известное отношение эквивалентности связано с дробями. Рассмотрим

множество ZN, тогда пару (a,b) из этого множества можно рассмотреть как дробь .

Определим отношение эквивалентности на Z N следующим образом: (a, b) (c, d) тогда

21

Page 22: Ethan Fromestudentpmr.ru/konspekt/disk-mat.doc · Web viewОсобое значение в этом плане имеет изучение современных разделов

и только тогда, когда ad = bc. Множество всех классов эквивалентности, определяемых

этим отношением на Z N, называются рациональными числами (Q). Обычно выбирают

тех представителей классов, у которых самые малые a и b.

[ ]={ , , , ,...}

[ ]={ , , , ...}

………

Утверждение 2.1: Пусть - отношение эквивалентности на множестве A. Тогда:

1) если xА, то x[x];

2) Если x, yА и(x, y), то [x]=[y] (т.е. класс эквивалентности порождается любым своим

элементом).

Для доказательства 1) достаточно воспользоваться рефлексивностью отношения :

(x, x) и, следовательно, x[x]. Докажем 2). Пусть z [y]. Тогда (y, z) и в силу

транзитивности отношения (x, z) , т.е z[x]. Отсюда [y][x]. Аналогично в силу

симметричности можно показать, что [x][y], а значит, [x]=[y].

Теорема 2.1: Каждому разбиению множества A на классы соответствует некоторое

отношение эквивалентности и наоборот, каждое отношение эквивалентности определяет

разбиение множества A на классы эквивалентности относительно этого отношения.

Доказательство: Докажем прямую теорему. Рефлексивность и симметричность

очевидны. Пусть теперь (x,y) и (y,z). Тогда x,yА1, y,zА2, где А1, A2 –

подмножества из разбиения A. Так как y A1 и yA2, то A1 = A2. Следовательно, x, z A1 и

(x, z).

Докажем теперь обратное, что совокупность классов эквивалентности определяет

разбиение множества A. В силу утверждения 2.1. x[x], а следовательно, каждый элемент

множества A принадлежит некоторому классу эквивалентности. Из утверждения 2.1.

вытекает, что два класса эквивалентности либо не пересекаются, либо совпадают.

Пример: 1) A={1, 2, 3, 4, 5, 6}. Пусть дано разбиение A1={1,2}, A2={3}, A3={4,5,6}.

1. A1, A2, A3

2. A1 A2= , A1 A3=, A2 A3=

3. A1 A2 A3=A

Строим :

= {(1, 1), (2, 2), (1, 2), (2, 1),

(3, 3),

(4, 4), (5, 5), (6, 6), (4, 5), (4, 6), (5, 4), (5, 6), (6, 4), (6, 5)}

22

Page 23: Ethan Fromestudentpmr.ru/konspekt/disk-mat.doc · Web viewОсобое значение в этом плане имеет изучение современных разделов

2) Дано , строим разбиение:

K1={xA| (x, 1) }={1, 2},

K2={xA| (x, 3) }={3},

K3={xA| (x, 4) }={4, 5, 6}.

Матрица смежности бинарного отношения эквивалентности в результате

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

расположены подматрицы, состоящие из единиц, остальные элементы матрицы равны

нулю (Рис.2.4):

1 . . .... 1 1 . . .... 1 1 . . .. . .1 1 1 .... . .1 1 1 .... . .1 1 1 . ... . . 1

Рис.2.4. Матрица смежности отношения эквивалентности.

Совокупность классов эквивалентности множества X по отношению эквивалентности

называется фактор-множеством множества X по отношению и обозначается

X/.

2.5: Отношение порядка

Определение 2.12: Бинарное отношение , определенное на множестве A,

называется отношением предпорядка, если оно рефлексивно и транзитивно.

Определение 2.13: Бинарное отношение , определенное на множестве A,

называется отношением порядка, если оно транзитивно и антисимметрично.

Определение 2.14: Отношение порядка , определенное на множестве A, называется

строгим, если антирефлекcивно.

Определение 2.15: Отношение порядка , определенное на множестве A, называется

нестрогим если рефлекcивно.

Определение 2.16: Элементы x и y сравнимы по отношению порядка , если

выполняется (x, y) или (y, x) . В противном случае элементы x и y не сравнимы.

Определение 2.17: Множество A, на котором задано отношение порядка,

называется полностью упорядоченным, если любые два элемента x, yA сравнимы, и

частично упорядоченным в противном случае.

23

Page 24: Ethan Fromestudentpmr.ru/konspekt/disk-mat.doc · Web viewОсобое значение в этом плане имеет изучение современных разделов

Определение 2.18: Частичный порядок на множестве A называется линейным, если

любые два элемента из множества сравнимы:

x, y A, x y или y x.

Определение 2.19: Множество A с заданным на нем частичным или линейным

порядком называется частично или линейно упорядоченным.

Определение 2.20: Подмножество Y частично упорядоченного множества Х

называется цепью в Х, если оно частично упорядоченно тем же отношением.

Пример:

а) Отношение и для чисел является отношением нестрогого порядка. и -

строгого. Оба отношения полностью упорядочивают множества N и R.

б) Отношение подчиненности на предприятии задает строгий порядок. В нем

несравнимыми являются сотрудники разных отделов.

в) Определим отношение и на Rn следующим образом:

(а1,...,an)(b1,...,bn), если а1 b1, ..., an bn ; (a1,...,an)(b1,...,bn), если (а1,...,a n) (b1,...,bn) и

хотя бы в одной координате i выполнено ai<bi. Эти отношения определяют частичный

порядок на Rn.

(5, 1/2, -3) < (5, 2/3, 3); (5, 1/2, -3) (5, 0, 0) не сравнимы.

г) На множестве подмножеств М отношение включения задает нестрогий

частичный порядок. Например, {1, 2} {1, 2, 3}; Множества {1, 2} и {1, 3, 4} не

сравнимы.

д) Пусть в списке букв конечного алфавита A порядок букв зафиксирован, т. е. всегда

один и тот же, как, например, в русском или латинском алфавите. Тогда этот список

определяет полное упорядочение букв, которое называется отношением предшествования

и обозначается (ai a j, если ai предшествует a j в списке букв). На основе отношения

предшествовали букв строится отношение предшествования слов, определяемое

следующим образом: Пусть даны слова 1 = a 11a 12...a 1m и 2 = a 21a 22...a 2m (слова одной

длины m) Тогда 1 2, если и только если либо

1) 1= аi , 2= аj и аi aj (, , - некоторые слова, возможно пустые, аi, aj -

буквы) либо

2) 2=1, где - непустое слово. Это отношение задает полное упорядочение

множества всех конечных слов в алфавите A, которое называется лексико-

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

1. Наиболее известным примером лексико-графического упорядочения является

упорядочение слов в словарях. Например, лес лето (случай 1 определяется =ле, с т, -

пусто, =0) поэтому слово “лес” расположено в словаре раньше слова “лето”, лес лето.

24

Page 25: Ethan Fromestudentpmr.ru/konspekt/disk-mat.doc · Web viewОсобое значение в этом плане имеет изучение современных разделов

2. Если рассмотреть числа в позиционных системах счисления (например в двоичной

или десятиричной) как слова в алфавите цифр, то их лексико-графическое упорядочение

совпадает с обычным, если все сравнимые числа имеют одинаковое количество разрядов. В

общем же случае эти два вида упорядочения могут не совпадать: например 10 1073 и 20

1073, но 10< 1073, а 20>1073. Чтобы они совпадали нужно выравнивать число разрядов у

всех сравниваемых чисел, приписывая с лева нули. Получим 0020<1073. Такое

выравнивание чисел автоматически происходит при записи целых чисел в ЭВМ.

3. Лексико-графическое упорядочение цифровых представлений дат вида 05.08.86.(5

августа 1986) не совпадает с естественным упорядочением дат от ранних к поздним:

например, 05.08.86 лексико-графически “старше” третьего числа любого года. Чтобы

возрастание дат совпадало с лексико-графическим упорядочением, обычное представление

надо “перевернуть”, т.е. слева направо 86. 08. 05. Так делают при представлении дат в ЭВМ.

Определение 2.21: Рассмотрим конечное множество A . Говорят, что элемент y

покрывает элемент х, если xy и x<y и не существует uA, такого что x<u<y.

Любое множество с заданным на нем отношением порядка можно представить в виде

графа, в котором каждый элемент изображается в виде вершины, и если элемент y

покрывает x, то x и y соединяются дугой, причем вершина соответствующая элементу х

располагается ниже y, такие графы называется диаграммами Хассе.

Пример: Рассмотрим три отношения частичного порядка, и для них диаграммы

Хассе.

1) А = {1, 2, 3}, Р(А) = {, {1}, {2}, {3}, {1, 2}, {1, 3}, {2, 3}, {1, 2, 3}}

На множестве Р(А) рассмотрим отношение быть подмножеством (которое является

отношением частичного порядка).

Для данного отношения частичного порядка построим диаграмму Хассе:

2)A = {1, 2, 3, 5, 610, 15, 30}Рассмотрим отношение частичного порядка x y y x

25

{1,2,3}

{2,3} {1,2}

{2} {3}

{}

{1,3}

{1}

30

10

2

15

5

6

3

1

Page 26: Ethan Fromestudentpmr.ru/konspekt/disk-mat.doc · Web viewОсобое значение в этом плане имеет изучение современных разделов

3) Множество Х = {1, 2, 3, 4, 5, 6, 7, 8}Рассмотрим отношение частичного порядка .

Диаграммы первых 2-ух отношений совпадают, это означает, что эти частично

упорядоченные множества имеют одинаковую структуру, отличную от структуры 3-го

множества, хотя оно тоже содержит 8 элементов.

Более точно такая общность структуры определяется понятием изоморфизма, точное

математическое понятие которого рассмотрим далее.

Таким образом, частично упорядоченные множества в примерах 1) и 2) являются

изоморфными.

Утверждение 2.2: Всякое частично упорядоченное множество Х изоморфно

некоторой системе подмножеств множества Х, частично упорядоченного отношением

включения.

2.6: Составные отношения

Часто приходится связывать бинарные отношения друг с другом.

Определение 2.22: Пусть заданы множества A, B, С и отношения между A и B и

между B и С. Определим отношение между A и С следующим образом, оно действует из

A в B посредством , а затем из B в С посредством . Такое отношение называют

составным и обозначают , т.е. ( )(а)= ((а))

Следовательно, ={(x, y) | zB такой, что (x, z) и (z, y)}.

26

5

1

2

3

4

6

7

8

Page 27: Ethan Fromestudentpmr.ru/konspekt/disk-mat.doc · Web viewОсобое значение в этом плане имеет изучение современных разделов

Замечание: Из записи отношений и следует, что они применяются справа налево.

Следовательно, ( )(а) означает, что вначале берется а и преобразуется по-

средством , а затем результат преобразуется посредством .

Пример:

Пусть и - отношения на N такие что ={(x, x + 1)| xN} ={(x2, x) | xN}

Тогда D() = {x2| xN}

D() = {x| x, x + 1N}=N

D( ) = {x| x и x+1= y2, где y } = {3, 8, 15, 24...}

В случае, когда рассматриваем отношение на множестве, оно может быть

скомбинировано само с собой. Используя отношения из примера, имеем

= 2 = {(x, x+2)|xN} = 2 ={(x4, x)|xN}

Используя это обозначение мы можем определить n для n, n 1 cледующим

образом:

n = {(x, y)| x z и z n-1y для некоторого z}

Для отношений из примера получим n = {(x, x+n)| xN} n={(

, x)| xN}.

2.7: Функции и отображения

Определение 2.23: Бинарное отношение f, заданное на множествах X, Y, называется

функцией, если из (x, y) f и (x, z) f следует y = z.

Обозначается: f(x) = y.

Если f - это функция между элементами множеств X и Y, то это обозначается

f : X Y.

Таким образом, каждому элементу x из своей области определения Df функция f

ставит в соответствие единственный элемент y из Rf - области значений функции. При

этом x называется аргументом функции (прообразом y), а y- значением функции (образом

x).

Определение 2.24: Назовем функцию f n - местной функцией, если f Xn Y, т.е.

y = f(x1, х2, х3, ..., хn).

Если Df =X , т.е. функция является полностью определенной, то f : X Y называется

отображением.

Функции f и g равны, если их области определения – одно и то же множество X и для

любого x f(x)=g(x).

27

Page 28: Ethan Fromestudentpmr.ru/konspekt/disk-mat.doc · Web viewОсобое значение в этом плане имеет изучение современных разделов

Определение 2.25: Пусть дана функция f : X Y

Функция (отображение) является :

1) инъекцией, если для х1, х2, y из того что x1 x2 f(x1) f(x2)

2) сюръекцией, если для y Y х Х, такой что y = f(x)

3) биекцией, если f инъекция и сюръекция.

Биекция называется еще взаимно однозначным соответствием.

Определение 2.26: Композицией двух функций f и g называется функция

g f = {(x, z)y, (x, y) f, (y, z) g }

Утверждение 2.3: Если f : X Y, g : Y Z , то композиция двух функций есть

функция h= g f , такая что h : X Z.

Говорят , что h получена подстановкой f в g, h(x)=g(f(x)).

Утверждение 2.4: Композиция двух биективных функций есть биекция .

Определение 2.27: Тождественным отображением множества Х в себя называется

отображение ех : Х Х, такое что х Х ех(х) = х.

Пусть функция f : X Y, тогда еy f = f, f еx = f

Пусть f -1 - отношение обратное f, тогда f -1 назовем обратной функцией тогда и

только тогда, когда f - биекция. f -1 : Y X.

Рассмотрим некоторые свойства :

Если f и g - инъекции, то

1) (f -1)-1 = f

2) (g f )-1 = f -1 g-1

Если f - биекция, то

3) f -1 f = еx

4) f f -1 = еy

Определение 2.28: Если некоторая функция получена из функции f1, f2, ..., fk путем

подстановки их друг в друга или переименованием аргументов, то такая функция

называется суперпозицией из функций f1, f2, ..., fk. Выражение описывающее эту

суперпозицию называется формулой.

2.8: Cчетность множеств. Мощность

Если между конечными множествами А и В существует взаимно однозначное

соответствие, то А=В, если это не так, то либо А>В, и тогда т.к. отображение

всюду определено в А найдутся два элемента, которым соответствует один элемент из В и

28

Page 29: Ethan Fromestudentpmr.ru/konspekt/disk-mat.doc · Web viewОсобое значение в этом плане имеет изучение современных разделов

нарушится единственность образа ; либо В>Аи тогда нарушится единственность

прообраза. Этот факт позволяет установить равенство мощностей двух множеств, не

вычисляя мощностей двух множеств, а также установив взаимно однозначное соответствие

со множеством, мощность которого известна, вычислить мощность множества.

Определение 2.29: Если между элементами двух множеств можно установить

взаимно однозначное соответствие, то такие множества называются равномощными.

Для конечных множеств это утверждение доказывается, а для бесконечных является

определением равномощности.

Определение 2.30: Множества, равномощные множеству натуральных чисел,

называются счетными .

Утверждение 2.4: Объединение конечного числа счетных множеств счетно.

Теорема 2.2(Кантора): Множество всех действительных чисел [0;1] не счетно.

Множество такой мощности называется континуальным, а его мощность – мощностью

континуума.

Утверждение 2.5: Множество всех подмножеств счетного множества континуально.

Не существует множества максимальной мощности.

29

Page 30: Ethan Fromestudentpmr.ru/konspekt/disk-mat.doc · Web viewОсобое значение в этом плане имеет изучение современных разделов

Раздел 3. Элементы общей алгебры

3.1: Алгебраическая операция. Алгебра

Пусть M - произвольное множество.

Определение 3.1: Функцию типа : M n M называется n - арной операцией,

определенной на множестве М.

n - называется арностью операции , M называется основным или несущим

множеством операции.

Если n=1, то операция называется унарной, если n=2 - то бинарной.

В данном определении выделим два момента:

1) Так как операция есть функция, то результат ее применения определяется

однозначно.

2) Так как область значений операции лежит во множестве M, на которое операция

действует, то говорят, что операция замкнута на множестве M.

Элементы xi набора (x1, x2,...,xn)Mn , где xiM, i=1,2,...n, называются операндами.

Операции обычно обозначают символами, называемыми операторами.

Если операция унарная, то оператор располагают перед операндом. Например, -a

(унарный минус)

Если операция бинарная, то возможны три случая расположения операторов:

1) оператор перед операндами (prefix). Например, +xy

2) оператор между операндами (infix). Например, x+y

3) оператор после операндов (postfix). Например, xy+

Определение 3.2: Совокупность множества M вместе с определенным на нем

множеством операций =<1, 2,...,k> называется алгеброй и обозначается

A=<M; 1, 2,... k>. При этом называется сигнатурой алгебры.

Пусть MM и операции 1, 2,... k замкнуты на множестве M, тогда

A = <M ; 1, 2,... k> есть подалгебра алгебры A.

Определение 3.3: Типом алгебры называется вектор арностей входящих в нее

операций.

Примеры алгебр:

1) Алгебра на множестве действительных чисел R с операциями + и

A1= <R; +, > Ее подалгеброй будет A1 = <N; +, >, где N- множество натуральных

чисел. Так как + и - бинарные операции, тип данных алгебр (2,2).

30

Page 31: Ethan Fromestudentpmr.ru/konspekt/disk-mat.doc · Web viewОсобое значение в этом плане имеет изучение современных разделов

2) Рассмотрим квадрат с вершинами a 1, a 2, a 3, a 4 пронумерованными против часовой

стрелки, а также всевозможные повороты этого квадрата относительно центра О,

переводящие вершины в вершины. Таких различных поворотов будет 4: 0, /2,

, 3/2. Обозначим их соответственно через , , , . Т.о. получим алгебру с

основным множеством { a 1, a 2, a 3, a 4} и определенными на нем операциями

поворота , , , .

A2=<{ a 1, a 2, a 3, a 4};, , , >

a 2 a1

/2

2 ( a 3)= a 1

3/2

a3 a 4

Рис.3.1. Пример алгебры.

Определение 3.4: Операция, отображающая любой элемент в самого себя,

называется тождественной.

В данном примере - тождественная операция, так как (a1)= a1, (a2)= a 2,

(a3)=a3, (a4)=a4. Подалгебры в этой алгебре нет.

3) Рассмотрим множество О={, , , }содержащее повороты из п. 2) и определим

бинарную операцию композиции двух поворотов как их последовательное

выполнение. Рассмотрим алгебру A3=<O; >Если множество конечно, то операции

удобно задавать таблицей Келли:

Подалгеброй рассматриваемой алгебры будет A3 =<{}; >.

31

Page 32: Ethan Fromestudentpmr.ru/konspekt/disk-mat.doc · Web viewОсобое значение в этом плане имеет изучение современных разделов

3.2: Свойства бинарных алгебраических операций

Рассмотрим бинарную операцию типа умножения, определенную на множестве A.

Определение 3.4:Операция называется коммутативной, если a,bA ab=ba.

Определение 3.5: Операция называется ассоциативной, если a,b,cA

a(bc)=(ab)c.

Определение 3.6: Пусть элемент e, такой что a ea=a. Тогда e называется

левой единицей (или левым единичным элементом) по отношению к операции . Если

элемент e, такой что a ae=a, то e называется правой единицей (или правым

единичным элементом) по отношению к операции . Если элемент e, такой что a

ea=ea=a, то e называется двусторонней единицей или просто единицей (единичным

элементом) по отношению к операции .

Например, На множестве R по отношению к умножению число 1 является

двусторонней единицей: 1x=x1=x, а по отношению к сложению двусторонней единицей

является число 0: x+0=0+x=x. По отношению к вычитанию число 0 является правой

единицей, но не левой: x-0=x, но 0-x=-x.

Определение 3.7: Пусть - бинарная операция типа умножения с единицей,

определенная на множестве A и xy=e, где x,yA. Тогда x называют левым обратным

элементом к y и обозначают y-1, а y называют правым обратным элементом к x и

обозначают x-1. Если xy=yx=e, то x называют обратным к y, а y называют обратным к x.

Менее общим свойством является свойство идемпотентности.

Определение 3.8: Операция называется идемпотентной, если a аa=a.

Идемпотентными являются операции множеств.

Пусть на множестве A определены две бинарные операции - типа умножения и

типа сложения.

Определение 3.9: Если для a,b,cA abc=abac, то говорят, что

операция дистрибутивна по отношению к слева. Если для a,b,cA

bca=baca, то говорят, что операция дистрибутивна по отношению к

справа.

Утверждение 3.1: Если по отношению к умножению существует единица, то она

единственна, если существует обратный элемент, то он единственный.

Определение 3.10: Алгебра вида <A, 2>, где 2 - бинарная операция, определенная

на множестве A, называется группоидом.

Если 2 - операция типа умножения, то группоид называется мультипликативным и

его единичный элемент называется единицей и обозначается 1, а если 2 - операция типа

32

Page 33: Ethan Fromestudentpmr.ru/konspekt/disk-mat.doc · Web viewОсобое значение в этом плане имеет изучение современных разделов

сложения, то группоид называется аддитивным и его единичный элемент называется нулем

и обозначается 0.

3.3: Гомоморфизм и изоморфизм алгебры

Алгебры с различными типами имеют существенно различное строение. Если же

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

понятия гомоморфизма и изоморфизма.

Пусть даны два группоида < А ; > и <В ; >

Определение 3.11: Если существует отображение : А В, такое что

(x y) = (х) (y) для x,y А, то отображение называется гомоморфизмом.

Смысл данного определения в том, что независимо от того, выполнена ли сначала

операция в множестве А, а затем отображение , или сначала выполнено отображение

, а затем операция в В - результат одинаков.

x ; y x y

(x);(y) (x y) = (x) (y)

Рис.3.2. Коммутативная диаграмма.

Определение 3.12: Гомоморфизм, являющийся инъекцией, называется

мономорфизмом.

Определение 3.13: Гомоморфизм, являющийся сюръекцией, называется

эпиморфизмом.

Определение 3.14: Гомоморфизм, являющийся биекцией, называется изоморфизмом.

Рассмотрим две алгебры < А;+ ; > и <В ; ;>, они должны быть гомоморфны,

те. (x + y) = (x) (y) , (x y) = (x) (y)

Определение 3.15: Если область определения и область значений отображения

совпадают, гомоморфизм называется эндоморфизмом, а изоморфизм - автоморфизмом.

Пример: Пусть дано множество А, |A|=m и рассмотрим <P(А) ; , > и

<Р(A) ; , > и рассмотрим отображение :P(A)P(A), такое что каждому

множеству Х ставится в соответствие дополнение X до универсального, обозначается .

Покажем , что - автоморфизм.

Пусть множества X, Y Р(А), тогда

33

Page 34: Ethan Fromestudentpmr.ru/konspekt/disk-mat.doc · Web viewОсобое значение в этом плане имеет изучение современных разделов

( X Y) = = = (X ) ( Y )

( X Y) = = = ( X ) ( Y )

т.е. - изоморфизм, но так как область определения и область значения совпадают,

то -автоморфизм.

3.4: Полугруппы

Определение 3.16: Группоид <А; называется полугруппой, если относительно

определенной на нем бинарной операции имеет место ассоциативный закон, т.е.

а,b,с А а ( b с ) = (а b) с.

Примеры: <R; , <Q; + .

Определение 3.17: Если полугруппа обладает единицей, то ее называют моноидом.

Утверждение 3.1: Единица в полугруппе единственна.

Определение 3.18: Если в полугруппе имеет место коммутативный закон, то ее

называют абелевой. а,b А а b = b а

Прежде чем рассмотреть тему далее рассмотрим следующее определение.

Определение 3.19: Подстановкой n - ой степени называется взаимно однозначное

отображение множества А из n элементов в себя.

Пусть множество А = { а , а , а }, тогда шесть различных перестановок элементов

а , а , а :

(а , а , а ) , (а , а , а ) , (а , а , а ) , (а , а , а ) , (а , а , а ) ,(а , а , а ).

В случае, когда А = n всевозможных различных перестановок элементов

множества А будет n= 123…n (n-факториал). 3!=123=6.

Запишем всевозможные подстановки из трех элементов (всевозможные подстановки

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

перестановок.

- тождественная подстановка,

Определение 3.20: Произведением двух подстановок называется подстановка,

получаемая в результате последовательного выполнения сначала 1 - ой, а затем 2 - ой из

перемножаемых подстановок.

Пример:

34

Page 35: Ethan Fromestudentpmr.ru/konspekt/disk-mat.doc · Web viewОсобое значение в этом плане имеет изучение современных разделов

Результат умножения всевозможных подстановок можем определить таблицей Келли.

a b c d e f a a b c d e f

b b a d c f e c c e a f b d d d f b e a c e e c f a d b f f d e b c a

Если рассмотрим группоид со множеством подстановок, то вместе с определенной

на этом множестве операцией произведения подстановок, получим полугруппу, т.к.

выполняется ассоциативный закон относительно операции произведения подстановок.

М = {a,b,c,d,e,f }, M, - полугруппа, т.к. a(bc)=(ab)c, ad=bc, d=d a,b,cM.

Данная полугруппа - моноид. Единицей является подстановка а, т.к. аb = b b M.

Теорема 3.1: Любая полугруппа с единицей изоморфна некоторой полугруппе

подстановок.

Рассмотренная полугруппа подстановок не является абелевой т.к. dc cd, b f.

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

символов в теории формальных языков.

Пусть А ={х,у,z}, х,у,z будем рассматривать как символы, а не как объекты т.е. А -

алфавит. Определим множество А* как множество всех строк символов –

А* = {х,у,z,ху,хz,уz,хуz,… }. Множество А* - бесконечно. На множестве А* определим

операцию конкатенции ( ) следующим образом хуz z =хуzz ; = , A*.

Каждая строка имеет конечную длину , равную числу символов в , причем

разрешены повторения: х =1, хуzz =4. Для обозначения пустой строки введем символ

а0 А*, тогда |а0| = 0, а0 = а0 , таким образом, для А – алфавита, структура < A*, >

является моноидом, а а0 - единица по отношению к .

Данный пример важен, т.к. для достаточно большого алфавита А, содержащего,

например, все символы, доступные периферийному устройству компьютера, все языки

программирования являются подмножествами множества А* и, это понятие является

основным при изучении формальных языков.

Пусть дан группоид <A,>, рассмотрим уравнения а х = b и х а = b где а,b А.

Эти уравнения могут быть разрешимы или не разрешимы.

Определение 3.21: Если с А, а с = b и с а = b, то говорят, что уравнения

разрешимы.

Уравнение может иметь несколько решений.

35

Page 36: Ethan Fromestudentpmr.ru/konspekt/disk-mat.doc · Web viewОсобое значение в этом плане имеет изучение современных разделов

Определение 3.22: Группоид <А,> называется квазигруппой, если уравнение

ах=b и ха=b имеют единственное решение для а,bА.

Приведенный выше пример полугруппы подстановок есть квазигруппа, т.к. хd=e,

х=d и dу=е, у=d.

Различают квазигруппы с левой и правой единицей (рассмотренный выше пример

полугруппы подстановок есть квазигруппа с единицей).

3.5: Группы

Определение 3.23: Группой называется полугруппа <A;>, если

1) для аА еА, такой что ае=еа=а;

2) для аА а-1А , такой что аа-1=а-1а=е, т.е. существуют единичный и братный

элементы.

Т.к. <A;> - полугруппа , то в группе имеет место ассоциативный закон, т.е. для

а,b,сА а(bс)=(аb)с.

Если множество А конечно, то группа называется конечной.

Число, равное А, т.е. число элементов группы, называется порядком группы.

Группа, в которой операция коммутативна, называется абелевой.

Группа, все элементы в которой являются степенями одного и того же элемента,

называется циклической (циклическая группа всегда абелева).

Для абелевых групп операция обычно обозначается как + (сложение), а единичный

элемент - 0 (нуль).

Свойства групп

1. Для a,b уравнения aх=b, ya=b однозначно разрешимы внутри группы А.

2. (а b)-1 = b-1 а-1

Определение 3.24(2-е определение группы): Полугруппа называется группой, если

она является квазигруппой.

Примеры групп:

1. Множество рациональных чисел без нуля с операцией умножения является группой.

< Q\{0}; > Здесь e=1, a-1= .

2. Множество целых чисел с операцией сложения <Z; +>. Здесь e=0, a-1= -a.

36

Page 37: Ethan Fromestudentpmr.ru/konspekt/disk-mat.doc · Web viewОсобое значение в этом плане имеет изучение современных разделов

3. Алгебра <О ; >, где множество О - множество всех поворотов квадрата относительно

своего центра. Данная алгебра является циклической группой, т.к. (см. п. 3 из примера

§3.1.)

= /2=(/2)1, ==(/2)2, =3/2=(/2)3, =2 =(/2)4.

-1=, -1=, -1=, -1=.

Единичным элементом в этой группе служит поворот , а обратным к данному будет

поворот, дополняющий его до 2.

Теорема 3.2: Любая конечная группа изоморфна группе подстановок на множестве ее

элементов.

3.6: Кольцо

Определение 3.25: Алгебра < M ; ;> называется кольцом, если :

1) <M; > - абелева группа,

2) <M; > - полугруппа.

3) для а,b,сM а(bс)=(аb) (ас),

(аb)с=(ас)(bс).

т.е. M – кольцо, если

1) а,b,сM а(bс)=(аb)с,

2) а,bM аb=bа,

3) 0M а0=0a=а,

4) -aM а(-a)=(-a)а=0,

5) а,b,сM а(bс)=(аb)с,

6) для а,b,сM а(bс)=(аb)(ас)

(аb)с=(ас)(bс)

Примеры колец:

< Z ;+, > , <Zчетн. ; +, >,

<Zнечетн. ; +, > - не является кольцом, т.к. 3+5=8-четное число.

Определение 3.26: Кольцо называется коммутативным, если относительно

умножения для а,bM аb=bа.

Определение 3.27: Если относительно умножения кольцо обладает единицей, т.е.

еM ае=еа=а, то кольцо называется кольцом с единицей.

Определение 3.28: Если в кольце а 0 и b 0, но а b = 0, то кольцо называется

кольцом с делителями нуля, а а, b - делители нуля.

Пример кольца с делителями нуля:

37

Page 38: Ethan Fromestudentpmr.ru/konspekt/disk-mat.doc · Web viewОсобое значение в этом плане имеет изучение современных разделов

ПустьM=ZZ={(a,b)|a,bZ}. На данном множестве определим операции + и :

(a,b)+(c,d)=(a+c,b+d)

(a,b)(c,d)=(ac,bd)

Проверкой можно убедиться, что <M;+, > - кольцо, с единичным элементом (0,0):

(a,b)+(0,0)=(a+0,b+0)=(a,b)

Рассмотрим пары: (a,0)(0,0) и (b,0)(0,0).

(a,0)(b,0)= (a0,0b)=(0,0).

Свойства кольца

1) Т.к. < M ; > - абелева группа, то

а) нулевой элемент единственный.

б) обратный элемент единственный.

в) в сумме из n элементов скобки можно расставлять произвольно или опустить.

2) Т.к. <M; > - полугруппа, то в произведении из n элементов скобки можно

расставлять произвольно или опустить.

3) Уравнение а х = b имеет единственное решение. Это уравнение определяет

новую алгебраическую операцию на множестве М, называемую вычитанием: х = b – а.

Относительно введенной операции имеют место свойства :

а ( b - с ) = (аb) – (ас) ; ( b - с ) а = (bа) – (са)

4) а 0 = 0

Доказательство:

Для bM b ( - b ) = 0, а(b(-b))=аb-аb

5) b = - ( - b )

6) - аb = - ( аb )

( - а )( - b ) = аb

3.7: Поле

Определение 3.29: Коммутативное кольцо <M; , >, в котором существует хотя

бы один элемент а 0, что уравнение а х = b имеет единственное решение, где а,b M,

называется полем ,т.е. выполняются следующие аксиомы

1) а b = b а,

2) а ( b с) = (а b) с,

3) а 0 = 0 а = а,

38

Page 39: Ethan Fromestudentpmr.ru/konspekt/disk-mat.doc · Web viewОсобое значение в этом плане имеет изучение современных разделов

4) а ( - а ) = 0,

5) аb = bа,

6) а (bс ) = ( аb ) с,

7) а(b с) = аb ас,

8) уравнение ах = b,а 0 - разрешимо.

Примеры полей:

1) Множество действительных чисел с операциями сложения и умножения < R ; , >

2) < Q ; , >

Свойства полей

1) Любое поле содержит единицу, причем единственную. Минимальное поле

может состоять из 2 - ух элементов (из нулевого для сложения и единичного для

умножения {0, e}

2) Для а М а-1 М а а-1 = е причем единственный.

3) Рассмотрим решение уравнения а х = b, а 0

а-1ах = а-1b,

ех = а-1b,

х = а-1b,

х = .

Таким образом определили новую операцию - деление, относительно которой

выполняются свойства:

1) ad = bc, b,d 0.

2) , b,d 0.

3) = , b,d 0.

4) , b, c,d 0.

В поле нет делителей нуля.

39

Page 40: Ethan Fromestudentpmr.ru/konspekt/disk-mat.doc · Web viewОсобое значение в этом плане имеет изучение современных разделов

5) Если для некоторого целого, положительного числа n ( n , n > 0 )

выполняется равенство , где е - единица поля, то и а М, а 0

выполняется равенство = 0, верно и обратное утверждение.

В этом случае наименьшее из таких чисел n называется характеристикой поля, в

противном случае характеристикой поля считается число 0, а n называют аддитивным

порядком поля.

Теорема 3.3: Ненулевые элементы поля имеют один и тот же аддитивный порядок.

Аналогично определяется мультипликативный порядок, а именно как наименьшее из

целых положительных чисел m, таких что

Характеристика любого конечного поля является простым числом. Если поле имеет

характеристику 0, то оно бесконечно.

40

Page 41: Ethan Fromestudentpmr.ru/konspekt/disk-mat.doc · Web viewОсобое значение в этом плане имеет изучение современных разделов

Раздел 4. Решетки

4.1: Решетки

До сих пор рассматривали алгебры, как совокупность множества с определенными на

нем операциями.

Определение 4.1: Множества, на которых помимо операций заданы отношения,

называются алгебраическими системами.

Таким образом, алгебра является частным случаем алгебраической системы, когда

множество отношений пусто. Другим частным случаем алгебраической системы являются

модели, т.е. множества, с определенными на них только отношениями.

Понятие изоморфизма для алгебраической системы вводится подобно тому, как это

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

изоморфизме добавляется условие сохранения отношения. Рассмотрим часто встречающиеся

примеры алгебраических систем.

Пусть дано М - частично упорядоченное множество. Отношение частичного порядка

будем обозначать .

Определение 4.2: Для элементов а, b М их верхней гранью называется с М

такой, что а с, b с, а их нижней гранью называется d М такой, что d a, d b.

В общем случае для некоторых элементов а, b верхняя или нижняя грань может не

существовать, либо быть не единственной, причем различные верхние или нижние грани

могут быть не сравнимы между собой.

Определение 4.3: Решеткой называется частично упорядоченное множество, в

котором для а, b их пересечение а b = d - нижняя грань а и b такая, что любая другая

нижняя грань а, b меньше d, и а b = c - верхняя грань а и b такая, что любая другая

верхняя грань а и b больше c.

Элемент d называют еще наибольшей нижней гранью и обозначают d=inf(a,b)

(инфиниум), а элемент c – соответственно наименьшей верхней гранью и обозначают

c=sup(a,b) (супремум).

Операции , здесь понимаются как абстрактные операции алгебраической

системы и отличаются от теоретико-множественных операций пересечения и объединения,

рассмотренных ранее (хотя в частных примерах могут и совпадать).

Таким образом, решетка - это алгебраическая система с частично упорядоченным

множеством М и операциями взятия верхней и нижней граней < M; ; , > .

41

Page 42: Ethan Fromestudentpmr.ru/konspekt/disk-mat.doc · Web viewОсобое значение в этом плане имеет изучение современных разделов

Пересечение и объединение ассоциативны, поэтому можно говорить о пересечении и

объединении любого конечного подмножества элементов решетки.

Определение 4.4: Частично упорядоченное множество, в котором любое его

подмножество имеет наибольшую нижнюю и наименьшую верхнюю грань, называется

полной решеткой.

Примеры:

1) Любое полностью упорядоченное множество (например, ), можно превратить в

решетку, определив для а , b Z

a b = min { a ,b }

a b = max { a ,b }

2) На множестве N отношение частичного порядка определим следующим образом:

a b b a (а делит b или, b делится без остатка на a), тогда

a b = НОД (a ,b)

a b = НОК (a ,b).

3) для множества А множество всех его подмножеств назовем булеаном множества

А В(А) . Алгебра вида < B(A) ; , , > называется булевой алгеброй над А типа ( 2 ; 2 ; 1).

Элементами этой алгебры являются подмножества множества А, тогда булеан

{B(А)={AiAiA}любого множества частично упорядочен по отношению включения

Ai Aj Ai Aj.

Эта система будет является решеткой, элементами которой являются подмножества

множества А, а операциями взятия точной верхней и нижней границы будут являться

обычные операции и множеств.

Следовательно, <B(А); , , > - решетка.

4) Рассмотрим множество двоичных векторов длины n Bn, т.е. это вектора,

координаты которых принимают только значения 0 и 1. Два вектора находятся в

отношении частичного порядка, если:

(а1,а2,...аn) (b1,b2,...bn) , где аi,bi = 0 или 1 а1 b1 , а2 b2 ,...,аn bn .

В случае, если хотя бы для одной из координат векторов а j bj , то

(а1,а2,...аn) (b1,b2,...bn) .

Множество Bn упорядоченное таким образом является решеткой. В ней vw будет

вектор, в котором 1 стоят на тех и только тех позициях, на которых есть единицы либо в v,

либо в w , а vw - вектор, в котором 1 есть и в v и в w.

(1,0,0,1) (1,0,1,1),

(1,0,0,1)(1,0,1,1)=(1,0,1,1), (1,0,0,1)(1,0,1,1)=(1,0,0,1).

42

Page 43: Ethan Fromestudentpmr.ru/konspekt/disk-mat.doc · Web viewОсобое значение в этом плане имеет изучение современных разделов

Между Bn и булеаном множества А мощности n существует взаимно однозначное

соответствие, которое представляет собой изоморфизм соответствующих решеток.

<Bn ; , , > и <B(А) ; , , > - изоморфные.

Конечные решетки наглядно иллюстрируются диаграммами Хассе, в которых

элементам соответствуют точки; из точки a ведет стрелка в точку b, если a<b и нет такого c,

что a<c<b.

Рассмотрим решетку со множеством B3={(0,0,0), (0,0,1), (0,1,0), (0,1,1), (1,0,0),

(1,0,1), (1,1,0), (1,1,1)}

Рис. 4.1. Решетка на множестве B3 .

На языке диаграмм выражаются все основные понятия, связанные с решетками:

- а b , если на диаграмме существует путь из стрелок, связывающий а с b .

- верхняя грань а,b - это элемент, в который есть путь из а и из b .

- нижняя грань а,b - это элемент, из которого есть путь в а и в b.

Упорядоченное множество не является решеткой, если:

1) какие либо два элемента не имеют верхней или нижней грани.( Рис.4.2.а)

Для а, b нет нижней грани. Для d, e нет верхней грани.

Рис.4.2.

2) когда для пары элементов наименьшая верхняя или наибольшая нижняя грани не

единственны (Рис.4.2. б) Для b и с наименьшая верхняя грань d и e. Для d и e наибольшая

нижняя грань b и с.

43

(0,1,1)

(0,0,1)

(1,1,1)

(1,0,1) (1,1,0)

(1,0,0)(0,1,0)

(0,0,0)

d e

b c

a

d e

b c

a

f

а) б)

Page 44: Ethan Fromestudentpmr.ru/konspekt/disk-mat.doc · Web viewОсобое значение в этом плане имеет изучение современных разделов

Определение 4.5: Решетка называется дистрибутивной, если:

А(BС)=(АB)(АС),

А(BС)=(АB)(АС).

Не все решетки дистрибутивны:

B(СD)=BЕ=B,

(BC)(BD)=АА=А (рис.4.3)

Рис.4.3. Пример недистрибутивной решетки.

Утверждение 4.1: Пусть в дистрибутивной решетке <M; , , >

xy=xz и xy=xz , тогда y=z.

Пусть <M; , , > - решетка , 0,1 M 0 х 1 х M .

Тогда: х 1 = 1 х х = х

х 0 = х х 0 = 0

Определение 4.6: Решетка называется решетка с дополнением, если х M

M и х = 1 х = 0, в этом случае - дополнение х .

Утверждение 4.2: Если M - дистрибутивная решетка с дополнениями, то

дополнение единственно.

Определение 4.7: (2-е определение решетки) Частично упорядоченное множество

M называется решеткой тогда и только тогда, когда , - конечное, sup X и

inf X.

Если M – решетка и ней определен inf M, то он обозначается 0. Соответственно sup M

обозначается 1. По определению sup=0.

Все конечные решетки – полные, в противном случае, любая решетка может быть

дополнена до полной.

44

d

e

b c

a

Page 45: Ethan Fromestudentpmr.ru/konspekt/disk-mat.doc · Web viewОсобое значение в этом плане имеет изучение современных разделов

Раздел 5. Алгебра логики

§ 5.1: Логические функции

Рассмотрим множество В={0, 1}. Это не числа в обычном смысле, хотя и

похожи на них. Наиболее распространенная их интерпретация - логическая: “да” - “нет”,

“истинно” - “ложно”, т.е. будем рассматривать 0 и 1 как формальные символы.

Алгебра, образованная множеством В вместе со всеми возможными операциями на

нем, называется алгеброй логики.

Функцией алгебры логики (или логической функцией) от n переменных называется n-

арная операция на В. Первый термин более точен, но второй более распространен.

Итак, логическая функция f(x1, .. xn) - это функция принимающая значения 0, 1, где

х1, .., хn также принимают значения 0 и 1.

Множество всех логических функций обозначается Р2, множество всех логических

функций n - переменных - Р2 (n).

Всякая логическая функция n переменных может быть задана таблицей (табл.5.1), в

левой части которой перечислены все 2n наборов значений переменных, (т.е. двоичных

векторов длины n), а в правой части - значения функции на этих наборах. Например, данная

таблица задает функцию 3-х переменных.

Табл.5.1.

Наборы, на которых функция f принимает значение 1, часто называются единичными

наборами функции f, a множество единичных наборов - единичным множеством f.

Соответственно наборы, на которых f принимает значение 0, называются нулевыми

наборами f.

В таблице наборы расположены в определенном, лексикографическом порядке,

который совпадает с порядком возрастания наборов, рассматриваемых как двоичные числа.

45

Page 46: Ethan Fromestudentpmr.ru/konspekt/disk-mat.doc · Web viewОсобое значение в этом плане имеет изучение современных разделов

При любом фиксированном упорядочении наборов логическая функция n переменных

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

функций n - переменных равно числу различных двоичных векторов длины 2n т.е. .

Определение 5.1: Переменная xi в функции f (x1, .. xi-1, xi xi+1, .. xn) называется

несущественной (или фиктивной), если

f (x1, .. xi -1, 0 xi + 1, .. xn) = f (x1, .. xi-1, 1, xi+1, .. xn).

(5.1)

При любых значениях остальных переменных, изменение значения x i не меняет

значения функции. По сути, функция f (x1, .., xn) зависит от n-1 переменной, т.е.,

представляет собой функцию g (x1, .. xi -1, xi + 1, .. xn) от n-1 переменной. Говорят, что

функция f получена из функции g введением фиктивной переменной, причем эти функции

по определению считаются равными.

Например, f (x1, x2, x3) = g (x1, x2) означает, что при любых значениях х1 и х2 f = g независимо

от значения х3.

Иногда полезно вводить фиктивные переменные. Благодаря этому, всякую функцию

от n переменных, можно сделать функцией любого большего числа переменных, т.е. любую

конечную совокупность функций можно будет считать зависящей от одного и того же числа

переменных (являющихся объединением множеств переменных всех взятых функций), что

часто удобно.

Примеры логических функций:

1. Логические функции одной переменной f(x) (табл. 5.2). Различных функций одной

переменной будет = 22 = 4. Функции f0=0 и f3=1 - константы 0 и 1 соответственно. Их

значения не зависят от значения переменной, следовательно, переменная х для них

несущественна. f1 - “повторяет“ значение х, т.е. f1(х) = х. Функция f2 называется отрицанием

х (или функцией НЕ) и обозначается или . Ее значение противоположно значению х.

Табл. 5.2.

2. Примеры логические функции 2-х переменных (табл.5.3) – f(x1,x2). Различных

функций двух переменных будет 16 : = 24 = 16

46

Page 47: Ethan Fromestudentpmr.ru/konspekt/disk-mat.doc · Web viewОсобое значение в этом плане имеет изучение современных разделов

Табл. 5.3.

f0(x1, x2) = 0 - константа нуль.

f1(x1, x2) = x1^x2 - конъюнкция (функция И, логическое умножение) х1 и х2. Обозначается: х1

х2, х1 & x2, x1x2.

f2(x1, x2) = x1 x2 = = = - левая коимпликация, читается “не если х1, то х2”.

f3(x1, x2) = x1

f4(x1, x2) = x1 x2= = = -правая коимпликация, читается “не если х2, то х1”.

f5(x1, x2) = x2

f6(x1, x2) = x1 x2 = = - сложение по модулю 2 (исключающее

ИЛИ, функция неравнозначности, неэквивалентности).

f7(x1, x2) = x1 x2 – дизъюнкция (функция ИЛИ, логическое сложение).

f8(x1, x2) = x1 x2= x1 x2 = = - функция Вебба или стрелка Пирса.

f9(x1,x2)=x1x2= = - функция эквивалентности, равнозначности.

f10(x1, x2) = - отрицание, функция НЕ, логическое отрицание.

f11(x1, x2) = x1 x2 = - правая импликация, “если х2 то х1”.

f12(x1, x2) = - отрицание.

f13(x1, x2) = x1 x2 = - левая импликация “если x1, то x2”.

f14(x1, x2) = x1x2 = = - функция (штрих) Шеффера.

f15(x1, x2) = 1 - константа единица.

В f3 и f12 х2 - фиктивная. В f5 и f10 - х1 - фиктивная переменная.

Таким образом, из 16-ти функций двух переменных, 6 функций имеют фиктивные

переменные. С ростом числа переменных n, доля функций, имеющих фиктивные

переменные, убывает и стремится к нулю.

§ 5.2: Суперпозиции и формулы

47

Page 48: Ethan Fromestudentpmr.ru/konspekt/disk-mat.doc · Web viewОсобое значение в этом плане имеет изучение современных разделов

Определение 5.2. Суперпозицией функций f1, .. fm называется функция f

полученная с помощью подстановок этих функций друг в друга и переименованием

переменных, а формулой называется выражение, описывающее эту суперпозицию.

Понятие суперпозиции очень важно в алгебре логики.

Пусть дано множество (конечное или бесконечное) исходных функций

= {f1, f2, .. fm}. Символы переменных x1, .., xn... будем считать формулами глубины 0.

Формула F имеет глубину k + 1, если F имеет вид fi (F1, .., Fnl) где fi , ni - число

аргументов f i, а F1, .., Fnl называются подформулами F- это формулы, максимальная из

глубин которых равна k; fi называется внешней или главной операцией формулы F. Все

подформулы формул F1, .., Fni так же называются подформулами F.

Пример:

f2 (x1, x2, х3) - формула глубины 1.

f3 (f1(х3, x2), f2 (x1, f3 (x1, x2) ) - формула глубины 3, содержащая одну подформулу глубины 2

и две подформулы глубины 1.

В дальнейшем конкретные формулы будем записывать в виде, когда знаки функций

стоят между аргументами (инфиксная форма записи).

Пример, если f1 - дизъюнкция, f2 - конъюнкция, f3 - сложение по mod 2, то формула

примет вид:

(x3 x2) (x1 (x1 x2)) (5.2)

Определение 5.3: Формулы, содержащие только символы переменных, скобки и

знаки функций из множества называются формулами над .

Всякая формула, выражающая функцию f как суперпозицию других функций, задает

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

Формулу можно вычислить, если вычислены значения всех ее подформул.

Вычислим (5.2), если x1=1, x2 = 1, х3 = 0.

х3 x1 = 1 x1 (x1 x2) = x1 0 = 0

(x3 x1) (x1 (x1 x2)) = 1 0 = 1

Таким образом, формула каждому набору значений аргументов ставит в соответствие

значение функции и, следовательно, может служить наряду с таблицей способом задания и

вычисления функции. О формуле, задающей функцию, говорят, что она реализует или

представляет эту функцию.

В отличии от табличного задания представление функции формулой не единственно.

Пример: если в качестве исходного множества функций зафиксировать функции И,

ИЛИ, НЕ, то функцию Шеффера можно представить формулами.

x1 | x2 = = ., а функцию Вебба x1 x2 = . (5.3)

48

Page 49: Ethan Fromestudentpmr.ru/konspekt/disk-mat.doc · Web viewОсобое значение в этом плане имеет изучение современных разделов

Определение 5.4: Формулы, представляющие одну и ту же функцию, называются

эквивалентными или равносильными. Эквивалентность формул обозначается знаком =.

f14 (x1, x2) = =

Чтобы выяснить, являются ли формулы эквивалентными, существует стандартный

метод: по каждой формуле строится таблица, и затем они сравниваются. Т.е. для каждого

набора значений переменных проверяется, равны ли на нем значения формул.

Этот метод требует 22n вычислений (обе формулы зависят от n переменных) и

бывает громоздким. Существуют и другие методы установления эквивалентности формул и

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

§ 5.3: Булева алгебра функций и эквивалентные преобразования в ней

Рассмотрим представления логических функций в виде суперпозиции функций И,

ИЛИ, НЕ.

Определение 5.5: Формулы, содержащие только знаки & , переменных и

скобок, называются булевыми формулами.

Теорема 5.1: Всякая логическая функция может быть представлена в виде булевой

формулы, т.е. как суперпозиция & .

Пусть функция f1 задана формулой F1 а f2 - F2. Подстановка F1 и F2 в дизъюнкцию

x1 x2 дает формулу F1 F2. Если F1= F1 и F2 = F2, то F1 F2 = F1 F2. Поэтому

дизъюнкцию можно рассматривать как бинарную операцию на множестве логических

функций, которая каждой паре функций f1 и f2, независимо от выражающих их формул,

однозначно ставит в соответствующую функцию f1 f2. Аналогично, конъюнкцию можно

рассматривать как бинарную операцию, а отрицание - как унарную.

Определение 5.6: Алгебра < Р2; & > - основным множеством которой

является все множество логических функций, а операциями & - называется булевой

алгеброй логических функций, операции булевой алгебры также называются булевыми

операциями.

Свойства булевых операций

Ассоциативность :

х1 (х2 х3) = (х1 х2) х3 х1 (x2 x3) = (x1 x2) x3 (5.4)

Коммутативность:

х1 х2 = х2 х1 х1 x2 = x2 x1 (5.5)

Дистрибутивность:

49

Page 50: Ethan Fromestudentpmr.ru/konspekt/disk-mat.doc · Web viewОсобое значение в этом плане имеет изучение современных разделов

x1 (x2 x3) = x1 x2 x1 x3 (5.6)

x1 (x2 x3) = (x1 x2) (x1 x3) (5.7)

Идемпотентность:

х1 х1 = х х x = x (5.8)

Закон двойного отрицания:

= х (5.9)

Cвойства констант

х 1 = x x 0 = 0 = 1 (5.10)

x 0 = x x 1 = 1 = 0

Законы де Моргана

= (5.11)

=

Закон противоречия

х = 0 (5.12)

Закон “исключенного третьего”

x = 1 (5.13)

Равенства (5.4)-(5.13) остаются верными при подстановке вместо переменных любых

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

Важно лишь соблюдать правило подстановки формулы вместо переменной: при подстановке

формулы F вместо переменной х все вхождения переменной х в исходное соотношение

должны быть одновременно заменены формулой F.

Например, x = 1

F = 1 верно

F = 1 неверно.

В результате подстановки получаем новые эквивалентные соотношения.

Равенство F1 = F2 означает, что F1 и F2 описывают одни и ту же логическую функцию

f1. Если какая–либо формула F содержит F1 в виде подформулы, то замена F1 на F2 не

изменяет элемента булевой алгебры, над которым производятся операции в формуле F;

поэтому F’, полученная из F заменой F1 на F2, эквивалентна F. Это правило замены

подформул, которое также позволяет получать эквивалентные формулы.

Разница между подстановкой и заменой в том, что при подстановке

переменная заменяется на формулу; формула может быть любой, но необходима

одновременная ее подстановка вместо всех вхождений переменных. При замене подформул

50

Page 51: Ethan Fromestudentpmr.ru/konspekt/disk-mat.doc · Web viewОсобое значение в этом плане имеет изучение современных разделов

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

При этом одновременная замена всех вхождений подформулы необязательна.

Пример: Рассмотрим соотношение: =

1) Вместо х1, подставим x3. Получим = Две формулы не

эквивалентны исходным, но эквивалентны между собой.

2) В правой части полученного соотношения заменим формулой

эквивалентной ей в силу (5.11), а в полученной подформуле заменить на эквивалентную

ей в силу (5.9) формулу x1, тогда все формулы в цепи преобразований эквивалентны.

= = =x1

Преобразования, использующие эквивалентные соотношения и правило замены,

называются эквивалентными преобразованиями.

В булевой алгебре принято опускать скобки в следующих случаях:

1) при последовательном выполнении нескольких конъюнкций и дизъюнкций

(х1 х2) х3 х1 х2 х3

2) если они являются внешними скобками у конъюнкции, например, вместо

(х1 (х2 x3)) (x4 x5) пишут х1 (х2 x3) x4 x5.

Рассмотрим основные эквивалентные преобразования в булевой алгебре и новые

соотношения.

1) Упрощение формул (т.е. получение эквивалентных, содержащих меньшее число

символов)

а) поглощение х xy = x (5.14 а)

x (x y) = x (5.14 б)

б) склеивание (x y) (x ) = x (5.15 а)

xy x = x (5.15 б)

xy x = x (y ) = x 1= x ч.т.д.

в) обобщенное склеивание

xy xz y = xz y (5.16 а)

(xy)(xz)(y )= (xz) y ) (5.16 б)

г) x y = x y (5.17 а)

x ( y) = x y (5.17 б)

2) Приведение к нормальной форме

§ 5.4: Приведение формулы к нормальной форме. Совершенные НФ

51

Page 52: Ethan Fromestudentpmr.ru/konspekt/disk-mat.doc · Web viewОсобое значение в этом плане имеет изучение современных разделов

Рассмотрим представления логических функций в виде суперпозиции функций И,

ИЛИ, НЕ ( &, , ).

Для этого введем несколько определений.

Пусть дана логическая функция от n переменных f (x1, .. xn).

Определение 5.7: Конъюнкция, содержащая переменные хi с отрицаниями и без них,

называется элементарной конъюнкцией (э.к).

x1 x2, x1

Замечание: Переменная xi с отрицанием или без также будет считаться элементарной

конъюнкцией.

x1,

Аналогично определяется элементарная дизъюнкция.

Определение 5.8: Дизъюнкция, содержащая переменные хi с отрицаниями и без них,

называется элементарной дизъюнкцией (э.д.).

x1 x2, x1

Замечание: Переменная xi с отрицанием или без также будет считаться элементарной

дизъюнкцией.

x1,

Замечание: Переменная xi - элементарная дизъюнкция.

Определение 5.9: Конъюнктивной нормальной формой (КНФ) логической формулы

называется формула, равносильная данной, состоящая из конъюнкции элементарных

дизъюнкций.

Элементарная дизъюнкция будет являться КНФ.

(x1 x2)( x1 ) x1 x2 x3

Определение 5.10: Дизъюнктивной нормальной формой (ДНФ) логической формулы

называется формула, равносильная данной, состоящая из дизъюнкции элементарных

конъюнкций.

Элементарная конъюнкция будет являться ДНФ.

x1 x2 x1 , x1 x2 x1

Формула приводится к НФ следующим образом:

1) приводится к приведенному виду, т.е. к формуле, равносильной данной и не

содержащей других логических операций кроме &, ,

С помощью 5.9, 5.11 все отрицания опускаются до переменных.

2) используя законы 5.6, 5.7 раскрыть скобки:

x (x z) = xy xz приводим к ДНФ

52

Page 53: Ethan Fromestudentpmr.ru/konspekt/disk-mat.doc · Web viewОсобое значение в этом плане имеет изучение современных разделов

x (y z) = (x y) (x z) приведем к НФ.

3) С помощью 5.8, 5.12, 5.13, 5.10 удалить повторение переменных, элементарной

конъюнкции (дизъюнкции) и константы.

Определение 5.11: Конъюнкция n различных переменных или их отрицаний

называется совершенной элементарной конъюнкцией (с.э.к.).

x1x2 - совершенная элементарная конъюнкция из x1, x2, .

Аналогично определяется совершенная элементарная дизъюнкция.

Определение 5.12: Дизъюнкция n различных переменных или их отрицаний

называется совершенной элементарной дизъюнкцией (с.э.д.).

x1x2 - совершенная элементарная дизъюнкция из x1, x2, .

Определение 5.13: Под совершенной конъюнктивной нормальной формой (СКНФ)

формулы понимается формула равносильная данной, состоящая из конъюнкции

совершенных элементарных дизъюнкций.

Например: (x1 x2 x3)(x1 x2 ) x1x2 - CКНФ.

Замечание: Совершенная элементарная дизъюнкция будет считаться СКНФ.

Замечание: Любая КНФ может быть приведена к СКНФ.

Формула приводится к СКНФ следующим образом:

1) Приведем к КНФ.

2) На основании х = 1 x1 = x отбрасываем все элементарные дизъюнкции,

содержащие переменные, вместе со своими отрицаниями.

3) На основании x x = x в э.д. опускаем идентичные переменные переменные до

одной.

4) На основании y=(yx)(y ) дополняем элементарную дизъюнкцию

отсутствующими переменными.

5) На основании х х = х опускает идентичные элементарные дизъюнкции до одной.

6) Полученная формула и будет СКНФ.

Пример: (x y) (x z)= (x ) ( y) (x z) = (x z) (x ) ( y z) ( y

)(x y z) (x z)= (x ) ( y z) ( y )(x y z) (x z)

Определение 5.14: Под совершенной дизъюнктивной нормальной формой (СДНФ)

формулы понимается формула, равносильная данной, состоящая из дизъюнкции

совершенных элементарных конъюнкций.

Например: х1 х2 х3 x1 x3 - CДНФ.

Замечание: Совершенная элементарная конъюнкция будет считаться CДНФ.

Замечание: Любая ДНФ может быть приведена к СДНФ. Формула приводится к СДНФ

следующим образом:

53

Page 54: Ethan Fromestudentpmr.ru/konspekt/disk-mat.doc · Web viewОсобое значение в этом плане имеет изучение современных разделов

1) Приводим формулу к ДНФ.

2) В ДНФ согласно х = 0 и х 0 = x oтбрасываем элементарные конъюнкции,

содержащие переменные со своими отрицаниями.

3) Из оставшихся элементарных конъюнкций согласно хх = х опускаем идентичные

переменные до одной.

4) Дополняем оставшиеся элементарные конъюнкции до совершенных согласно

равносильности

5) На основании х x = x из полученной формулы опускаем идентичные с.э.к. до

одной.

6) Полученная формула и будет СДНФ.

Пример: Привести к СДНФ.

(x y) (x z)= (x y ) (x z) = x x y z = x y z = x y z x y z

Если функция задана таблицей истинности, то, чтобы записать ее формулу в СДНФ

поступают следующим образом:

1. Рассмотрим все те наборы переменных, на которых функция принимает значение

2. Для каждого из отобранных наборов составляют совершенную элементарную

конъюнкцию из переменных, если xi=1 или их отрицаний, если xi=0,

принимающую на данном наборе значение 1.

3. Из полученных с.э.к. составляем СДНФ.

Аналогично, чтобы записать формулу логической функции в СКНФ поступают

следующим образом:

1. Рассмотрим все те наборы переменных, при которых функция принимает значение

0.

2. Для каждого из отобранных наборов составляем с.э.д. из переменных если xi=0

или их отрицаний, если xi=1, принимающую на данном наборе значение 0.

3. Из полученных с.э.д. составляем СКНФ.

Пример: По таблице истинности (табл. 5.4) записать формулу в 1) СДНФ и 2) СКНФ.

1. f (x1, x2 x3) = x3 x2 x1

2. f ( x1, x2, x3) = ( x1 ) ( x2 ) ( x3) ( )

Табл.5.4.

54

Page 55: Ethan Fromestudentpmr.ru/konspekt/disk-mat.doc · Web viewОсобое значение в этом плане имеет изучение современных разделов

От ДНФ к КНФ и наоборот можно всегда перейти либо с помощью

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

Например: Перейти от ДНФ к КНФ с помощью закона двойного отрицания.

xy z = = = = = =

= = = = =

§ 5.5: Двойственность

Определение 5.15: Функция f1(x1, .., xn) называется двойственной функции

f2(x1, .., xn), если

f1 (x1, .., xn) = (5.18)

Если взять отрицание над обеими частями равенства (5.18) и подставляя вместо

x1, .., xn получаем = f2 (x1, .., xn), т.е. f2

двойственна к f1.

Т.о. отношение двойственности между функциями симметрично. Для любой

функции двойственная функция определяется однозначно. Может оказаться, что функция

двойственна самой себе. В этом случае она называется самодвойственной.

Пример: двойственна & (в силу правил де Моргана)

1 двойственна 0

отрицание - самодвойственная функция

xyxzyz - самодвойственная функция

Пример: Рассмотрим свойство самодвойственности булевой функции f (a,b,c,d)=

.

55

Page 56: Ethan Fromestudentpmr.ru/konspekt/disk-mat.doc · Web viewОсобое значение в этом плане имеет изучение современных разделов

Построим таблицу 22n (n=4) (табл.5.5.), в которой в первой строке располагаются

десятичные эквиваленты, соответствующие наборам (a,b,c,d), во второй значения

функции f (a,b,c,d), которые соответствуют этим наборам.

Табл. 5.5.

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

1 0 1 0 1 1 1 0 0 0 0 0 1 1 0 0

Функция самодвойственная, если на любой паре противоположных наборов

(наборов, сумма десятичных эквивалентов которых равна 2n1) функция принимает

противоположные значения

Функция f (a,b,c,d) не является самодвойственной: f (7)= f (8).

Принцип двойственности

Если в формуле F, представляющей функцию f все знаки функций заменить

соответственно на знаки двойственных функций, то полученная формула F* будет

представлять функцию f*, двойственную f.

В булевой алгебре принцип двойственности имеет конкретный вид: Если в формуле

F, представляющий функцию f, все конъюнкции заменить на дизъюнкции, дизъюнкции на

конъюнкции, 1 на 0, 0 на 1, то получим формулу F*, представляющую функцию f*,

двойственную f.

Если функции равны, то и двойственные им функции равны. Это позволяет с

помощью принципа двойственности получать новые эквивалентные соотношения, переходя

от равенства F1 = F2 с помощью указанных замен к равенству F1* = F2*.

Пример: x xy = x и x (x y) = x.

= и =

§ 5.6: Разложение булевой функции по переменным

Рассмотрим разложение булевой функции f(x1,x2,…,xn)по k переменным (для

определенности по x1,x2,…,xk) – разложение Шеннона.

Теорема 5.2: Любая функция f(x1,x2,…,xn) представима в виде разложения Шеннона:

(5.19)

где i=0,1; i=1,…,k,

56

Page 57: Ethan Fromestudentpmr.ru/konspekt/disk-mat.doc · Web viewОсобое значение в этом плане имеет изучение современных разделов

Следствие 5.1: Предельное разложение Шеннона (k=n) булевой функции f(x1,x2,

…,xn), не равной 0, имеет вид:

(5.20)

Предельное разложение Шеннона булевой функции f(x1,x2,…,xn) является ее СДНФ.

В алгебре Буля справедлив принцип двойственности, согласно которому имеем

следующие двойственные разложения Шеннона булевой функции f(x1,x2,…, xk , xk+1,… ,xn):

По k переменным

(5.21)

Двойственное предельное разложение:

(5.22)

Двойственное предельное разложение Шеннона булевой функции f(x1,x2,…,xn)

является ее СКНФ.

§ 5.7: Полнота и замкнутость

Определение 5.16: Система функций называется функционально полной, если

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

суперпозицией функций из .

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

как суперпозиция &, , , то система 0 = {&, , }функционально полная. Функционально

полной будет и любая система , через функции которой можно выразить &, , .

Если все функции функционально полной системы * представлены

формулами над системой , то также функционально полная. Говорят, что сводится к

*.

Пример:

1) системы 1={&, } и 2={, } функционально полны.

Из законов де Моргана и двойного отрицания следует, что в каждой из этих 2-х систем

недостающая до 0 функция выражается через остальные две

= =

0 можно считать избыточной, т.к. удаление или & не влияет на полноту.

2) 3 = {|} штрих Шеффера 4 = {}

= x | x = x x

57

Page 58: Ethan Fromestudentpmr.ru/konspekt/disk-mat.doc · Web viewОсобое значение в этом плане имеет изучение современных разделов

x1 x2 = = (x1 x2) (x1 x2)

x1 x2 = = (x1 | x2) | (x1 | x2)

3 сводится к 1, а 4 к 2.

3) 5 = {&, , 1} - функционально полная, так как = х 1 и, 5 сводится к 1.

Функционально полная система функций называется базисом, если удаление из нее

любой логической функции нарушает ее функциональную полноту.

1. { } базис Вебба ( или базис Пирса {} )

2. {|} базис Шеффера

3. { , }

4. {, 0} импликантивный базис

5. {; }

6. {, }

7. { , } коимпликативный базис

8. {, } импликантивный базис

9. {&, } конъюнктивный базис Буля

10. { , } дизъюнктивный базис Буля

11. { , 1} коимпликативный базис

12. {, &, 0}

13. {, , 0}

14. {, &, }

15. {, , }

16. {, &, 1} базис Жегалкина

17. {, , 1}

Определение 5.17: Множество М логических функций называется замкнутым

классом, если любая суперпозиция функций из М снова принадлежит М.

Всякая система логических функций порождает некоторый замкнутый класс, а

именно класс, состоящий из всех функций, которые можно получить суперпозициями из .

Такой класс называется замыканием и обозначается []. Очевидно, что если М -

замкнутый класс, то [M] = М, а если М - функционально полная система, то [M] = Р2.

Пример: Множество всех дизъюнкций, т.е. функций вида х1 x2 ... xn является

замкнутым классом, т.к. подстановка формул вида хi xj в формулу такого же вида, дает

формулу такого же вида.

Примером замкнутого класса является класс самодвойственных функций.

58

Page 59: Ethan Fromestudentpmr.ru/konspekt/disk-mat.doc · Web viewОсобое значение в этом плане имеет изучение современных разделов

§ 5.8: Алгебра Жегалкина и линейные функции

Определение 5.18: Алгебра над множеством логических функций с двумя

бинарными операциями & и называется алгеброй Жегалкина.

В алгебре Жегалкина выполняются следующие соотношения:

1. x y = y x (5.23)

2. x (y z) = xy xz (5.24)

3. x x = 0 (5.25)

4. x 0 = x, (5.26)

а также соотношения булевой алгебры, относящейся к конъюнкции и константам

(5.4), (5.5), (5.8), (5.10).

Отрицание и дизъюнкция выражается следующим образом:

5. = x 1 (5.27)

6. x y = =( x 1) (y 1) 1 = xy x y (5.28)

Полученная формула, имеющая вид суммы по mod 2, то есть полином (многочлен) по

mod 2, называется полиномом Жегалкина для данной функции.

От булевой формулы всегда можно перейти к формуле алгебры Жегалкина и

следовательно, полиному Жегалкина, используя равенства (5.27), (5.28) и равенство,

вытекающее из (5.29): если f1 f2 = 0, то f1 f2 = f1 f2. Оно, в частности, позволяет заменить

знак дизъюнкции знаком , если исходная формула СДНФ.

Пример : x1 x2 = x1 x2 (x1 1) ( x2 1) = x1 x2 1.

Теорема 5.3: Для всякой логической функции существует полином Жегалкина,

причем единственный.

Определение 5.19: Функция, у которой полином Жегалкина имеет вид

01x12x2nxn, где i = 0 или 1, i=0,…,n, называется линейной.

Все функции одной переменной линейны. От двух переменных линейными являются

функции сумма по mod 2 и эквивалентность.

Пример: Выясним, является ли булева функция линейной.

Предположим, что она линейная и, следовательно, представима в виде

f (a,b,c,d)=c 0caacbb ccc cdd

Найдем неизвестные коэффициенты c0, ca, cb, cc, cd, исходя из предположения о

линейности этой функции. Зафиксируем набор 0000:

f (0,0,0,0)=1,

59

Page 60: Ethan Fromestudentpmr.ru/konspekt/disk-mat.doc · Web viewОсобое значение в этом плане имеет изучение современных разделов

с0 ca0 cb0 cc0cd0=c0, c0=1.

Аналогично определим коэффициенты ca, cb, cc, cd, фиксируя соответственно наборы

1000, 0100, 0010, 0001. Имеем:

f(1,0,0,0)=

1 ca1 cb0 c00 cd0 = 1 ca,

1 ca = 0, ca=1,

f (0,1,0,0)= =11=1,

1 10 cb1 cc0 cd0 = 1 cb,

1 cb = 1, cb=0,

f (0,0,1,0)= =10=1

1 10 00 cc1 cd0 = 1 cc,

1 cc = 1, cc=0,

f(0,0,0,1)= =00=0,

1 10 00 00 cd1 = 0,

1 cd=0, cd=1.

Окончательно получаем

f (a,b,c,d)=1 a d.

Это равенство в каждой из остальных 11 точек не сохраняется. Действительно, в

точке (1,1,1,1) имеем

f (1,1,1,1)= 00=0,

111=1, 01.

Следовательно, сделанное предположение является неверным. Функция f

(a,b,c,d) нелинейная

§ 5.9: Монотонные функции

Рассмотрим класс монотонных функций.

Для двух векторов = (1, ..,n) и = (1, ..,n) , тогда и только тогда, когда

ii i = 1, .., n.

Определение 5.20: Функция f (xi, .., xn) называется монотонной, если для любых

двоичных наборов и длины n из того, что следует, что f () f ().

Пример: константа 0,1 и функция х монотонны, - немонотонна.

х1 х2.. xn и x1 x2 ...xn - монотонны.

Анализ таблиц истинности может быть громоздким.

Пример: Для тестирования функций на монотонность построим

гиперкуб и проанализируем распределение в нем значений этой функций.

60

Page 61: Ethan Fromestudentpmr.ru/konspekt/disk-mat.doc · Web viewОсобое значение в этом плане имеет изучение современных разделов

Гиперкубом (n-мерным кубом) называется граф H, каждой вершине которого взаимно

однозначно соответствует двоичный вектор. I-тый ярус гиперкуба i=0,1,…,n-1 содержит

вершины, такие, что соответствующие им двоичные векторы которых содержат i единиц.

Две вершины соединены ребром, если соответствующие им двоичные векторы отличаются в

одном и только одном разряде.

Если найдется хотя бы одно ребро, концам которого сопоставимы двоичные наборы

( * 1,* 2,…,*n ) и (1,2,…,n ) вида ( *1,*2,…,*n) ( 1,2,…,n ) для которых

f (*1,*2,…, n ) f (1,2,…, n) то такая булевая функция является немонотонной, другими

словами, если в гиперкубе найдется хотя бы один 0, покрывающий 1.

61

Page 62: Ethan Fromestudentpmr.ru/konspekt/disk-mat.doc · Web viewОсобое значение в этом плане имеет изучение современных разделов

Пример:

Рис. 5.1. Гиперкуб B4.

Рассматриваемая булева функция немонотонная:

1,0,0,0) (0,0,0,0) ,

f (1,0,0,0) f (0,0,0,0) (Рис.5.1).

Теорема 5.4: Всякая булева формула, не содержащая отрицаний, представляет

монотонную функцию, отличную от 0 и 1.

Обратная теорема 5.5: Для любой монотонной функции, отличной от 0 и 1,

существует представляющая ее булевая формула без отрицаний.

Теорема 5.6: Множество всех монотонных функций является замкнутым классом.

Следствие 5.2: Класс монотонных функций является замыканием системы функций

{&, , 0, 1}.

Каковы же необходимые и достаточные условия функциональной полноты для

произвольной системы функций ?

Как известно полная, если &, и являются суперпозициями функций из .

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

операции.

Лемма 5.1:(о немонотонных функциях) Если функция f (х1, .., хn) немонотонна, то

подстановкой констант из нее можно получить отрицание. Точнее существует такая

подстановка n-1 константы, что функция оставшейся одной переменной является

отрицанием.

Лемма 5.2:(о нелинейных функциях) Если функция f (x1, .. xn) нелинейна, то с

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

дизъюнкцию и конъюнкцию. Точнее, существует представление и & в виде

суперпозиции констант, отрицаний и функции f.

62

0000 0001

0010

0100

0011

0110

0101

0111

1000

1011

1111

1010

1001

1110

1100 1101

0

0

0

0

00

0

0

1

1

1

1

1

0

11

Page 63: Ethan Fromestudentpmr.ru/konspekt/disk-mat.doc · Web viewОсобое значение в этом плане имеет изучение современных разделов

Пример: f(x1,x2,x3,x4)= x1x2x3x4x1x3x4x1x4. Полагаем, x4=1, x2=0. Тогда f(x1,0,x3,1)=

=x1x3x11, что соответствует строке f5 табл. 5.6.

Табл. 5.6. Нелинейные функции двух переменных вида f(x,y)=xyxy.

fi Вид

полинома

Эквивалентная булевая

функция

Искомая

суперпозиция

f0 0 0 0 xy xy xy=f0(x,y)

f1 0 0 1 xy1 xy=N(f1(x,y))

f2 0 1 0 xyy xy=f2(N(x),y)

f3 0 1 1 xyy1 xy=f3(x,N(y))

f4 1 0 0 xyx x xy=f4(x,N(y))

f5 1 0 1 xyx1 xy=f5(N(x),y)

f6 1 1 0 xyxy xy xy=f6(x,y)

f7 1 1 1 xyxy1 xy=N(f7(x,y))

Эти две леммы позволяют получить все булевы операции с помощью немонотонных

функций, нелинейных функций и констант. Это еще не функциональная полнота, т.к.

константы с самого начала предполагались данными.

Определение 5.21: Система логических функций называется функционально полной

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

системой {0, 1}, т.е. является суперпозицией констант и функций из . Очевидно, что из

обычной полноты системы следует ее слабая полнота.

Теорема 5.7: (I теорема о функциональной полноте) Чтобы система функций

была функционально полной в слабом смысле, необходимо и достаточно, чтобы она

содержала хотя бы одну немонотонную и нелинейную функции.

Пример: ={, } функционально полная в слабом смысле, т.к. конъюнкция

нелинейна, а сумма по mod 2 немонотонна.

Определение 5.22: Функция f (x1, .. хn) называется сохраняющей 0, если f(0,...,0)=0.

Функция f (x1, .., xn) называется сохраняющей 1, если f (1, 1, ..,1) = 1.

Теорема 5.8: (I I теорема о функциональной полноте) Чтобы система функций

была функционально полной (в сильном смысле), необходимо и достаточно, чтобы она

содержала:

1) нелинейную функцию;

2) немонотонную функцию;

3) не самодвойственную функцию;

4) функцию, не сохраняющую 0;

63

Page 64: Ethan Fromestudentpmr.ru/konspekt/disk-mat.doc · Web viewОсобое значение в этом плане имеет изучение современных разделов

5) функцию, не сохраняющую 1.

Пример: = {, 1} функционально полная в сильном смысле, т.к. конъюнкция

нелинейна, несамодвойственна, сумма по mod 2 немонотонна и не сохраняет 1, константа 1

не сохраняет 0.

§ 5.10: Булева алгебра и теория множеств

Определение 5.23: Всякая алгебра типа (2, 2, 1) называется булевой алгеброй, если ее

операции удовлетворяют соотношениям (5.4)- (5.13)

В алгебре множеств элементарными являются подмножества универсального

множества U (обозначим систему всех подмножеств U через, В(U)), операции &

соответствует , соответствует , соответствует , единицей является само

множество, а нулем - .

Булева алгебра <Bn, &,, > на множестве Bn определяется следующим образом.

Для любых векторов = (1,.., n) и = (1, .. n).

= (1 1,..., n n)

& = (1 & 1,.., n & n)

Т.к. компоненты i и i векторов и принимают значение 0 и 1, то указанные

операции - это просто логические операции над двоичными переменными; операции над

векторами называются покомпонентными (поразрядными) логическими операциями над

двоичными векторами. Такие операции входят в систему команд любой современной ЭВМ.

Например: = (01011) = (11010)

= 01010

Теорема 5.9: Если |U| = n, то булева алгебра <B(U), , , ‘ > изоморфна булевой

алгебре <Bn, & >.

Эта теорема позволяет заменить теоретико-множественные операции над системой

подмножеств подразрядными логическими операциями над двоичными векторами. Такая

замена часто используется в программировании.

Рассмотрим теперь множество Р2 (m) всех логических функций m переменных

х1, .., хm. Оно замкнуто относительно операций & (результат их применения к

функциям из Р2 (m) снова дает функцию из Р2 (m) и следовательно образует конечную

булеву алгебру <Р2 (m), & >, являющуюся подалгеброй булевой алгебры логических

функций.

64

Page 65: Ethan Fromestudentpmr.ru/konspekt/disk-mat.doc · Web viewОсобое значение в этом плане имеет изучение современных разделов

Теорема 5.10: Если |U| = 2m, то алгебра множеств <B (U), , , ‘ > изоморфна

булевой алгебре функций <Р2 (m), &, , >.

Эти алгебры равномощны и содержат элементов.

Рассмотренные теоремы указывают на связь между множествами и логическими

функциями и позволяют переходить от операций над множествами к операциям над

логическими функциями и обратно. Они дают возможность непосредственно производить

операции над функциями, заданными не формулами, а таблицами или единичными

множествами. Булевы операции над формулами, заданными таблицами, сводятся к

подразрядным логическим операциям над столбцами значений функций (табл.5.7).

Пример:

Табл.5.7.

§ 5.11: ДНФ. Интервалы и покрытия

Теоретико - множественная интерпретация булевой алгебры функций оказывается

очень удобным языком для изучения дизъюнктивных нормальных форм ДНФ и методов их

упрощения.

Если функция f (х1, .., хm) представляет собой элементарную конъюнкцию всех m

переменных, то Mf содержит один элемент множества Bm (т.е. это двоичный вектор длины

m, на котором функция f принимает значение 1). Если же f - элементарная конъюнкция k

переменных, k < m, то Mf содержит 2m - k двоичных наборов (т.к. m - k переменных, не

вошедших в эту конъюнкцию, несущественны для f и могут принимать любые 2m - k

значений, не изменяя f). Множество Мf такой функции f называется интервалом.

Например: m = 4, f (x1, x2, x3, x4) = x2

65

Page 66: Ethan Fromestudentpmr.ru/konspekt/disk-mat.doc · Web viewОсобое значение в этом плане имеет изучение современных разделов

Mf = {0100, 0110, 1100, 1110} |Mf| = 24 - 2 = 4

В этом случае говорят, что конъюнкция х2 (а точнее интервал ) покрывает

множество Мf ( и все его подмножества).

Если f g 1, то Mf Mg (Mf - множество единичных наборов функции f). Из

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

f () = 1 и g () = 0. Поэтому, если f () = g () = 1, т.е. если Mf то Mg и,

следовательно, Mf Mg. Говорят, что функция f имплицирует функцию g. Если f -

элементарная конъюнкция, то f называется импликантом g, и если после удаления буквы

(вхождения переменной) из f, f перестает быть импликантом g, то f называется простым

импликантом g.

Например, для функции x(yz) xy и xz - простые импликанты, x,y,z- импликант, но не

простой.

Любая конъюнкция любой ДНФ является импликантом этой функции.

Представление f в виде ДНФ соответствует представлению ее единичного множества

в виде объединения интервалов. В совокупности все конъюнкции ДНФ покрывают все

единичное множество f. Верно и обратное: если Mk Mf то существует ДНФ функции f,

содержащая конъюнкцию k. В частности СДНФ функции f соответствует просто

перечислению элементов Mf. Отношение покрытия между конъюнкциями ДНФ и

элементами Mf наглядно задается таблицей покрытия (табл.5.8), строки которой

соответствуют конъюнкциям, т.е. интервалам, столбцы - элементам Mf, а на их пересечении

1, если i - ая конъюнкция покрывает (поглощает) j -ый элемент Mf.

Например: ДНФ F = xz yz xy.

Табл.5.8.

y x z xy xyz

Интервал Mxy покрывается Mxz Myz. Поэтому исключение xy из формулы F не изменит

единичного множества данной функции: x xy=x. Интервал Mxy всегда покрывается Мх.

Этот закон в терминах ДНФ можно сформулировать: любой импликант в ДНФ, не

являющийся простым, можно заменить простым импликантом k0, покрывающим k;

импликант k0 получается из k вычеркиванием нескольких букв.

66

Page 67: Ethan Fromestudentpmr.ru/konspekt/disk-mat.doc · Web viewОсобое значение в этом плане имеет изучение современных разделов

Т.о. для любой функции f существует ДНФ F, состоящая из простых импликантов

ДНФ F k, где k - простой импликант f, не содержащийся в F, также представляет f.

Поэтому дизъюнкция всех простых импликантов f, называется сокращенной ДНФ, и также

представляет f.

Методы упрощения ДНФ состоят из 2-х этапов:

1) получают список всех простых импликантов, т.е. сокращенную ДНФ

2) используя таблицу покрытия, удаляют импликанты, покрываемые другими

импликантами. ДНФ, из которой нельзя удалить ни одного импликанта, называется

тупиковой.

§ 5.12: Релейно-контактные схемы

Рассмотрим одно из приложений логических функций к релейно-контактным схемам.

Пусть x1, x2, ..., xn – набор контактов в электрической схеме. Контакты могут быть

замыкающими и размыкающими. Контакт называется размыкающим, если он размыкается

при подаче напряжения на обмотку реле, к которому он подключен, а когда напряжение не

подается, контакт замкнут. Контакт называется замыкающим, если он замыкается при

подаче напряжения на обмотку реле, к которому он подключен, а когда напряжение не

подается, контакт разомкнут. В схеме один и тот же контакт может неоднократно быть как

размыкающим, так и замыкающим. Будем считать, что xi=1, если на обмотку контакта

подается напряжение и xi=0, если на обмотку контакта не подается напряжение.

Каждой последовательно-параллельной схеме с контактами x1, x2, ..., xn поставим в

соответствие ее функцию проводимости:

Тогда функция проводимости схемы, состоящей из одного контакта xi, есть , где

i=1, если контакт замыкающий, и i=0, если контакт размыкающий. Функция проводимости

схемы из последовательно соединенных контактов xi и xj есть & (рис.5.2), а функция

проводимости схемы из параллельно соединенных контактов xi и xj есть (рис.5.3).

xi xj : & ,

Рис. 5.2. Последовательное соединение контактов.

xi

: .

67

Page 68: Ethan Fromestudentpmr.ru/konspekt/disk-mat.doc · Web viewОсобое значение в этом плане имеет изучение современных разделов

xj

Рис. 5.3. Параллельное соединение контактов.

Следовательно, каждой последовательно-параллельной контактной схеме

можно поставить в соответствие булевую формулу, реализующую функцию проводимости

этой схемы. Две схемы эквивалентны, если они имеют одинаковую функцию проводимости.

Применяя основные равносильности (5.4)-(5.18), можно упрощать контактные схемы,

заменив их эквивалентными, содержащими меньшее число контактов.

Пример: Упростить электрическую схему (рис.5.4):

Y Z

X Z

Z

Рис5.4. Исходная схема.

Функция проводимости: YZX Z Z= YZ( Z) (X )= YZ Z=

= Z(Y )=Z

Эквивалентная схема (рис.5.5):

Z

Рис.5.5. Упрощенная схема.

68

Page 69: Ethan Fromestudentpmr.ru/konspekt/disk-mat.doc · Web viewОсобое значение в этом плане имеет изучение современных разделов

§ 5.13: Минимизация булевых формул в классе дизъюнктивных нормальных форм

Выше было показано, что произвольная булевая функция может быть представлена

булевой формулой в дизъюнктивной и конъюнктивной нормальной форме. Равносильными

преобразованиями можно получить формулу, содержащую меньшее, чем исходная, число

переменных. Например:

а) х1х2 х1 =х1

б) х1х2х1=х1

в) х1х2х1х3=х1(х2х3).

Заметим что последнее преобразование выводит формулу из класса дизъюнктивных

нормальных форм. Будем минимизировать формулы в классе ДНФ.

Дизъюнктивная нормальная форма называется минимальной, если она содержит

наименьшее общее число вхождений переменных по сравнению со всеми равносильными ей

дизъюнктивными нормальными формами.

Следовательно, минимальную ДНФ данной формулы можно найти, перебрав

конечное число равносильных ей ДНФ и, выбрав среди них ту, которая содержит

минимальное число переменных. Однако при большом числе переменных такой перебор

практически невыполним.

Существуют эффективные способы нахождения минимальной ДНФ.

5.13.1: Метод минимизирующих карт

Рассмотрим один из них - метод минимизирующих карт. Хотя этот метод и не

отличается большой эффективностью, зато он прост для изложения и не требует введения

дополнительных понятий.

Пусть булевая функция задана таблицей истинности или СДНФ. Составим

следующую карту.

Утверждение 5.1: Если конъюнкция x11...хn

n, i{0, 1} i=1,..., n принадлежащая j-

й строке табл.5.8 не входит в СДНФ, выражающую функцию f(Х1,..., Хn) то любая

конъюнкция j-й строки не входит ни в какую ДНФ, выражающую исходную функцию.

Замечание:

x =

Действительно, если конъюнкция x11...хn

n не входит в СДНФ, выражающую

функцию f(х1,...,хn) то по алгоритму построения СДНФ (см. §5.4) f(1,...,n)=0. Если бы

какая-то конъюнкция j-й строки вошла в некоторую ДНФ функции f то f(1,...,n)=1.

69

Page 70: Ethan Fromestudentpmr.ru/konspekt/disk-mat.doc · Web viewОсобое значение в этом плане имеет изучение современных разделов

Опишем способ построения минимальной ДНФ :

1. Отметим в табл. 5.8 строки в которых соответствующая им конъюнкция x11...хn

n

не принадлежит СДНФ выражающей функцию f(х1,..., хn). Вычеркнем все конъюнкции в

этих строках.

2. Вычеркнутые в этих строках конъюнкции вычеркнем также во всех остальных

строках таблицы.

3. В каждой строке выберем из оставшихся конъюнкций лишь конъюнкции с

наименьшим числом сомножителей, а остальные вычеркнем

4. В каждой строке выберем по одному оставшемуся элементу и составим из них

ДНФ

5. Из всех ДНФ, полученных в п.4, выберем минимальную.

Заметим что в п.5 предусматривает перебор различных ДНФ для нахождения

минимальной из них Однако при этом число вариантов перебора, как правило, меньше

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

Таблица 5.9

x1 x2 … xn-1 xn x1x2 x1x3 … xn-2xn xn-1xn … x1x2…xn-1 xn

x1 x2 … xn-1 x1x2 x1x3 … xn-1 … x1x2…xn-1

x1 x2 … xn x1x2 x1x3 … xn-2xn xn … x1x2… xn

… … … … … … … … … … … …

… … … …

Действуя в соответствии с пп. 1-5 получим минимальную ДНФ выражающую

функцию f(х1,...,хn).Пусть F-формула в ДНФ полученная в п.5. Тогда если f(1,..., n)=1 то

F(1,...,n)=1. Действительно если конъюнкция x11...хn

n соответствует j-й строке

табл 5.8. то эта строка осталась невычеркнутой ; любая конъюнкция в этой строке на

наборе <1,..., n > принимает значение 1. Следовательно и формула F содержащая одну

из таких конъюнкций в качестве дизъюнктивного члена принимает на наборе <1,..., n >

значение 1 т е.F(1,..., n)=1.Если f (1,..., n)=0 то на наборе <1,..., n > все не

вычеркнутые в табл.5.1. конъюнкции принимают значение 0 так как все конъюнкции

которые на этой

оценке принимают значение 1 вычеркнуты. Следовательно составленная из этих

конъюнкций ДНФ принимает на этой оценке значение 0 т.е. F(1,..., n)=0.

Пример:. Пусть f (х1, х2, х3)=х1 х2 х1 х3 х1 х3.

70

Page 71: Ethan Fromestudentpmr.ru/konspekt/disk-mat.doc · Web viewОсобое значение в этом плане имеет изучение современных разделов

Составим табл.5.10.

Отметим значком * вычеркнутые строки. После применения пп.4 и 5 получим

минимальную ДНФ х1 х3.

Таблица 5.10.

х1 х2 х3 х1 х2 х1 х3 х2 х3 х1 х2 х3 *

х1 х2 х1 х2 х1 х2 х1 х2

х1 х3 х1 х1 х3 х3 х1 х3

х1 х1 х1 х1

х2 х3 х2 х3 х2 х3 х2 х3 *

х2 х2 х2 х2 *

х3 х3 х3 х3

*

Таблица 5.11.

х1

х1 х3

х1 х1

х3

Поскольку алгоритмы нахождения минимальной ДНФ довольно сложны иногда

применяют алгоритмы упрощения получая некоторые приемлемые для дальнейшего

использования ДНФ среди которых содержатся и минимальные. К таким типам ДНФ

относятся и сокращенные ДНФ. Сокращенная ДНФ формулы может быть получена

например по следующему алгоритму.

Рассмотрим произвольную конъюнктивную нормальную форму исходной формулы.

Воспользуемся законом обобщенной дистрибутивности (а1 ... ar) & (b1 ... bi)=

=(a1 & b1) ... (a1 & bi) ... (ar & bi) и "раскроем" скобки. Затем произведем упрощения

полученной формулы; пользуясь равносильностями (a&b)a=a a a=a и удаляя

71

Page 72: Ethan Fromestudentpmr.ru/konspekt/disk-mat.doc · Web viewОсобое значение в этом плане имеет изучение современных разделов

тождественно ложные дизъюнктивные члены. В результате получим ДНФ которая

называется сокращенной

5.13.2: Метод таблицы различий

Пусть функция f(x1, x2, …, xn), задана таблицей 5.12:

Табл. 5.12.

Часто двоичные наборы задают десятичными эквивалентами (1, 2, ... n)

.Данная функция может быть задана перечислением десятичных эквивалентов

единичных наборов: f(x1, x2, …, xn)|1=(0, 1, 2, 3, 7). СЭК в СДНФ будем называть

конституентами. Интервалом называется множество конституент, образующих гиперкуб

некоторой размерности. Очевидно, что мощность интервала равна степени 2 (20, 21,...)

Множество вершин гиперкуба, на которых функция принимает значение 1, и

которые в свою очередь образуют гиперкуб, называется единичным интервалом, а

множество вершин гиперкуба, на которых функция принимает значение 0, и которые в

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

Единичный интервал Ia называется максимальным, если не существует никакого

другого интервала Ib, содержащего в себе Ia. Например, для функции, заданной таблицей,

гиперкуб имеет вид (рис.5.6)

72

111

101110 011

100 010 001

000

Рис.5.6. Единичный гиперкуб.

Page 73: Ethan Fromestudentpmr.ru/konspekt/disk-mat.doc · Web viewОсобое значение в этом плане имеет изучение современных разделов

Выделены вершины, где функция принимает значение 1. В данном единичном

гиперкубе интервалами будут следующие множества вершин: {0}, {1}, {2}, {3}, {7}, (0,

1, 2, 3}, {3, 7}.Среди них максимальными будут - (0, 1, 2, 3}, {3, 7}. Кроме перечисления,

интервалы можем задать с помощью символов 0, 1, -. Например, {0, 1, 2, 3} - это интервал

0--, где прочерк соответствует 0 или 1. Таким образом, данное множество содержит

вершины 000, 001, 010, 011, которые и соответствуют десятичным числам 0, 1, 2, 3.

Тогда {3, 7} - - это интервал -11.

Каждому единичному интервалу соответствует конъюнкция переменных или их

отрицаний, прочерк означает отсутствие переменной в конъюнкции. Например, 0 - - ,

- 11 x2x3.

Конъюнкция, соответствующая максимальному единичному интервалу функции f,

называется простой импликантой этой функции.

Дизъюнкция всех простых импликант и будет сокращенной ДНФ.

Если функция задана СКНФ, раскрывая скобки по дистрибутивному закону,

получаем сокращенную ДНФ.

Рассмотрим понятие слабо определенных булевых функций f(x1, x2, …, xn),

обладающих следующими свойствами:

1) число переменных n велико;

2) мощность объединения единичной V1 и нулевой V0 областей намного меньше,

чем 2n, где единичную и нулевую области образуют наборы значений

переменных, на которых функция принимает значение 1 и 0

соответственно.

3) единичная и нулевая области задаются интервалами, где интервал – это вершины

гиперкуба, которые в свою очередь также образуют гиперкуб.

Рассмотрим нахождение сокращенной ДНФ слабо определенной булевой функции.

Таблица различий - это двумерная таблица размером n|V0|, каждой строке которой

взаимно однозначно соответствует разряд рассматриваемого единичного интервала,

столбцу - нулевой интервал, а на пересечении i-ой строки и j-го столбца находится

результат операции:

00=0 01=1 0-=0 10=1 11=0 1-=0 -0=0 -1=0 --=0,

причем в качестве первого аргумента берется значение i-го разряда единичного

интервала, а в качестве второго - значение i-го разряда нулевого интервала,

соответствующего j-му столбцу.

73

Page 74: Ethan Fromestudentpmr.ru/konspekt/disk-mat.doc · Web viewОсобое значение в этом плане имеет изучение современных разделов

Выделение максимальных интервалов сводится к покрытию столбцов строками

таблицы различий.

Пример: Рассмотрим нахождение минимальной ДНФ булевой функции

Выделим множество максимальных интервалов, содержащих единичный интервал

0-0-0-0, по таблице различий 5.13, у которой строки заданы буквами: a, b, c, d, e, g, h.

Табл.5.13.

Единичный

интервал

Нулевой интервал

10 - 0- 01 00 - - 10 - 1101 - 0 -

a 0 1 0 1

b - 0 0 0

c 0 0 0 0

d - 0 0 0

e 0 0 1 0

f - 0 0 0

g 0 1 0 0

Объединение строк а и е создает покрытие. Максимальный единичный интервал

будет иметь вид 0 - - - 0 - - или

Табл.5.13. (продолжение)

Единичный интервал

Нулевой интервал10 - 0 - 01 00 - - 10 - 1101 - 0 -

a 1 0 1 0b 1 1 1 0c - 0 0 0d 0 0 0 1e - 0 0 0f 0 0 0 0g 1 0 0 0a 0 1 0 1b - 0 0 0c - 0 0 0d 0 0 0 1e 0 0 1 0f 1 1 1 1g - 0 0 0

74

Page 75: Ethan Fromestudentpmr.ru/konspekt/disk-mat.doc · Web viewОсобое значение в этом плане имеет изучение современных разделов

Составляем сокращенную ДНФ:

(x1, x2,..., x7)=

Данный метод применим и для нахождения ДНФ полностью определенной функции,

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

Чтобы от сокращенной ДНФ перейти к минимальной, строим таблицу Квайна

(табл.5.14). Это двумерная таблица, каждой строке которой взаимно однозначно

соответствует максимальный интервал, столбцу – конституента, а на пересечении i-й

строки и j-го столбца находится 1, если j-я конституента входит в i-ый максимальный

интервал, или 0 в противном случае.

Табл.5.14.

Максимальный интервал

Конституента0-0-0-0-

011-0-01 0--001-

0---0-- 1 0 1

-1-0--- 0 1 0

-----1- 0 0 1

Данная таблица полностью покрывается первой и второй строкой. Следовательно,

минимальная ДНФ будет иметь вид: (x1, x2,..., x7)= .

Максимальный интервал называется обязательным, если найдется конституента

(единичный интервал), принадлежащая ему и только ему.

Множество обязательных интервалов образуют ядро покрытия. В данном случае

обязательным является, например, максимальный интервал -1-0---.

Интервалы 0---0--и -1-0--- образуют ядро покрытия.

§ 5.14: Синтез логических схем в заданном базисе

Техническая реализация базисных функций может быть основана на

использовании различных физических явлений, например, импликация и коимпликация -

магнитных, функции Шеффера и Вебба - явлений в полупроводниках. Согласно Гост 2.743 -

72, базисные элементы графически изображают в виде прямоугольников, в которых

инверсные входы и выходы изображают в виде незаштрихованных кружков, и сверху ставят

1, если внешняя связка дизъюнкция, и & - если конъюнкция; если сложение по mod 2

сверху ставят М2, эквивалентность - (рис.5.7).

75

Page 76: Ethan Fromestudentpmr.ru/konspekt/disk-mat.doc · Web viewОсобое значение в этом плане имеет изучение современных разделов

Элемент

Константа

нуля

Отрицание Дизъюнкция

x y

Конъюнкция

x y

Элемент

Вебба

Элемент

Шеффера

Обозначение

Элемент Импликация

V y

Коимпли-

кация

x

Сложение

по mod 2

x y

Экв

ивален

т-

ностьx y

Константа

eдиницы

Обозначение

Рис.5.7. Базовые элементы.

Более сложные элементы графически изображаются в виде композиций

перечисленных элементов на основе представления реализуемой ими булевой функции в

виде ДНФ или КНФ.

Например, функцию f (a, b, с, d) = b графически можно представить в виде

прямоугольника (рис.5.8):

Рис.5.8. Графическое представление функции f (a, b, с, d).

Рассмотрим синтез логических схем в заданном базисе. Приведем метод

непосредственного моделирования связок , , с помощью связок заданного базиса.

76

1

0 x1

x

y

1 x

y

&

y

x1

y

x&

&

&

a

c

d

b

1

&x

y

x

y

M2x

y

1

1

1

y

x

Page 77: Ethan Fromestudentpmr.ru/konspekt/disk-mat.doc · Web viewОсобое значение в этом плане имеет изучение современных разделов

1) Для заданной булевой функции находят ее оптимальную, в смысле количества

связок , , скобочную форму.

2) Выражают классические связки , , в виде суперпозиции заданного базиса.

3) Подставляют результаты п. 2 в выражение, полученное в п. 1, отмечая пунктиром

при этом стыки блоков, моделирующих , , в заданном базисе.

4) Анализируя стыки, устраняют избыточность логической схемы, используя закон

двойного отрицания.

Пример: Синтезировать логическую схему, реализующую булевую функцию.

(x1, x2, x3, x4, x5)= в базисе В=, 0 .

1. Покрывая таблицы различий (табл. 5.15), найдем сокращенную ДНФ полностью

определенной булевой функции , единичная и нулевая области которой

включают соответственно единичную и нулевую области заданной функции , .

Сокращенная ДНФ функции имеет следующий вид:

(х1, х2,..., х5)= х4

2. Выражаем связки , , через связки импликативного базиса : =a0,

a b = b = (a 0) b,

ab=

Табл.5.15.

Интервалы единичной области функции

Интервалы нулевой области функции

1-10- 1-001 0-100

- - 0 0 00 0 0 0

- - 0 0 0х4 1 1 1 1

0 0 1 0

x1 1 0 0 1

0 0 0 0

- - 0 0 0

х4 1 1 1 1

х5 1 0 0 1

0 1 1 0

77

Page 78: Ethan Fromestudentpmr.ru/konspekt/disk-mat.doc · Web viewОсобое значение в этом плане имеет изучение современных разделов

- - 0 0 0

x3 1 0 1 0

0 0 0 0

х5 1 0 0 1

Пункт 3 представим в виде графа, вершины которого взвешены , , хi, 0,

(рис 5.9 а). В данном базисе закон двойного отрицания можно изобразить так, как показано

на рис. 5.9 б.

Рис.5.9.

Устраняя избыточность, получаем логическую схему S (рис. 5.9 в).

Описанный метод синтеза можно с успехом применять при проектировании простых

схем.

§ 5.15: Производная булевой функции

Определение 5.24: Производная первого порядка от булевой функции по

переменной хi

=(х1, х2,..., хi-1, 1, хi+1, ..., хn) (х1, х2,..., хi-1, 0, хi+1,..., хn), (5.29)

где (х1, х2,..., хi-1, 1, хi+1,..., хn) - единичная остаточная функция ;

(х1, х2, ..., хi-1, 0, хi+1,..., хn) -нулевая остаточная функция ;

- здесь и далее сумма по модулю два.

78

x1

0

1

0

1x5

1

0

1

0

1

x4

1 ~f

a)

0

1A

0

1B

б)

x1

1

x4

1x5

~f

б)

AB

Page 79: Ethan Fromestudentpmr.ru/konspekt/disk-mat.doc · Web viewОсобое значение в этом плане имеет изучение современных разделов

Единичная остаточная функция получается в результате приравнивания переменной

хi к единице, нулевая - приравниванием хi к нулю.

Пример: Вычислим производную от булевой функции (х1, х2, х3)1=(0,4, 7),

где 0, 4, 7 -десятичные эквиваленты двоичных наборов, на которых функция равна 1.

(х1, х2, х3) = х1 х2 х3. Согласно определению,

=( х2 х3) = ( х2х3) = =(

х2 х3) (х2 х3) (х2 х3)( ) = х2 х3

Производная первого порядка от булевой функции (х1, х2, ..., хn) определяет

условия, при которых эта функция изменяет значение при переключении переменной х i

(изменении значения хi на противоположное).

В рассмотренном примере функция (х1, х2, х3) изменяет свое значение на ,

( ), =0, 1, при изменении значения переменной х1, , при условии что

конъюнкция х2 х3 принимает значение «истина» т. е. х2 = х3 =1.

Определение 5.25:Смешанной производной

от булевой функции называется выражение вида:

=

(5.30)

Смешанную производную -го порядка вычисляют, применяя

соотношение (5.30) раз фиксацией переменных хi1, xi2,..., xik (порядок фиксации

переменных не имеет значения).

Производная -го порядка от булевой функции (х1, х2, ..., хn) по

переменным хi1, хi2,..., хi определяет условия, при которых эта функция изменяет значение

при одновременном изменении значений переменных хi1, xi2,..., xik.

Определение 5.26(Бохмана): Производная k-го порядка от булевой

функции (х1, х2, ..., хn) по переменным хi1, хi2,..., хi равна сумме по модулю два всех

производных первого порядка, вторых, третьих..., -ых смешанных производных при

фиксации переменных хi1, хi2,..., хi :

79

Page 80: Ethan Fromestudentpmr.ru/konspekt/disk-mat.doc · Web viewОсобое значение в этом плане имеет изучение современных разделов

= (5.31)

i, j, s,...=i1, i2,..., ik.

Пример: Определим условия переключения выходного канала логической схемы,

реализующей булеву функцию (х1, х2, х3) = х1 х2 х1 при переключении каждого

входного канала, первого и второго каналов одновременно и всех трех каналов

одновременно.

Имеем:

= х2

= х1 х1 = х1 (1 ) = х1 х3,

= х1 х2 х1 = х1 (х2 1) = х1

Условие = 1 является условием переключения выходного канала при

переключении входного канала х1 :при подаче на второй канал -1 или на третий канал -0,

при переключении первого канала х1 с на ( ), выходной канал переключается с на

( , = 0, 1). Выходной канал переключается , при переключении входного

канала х2, , если х1= х3 =1, и переключается , когда переключается х3,

, при х1=1, х2=0, =0, 1. Далее находим :

= = 1 = х3,

= =(х2 ) х1 х3 х3 =

=(х2 ) х3 (х1 1) = (х2 ) х3 = (х2 ) =

=(х2 )(х1 ) x3 х3= x1x2 x3 = x1x2

Выходной канал переключается при любом одновременном переключении входных

каналов х1, х2, когда х3 = 0, или независимо от состояния входного канала х3, при

переключении х1 и х2 с 1, 1 на 0, 0 или с 0, 0 на 1, 1.

Определим

= = х2 1 =

80

Page 81: Ethan Fromestudentpmr.ru/konspekt/disk-mat.doc · Web viewОсобое значение в этом плане имеет изучение современных разделов

= = х1

= = 1

=

=

=(х2 ) х1 х3 х1 х3 х1 1 = (х2 ) х3 (х1 1) (х1 1) =

= (х2 ) х3 = (х2 ) х3 ( 1) =

=((х2 ) =((х2 ) (х1 ) х3 х3) x2=

=( х1 х2 ) х2=( х1 х2 ) =

=( х1 х2 )(х1 ) x3 ( )(x1 x2) x2=

= х1 х1 х2 х2 x3 =

=х1 х1 х2 х1 х2 x3 x3 х2 x3.

При переключении входного вектора 4 3, 6 1 и 7 0 выходной канал

переключается.

Определение 5.27: Весом производной p от булевой функции

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

конъюнкций в СДНФ, представляющей производную функции.

§ 5.16: Синтез логических схем методом каскадов

Рассмотрим ряд методов проектирования схем, эффективность каждого из которых

увеличивается по сравнению с предыдущими.

Метод каскадов, основанный на разложении Шеннона

(х1, ....., х, х+1, ..... хn)= хi i(1, ..., , х+1, .....,

хn),

позволяет при наличии блоков исключения переменных свести реализацию булевой

функции от n переменных к реализации функции от n-, 1, переменных. Размерность

остаточных функций (1,..., , х+1,..., хn), в свою очередь, можно понизить, исключая t

переменных и т. д. до тех пор пока остаточные функции не будут иметь простой вид, и их

реализация в заданном базисе не представляет трудности.

81

Page 82: Ethan Fromestudentpmr.ru/konspekt/disk-mat.doc · Web viewОсобое значение в этом плане имеет изучение современных разделов

Сложность остаточных функций зависит от порядка исключения переменных в

заданной булевой функции (х1, х2,..., хn). Число всевозможных способов исключения

переменных растет комбинаторно. Например, при использовании только блоков,

исключающих одну и ту же переменную на каждом ярусе, это число равно n!, но на

каждом ярусе можно исключать не только одну и ту же переменную, но и различные

переменные; далее, можно исключать на каждом шаге различное число переменных (одну,

две, три, и т. д.). Выбрать оптимальное исключение переменных перебором всех способов

исключения - трудоемкий процесс.

Оптимальное исключение переменных ищут, используя эвристические критерии,

один из которых основан на использовании понятия производной от булевой функции.

Критерий оптимального исключения переменных в методе каскадов заключается в

исключении сначала переменных, при переключении которых булева функция

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

весом производной.

При использовании блоков, исключающих k переменных, находят производные k-го

порядка от реализуемой функции и ищут максимальное значение веса производной p

, которое и определяет исключаемые переменные. Для получения

остаточных булевых функций снова находятся производные, определяются веса, а

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

определяет соответствующие переменные, которые исключаются на этом ярусе для этой

остаточной функции и т.д., пока остаточные функции не будут иметь простую реализацию.

Пример: Синтезируем логическую схему, реализующую булеву функцию

(х1, х2, х3, х4, х5) = х1 х3 х4 х1 х3 х1 х2 х4 х3 х5 х5,

используя блоки исключения одной переменной (рис.5.10).

Определим переменную хi, по которой производная имеет максимальный вес, т.

е. функция (х1, х2,..., х5) зависит от нее наиболее существенно.

Имеем

= ( х3 х3 х2 х4 х3 х5 х5)

( х4 х3 х5 х5).

Для вычисления веса производной , зависящей от четырех переменных х2, х3, х4,

х5, представим 4-мерное пространство с образующими х2, х3, х4, х5 в виде декартова

82

Page 83: Ethan Fromestudentpmr.ru/konspekt/disk-mat.doc · Web viewОсобое значение в этом плане имеет изучение современных разделов

произведения двух 2-мерных пространств х2, х3 х4, х5 с образующими х2, х3 и

х4, х5 соответственно. Тогда производную можно задать в виде двумерной таблицы :

каждому значению 2 3 переменных х2, х3 взаимно однозначно соответствует строка

таблицы, столбцу - значения 4 5 переменных х4, х5, и на пересечении i-ой строки и j-го

столбца, взаимно однозначно соответствующем точке 4- мерного пространства с

образующими х2, х3, х4, х5 , записываем значение в этой точке. Вес производной

равен числу единиц в этой таблице (табл. 5.16, а)

Рис.5.10.

Таблица 5.16 а

х2 х3х4 х5

0 1 2 30 0 0 1 11 1 0 1 02 0 0 0 03 1 0 1 1

Итак p( ) =7

Аналогично вычислим веса производных , i = 2, 3, 4, 5 (табл. 5.16, б, в, г, д)

83

x1

x2

1

x1

&

x5

1x4

1&

&

f(0)

xi

f(1)

f

1&

&

x5

x4

f(0,1) f(0)

f(1,0)

1&

&x1

f(1,1)

1&

&x3

f

a)

б)

Page 84: Ethan Fromestudentpmr.ru/konspekt/disk-mat.doc · Web viewОсобое значение в этом плане имеет изучение современных разделов

Имеем:

= ( х4 х1 х3 х1 х4 х5) (х1 х3 х4 х1 х3 х3 х5 х5)

Таблица 5.16 б

х1 х3

х4 х5

0 1 2 30 0 0 0 01 0 1 0 12 0 0 1 13 0 1 0 0

p( ) =5

= (х1 х1 х2 х4 х5) ( х4 х1 х2 х4 х5)

Таблица 5.16 в

х1 х2

х4 х5

0 1 2 30 0 0 1 01 0 1 1 12 1 0 1 13 0 1 0 0

p( ) =8

= (х1 х3 х1 х3 х1 х2 х3 х5) (х1 х3 х1 х3 х3 х5 х5)

Таблица 5.16 г х1 х2

х3 х5

0 1 2 30 1 0 0 01 1 0 0 02 0 1 0 03 1 0 0 1

p( ) = 5

= (х1 х3 х4 х1 х2 х4 х3 х3 ) (х1 х3 х4 х1 х3 х1 х2 х4)

Таблица 5.16 д

х3х4

84

Page 85: Ethan Fromestudentpmr.ru/konspekt/disk-mat.doc · Web viewОсобое значение в этом плане имеет изучение современных разделов

х1 х2

0 1 2 3

0 1 0 1 11 1 0 0 02 1 0 0 03 1 0 1 0

p( ) = 7

Максимальное значение p( ) получено при дифференцировании функции по

переменной х3. Исключая эту переменную, получаем две остаточные функции : единичную

(х1, х2, х3 = 1, х4, х5) = (1) и нулевую (х1, х2, х3 = 0, х4, х5) = (0) :

f(1)= x1 x1 х1 х2 х4 x5

(0) = x4 х1 х2 х4

Аналогично определяем оптимальное исключение переменных на следующем ярусе

логической схемы (табл. 5.17 а, б, в, г; 5.18 а, б, в, г) :

= ( х2 х4 x5) x5

Таблица 5.17 а

х2

х4 х5

0 1 2 30 1 0 1 01 1 0 1 1

p( ) = 5

= (x1 х1 х4) (x1x1 x5)

Таблица 5.17 б х1

х4 х5

0 1 2 30 0 1 0 11 0 1 0 0

p( ) = 3

= (x1 x1 х1 х2 х4 x5) (x1 x1 x5)

85

Page 86: Ethan Fromestudentpmr.ru/konspekt/disk-mat.doc · Web viewОсобое значение в этом плане имеет изучение современных разделов

Таблица 5.17 в

х1

х2 х5

0 1 2 30 0 0 0 01 0 0 0 1

p( ) = 1

= (x1 х1 х2 х4 ) (x1 х1 х1 х2 х4)

Таблица 5.17, г х1

х2х4

0 1 2 30 1 1 0 01 0 0 1 0

p( ) = 3

Исключаем переменную х1, получаем остаточные функции вида:

(х1 = 1, х2, х3 = 1, х4, х5) = (1, 1) = х2 х5 х2 х4 х2 х5 = х2 х5 х4

(х1 = 0, х2, х3 = 1, х4, х5) = (1, 0) =х2 х5

(0) = х1 х4 х1 х2 х4 х4 х5 = х1 х4 х2 х4 х4 х5

= (х2х4 х4 х5) (х4 х2 х4 х4 х5)

Таблица 5.18 а

х2

х4 х5

0 1 2 30 0 0 1 11 0 0 0 0

p( ) = 2

= (х1 х4 х4 х4 х5) (х1 х4 х4 х5)

Таблица 5.18 б х1

х4 х5

0 1 2 30 0 0 0 01 0 0 1 1

86

Page 87: Ethan Fromestudentpmr.ru/konspekt/disk-mat.doc · Web viewОсобое значение в этом плане имеет изучение современных разделов

p( ) = 2

= (х1 х2) х5

Таблица 5.18, в х1

х2 х5

0 1 2 30 1 0 1 01 0 1 1 0

p( ) = 4

= (х1 х4 х2 х4 х4) (х1 х4 х2 х4)

Таблица 5.18, г

х1

х2х4

0 1 2 30 1 0 1 01 1 0 1 0

p( ) = 4

Исключая переменную х4, получаем остаточные функции следующего вида

(х1, х2, х3 = 0, х4 =1, х5) = (0, 1) = х1 х2

(х1, х2, х3 = 0, х4 =0, х5) = (0, 0) = х5

В результате получаем логическую схему, реализующую функцию (х1, х2,...х5)

(рис 5.10 б)

Критерий оптимального исключения переменных имеет эвристический характер, что

основано на предположении о том, что чем больше вес производной p( ), тем больше

функция зависит от переменной хi. Если имеются блоки исключения k-переменных, то

построение схемы проводят аналогично, вычисляя вес производных k-го порядка p(

).

§ 5.17: Разложение булевой функции в ряд

87

Page 88: Ethan Fromestudentpmr.ru/konspekt/disk-mat.doc · Web viewОсобое значение в этом плане имеет изучение современных разделов

В дискретной математике отсутствует понятие предела, однако в выражениях (5.29) -

(5.31) используется термин «производная». Это связано с разложением булевой функции в

ряд, аналогичный ряду Маклорена в точке 00...0 или ряду Тейлора в произвольной точке

пространства. Рассмотрим данные разложения булевой функции (х1, х2,...хn).

Две функции и называются взаимно ортогональными, если их конъюнкция

= 0

Выражение (5.32) эквивалентно равенству

f(x1, x2, …, xn) = ,

(5.32)

так как = , и конституенты единицы функции (х1, х2,...хn)

попарно взаимно ортогональны.

Заменим в выражении (5.19) в каждой конституенте на (хi 1).

Применяя следующие тождества:

коммутативности

= ;

ассоциативности

( ) = ( ) ;

дистрибутивности конъюнкции относительно сложению по модулю два

( ) = () (); (5.33)

действия с константами

= 0, 1 = , 0 = , = 1,

получаем представление функции (х1, х2,...хn) в виде

(х1, х2,...хn) = 0 ... ...

...12....n x1 x2...xn, (5.34)

0, i, ij, ..., i1 i2...ik,...., 12...n= 0, 1.

Выражение (5.34) называется полиномом Жегалкина функции (х1, х2,...хn).

Последовательно продифференцируем полином Жегалкина функции (х1, х2,...хn) по

переменным х1, х2, ..., хk и определим значение этой производной в точке 00...0. Учитывая

что

= (5.35)

88

Page 89: Ethan Fromestudentpmr.ru/konspekt/disk-mat.doc · Web viewОсобое значение в этом плане имеет изучение современных разделов

и (5.36)

после дифференцирования по переменным х1, х2, ..., хk получаем, что

00...0 = 12....k.

Действительно, после дифференцирования по переменным х1, х2, ..., хk все члены

разложения в выражении (5.34) до 12....k обращаются в нуль, а в результате подстановки

хk+1 = хk+2 =... = хn = 0 остальные члены этого разложения, кроме 12....k, также будут равны 0.

Отсюда получаем теорему о разложении любой булевой функции (х1, х2, ... хn) в точке

00...0.

Теорема 5.11: Любая булева функция (х1, х2, ... хn) представима своим значением в

точке 00...0 и значениями всех производных

, , ..., , i, j (i j), ..., = 1, 2, ..., n, в этой точке в виде

(х1,х2,...хn)=(0,0,..., 0) 00...0 & xi 00...0 & xixj ...

... 00...0 & xi1xi2...xik ... 00...0 & x1x2...xn

(5.37)

Для получения разложения булевой функции в ряд, аналогичный ряду Тейлора в точке

1 2... n, введем новые координаты х1, х2, ..., хn, где хi = хi i, i = 1, 2,..., n. Тогда

точка 1 2... n в координатах х1 x2, ..., xn будет соответствовать точке 00...0 в координатах

х1, х2, ..., хn. Используя разложение (5.37) булевой функции в точке 00...0 в координатах

х1, х2, ..., хn и заменяя каждую переменную хi на хi i, i = 1, 2, ..., n, получаем

теорему о разложении булевой функции (х1 x2, ..., xn) в точке 1 2... n.

Теорема 5.12: Любая булева функция (х1 x2, ..., xn) определяется своим значением в

точке 1 2... n и значениями всех своих производных

, , ..., , i, j (i j), ..., = 1, 2, ..., n,

в этой точке в этой точке согласно выражению

(х1,х2,...хn)=(1, 2,..., n) 1, 2,..., n & (xi i)

1, 2,..., n & (xii)(xjj) ...

... 1, 2,..., n ...

89

Page 90: Ethan Fromestudentpmr.ru/konspekt/disk-mat.doc · Web viewОсобое значение в этом плане имеет изучение современных разделов

... 1, 2,..., n (5.38)

Раздел 6: Элементы теории графов

§ 6.1: Определение графа. Ориентированные и неориентированные графы

90

Page 91: Ethan Fromestudentpmr.ru/konspekt/disk-mat.doc · Web viewОсобое значение в этом плане имеет изучение современных разделов

Определение 6.1: Совокупность двух множеств - точек и линий, между элементами

которых определено отношение инцидентности, называется графом G=<V,E>, причем

каждый элемент еЕ инцидентен не более чем двум элементам v1, v2 V.

При этом элементы множества V называются вершинами графа, а элементы множества Е

- ребрами графа. И вершины и ребра являются элементами графа, и правомерна запись: vG

eG.

Синонимом понятия инцидентность является принадлежность. Ребро инцидентно не

более чем двум вершинам.

Две вершины называются смежными, если они инцидентны одному и тому же ребру,

два ребра называются смежными, если они имеют общую инцидентную вершину.

Напомним, что бинарным отношением , определенным на множестве V, является

подмножество его прямого произведения V2=VV.

Элементы vi,vjV находятся в отношении , если пара (vi,vj) .

Определение 6.2 (2-ое определение графа): Совокупность множества V с заданным

на нем бинарным отношением называется графом G=<V,>, где множество вершин V

называется носителем графа, а множество ребер - сигнатурой графа.

В некоторых задачах инцидентные ребру вершины не равноправны, а

рассматриваются в определенном порядке. Тогда каждому ребру можно приписать

направление от первой вершины ко второй. Конец такого ребра помечается стрелкой.

Направленные ребра называются дугами, а содержащий их граф – ориентированным

или оргафом. Рассмотренный ранее граф - не ориентирован. Будем называть его просто

графом.

В дальнейшем неориентированный граф (или просто граф) будем обозначить

G=<V,E>, его ребра – {vi,vj}, а ориентированный – D<V,E>, его ребра – (vi,vj).

Граф, содержащий и ребра, и дуги, называются смешанным.

Примеры графов: неориентированные графы (Рис. 6.1)

а) Если каждая вершина графа соединена ребром с каждой из оставшихся вершин, то

такой граф называется полным и обозначается КI V I . Для примера а) - К4

б) Несколько различных ребер могут быть инцидентны одной и той же паре вершин.

В этом случае, они называются кратными ребрами. Граф, содержащий кратные ребра,

называется мультиграфом.

91

.. . . .

. . г)

v2

v3

v4

v5

K2,3

v1

д)

v2

v3

v4

v5

K2,3

v1

д)

Рис.6.1.Примеры неориентированных графов.

a) б)a) б)в)

Page 92: Ethan Fromestudentpmr.ru/konspekt/disk-mat.doc · Web viewОсобое значение в этом плане имеет изучение современных разделов

Граф, содержащий кратные ребра и петли, называется псевдографом.

в) Ребро может быть инцидентно одной вершине, т.е. соединять ее саму с собой.

Такое ребро называют петлей. Граф без петель и кратных ребер называют простым.

г) Множество ребер Е может быть пустым. Если же и множество вершин V пусто, то

E тем более пусто. Граф, состоящий из единственной вершины, называют тривиальным.

д) Если множество вершин V простого графа допускает разбиение на два

подмножества V1,V2V (V1 V2=V, V1 V2=) и не существует ребер, соединяющих

вершины из одного и того же подмножества, то граф называется двудольным или биграфом

и обозначается

Пример: Пусть V = {v1,v2,v3,v4,v5} (рис.6.1. д)

V1 = {v1, v4}, V2 = {v2,v3,v5}, I V1 I =2 , I V2 I =3

Ориентированные графы (рис.6.2): б), в) Как и неориентированный, орграф может

иметь кратные ребра - дуги. В этом случае дуги называются параллельными. Параллельные

дуги, одинаково направленные по отношению к некоторой вершине, называются строго

параллельными.

92

.. . . .

. . д)

a) б) в) г)

е)

.. . . .

. . д)

a) б) в) г)

е)

Рис.6.2. Примеры ориентированных графов.

Page 93: Ethan Fromestudentpmr.ru/konspekt/disk-mat.doc · Web viewОсобое значение в этом плане имеет изучение современных разделов

е) Определение ориентированного биграфа аналогично, но необходимо учесть, что

начало каждой дуги принадлежит множеству V1, а конец - множеству V2.

§ 6.2: Способы задания графов

Пусть задан граф G = <V,E>, I V I = n, I E I = m. Тогда граф можно задать в виде :

1) в виде матрицы смежности U размером n n, где каждый элемент матрицы ui,j

равен количеству ребер, инцидентных вершинам v i и v j.

2) в виде матрицы инцидентности W размером m n, где

а) для неориентированного графа G = <V,E> каждый элемент wij

б) для ориентирования D = <V,E> графа

Если ei является петлей при вершине vj , то элемент wi,j равен любому числу,

отличному от 1, -1 и 0.

Матрица смежности неориентированного графа симметрично относительно главной

диагонали. Матрица ориентированного графа - не симметрична.

Пример. Рассмотрим два графа - неориентированный и ориентированный (рис. 6.3,

6.4). Зададим их матрицами смежности и инцидентности.

Матрицы смежности и инцидентности неориентированного графа:

v1 v2 v3 v4 v5 v6 v7 v1 v2 v3 v4 v5 v6 v7

v1 0 1 1 0 1 0 0 e1 1 1 0 0 0 0 0v2 1 0 0 1 0 1 0 e2 1 0 1 0 0 0 0v3 1 0 0 1 1 0 0 e3 0 1 0 1 0 0 0v4 0 1 1 0 0 1 0 e4 1 0 0 0 1 0 0v5 1 0 1 0 0 0 1 e5 0 1 0 0 0 1 0v6 0 1 0 1 0 0 1

e6

0 0 1 1 0 0 0

v7 0 0 0 0 1 1 0 e7 0 0 1 0 1 0 0e8 0 0 0 1 0 1 0

93

Page 94: Ethan Fromestudentpmr.ru/konspekt/disk-mat.doc · Web viewОсобое значение в этом плане имеет изучение современных разделов

e9 0 0 0 0 1 0 1e10 0 0 0 0 0 1 1

Матрицы смежности и инцидентности ориентированного графа:

v1 v2 v3 v4 v5 v6 v7 v1 v2 v3 v4 v5 v6 v7

v1 0 1 1 0 0 0 0 e1 -1 1 0 0 0 0 0v2 0 0 0 1 0 0 0 e2 -1 0 1 0 0 0 0v3 0 0 0 0 1 1 1 e3 0 -1 0 1 0 0 0v4 0 0 0 0 0 0 0 e4 0 0 -1 0 1 0 0v5 0 0 0 0 0 0 0 e5 0 0 -1 0 0 1 0v6 0 0 0 0 0 0 0

e6

0 0 -1 0 0 0 1

v7 0 0 0 0 0 0 1 e7 0 0 0 0 0 0 3

3) Граф может быть задан списком ребер.

Таким образом, графы могут быть заданы различными способами.

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

Вид матриц графа зависит от нумерации вершин и ребер графа.

Строго говоря, граф считается полностью заданным, если нумерация его вершин

зафиксирована.

Графы, отличающиеся только нумерацией вершин, называются изоморфными

(Рис.6.5).

Перенумерация вершин графа задается строкой 1,...,..,...,.n новых номеров

вершин, расположенных в исходном порядке.

§ 6.3: Степени вершин графа

Пусть G - неориентированный граф, .

Определение 6.3: Количество v ребер графа, инцидентных вершине v графа,

называет ее локальной степенью или просто степенью вершины .

Если степени всех вершин графа конечны, то граф называется локально конечным.

94

Рис.6.5.Изоморфные графы.

Page 95: Ethan Fromestudentpmr.ru/konspekt/disk-mat.doc · Web viewОсобое значение в этом плане имеет изучение современных разделов

Когда заданы матрицы смежности и инцидентности графа, можно определить

локальные степени всех его вершин.

В частности, если задана матрица смежности, то vj= , а если задана матрица

инцидентности, то vj= .

В неориентированном графе необходимо учесть, что петля дает вклад в локальную

степень вершины, равный двум. Чтобы таким образом учитывать вклад петель в степень,

нужно усложнить формулы для ее вычисления:

1) vj= .

2) vj= . Когда i-е ребро обычное, и соответствующее

слагаемое внешней суммы равно wik, т.е. 1 для ребер, инцидентных вершине vj, и 0 для

остальных. Если же оно является петлей, то , а слагаемое внешней суммы равно

2wij, т.е. 2 для петель, инцидентных вершине vj , и 0 для остальных.

Если степени всех вершин графа равны k, то граф называется однородным степени k.

В этом случае, если граф имеет n вершин и m ребер, то n=2m/k.

Рассмотрим теперь орграф, для его вершин определены две локальные степени.

Определение 6.4: Число 1v, равное количеству дуг с началом в вершине v,

называется полустепенью исхода вершины v.

Определение 6.5: Число 2v, равное количеству дуг с концом в вершине v,

называется полустепенью захода вершины v.

Петля дает вклад в каждую из полустепеней по 1.

Локальные степени вершин ориентированного графа просто выражаются через

коэффициенты матрицы смежности:

1vi= , 2vi= .

Если полустепени исхода и захода всех вершин орграфа равны k, то орграф

называется однородным степени k и n=m/k

§ 6.4: Изоморфизм и гомеоморфизм графов

Пусть даны два неориентированных графа

95

Page 96: Ethan Fromestudentpmr.ru/konspekt/disk-mat.doc · Web viewОсобое значение в этом плане имеет изучение современных разделов

G1=<V1, E1> , G2=<V2, E2> , V1= n1, V2= n2 ,E1= m1, E2= m2.

Графы G1 и G2 изоморфны, если существует биективное (взаимнооднозначное)

отображение : V1 V2, сохраняющее смежность вершин, т. е. если ребро (v', v")E1, то

ребро ((v'), ( v"))E2 и наоборот.

Аналогично определяется изоморфизм для орграфов.

Замечание: Изоморфные графы (орграфы) отличаются только обозначением вершин.

Свойства изоморфных графов:

а) Если G1 и G2 изоморфные графы и - биективное отображение, то для любой

вершины vV1 n1= n2, m1= m2, (v)=((v)), степень вершины равна степени образа этой

вершины.

б) Если G1 и G2 изоморфные орграфы и - биективное отображение, то для любой

vV1 n1= n2, m1= m2, 1(v)=1((v)), 2v2v.

На рис.6.6 графы а) и б) изоморфны, но они неизоморфны графу в).

Изоморфизм графов (орграфов) является отношением эквивалентности на множестве

графов (орграфов).

Операция подразбиения ребра (v', v") графа G=<V, E> состоит в удалении из

множества E ребра (v', v"), добавление к множеству V вершины v, добавление ко множеству

E\{(v', v")} ребер (v', v) и (v, v").

Граф G1 называется подразбиением графа G2, если G1 может быть получен из G2

путем последовательного применения операции подразбиения ребра (рис.6.7).

Графы (орграфы) называются гомеоморфными, если существуют их подразбиения

являющимися изоморфными.

96

а) б) в)

Рис. 6.6.

G2G1

Рис.6.7.

Page 97: Ethan Fromestudentpmr.ru/konspekt/disk-mat.doc · Web viewОсобое значение в этом плане имеет изучение современных разделов

§ 6.5: Часть. Суграф. Подграф

Пусть дан граф G с множеством вершин V и множеством ребер Е : G =<V,E>.

Граф Н называется частью графа G (H G), если множество его вершин V(H)

содержится во множестве вершин V(G), а множество его ребер E(H) содержится во

множестве ребер E(G).

Если V(H)=V(G), то часть Н называется суграфом.

Например, суграфом графа G будет являться граф с тем же множеством вершин,

множество ребер которого пусто.

Определение 6.6: Суграф Н покрывает вершины неориентированного графа G и

называется покрывающим граф G, если любая вершина последнего инцидентна хотя бы

одному ребру графа Н.

Таким образом, если в графе G есть изолированная вершина v, не инцидентная ни

одному ребру, то не существует покрывающего суграфа.

Любое множество В графа G можно считать множеством ребер некоторой части Н.

Множество вершин этой части состоит из вершин, инцидентных элементам множества В.

Если В является множеством ребер другой части Н, то Н Н, причем вершины Н, не

принадлежащие Н, в графе Н изолированы.

Подграфом G(U) графа G с множеством вершин UV называется часть, которой

принадлежат все ребра с обоими концами из U.

Если V(H)=V(G) (множество вершин подграфа Н совпадает с множеством вершин

G),то Н называется еще остовным подграфом графа G.

Если же V(H) V(G) (множество вершин подграфа Н не совпадает с множеством

вершин G), то Н называется собственным подграфом графа G.

97

v3v3

v1

v4

v3v3

v2v2

v1v1v1

v4

v4 v4

v4

G H суграф G Cуграф, но

не покрывающий

Часть(т.к. нет v1)

Рис. 6.8. Cуграфы и части графа G.

Page 98: Ethan Fromestudentpmr.ru/konspekt/disk-mat.doc · Web viewОсобое значение в этом плане имеет изучение современных разделов

Звездный граф для вершины vG состоит из всех ребер с началом или концом в

вершине v. Множество вершин звездного графа состоит из вершины v и других,

инцидентных его ребрам вершин.

§ 6.6: Маршруты. Цепи. Циклы

Пусть G - неориентированный граф.

Определение 6.7: Маршрутом называется конечная или бесконечная

последовательность ребер (...,e 0,e1,...,en,...) такая, что каждые два ребра ei-1 и ei имеют общую

инцидентную вершину (т.е. являются смежными).

Одно и тоже ребро может встречаться в маршруте несколько раз. В дальнейшем

будем рассматривать только конечные маршруты (e1,...,en), в которых имеется первое ребро

e1 и последнее en.

Определение 6.8: Вершина v0, инцидентная е1 и не инцидентная е2 , называется

началом маршрута.

Если какие-либо ребра еj и еj+1 являются кратными, то в маршруте необходимо указать

одно из них.

Вершины, инцидентные ребрам маршрута, кроме начальных и конечных, называются

внутренними.

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

конец маршрута могут оказаться одновременно внутренними точками.

98

v2

v1 v3

v4

Рис.6.9. Звездный граф для вершины v1.

v0=v4

v1

v2v2

v3

v4

v3

v1

v5

e3

e2 e1e1

e3

e5

e4

e2

e4

Рис.6.10.Маршруты.

Page 99: Ethan Fromestudentpmr.ru/konspekt/disk-mat.doc · Web viewОсобое значение в этом плане имеет изучение современных разделов

Пусть маршрут M(е1,...,еn) имеет начало v0 и конец vn. Его называют соединяющим

вершины v0 и vn.

Длиной маршрута М является количество входящих в него ребер. Если v0 = vn, то

маршрут называется циклическим.

Отрезок маршрута (еi,еi+1,...,еj) также является маршрутом и называется участком

маршрута М.

Определение 6.9:. Маршрут М называют цепью, если каждое ребро в нем встречается

не более одного раза. Маршрут является простой цепью, если любая вершина графа

инцидентна не более чем двум ребрам (Рис.6.11.)

Циклический маршрут называется циклом, если он является цепью и простым

циклом, когда это простая цепь.

Но фактически циклом (соответственно, простым циклом) считают циклически

упорядоченное множество ребер, в котором два соседних ребра имеют общую инцидентную

вершину. Т.о. последовательность (e1,e2,e3,e4),(e2,e3,e4,e1),(e3,e4,e1,e2),(e4,e1,e2,e3) считают

одним и тем же циклом.

Участок цепи, или цикла, является цепью. Участок простой цепи, или цикла - простой

цепью.

§ 6.7: Связные компоненты графа

Определение 6.10:. Вершины v’ и v’’G называются связными, если существует

маршрут М с началом в v’ и концом в v’’.

99

v3

v1

e3e3

e1e1

e4

e2

e5

e2

e5

e4

Цепь, но не простая.Простая цепь

v1

v5

v4v2

v5

v4

v3

v2=v6

v6

Рис.6.11. Пример цепи и простой цепи.

Page 100: Ethan Fromestudentpmr.ru/konspekt/disk-mat.doc · Web viewОсобое значение в этом плане имеет изучение современных разделов

Пусть вершина vG инцидентна более чем двум ребрам маршрута М, связывающего

v’ и v’’. И пусть ei - первое из этих инцидентных ребер, а ej - последнее (j>i+1).

Тогда из маршрута М можно удалить участок от i+1-го ребра до j -1-го. Получим

новый маршрут М’=(e1,...,ei,ej,...,en). Если М’ - не простая цепь, то этот процесс можем

повторять до тех пор, пока не получим простую цепь. В конце концов, получим простую

цепь М*, связывающую v’ и v’’ (рис.6.12). Т.о. связанные маршрутом вершины связаны и

простой цепью.

Если вершина vG связана с вершиной v’G, то считается, что она связана и сама с

собой.

Пусть вершины v и v’ связывает маршрут М(e1,...,en). Тогда вершины v и v связывает

маршрут М(e1,...,en,...,e1). Обычно считают, что и изолированная вершина связана сама с

собой. Следовательно, отношение связности 2-х вершин, заданное на множестве вершин

графа G, рефлексивно. Оно так же симметрично и транзитивно. Т.о., отношение связности

является отношением эквивалентности, и определяет разбиение множества вершин V на

подмножества Vi . Вершины одного и того же подмножества Vi связаны друг с другом, а

вершины принадлежат разным подмножествам Vi и Vj не связанны. Поэтому в графе G не

будет ребер, концы которых принадлежат различным множествам Vi и Vj. Следовательно

граф G может быть представлен в виде объединения подграфов G= G(Vi), которые

называются связными компонентами графа.

Определение 6.11: Граф G называется связанным, если все его вершины связаны

между собой.

Следовательно, все его подграфы так же являются связными.

Можно дать еще одно определение компоненты связности - это связный подграф, не

являющийся собственным подграфом никакого другого связного графа.

100

v’

v

v”

e1

ejei

ej-1ei+1

en

Рис.6.12. Выделение простой цепи из маршрута.

Page 101: Ethan Fromestudentpmr.ru/konspekt/disk-mat.doc · Web viewОсобое значение в этом плане имеет изучение современных разделов

Рассмотрим теперь ориентированный граф G. Вершина v орграфа достижима из

вершины u , если существует ориентированный маршрут (путь), исходящий из вершин u и

заходящий в вершинy v.

Определение 6.12:. Орграф называется сильно связанным, если любая его вершина

достижима из любой другой вершины.

Определение 6.13: Орграф называется односторонне связанным, если для любых

двух вершин по крайней мере одна вершина достижима из другой.

Пусть дан орграф. Построим соответствующий ему неориентированный граф

следующим образом: множество вершин то же самое, а каждую дугу заменяем ребром.

Такой граф будем называть каноническим.

Определение 6.14: Орграф называется слабосвязанным, если его канонический граф

является связанным.

Тривиальный случай, когда орграф состоит из одной вершины, считается сильно

связанным.

Из сильной связанности графа следует односторонняя связанность, а из нее – слабая

связанность графа (Рис. 6.13).

§ 6.8: Расстояния

Пусть G - связанный неориентированный граф, вершины v’, v’’G. Тогда существует

связывающая эти вершины простая цепь М(e1,...,eg).

Если количество ребер g этой цепи не является минимально возможным, то

существует цепь М(e1,...,eg’), связывающая те же вершины v’ и v’’ и имеющая меньшее

число ребер (g’<g) и т.д. Этот процесс уменьшения можно повторять, но не более g раз.

Поэтому существует цепь, связывающая v’ и v’’ : M(e1,...,ep), имеющая минимальное

количество ребер p.

101

сильно связанный одностороннe связанный слабо связанный

v1v1 v1

v3

v2v2v2

v3v3

Рис. 6.13. Связность графа.

Page 102: Ethan Fromestudentpmr.ru/konspekt/disk-mat.doc · Web viewОсобое значение в этом плане имеет изучение современных разделов

Определение 6.15: Минимальная длина простой цепи с началом в v’ и концом в v’’

называется расстоянием d(v’, v’’) между вершинами v’ и v’’.

Т.к. каждая вершина связана сама с собой, то d(v,v)=0.

Рассмотренное d(v’, v’’), где v’ и v’’G, удовлетворяет следующим аксиомам :

1.d(v’,v’’) 0 , d(v’,v’’)=0v’=v’’

2.d(v’,v’’)=d(v’’,v’)

3.d(v’,v’’)+d(v’’,v’’’) d(v’,v’’’) - неравенство треугольников.

§ 6.9: Диаметр, радиус и центр графа

Пусть G - конечный неориентированный граф.

Определение 6.16: Диаметром графа G называется величина, равная

d(G)= (d(v’,v’’)) , v’, v’’G.

Кратчайшие простые цепи, связывающие вершины v’ и v’’, с максимальным

расстоянием между ними называется диаметрально простыми цепями.

Пусть v - произвольная вершина графа G. Максимальным удалением в графе G от

вершины v называется величина r(v )= (d(v,v’)).

Определение 6.17: Вершина v называется центром v,v’G графа G, если

максимальное удаление от нее принимает минимальное значение, т.е. r(G)= (r(v)).

Определение 6.18:. Максимальное удаление r(G) называется радиусом графа, а любая

кратчайшая цепь от центра v до максимально удаленной от него вершины v называется

радиальной цепью.

Центр не обязательно единственный. Так, в полном графе КIVI, в котором любые

вершины v’ и v’’ соединены ребром, радиус равен 1, а любая вершина является центром.

Для графа, изображенного на рис.6.14 имеем:

d(G)=3, r(v1)=3, r(v2)=2, r(v3)=2, r(v4)=2, r(v5)=3, r(G)=2, v1, v2, v3- центры графа G.

102

v1v2

v3

v4

v5

Рис. 6.14.

Page 103: Ethan Fromestudentpmr.ru/konspekt/disk-mat.doc · Web viewОсобое значение в этом плане имеет изучение современных разделов

§ 6.10: Эйлеровы и гамильтоновы цепи и циклы

Рассмотрим задачу о кенигсбергских мостах. Необходимо выйти из какой-либо

части города, пройти по каждому мосту не более одного раза, побывав во всех частях

города, и вернуться в исходную часть города (рис 6.15.).

Обходу мостов будет соответствовать последовательность ребер графа, маршрут,

причем он является простым циклом, содержащим все ребра графа.

Такой цикл называется эйлеровым, а графы, содержащие эйлеровы циклы,

называются эйлеровыми графами.

Эйлеровый цикл считается следом пера, вычерчивающего этот граф, не отрываясь от

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

в одной и той же точке.

Теорема 6.1 (Эйлера):. Конечный неориентированный граф G является эйлеровым

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

Следовательно, задача о кенигсбергских мостах не разрешима.

Определение 6.19: Эйлерова цепь – это цепь, включающая все ребра одного не

ориентированного графа G, но имеющая различные начало и конец v’ и v’’.

Чтобы в графе существовала эйлерова цепь, необходима его связанность и четность

степеней всех вершин, кроме начальной и конечной v’ и v’’, которые должны иметь

нечетную степень.

Чтобы в конечном орграфе существовала эйлерова цепь необходимо и достаточно,

чтобы 1(v)=2(v).

103

c

c

f

e

b

a

d

d

a

b

ef

g

g

C

A

DB

A

B

C

D

Рис.6.15.

Page 104: Ethan Fromestudentpmr.ru/konspekt/disk-mat.doc · Web viewОсобое значение в этом плане имеет изучение современных разделов

Определение 6.20: Гамильтоновым циклом называется простой цикл, проходящий

через все вершины графа.

Такой цикл существует не всегда. Через любые 2-е вершины графа может проходить

простой цикл (графа G является циклическим связанным), а гамильтоновый цикл при этом

отсутствует (рис.6.16).

Теорема 5.2 (Теорема Дирака): Если граф G=<V,E> , |V|3, является связным и

степень каждой вершины viV, (vi) , где - ближайшее целое число, то граф

является гамильтоновым.

§ 6.11: Операции над частями графа и графами

Пусть Н - часть графа G.

Дополнение части Н до графа G определяется множеством всех ребер графа G, не

принадлежащих Н.

Пусть даны две части Н1 и Н2.

Объединением Н1Н2 называется граф, множество вершин которого V1V2 , а

множество ребер Е1Е2.

Пересечением Н1Н2 называется граф с множеством вершин V1V2 и ребер Е1Е2.

Части Н1 и Н2 не пересекаются по вершинам, если они не имеют общих вершин, а

следовательно и общих ребер. Объединение не пересекающихся по вершинам частей

называются прямой суммой по вершинам.

Части Н1 и Н2 не пересекаются по ребрам , если Е1Е2=0. Например, для любой

части и Н не пересекаются по ребрам.

Рассмотрим операции над графами.

Пусть даны графы G1=<V1,E1> и G2=<V2,E2>.

1) Объединение двух графов - граф G1G2=<V1V2,E1E2>

104

Данный граф является циклически

связанным,

но не содержит гамильтонова цикла.

Граф с гамильтоновым циклом

Рис.6.16.

Page 105: Ethan Fromestudentpmr.ru/konspekt/disk-mat.doc · Web viewОсобое значение в этом плане имеет изучение современных разделов

2) Симметрическая разность двух графов - граф G1 G2=<V1V2,E1 E2>

3) Сумма двух графов - граф G1 + G2= G1G2KIV1I,IV2I

При построении суммы графов определяется их объединение и каждая вершина

viV1, не вошедшая в пересечение V1V2 соединяется со всеми вершинами из множества

V2\(V1V2 ), а каждая вершина vjV2, не вошедшая в пересечение V1V2 соединяется со

всеми вершинами из множества V1\(V1V2).

Будем говорить, что вершина v конусирует граф G, если она смежна со всеми

вершинами графа G.

Вершины, не вошедшие в пересечение V1V2 при суммировании графов G1 и G2

конусирует соответственно V1\(V1V2) и V2\(V1V2 ) .

4) Прямое произведение G1 G2=<V1 V2,E> .

Множество вершин данного графа содержит пары вида (vw), где vV1 и w V2 , а

множество Е содержит ребра, соединяющие вершины (vv) и (v’v’) , если v и v’1 смежны

в графе G1 , а v2 и v’2 cмежны в графе G2 (Рис.6.17).

Под операцией удаления вершины из графа G понимается операция, заключающаяся в

удалении некоторой вершины v из множества V и инцидентных ей ребер.

Под операцией удаления ребра из графа G=<V,> понимается удаление

соответствующей двойки отношения из .

Если существует такая вершина в графе G, удаление которой превращает связный

граф в несвязный, то она называется точкой сочленения.

Ребро с таким же свойством называется мостом.

Граф, содержащий хотя бы один точку сочленения, называется сепарабельным.

105

=

=

+

1

2

1

1

1 1

2 2

(a,1)

2

2

3

3

3 3 3

а

а а а а

b

b

b b

(a,2) (a,3)

( b,1) (b,2) (b,3)

=

Рис. 6.17.

Page 106: Ethan Fromestudentpmr.ru/konspekt/disk-mat.doc · Web viewОсобое значение в этом плане имеет изучение современных разделов

§ 6.12: Деревья и лес

Неориентированное дерево - это связный неориентированный граф, не содержащий

циклов, а следовательно, петель и кратных ребер.

Несвязный неориентированный граф без циклов называется лесом (Рис.6.18).

Любая часть леса или дерева также не содержит циклов и кратных ребер, т.е. является

деревом или лесом. Любая часть дерева представляет собой дерево.

Любая цепь в дереве является простой.

Вершина v графа G называется концевой или висячей, если её локальная степень равна

1. Инцидентное концевой вершине ребро так же называется концевым.

Если конечное дерево состоит более чем из одной вершины, то оно содержит хотя бы

две концевые вершины и хотя бы одно концевое ребро.

Цикломатическим числом графа называется число равное r+m-n, где m- число ребер,

n- число вершин, r- число компонент связности графа.

Для связанного графа цикломатическое число равно m-n+1, кроме того

цикломатическое число связанного графа равно количеству ребер, которые необходимо

удалить из связанного графа, чтобы получить остовное дерево графа (остовным деревом

графа G называется подграф графа G с тем же множеством вершин, являющийся деревом).

Рассмотрим случай орграфа.

Пусть в графе G отмечена вершина v0. Ее называют корнем дерева G, а само дерево -

деревом с корнем. В таком дереве можно естественным образом ориентировать ребра в

направлении от корня и получим ориентированное дерево.

Если изменить направление всех ребер на противоположное ( к корню ), то получим

тоже орграф, ориентированное дерево, которое называется сетью сборки (Рис.6.19.).

106

Рис. 6.18.

Ориентированное дерево Сеть сборки

v0 v0

Рис.6.19.

Page 107: Ethan Fromestudentpmr.ru/konspekt/disk-mat.doc · Web viewОсобое значение в этом плане имеет изучение современных разделов

В каждую вершину ориентированного дерева входит только одно ребро, в корень не

входит ни одно ребро. В любом конечном дереве число вершин на 1 больше числа ребер.

Любое дерево можно ориентировать, выбрав в качестве корня любую его вершину.

§ 6.13: Взвешенные графы

Определим понятие взвешенного (помеченного) графа. При этом сопоставим каждой

вершине viV графа G =<V,E> некоторый вес wiW, а каждому ребру eiE также

сопоставим некоторый вес piP.

Т.о., получим граф, содержащий взвешенные вершины (vi,wi) и взвешенные ребра (ei,

pi), т.е. граф G =<(V,W),(E,P)>.

Строго говоря, G представляет собой уже не граф, а функцию, определенную на

вершинах и ребрах графа, т.е. если f:VW, g:EP, то G = <f,g>.

Пример. В графе помеченными могут быть только вершины, или только ребра, или и

вершины и ребра (Рис. 6.20).

Взвешенный граф полностью определяется матрицей инцидентностии матрицами

весов:

Sv = и SE =

Поиск остовного дерева минимальной длины во взвешенном графе.

107

Кишинев

Бендеры

Тирасполь

Одесса

60

15

100

Рис. 6.20. Пример взвешенного графа.

Page 108: Ethan Fromestudentpmr.ru/konspekt/disk-mat.doc · Web viewОсобое значение в этом плане имеет изучение современных разделов

Данный алгоритм (Алгоритм Крускаля) применяется при разработке различных

коммуникационных сетей. Суть его состоит в том, чтобы сумма весов ребер полученного

дерева была минимальной.

Пусть дан граф G с помеченными ребрами.

1. Выбирают ребро с минимальным весом.

2. Из оставшихся выбирают ребро с минимальным весом.

3. Проверяют, не образует ли выбранное ребро цикла с выбранными ранее ребрами.

Если да, то отбрасывают его и переход к п 4 . Если нет, то включают его в отобранную

совокупность ребер.

4. Если не все вершины графа еще связаны, то повторяем все действия, начиная с

п.2. В противном случае – конец алгоритма.

Пример: В заданном взвешенном графе (Рис. 6.21) выделить остовное дерево

минимальной длины.

Ребра расположены в порядке возрастания следующим образом: AC, FG, EF, EH, IJ,

CD, GJ, AD, DG, BC, CF, FI, HI, AB, BE, FD, BF, CH. Алгоритм Крускаля позволяет

последовательно сохранять ребра AC, FG, EF, EH, IJ, CD,CJ, а ребро AD исключается, т.к.

оно образовывало бы цикл с уже включенными в дерево ребрами AC и CD. Затем

добавляются ребра DG и BC. Как можно заметить, все вершины уже связаны и

минимальное дерево получено.

§ 6.14: Планарные графы

108

A

B C D

EF

G

H

I

J

460 400

150420

610380

435 475 415

330170310

690 390

360

445

450

Рис.6.21.

Page 109: Ethan Fromestudentpmr.ru/konspekt/disk-mat.doc · Web viewОсобое значение в этом плане имеет изучение современных разделов

Определение 6.21:. Граф G называется планарным, если он может быть изображен на

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

картой графа (Рис.6.22)

Графы К5 и К3,3 не являются планарными (Рис.6.23).

Карта G называется связной, если граф G связный.

Каждая картина делит плоскость R2 на области, ограниченные и неограниченные.

Множество таких областей обозначаются через R.

Теорема 6.3(Эйлера): Для произвольной связной карты выполняется равенство :

IVI+IRI - IEI = 2 (Рис.6.24).

Каждая область карты ограничена замкнутым маршрутом .

Определение 6.22: Пусть G=<V,E> - планарный граф. Для карты G определим r -

степень области r, как длину замкнутого маршрута, ограничивающего область r.

Для графа, изображенного на рис. 6.20, имеем:

r1=3 r3=3

r2=3 r4=3

Имеют место следующие соотношения:

r=2 |E|

109

G Карта G

Рис.6.22.

К5 K3,3

Рис.6.23.

r2

r1

r3 r4

4 + 4 - 6 =2

Рис.6.24

Page 110: Ethan Fromestudentpmr.ru/konspekt/disk-mat.doc · Web viewОсобое значение в этом плане имеет изучение современных разделов

если |V|3, то |E|3|V| - 6

63*4-6

66

Рассмотрим операцию стягивания графа G как слияние двух смежных вершин после

удаления ребра между ними.

Граф называется стягиваемым к G’, если G’ может быть получен из G путем

последовательного выполнения элементарных стягиваний.

Теорема 6.4 (Куратовского):. Граф является планарным, тогда и только тогда, когда

он не содержит подграфов, стягиваемых к К5 и К3,3.

Определение 6.23: Раскраской графа G называется задание цвета вершинам таким

образом, что если вершины v и w- смежные, v,w V, то они имеют различные цвета.

Величина (G) называется хроматическим числом графа G и равна минимальному

числу цветов, необходимых для раскраски графа.

Граф G называется р-хроматическим, если его вершины можно раскрасить р

различными цветами.

Одно-хроматический граф тривиальный граф. Дву-хромотический граф тогда и

только тогда, когда он не содержит циклов нечетной длины.

Теорема 6.5: Для любого планарного графа G хроматическое число не более 4.

Пусть М - карта графа G. Определим карту M’ следующим образом: внутри каждой

области карты М выберем внутреннюю точку. Если две области имеют общее ребро, то

между выбранными внутренними точками проведем дугу. Этот процесс определяет карту

М’, называемую двойственной карте М’ (Рис. 6.25).

Раскраска карты М’ соответствует раскраске областей карты М т.о., что

области, имеющие общее ребро, имеют разные цвета.

110

v2v1

v3v4

1

1

2

2

3

3

4

4

M’M

Рис. 6.25.

Page 111: Ethan Fromestudentpmr.ru/konspekt/disk-mat.doc · Web viewОсобое значение в этом плане имеет изучение современных разделов

Теорема 6.6: Если области карты М необходимо раскрасить таким образом, чтобы

смежные области имели различные цвета, то необходимо не более 4-х цветов.

Толщиной графа G называется наименьшее число планарных графов, объединение

которых дает G. Толщина планарного графа равна 1. Нижняя оценка толщины t(G) графа

G=<V,E> определяется неравенством:

t(G)1+ , где -целая часть, |V|=n, i – степень i-ой вершины.

§ 6.15: Задача поиска маршрутов (путей) в графе (орграфе)

Рассмотрим алгоритм поиска маршрута в связном графе G=<V, E>, соединяющего

вершины v,wV причем vw.

Алгоритм Тэрри:

Если, исходя из вершины v и осуществляя последующий переход от каждой

доступной вершины к смежной ей вершине, следовать следующим правилам 1-4, то всегда

можно найти маршрут в связанном графе, соединяющим две заданные вершины.

Правило 1: Идя по произвольному ребру, отмечать направление, в котором оно было

пройдено.

Правило 2: Исходя из некоторой вершины v' всегда следовать только по тому ребру,

которое не было пройдено или пройдено в противоположном направлении.

Правило 3: Для всякой вершины v'v отмечать первое заходящее в v' ребро, если v

встречается в первый раз.

Правило 4: Исходя из некоторой вершины v'v по первому заходящему в v' ребру

идти лишь тогда, когда нет другой возможности.

Пример:

а) б)

111

v2 v3

v1 v5

v4

v1

v2 v3

v4

v5

5

4

6

23

1

xx

x

x

Рис. 6.26.

Page 112: Ethan Fromestudentpmr.ru/konspekt/disk-mat.doc · Web viewОсобое значение в этом плане имеет изучение современных разделов

Найти маршрут из v1 в v5 (рис.6.26)

Знаком помечены первые заходящие в вершины ребра возле той вершины, в

которую это ребро заходит. По рисунку видно, что маршрут имеет вид: v1 v2 v1 v3 v4 v3 v5.

После того как из v1 зашли в v3 по правилу 4 в v1 вернуться не можем, т. к. имеются

другие возможности, а ребро v1v3 является первым заходящим в v3 ребром. После того как из

v4 зашли в v3 по дуге 5 по правилу 2 в v4 вернуться не можем, а в силу правила 4 не можем

идти и к v1, остается идти к v5.

Замечание 6.1: Алгоритм Тэрри остается в силе, когда G связный граф.

Замечание 6.2: Если G не связный псевдограф, то с помощью алгоритма Тэрри,

исходя из любой вершины v и помечая пройденные вершины и ребра, можно выделить

компоненту связанности псевдографа, содержащую вершину v. Алгоритм закончит свою

работу, когда в первый раз невозможно будет выполнить правило 2, т. е. пришли в вершину

u такую, что все инцидентные ей ребра пройдены в направлении из u, при этом получим, что

u = v.

Замечание 6.3: Из полученного с помощью алгоритма Тэрри маршрута всегда можно

выделить простую цепь, соединяющую v и w.

§ 6.16: Поиск путей (маршрутов) с минимальным числом дуг (ребер)

Путь в орграфе D из вершины v в вершину w, где vw называется минимальным,

если он имеет минимальную длину среди всех путей в орграфе из v в w.

Рассмотрим свойства минимального пути(маршрута):

Утверждение 6.1: Любой минимальный путь (маршрут) является простой цепью.

Утверждение 6.2: (о минимальности подпути минимальность пути) Пусть М=v1, ...,

vk - минимальный путь (маршрут) из v1 в vk, где v1vk, тогда для любых номеров i, j таких,

что 1 i j k путь (маршрут) M0=vi, vi+1, ..., vj также является минимальным .

Пусть D=<V, E> орграф, где vV , V1V.

Mножество D(v)={w| (v, w)E} называется образом вершины v.

Mножество D1(v)={w| (w, v) E} прообраз вершины v.

D(V1)= D(v) образ множества вершин V1.

D(V1) Dv) прообраз множества вершин V1.

Пусть G=<V, E> граф, где vV , V1V.

Mножество G(v)={w| (v, w)E} называется образом вершины v.

112

Page 113: Ethan Fromestudentpmr.ru/konspekt/disk-mat.doc · Web viewОсобое значение в этом плане имеет изучение современных разделов

G(V1)= G(v) образ множества вершин V1.

Рассмотрим алгоритм поиска минимального пути в орграфе с n вершинами из v в

w, где vw.

Алгоритм фронта волны:

Шаг 1: Помечаем вершину v индексом 0, затем помечаем вершины принадлежащие

образу вершины v индексом 1. Множество вершин с индексом 1 обозначаем FW1(v) фронт

волны 1-го уровня. Полагаем k=1.

Шаг 2: Если FWk(v)= или k= n и w FWk(v), то вершина w недостижима из v и

алгоритм прекращает работу, иначе шаг 3.

Шаг 3:Если wFWk(v) перейти к шагу 4, иначе существует путь из v в w длиной k и

этот путь является минимальным. При этом последовательность вершин v w1 w2 ... wk-1 w,

где

wk-1FWk(v)D(w)

wkFWk(v) D(wk) (6.1)

.................

w1FW1(v) D(w2)

и является искомым минимальным путем из v в w. На этом алгоритм прекращает

свою работу.

Шаг 4: Помечаем индексом k+1 все непомеченные вершины, которые принадлежат

множеству вершин с индексом k. Множество вершин с индексом k+1 обозначим FWk+1(v),

присваиваем k:= k+1 и переходим к шагу 2.

Замечание 6.4: Множество FWk(v) называют фронтом волны k-ого уровня.

Замечание 6.5: Вершины w1 w2 ... wk-1 из (6.1) могут быть выделены неоднозначно, т.

е. могут существовать несколько минимальных путей из v в w.

Пример: Определить минимальный путь из v1 в v6 в орграфе, заданном матрицей

смежности.

v1 v2 v3 v4 v5 v6

v1 0 0 0 1 1 0

v2 1 0 0 1 1 1

v3 1 1 0 1 1 1

v4 0 1 1 0 1 0v5 v4

1 1 1 1 0 0

v6 1 1 1 1 1 0

Следуя данному алгоритму, последовательно получаем, что:

113

Page 114: Ethan Fromestudentpmr.ru/konspekt/disk-mat.doc · Web viewОсобое значение в этом плане имеет изучение современных разделов

FW1(v)={v4, v5}

FW2(v)=D(FW1(v))\{v1, v4, v5}={v2, v3}

FW3(v)=D(FW2(v))\{v1, v2, v3, v4, v5}={v6}

v6 FW3(v), т. е. существует путь из v1 в v6 длиной 3 этот путь минимальный.

Определим множество

FW2(v)D (v6)={v2, v3}{v2, v3}={v2, v3} Выберем любую вершину из найденного

множества, например v3.

Далее определяем множество

FW1(v) D (v3)={ v4, v5}{ v4, v5, v6}={ v4, v5}

Из полученного множества выбираем любую вершину, например v5. Таким образом

получим, что искомым минимальным путем будет v1 v5 v3 v6.

Замечание 6.6: Если выражения D( ), D-1( ) заменить на G( ), G-1( ), то данный

алгоритм применим и к неориентированному графу.

§ 6.17: Минимальный путь (маршрут) во взвешенном орграфе (графе)

Пусть каждой дуге взвешенного орграфа D=<V, E> приписан некоторый вес число

l(e), где eE.

Для любого пути М через l(M) обозначим сумму длин входящих в него дуг и назовем

длиной пути М во взвешенном орграфе.

Любой не взвешенный граф можно считать взвешенным, длина каждой дуги которого

равна 1.

Пусть во взвешенном орграфе существует путь из v в w, где vw. Он называется

минимальным, если имеет минимальную длину среди всех возможных путей из v в w.

Рассмотрим свойства минимального пути взвешенного орграфа.

1) Если для любой дуги eE l(e)>0, то любой минимальный путь (маршрут) является

цепью.

2) Если v1, ..., vk минимальный путь (маршрут) из v1 в vk, то для любых i, j таких, что

1 i j k путь (маршрут) vi, vi+1, ..., vj также минимальный.

3) Если v, ..., u, w минимальный путь (маршрут) из v в w, содержащий не более k+1

дуг (ребер), то v, ..., u также минимальный путь (маршрут), содержащий не более k дуг

(ребер).

Рассмотрим задачу поиска минимального пути (маршрута) во взвешенном орграфе

(графе).

114

Page 115: Ethan Fromestudentpmr.ru/konspekt/disk-mat.doc · Web viewОсобое значение в этом плане имеет изучение современных разделов

Если орграф содержит ребро с отрицательным весом, то минимального пути может и

не существовать.

Замечание 6.7: Если необходимо найти максимальный путь, то достаточно будет

поменять знаки длин дуг на противоположные.

Пусть D=<V, E> взвешенный орграф с n2 дугами. Введем величины i(k)

, где i =1, 2,

..., n k=1, 2, ... длина минимального пути из v1 в vi, содержащего не более k дуг. Если

таких путей нет, то i(k)

=. Если произвольную вершину v считать путем нулевой длины из

v в v, то можем ввести величины:

1(0)=0 и i

(0)= для i =2, 3, ..., n. (6.2)

Рассмотрим квадратную матрицу nn каждый элемент которой

Cij= (6.3)

Такую матрицу назовем матрицей длин дуг взвешенного орграфа.

Утверждение 6.3: При i =2, ..., n, k0 выполняется равенство

i(k+1)= {j

(k)+ Cj i}, (6.4)

a при i =1, k0 справедливо равенство

1(k+1)=min{0, (j

(k)+ Cj,1)} (6.5)

Используя данное утверждение можно описать алгоритм нахождения таблицы

значений величин i(k) в виде матрицы из i строк и (k+1) столбцов, начиная с k=0 и

увеличивая k по мере необходимости.

Предположим, что в орграфе отсутствуют простые циклы отрицательной длины.

Утверждение 6.4: Из всякого замкнутого пути отрицательной длины можно

выделить простой цикл отрицательной длины.

Утверждение 6.5:. Если во взвешенном орграфе отсутствуют простые циклы

отрицательной длины, то в нем нет и замкнутых путей отрицательной длины.

Утверждение 6.6: Во взвешенном орграфе, в котором нет простых циклов

отрицательной длины, из всякого незамкнутого пути можно выделить простую цепь с теми

же началом и концом, длина которой не превосходит длину исходного пути.

Рассмотрим алгоритм, который позволяет по таблице i(k), где i =2, ..., n k=0, 1,...,n-

1, определить минимальный путь во взвешенном орграфе из v1 в любую достижимую

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

Алгоритм Форда-Беллмана нахождения пути во взвешенном орграфе из v1 в v

i11

115

Page 116: Ethan Fromestudentpmr.ru/konspekt/disk-mat.doc · Web viewОсобое значение в этом плане имеет изучение современных разделов

Шаг 1: Пусть таблица величин i(k) где i =2, ..., n k=0, 1, ... уже составлена. Если

= то вершина vi не достижима из v1 и алгоритм заканчивает свою работу. В данном

алгоритме принимают, что l(e), eE конечное число.

Шаг 2: Пусть < тогда выражает длину любого минимального пути из v1

в vi1. Определим минимальное число k11 при котором выполняется равенство: = .

По определению чисел i(k) получаем, что k1 - это минимальное число дуг в пути среди всех

минимальных путей из v1 в v .

Шаг 3: Последовательно определяем номера i2, i3, ..., i

+ C , =

+ C , = (6.6)

.......................

+C =

эти номера находим в соответствии с равенством (2). С учетом того, что =

< имеем, что C , <, ..., C , , откуда, используя (6.2) получаем ребро(v ,v

),...,( , )E, l(v ,v )= C , ,..., l( , )= C ,

=0, i =1, = v1. (6.7)

Складывая (6.6) и учитывая (6.7) имеем, что длина маршрута l(v1, , ..., v , v )= ,

т. е. v1, , ..., v ,v искомый минимальный путь из v1 в v в орграфе D с k1 дугами.

Замечание 6.8: Номера i2, i3,...i , удовлетворяющие (6.6) могут быть выделены

неоднозначно, т. е. может существовать несколько минимальных путей из v1 в v .

Замечание 6.9:Данный алгоритм можно модифицировать т.о., чтобы определить

минимальный путь из v1 в v , содержащий не более k0 дуг, где k01 – заданное число. Для

этого в алгоритме вместо необходимо рассматривать . При этом, если в орграфе

D имеются простые циклы отрицательной длины, может выполняться неравенство .

Замечание 6.10: Алгоритм Форда-Беллмана и его модификация, описанная выше,

после соответствующего изменения в терминологии и обозначениях применимы и к

неориентированному графу.

Пример: Определим минимальный путь из v1 в v6 во взвешенном орграфе (рис.6.27),

матрица длин дуг которого имеет вид:

116

Page 117: Ethan Fromestudentpmr.ru/konspekt/disk-mat.doc · Web viewОсобое значение в этом плане имеет изучение современных разделов

v1 v2 v3 v4 v5 v6

v1 5 5 2 12 0 0 0 0 0 0

v2 2 7 5 5 5

v3 2 5 3 3 3 3

v4 2 5 4 4 4 4

v5 1 2 2 2 2 2 2

v6 12 12 9 7 7

Величина 6(5) выражает длину минимального пути из v1 в v6. Найдем минимальное

число k11 дуг, при котором выполняется равенство 6(5) = 6

(k1

) Из таблицы получаем k1=4, значит минимальный маршрут будет содержать самое меньшее 4 дуги. Определим теперь последовательность номеров i1, i2, ..., i5, где i1=6, в минимальном пути, удовлетворяющую (6.6). Из таблицы получаем, что это последовательность номеров 6,2,3,5,1, так как:

2(3)+С2,6=5+2=7=6

(4)

3(2)+С3,2=3+2=5=2

(3)

5(1)+С5,3=2+1=3=3

(2)

1(0)+С1,5=0+2=2=5

(1). Тогда v1 v5 v3 v2 v6 минимальный путь из v1 в v6, содержащий наименьшее число дуг.

117

v1

v6

v5

v2

v4

v3

5

2

12

2

2

2

25

1

Рис.6.27.

Page 118: Ethan Fromestudentpmr.ru/konspekt/disk-mat.doc · Web viewОсобое значение в этом плане имеет изучение современных разделов

Раздел 7: Теория алгоритмов§ 7.1: Понятие алгоритма и необходимость его математического уточнения.

Проблема разрешения, проблема уточнения, проблема вычисления. Предикаты

До середины 19 века единственной областью математики, работающей не с

числовыми объектами, была геометрия, которая отличалась повышенными требованиями к

точным рассуждениям.

Во 2-ой половине 19 века эти требования стали еще более жесткими в связи с

возникновением неевклидовой геометрии и абстрактных теорий, типа теории групп. Кроме

того, Кантором была создана теория множеств, понятия которой лежат в основе всей

математики. Но данная теория в своих рассуждениях приводила к неразрешимым

противоречиям. Все это потребовало точного изучения принципов математических

рассуждений теми же математическими средствами. Возникла так называемая

метаматематика, использующая рассуждения с помощью финитных методов. Финитный

подход заключался в том, что он допускал только конечные действия над конечным числом

объектов. Поэтому необходимо выяснение, какие объекты и действия следует считать точно

определенными, какими свойствами обладают комбинации элементарных действий, что

можно или нельзя сделать с их помощью. Все это стало предметом изучения теории

алгоритмов и формальных систем. Главным внутриматематическим приложением теории

алгоритмов является доказательство невозможности алгоритмического, т. е. точного и

однозначного решения некоторых математических проблем. Такие доказательства

невозможны без понятия алгоритма.

Необходимость уточнения понятия алгоритма была обусловлена тем, что сравнение

различных алгоритмов решения одной и той же задачи нужно было проводить не только по

качеству решения задачи, но и по характеристикам самого алгоритма.

Из курса информатики средней школы известно, что алгоритм – это точно

определенная последовательность действий, приводящая к результату.

Основные требования, предъявляемые к алгоритмам.

1) Каждый алгоритм имеет дело с данными входными, промежуточными и

выходными, т. е. существует вход и выход алгоритма, объекты, используемые алгоритмом в

качестве данных, должны быть различимы и четко определены. В теории алгоритмов

фиксируют конечные конкретные наборы исходных объектов, называемые элементарными,

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

элементарных объектов образует алфавит.

118

Page 119: Ethan Fromestudentpmr.ru/konspekt/disk-mat.doc · Web viewОсобое значение в этом плане имеет изучение современных разделов

2) Данные для размещения требуют память, которая должна быть однородной и

дискретной, т. е. состоять из одинаковых ячеек, каждая из которых может содержать не

более одного символа алфавита. Память может быть конечной или бесконечной, одна или

несколько.

3) Дискретность алгоритма алгоритм состоит из отдельных элементарных действий,

число которых конечно.

4) Последовательность шагов алгоритма детерминирована (определена), после

каждого шага точно можно сказать, какой шаг следующий или дается команда остановки

алгоритма.

5) Массовость – алгоритм должен быть применим к классу однотипных задач,

различающихся исходными данными.

6) Результативность алгоритма - за конечное число шагов должен быть получен

результат. Не существует общего метода проверки алгоритма на результативность для

любых данных.

Следует различать:

- описание алгоритма - инструкция,

- механизм реализации алгоритма, содержащий средства пуска, остановки,

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

- процесс реализации алгоритма это последовательность шагов, которая

порождается при применении алгоритма к конкретным данным.

Будем полагать, что описание и механизм его реализации конечны.

Примером описания является блок-схема (орграф), где вершина - это шаги алгоритма,

а дуги - направление потоков данных, тогда реализация алгоритма - это нахождение пути в

графе от начальной до конечной вершины. Но блок-схема не содержит сведений ни о

памяти, ни об использованном наборе элементарных шагов. Исходя из требований 16,

алгоритм можно определить как общий метод решения элементарных задач, обладающий

свойствами массовости и т.д.

Определение алгоритма, приводимое в курсе информатики, не является точным

математическим понятием, т.к. входящие в это определение слова в свою очередь не

обозначают точные математические понятия.

Рассмотрим необходимость математического уточнения понятия алгоритма.

Постоянно встает проблема поиска алгоритмов для решения новых классов задач,

возникающих внутри и вне математики. Если поиск оканчивается успешно, то понятие

алгоритма не требует уточнения, в противном случае возникают две гипотезы:

119

Page 120: Ethan Fromestudentpmr.ru/konspekt/disk-mat.doc · Web viewОсобое значение в этом плане имеет изучение современных разделов

1) алгоритм существует, но описывается не теми средствами, которые необходимы

для его представления, и поиск следует продолжить;

2) алгоритм не существует, но необходимо доказать, что искомый алгоритм не

существует, а для этого точно необходимо знать (в точном математическом смысле), что

такое алгоритм;

Т.е. возникает необходимость построения математической теории алгоритма.

Были построены различные модели такой теории: машина Тьюринга, рекурсивные

функции, нормальные алгорифмы Маркова.

Введем некоторые понятия:

Рассмотрим общий вопрос: имеет ли действительные корни уравнение ax2+6x+c=0,

где a, b, c Z, а 0.

Этот общий вопрос объединяет однотипные частные вопросы, отличающиеся

значениями a, b, c. Ответ на поставленный вопрос формулируется в виде «да» или «нет».

Т.о., общий вопрос содержит в себе счетный класс частных вопросов: P={p1,p2,...,pn,...}.

Определение 7.1: Вопрос о существовании общего метода, позволяющего за

конечное число шагов ответить «да» или «нет» на любой вопрос piP, называется проблемой

разрешения для этого класса вопросов.

Определение 7.2: Проблема разрешения может решаться положительно, тогда класс

P, называется разрешимым, а сам метод - разрешающей процедурой, или алгоритмом. В

противном случае класс Р неразрешим.

Рассмотрим теперь следующий вопрос: найти корни уравнения ax2+6x+c=0. В

качестве ответа необходимо предъявление какого-то объекта. Общий вопрос содержит в себе

счетное множество частных вопросов Q={q1,q2,...,Qn,...}, например, найти корни уравнения

3х2+2х-1=0.

Вопросы данного класса формулируются, начиная со слов: чему равно, найти,

вычислить, решить и т.п.

Определение 7.3: Вопрос о том, существует ли общий метод, позволяющий для

любой задачи qi Q за конечное число шагов дать ответ, называется проблемой вычисления

для класса Q.

Определение 7.4: Если эта проблема решается положительно, то данный класс задач

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

противном случае класс задач считается невычислимым.

Отсутствие вычислительного алгоритма для класса однотипных задач не означает,

что частная задача класса не разрешима (не вычислима).

Пример не существует общего метода для решения уравнений 5-ой степени:

120

Page 121: Ethan Fromestudentpmr.ru/konspekt/disk-mat.doc · Web viewОсобое значение в этом плане имеет изучение современных разделов

ax5+bx4+cx3+dx2+еx+f = 0, но частное уравнение x5 - 4x3+x2 - 4=0 имеет решение:

x3(x2 -4)+(x2 -4)=0

(x2 - 4)(x3 + 1)=0

(x-2)(x+2)(x+1)(x2 -x+1)=0

x1=2, x2= -2, x3= -1

Кроме того, в настоящее время в вычислительной математике разрабатываются

методы приближенных вычислений.

Говоря далее «функция», будем иметь в виду арифметическую функцию, т.е.

функцию вида f : M1nM2, где M1, M2 - множество натуральных чисел.

Функция f называется вычислимой, если существует алгоритм для вычисления ее

значений при любых значениях аргументов.

Вычисляемая функция - это интуитивное понятие, т.к. в ее определении содержится

интуитивное понятие алгоритма. Поэтому употребляется термин интуитивно вычисляемая

функция.

Определение 7.5: Функция Р(x1,x2,...,xn), аргументы которой принимают значения из

некоторого множества D, а сама функция принимает значения из множества B={0,1},

называется предикатом (в данном случае n - местным).

Иными словами, предикат можно рассмотреть как некоторые предложение, о котором

можно сказать, истинно оно или ложно.

Пример: P(x)={x - простое число} – одноместный предикат.

P(3)=1

P(22)=0 (22 не простое число)

P(x, y)={x+y=5} – двуместный предикат.

P(2,3)=1

P(0,4)=0

Определение 7.6: Предикат называется тождественно истинным, если для любых

значений аргумента он принимает значение 1; и называется тождественно ложным, если

для любого значения аргумента его значение 0. Предикат называется выполнимым, если

существует хотя бы один набор значений, при которых значение предиката равно 1.

Утверждение 7.1: Любой алгоритм, разрешающий или вычисляющий, может быть

сведен к алгоритму для вычисления значений некоторой функции.

Рассмотрим счетный класс задач P={pi| iN}, требующих ответа «да» или «нет». На

множестве N определим предикат P, порождающий логическую функцию f : N{0,1}

следующим образом:

P(n)=

121

Page 122: Ethan Fromestudentpmr.ru/konspekt/disk-mat.doc · Web viewОсобое значение в этом плане имеет изучение современных разделов

Если класс задач P разрешим, то и предикат Р разрешим и обратно. Таким

образом, проблема разрешения для класса Р сводится к проблеме разрешения для предиката

Р.

Теперь построим для предиката Р представляющую функцию fp следующим

образом:

fp(n)=

Теперь проблема разрешения для предиката Р, а следовательно, и для класса Р,

сводится к проблеме вычисления для функции fp.

Действительно, если fp вычислима, то применив соответствующий алгоритм к

произвольному значению n аргумента, получим значение fp(т), т.е. 0 или 1. Если fp=0, то

Р(n)=1 и ответ на Р(n) – «да», если fp=1, то Р(n)=0 и ответ на Р(n) – «нет».

Итак, любой разрешающий алгоритм для задач класса Р сводим к алгоритму

для вычисления значений некоторой функции.

Рассмотрим счетный класс задач Q={qi| iN}, требующих в качестве ответа

предъявление некоторого объекта, т.е. задачи типа «Чему равно?». Пусть объекты,

предъявляемые в качестве объектов, берутся из некоторого счетного множества, которое

можно перечислить, например: y0,y1, y2,…,ya,…

(7.1)

Теперь построим функцию f следующим образом: f(n)=a, если ответ к задаче qn есть

ya.

Таким образом, проблема вычисления для задач класса Q сведется к проблеме

вычисления для функции f.

Если f вычислима, то , применив вычисляющий алгоритм к произвольному значению

n аргумента, получим соответствующее значение функции и по этому значению a

восстановим объект ya , являющийся ответом к задаче qn. Это восстановление возможно в

силу перечислимости множества (7.1), означающей, что по номеру элемента

восстанавливается и сам элемент.

В итоге получаем, что всякий алгоритм сводим к алгоритму для вычисления значений

некоторой функции. Поэтому, решая проблему уточнения понятия алгоритма, можно

ограничиваться алгоритмами для вычисления значений функции, а это равносильно

уточнению класса вычислимых функций.

Эту проблему решают по следующей схеме:

1) вводят класс точно определенных функций;

2) убеждаются, что все функции данного класса вычислимы. Встает вопрос: "Все ли

вычислимые функции принадлежат введенному классу?”. С помощью доказательства

122

Page 123: Ethan Fromestudentpmr.ru/konspekt/disk-mat.doc · Web viewОсобое значение в этом плане имеет изучение современных разделов

ответить на этот вопрос принципиально невозможно, так как в нем содержится интуитивное

понятие «вычислимая функция». Поэтому

3) принимают гипотезу, или тезис, что «класс интуитивно-вычислимых функций

совпадает с классом точно определенных функций».

§ 7.2: Машина Тьюринга

Характеризуя понятие алгоритма, отмечалось, что предписание, задающее алгоритм,

должно быть однозначно осуществимым и, недопустимы никакие свободно принимаемые

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

степени этим свойством обладают машины. Английский математик Тьюринг предложил

уточнение понятия алгоритм в виде воображаемой вычислительной машины. Основное

отличие машины Тьюринга (МТ) в том, что она:

1)не может ошибаться;

2)обладает бесконечной памятью;

Рассмотрим составные части МТ:

1) Лента (память) - бесконечная вправо и влево лента, поделенная на ячейки.

2) Внешний алфавит МТ - конечное множество символов:

А={a0,a1,...,ak}

В каждый момент времени в одной ячейке ленты может находиться только один

символ из внешнего алфавита А.

Стмвол а0 имеет строго определенный смысл - пустой символ.

Почти все ячейки ленты могут быть пустыми. В процессе работы МТ символы в

ячейках могут меняться: старый стирается, вписывается новый. Если ячейка пуста, то

подразумевается, что в ней находится символ а0.

3) Внутренний алфавит - множество состояний МТ :

Q={q0,q1,q2,...,qm}

Данное множество конечно. В каждый момент времени МТ может находиться лишь в

одном из состояний qi. За один такт работы МТ может изменить свое состояние и в

следующий момент времени воспринимать ячейку в новом состоянии. При этом различают:

q0 - конечное состояние, МТ останавливается.

q1 - начальное состояние.

4) Управляющая головка (устройство) - способно воспринимать информацию из

ячейки, изменять ее и двигаться по ленте. При этом: 1) в каждый момент времени головка

обозревает только одну ячейку ленты; 2) за один такт работы головка может передвинуться

123

Page 124: Ethan Fromestudentpmr.ru/konspekt/disk-mat.doc · Web viewОсобое значение в этом плане имеет изучение современных разделов

влево на одну ячейку и обозревать соседнюю слева ячейку, либо передвинуться на одну

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

Множество направлений движения головки МТ обозначим:

T={Л, П, Н}

4) Программа МТ - описывает порядок работы МТ с внешним алфавитом А и

множеством внутренних состояний Q.

Рассмотрим команду ajqiaqteqp :

Если в некоторый момент времени управляющая головка обозревает ячейку,

содержащую символ aj, находясь в состоянии qi, то она должна выполнить следующую

работу:

1) символ aj в этой ячейке заменить на символ aq.

2) осуществить сдвиг в направлении teT;

3)перейти в состояние qp.

Программой МТ называется совокупность подобных команд, причем их число не

более m(k+1).Представим программу МТ в виде таблицы, состоящей из k+1 строк и m столбцов.

q1 q2 … qi … qm

a1 .a2 .

… .aj … … … aqteqp

…ak

Каждая пара вида (aj, qi) представляет собой элемент прямого произведения множеств

AQ\{q0}, а каждая тройка (aq,te,qp) представляет собой элемент прямого произведения

ATQ. Таким образом, МТ ставит в соответствие каждой паре (aj,qi) тройку (aq,te,qp), т.е.

является отображением. F: AQ\{q0}ATQ, которое полностью определяет МТ.

Пусть в некоторый момент времени t самая левая непустая ячейка ленты с1 содержит

символ ajs, а самая правая непустая ячейка ленты сs, s2 содержит символ ajs. Между с1 и сs

содержится s-2 ячейки. В этом случае говорят, что в момент времени t на ленте записано

слово

p=aj1aj2...ajk...ajs

(7.2).

При s=1, т.е. когда на ленте лишь один непустой символ, p=aj1.

124

Page 125: Ethan Fromestudentpmr.ru/konspekt/disk-mat.doc · Web viewОсобое значение в этом плане имеет изучение современных разделов

Если МТ в некоторый момент времени находится в состоянии qi и головка обозревает

символ ajv слова (7.2), где 2vs, то слова aj1aj2...qiajv...ajs называются конфигурацией МТ в

момент времени t.

Если лента МТ пуста, то конфигурация МТ будет иметь вид: qia0 .

В дальнейшем будем понимать: пусть МТ начинает работать в некоторый момент

времени. Слово, записанное в этот момент на ленте, называется исходным, или начальным.

Чтобы МТ действительно началa работу, необходимо поместить считывающую головку

напротив какой-либо ячейки и указать, в каком состоянии МТ находится в начальный

момент.

Если P1 - исходное слово, то МТ, начав работу на слове P1 , либо остановится через

определенное число шагов, либо никогда не остановится. В первом случае говорят, что МТ

применима к слову P1 и результатом применения является слово P, соответствующее

заключительной конфигурации МТ: P=T(P1)

Во втором случае МТ не применима к слову P1 .

В дальнейшем условимся:

1) исходное слово - не пустое,

2) МТ начинает работу, находясь в состоянии q1.

Зоной работы МТ на слове P1 называется множество всех ячеек, которые за время

работы хотя бы один раз обозревались головкой.

МТ Т1 и Т2 называются эквивалентными в алфавите А ( Т1(P) Т2(P)), если для

любого исходного слова Р Т1(P) и T2(P) определены или не определены одновременно, и

если они определены, то Т1(P) =Т2(P).

МТ Т определена (не определена), если МТ Т применима (не применима) к слову Р.

Пусть машины Т1 и Т2 имеют соответственно программы П 1 и П 2. Предположим, что

внутренние алфавиты этих машин не пересекаются и что - некоторое заключительное

состояние машины Т1, а - какое-либо начальное состояние машины Т2. Заменим всюду в

программе П 1 состояние на состояние и полученная программа П определяет машину

Т, называемую композицией машин Т1 и Т2 (по паре состояний ( , )) и обозначаемую

через Т1 Т2 или Т1Т2 (более подробно: Т=Т(Т1,Т2, ( , )). Внешний алфавит композиции

Т1Т2 является объединением внешних алфавитов машин Т1 и Т2.

Пусть - некоторое заключительное состояние машины Т, а - какое-либо

состояние машины Т, не являющееся заключительным. Заменим всюду в программе П

машины Т символ на . Получим программу , определяющую машину ( , ).

Машина называется итерацией машины Т (по паре состояний ( , )).

125

Page 126: Ethan Fromestudentpmr.ru/konspekt/disk-mat.doc · Web viewОсобое значение в этом плане имеет изучение современных разделов

Пусть машины Т1 , Т2, Т3 имеют соответственно программы П 1, П2, П3. Предположим,

что внутренние алфавиты этих машин не пересекаются. Пусть и - некоторые

различные заключительные состояния машины Т1. Заменим всюду в программе П1

состояние некоторым начальным состоянием машины Т2, а состояние - некоторым

начальным состоянием машины Т3. Затем новую программу объединим с программами

П2 и П3. Полученная программа П определяет машину Т= Т(Т1( , ),Т2( , ),Т3),

называемую разветвлением машин Т2 и Т3, управляемым машиной Т1 .

§ 7.3: Вычислимость функции по Тьюрингу. Тезис Тьюринга

Пусть =(1, ..., n), n1- произвольный набор целых неотрицательных чисел.

Слово 11+1012+10...01n+1 называется основным машинным кодом или просто кодом набора

в алфавите {0,1} и обозначается k(). Слово 1+1 также является основным машинным

кодом. Для ясности 13 это 111.

Определение 7.7: Функция f(x1,...,xn), n1, называется частичной числовой

функцией, если переменные xi принимают целые неотрицательные значения из натурального

ряда N={0,1,2,…,m,…} и на наборе функция определена, т.е. f( )=f(1,...,n), и также

принимаeт целые неотрицательные значения.

Определение 7.8: Частичная числовая функция называется вычислимой по Тьюрингу,

если существует МТ Тf, обладающая следующими свойствами:

1) если функция f( ) определена, то результатом применения МТ к коду будет

являться код целого неотрицательного числа.

Тf(k( ))=k(f( ))

2) если f() не определенна, то либо МТ Tf не применима к слову k( ), либо Tf(k(

)) не является кодом никакого целого неотрицательного числа.

Предполагается, что в начальный момент времени головка МТ T f обозревает самую

левую крайнюю единицу слова k( ).

Если функция f вычислима по Тьюрингу с помощью МТ T f , то говорят, что МТ

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

понятие МТ, которое еще математически точно не определено, будем говорить об

интуитивно вычисляемой функции.

Тезис Тьюринга: Всякий интуитивный алгоритм может быть реализован с помощью

МТ.

Тезис Черча-Тьюринга: Всякая интуитивно вычисляемая функция вычислима по

Тьюрингу.

126

Page 127: Ethan Fromestudentpmr.ru/konspekt/disk-mat.doc · Web viewОсобое значение в этом плане имеет изучение современных разделов

МТ как математическое понятие алгоритма.

В каждой МТ имеются : три конечных множества A, Q, T, выделенные элементы

a0A, q0,q1Q и программа, представляющая собой отображение вида F: AQ\{q0}A

TQ. (7.3)

Определение 7.9: МТ называется система вида <A, a0, Q, q0, q1, T, >, где -

программа МТ.

Какую бы МТ ни взяли, можно считать, что имеется алгоритм, исходным объектом,

промежуточным и окончательным результатами которого являются слова в алфавите А.

Предписанием, задающим этот алгоритм, является программа - точное

математическое понятие отображения. Т.о., с математической точки зрения МТ - это

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

Применительно к МТ можно рассматривать все свойства, рассматриваемые

применительно к интуитивному понятию алгоритма. В частности, результативность

алгоритма и его конечность - это остановится ли МТ за конечное число тактов работы и в

какое слово перерабатывается исходное.

Чтобы доказать, что функция вычислима по Тьюрингу, необходимо построить МТ,

вычисляющую данную функцию.

Пример: 1) Построить МТ, вычисляющую функцию f(x,y)=x+y. В качестве внешнего

алфавита возьмем

A={a0, 1} , где a0- пустой символ.

Тогда в этом алфавите

0 - 1

1 - 11

2 - 111

3 - 1111, и т.д.

Q={q0,q1,q2,q3,q4}

X и Y будут записаны на ленте и разделены одной ячейкой, содержащей пустой

символ. МТ обозревает самую левую крайнюю непустую ячейку.

Программа, вычисляющая данную функцию будет иметь вид:

1q11Пq1

a0 q11Пq2

1q21Пq2

a0q2 a0Лq3

1q3 a0Лq4

127

Page 128: Ethan Fromestudentpmr.ru/konspekt/disk-mat.doc · Web viewОсобое значение в этом плане имеет изучение современных разделов

1q4 a0Лq0

Можно показать, что все арифметические функции вычислимы по Тьюрингу.

§ 7.4: Существование невычислимых функций

Принимая тезис Тьюринга для доказательства существования невычислимых в

интуитивном смысле функций достаточно доказать существование функции не

вычисляемой по Тьюрингу.

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

доказательств:

1) множество МТ счетное.

2) множество всех арифметических функций не счетно.

Из этих двух утверждений следует, что существует функция, не вычислимая по

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

ее МТ.

Невычислимость (неразрешимость) означает отсутствие единого способа решения для

всего класса задач, в то время как частная задача может быть решена.

В числе общих требований, предъявляемых к алгоритмам, имеется требование

результативности.

Наиболее уместной формулировкой было бы требование, чтобы по любому

алгоритму А и исходным данным можно было бы определить, приведет ли работа

алгоритма А при исходных данных к результату или нет, т.е. необходимо построить

алгоритм В такой, что В(A, )=истина, если A() дает результат и B(A, )=ложь, если A()

не дает результата.

В силу тезиса Тьюринга эту задачу можно сформулировать, как задачу построения

МТ: построить МТ Т0 такую, что для любой МТ Т и исходных данных Т0(T, )= истина,

если МТ Т остановится и Т0(T, )=ложь, если не остановится. Эту задачу называют

проблемой остановки МТ.

Теорема 7.1: Не существует МТ Т0, решающих проблему остановки для

произвольной МТ Т.

В силу тезиса Тьюринга невозможность построения МТ означает отсутствие

алгоритма решения данной проблемы, и данная теорема является примером неразрешимой

проблемы. Следовательно, проблема результативности алгоритма неразрешима, т.е. нельзя

создать программу, которая бы по тексту любой программы и по ее исходным данным

определяла бы, зациклится она или нет.

128

Page 129: Ethan Fromestudentpmr.ru/konspekt/disk-mat.doc · Web viewОсобое значение в этом плане имеет изучение современных разделов

§ 7.5: Рекурсивные функции

Класс рекурсивных функций определим индуктивно: в первой части определения

перечислим исходные функции, во второй укажем правила образования новых функций из

уже имеющихся.

Определение 7.10:

1. Следующие функции называются исходными.

А) Нуль-функция: Z(x)=0 x.

Б) Функция прибавления единицы: N(x)=x+1 x.

В) Проектирующие функции: xi , i=1,2,…,n, n=1,2,….

2. Следующие правила служат для образования новых функций, исходя из уже

имеющихся.

Г) Подстановка: функция f получена с помощью подстановки из функций g(y1,y2,

…,ym), h1(x1,x2,…,xn),…, hm(x1,x2,…,xn), если f(x1,x2,…,xn)=g(h1(x1,x2,…,xn),…, hm(x1,x2,…,xn)).

Д) Рекурсия: функция f получена из функций g и h с помощью рекурсии, если:

, где x1,x2,…,xn – параметры рекурсии, n. Кроме

того, если n=0, то f(0)=k (k – фиксированное число), f(y+1)=h(y,f(y)).

Е) -оператор: функция f получена из функций g и h с помощью ) -оператора если

f(x1,x2,…,xn)= y(g(x1,x2,…,xn,y)=0) – наименьшее значение у, при котором g(x1,x2,…,xn,y)=0

и выполняется условие: x1,x2,…,xn существует по крайней мере одно значение у, для

которого g(x1,x2,…,xn,y)=0.

Определение 7.11: Функция f называется рекурсивной (общерекурсивной), если она

может быть получена из исходных функций с помощью конечного числа применения

правил подстановки, рекурсии и -оператора. В частности, если рекурсивная функция может

быть получена без применения -оператора, она называется примитивно-рекурсивной.

Таким образом, всякая примитивно-рекурсивная функция рекурсивна, но обратное

неверно.

Следовательно, классом рекурсивных функций называется класс, содержащий

исходные функции а)-в) и замкнутый относительно правил г)-е).

Введение фиктивных переменных, перестановка и отождествление переменных не

выводит из класса рекурсивных функций.

Предложение 7.1: Если функция g(y1,y2,…,yk) – рекурсивна и x1,x2,…,xn – различные

переменные, причем при любом i (1 i k) zi есть одна из переменных x1,x2,…,xn , то

функция f(x1,x2,…,xn)=g(z1,z2,…,zk) тоже рекурсивна.

129

Page 130: Ethan Fromestudentpmr.ru/konspekt/disk-mat.doc · Web viewОсобое значение в этом плане имеет изучение современных разделов

Предложение 7.2:

А) Нуль-функция Zn(x1,x2,…,xn)=0 примитивно-рекурсивна.

Б) Постоянная функция C (x1,x2,…,xn)=k примитивно-рекурсивна.

В) Правило подстановки может быть распространено и на случай, когда функции h i

являются функциями лишь от некоторых из переменных x1,x2,…,xn. Аналогично, правило

рекурсии распространяется и на случаи, когда функция g не зависит от некоторых из

переменных x1,x2,…,xn, а функция h может не зависеть от некоторых из переменных x1,x2,

…,xn, y, f(x1,x2,…,xn,y).

Пример:

Рассмотрим функцию f(x,y)=xy и покажем, что она примитивно-рекурсивна

или или ,

где p(x,y)=xy

Тезис Черча: Всякая вычислимая функция рекурсивна.

Понятие рекурсивных функций оказалось исчерпывающей формализацией понятия

вычислимой функции. Объединив тезисы Черча и Тьюринга, получим, что функция вычислима с

помощью МТ тогда и только тогда, когда она рекурсивна.

Это утверждение об эквивалентности двух алгоритмических моделей может быть

строго математически доказано. Из него вытекают следующие теоремы.

Теорема 7.2: Всякая рекурсивная функция вычислима с помощью МТ.

Теорема 7.3: Всякая вычислимая с помощью МТ функция – рекурсивна.

Теорема 7.4: Любая рекурсивная функция f(x) представима в виде: f(x)=

F(y(G(x,y)=0)), где F,G – примитивно-рекурсивные функции.

Т.о. класс рекурсивных функций оказался эквивалентным классу функций,

вычислимых с помощью МТ. Это позволяет получить следующий объединенный тезис:

Всякий алгоритм, описанный в терминах рекурсивных функций , можно реализовать с

помощью МТ и наоборот.

130

Page 131: Ethan Fromestudentpmr.ru/konspekt/disk-mat.doc · Web viewОсобое значение в этом плане имеет изучение современных разделов

§ 7.6: Нормальные алгоритмы Маркова

Дадим точное определение нормального алгоритма.

Пусть А – некоторый алфавит, не содержащий в качестве букв « » и « » .

Обычной формулой подстановки в алфавите А называют слово PQ, где P,QA*, а

заключительной формулой подстановки в алфавите А – слово P Q, где P,QA*. P

называется левой частью формулы подстановки P Q, где { } ( - пустой символ в

алфавите А) , а Q- ее правой частью.

Конечная непустая упорядоченная система подстановок

называется нормальной схемой в алфавите А.

Здесь k1, i { },

Pi, QiA* (i=1,2,…,k).

Нормальный алгоритм в алфавите задается алфавитом А и нормальной схемой в этом

алфавите.

Он и преобразовывает слова в алфавите А следующим образом.

Пусть дано слово Р в алфавите А (PA*).

Выясним, имеется ли среди формул подстановок нормальной схемы хотя бы одна с

левой частью, входящей в слово Р. Если таких нет, то процесс применения алгоритма к

слову Р заканчивается и результатом считается само слово Р. Если же в нормальной схеме

имеются формулы подстановок, левые части которых входят в слово Р, то берем самую

верхнюю формулу из подходящих. Применяем ее, заменив первое вхождение левой части

формулы подстановки в слове Р на ее правую часть. Пусть Р1 – результат этого применения.

Если применимая формула подстановки была заключительной то то процесс применения

алгоритма к слову Р заканчивается с результатом Р1, иначе применяем к Р1 тот же поиск,

который был только что применим к Р и т.д. Если в конце концов получим такое слово Р i , к

которому неприменима ни одна из формул подстановки нормальной схемы, то процесс

применения алгоритма заканчивается и Рi является результатом работы алгоритма над

словом Р. при этом возможно, что описанный процесс никогда не закончится. В таком

случае говорят, что алгоритм неприменим к слову Р.

Нормальные алгоритмы применимы к любому слову Р A*, т.е. процесс применения

этих алгоритмов к слову Р заканчивается результативно.

Пример:

Рассмотрим нормальный алгоритм с алфавитом А={|} и нормальной схемой { .

131

tata, 03.01.-1,
Page 132: Ethan Fromestudentpmr.ru/konspekt/disk-mat.doc · Web viewОсобое значение в этом плане имеет изучение современных разделов

Этот алгоритм применим к любому слову вида в алфавите А={|} с результатом

, т.е. функция f(n)=n+1 вычислима для nN.

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

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

Тезис Маркова: Всякая интуитивно-вычислимая функция вычислима по Маркову.

Любая функция, вычислимая по Маркову, вычислима и с помощью МТ и наоборот.

132

Page 133: Ethan Fromestudentpmr.ru/konspekt/disk-mat.doc · Web viewОсобое значение в этом плане имеет изучение современных разделов

Раздел 8: Элементы теории кодирования

§ 8.1: Основные понятия

В теории передачи информации чрезвычайно важным является решение проблемы

кодирования и декодирования, обеспечивающее надежную передачу по каналам связи с

«шумом».

Передача информации сводится к передаче по некоторому каналу связи символов

некоторого алфавита. Однако в реальных ситуациях сигналы при передаче практически

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

Например, в системе ЭВМ – ЭВМ одна из вычислительных машин может быть связана с

другой через спутник. Канал связи в этом случае физически реализуется электромагнитным

полем между поверхностью Земли и спутником. Электромагнитные сигналы, накладываясь

на внешнее поле, могут исказиться и ослабиться. Для обеспечения надежности передачи

информации в таких системах разработаны эффективные методы, использующие коды

различных типов.

Рассмотрим одну из таких моделей, связанную с групповыми кодами.

Алфавит, в котором записываются сообщения, считаем состоящим из двух символов

{0,1}. Он называется двоичным алфавитом. Тогда сообщение есть конечная

последовательность символов этого алфавита. Сообщение, подлежащее передаче,

кодируется по определенной схеме более длинной последовательностью символов в

алфавите {0,1}. Эта последовательность называется кодом или кодовым словом. При приеме

можно исправлять или распознать ошибки, возникшие при передаче по каналу связи,

анализируя информацию, содержащуюся в дополнительных символах. Принятая

последовательность символов декодируется по определенной схеме в сообщение, с большой

вероятностью совпадающее с переданным.

133

Декодированн

ое сообщение

СообщениеПринятое

сообщени

е

Кодированное сообщение

E T D

Модель канала связи

Рис.8.1. Математическая модель системы связи.

Page 134: Ethan Fromestudentpmr.ru/konspekt/disk-mat.doc · Web viewОсобое значение в этом плане имеет изучение современных разделов

Блочный двоичный (m, n)-код определяется двумя функциями:

E: {0,1}m{0,1}n и D: {0,1}n{0,1}m, где m<=n и {0,1}n – множество всех двоичных

последовательностей длины n. Функция Е определяет схему кодирования, а функция D –

схему декодирования. Математическую модель системы связи можно представить в виде

схемы.

Здесь Т –«функция ошибок»; E и D выбираются таким образом, чтобы композиция

DTE была функцией, с большой вероятностью близкой к тождественной. Двоичный (m, n)-

код содержит 2m кодовых слоев.

Коды делятся на два больших класса: коды с обнаружением ошибок, которые с

большой вероятностью могут восстановить посланное сообщение.

Пример:

1. Код с проверкой четности. Это пример простого кода, с большой вероятностью

указывающего на наличие ошибки.

Пусть a=a1...am – сообщение длины m.

Схема кодирования определяется таким образом:

Е(а)=b=b1...bm+1,

где bi=ai при i= 1, ..., m;

Схема декодирования определяется таким образом:

D(b)=c=c1…cm, где ci=bi при i=1,…, m.

Например, при m=2 E(00)=000, E(01)=011, E(10)=101, E(11)=110. Очевидно,

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

b1+ … + bm+10(mod2). Если нечетная, то это означает, что при передаче сообщения

произошла ошибка. Однако, если четная, то это еще не означает, что ошибки не

134

Page 135: Ethan Fromestudentpmr.ru/konspekt/disk-mat.doc · Web viewОсобое значение в этом плане имеет изучение современных разделов

было. Поразрядная сумма остается четной при двух ошибках и вообще любом четном их

числе.

2. Код с тройным повторением. Это пример весьма неэкономного кода с

исправлением ошибок.

Схема кодирования, т.е. функция Е, определяется таким образом: каждое сообщение

разбивается на блоки длины m и каждый блок передается трижды. Схема декодирования, т.е.

функция D, определяется следующим образом: принятое сообщение разбивается на блоки

длины 3m и в каждом блоке из трех символов bi, bi+m, bi+2m, принимающих значение 0 или 1,

выбирается тот, который встретился больше число раз (два или три раза). Этот символ

считается i-м символом в декодированном сообщении.

Можно определить также (1, r)-код с r-кратным повторением, в котором каждый

символ 0 или 1 кодируется последовательностью из r таких символов. Множество кодовых

слов состоит из двух слов: и . При декодировании решение

принимается «большинством голосов», т.е. переданным считается символ. Встречающийся

большее число раз. При больших r мы практически обезопасим себя от ошибок, однако,

передача сообщений будет идти чрезвычайно медленно.

§ 8.2: Расстояние Хемминга

На множестве двоичных слов длины m расстоянием d(a, b) между словами a и b

называют число несовпадающих позиций этих слов, например: расстояние между словами

a=01101 и b=00111 равно 2.

Определенное таким образом понятие называется расстоянием Хемминга. Оно

удовлетворяет следующим аксиомам расстояний:

1) d(a, b)0 и d(a, b)=0 тогда и только тогда, когда a=b;

2) d(a, b)= d(b, a)

3) d(a, b)= d(b, c) d(a, c) (неравенство треугольника).

Весом w(a) слова a называют число единиц среди его координат. Тогда расстояние

между словами а и b есть вес их суммы a+b: d(a, b)=w(a+b), где символом + обозначена

операция покоординатного сложения по модулю 2.

Интуитивно понятно, что код тем лучше приспособлен к обнаружению и

исправлению ошибок, чем больше различаются кодовые слова. Понятие расстояния

Хемминга позволяет это уточнить.

135

Page 136: Ethan Fromestudentpmr.ru/konspekt/disk-mat.doc · Web viewОсобое значение в этом плане имеет изучение современных разделов

Теорема 8.1: Для того чтобы код позволял обнаруживать ошибки в k (или менее)

позициях, необходимо и достаточно, чтобы наименьшее расстояние между кодовыми

словами было k +1.

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

Теорема 8.2: Для того чтобы код позволял исправлять все ошибки в k (или менее)

позициях, необходимо и достаточно, чтобы наименьшее расстояние между кодовыми

словами было 2 k +1.

Действительно, если наименьшее расстояние между кодовыми словами 2 k +1, то

для любых кодовых слов a и b имеем d(a, c) 2 k +1. Пусть при передаче некоторого слова a

произошло r k ошибок, в результате чего было принято слово с. Тогда d(a, с)=rk. Из

неравенства треугольника (аксиома 3) следует, что d(a, c)+ d(c, b) d(a, b) 2k+1. Отсюда

растояние от слова с до любого другого кодового слова b больше k. Значит, для

декодирования посланного слова надо найти кодовое слово а, ближайшее к принятому слову

с в смысле расстояния Хемминга.

Если наименьшее расстояние между кодовыми словами меньше, чем 2k +1, то

найдутся такие два кодовых слова а и b, расстояние между которыми будет d(a, b) 2r.

Тогда, если в кодовом слове a будет k ошибок, принятое cлово c находится от другого

кодового слова b на расстоянии, не большем, чем от а. Поэтому нельзя определить, какое из

слов (a или b) было передано.

В математической модели кодирования и декодирования удобно рассматривать

строки ошибок. Данное сообщение a=a1a2…am кодируется кодовым словом b=b1b2…bn. при

передаче канал связи добавляет к нему строку ошибок e=e1e2…en так что приемник

принимает сигнал c=c1c2…cn где ci=bi+ei. Система, исправляющая ошибки, переводит слово

c1c2…cn в ближайшее кодовое слово b1b2…bn. Система, обнаруживающая ошибки, только

устанавливает, является ли принятое слово кодовым или нет. Последнее означает, что ри

передаче произошла ошибка.

Пример:

1. Рассмотрим (2,3)-код с проверкой четности. Тогда (см. предыдущий пример п.1)

множество кодовых слов есть 000, 101, 011,110. Минимальное расстояние между кодовыми

словами равно двум. Этот код способен обнаруживать однократную ошибку.

2. Рассмотрим (2,5)-код со схемой кодирования Е(00)=00000=b1; Е(01)=01011=b2;

Е(10)=10101=b2; Е(11)=11110=b2.Минимальное расстояние между кодовыми словами равно

трем. Этот код способен исправлять однократную ошибку. Однократная ошибка приводит к

приему слова, находящегося на расстоянии 1 от единственного кодового слова, которое и

было передано.

136

Page 137: Ethan Fromestudentpmr.ru/konspekt/disk-mat.doc · Web viewОсобое значение в этом плане имеет изучение современных разделов

§ 8.3: Матричное кодирование

При явном задании схемы кодирования в (m, n)-коде следует указать 2m кодовых слов,

что весьма неэффективно.

Одним из экономных способов описания схемы кодирования является методика

матричного кодирования.

Пусть G=||gij|| матрица порядка mn с элементами gij, равными 0 или 1. Символ +

обозначает сложение по модулю 2. Тогда схема кодирования задается системой уравнений

, j=1, …, n,

Или в матричной форме

b=aG

где a=a1…bn – вектор, соответствующий передаваемому сообщению; b=b1…bn –

вектор, соответствующий кодированному сообщению; G – порождающая матрица кода.

Порождающая матрица кода определена неоднозначно. Код должен приписывать

различным словам-сообщениям одно и то же кодовое слово. Можно доказать, что этого не

произойдет, если первые m столбцов матрицы G образуют единичную матрицу.

Заметим, что вместо 2m кодовых слов достаточно знать m слов, являющихся строками

матрицы G.

Пример:

1. Порождающей матрицей (1, r)-кода с повторением является матрица.

G=[1…1],

Так как 1…1=1G, 0…0=0G

2. Порождающей матрицей (2,3)-кода с проверкой четности является матрица.

Рассмотрим матрицу G порядка 3х6;

Сообщения a1=100, a2=010, a3=001 кодируются соответствено первой, второй и

третьей строками матицы G. Полный список кодирования следующий:

а0=000000000;

a1=100100110;

a2=010010011;

137

Page 138: Ethan Fromestudentpmr.ru/konspekt/disk-mat.doc · Web viewОсобое значение в этом плане имеет изучение современных разделов

a3=110110101;

a4=001001111;

a5=101101001;

a6=011011010;

a7=111111010;

§ 8.4: Групповые коды

Двоичный (m, n)-код называется групповым, если его кодовые слова образуют группу.

Заметим, что множество всех двоичных слов длины m образует коммутативную

группу с операцией покоординатного сложения по модулю 2, в которой выполняется

соотношение а+а=0. Следовательно, множество слов-сообщений а длины m есть

коммутативная группа.

Пусть G—порождающая матрица кода порядка mn: Тогда множество кодовых слов

b=aG есть группа, так как если b1=a1G, b2=a2G, b1+b2= a1G+ a2G=( a1+ a2)G, т.е. матричные

коды являются групповыми.

В групповом коде наименьшее расстояние между кодовыми словами равно

наименьшему весу ненулевого кодового слова, что видно из соотношения d(bi ,bj)=w(bi+bj).

Следовательно, код, рассмотренный в примере 2.11, п.2, способен исправлять однократную

ошибку и обнаруживать двойную, так наименьший вес кодового слова равен 3.

Пусть задан групповой код с порождающей матрицей G и кодирование происходит

по схеме b=aG.

При передаче кодовые слова могут исказиться, в результате чего будет принято

сообщение c=c1...cn, где c=b+e и e=e1...en – вектор (строка) ошибок.

Предложим схему декодирования, при которой вероятность того, что D(aG)a, будет

минимальной.

Обозначим через С множество всех слов, которые могут быть приняты. Это есть

множество вех двоичных слов длины n. Оно образует коммутативную группу. Множество B

всех кодовых слов есть подгруппа С. Рассмотрим множество смежных классов С по B, т.е.

фактор-группу C/B. Лидером смежного класса назовем слово, имеющее наименьший вес.

Поскольку смежные классы либо не пересекаются, либо совпадают, то любой элемент сС

однозначно представляется в виде суммы c=e+b лидера e и кодового слова b.

Декодирование слова c состоит в выборе кодового слова b в качестве переданного и в

последующем переходе к слову a, где b=E(a).

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

которой представляет собой множество кодовых слов, т.е. смежный класс 0+B, состоящий

138

Page 139: Ethan Fromestudentpmr.ru/konspekt/disk-mat.doc · Web viewОсобое значение в этом плане имеет изучение современных разделов

из элементов 0, b1, ..., b2m-1, а остальные строки соответствуют остальным смежным классам

по B, причем первый столбец этой таблицы есть столбец лидеров.

Для примера из § 8.3 п. 3 таблица декодирования выглядит таким образом:000000 100110 010011 011100 001111 101001 110101 111010100000 000110 110011 111100 101111 001001 010101 011010010000 110110 000011 001100 011111 111001 100101 101010001000 101110 011011 010100 000111 100001 111101 110010000100 100010 010111 011000 001011 101101 110001 111110000010 100100 010001 011110 001101 111011 110110 111000000001 100111 010000 011101 001110 101000 110100 111011000101 100011 010110 011001 001010 101100 110000 111111

Чтобы декодировать принятое слово c=ei+bi, где ei – лидер, следует отыскать его в

таблице и выбрать в качестве переданного кодовое слово bj, находящееся в первой строке

того же столбца, что и с. Например, если принято слово 110011, то считается, что передано

слово 010011; если принято слово 100101, то считается, что оно и было передано.

Покажем, что при таком способе декодирования:

1) исправляются все строки ошибок, являющиеся лидерами;

2) кодовое слово, состоящее в данном столбце, является ближайшим кодовым словом

ко всем словам этого столбца.

Действительно:

1. Если при передаче слова b произошла ошибка e, где e – лидер, то c=b+e и есть

искомое представление слова с, и при декодировании считается, что передано кодовое слово

b, т.е. ошибка e исправляется.

2. Пусть с - слово, стоящее в том же столбце, что и кодовое слово bi. Тогда c= bi+e,

где e - лидер соответствующего смежного класса. Имеем d(c, bi)=w(e) . Если bi - другое

кодовое слово, то c= bi+e’ и, поскольку bi- biB, e’= bi - bi+e лежит в том же смежном

классе, что и e. Следовательно, d(c, bi)=w(e’)w(e).

§ 8.5: Коды Хемминга

Опишем один из классов групповых кодов - коды Хемминга, которые исправляют

однократную ошибку, поскольку минимальный вес кодового слова равен 3. Это (m, n) -

коды, где m=2r-1-r, n=2r-1 для любого r2.

Схема кодирования:

1. Сообщения - слова длинны 2r-1-r, где r2; кодовые слова имеют длину 2r-1.

2. В каждом кодовом слове b=b1...b2r-1 символы, индексы которых являются степенью

двойки, т.е. b20,b2

1, ...,b2r-1 - контрольные, а остальные - символы сообщения, расположены в

139

Page 140: Ethan Fromestudentpmr.ru/konspekt/disk-mat.doc · Web viewОсобое значение в этом плане имеет изучение современных разделов

том же порядке. Например, при r=4 b1, b2, b4, bs,- контрольные символы, b3, b5, b6, b7, b9, b10,

b11, b12, b13, b14, b15, - символы сообщения.

3. Рассмотрим матрицу M при r=2,3,4 имеют соответственно вид

; ; .

4. Запишем систему уравнений

bMТ=0 (8.1)

Например, при r=3 эта система имеет вид.

B4+ b5+ b6+ b7=0; (8.2)

b2+ b3+ b6+ b7=0;

b1+ b3+ b5+ b7=0.

Заметим, что по построению матрицы M в каждое из уравнений системы (8.1) входит

один и только один символ b2i, индекс которого есть степень двойки.

При кодировании сообщения значения контрольных символов b20, b2

1, …, b2r-1,

получим из системы (8.1).

Схема декодирования.

Пусть принято слово c=b=e, где b- кодовое слово, e- ошибка. Тогда bMT=0, и,

следовательно, (b+e)MT=bMT+eMT=eMT.

Если eMT=0, то считается, что ошибки не было. Это действительно так при e=0.

Если произошла ошибка ровно в одной позиции, т.е. вектор ошибок e имеет только

одну единицу в i—й позиции, то eMT есть вектор, совпадающий с i—ым столбцом матрицы

М, являющимся двоичным разложением числа i. В этом случае в переданном слове c=b+e

надо изменять символ в i-ой позиции и вычеркнуть контрольные символы. Тогда

полученное слово будет результатом декодирования.

Если ошибка допущена более чем в одной позиции, декодирование дает неверный

результат. Например, если строка ошибок e, будет кодовым словом, то (b+e)MT=0, и,

следовательно, в результате декодирования слово не изменится.

Пример: Найдем порождающую матрицу для (4,7)-кода Хемминга. Определим

фундаментальную систему решений системы уравнений (8.2):

а1=1110000, а2=1001100, а3=0101010, а4=1101001.

Порождающей будет матрица, составленная из этих векторов:

140

Page 141: Ethan Fromestudentpmr.ru/konspekt/disk-mat.doc · Web viewОсобое значение в этом плане имеет изучение современных разделов

Пример: Рассмотрим (4,7)-код Хемминга. Пусть с=0011111. Тогда с=b+e, где

b=0001111 – кодовое слово, e=0010000 – строка ошибок, и сMT=(b+e) MT= eMT=011. Число

011 есть двоичное разложение числа 3. Следовательно, ошибка совершена в третьей

позиции. Исправляя ее получим кодовое слово 0001111, декодируя которое, получаем слово

a=0111.

141

Page 142: Ethan Fromestudentpmr.ru/konspekt/disk-mat.doc · Web viewОсобое значение в этом плане имеет изучение современных разделов

Литература:

1. Кузнецов О.П., Адельсон-Вельский Т.М. «Дискретная математика для инженера» -

М.: Энергоатомиздат, 1988- 480 с.

2. Горбатов В.А. «Основы дискретной математики»- М.: Высшая школа, 1988- 311 с.

3. Кук Д., Бейз Г. «Компьютерная математика»- М.: Наука, 1990 – 384 с.

4. Варпаховский Ф.П., Солодовников А.С. «Алгебра (Элементы теории множеств)»

Учебное пособие для студентов заочников - М.: Просвещение, 1994.

5. Игошин В.И. «Задачник-практикум по математической логике»- М.: Просвещение,

1986 – 159 с.

6. Лавров И.А., Максимов Л.Л. «Задачи по теории множеств, матлогике и теории

алгоритмов» -М.: Наука, 1984 – 224 с.

7. Гаврилов Г.П., Сопоженко А.А. «Сборник задач по дискретной математике» - М.:

Наука, 1977.

8. Мощенский В.А. «Лекции по математической логике»- Минск: Изд-во БГУ, 1973.

9. Шнеперман Л.Б. «Курс алгебры в задачах и упражнениях»- Минск, 1973.

10.«Математическая логика», п/р Столяр А.А., Минск: Высшая школа, 1991 г.

11.Нефедов В.Н., Осипова В.А. «Курс дискретной математики».: Учебное пособие,

М.: Изд-во МАИ, 1992 г. – 264 с.

142

Page 143: Ethan Fromestudentpmr.ru/konspekt/disk-mat.doc · Web viewОсобое значение в этом плане имеет изучение современных разделов

Содержание:ВВЕДЕНИЕ............................................................................................................................................................... 2

РАЗДЕЛ 1. МНОЖЕСТВА..................................................................................................................................... 3

1.1: МНОЖЕСТВА И ИХ СПЕЦИФИКАЦИИ................................................................................................................. 31.2: ПРОСТЕЙШИЕ ОПЕРАЦИИ НАД МНОЖЕСТВАМИ. ДИАГРАММЫ ЭЙЛЕРА – ВЕННА..............................................61.3: ПОДМНОЖЕСТВА И ДОКАЗАТЕЛЬСТВА. СВОЙСТВА ОПЕРАЦИЙ НАД МНОЖЕСТВАМИ..........................................91.4: ПРОИЗВЕДЕНИЕ МНОЖЕСТВ............................................................................................................................ 11

РАЗДЕЛ 2. ОТНОШЕНИЯ................................................................................................................................... 13

2.1: ОСНОВНЫЕ ПОНЯТИЯ...................................................................................................................................... 132.2: СВОЙСТВА БИНАРНЫХ ОТНОШЕНИЙ...............................................................................................................172.3: ОПЕРАЦИИ НАД БИНАРНЫМИ ОТНОШЕНИЯМИ.................................................................................................182.4: РАЗБИЕНИЯ И ОТНОШЕНИЯ ЭКВИВАЛЕНТНОСТИ..............................................................................................192.5: ОТНОШЕНИЕ ПОРЯДКА.................................................................................................................................... 232.6: СОСТАВНЫЕ ОТНОШЕНИЯ............................................................................................................................... 272.7: ФУНКЦИИ И ОТОБРАЖЕНИЯ............................................................................................................................ 272.8: CЧЕТНОСТЬ МНОЖЕСТВ. МОЩНОСТЬ.............................................................................................................29

РАЗДЕЛ 3. ЭЛЕМЕНТЫ ОБЩЕЙ АЛГЕБРЫ..................................................................................................30

3.1: АЛГЕБРАИЧЕСКАЯ ОПЕРАЦИЯ. АЛГЕБРА..........................................................................................................303.2: СВОЙСТВА БИНАРНЫХ АЛГЕБРАИЧЕСКИХ ОПЕРАЦИЙ......................................................................................323.3: ГОМОМОРФИЗМ И ИЗОМОРФИЗМ АЛГЕБРЫ.......................................................................................................333.4: ПОЛУГРУППЫ................................................................................................................................................. 343.5: ГРУППЫ.......................................................................................................................................................... 363.6: КОЛЬЦО.......................................................................................................................................................... 373.7: ПОЛЕ.............................................................................................................................................................. 39

РАЗДЕЛ 4. РЕШЕТКИ.......................................................................................................................................... 42

4.1: РЕШЕТКИ........................................................................................................................................................ 42

РАЗДЕЛ 5. АЛГЕБРА ЛОГИКИ......................................................................................................................... 46

§ 5.1: ЛОГИЧЕСКИЕ ФУНКЦИИ............................................................................................................................... 46§ 5.2: СУПЕРПОЗИЦИИ И ФОРМУЛЫ....................................................................................................................... 49§ 5.3: БУЛЕВА АЛГЕБРА ФУНКЦИЙ И ЭКВИВАЛЕНТНЫЕ ПРЕОБРАЗОВАНИЯ В НЕЙ....................................................50§ 5.4: ПРИВЕДЕНИЕ ФОРМУЛЫ К НОРМАЛЬНОЙ ФОРМЕ. СОВЕРШЕННЫЕ НФ..........................................................53§ 5.5: ДВОЙСТВЕННОСТЬ....................................................................................................................................... 57§ 5.6: РАЗЛОЖЕНИЕ БУЛЕВОЙ ФУНКЦИИ ПО ПЕРЕМЕННЫМ....................................................................................58§ 5.7: ПОЛНОТА И ЗАМКНУТОСТЬ.......................................................................................................................... 59§ 5.8: АЛГЕБРА ЖЕГАЛКИНА И ЛИНЕЙНЫЕ ФУНКЦИИ............................................................................................61§ 5.9: МОНОТОННЫЕ ФУНКЦИИ............................................................................................................................. 63§ 5.10: БУЛЕВА АЛГЕБРА И ТЕОРИЯ МНОЖЕСТВ.....................................................................................................66§ 5.11: ДНФ. ИНТЕРВАЛЫ И ПОКРЫТИЯ................................................................................................................ 67§ 5.12: РЕЛЕЙНО-КОНТАКТНЫЕ СХЕМЫ................................................................................................................. 69§ 5.13: МИНИМИЗАЦИЯ БУЛЕВЫХ ФОРМУЛ В КЛАССЕ ДИЗЪЮНКТИВНЫХ НОРМАЛЬНЫХ ФОРМ..............................725.13.1: МЕТОД МИНИМИЗИРУЮЩИХ КАРТ............................................................................................................725.13.2: МЕТОД ТАБЛИЦЫ РАЗЛИЧИЙ...................................................................................................................... 75§ 5.14: СИНТЕЗ ЛОГИЧЕСКИХ СХЕМ В ЗАДАННОМ БАЗИСЕ.....................................................................................79§ 5.15: ПРОИЗВОДНАЯ БУЛЕВОЙ ФУНКЦИИ............................................................................................................ 82§ 5.16: СИНТЕЗ ЛОГИЧЕСКИХ СХЕМ МЕТОДОМ КАСКАДОВ.....................................................................................85§ 5.17: РАЗЛОЖЕНИЕ БУЛЕВОЙ ФУНКЦИИ В РЯД....................................................................................................91

РАЗДЕЛ 6: ЭЛЕМЕНТЫ ТЕОРИИ ГРАФОВ...................................................................................................95

§ 6.1: ОПРЕДЕЛЕНИЕ ГРАФА. ОРИЕНТИРОВАННЫЕ И НЕОРИЕНТИРОВАННЫЕ ГРАФЫ...............................................95§ 6.2: СПОСОБЫ ЗАДАНИЯ ГРАФОВ........................................................................................................................ 98§ 6.3: СТЕПЕНИ ВЕРШИН ГРАФА........................................................................................................................... 100§ 6.4: ИЗОМОРФИЗМ И ГОМЕОМОРФИЗМ ГРАФОВ..................................................................................................101§ 6.5: ЧАСТЬ. СУГРАФ. ПОДГРАФ........................................................................................................................ 102§ 6.6: МАРШРУТЫ. ЦЕПИ. ЦИКЛЫ....................................................................................................................... 103§ 6.7: СВЯЗНЫЕ КОМПОНЕНТЫ ГРАФА................................................................................................................. 105§ 6.8: РАССТОЯНИЯ............................................................................................................................................. 107

143

Page 144: Ethan Fromestudentpmr.ru/konspekt/disk-mat.doc · Web viewОсобое значение в этом плане имеет изучение современных разделов

§ 6.9: ДИАМЕТР, РАДИУС И ЦЕНТР ГРАФА............................................................................................................ 107§ 6.10: ЭЙЛЕРОВЫ И ГАМИЛЬТОНОВЫ ЦЕПИ И ЦИКЛЫ.........................................................................................108§ 6.11: ОПЕРАЦИИ НАД ЧАСТЯМИ ГРАФА И ГРАФАМИ..........................................................................................109§ 6.12: ДЕРЕВЬЯ И ЛЕС........................................................................................................................................ 111§ 6.13: ВЗВЕШЕННЫЕ ГРАФЫ............................................................................................................................... 112§ 6.14: ПЛАНАРНЫЕ ГРАФЫ................................................................................................................................. 114§ 6.15: ЗАДАЧА ПОИСКА МАРШРУТОВ (ПУТЕЙ) В ГРАФЕ (ОРГРАФЕ)......................................................................116§ 6.16: ПОИСК ПУТЕЙ (МАРШРУТОВ) С МИНИМАЛЬНЫМ ЧИСЛОМ ДУГ (РЕБЕР).....................................................118§ 6.17: МИНИМАЛЬНЫЙ ПУТЬ (МАРШРУТ) ВО ВЗВЕШЕННОМ ОРГРАФЕ (ГРАФЕ)....................................................120

РАЗДЕЛ 7: ТЕОРИЯ АЛГОРИТМОВ.............................................................................................................. 124

§ 7.1: ПОНЯТИЕ АЛГОРИТМА И НЕОБХОДИМОСТЬ ЕГО МАТЕМАТИЧЕСКОГО УТОЧНЕНИЯ. ПРОБЛЕМА РАЗРЕШЕНИЯ, ПРОБЛЕМА УТОЧНЕНИЯ, ПРОБЛЕМА ВЫЧИСЛЕНИЯ. ПРЕДИКАТЫ..................................124§ 7.2: МАШИНА ТЬЮРИНГА................................................................................................................................. 129§ 7.3: ВЫЧИСЛИМОСТЬ ФУНКЦИИ ПО ТЬЮРИНГУ. ТЕЗИС ТЬЮРИНГА...................................................................132§ 7.4: СУЩЕСТВОВАНИЕ НЕВЫЧИСЛИМЫХ ФУНКЦИЙ...........................................................................................135§ 7.5: РЕКУРСИВНЫЕ ФУНКЦИИ........................................................................................................................... 136§ 7.6: НОРМАЛЬНЫЕ АЛГОРИТМЫ МАРКОВА........................................................................................................138

РАЗДЕЛ 8: ЭЛЕМЕНТЫ ТЕОРИИ КОДИРОВАНИЯ...................................................................................140

§ 8.1: ОСНОВНЫЕ ПОНЯТИЯ................................................................................................................................. 140§ 8.2: РАССТОЯНИЕ ХЕММИНГА........................................................................................................................... 142§ 8.3: МАТРИЧНОЕ КОДИРОВАНИЕ....................................................................................................................... 144§ 8.4: ГРУППОВЫЕ КОДЫ..................................................................................................................................... 145§ 8.5: КОДЫ ХЕММИНГА..................................................................................................................................... 146

ЛИТЕРАТУРА:.................................................................................................................................................... 149

144